diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/request/JobExt.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/request/JobExt.java index 1c9e3110..198fba6a 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/request/JobExt.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/request/JobExt.java @@ -2,17 +2,28 @@ package org.springblade.desk.quality.pojo.request; import lombok.Data; import lombok.EqualsAndHashCode; +import lombok.ToString; @Data @EqualsAndHashCode +@ToString public class JobExt { + /** + * 周 + */ public static final Integer WEEK = 1; - + /** + * 月 + */ public static final Integer MONTH = 2; - + /** + * 年 + */ public static final Integer YEAR = 3; - + /** + * 自定义CRON + */ public static final Integer CUSTOM = 4; /** diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/CycleTestVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/CycleTestVO.java index 08829e4e..e0d9a8a9 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/CycleTestVO.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/CycleTestVO.java @@ -23,56 +23,28 @@ public class CycleTestVO extends CycleTest { @Serial private static final long serialVersionUID = 1L; - /** - * [周期试验项目]名称 - */ @Schema(description = "[周期试验项目]名称") private String cycleTestItemName; - /** - * [周期试验项目]试验条件 - */ @Schema(description = "[周期试验项目]试验条件") private String cycleTestItemCondition; - /** - * [周期试验标准]id - */ @Schema(description = "[周期试验标准]id") private Long cycleTestStandardId; - /** - * [周期试验标准]名称 - */ @Schema(description = "[周期试验标准]名称") private String cycleTestStandardName; - /** - * [周期试验标准][附件]id - */ @Schema(description = "[周期试验标准][附件]id") private Long cycleTestStandardAttachId; - /** - * 工艺员[用户]姓名 - */ @Schema(description = "工艺员[用户]姓名") private String processUserName; - /** - * 试验技术员[用户]姓名 - */ @Schema(description = "试验技术员[用户]姓名") private String testUserName; - /** - * 更新[用户]姓名 - */ @Schema(description = "更新[用户]姓名") private String updateUserName; - /** - * 试验件类型 名称 - */ @Schema(description = "试验件类型 名称") private String testTypeName; - /** - * [周期试验标准] - */ - @Schema(description = "standard") + @Schema(description = "[周期试验标准]") private CycleTestStandardVO standard; @Schema(description = "[镀种]多个名称") private String plateNames; + @Schema(description = "试验周期") + private String jobExtShowText; } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/CycleTestController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/CycleTestController.java index ce2bd1c3..4691bb02 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/CycleTestController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/CycleTestController.java @@ -22,6 +22,7 @@ import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import org.springblade.core.secure.BladeUser; import org.springblade.core.tool.api.R; +import org.springblade.core.tool.utils.BeanUtil; import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.tool.utils.Func; import org.springblade.desk.basic.util.ExcelExtUtil; @@ -193,9 +194,10 @@ public class CycleTestController extends BladeController { // queryWrapper.lambda().eq(CycleTest::getTenantId, bladeUser.getTenantId()); //} //queryWrapper.lambda().eq(CycleTestEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED); - List list = service.exportCycleTest(queryWrapper); + List listVO = service2.listWithoutPage(cycleTest); + List listExcel = BeanUtil.copyProperties(listVO, CycleTestExcel.class); ExcelUtil.export(response, "[周期试验]数据" + DateUtil.time(), - "[周期试验]数据表", list, CycleTestExcel.class); + "[周期试验]数据表", listExcel, CycleTestExcel.class); } @PostMapping("/update-process-user-bat") diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/CycleTestTaskController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/CycleTestTaskController.java index 5f959018..323b4c94 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/CycleTestTaskController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/CycleTestTaskController.java @@ -168,9 +168,8 @@ public class CycleTestTaskController extends BladeController { //} //queryWrapper.lambda().eq(CycleTestTaskEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED); - List list = service.listSearchWithoutPage(search); - // todo:excel格式 + // excel 导出字段 List listExcel = BeanUtil.copyToList(list, CycleTestTaskExcel.class); ExcelUtil.export(response, "[周期试验任务]数据" + DateUtil.time(), "[周期试验任务]数据表", listExcel, CycleTestTaskExcel.class); @@ -219,10 +218,10 @@ public class CycleTestTaskController extends BladeController { return service.fill(id, isDone, testDate, testAttachId, reasonForNo, reasonForOut); } - @GetMapping("/testAuto") + @GetMapping("/generateAuto") @ApiOperationSupport(order = 12) - @Operation(summary = "testAuto", description = "") - public R testAuto() { + @Operation(summary = "generateAuto", description = "") + public R generateAuto() { service.generateAuto(); return R.success(); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/excel/CycleTestExcel.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/excel/CycleTestExcel.java index 76763dad..33558b2c 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/excel/CycleTestExcel.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/excel/CycleTestExcel.java @@ -8,12 +8,14 @@ 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 io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import java.io.Serial; import java.io.Serializable; import java.math.BigDecimal; import java.time.LocalDateTime; +import java.util.Date; /** @@ -28,193 +30,49 @@ import java.time.LocalDateTime; @ContentRowHeight(18) public class CycleTestExcel implements Serializable { - @Serial - private static final long serialVersionUID = 1L; + @Serial + private static final long serialVersionUID = 1L; - /** - * [周期试验]编码 - */ - @ColumnWidth(20) - @ExcelProperty("[周期试验]编码") - private String code; - /** - * [周期试验]类型 - */ - @ColumnWidth(20) - @ExcelProperty("[周期试验]类型") - private Long cycleTestType; - /** - * 名称 - */ - @ColumnWidth(20) - @ExcelProperty("名称") - private String name; - /** - * [班组]id - */ - @ColumnWidth(20) - @ExcelProperty("[班组]id") - private BigDecimal teamId; - /** - * [供应商]id - */ - @ColumnWidth(20) - @ExcelProperty("[供应商]id") - private BigDecimal supplierId; - /** - * [周期试验项目]id - */ - @ColumnWidth(20) - @ExcelProperty("[周期试验项目]id") - private BigDecimal cycleTestItemId; - /** - * 试验件类型-[1]:零件;[2]:试片; - */ - @ColumnWidth(20) - @ExcelProperty("试验件类型-[1]:零件;[2]:试片;") - private BigDecimal testType; - /** - * 工艺员[用户]id - */ - @ColumnWidth(20) - @ExcelProperty("工艺员[用户]id") - private BigDecimal processUserId; - /** - * 试验技术员[用户]id - */ - @ColumnWidth(20) - @ExcelProperty("试验技术员[用户]id") - private BigDecimal testUserId; - /** - * [镀种]id - */ - @ColumnWidth(20) - @ExcelProperty("[镀种]id") - private BigDecimal plateId; - /** - * 生成任务说明 - */ - @ColumnWidth(20) - @ExcelProperty("生成任务说明") - private String descGenTask; - /** - * 临期提醒说明 - */ - @ColumnWidth(20) - @ExcelProperty("临期提醒说明") - private String descRemind; - /** - * 提醒文本 - */ - @ColumnWidth(20) - @ExcelProperty("提醒文本") - private String remindText; - /** - * 排序 - */ - @ColumnWidth(20) - @ExcelProperty("排序") - private Long sort; - /** - * 备注 - */ - @ColumnWidth(20) - @ExcelProperty("备注") - private String remark; - /** - * 上次试验日期 - */ - @ColumnWidth(20) - @ExcelProperty("上次试验日期") - private LocalDateTime lastTestDate; - /** - * 生成任务JobId - */ - @ColumnWidth(20) - @ExcelProperty("生成任务JobId") - private String jobIdsGenTask; - /** - * 临期提醒JobId - */ - @ColumnWidth(20) - @ExcelProperty("临期提醒JobId") - private String jobIdsRemind; - /** - * 试验时长(天) - */ - @ColumnWidth(20) - @ExcelProperty("试验时长(天)") - private Long testDuration; - /** - * 提前下发(天) - */ - @ColumnWidth(20) - @ExcelProperty("提前下发(天)") - private Long genBefore; - /** - * 临期提醒(天) - */ - @ColumnWidth(20) - @ExcelProperty("临期提醒(天)") - private Long remind; - /** - * 定时类型-[1]:WEEK;[2]:MONTH;[3]:YEAR;[4]:CUSTOM; - */ - @ColumnWidth(20) - @ExcelProperty("定时类型-[1]:WEEK;[2]:MONTH;[3]:YEAR;[4]:CUSTOM;") - private Long jobType; - /** - * 定时WEEK值 - */ - @ColumnWidth(20) - @ExcelProperty("定时WEEK值") - private String jobTypeWeekValue; - /** - * 定时MONTH值 - */ - @ColumnWidth(20) - @ExcelProperty("定时MONTH值") - private String jobTypeMonthValue; - /** - * 定时YEAR值 - */ - @ColumnWidth(20) - @ExcelProperty("定时YEAR值") - private String jobTypeYearValue; - /** - * 定时CUSTOM值 - */ - @ColumnWidth(20) - @ExcelProperty("定时CUSTOM值") - private String jobTypeCustomValue; - /** - * 生成任务 json config - */ - @ColumnWidth(20) - @ExcelProperty("生成任务 json config") - private String jsonConfigGenTask; - /** - * 临期提醒 json config - */ - @ColumnWidth(20) - @ExcelProperty("临期提醒 json config") - private String jsonConfigRemind; - /** - * 是否顺延-[1]:是;[0]:否; - */ - @ColumnWidth(20) - @ExcelProperty("是否顺延-[1]:是;[0]:否;") - private Long isPutOff; - /** - * 最小试验数量 - */ - @ColumnWidth(20) - @ExcelProperty("最小试验数量") - private Long minDoTestCount; - /** - * 试验件材料 - */ - @ColumnWidth(20) - @ExcelProperty("试验件材料") - private String testMat; + @Schema(description = "[镀种]多个名称") + @ColumnWidth(20) + @ExcelProperty("镀种") + private String plateNames; + @Schema(description = "[周期试验项目]名称") + @ColumnWidth(20) + @ExcelProperty("试验项目") + private String cycleTestItemName; + @Schema(description = "[周期试验项目]试验条件") + @ColumnWidth(20) + @ExcelProperty("试验条件") + private String cycleTestItemCondition; + @Schema(description = "[周期试验标准]名称") + @ColumnWidth(20) + @ExcelProperty("试验标准") + private String cycleTestStandardName; + @Schema(description = "试验件类型 名称") + @ColumnWidth(20) + @ExcelProperty("试验件") + private String testTypeName; + @Schema(description = "试验件材料") + @ColumnWidth(20) + @ExcelProperty("试验件材料") + private String testMat; + @Schema(description = "试验周期") + @ColumnWidth(20) + @ExcelProperty("试验周期") + private String jobExtShowText; + @Schema(description = "最小试验数量") + @ColumnWidth(20) + @ExcelProperty("最小试验数量") + private Integer minDoTestCount; + @Schema(description = "提前下发天数") + @ColumnWidth(20) + @ExcelProperty("提前下发天数") + private Integer genBefore; + @ColumnWidth(20) + @ExcelProperty("超期提醒天数") + private Integer remind; + @ColumnWidth(20) + @ExcelProperty("更新时间") + private Date updateTime; } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/CycleTestService2.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/CycleTestService2.java index b23d6a74..a3dcd965 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/CycleTestService2.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/CycleTestService2.java @@ -1,5 +1,6 @@ package org.springblade.desk.quality.service; +import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.v3.oas.annotations.Parameter; @@ -22,6 +23,7 @@ import org.springblade.desk.quality.pojo.request.CycleTestBatUpdateCycle; import org.springblade.desk.quality.pojo.request.JobExt; import org.springblade.desk.quality.pojo.vo.CycleTestVO; import org.springblade.desk.quality.pojo.vo.CycleTestStandardVO; +import org.springblade.desk.quality.util.JobExtUtil; import org.springblade.desk.quality.wrapper.CycleTestStandardWrapper; import org.springblade.desk.quality.wrapper.CycleTestWrapper; import org.springblade.resource.feign.IAttachClient; @@ -134,16 +136,30 @@ public class CycleTestService2 { * @param query * @return */ - public R> list(@Parameter(hidden = true) @RequestParam Map cycleTest, - Query query) { - IPage pages = service.page(Condition.getPage(query), - Condition.getQueryWrapper(cycleTest, CycleTest.class).orderByAsc(BaseCol.ID) - ); + public R> list(Map cycleTest, Query query) { + QueryWrapper qw = Condition.getQueryWrapper(cycleTest, CycleTest.class); + qw.orderByAsc(BaseCol.ID); + IPage pages = service.page(Condition.getPage(query), qw); IPage pagesVO = CycleTestWrapper.build().pageVO(pages); pagesVO.getRecords().stream().peek(this::setVOValue).collect(Collectors.toList()); return R.data(pagesVO); } + /** + * list 不分页 + * + * @param cycleTest + * @return + */ + public List listWithoutPage(Map cycleTest) { + QueryWrapper qw = Condition.getQueryWrapper(cycleTest, CycleTest.class); + qw.orderByAsc(BaseCol.ID); + List pages = service.list(qw); + List pagesVO = CycleTestWrapper.build().listVO(pages); + pagesVO.stream().peek(this::setVOValue).collect(Collectors.toList()); + return pagesVO; + } + /** * search * @@ -194,16 +210,22 @@ public class CycleTestService2 { { StringBuilder names = new StringBuilder(); List idList = Func.toLongList(vo.getPlateIds()); - idList.forEach(id -> { - names.append(platingService.getById(id).getPlating()); - names.append(","); - }); - String namesF = names.toString(); - if (StringUtils.isNotBlank(namesF) && StringUtils.endsWith(namesF, ",")) { - // 去掉结尾, - namesF = StringUtils.removeEnd(namesF, ","); + // 循环拼接 + for (int i = 0; i < idList.size(); i++) { + names.append(platingService.getById(idList.get(i)).getPlating()); + if (i != idList.size() - 1) { // 去掉结尾, + names.append(","); + } + } + vo.setPlateNames(names.toString()); + } + // + { + if (vo.getJobType() != null && vo.getJobType() != 0) { + JobExt je = new JobExt(); + BeanUtil.copyProperties(vo, je); + vo.setJobExtShowText(JobExtUtil.getShowText(je)); } - vo.setPlateNames(namesF); } } } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/CycleTestTaskService2.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/CycleTestTaskService2.java index a75eb66b..fa8070c2 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/CycleTestTaskService2.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/CycleTestTaskService2.java @@ -468,15 +468,10 @@ public class CycleTestTaskService2 { .toInstant(); return mapper.selectCount( new LambdaQueryWrapper() - .between(CycleTestTask::getCreateTime, - Date.from(leftInstant), Date.from(rightInstant)) + .between(CycleTestTask::getCreateTime, Date.from(leftInstant), Date.from(rightInstant)) ); } - private LocalDate issueDate(CycleTestTask t) { - return null; - } - /** * 任务计划结束日期/超期日期 * @@ -559,6 +554,7 @@ public class CycleTestTaskService2 { if (todayLD.isEqual(remindLD) || (todayLD.isAfter(remindLD) && todayLD.isBefore(outLD))) { task.setFlagOut(BaseValue.NO); task.setFlagApproach(BaseValue.YES); + // todo:消息中心 进行临期提醒 } // 设置临期天数 task.setDayToPlanedFinish(getCountDayToOut(task.getId())); @@ -589,6 +585,7 @@ public class CycleTestTaskService2 { if (todayLD.isEqual(outLD) || todayLD.isAfter(outLD)) { task.setFlagOut(BaseValue.YES); task.setFlagApproach(BaseValue.NO); + // todo:消息中心 进行超期提醒 // 更新状态 service.updateById(task); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/LiquidTankTaskCopyServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/LiquidTankTaskCopyServiceImpl.java index c82d7018..14e4d260 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/LiquidTankTaskCopyServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/LiquidTankTaskCopyServiceImpl.java @@ -92,7 +92,7 @@ public class LiquidTankTaskCopyServiceImpl extends BaseServiceImpl list = Func.toIntList(je.getJobTypeWeekValue()); + sb.append(list.size()); + sb.append("次/周"); + } else if (type.equals(MONTH)) { + if (StringUtils.isBlank(je.getJobTypeMonthValue())) { + return ""; + } + List list = Func.toStrList(je.getJobTypeMonthValue()); + sb.append(list.size()); + sb.append("次/月"); + } else if (type.equals(YEAR)) { + if (StringUtils.isBlank(je.getJobTypeYearValue())) { + return ""; + } + List list = Func.toStrList(je.getJobTypeMonthValue()); + sb.append(list.size()); + sb.append("次/年"); + } + return sb.toString(); + } + /** * 测试执行 *