From b90ad7f9c4f6b8585a5425df14e24c65d4605adc Mon Sep 17 00:00:00 2001 From: Tom Li Date: Fri, 9 Jan 2026 11:36:41 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B4=A8=E9=87=8F=E6=A8=A1=E5=9D=97=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../quality/pojo/dto/IotThicknessDTO.java | 2 +- .../quality/pojo/entity/InspectionTask.java | 13 ++- .../quality/pojo/entity/IotThickness.java | 2 +- .../desk/quality/pojo/entity/ReviewSheet.java | 4 +- .../quality/pojo/entity/WorkPlanItem.java | 6 +- .../desk/quality/pojo/vo/IotThicknessVO.java | 2 +- .../desk/basic/util/StatusCountMap.java | 38 +++++++ .../quality/constant/InspectionItemConst.java | 14 +++ .../quality/constant/InspectionTaskConst.java | 8 +- .../controller/InspectionTaskController.java | 34 ++++-- .../InspectionTemplateController.java | 1 + .../controller/IotThicknessController.java | 36 +++---- .../controller/ReviewDutyController.java | 3 +- .../controller/ReviewFaultController.java | 3 +- .../controller/ReviewSheetController.java | 3 +- .../quality/controller/TestController.java | 10 ++ .../controller/WorkPlanItemController.java | 3 +- .../WorkPlanItemDetailController.java | 3 +- .../desk/quality/feign/IotHardnessClient.java | 4 +- .../quality/mapper/InspectionTaskMapper.java | 36 ++++--- .../quality/mapper/InspectionTaskMapper.xml | 35 ++++++ .../quality/mapper/IotHardnessMapper.java | 3 +- .../quality/mapper/IotThicknessMapper.java | 2 +- .../desk/quality/mapper/ReviewSheetMapper.xml | 2 +- .../service/IInspectionTaskService.java | 9 +- .../quality/service/IIotHardnessService.java | 42 +++++--- .../service/IIotHardnessSubService.java | 24 +++++ .../quality/service/IIotThicknessService.java | 2 +- .../quality/service/IWorkPlanItemService.java | 4 + .../quality/service/IotHardnessService2.java | 62 ----------- .../service/IotHardnessSubService2.java | 30 ------ .../impl/InspectionTaskServiceImpl.java | 74 ++++++++++--- .../service/impl/IotHardnessServiceImpl.java | 100 +++++++++++++++--- .../impl/IotHardnessSubServiceImpl.java | 17 +++ .../service/impl/IotThicknessServiceImpl.java | 2 +- .../service/impl/WorkPlanItemServiceImpl.java | 50 ++++++--- .../quality/wrapper/IotThicknessWrapper.java | 2 +- 37 files changed, 461 insertions(+), 224 deletions(-) create mode 100644 blade-service/blade-desk/src/main/java/org/springblade/desk/basic/util/StatusCountMap.java create mode 100644 blade-service/blade-desk/src/main/java/org/springblade/desk/quality/constant/InspectionItemConst.java create mode 100644 blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IIotHardnessSubService.java delete mode 100644 blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IotHardnessService2.java delete mode 100644 blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IotHardnessSubService2.java create mode 100644 blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/IotHardnessSubServiceImpl.java diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/dto/IotThicknessDTO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/dto/IotThicknessDTO.java index b8a8286f..c21009c1 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/dto/IotThicknessDTO.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/dto/IotThicknessDTO.java @@ -10,7 +10,7 @@ import org.springblade.desk.quality.pojo.entity.IotThickness; import java.io.Serial; /** - * [IOT硬度] 数据传输对象实体类 + * [IOT厚度] 数据传输对象实体类 * * @author Tom Shuo * @since 2025-12-23 diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/InspectionTask.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/InspectionTask.java index 6961090a..bdec13ed 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/InspectionTask.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/InspectionTask.java @@ -100,7 +100,7 @@ public class InspectionTask extends BaseEntity { */ public static final String COL_SIMPLE_COUNT = "SIMPLE_COUNT"; /** - * 检验结果-[1]:合格;[2]:不合格;[-1]:NA + * 检验结果-[0]:未检验;[1]:合格;[2]:不合格;[-1]:NA */ public static final String COL_CHECK_RESULT = "CHECK_RESULT"; /** @@ -151,6 +151,10 @@ public class InspectionTask extends BaseEntity { * [作业计划]id */ public static final String COL_WP_ID = "WP_ID"; + /** + * 来源类型 + */ + public static final String COL_FROM_TYPE = "FROM_TYPE"; /** * [检验任务]编码 @@ -245,7 +249,7 @@ public class InspectionTask extends BaseEntity { /** * 检验结果-[1]:合格;[2]:不合格;[3]:NA */ - @Schema(description = "检验结果-[1]:合格;[2]:不合格;[-1]:NA") + @Schema(description = "检验结果-[0]:未检验;[1]:合格;[2]:不合格;[-1]:NA") private Integer checkResult; /** * 检验数量 @@ -307,4 +311,9 @@ public class InspectionTask extends BaseEntity { */ @Schema(description = "[作业计划]id") private Long wpId; + /** + * 来源类型 + */ + @Schema(description = "来源类型") + private Integer fromType; } diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/IotThickness.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/IotThickness.java index 55da8d76..fb1b95a5 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/IotThickness.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/IotThickness.java @@ -14,7 +14,7 @@ import java.math.BigDecimal; import java.time.LocalDateTime; /** - * [IOT硬度] 实体类 + * [IOT厚度] 实体类 * * @author Tom Shuo * @since 2025-12-23 diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/ReviewSheet.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/ReviewSheet.java index 6a5cb806..bfa4cc21 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/ReviewSheet.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/ReviewSheet.java @@ -158,7 +158,7 @@ public class ReviewSheet extends BaseEntity { /** * 总数量 */ - public static final String COL_NUM = "NUM"; + public static final String COL_TOTAL_NUM = "TOTAL_NUM"; /** * 返修数量 */ @@ -340,7 +340,7 @@ public class ReviewSheet extends BaseEntity { * 总数量 */ @Schema(description = "总数量") - private Short num; + private Short totalNum; /** * 返修数量 */ diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/WorkPlanItem.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/WorkPlanItem.java index 618dd7f3..133157b6 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/WorkPlanItem.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/WorkPlanItem.java @@ -68,7 +68,7 @@ public class WorkPlanItem extends BaseEntity { */ public static final String COL_CHECK_DATE = "CHECK_DATE"; /** - * 检验结果-[1]:合格;[2]:不合格;[-1]:NA + * 检验结果-[0]:未检验;[1]:合格;[2]:不合格;[-1]:NA */ public static final String COL_CHECK_RESULT = "CHECK_RESULT"; /** @@ -149,8 +149,8 @@ public class WorkPlanItem extends BaseEntity { /** * 检验结果-[1]:合格;[2]:不合格;[-1]:NA */ - @Schema(description = "检验结果-[1]:合格;[2]:不合格;[-1]:NA") - private Short checkResult; + @Schema(description = "检验结果-[0]:未检验;[1]:合格;[2]:不合格;[-1]:NA") + private Integer checkResult; /** * 工时定额 */ diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/IotThicknessVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/IotThicknessVO.java index 99a7ae28..7c6dacd8 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/IotThicknessVO.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/IotThicknessVO.java @@ -10,7 +10,7 @@ import org.springblade.desk.quality.pojo.entity.IotThickness; import java.io.Serial; /** - * [IOT硬度] 视图实体类 + * [IOT厚度] 视图实体类 * * @author Tom Shuo * @since 2025-12-23 diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/util/StatusCountMap.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/util/StatusCountMap.java new file mode 100644 index 00000000..88424719 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/util/StatusCountMap.java @@ -0,0 +1,38 @@ +package org.springblade.desk.basic.util; + +import lombok.Getter; + +import java.util.HashMap; +import java.util.Map; + +/** + * + */ +@Getter +public class StatusCountMap { + + private Map map = new HashMap<>(); + + private static final Integer COUNT_DEFAULT = 0; + + /** + * 状态加一 + * + * @param status + * @return + */ + public int add1(Integer status) { + int newCount = map.getOrDefault(status, 0); + newCount = newCount + 1; + map.put(status, newCount); + return map.get(status); + } + + public void clear(Integer status) { + map.put(status, 0); + } + + public int get(Integer status) { + return map.getOrDefault(status, 0); + } +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/constant/InspectionItemConst.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/constant/InspectionItemConst.java new file mode 100644 index 00000000..ffc7bed8 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/constant/InspectionItemConst.java @@ -0,0 +1,14 @@ +package org.springblade.desk.quality.constant; + +public interface InspectionItemConst { + + /** + * 测厚 + */ + Long ITEM_CEHOU_ID = 1L; + + /** + * 测硬 + */ + Long ITEM_CEYING_ID = 2L; +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/constant/InspectionTaskConst.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/constant/InspectionTaskConst.java index 9b1f1a9a..6dec351e 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/constant/InspectionTaskConst.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/constant/InspectionTaskConst.java @@ -15,7 +15,11 @@ public interface InspectionTaskConst { /** * 未检验 */ - Integer CHECK_RESULT_NOT = -1; + Integer CHECK_RESULT_TODO = 0; + /** + * NA + */ + Integer CHECK_RESULT_NA = -1; /** * 合格 */ @@ -24,4 +28,6 @@ public interface InspectionTaskConst { * 不合格 */ Integer CHECK_RESULT_NO = 2; + + } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/InspectionTaskController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/InspectionTaskController.java index acb0bdad..9ef2609e 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/InspectionTaskController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/InspectionTaskController.java @@ -40,6 +40,7 @@ import java.util.Map; /** * [检验任务] 控制器 + * 工序级的检验任务 * mes v1: rb_pr_work_check * * @author Tom Shuo @@ -71,17 +72,15 @@ public class InspectionTaskController extends BladeController { /** * [检验任务] 分页 */ - @PostMapping("/listTask") + @PostMapping("/listSearch") @ApiOperationSupport(order = 2) @Operation(summary = "分页", description = "传入inspectionTask") - public R> listTask( - @Parameter(hidden = true) @RequestParam InspectionTaskSearch search, Query query) { - IPage pages = service.listTask(Condition.getPage(query), qw); - ???? - return R.data(InspectionTaskWrapper.build().pageVO(pages)); + public R> listSearch( + @Parameter(hidden = true) @RequestParam(required = false) InspectionTaskSearch search, Query query) { + IPage pagesVO = service.listSearch(Condition.getPage(query), search); + return R.data(pagesVO); } - /** * [检验任务] 自定义分页 */ @@ -136,7 +135,6 @@ public class InspectionTaskController extends BladeController { /** * 导出数据 */ - @IsAdmin @GetMapping("/export-inspectionTask") @ApiOperationSupport(order = 8) @Operation(summary = "导出数据", description = "传入inspectionTask") @@ -161,4 +159,24 @@ public class InspectionTaskController extends BladeController { public R save(@Valid @RequestBody InspectionTaskStartNew start) { return service2.startNew(start); } + + /** + * [检验任务] 同槽 检验结果应用 + */ + @GetMapping("/sameTankResultCopy") + @ApiOperationSupport(order = 101) + @Operation(summary = "同槽结果应用", description = "传入inspectionTask id") + public R sameTankResultCopy(@Parameter(hidden = true) @RequestParam Long id) { + return null; + } + + /** + * [检验任务] 同炉 检验结果应用 + */ + @GetMapping("/sameFurnaceResultCopy") + @ApiOperationSupport(order = 102) + @Operation(summary = "同槽结果应用", description = "传入inspectionTask id") + public R sameFurnaceResultCopy(@Parameter(hidden = true) @RequestParam Long id) { + return null; + } } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/InspectionTemplateController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/InspectionTemplateController.java index 2e5b06d8..92462e53 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/InspectionTemplateController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/InspectionTemplateController.java @@ -113,6 +113,7 @@ public class InspectionTemplateController extends BladeController { if (map.containsKey(BaseRequest.UPDATE_USER_REAL_NAME)) { search.setUpdateUserRealName((String) map.get(BaseRequest.UPDATE_USER_REAL_NAME)); } + // todo: // if (map.containsKey(BaseRequest.UP_TIME_START) && map.containsKey(BaseRequest.UP_TIME_END)) { Date upStart = RequestUtil.buildDateBeginOfDay(map, BaseRequest.UPDATE_TIME_START); Date upEnd = RequestUtil.buildDateEndOfDay(map, BaseRequest.UPDATE_TIME_END); diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/IotThicknessController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/IotThicknessController.java index 070b87ee..a8958773 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/IotThicknessController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/IotThicknessController.java @@ -40,7 +40,7 @@ import java.util.Map; import java.util.stream.Collectors; /** - * [IOT硬度] 控制器 + * [IOT厚度] 控制器 * * @author Tom Shuo * @since 2025-12-23 @@ -51,14 +51,14 @@ import java.util.stream.Collectors; @AllArgsConstructor @EqualsAndHashCode(callSuper = true) @Slf4j -@Tag(name = "[IOT硬度]", description = "[IOT硬度]接口") +@Tag(name = "[IOT厚度]", description = "[IOT厚度]接口") public class IotThicknessController extends BladeController { @Resource private IIotThicknessService service; /** - * [IOT硬度] 详情 + * [IOT厚度] 详情 */ @GetMapping("/detail") @ApiOperationSupport(order = 10) @@ -72,7 +72,7 @@ public class IotThicknessController extends BladeController { } /** - * [IOT硬度] list分页 + * [IOT厚度] list分页 */ @GetMapping("/list") @ApiOperationSupport(order = 20) @@ -91,7 +91,7 @@ public class IotThicknessController extends BladeController { /** - * [IOT硬度] page分页 + * [IOT厚度] page分页 */ @GetMapping("/page") @ApiOperationSupport(order = 21) @@ -104,7 +104,7 @@ public class IotThicknessController extends BladeController { } /** - * [IOT硬度] list下拉选择 + * [IOT厚度] list下拉选择 */ @GetMapping("/listForSelect") @ApiOperationSupport(order = 22) @@ -116,7 +116,7 @@ public class IotThicknessController extends BladeController { } /** - * [IOT硬度] 新增一条 + * [IOT厚度] 新增一条 */ @PostMapping("/save") @ApiOperationSupport(order = 30) @@ -127,7 +127,7 @@ public class IotThicknessController extends BladeController { } /** - * [IOT硬度] 新增批量 + * [IOT厚度] 新增批量 */ @PostMapping("/saveBat") @ApiOperationSupport(order = 31) @@ -140,7 +140,7 @@ public class IotThicknessController extends BladeController { } /** - * [IOT硬度] 修改一条 + * [IOT厚度] 修改一条 */ @PostMapping("/update") @ApiOperationSupport(order = 40) @@ -150,7 +150,7 @@ public class IotThicknessController extends BladeController { } /** - * [IOT硬度] 修改批量 + * [IOT厚度] 修改批量 */ @PostMapping("/updateBat") @ApiOperationSupport(order = 41) @@ -160,7 +160,7 @@ public class IotThicknessController extends BladeController { } /** - * [IOT硬度] 新增或修改一条 + * [IOT厚度] 新增或修改一条 */ @PostMapping("/submit") @ApiOperationSupport(order = 50) @@ -170,7 +170,7 @@ public class IotThicknessController extends BladeController { } /** - * [IOT硬度] 新增或修改批量 + * [IOT厚度] 新增或修改批量 */ @PostMapping("/submitBat") @ApiOperationSupport(order = 51) @@ -180,7 +180,7 @@ public class IotThicknessController extends BladeController { } /** - * [IOT硬度] 逻辑删除 + * [IOT厚度] 逻辑删除 */ @PostMapping("/remove") @ApiOperationSupport(order = 61) @@ -190,7 +190,7 @@ public class IotThicknessController extends BladeController { } /** - * [IOT硬度] 导出Excel + * [IOT厚度] 导出Excel */ @GetMapping("/exportExcel") @ApiOperationSupport(order = 70) @@ -203,12 +203,12 @@ public class IotThicknessController extends BladeController { //} //queryWrapper.lambda().eq(IotThicknessEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED); List list = service.exportIotThickness(qw); - ExcelUtil.export(response, "[IOT硬度]数据" + DateUtil.time(), - "[IOT硬度]数据表", list, IotThicknessExcel.class); + ExcelUtil.export(response, "[IOT厚度]数据" + DateUtil.time(), + "[IOT厚度]数据表", list, IotThicknessExcel.class); } /** - * [IOT硬度] 下载Excel模板 + * [IOT厚度] 下载Excel模板 */ @GetMapping("/downloadExcelTemplate") @ApiOperationSupport(order = 71) @@ -220,7 +220,7 @@ public class IotThicknessController extends BladeController { } /** - * [IOT硬度] 导入Excel + * [IOT厚度] 导入Excel */ @PostMapping("/importExcel") @ApiOperationSupport(order = 72) diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/ReviewDutyController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/ReviewDutyController.java index 4a01a98e..e30074c1 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/ReviewDutyController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/ReviewDutyController.java @@ -25,6 +25,7 @@ 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.basic.util.ExcelExtUtil; +import org.springblade.desk.quality.constant.QAModuleConst; import org.springblade.desk.quality.excel.ReviewDutyExcel; import org.springblade.desk.quality.pojo.entity.ReviewDuty; import org.springblade.desk.quality.pojo.vo.ReviewDutyVO; @@ -45,7 +46,7 @@ import java.util.stream.Collectors; * @since 2026-01-06 */ @RestController -@RequestMapping("/ReviewDuty") +@RequestMapping(QAModuleConst.CONTROLLER_PREFIX + "/ReviewDuty") @Data @AllArgsConstructor @EqualsAndHashCode(callSuper = true) diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/ReviewFaultController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/ReviewFaultController.java index 582675bf..d46835d2 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/ReviewFaultController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/ReviewFaultController.java @@ -25,6 +25,7 @@ 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.basic.util.ExcelExtUtil; +import org.springblade.desk.quality.constant.QAModuleConst; import org.springblade.desk.quality.excel.ReviewFaultExcel; import org.springblade.desk.quality.pojo.entity.ReviewFault; import org.springblade.desk.quality.pojo.vo.ReviewFaultVO; @@ -45,7 +46,7 @@ import java.util.stream.Collectors; * @since 2026-01-06 */ @RestController -@RequestMapping("/ReviewFault") +@RequestMapping(QAModuleConst.CONTROLLER_PREFIX + "/ReviewFault") @Data @AllArgsConstructor @EqualsAndHashCode(callSuper = true) diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/ReviewSheetController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/ReviewSheetController.java index c4af8c40..e40f4b73 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/ReviewSheetController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/ReviewSheetController.java @@ -25,6 +25,7 @@ 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.basic.util.ExcelExtUtil; +import org.springblade.desk.quality.constant.QAModuleConst; import org.springblade.desk.quality.excel.ReviewSheetExcel; import org.springblade.desk.quality.pojo.entity.ReviewSheet; import org.springblade.desk.quality.pojo.vo.ReviewSheetVO; @@ -45,7 +46,7 @@ import java.util.stream.Collectors; * @since 2026-01-06 */ @RestController -@RequestMapping("/ReviewSheet") +@RequestMapping(QAModuleConst.CONTROLLER_PREFIX + "/ReviewSheet") @Data @AllArgsConstructor @EqualsAndHashCode(callSuper = true) 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 index cd708be6..2552adf5 100644 --- 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 @@ -10,6 +10,7 @@ import org.springblade.core.boot.ctrl.BladeController; import org.springblade.core.tool.api.R; import org.springblade.desk.quality.constant.QAModuleConst; import org.springblade.desk.quality.service.CycleTestTaskService2; +import org.springblade.desk.quality.service.IIotHardnessService; import org.springblade.desk.quality.service.TestService; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; @@ -27,6 +28,8 @@ public class TestController extends BladeController { private TestService service; @Resource private CycleTestTaskService2 taskService2; + @Resource + private IIotHardnessService iIotHardnessService; // /** // * [] 详情 @@ -65,4 +68,11 @@ public class TestController extends BladeController { service.test1(); return R.success(); } + + @GetMapping("/test5") + @ApiOperationSupport(order = 5) + public R test5() { + iIotHardnessService.testDeleteDemo(); + return R.success(); + } } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/WorkPlanItemController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/WorkPlanItemController.java index 851db1d0..0cb9c2d9 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/WorkPlanItemController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/WorkPlanItemController.java @@ -25,6 +25,7 @@ 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.basic.util.ExcelExtUtil; +import org.springblade.desk.quality.constant.QAModuleConst; import org.springblade.desk.quality.excel.WorkPlanItemExcel; import org.springblade.desk.quality.pojo.entity.WorkPlanItem; import org.springblade.desk.quality.pojo.vo.WorkPlanItemVO; @@ -45,7 +46,7 @@ import java.util.stream.Collectors; * @since 2026-01-06 */ @RestController -@RequestMapping("/WorkPlanItem") +@RequestMapping(QAModuleConst.CONTROLLER_PREFIX + "/WorkPlanItem") @Data @AllArgsConstructor @EqualsAndHashCode(callSuper = true) diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/WorkPlanItemDetailController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/WorkPlanItemDetailController.java index c9123893..fc7038db 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/WorkPlanItemDetailController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/WorkPlanItemDetailController.java @@ -25,6 +25,7 @@ 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.basic.util.ExcelExtUtil; +import org.springblade.desk.quality.constant.QAModuleConst; import org.springblade.desk.quality.excel.WorkPlanItemDetailExcel; import org.springblade.desk.quality.pojo.entity.WorkPlanItemDetail; import org.springblade.desk.quality.pojo.vo.WorkPlanItemDetailVO; @@ -45,7 +46,7 @@ import java.util.stream.Collectors; * @since 2026-01-06 */ @RestController -@RequestMapping("/WorkPlanItemDetail") +@RequestMapping(QAModuleConst.CONTROLLER_PREFIX + "/WorkPlanItemDetail") @Data @AllArgsConstructor @EqualsAndHashCode(callSuper = true) diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/feign/IotHardnessClient.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/feign/IotHardnessClient.java index 6238f87f..52797d16 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/feign/IotHardnessClient.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/feign/IotHardnessClient.java @@ -2,7 +2,7 @@ package org.springblade.desk.quality.feign; import io.swagger.v3.oas.annotations.Hidden; import jakarta.annotation.Resource; -import org.springblade.desk.quality.service.IotHardnessService2; +import org.springblade.desk.quality.service.IIotHardnessService; import org.springframework.web.bind.annotation.RestController; @RestController @@ -10,7 +10,7 @@ import org.springframework.web.bind.annotation.RestController; public class IotHardnessClient implements IIotHardnessClient { @Resource - private IotHardnessService2 service; + private IIotHardnessService service; @Override public Integer deleteHistory() { diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/InspectionTaskMapper.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/InspectionTaskMapper.java index 7b12f30f..6f854bfb 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/InspectionTaskMapper.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/InspectionTaskMapper.java @@ -9,7 +9,10 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import org.apache.ibatis.annotations.Param; import org.springblade.desk.quality.excel.InspectionTaskExcel; import org.springblade.desk.quality.pojo.entity.InspectionTask; +import org.springblade.desk.quality.pojo.request.InspectionTaskSearch; +import org.springblade.desk.quality.pojo.request.InspectionTemplateSearch; import org.springblade.desk.quality.pojo.vo.InspectionTaskDetailVO; +import org.springblade.desk.quality.pojo.vo.InspectionTaskListVO; import java.util.List; @@ -21,20 +24,23 @@ import java.util.List; */ public interface InspectionTaskMapper extends BaseMapper { - /** - * 自定义分页 - * - * @param page 分页参数 - * @param inspectionTask 查询参数 - * @return List - */ - List selectInspectionTaskPage(IPage page, InspectionTaskDetailVO inspectionTask); + /** + * 自定义分页 + * + * @param page 分页参数 + * @param inspectionTask 查询参数 + * @return List + */ + List selectInspectionTaskPage(IPage page, InspectionTaskDetailVO inspectionTask); - /** - * 获取导出数据 - * - * @param queryWrapper 查询条件 - * @return List - */ - List exportInspectionTask(@Param("ew") Wrapper queryWrapper); + /** + * 获取导出数据 + * + * @param queryWrapper 查询条件 + * @return List + */ + List exportInspectionTask(@Param("ew") Wrapper queryWrapper); + + + List listSearch(IPage page, @Param("q") InspectionTaskSearch search); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/InspectionTaskMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/InspectionTaskMapper.xml index 54405acb..265df068 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/InspectionTaskMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/InspectionTaskMapper.xml @@ -8,6 +8,7 @@ type="org.springblade.desk.quality.pojo.entity.InspectionTask"> + @@ -18,6 +19,12 @@ + + + + + + @@ -37,6 +44,7 @@ + + + diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/IotHardnessMapper.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/IotHardnessMapper.java index b621d359..5e0770ea 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/IotHardnessMapper.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/IotHardnessMapper.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import org.apache.ibatis.annotations.Param; +import org.springblade.desk.basic.mapper.en.EnBaseMapper; import org.springblade.desk.quality.excel.IotHardnessExcel; import org.springblade.desk.quality.pojo.entity.IotHardness; import org.springblade.desk.quality.pojo.vo.IotHardnessVO; @@ -19,7 +20,7 @@ import java.util.List; * @author Tom Shuo * @since 2025-12-23 */ -public interface IotHardnessMapper extends BaseMapper { +public interface IotHardnessMapper extends EnBaseMapper { /** * 自定义分页 diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/IotThicknessMapper.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/IotThicknessMapper.java index 5f134a00..38fd5479 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/IotThicknessMapper.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/IotThicknessMapper.java @@ -14,7 +14,7 @@ import org.springblade.desk.quality.pojo.vo.IotThicknessVO; import java.util.List; /** - * [IOT硬度] Mapper 接口 + * [IOT厚度] Mapper 接口 * * @author Tom Shuo * @since 2025-12-23 diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/ReviewSheetMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/ReviewSheetMapper.xml index 5d1e55b9..4f308b51 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/ReviewSheetMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/ReviewSheetMapper.xml @@ -38,7 +38,7 @@ - + diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IInspectionTaskService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IInspectionTaskService.java index 130be04e..f911a723 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IInspectionTaskService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IInspectionTaskService.java @@ -6,8 +6,10 @@ package org.springblade.desk.quality.service; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import org.springblade.core.mp.base.BaseService; +import org.springblade.core.mp.support.Query; import org.springblade.desk.quality.excel.InspectionTaskExcel; import org.springblade.desk.quality.pojo.entity.InspectionTask; +import org.springblade.desk.quality.pojo.entity.InspectionTemplate; import org.springblade.desk.quality.pojo.request.InspectionTaskSearch; import org.springblade.desk.quality.pojo.vo.InspectionTaskDetailVO; import org.springblade.desk.quality.pojo.vo.InspectionTaskListVO; @@ -28,7 +30,8 @@ public interface IInspectionTaskService extends BaseService { * @param inspectionTask 查询参数 * @return IPage */ - IPage selectInspectionTaskPage(IPage page, InspectionTaskDetailVO inspectionTask); + IPage selectInspectionTaskPage(IPage page, + InspectionTaskDetailVO inspectionTask); /** * 导出数据 @@ -45,5 +48,7 @@ public interface IInspectionTaskService extends BaseService { */ void setVOValue(InspectionTaskDetailVO vo); - List listTask(InspectionTaskSearch search); + IPage listSearch(IPage page, InspectionTaskSearch search); + + Integer refreshStatusAndQty(Long id); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IIotHardnessService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IIotHardnessService.java index 0067c78c..6bbb0310 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IIotHardnessService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IIotHardnessService.java @@ -19,26 +19,34 @@ import java.util.List; * @since 2025-12-23 */ public interface IIotHardnessService extends BaseService { - /** - * 自定义分页 - * - * @param page 分页参数 - * @param iotHardness 查询参数 - * @return IPage - */ - IPage selectIotHardnessPage(IPage page, IotHardnessVO iotHardness); - - /** - * 导出数据 - * - * @param queryWrapper 查询条件 - * @return List - */ - List exportIotHardness(Wrapper queryWrapper); + /** + * 自定义分页 + * + * @param page 分页参数 + * @param iotHardness 查询参数 + * @return IPage + */ + IPage selectIotHardnessPage(IPage page, IotHardnessVO iotHardness); + + /** + * 导出数据 + * + * @param queryWrapper 查询条件 + * @return List + */ + List exportIotHardness(Wrapper queryWrapper); /** * VO + * * @param vo */ - void setVOValue(IotHardnessVO vo); + void setVOValue(IotHardnessVO vo); + + + Integer deleteHistory(); + + Integer deleteHistoryOneBatch(List ids); + + void testDeleteDemo(); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IIotHardnessSubService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IIotHardnessSubService.java new file mode 100644 index 00000000..61ccde40 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IIotHardnessSubService.java @@ -0,0 +1,24 @@ +/** + * Author: Tom Shuo + */ +package org.springblade.desk.quality.service; + +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.IotHardnessExcel; +import org.springblade.desk.quality.pojo.entity.IotHardness; +import org.springblade.desk.quality.pojo.vo.IotHardnessVO; + +import java.util.List; + +/** + * [IOT硬度] 服务类 + * + * @author Tom Shuo + * @since 2025-12-23 + */ +public interface IIotHardnessSubService extends BaseService { + + Integer deleteHistoryOneBatch(List ids); +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IIotThicknessService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IIotThicknessService.java index 9204a51c..7d7afdd0 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IIotThicknessService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IIotThicknessService.java @@ -13,7 +13,7 @@ import org.springblade.desk.quality.pojo.vo.IotThicknessVO; import java.util.List; /** - * [IOT硬度] 服务类 + * [IOT厚度] 服务类 * * @author Tom Shuo * @since 2025-12-23 diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IWorkPlanItemService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IWorkPlanItemService.java index a4c6e35b..f42b33ce 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IWorkPlanItemService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IWorkPlanItemService.java @@ -41,4 +41,8 @@ public interface IWorkPlanItemService extends BaseService { * @param vo */ void setVOValue(WorkPlanItemVO vo); + + List listByTaskId(Long taskId); + + List listByWorkPlanId(Long workPlanId); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IotHardnessService2.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IotHardnessService2.java deleted file mode 100644 index 89d24ec2..00000000 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IotHardnessService2.java +++ /dev/null @@ -1,62 +0,0 @@ -package org.springblade.desk.quality.service; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import jakarta.annotation.Resource; -import lombok.Data; -import lombok.extern.slf4j.Slf4j; -import org.springblade.desk.basic.constant.BaseCol; -import org.springblade.desk.quality.mapper.IotHardnessMapper; -import org.springblade.desk.quality.pojo.entity.IotHardness; -import org.springframework.stereotype.Service; - -import java.time.LocalDateTime; -import java.util.List; - -@Service -@Data -@Slf4j -public class IotHardnessService2 { - - public static final Integer BATCH_SIZE = 1000; - - @Resource - private IotHardnessMapper genMapper; - @Resource - private IotHardnessSubService2 deleteService; - - /** - * 物理删除历史数据 - * - * @return - */ - public Integer deleteHistory() { - LocalDateTime day7ago = LocalDateTime.now().minusDays(7); - QueryWrapper qw = new QueryWrapper<>(); - qw.lt(BaseCol.CREATE_TIME, day7ago); - qw.select(BaseCol.ID); - List list = genMapper.selectList(qw); - if (list.isEmpty()) { - log.info("没有超过七天的删除数据。"); - return 0; - } - int totalDeleted = 0; - int currentPage = 1; - while (true) { - IPage page = new Page<>(currentPage, BATCH_SIZE); - IPage resultPage = genMapper.selectPage(page, qw); - List currentBatch = resultPage.getRecords(); - if (currentBatch.isEmpty()) { - break; - } - List ids = list.stream() - .map(IotHardness::getId) - .toList(); - int deletedCount = deleteService.deleteHistoryOneBatch(ids); - totalDeleted = totalDeleted + deletedCount; - currentPage = currentPage + 1; - } - return totalDeleted; - } -} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IotHardnessSubService2.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IotHardnessSubService2.java deleted file mode 100644 index 53a1d041..00000000 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IotHardnessSubService2.java +++ /dev/null @@ -1,30 +0,0 @@ -package org.springblade.desk.quality.service; - -import jakarta.annotation.Resource; -import lombok.Data; -import lombok.extern.slf4j.Slf4j; -import org.springblade.desk.quality.mapper.IotHardnessMapper; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.List; - -@Service -@Data -@Slf4j -public class IotHardnessSubService2 { - - @Resource - private IotHardnessMapper genMapper; - - /** - * 分批独立事务。 - * - * @param ids - * @return - */ - @Transactional(rollbackFor = Exception.class) - public Integer deleteHistoryOneBatch(List ids) { - return genMapper.deleteByIds(ids); - } -} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/InspectionTaskServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/InspectionTaskServiceImpl.java index 845ce030..d82ec8df 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/InspectionTaskServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/InspectionTaskServiceImpl.java @@ -11,18 +11,25 @@ import lombok.Data; import lombok.EqualsAndHashCode; import lombok.extern.slf4j.Slf4j; import org.springblade.core.mp.base.BaseServiceImpl; +import org.springblade.desk.basic.util.StatusCountMap; +import org.springblade.desk.quality.constant.InspectionTaskConst; import org.springblade.desk.quality.excel.InspectionTaskExcel; import org.springblade.desk.quality.mapper.InspectionTaskMapper; +import org.springblade.desk.quality.pojo.entity.InspectionItem; import org.springblade.desk.quality.pojo.entity.InspectionTask; +import org.springblade.desk.quality.pojo.entity.WorkPlanItem; import org.springblade.desk.quality.pojo.request.InspectionTaskSearch; import org.springblade.desk.quality.pojo.vo.InspectionTaskDetailVO; import org.springblade.desk.quality.pojo.vo.InspectionTaskListVO; import org.springblade.desk.quality.service.IInspectionTaskService; +import org.springblade.desk.quality.service.IWorkPlanItemService; import org.springblade.system.feign.IDictClient; import org.springblade.system.feign.IUserClient; import org.springframework.stereotype.Service; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** * [检验任务] 服务实现类 @@ -35,34 +42,69 @@ import java.util.List; @AllArgsConstructor @EqualsAndHashCode(callSuper = true) @Slf4j -public class InspectionTaskServiceImpl extends BaseServiceImpl implements IInspectionTaskService { +public class InspectionTaskServiceImpl extends BaseServiceImpl + implements IInspectionTaskService { @Resource private IUserClient userClient; @Resource private IDictClient dictClient; + @Resource + private IWorkPlanItemService workPlanItemService; - @Override - public IPage selectInspectionTaskPage(IPage page, InspectionTaskDetailVO inspectionTask) { - return page.setRecords(baseMapper.selectInspectionTaskPage(page, inspectionTask)); - } + @Override + public IPage selectInspectionTaskPage(IPage page, InspectionTaskDetailVO inspectionTask) { + return page.setRecords(baseMapper.selectInspectionTaskPage(page, inspectionTask)); + } - @Override - public List exportInspectionTask(Wrapper queryWrapper) { - List inspectionTaskList = baseMapper.exportInspectionTask(queryWrapper); - //inspectionTaskList.forEach(inspectionTask -> { - // inspectionTask.setTypeName(DictCache.getValue(DictEnum.YES_NO, InspectionTask.getType())); - //}); - return inspectionTaskList; - } + @Override + public List exportInspectionTask(Wrapper queryWrapper) { + List inspectionTaskList = baseMapper.exportInspectionTask(queryWrapper); + //inspectionTaskList.forEach(inspectionTask -> { + // inspectionTask.setTypeName(DictCache.getValue(DictEnum.YES_NO, InspectionTask.getType())); + //}); + return inspectionTaskList; + } - @Override + @Override public void setVOValue(InspectionTaskDetailVO vo) { } @Override - public List listTask(InspectionTaskSearch search) { - return List.of(); + public IPage listSearch(IPage page, InspectionTaskSearch search) { + return page.setRecords(baseMapper.listSearch(page, search)); + } + + @Override + public Integer refreshStatusAndQty(Long id) { + InspectionTask task = getById(id); + if (null == task) { + throw new IllegalArgumentException("error id!"); + } + List itemList = workPlanItemService.listByTaskId(id); + StatusCountMap map = new StatusCountMap(); + int taskStatus = InspectionTaskConst.CHECK_RESULT_TODO; + for (WorkPlanItem item : itemList) { + map.add1(item.getStatus()); + } + int countToDo = map.getMap().get(InspectionTaskConst.CHECK_RESULT_TODO); + int countNA = map.getMap().get(InspectionTaskConst.CHECK_RESULT_NA); + int countOK = map.getMap().get(InspectionTaskConst.CHECK_RESULT_OK); + int countNO = map.getMap().get(InspectionTaskConst.CHECK_RESULT_NO); + // taskStatus 处理 + if (countToDo == 0) { // 未检验为0 + if (countOK == itemList.size()) { // 全部item 合格 + taskStatus = InspectionTaskConst.CHECK_RESULT_OK; + } else if (countNA == itemList.size()) { // 全部item NA + taskStatus = InspectionTaskConst.CHECK_RESULT_NA; + } else { + taskStatus = InspectionTaskConst.CHECK_RESULT_NO; + } + } + task.setStatus(taskStatus); + // 保存最新状态 + save(task); + return taskStatus; } } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/IotHardnessServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/IotHardnessServiceImpl.java index d1f07e50..439f91ee 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/IotHardnessServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/IotHardnessServiceImpl.java @@ -4,13 +4,16 @@ package org.springblade.desk.quality.service.impl; import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import jakarta.annotation.Resource; import lombok.AllArgsConstructor; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.extern.slf4j.Slf4j; import org.springblade.core.mp.base.BaseServiceImpl; +import org.springblade.desk.basic.constant.BaseCol; import org.springblade.desk.quality.excel.IotHardnessExcel; import org.springblade.desk.quality.mapper.IotHardnessMapper; import org.springblade.desk.quality.pojo.entity.IotHardness; @@ -18,8 +21,11 @@ import org.springblade.desk.quality.pojo.vo.IotHardnessVO; import org.springblade.desk.quality.service.IIotHardnessService; import org.springblade.system.feign.IDictClient; import org.springblade.system.feign.IUserClient; +import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import java.time.LocalDateTime; import java.util.List; /** @@ -33,29 +39,91 @@ import java.util.List; @AllArgsConstructor @EqualsAndHashCode(callSuper = true) @Slf4j -public class IotHardnessServiceImpl extends BaseServiceImpl implements IIotHardnessService { +public class IotHardnessServiceImpl extends BaseServiceImpl + implements IIotHardnessService { + + @Resource + private IotHardnessMapper mapper; + +// @Lazy +// @Resource +// private IIotHardnessService self; @Resource private IUserClient userClient; @Resource private IDictClient dictClient; - @Override - public IPage selectIotHardnessPage(IPage page, IotHardnessVO iotHardness) { - return page.setRecords(baseMapper.selectIotHardnessPage(page, iotHardness)); - } - - @Override - public List exportIotHardness(Wrapper queryWrapper) { - List iotHardnessList = baseMapper.exportIotHardness(queryWrapper); - //iotHardnessList.forEach(iotHardness -> { - // iotHardness.setTypeName(DictCache.getValue(DictEnum.YES_NO, IotHardness.getType())); - //}); - return iotHardnessList; - } - - @Override + + @Override + public IPage selectIotHardnessPage(IPage page, IotHardnessVO iotHardness) { + return page.setRecords(mapper.selectIotHardnessPage(page, iotHardness)); + } + + @Override + public List exportIotHardness(Wrapper queryWrapper) { + List iotHardnessList = mapper.exportIotHardness(queryWrapper); + //iotHardnessList.forEach(iotHardness -> { + // iotHardness.setTypeName(DictCache.getValue(DictEnum.YES_NO, IotHardness.getType())); + //}); + return iotHardnessList; + } + + @Override public void setVOValue(IotHardnessVO vo) { } + + public static final Integer BATCH_SIZE = 1000; + + /** + * 物理删除历史数据 + * + * @return + */ + @Override + public Integer deleteHistory() { + LocalDateTime day7ago = LocalDateTime.now().minusDays(7); + QueryWrapper qw = new QueryWrapper<>(); + qw.lt(BaseCol.CREATE_TIME, day7ago); + qw.select(BaseCol.ID); + List list = mapper.selectList(qw); + if (list.isEmpty()) { + log.info("没有超过七天的删除数据。"); + return 0; + } + int totalDeleted = 0; + int currentPage = 1; + while (true) { + IPage page = new Page<>(currentPage, BATCH_SIZE); + IPage resultPage = mapper.selectPage(page, qw); + List currentBatch = resultPage.getRecords(); + if (currentBatch.isEmpty()) { + break; + } + List ids = list.stream() + .map(IotHardness::getId) + .toList(); +// int deletedCount = self.deleteHistoryOneBatch(ids); +// totalDeleted = totalDeleted + deletedCount; +// currentPage = currentPage + 1; + } + return totalDeleted; + } + + /** + * 分批独立事务。 + * + * @param ids + * @return + */ + @Transactional(rollbackFor = Exception.class) + public Integer deleteHistoryOneBatch(List ids) { + return mapper.deleteByIds(ids); + } + + @Override + public void testDeleteDemo() { + mapper.deleteAbsoluteById(1L); + } } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/IotHardnessSubServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/IotHardnessSubServiceImpl.java new file mode 100644 index 00000000..e13ab224 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/IotHardnessSubServiceImpl.java @@ -0,0 +1,17 @@ +package org.springblade.desk.quality.service.impl; + +import org.springblade.core.mp.base.BaseServiceImpl; +import org.springblade.desk.quality.mapper.IotHardnessMapper; +import org.springblade.desk.quality.pojo.entity.IotHardness; +import org.springblade.desk.quality.service.IIotHardnessSubService; + +import java.util.List; + +public class IotHardnessSubServiceImpl extends BaseServiceImpl + implements IIotHardnessSubService { + + @Override + public Integer deleteHistoryOneBatch(List ids) { + return 0; + } +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/IotThicknessServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/IotThicknessServiceImpl.java index 95d1a32a..dba54c09 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/IotThicknessServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/IotThicknessServiceImpl.java @@ -23,7 +23,7 @@ import org.springframework.stereotype.Service; import java.util.List; /** - * [IOT硬度] 服务实现类 + * [IOT厚度] 服务实现类 * * @author Tom Shuo * @since 2025-12-23 diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/WorkPlanItemServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/WorkPlanItemServiceImpl.java index 3577e21a..12cd9c09 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/WorkPlanItemServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/WorkPlanItemServiceImpl.java @@ -4,13 +4,16 @@ package org.springblade.desk.quality.service.impl; import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import jakarta.annotation.Resource; import lombok.AllArgsConstructor; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.extern.slf4j.Slf4j; import org.springblade.core.mp.base.BaseServiceImpl; +import org.springblade.core.mp.support.Condition; import org.springblade.desk.quality.excel.WorkPlanItemExcel; import org.springblade.desk.quality.mapper.WorkPlanItemMapper; import org.springblade.desk.quality.pojo.entity.WorkPlanItem; @@ -33,29 +36,44 @@ import java.util.List; @AllArgsConstructor @EqualsAndHashCode(callSuper = true) @Slf4j -public class WorkPlanItemServiceImpl extends BaseServiceImpl implements IWorkPlanItemService { +public class WorkPlanItemServiceImpl extends BaseServiceImpl + implements IWorkPlanItemService { @Resource private IUserClient userClient; @Resource private IDictClient dictClient; - @Override - public IPage selectWorkPlanItemPage(IPage page, WorkPlanItemVO workPlanItem) { - return page.setRecords(baseMapper.selectWorkPlanItemPage(page, workPlanItem)); - } - - @Override - public List exportWorkPlanItem(Wrapper queryWrapper) { - List workPlanItemList = baseMapper.exportWorkPlanItem(queryWrapper); - //workPlanItemList.forEach(workPlanItem -> { - // workPlanItem.setTypeName(DictCache.getValue(DictEnum.YES_NO, WorkPlanItem.getType())); - //}); - return workPlanItemList; - } - - @Override + @Override + public IPage selectWorkPlanItemPage(IPage page, WorkPlanItemVO workPlanItem) { + return page.setRecords(baseMapper.selectWorkPlanItemPage(page, workPlanItem)); + } + + @Override + public List exportWorkPlanItem(Wrapper queryWrapper) { + List workPlanItemList = baseMapper.exportWorkPlanItem(queryWrapper); + //workPlanItemList.forEach(workPlanItem -> { + // workPlanItem.setTypeName(DictCache.getValue(DictEnum.YES_NO, WorkPlanItem.getType())); + //}); + return workPlanItemList; + } + + @Override public void setVOValue(WorkPlanItemVO vo) { } + + @Override + public List listByTaskId(Long taskId) { + LambdaQueryWrapper qw = Wrappers.lambdaQuery(); + qw.eq(WorkPlanItem::getTaskId, taskId); + return list(qw); + } + + @Override + public List listByWorkPlanId(Long wpId) { + LambdaQueryWrapper qw = Wrappers.lambdaQuery(); + qw.eq(WorkPlanItem::getWpId, wpId); + return list(qw); + } } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/wrapper/IotThicknessWrapper.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/wrapper/IotThicknessWrapper.java index bfbca869..4e28d5ea 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/wrapper/IotThicknessWrapper.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/wrapper/IotThicknessWrapper.java @@ -11,7 +11,7 @@ import org.springblade.desk.quality.pojo.vo.IotThicknessVO; import java.util.Objects; /** - * [IOT硬度] 包装类,返回视图层所需的字段 + * [IOT厚度] 包装类,返回视图层所需的字段 * * @author Tom Shuo * @since 2025-12-23