From 1655b9e3990352dd5f5eaf688d7082557967f047 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E4=B9=BE=E7=BF=94?= Date: Thu, 28 May 2026 15:49:14 +0800 Subject: [PATCH] bug --- .../quality/pojo/entity/LiquidTankTask.java | 9 ++ .../controller/CraftAbilityController.java | 6 +- .../desk/oem/mapper/OemProcessMapper.xml | 8 ++ .../service/impl/OemStatementServiceImpl.java | 4 + .../controller/LiquidTankController.java | 2 +- .../desk/quality/excel/LiquidTankExcel.java | 115 +++++++++--------- .../resources/Excel/QA/槽液信息模板.xls | Bin 0 -> 23552 bytes 7 files changed, 82 insertions(+), 62 deletions(-) create mode 100644 blade-service/blade-desk/src/main/resources/Excel/QA/槽液信息模板.xls diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/LiquidTankTask.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/LiquidTankTask.java index 82ea0db6f..e19e2dbfc 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/LiquidTankTask.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/LiquidTankTask.java @@ -3,6 +3,8 @@ */ package org.springblade.desk.quality.pojo.entity; +import com.baomidou.mybatisplus.annotation.FieldStrategy; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -410,11 +412,13 @@ public class LiquidTankTask extends BaseEntity { * 实测温度 */ @Schema(description = "实测温度") + @TableField(updateStrategy = FieldStrategy.ALWAYS) private Double temperatureActual; /** * 实测PH值 */ @Schema(description = "实测PH值") + @TableField(updateStrategy = FieldStrategy.ALWAYS) private Double phActual; /** * 复测电导率测量值 @@ -425,11 +429,13 @@ public class LiquidTankTask extends BaseEntity { * 首次电导率测量值 */ @Schema(description = "首次电导率测量值") + @TableField(updateStrategy = FieldStrategy.ALWAYS) private Double conductivityFirstTestValue; /** * 首次测量值 */ @Schema(description = "首次测量值") + @TableField(updateStrategy = FieldStrategy.ALWAYS) private Double firstTestValue; /** * 复检测量值 @@ -440,6 +446,7 @@ public class LiquidTankTask extends BaseEntity { * 首次化验时间 */ @Schema(description = "首次化验时间") + @TableField(updateStrategy = FieldStrategy.ALWAYS) private LocalDateTime firstTestDate; /** * 复检化验时间 @@ -475,11 +482,13 @@ public class LiquidTankTask extends BaseEntity { * 实际加药量 */ @Schema(description = "实际加药量") + @TableField(updateStrategy = FieldStrategy.ALWAYS) private Double actualAddValue; /** * 加药后理论值 */ @Schema(description = "加药后理论值") + @TableField(updateStrategy = FieldStrategy.ALWAYS) private Double afterAddTheoryValue; /** * 结束原因 diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/CraftAbilityController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/CraftAbilityController.java index a25fd4cb2..b4190acf3 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/CraftAbilityController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/CraftAbilityController.java @@ -146,9 +146,9 @@ public class CraftAbilityController extends BladeController { qw.last("ORDER BY UPDATE_TIME DESC "); IPage pages = craftAbilityService.page(Condition.getPage(query), qw); IPage pagesVO = CraftAbilityWrapper.build().pageVO(pages); - pagesVO.getRecords() - .stream() - .collect(Collectors.toList()); + //pagesVO.getRecords() + // .stream() + // .collect(Collectors.toList()); return R.data(pagesVO); // IPage pages = craftAbilityService.page(Condition.getPage(query), Condition.getQueryWrapper(craftAbility, CraftAbilityEntity.class)); diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/mapper/OemProcessMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/mapper/OemProcessMapper.xml index 33c120c59..95eb2ab50 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/mapper/OemProcessMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/mapper/OemProcessMapper.xml @@ -55,6 +55,14 @@ AND mop.MANUAL = #{query.manual} + + AND bps.NAME LIKE CONCAT('%', CONCAT(#{query.paName}, '%')) + + + + AND mosc.STATEMENT_CATEGORY LIKE CONCAT('%', CONCAT(#{query.statementCategory}, '%')) + + ORDER BY bps.CODE ASC diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/service/impl/OemStatementServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/service/impl/OemStatementServiceImpl.java index 1cad64f28..4806fd8d2 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/service/impl/OemStatementServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/service/impl/OemStatementServiceImpl.java @@ -616,6 +616,9 @@ public class OemStatementServiceImpl extends BaseServiceImpl downloadExcelTemplate() { return ExcelExtUtil.downloadXlsTemplate( - "Excel/QA/槽液信息.xls", + "Excel/QA/槽液信息模板.xls", "导入模版-槽液信息.xls"); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/excel/LiquidTankExcel.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/excel/LiquidTankExcel.java index 1dc84f568..23fecf075 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/excel/LiquidTankExcel.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/excel/LiquidTankExcel.java @@ -31,7 +31,6 @@ public class LiquidTankExcel implements Serializable { @Serial private static final long serialVersionUID = 1L; - /** * 任务前缀 */ @@ -48,9 +47,6 @@ public class LiquidTankExcel implements Serializable { /** * 槽液编码/槽号 */ - @ColumnWidth(20) - @ExcelProperty("槽液编码/槽号") - private String code; /** * [作业槽]id @@ -128,42 +124,20 @@ public class LiquidTankExcel implements Serializable { @ColumnWidth(20) @ExcelProperty("添加值单位") private String addUnit; - /** - * 添加值[计量单位]id - */ - @ColumnWidth(20) - @ExcelProperty("添加值[计量单位]id") - private BigDecimal addUnitId; /** * 加药量[计算公式]id */ @ColumnWidth(20) @ExcelProperty("加药量计算公式") -// private BigDecimal addDrugFormulaId; private String addDrugFormulaName; /** * 添加后理论值[计算公式]id */ @ColumnWidth(20) @ExcelProperty("添加后理论值计算公式") -// private BigDecimal afterTheoryFormulaId; private String afterTheoryFormulaName; - /** - * 温度范围类型:[1]:无;[2]:室内温度;[3]:环境温度;[4]:温度范围; - */ - @ColumnWidth(20) - @ExcelProperty("温度范围类型:[1]:无;[2]:室内温度;[3]:环境温度;[4]:温度范围;") - private Long temperatureType; - - /** - * PH范围类型:[1]:无;[2]:PH值范围; - */ - @ColumnWidth(20) - @ExcelProperty("PH范围类型:[1]:无;[2]:PH值范围;") - private Long phType; - /** @@ -172,12 +146,7 @@ public class LiquidTankExcel implements Serializable { @ColumnWidth(20) @ExcelProperty("药品名称") private String drugName; - /** - * 药品[物料]id - */ - @ColumnWidth(20) - @ExcelProperty("药品[物料]id") - private BigDecimal drugMaterialId; + /** * 药品[物料]编码 */ @@ -232,6 +201,62 @@ public class LiquidTankExcel implements Serializable { private LocalDate validDate; + /** + * 生成周期类型:生成周期类型:[1]:每周;[2]:每月;[3]:每年;[4]:自定义CRON + */ + @ColumnWidth(20) +// @ExcelProperty("生成周期类型:生成周期类型:[1]:每周;[2]:每月;[3]:每年;[4]:自定义CRON") + @ExcelProperty("生成周期类型:[1]:每周;[2]:每月;[3]:每年;") + private Integer jobType; +// private String jobTypeName; + /** + * 定时WEEK值 + */ + @ColumnWidth(20) + @ExcelProperty("每周") + private String jobTypeWeekValue; + /** + * 定时MONTH值 + */ + @ColumnWidth(20) + @ExcelProperty("每月") + private String jobTypeMonthValue; + /** + * 定时YEAR值 + */ + @ColumnWidth(20) + @ExcelProperty("每年") + private String jobTypeYearValue; + + @ColumnWidth(20) + @ExcelProperty("槽液编码/槽号") + private String code; + /** + * 添加值[计量单位]id + */ + @ColumnWidth(20) + @ExcelProperty("添加值[计量单位]id") + private BigDecimal addUnitId; + /** + * 温度范围类型:[1]:无;[2]:室内温度;[3]:环境温度;[4]:温度范围; + */ + @ColumnWidth(20) + @ExcelProperty("温度范围类型:[1]:无;[2]:室内温度;[3]:环境温度;[4]:温度范围;") + private Long temperatureType; + + /** + * PH范围类型:[1]:无;[2]:PH值范围; + */ + @ColumnWidth(20) + @ExcelProperty("PH范围类型:[1]:无;[2]:PH值范围;") + private Long phType; + /** + * 药品[物料]id + */ + @ColumnWidth(20) + @ExcelProperty("药品[物料]id") + private BigDecimal drugMaterialId; + /** * 工艺含量 */ @@ -339,32 +364,6 @@ public class LiquidTankExcel implements Serializable { @ExcelProperty("环境温度") private BigDecimal temperatureEnv; - /** - * 生成周期类型:生成周期类型:[1]:每周;[2]:每月;[3]:每年;[4]:自定义CRON - */ - @ColumnWidth(20) -// @ExcelProperty("生成周期类型:生成周期类型:[1]:每周;[2]:每月;[3]:每年;[4]:自定义CRON") - @ExcelProperty("生成周期类型:[1]:每周;[2]:每月;[3]:每年;") - private Integer jobType; -// private String jobTypeName; - /** - * 定时WEEK值 - */ - @ColumnWidth(20) - @ExcelProperty("每周") - private String jobTypeWeekValue; - /** - * 定时MONTH值 - */ - @ColumnWidth(20) - @ExcelProperty("每月") - private String jobTypeMonthValue; - /** - * 定时YEAR值 - */ - @ColumnWidth(20) - @ExcelProperty("每年") - private String jobTypeYearValue; /** * 生成任务 json config */ diff --git a/blade-service/blade-desk/src/main/resources/Excel/QA/槽液信息模板.xls b/blade-service/blade-desk/src/main/resources/Excel/QA/槽液信息模板.xls new file mode 100644 index 0000000000000000000000000000000000000000..177553dee912f9ca9da5c828d9e0992fb90d2fcf GIT binary patch literal 23552 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