From db88b12159d99e281d0376a0874cb927ad1d3378 Mon Sep 17 00:00:00 2001 From: Tom Li Date: Tue, 27 Jan 2026 09:30:31 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A1=A5=E5=85=85=E6=8F=90=E4=BA=A4=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...va => LquidTankTaskCheckOutProcessor.java} | 10 ++-- .../LquidTankTaskCheckRemindProcessor.java | 26 ++++++++++ ...ava => LquidTankTaskGenAutoProcessor.java} | 10 ++-- .../desk/basic/constant/WorkTankConst.java | 13 +++++ .../basic/pojo/entity/CoatingThickness.java | 2 +- .../desk/basic/pojo/entity/MaterialQuota.java | 2 +- .../desk/basic/pojo/vo/WorkTankVO.java | 4 ++ .../desk/quality/pojo/entity/LiquidTank.java | 2 +- .../basic/controller/FormulaController.java | 3 ++ .../controller/MaterialQuotaController.java | 1 + .../controller/PlatingSmallController.java | 2 +- .../basic/controller/ProdMarkController.java | 3 ++ .../LiquidTankReportController.java | 10 ++++ .../controller/LiquidTankWaveController.java | 11 +++++ .../impl/LiquidTankTaskServiceImpl.java | 49 ++++++++++++++----- 15 files changed, 121 insertions(+), 27 deletions(-) rename blade-ops/blade-job/src/main/java/org/springblade/job/processor/quality/{LquidTankTaskTimeoutProcessor.java => LquidTankTaskCheckOutProcessor.java} (70%) create mode 100644 blade-ops/blade-job/src/main/java/org/springblade/job/processor/quality/LquidTankTaskCheckRemindProcessor.java rename blade-ops/blade-job/src/main/java/org/springblade/job/processor/quality/{LquidTankTaskGenerateProcessor.java => LquidTankTaskGenAutoProcessor.java} (69%) create mode 100644 blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/basic/constant/WorkTankConst.java diff --git a/blade-ops/blade-job/src/main/java/org/springblade/job/processor/quality/LquidTankTaskTimeoutProcessor.java b/blade-ops/blade-job/src/main/java/org/springblade/job/processor/quality/LquidTankTaskCheckOutProcessor.java similarity index 70% rename from blade-ops/blade-job/src/main/java/org/springblade/job/processor/quality/LquidTankTaskTimeoutProcessor.java rename to blade-ops/blade-job/src/main/java/org/springblade/job/processor/quality/LquidTankTaskCheckOutProcessor.java index 650393aa..906f1c83 100644 --- a/blade-ops/blade-job/src/main/java/org/springblade/job/processor/quality/LquidTankTaskTimeoutProcessor.java +++ b/blade-ops/blade-job/src/main/java/org/springblade/job/processor/quality/LquidTankTaskCheckOutProcessor.java @@ -10,20 +10,18 @@ import tech.powerjob.worker.core.processor.TaskContext; import tech.powerjob.worker.core.processor.sdk.BasicProcessor; import tech.powerjob.worker.log.OmsLogger; -import java.util.List; - @Component @Data @Slf4j -public class LquidTankTaskTimeoutProcessor implements BasicProcessor { +public class LquidTankTaskCheckOutProcessor implements BasicProcessor { @Resource - private ILquidTankTaskClient lquidTankTaskClient; + private ILquidTankTaskClient client; @Override public ProcessResult process(TaskContext context) throws Exception { - OmsLogger log = context.getOmsLogger(); - // List list = lquidTankTaskClient.timeout(); + // OmsLogger log = context.getOmsLogger(); + client.checkOut(); return new ProcessResult(true); } } diff --git a/blade-ops/blade-job/src/main/java/org/springblade/job/processor/quality/LquidTankTaskCheckRemindProcessor.java b/blade-ops/blade-job/src/main/java/org/springblade/job/processor/quality/LquidTankTaskCheckRemindProcessor.java new file mode 100644 index 00000000..7dac449c --- /dev/null +++ b/blade-ops/blade-job/src/main/java/org/springblade/job/processor/quality/LquidTankTaskCheckRemindProcessor.java @@ -0,0 +1,26 @@ +package org.springblade.job.processor.quality; + +import jakarta.annotation.Resource; +import lombok.Data; +import lombok.extern.slf4j.Slf4j; +import org.springblade.desk.quality.feign.ILquidTankTaskClient; +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; + +@Component +@Data +@Slf4j +public class LquidTankTaskCheckRemindProcessor implements BasicProcessor { + + @Resource + private ILquidTankTaskClient client; + + @Override + public ProcessResult process(TaskContext context) throws Exception { + // OmsLogger log = context.getOmsLogger(); + client.checkRemind(); + return new ProcessResult(true); + } +} diff --git a/blade-ops/blade-job/src/main/java/org/springblade/job/processor/quality/LquidTankTaskGenerateProcessor.java b/blade-ops/blade-job/src/main/java/org/springblade/job/processor/quality/LquidTankTaskGenAutoProcessor.java similarity index 69% rename from blade-ops/blade-job/src/main/java/org/springblade/job/processor/quality/LquidTankTaskGenerateProcessor.java rename to blade-ops/blade-job/src/main/java/org/springblade/job/processor/quality/LquidTankTaskGenAutoProcessor.java index 994b4ea0..29d39830 100644 --- a/blade-ops/blade-job/src/main/java/org/springblade/job/processor/quality/LquidTankTaskGenerateProcessor.java +++ b/blade-ops/blade-job/src/main/java/org/springblade/job/processor/quality/LquidTankTaskGenAutoProcessor.java @@ -9,19 +9,17 @@ import tech.powerjob.worker.core.processor.TaskContext; import tech.powerjob.worker.core.processor.sdk.BasicProcessor; import tech.powerjob.worker.log.OmsLogger; -import java.util.List; - @Component @Slf4j -public class LquidTankTaskGenerateProcessor implements BasicProcessor { +public class LquidTankTaskGenAutoProcessor implements BasicProcessor { @Resource - private ILquidTankTaskClient lquidTankTaskClient; + private ILquidTankTaskClient client; @Override public ProcessResult process(TaskContext context) throws Exception { - OmsLogger log = context.getOmsLogger(); - // List list = lquidTankTaskClient.generate(); + // OmsLogger log = context.getOmsLogger(); + client.generateAuto(); return new ProcessResult(true); } } diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/basic/constant/WorkTankConst.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/basic/constant/WorkTankConst.java new file mode 100644 index 00000000..e2070d36 --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/basic/constant/WorkTankConst.java @@ -0,0 +1,13 @@ +package org.springblade.desk.basic.constant; + +public interface WorkTankConst { + + /** + * 正常 + */ + Integer S_OK = 1; + /** + * 停用 + */ + Integer S_STOP = 2; +} diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/basic/pojo/entity/CoatingThickness.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/basic/pojo/entity/CoatingThickness.java index 22cb92fb..3c96971a 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/basic/pojo/entity/CoatingThickness.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/basic/pojo/entity/CoatingThickness.java @@ -74,7 +74,7 @@ public class CoatingThickness extends BaseEntity { * 是否以21E8-210开头 */ @Schema(description = "是否以21E8-210开头") - private Short startF21e8; + private Integer startF21e8; /** * 厚度 */ diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/basic/pojo/entity/MaterialQuota.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/basic/pojo/entity/MaterialQuota.java index af3a8ed8..884d1395 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/basic/pojo/entity/MaterialQuota.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/basic/pojo/entity/MaterialQuota.java @@ -67,7 +67,7 @@ public class MaterialQuota extends BaseEntity { * 类型-[1]:金押定额;[2]:银板定额; */ @Schema(description = "类型-[1]:金押定额;[2]:银板定额;") - private Long quotaType; + private Integer quotaType; /** * 名称 */ diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/basic/pojo/vo/WorkTankVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/basic/pojo/vo/WorkTankVO.java index 1c6684df..c0afe374 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/basic/pojo/vo/WorkTankVO.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/basic/pojo/vo/WorkTankVO.java @@ -3,6 +3,7 @@ */ package org.springblade.desk.basic.pojo.vo; +import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; import org.springblade.desk.basic.pojo.entity.WorkTank; @@ -21,4 +22,7 @@ public class WorkTankVO extends WorkTank { @Serial private static final long serialVersionUID = 1L; + @Schema(description = "BaseEntityVO") + private BaseEntityVO base; + } diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/LiquidTank.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/LiquidTank.java index 6c1d069d..596b3e7b 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/LiquidTank.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/LiquidTank.java @@ -457,7 +457,7 @@ public class LiquidTank extends BaseEntity { * 生成周期类型:生成周期类型:[1]:每周;[2]:每月;[3]:每年;[4]:自定义CRON */ @Schema(description = "生成周期类型:生成周期类型:[1]:每周;[2]:每月;[3]:每年;[4]:自定义CRON") - private Long jobType; + private Integer jobType; /** * 定时WEEK值 */ diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/FormulaController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/FormulaController.java index 1f718d0e..971d9f5e 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/FormulaController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/FormulaController.java @@ -28,6 +28,7 @@ import org.springblade.core.tool.utils.Func; import org.springblade.desk.basic.constant.BAModuleConst; import org.springblade.desk.basic.excel.FormulaExcel; import org.springblade.desk.basic.pojo.entity.Formula; +import org.springblade.desk.basic.pojo.entity.MaterialQuota; import org.springblade.desk.basic.pojo.vo.FormulaVO; import org.springblade.desk.basic.service.IFormulaService; import org.springblade.desk.basic.util.ExcelExtUtil; @@ -78,6 +79,8 @@ public class FormulaController extends BladeController { public R> list(@Parameter(hidden = true) @RequestParam Map formula, Query query) { QueryWrapper qw = Condition.getQueryWrapper(formula, Formula.class); + qw.eq(Formula.COL_FORMULA_TYPE, Func.toInt(formula.get("formulaType"))); + qw.like(formula.containsKey("name"), Formula.COL_NAME, Func.toStr(formula.get("name"))); IPage pages = service.page(Condition.getPage(query), qw); IPage pagesVO = FormulaWrapper.build().pageVO(pages); return R.data(pagesVO); diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/MaterialQuotaController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/MaterialQuotaController.java index ced140a1..d6e0e947 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/MaterialQuotaController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/MaterialQuotaController.java @@ -83,6 +83,7 @@ public class MaterialQuotaController extends BladeController { public R> list(@Parameter(hidden = true) @RequestParam Map materialQuota, Query query) { QueryWrapper qw = Condition.getQueryWrapper(materialQuota, MaterialQuota.class); + qw.eq(materialQuota.containsKey("quotaType"), MaterialQuota.COL_QUOTA_TYPE, Func.toInt(materialQuota.get("quotaType"))); IPage pages = service.page(Condition.getPage(query), qw); IPage pagesVO = MaterialQuotaWrapper.build().pageVO(pages); pagesVO.getRecords() diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/PlatingSmallController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/PlatingSmallController.java index c236470a..69766945 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/PlatingSmallController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/PlatingSmallController.java @@ -82,7 +82,7 @@ public class PlatingSmallController extends BladeController { Query query) { QueryWrapper qw = Condition.getQueryWrapper(platingSmall, PlatingSmall.class); // 名称 - qw.like(PlatingSmall.COL_BPS_NAME, Func.toStr(platingSmall.get("bpsName"))); + qw.like(platingSmall.containsKey("bpsName"), PlatingSmall.COL_BPS_NAME, Func.toStr(platingSmall.get("bpsName"))); IPage pages = service.page(Condition.getPage(query), qw); IPage pagesVO = PlatingSmallWrapper.build().pageVO(pages); pagesVO.getRecords() diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/ProdMarkController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/ProdMarkController.java index e2af9250..60c532bc 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/ProdMarkController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/ProdMarkController.java @@ -26,6 +26,7 @@ import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.tool.utils.Func; import org.springblade.desk.basic.constant.BAModuleConst; import org.springblade.desk.basic.excel.ProdMarkExcel; +import org.springblade.desk.basic.pojo.entity.PlatingSmall; import org.springblade.desk.basic.pojo.entity.ProdMark; import org.springblade.desk.basic.pojo.vo.ProdMarkVO; import org.springblade.desk.basic.service.IProdMarkService; @@ -81,6 +82,8 @@ public class ProdMarkController extends BladeController { public R> list(@Parameter(hidden = true) @RequestParam Map prodMark, Query query) { QueryWrapper qw = Condition.getQueryWrapper(prodMark, ProdMark.class); + // 编码 + qw.like(prodMark.containsKey("code"), ProdMark.COL_CODE, Func.toStr(prodMark.get("code"))); IPage pages = service.page(Condition.getPage(query), qw); IPage pagesVO = ProdMarkWrapper.build().pageVO(pages); pagesVO.getRecords() diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/LiquidTankReportController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/LiquidTankReportController.java index 92290c42..fbb61545 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/LiquidTankReportController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/LiquidTankReportController.java @@ -24,7 +24,10 @@ import org.springblade.core.secure.BladeUser; 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.constant.BaseCol; +import org.springblade.desk.basic.constant.BaseRequest; import org.springblade.desk.basic.util.ExcelExtUtil; +import org.springblade.desk.basic.util.RequestUtil; import org.springblade.desk.quality.constant.QAModuleConst; import org.springblade.desk.quality.excel.LiquidTankReportExcel; import org.springblade.desk.quality.pojo.entity.LiquidTankReport; @@ -38,6 +41,7 @@ import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; +import java.util.Date; import java.util.List; import java.util.Map; @@ -85,6 +89,12 @@ public class LiquidTankReportController extends BladeController { public R> list(@Parameter(hidden = true) @RequestParam Map liquidTankReport, Query query) { QueryWrapper qw = Condition.getQueryWrapper(liquidTankReport, LiquidTankReport.class); + qw.eq(liquidTankReport.containsKey("name"), LiquidTankReport.COL_NAME, liquidTankReport.get("name")); + if (liquidTankReport.containsKey(BaseRequest.CREATE_TIME_START) && liquidTankReport.containsKey(BaseRequest.CREATE_TIME_END)) { + Date crStart = RequestUtil.buildDateBeginOfDay(liquidTankReport, BaseRequest.CREATE_TIME_START); + Date crEnd = RequestUtil.buildDateEndOfDay(liquidTankReport, BaseRequest.CREATE_TIME_END); + qw.between(BaseCol.CREATE_TIME, crStart, crEnd); + } IPage pages = service.page(Condition.getPage(query), qw); IPage pagesVO = LiquidTankReportWrapper.build().pageVO(pages); return R.data(pagesVO); diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/LiquidTankWaveController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/LiquidTankWaveController.java index e490d692..75bb58bb 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/LiquidTankWaveController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/LiquidTankWaveController.java @@ -24,9 +24,13 @@ import org.springblade.core.secure.BladeUser; 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.constant.BaseCol; +import org.springblade.desk.basic.constant.BaseRequest; import org.springblade.desk.basic.util.ExcelExtUtil; +import org.springblade.desk.basic.util.RequestUtil; import org.springblade.desk.quality.constant.QAModuleConst; import org.springblade.desk.quality.excel.LiquidTankWaveExcel; +import org.springblade.desk.quality.pojo.entity.LiquidTankReport; import org.springblade.desk.quality.pojo.entity.LiquidTankWave; import org.springblade.desk.quality.pojo.vo.LiquidTankWaveVO; import org.springblade.desk.quality.service.ILiquidTankWaveService; @@ -35,6 +39,7 @@ import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; +import java.util.Date; import java.util.List; import java.util.Map; @@ -78,6 +83,12 @@ public class LiquidTankWaveController extends BladeController { public R> list(@Parameter(hidden = true) @RequestParam Map liquidTankWave, Query query) { QueryWrapper qw = Condition.getQueryWrapper(liquidTankWave, LiquidTankWave.class); + qw.eq(liquidTankWave.containsKey("name"), LiquidTankReport.COL_NAME, liquidTankWave.get("name")); + if (liquidTankWave.containsKey(BaseRequest.CREATE_TIME_START) && liquidTankWave.containsKey(BaseRequest.CREATE_TIME_END)) { + Date crStart = RequestUtil.buildDateBeginOfDay(liquidTankWave, BaseRequest.CREATE_TIME_START); + Date crEnd = RequestUtil.buildDateEndOfDay(liquidTankWave, BaseRequest.CREATE_TIME_END); + qw.between(BaseCol.CREATE_TIME, crStart, crEnd); + } IPage pages = service.page(Condition.getPage(query), qw); IPage pagesVO = LiquidTankWaveWrapper.build().pageVO(pages); return R.data(pagesVO); diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/LiquidTankTaskServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/LiquidTankTaskServiceImpl.java index dabd5c3c..b9dbbfb9 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/LiquidTankTaskServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/LiquidTankTaskServiceImpl.java @@ -13,11 +13,14 @@ import lombok.AllArgsConstructor; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.jetbrains.annotations.NotNull; import org.springblade.core.mp.base.BaseServiceImpl; import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.Func; +import org.springblade.desk.basic.constant.WorkTankConst; +import org.springblade.desk.basic.pojo.entity.WorkTank; import org.springblade.desk.basic.service.IFormulaService; import org.springblade.desk.basic.service.ITeamSetService; import org.springblade.desk.basic.service.IWorkCenterService; @@ -302,20 +305,25 @@ public class LiquidTankTaskServiceImpl extends BaseServiceImpl tankList = liquidTankService.list( - new QueryWrapper() - .eq(BaseCol.STATUS, BaseValue.STATE_ENABLE) - ); + // 查询所有的槽液。 + List ltList = liquidTankService.list(); // 遍历插入槽液任务。 - List rList = new ArrayList<>(); - for (LiquidTank lt : tankList) { + for (LiquidTank lt : ltList) { + // 如果所在作业槽关闭。则跳过。 + WorkTank wt = workTankService.getById(lt.getWorkTankId()); + if (wt == null || !wt.getStatus().equals(WorkTankConst.S_OK)) { + continue; + } + // 检查生成是否完备,否则跳过生成 + if (!checkCycleConfig(lt)) { + continue; + } // 如果有未处理任务,则跳过不生成新任务。 QueryWrapper qw = new QueryWrapper() .eq(LiquidTankTask.COL_LIQUID_TANK_ID, lt.getId()) @@ -327,9 +335,28 @@ public class LiquidTankTaskServiceImpl extends BaseServiceImpl