diff --git a/blade-ops/blade-develop/src/test/java/org/springblade/test/CodeGeneratorVer2.java b/blade-ops/blade-develop/src/test/java/org/springblade/test/CodeGeneratorVer2.java index 61e1b7a9..908cad87 100644 --- a/blade-ops/blade-develop/src/test/java/org/springblade/test/CodeGeneratorVer2.java +++ b/blade-ops/blade-develop/src/test/java/org/springblade/test/CodeGeneratorVer2.java @@ -41,7 +41,7 @@ public class CodeGeneratorVer2 { /** * 代码生成的模块名 */ - public static String CODE_NAME = "[周期试验任务]"; + public static String CODE_NAME = ""; /** * 代码所在服务名 */ @@ -57,7 +57,7 @@ public class CodeGeneratorVer2 { /** * 需要生成的表名(两者只能取其一) */ - public static String[] INCLUDE_TABLES = {"QA_CYCLE_TEST_TASK"}; + public static String[] INCLUDE_TABLES = {"QA_LIQUID_TANK"}; /** * 需要排除的表名(两者只能取其一) */ diff --git a/blade-ops/blade-develop/src/test/resources/templates/api-fast/controller.java.btl b/blade-ops/blade-develop/src/test/resources/templates/api-fast/controller.java.btl index af0abee1..e2fbec35 100644 --- a/blade-ops/blade-develop/src/test/resources/templates/api-fast/controller.java.btl +++ b/blade-ops/blade-develop/src/test/resources/templates/api-fast/controller.java.btl @@ -47,7 +47,7 @@ import jakarta.servlet.http.HttpServletResponse; #if(hasServiceName) { @RequestMapping("${serviceName!}/${entityKeyPath!}") #}else{ -@RequestMapping("/${entityKeyPath!}") +@RequestMapping("/${entityKey!}") #} @Tag(name = "${table.comment!}", description = "${table.comment!}接口") #if(isNotEmpty(superControllerClass)){ @@ -65,7 +65,7 @@ public class ${table.controllerName!} { */ @GetMapping("/detail") @ApiOperationSupport(order = 1) - @Operation(summary = "详情", description = "传入${entityKeyPath!}") + @Operation(summary = "详情", description = "传入${entityKey!}") public R<${entityKey!}GenVO> detail(${entityKey!} ${entityKeyPath!}) { ${entityKey!} detail = ${entityKeyPath!}GenService.getOne(Condition.getQueryWrapper(${entityKeyPath!})); return R.data(${entityKey!}GenWrapper.build().entityVO(detail)); @@ -76,7 +76,7 @@ public class ${table.controllerName!} { */ @GetMapping("/list") @ApiOperationSupport(order = 2) - @Operation(summary = "分页", description = "传入${entityKeyPath!}") + @Operation(summary = "分页", description = "传入${entityKey!}") public R> list(@Parameter(hidden = true) @RequestParam Map ${entityKeyPath!}, Query query) { IPage<${entityKey!}> pages = ${entityKeyPath!}GenService.page(Condition.getPage(query), Condition.getQueryWrapper(${entityKeyPath!}, ${entityKey!}.class)); return R.data(${entityKey!}GenWrapper.build().pageVO(pages)); @@ -88,7 +88,7 @@ public class ${table.controllerName!} { */ @GetMapping("/detail") @ApiOperationSupport(order = 1) - @Operation(summary = "详情", description = "传入${entityKeyPath!}") + @Operation(summary = "详情", description = "传入${entityKey!}") public R<${entityKey!}> detail(${entityKey!} ${entityKeyPath!}) { ${entityKey!} detail = ${entityKeyPath!}GenService.getOne(Condition.getQueryWrapper(${entityKeyPath!})); return R.data(detail); @@ -99,7 +99,7 @@ public class ${table.controllerName!} { */ @GetMapping("/list") @ApiOperationSupport(order = 2) - @Operation(summary = "分页", description = "传入${entityKeyPath!}") + @Operation(summary = "分页", description = "传入${entityKey!}") public R> list(@Parameter(hidden = true) @RequestParam Map ${entityKeyPath!}, Query query) { IPage<${entityKey!}Entity> pages = ${entityKeyPath!}GenService.page(Condition.getPage(query), Condition.getQueryWrapper(${entityKeyPath!}, ${entityKey!}Entity.class)); return R.data(pages); @@ -112,7 +112,7 @@ public class ${table.controllerName!} { */ @GetMapping("/page") @ApiOperationSupport(order = 3) - @Operation(summary = "分页", description = "传入${entityKeyPath!}") + @Operation(summary = "分页", description = "传入${entityKey!}") public R> page(${entityKey!}GenVO ${entityKeyPath!}, Query query) { IPage<${entityKey!}GenVO> pages = ${entityKeyPath!}GenService.select${entityKey!}Page(Condition.getPage(query), ${entityKeyPath!}); return R.data(pages); @@ -123,7 +123,7 @@ public class ${table.controllerName!} { */ @PostMapping("/save") @ApiOperationSupport(order = 4) - @Operation(summary = "新增", description = "传入${entityKeyPath!}") + @Operation(summary = "新增", description = "传入${entityKey!}") public R save(@Valid @RequestBody ${entityKey!} ${entityKeyPath!}) { return R.status(${entityKeyPath!}GenService.save(${entityKeyPath!})); } @@ -133,7 +133,7 @@ public class ${table.controllerName!} { */ @PostMapping("/update") @ApiOperationSupport(order = 5) - @Operation(summary = "修改", description = "传入${entityKeyPath!}") + @Operation(summary = "修改", description = "传入${entityKey!}") public R update(@Valid @RequestBody ${entityKey!} ${entityKeyPath!}) { return R.status(${entityKeyPath!}GenService.updateById(${entityKeyPath!})); } @@ -143,7 +143,7 @@ public class ${table.controllerName!} { */ @PostMapping("/submit") @ApiOperationSupport(order = 6) - @Operation(summary = "新增或修改", description = "传入${entityKeyPath!}") + @Operation(summary = "新增或修改", description = "传入${entityKey!}") public R submit(@Valid @RequestBody ${entityKey!} ${entityKeyPath!}) { return R.status(${entityKeyPath!}GenService.saveOrUpdate(${entityKeyPath!})); } @@ -174,9 +174,9 @@ public class ${table.controllerName!} { * 导出数据 */ @IsAdmin - @GetMapping("/export-${entityKeyPath!}") + @GetMapping("/export-excel") @ApiOperationSupport(order = 8) - @Operation(summary = "导出数据", description = "传入${entityKeyPath!}") + @Operation(summary = "导出数据", description = "传入${entityKey!}") public void export${entityKey!}(@Parameter(hidden = true) @RequestParam Map ${entityKeyPath!}, BladeUser bladeUser, HttpServletResponse response) { QueryWrapper<${entityKey!}> queryWrapper = Condition.getQueryWrapper(${entityKeyPath!}, ${entityKey!}.class); //if (!AuthUtil.isAdministrator()) { @@ -186,5 +186,4 @@ public class ${table.controllerName!} { List<${entityKey!}GenExcel> list = ${entityKeyPath!}GenService.export${entityKey!}(queryWrapper); ExcelUtil.export(response, "${table.comment!}数据" + DateUtil.time(), "${table.comment!}数据表", list, ${entityKey!}GenExcel.class); } - } diff --git a/blade-ops/blade-develop/src/test/resources/templates/api-fast/entity.java.btl b/blade-ops/blade-develop/src/test/resources/templates/api-fast/entity.java.btl index 33d44bac..ca356fea 100644 --- a/blade-ops/blade-develop/src/test/resources/templates/api-fast/entity.java.btl +++ b/blade-ops/blade-develop/src/test/resources/templates/api-fast/entity.java.btl @@ -81,5 +81,4 @@ public class ${entityKey!} implements Serializable { #} #} #} - } diff --git a/blade-ops/blade-develop/src/test/resources/templates/api-fast/entityExcel.java.btl b/blade-ops/blade-develop/src/test/resources/templates/api-fast/entityExcel.java.btl index 2f5480db..b05539b3 100644 --- a/blade-ops/blade-develop/src/test/resources/templates/api-fast/entityExcel.java.btl +++ b/blade-ops/blade-develop/src/test/resources/templates/api-fast/entityExcel.java.btl @@ -43,5 +43,4 @@ public class ${entityKey!}GenExcel implements Serializable { private ${x.propertyType!} ${x.propertyName!}; #} #} - } diff --git a/blade-ops/blade-develop/src/test/resources/templates/api-fast/mapper.java.btl b/blade-ops/blade-develop/src/test/resources/templates/api-fast/mapper.java.btl index 0954e3fc..d7050ddc 100644 --- a/blade-ops/blade-develop/src/test/resources/templates/api-fast/mapper.java.btl +++ b/blade-ops/blade-develop/src/test/resources/templates/api-fast/mapper.java.btl @@ -36,5 +36,4 @@ public interface ${table.mapperName!} extends ${superMapperClass!}<${entityKey!} * @return List<${entityKey!}Excel> */ List<${entityKey!}GenExcel> export${entityKey!}(@Param("ew") Wrapper<${entityKey!}> queryWrapper); - } diff --git a/blade-ops/blade-develop/src/test/resources/templates/api-fast/service.java.btl b/blade-ops/blade-develop/src/test/resources/templates/api-fast/service.java.btl index 939a555d..8b740fd2 100644 --- a/blade-ops/blade-develop/src/test/resources/templates/api-fast/service.java.btl +++ b/blade-ops/blade-develop/src/test/resources/templates/api-fast/service.java.btl @@ -42,5 +42,4 @@ public interface ${table.serviceName!} extends IService<${entity!}> { * @return List<${entityKey!}Excel> */ List<${entityKey!}GenExcel> export${entityKey!}(Wrapper<${entityKey!}> queryWrapper); - } diff --git a/blade-ops/blade-develop/src/test/resources/templates/api-fast/serviceImpl.java.btl b/blade-ops/blade-develop/src/test/resources/templates/api-fast/serviceImpl.java.btl index 711ee907..0ec02812 100644 --- a/blade-ops/blade-develop/src/test/resources/templates/api-fast/serviceImpl.java.btl +++ b/blade-ops/blade-develop/src/test/resources/templates/api-fast/serviceImpl.java.btl @@ -44,5 +44,4 @@ public class ${table.serviceImplName!} extends ServiceImpl<${table.mapperName!}, //}); return ${entityKeyPath!}List; } - } diff --git a/blade-ops/blade-develop/src/test/resources/templates/api-fast/wrapper.java.btl b/blade-ops/blade-develop/src/test/resources/templates/api-fast/wrapper.java.btl index 026debb7..6364f4c0 100644 --- a/blade-ops/blade-develop/src/test/resources/templates/api-fast/wrapper.java.btl +++ b/blade-ops/blade-develop/src/test/resources/templates/api-fast/wrapper.java.btl @@ -32,5 +32,4 @@ public class ${entityKey!}GenWrapper extends BaseEntityWrapper<${entityKey!}, ${ return ${entityKeyPath!}VO; } - } diff --git a/blade-ops/blade-develop/src/test/resources/templates/code.properties b/blade-ops/blade-develop/src/test/resources/templates/code.properties index 57bdf676..1fb3d611 100644 --- a/blade-ops/blade-develop/src/test/resources/templates/code.properties +++ b/blade-ops/blade-develop/src/test/resources/templates/code.properties @@ -6,7 +6,7 @@ # QA spring.datasource.driver-class-name=oracle.jdbc.OracleDriver -spring.datasource.url=jdbc:oracle:thin:@192.168.76.131:1521/orcl +spring.datasource.url=jdbc:oracle:thin:@49.232.74.228:1521/orcl spring.datasource.username=JONHON_MES -spring.datasource.password=oracle123456 +spring.datasource.password=123456 author=Tom Shuo \ No newline at end of file diff --git a/blade-ops/blade-job/src/main/java/org/springblade/job/processor/quality/IotHardnessDeleteProcessor.java b/blade-ops/blade-job/src/main/java/org/springblade/job/processor/quality/IotHardnessDeleteProcessor.java index dcd1c8a6..1d322e13 100644 --- a/blade-ops/blade-job/src/main/java/org/springblade/job/processor/quality/IotHardnessDeleteProcessor.java +++ b/blade-ops/blade-job/src/main/java/org/springblade/job/processor/quality/IotHardnessDeleteProcessor.java @@ -10,6 +10,10 @@ import tech.powerjob.worker.core.processor.TaskContext; import tech.powerjob.worker.core.processor.sdk.BasicProcessor; import tech.powerjob.worker.log.OmsLogger; +/** + * 定时:每天03:00执行 + * cron:0 0 3 * * ? + */ @Component @Data @Slf4j @@ -20,8 +24,9 @@ public class IotHardnessDeleteProcessor implements BasicProcessor { @Override public ProcessResult process(TaskContext context) throws Exception { - OmsLogger omsLogger = context.getOmsLogger(); + OmsLogger log = context.getOmsLogger(); Integer deleted = client.deleteHistory(); + log.info("deleted = {}", deleted); return new ProcessResult(true); } } diff --git a/blade-ops/blade-job/src/main/java/org/springblade/job/processor/quality/IotThicknessDeleteProcessor.java b/blade-ops/blade-job/src/main/java/org/springblade/job/processor/quality/IotThicknessDeleteProcessor.java new file mode 100644 index 00000000..7fe94bb6 --- /dev/null +++ b/blade-ops/blade-job/src/main/java/org/springblade/job/processor/quality/IotThicknessDeleteProcessor.java @@ -0,0 +1,32 @@ +package org.springblade.job.processor.quality; + +import jakarta.annotation.Resource; +import lombok.Data; +import lombok.extern.slf4j.Slf4j; +import org.springblade.desk.quality.feign.IIotThicknessClient; +import org.springframework.stereotype.Component; +import tech.powerjob.worker.core.processor.ProcessResult; +import tech.powerjob.worker.core.processor.TaskContext; +import tech.powerjob.worker.core.processor.sdk.BasicProcessor; +import tech.powerjob.worker.log.OmsLogger; + +/** + * 定时:每天00:00执行 + * cron:0 0 0 * * ? + */ +@Component +@Data +@Slf4j +public class IotThicknessDeleteProcessor implements BasicProcessor { + + @Resource + private IIotThicknessClient client; + + @Override + public ProcessResult process(TaskContext context) throws Exception { + OmsLogger log = context.getOmsLogger(); + Integer deleted = client.deleteHistory(); + log.info("deleted = {}", deleted); + return new ProcessResult(true); + } +} diff --git a/blade-ops/blade-job/src/main/java/org/springblade/job/processor/quality/package-info.java b/blade-ops/blade-job/src/main/java/org/springblade/job/processor/quality/package-info.java new file mode 100644 index 00000000..021d2b53 --- /dev/null +++ b/blade-ops/blade-job/src/main/java/org/springblade/job/processor/quality/package-info.java @@ -0,0 +1,4 @@ +/** + * 质检模块相关定时任务。 + */ +package org.springblade.job.processor.quality; \ No newline at end of file diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/constant/ColValue.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/constant/ColValue.java index d03cb80a..70e9203e 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/constant/ColValue.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/constant/ColValue.java @@ -10,4 +10,9 @@ public interface ColValue { * 禁用 */ Integer STATE_DISABLE = 0; + + /** + * admin user id + */ + Long ADMIN_USER_ID = 1123598821738675201L; } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/constant/Excel.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/constant/Excel.java new file mode 100644 index 00000000..45242d3d --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/constant/Excel.java @@ -0,0 +1,8 @@ +package org.springblade.desk.quality.constant; + +public interface Excel { + + String EXT_XLS = ".xls"; + + String EXT_XLSX = ".xlsx"; +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/LiquidTankController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/LiquidTankController.java index f1784bc2..e3aec364 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/LiquidTankController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/LiquidTankController.java @@ -12,6 +12,8 @@ import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.servlet.http.HttpServletResponse; import jakarta.validation.Valid; import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.springblade.core.boot.ctrl.BladeController; import org.springblade.core.excel.util.ExcelUtil; import org.springblade.core.mp.support.Condition; @@ -21,12 +23,14 @@ import org.springblade.core.secure.annotation.IsAdmin; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.tool.utils.Func; +import org.springblade.desk.quality.constant.Excel; import org.springblade.desk.quality.excel.gen.LiquidTankGenExcel; import org.springblade.desk.quality.pojo.entity.LiquidTank; import org.springblade.desk.quality.pojo.vo.gen.LiquidTankGenVO; import org.springblade.desk.quality.service.gen.ILiquidTankGenService; import org.springblade.desk.quality.wrapper.gen.LiquidTankGenWrapper; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; import java.util.List; import java.util.Map; @@ -37,103 +41,131 @@ import java.util.Map; * @author Tom Shuo * @since 2025-11-14 */ +@Slf4j @RestController @AllArgsConstructor -@RequestMapping("/qa/liquidTank") +@RequestMapping("/qa/LiquidTank") @Tag(name = "[槽液]", description = "[槽液]接口") public class LiquidTankController extends BladeController { - private final ILiquidTankGenService liquidTankGenService; + private final ILiquidTankGenService genService; - /** - * [槽液] 详情 - */ - @GetMapping("/detail") - @ApiOperationSupport(order = 1) - @Operation(summary = "详情", description = "传入liquidTank") - public R detail(LiquidTank liquidTank) { - LiquidTank detail = liquidTankGenService.getOne(Condition.getQueryWrapper(liquidTank)); - return R.data(LiquidTankGenWrapper.build().entityVO(detail)); - } + /** + * [槽液] 详情 + */ + @GetMapping("/detail") + @ApiOperationSupport(order = 1) + @Operation(summary = "详情", description = "传入liquidTank") + public R detail(LiquidTank liquidTank) { + LiquidTank detail = genService.getOne(Condition.getQueryWrapper(liquidTank)); + return R.data(LiquidTankGenWrapper.build().entityVO(detail)); + } - /** - * [槽液] 分页 - */ - @GetMapping("/list") - @ApiOperationSupport(order = 2) - @Operation(summary = "分页", description = "传入liquidTank") - public R> list(@Parameter(hidden = true) @RequestParam Map liquidTank, Query query) { - IPage pages = liquidTankGenService.page(Condition.getPage(query), Condition.getQueryWrapper(liquidTank, LiquidTank.class)); - return R.data(LiquidTankGenWrapper.build().pageVO(pages)); - } + /** + * [槽液] 分页 + */ + @GetMapping("/list") + @ApiOperationSupport(order = 2) + @Operation(summary = "分页", description = "传入liquidTank") + public R> list(@Parameter(hidden = true) @RequestParam Map liquidTank, Query query) { + IPage pages = genService.page(Condition.getPage(query), Condition.getQueryWrapper(liquidTank, LiquidTank.class)); + return R.data(LiquidTankGenWrapper.build().pageVO(pages)); + } - /** - * [槽液] 自定义分页 - */ - @GetMapping("/page") - @ApiOperationSupport(order = 3) - @Operation(summary = "分页", description = "传入liquidTank") - public R> page(LiquidTankGenVO liquidTank, Query query) { - IPage pages = liquidTankGenService.selectLiquidTankPage(Condition.getPage(query), liquidTank); - return R.data(pages); - } + /** + * [槽液] 自定义分页 + */ + @GetMapping("/page") + @ApiOperationSupport(order = 3) + @Operation(summary = "分页", description = "传入liquidTank") + public R> page(LiquidTankGenVO liquidTank, Query query) { + IPage pages = genService.selectLiquidTankPage(Condition.getPage(query), liquidTank); + return R.data(pages); + } - /** - * [槽液] 新增 - */ - @PostMapping("/save") - @ApiOperationSupport(order = 4) - @Operation(summary = "新增", description = "传入liquidTank") - public R save(@Valid @RequestBody LiquidTank liquidTank) { - return R.status(liquidTankGenService.save(liquidTank)); - } + /** + * [槽液] 新增 + */ + @PostMapping("/save") + @ApiOperationSupport(order = 4) + @Operation(summary = "新增", description = "传入liquidTank") + public R save(@Valid @RequestBody LiquidTank liquidTank) { + return R.status(genService.save(liquidTank)); + } - /** - * [槽液] 修改 - */ - @PostMapping("/update") - @ApiOperationSupport(order = 5) - @Operation(summary = "修改", description = "传入liquidTank") - public R update(@Valid @RequestBody LiquidTank liquidTank) { - return R.status(liquidTankGenService.updateById(liquidTank)); - } + /** + * [槽液] 修改 + */ + @PostMapping("/update") + @ApiOperationSupport(order = 5) + @Operation(summary = "修改", description = "传入liquidTank") + public R update(@Valid @RequestBody LiquidTank liquidTank) { + return R.status(genService.updateById(liquidTank)); + } - /** - * [槽液] 新增或修改 - */ - @PostMapping("/submit") - @ApiOperationSupport(order = 6) - @Operation(summary = "新增或修改", description = "传入liquidTank") - public R submit(@Valid @RequestBody LiquidTank liquidTank) { - return R.status(liquidTankGenService.saveOrUpdate(liquidTank)); - } + /** + * [槽液] 新增或修改 + */ + @PostMapping("/submit") + @ApiOperationSupport(order = 6) + @Operation(summary = "新增或修改", description = "传入liquidTank") + public R submit(@Valid @RequestBody LiquidTank liquidTank) { + return R.status(genService.saveOrUpdate(liquidTank)); + } - /** - * [槽液] 删除 - */ - @PostMapping("/remove") - @ApiOperationSupport(order = 7) - @Operation(summary = "逻辑删除", description = "传入ids") - public R remove(@Parameter(description = "主键集合", required = true) @RequestParam String ids) { - return R.status(liquidTankGenService.deleteLogic(Func.toLongList(ids))); - } + /** + * [槽液] 删除 + */ + @PostMapping("/remove") + @ApiOperationSupport(order = 7) + @Operation(summary = "逻辑删除", description = "传入ids") + public R remove(@Parameter(description = "主键集合", required = true) @RequestParam String ids) { + return R.status(genService.deleteLogic(Func.toLongList(ids))); + } - /** - * 导出数据 - */ - @IsAdmin - @GetMapping("/export-liquidTank") - @ApiOperationSupport(order = 8) - @Operation(summary = "导出数据", description = "传入liquidTank") - public void exportLiquidTank(@Parameter(hidden = true) @RequestParam Map liquidTank, BladeUser bladeUser, HttpServletResponse response) { - QueryWrapper queryWrapper = Condition.getQueryWrapper(liquidTank, LiquidTank.class); - //if (!AuthUtil.isAdministrator()) { - // queryWrapper.lambda().eq(LiquidTank::getTenantId, bladeUser.getTenantId()); - //} - //queryWrapper.lambda().eq(LiquidTankEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED); - List list = liquidTankGenService.exportLiquidTank(queryWrapper); - ExcelUtil.export(response, "[槽液]数据" + DateUtil.time(), "[槽液]数据表", list, LiquidTankGenExcel.class); - } + /** + * 导出数据 + */ + @GetMapping("/export-excel") + @ApiOperationSupport(order = 8) + @Operation(summary = "导出数据", description = "传入liquidTank") + public void exportLiquidTank(@Parameter(hidden = true) @RequestParam Map liquidTank, + BladeUser bladeUser, HttpServletResponse response) { + QueryWrapper queryWrapper = Condition.getQueryWrapper(liquidTank, LiquidTank.class); + //if (!AuthUtil.isAdministrator()) { + // queryWrapper.lambda().eq(LiquidTank::getTenantId, bladeUser.getTenantId()); + //} + //queryWrapper.lambda().eq(LiquidTankEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED); + List list = genService.exportLiquidTank(queryWrapper); + ExcelUtil.export(response, "[槽液]数据" + DateUtil.time(), "[槽液]数据表", + list, LiquidTankGenExcel.class); + } + /** + * 导入数据 + */ + @PostMapping("/import-excel") + @ApiOperationSupport(order = 9) + @Operation(summary = "导入数据", description = "MultipartFile") + public R importLiquidTank(@RequestParam("file") MultipartFile file) { + if (file.isEmpty()) { + return R.fail("请上传文件"); + } + String fileName = file.getOriginalFilename(); + if (StringUtils.isBlank(fileName)) { + return R.fail("文件名为空"); + } + if (!StringUtils.endsWith(fileName, Excel.EXT_XLS) && + !StringUtils.endsWith(fileName, Excel.EXT_XLSX)) { + return R.fail("格式不正确"); + } + List list = ExcelUtil.read(file, 0, 1, LiquidTank.class); + if (list.isEmpty()) { + log.info("list.isEmpty"); + } + list.forEach(lt -> log.info("LiquidTank - {}", lt)); + genService.saveBatch(list); + return R.success("导入成功"); + } } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/TestController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/TestController.java new file mode 100644 index 00000000..187cb82d --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/TestController.java @@ -0,0 +1,35 @@ +package org.springblade.desk.quality.controller; + +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import lombok.AllArgsConstructor; +import org.springblade.core.boot.ctrl.BladeController; +import org.springblade.core.tool.api.R; +import org.springblade.desk.quality.service.TestService; +import org.springblade.system.pojo.entity.User; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@AllArgsConstructor +@RequestMapping("/qa/test") +@Tag(name = "[test]", description = "[test]接口") +public class TestController extends BladeController { + + @Resource + private TestService service; + + /** + * [] 详情 + */ + @GetMapping("/detail") + @ApiOperationSupport(order = 1) + @Operation(summary = "详情", description = "详情") + public R detail(@RequestParam Long userId) { + return service.getOneUser(userId); + } +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/excel/gen/LiquidTankExportExcel.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/excel/gen/LiquidTankExportExcel.java new file mode 100644 index 00000000..14ae9baa --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/excel/gen/LiquidTankExportExcel.java @@ -0,0 +1,215 @@ +/** + * Author: Tom Shuo + */ +package org.springblade.desk.quality.excel.gen; + + +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 lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; + + +/** + * [槽液] Excel实体类 + * + * @author Tom Shuo + * @since 2025-11-14 + */ +@Data +@ColumnWidth(25) +@HeadRowHeight(20) +@ContentRowHeight(18) +public class LiquidTankExportExcel implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 任务前缀 + */ + @ColumnWidth(20) + @ExcelProperty("任务前缀") + private String taskPrefix; + /** + * [作业中心]id + */ + @ColumnWidth(20) + @ExcelProperty("[作业中心]id") + private Long workCenterId; + /** + * 槽液编码/槽号 + */ + @ColumnWidth(20) + @ExcelProperty("槽液编码/槽号") + private String code; + /** + * 待测成分 + */ + @ColumnWidth(20) + @ExcelProperty("待测成分") + private String testElement; + /** + * 药品名称 + */ + @ColumnWidth(20) + @ExcelProperty("药品名称") + private String drugName; + /** + * 药品[物料]id + */ + @ColumnWidth(20) + @ExcelProperty("药品[物料]id") + private Long drugMaterialId; + /** + * 药品[物料]编码 + */ + @ColumnWidth(20) + @ExcelProperty("药品[物料]编码") + private String drugMaterialCode; + /** + * 药品物料名称 + */ + @ColumnWidth(20) + @ExcelProperty("药品物料名称") + private String drugMaterialName; + /** + * 工艺含量 + */ + @ColumnWidth(20) + @ExcelProperty("工艺含量") + private String processContent; + /** + * 目标值 + */ + @ColumnWidth(20) + @ExcelProperty("目标值") + private Long targetValue; + /** + * 目标上下限 + */ + @ColumnWidth(20) + @ExcelProperty("目标上下限") + private String bound; + /** + * 添加点 + */ + @ColumnWidth(20) + @ExcelProperty("添加点") + private Long fillingLocation; + /** + * 体积 + */ + @ColumnWidth(20) + @ExcelProperty("体积") + private Long volume; + /** + * 单位 + */ + @ColumnWidth(20) + @ExcelProperty("单位") + private String unit; + /** + * 分析周期 + */ + @ColumnWidth(20) + @ExcelProperty("分析周期") + private Integer analysisCycle; + /** + * 有效期 + */ + @ColumnWidth(20) + @ExcelProperty("有效期") + private LocalDateTime validDate; + /** + * 上次化验日期 + */ + @ColumnWidth(20) + @ExcelProperty("上次化验日期") + private LocalDateTime lastTest; + /** + * 槽液到期日期 + */ + @ColumnWidth(20) + @ExcelProperty("槽液到期日期") + private LocalDateTime expiryDate; + /** + * 化验人[用户]id + */ + @ColumnWidth(20) + @ExcelProperty("化验人[用户]id") + private Long testUserId; + /** + * 工艺主管[用户]id + */ + @ColumnWidth(20) + @ExcelProperty("工艺主管[用户]id") + private Long processUserId; + /** + * 温度范围 + */ + @ColumnWidth(20) + @ExcelProperty("温度范围") + private String temperatureRange; + /** + * 实测温度 + */ + @ColumnWidth(20) + @ExcelProperty("实测温度") + private String temperatureActual; + /** + * ph范围 + */ + @ColumnWidth(20) + @ExcelProperty("ph范围") + private String phRange; + /** + * 实测ph值 + */ + @ColumnWidth(20) + @ExcelProperty("实测ph值") + private String phActual; + /** + * 目标上限 + */ + @ColumnWidth(20) + @ExcelProperty("目标上限") + private String targetValueMax; + /** + * 目标下限 + */ + @ColumnWidth(20) + @ExcelProperty("目标下限") + private String targetValueMin; + /** + * 药品批次号 + */ + @ColumnWidth(20) + @ExcelProperty("药品批次号") + private String drugBatNum; + /** + * 加药后化验值 + */ + @ColumnWidth(20) + @ExcelProperty("加药后化验值") + private String postTestValue; + /** + * 是否合格 + */ + @ColumnWidth(20) + @ExcelProperty("是否合格") + private Long qualified; + /** + * [计量单位]id + */ + @ColumnWidth(20) + @ExcelProperty("[计量单位]id") + private Long unitId; + +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/excel/gen/LiquidTankGenExcel.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/excel/gen/LiquidTankGenExcel.java index b5ad2983..fa034093 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/excel/gen/LiquidTankGenExcel.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/excel/gen/LiquidTankGenExcel.java @@ -4,23 +4,24 @@ package org.springblade.desk.quality.excel.gen; -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 lombok.Data; -import java.io.Serial; import java.io.Serializable; import java.math.BigDecimal; import java.time.LocalDateTime; +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 2025-11-14 + * @since 2025-11-18 */ @Data @ColumnWidth(25) diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/excel/listener/LiquidTankListener.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/excel/listener/LiquidTankListener.java new file mode 100644 index 00000000..4998caa4 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/excel/listener/LiquidTankListener.java @@ -0,0 +1,41 @@ +package org.springblade.desk.quality.excel.listener; + +import com.alibaba.excel.context.AnalysisContext; +import com.alibaba.excel.read.listener.ReadListener; +import com.alibaba.excel.util.ListUtils; +import org.springblade.desk.quality.pojo.entity.LiquidTank; +import org.springblade.desk.quality.service.gen.ILiquidTankGenService; + +import java.util.List; + +public class LiquidTankListener implements ReadListener { + + private static final int BATCH_SIZE = 100; + + public LiquidTankListener(ILiquidTankGenService genService) { + this.genService = genService; + } + + private ILiquidTankGenService genService; + private List cachedDataList = ListUtils.newArrayListWithExpectedSize(BATCH_SIZE); + + @Override + public void invoke(LiquidTank data, AnalysisContext context) { + cachedDataList.add(data); + if (cachedDataList.size() >= BATCH_SIZE) { + saveData(); + cachedDataList.clear(); + } + } + + @Override + public void doAfterAllAnalysed(AnalysisContext context) { + if (!cachedDataList.isEmpty()) { + saveData(); + } + } + + private void saveData() { + genService.saveBatch(cachedDataList); + } +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/gen/LiquidTankGenMapper.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/gen/LiquidTankGenMapper.java index 900e1045..27adc8cb 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/gen/LiquidTankGenMapper.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/gen/LiquidTankGenMapper.java @@ -3,21 +3,20 @@ */ package org.springblade.desk.quality.mapper.gen; -import com.baomidou.mybatisplus.core.conditions.Wrapper; +import org.springblade.desk.quality.pojo.entity.LiquidTank; +import org.springblade.desk.quality.pojo.vo.gen.LiquidTankGenVO; +import org.springblade.desk.quality.excel.gen.LiquidTankGenExcel; 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 org.springblade.desk.quality.excel.gen.LiquidTankGenExcel; -import org.springblade.desk.quality.pojo.entity.LiquidTank; -import org.springblade.desk.quality.pojo.vo.gen.LiquidTankGenVO; - import java.util.List; /** * [槽液] Mapper 接口 * * @author Tom Shuo - * @since 2025-11-14 + * @since 2025-11-18 */ public interface LiquidTankGenMapper extends BaseMapper { diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/pojo/dto/gen/LiquidTankGenDTO.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/pojo/dto/gen/LiquidTankGenDTO.java index 0fb847cc..f31d6232 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/pojo/dto/gen/LiquidTankGenDTO.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/pojo/dto/gen/LiquidTankGenDTO.java @@ -3,17 +3,16 @@ */ package org.springblade.desk.quality.pojo.dto.gen; +import org.springblade.desk.quality.pojo.entity.LiquidTank; import lombok.Data; import lombok.EqualsAndHashCode; -import org.springblade.desk.quality.pojo.entity.LiquidTank; - import java.io.Serial; /** * [槽液] 数据传输对象实体类 * * @author Tom Shuo - * @since 2025-11-14 + * @since 2025-11-18 */ @Data @EqualsAndHashCode(callSuper = true) diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/pojo/entity/LiquidTank.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/pojo/entity/LiquidTank.java index 9b67bd2d..6d4f294d 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/pojo/entity/LiquidTank.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/pojo/entity/LiquidTank.java @@ -3,21 +3,21 @@ */ package org.springblade.desk.quality.pojo.entity; -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.v3.oas.annotations.media.Schema; +import com.alibaba.excel.annotation.ExcelProperty; import lombok.Data; -import lombok.EqualsAndHashCode; -import org.springblade.core.mp.base.BaseEntity; - -import java.io.Serial; +import io.swagger.v3.oas.annotations.media.Schema; +import com.baomidou.mybatisplus.annotation.TableName; import java.math.BigDecimal; import java.time.LocalDateTime; +import org.springblade.core.mp.base.BaseEntity; +import lombok.EqualsAndHashCode; +import java.io.Serial; /** * [槽液] 实体类 * * @author Tom Shuo - * @since 2025-11-14 + * @since 2025-11-18 */ @Data @TableName("QA_LIQUID_TANK") @@ -31,16 +31,140 @@ public class LiquidTank extends BaseEntity { /** * 任务前缀 */ - @Schema(description = "任务前缀") + public static final String COL_TASK_PREFIX = "TASK_PREFIX"; + /** + * [作业中心]id + */ + public static final String COL_WORK_CENTER_ID = "WORK_CENTER_ID"; + /** + * 槽液编码/槽号 + */ + public static final String COL_CODE = "CODE"; + /** + * 待测成分 + */ + public static final String COL_TEST_ELEMENT = "TEST_ELEMENT"; + /** + * 药品名称 + */ + public static final String COL_DRUG_NAME = "DRUG_NAME"; + /** + * 药品[物料]id + */ + public static final String COL_DRUG_MATERIAL_ID = "DRUG_MATERIAL_ID"; + /** + * 药品[物料]编码 + */ + public static final String COL_DRUG_MATERIAL_CODE = "DRUG_MATERIAL_CODE"; + /** + * 药品物料名称 + */ + public static final String COL_DRUG_MATERIAL_NAME = "DRUG_MATERIAL_NAME"; + /** + * 工艺含量 + */ + public static final String COL_PROCESS_CONTENT = "PROCESS_CONTENT"; + /** + * 目标值 + */ + public static final String COL_TARGET_VALUE = "TARGET_VALUE"; + /** + * 目标上下限 + */ + public static final String COL_BOUND = "BOUND"; + /** + * 添加点 + */ + public static final String COL_FILLING_LOCATION = "FILLING_LOCATION"; + /** + * 体积 + */ + public static final String COL_VOLUME = "VOLUME"; + /** + * 单位 + */ + public static final String COL_UNIT = "UNIT"; + /** + * 分析周期 + */ + public static final String COL_ANALYSIS_CYCLE = "ANALYSIS_CYCLE"; + /** + * 有效期 + */ + public static final String COL_VALID_DATE = "VALID_DATE"; + /** + * 上次化验日期 + */ + public static final String COL_LAST_TEST = "LAST_TEST"; + /** + * 槽液到期日期 + */ + public static final String COL_EXPIRY_DATE = "EXPIRY_DATE"; + /** + * 化验人[用户]id + */ + public static final String COL_TEST_USER_ID = "TEST_USER_ID"; + /** + * 工艺主管[用户]id + */ + public static final String COL_PROCESS_USER_ID = "PROCESS_USER_ID"; + /** + * 温度范围 + */ + public static final String COL_TEMPERATURE_RANGE = "TEMPERATURE_RANGE"; + /** + * 实测温度 + */ + public static final String COL_TEMPERATURE_ACTUAL = "TEMPERATURE_ACTUAL"; + /** + * ph范围 + */ + public static final String COL_PH_RANGE = "PH_RANGE"; + /** + * 实测ph值 + */ + public static final String COL_PH_ACTUAL = "PH_ACTUAL"; + /** + * 目标上限 + */ + public static final String COL_TARGET_VALUE_MAX = "TARGET_VALUE_MAX"; + /** + * 目标下限 + */ + public static final String COL_TARGET_VALUE_MIN = "TARGET_VALUE_MIN"; + /** + * 药品批次号 + */ + public static final String COL_DRUG_BAT_NUM = "DRUG_BAT_NUM"; + /** + * 加药后化验值 + */ + public static final String COL_POST_TEST_VALUE = "POST_TEST_VALUE"; + /** + * 是否合格 + */ + public static final String COL_QUALIFIED = "QUALIFIED"; + /** + * [计量单位]id + */ + public static final String COL_UNIT_ID = "UNIT_ID"; + + /** + * 任务前缀 + */ + @ExcelProperty(value = "任务前缀", index = 0) + @Schema(description = "任务前缀") private String taskPrefix; /** * [作业中心]id */ + @ExcelProperty(value = "[作业中心]id", index = 1) @Schema(description = "[作业中心]id") private BigDecimal workCenterId; /** * 槽液编码/槽号 */ + @ExcelProperty(value = "槽液编码/槽号", index = 2) @Schema(description = "槽液编码/槽号") private String code; /** diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/pojo/vo/gen/LiquidTankGenVO.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/pojo/vo/gen/LiquidTankGenVO.java index 4dadbcb3..d94e6a80 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/pojo/vo/gen/LiquidTankGenVO.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/pojo/vo/gen/LiquidTankGenVO.java @@ -3,17 +3,16 @@ */ package org.springblade.desk.quality.pojo.vo.gen; +import org.springblade.desk.quality.pojo.entity.LiquidTank; import lombok.Data; import lombok.EqualsAndHashCode; -import org.springblade.desk.quality.pojo.entity.LiquidTank; - import java.io.Serial; /** * [槽液] 视图实体类 * * @author Tom Shuo - * @since 2025-11-14 + * @since 2025-11-18 */ @Data @EqualsAndHashCode(callSuper = true) diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/LquidTankService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/LquidTankService.java new file mode 100644 index 00000000..628d95b0 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/LquidTankService.java @@ -0,0 +1,30 @@ +package org.springblade.desk.quality.service; + +import jakarta.annotation.Resource; +import lombok.Data; +import lombok.extern.slf4j.Slf4j; +import org.springblade.desk.quality.mapper.gen.LiquidTankGenMapper; +import org.springframework.stereotype.Service; + +@Service +@Data +@Slf4j +public class LquidTankService { + + @Resource + private LiquidTankGenMapper mapper; + + /** + * todo: 尚未确定具体实现。 + * 生产需求计算。 + * + * @return + */ + public Boolean productCal() { + return Boolean.TRUE; + } + + public void importExcel() { + + } +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/TestService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/TestService.java new file mode 100644 index 00000000..fe0017a1 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/TestService.java @@ -0,0 +1,22 @@ +package org.springblade.desk.quality.service; + +import jakarta.annotation.Resource; +import lombok.Data; +import lombok.extern.slf4j.Slf4j; +import org.springblade.core.tool.api.R; +import org.springblade.system.feign.IUserClient; +import org.springblade.system.pojo.entity.User; +import org.springframework.stereotype.Service; + +@Service +@Data +@Slf4j +public class TestService { + + @Resource + private IUserClient userClient; + + public R getOneUser(Long userId) { + return userClient.userInfoById(userId); + } +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/gen/ILiquidTankGenService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/gen/ILiquidTankGenService.java index b1213dc5..ee45f046 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/gen/ILiquidTankGenService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/gen/ILiquidTankGenService.java @@ -4,19 +4,18 @@ package org.springblade.desk.quality.service.gen; import com.baomidou.mybatisplus.core.conditions.Wrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import org.springblade.core.mp.base.BaseService; -import org.springblade.desk.quality.excel.gen.LiquidTankGenExcel; import org.springblade.desk.quality.pojo.entity.LiquidTank; import org.springblade.desk.quality.pojo.vo.gen.LiquidTankGenVO; - +import org.springblade.desk.quality.excel.gen.LiquidTankGenExcel; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.springblade.core.mp.base.BaseService; import java.util.List; /** * [槽液] 服务类 * * @author Tom Shuo - * @since 2025-11-14 + * @since 2025-11-18 */ public interface ILiquidTankGenService extends BaseService { /** diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/gen/LiquidTankGenServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/gen/LiquidTankGenServiceImpl.java index 3d1d28d6..a7341e97 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/gen/LiquidTankGenServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/gen/LiquidTankGenServiceImpl.java @@ -3,23 +3,22 @@ */ package org.springblade.desk.quality.service.impl.gen; -import com.baomidou.mybatisplus.core.conditions.Wrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import org.springblade.core.mp.base.BaseServiceImpl; -import org.springblade.desk.quality.excel.gen.LiquidTankGenExcel; -import org.springblade.desk.quality.mapper.gen.LiquidTankGenMapper; import org.springblade.desk.quality.pojo.entity.LiquidTank; import org.springblade.desk.quality.pojo.vo.gen.LiquidTankGenVO; +import org.springblade.desk.quality.excel.gen.LiquidTankGenExcel; +import org.springblade.desk.quality.mapper.gen.LiquidTankGenMapper; import org.springblade.desk.quality.service.gen.ILiquidTankGenService; 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 2025-11-14 + * @since 2025-11-18 */ @Service public class LiquidTankGenServiceImpl extends BaseServiceImpl implements ILiquidTankGenService { diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/wrapper/gen/LiquidTankGenWrapper.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/wrapper/gen/LiquidTankGenWrapper.java index bc47c948..ba442491 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/wrapper/gen/LiquidTankGenWrapper.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/wrapper/gen/LiquidTankGenWrapper.java @@ -7,14 +7,13 @@ import org.springblade.core.mp.support.BaseEntityWrapper; import org.springblade.core.tool.utils.BeanUtil; import org.springblade.desk.quality.pojo.entity.LiquidTank; import org.springblade.desk.quality.pojo.vo.gen.LiquidTankGenVO; - import java.util.Objects; /** * [槽液] 包装类,返回视图层所需的字段 * * @author Tom Shuo - * @since 2025-11-14 + * @since 2025-11-18 */ public class LiquidTankGenWrapper extends BaseEntityWrapper {