联调 周期试验任务 相关。

develop-QA
Tom Li 5 months ago
parent cdef7d18ad
commit 9c9a13e5f3
  1. 5
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/constant/CycleTestItemConst.java
  2. 9
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/constant/CycleTestTaskConst.java
  3. 5
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/constant/InspectionTaskConst.java
  4. 37
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/CycleTestItemController.java
  5. 157
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/CycleTestStandardController.java
  6. 19
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/CycleTestTaskController.java
  7. 63
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/excel/gen/CycleTestStandardGenExcel.java
  8. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/gen/CycleTestItemGenMapper.java
  9. 40
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/gen/CycleTestStandardGenMapper.java
  10. 30
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/gen/CycleTestStandardGenMapper.xml
  11. 5
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/package-info.java
  12. 24
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/pojo/dto/gen/CycleTestStandardGenDTO.java
  13. 17
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/pojo/entity/CycleTestItem.java
  14. 75
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/pojo/entity/CycleTestStandard.java
  15. 11
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/pojo/entity/CycleTestTask.java
  16. 708
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/pojo/entity/LiquidTankTask.java
  17. 22
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/pojo/request/CycleTestItemSubmit.java
  18. 19
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/pojo/vo/CycleTestItemStandardVO.java
  19. 17
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/pojo/vo/gen/CycleTestGenVO.java
  20. 27
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/pojo/vo/gen/CycleTestItemGenVO.java
  21. 24
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/pojo/vo/gen/CycleTestStandardGenVO.java
  22. 20
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/pojo/vo/gen/CycleTestTaskGenVO.java
  23. 127
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/CycleTestItemService.java
  24. 26
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/CycleTestService.java
  25. 58
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/CycleTestStandardService.java
  26. 85
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/CycleTestTaskService.java
  27. 13
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/TestService.java
  28. 31
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/gen/ICycleTestItemGenService.java
  29. 39
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/gen/ICycleTestStandardGenService.java
  30. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/gen/CycleTestItemGenServiceImpl.java
  31. 42
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/gen/CycleTestStandardGenServiceImpl.java
  32. 7
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/util/CycleTestTaskUtil.java
  33. 36
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/wrapper/gen/CycleTestStandardGenWrapper.java

@ -0,0 +1,5 @@
package org.springblade.desk.quality.constant;
public interface CycleTestItemConst {
}

@ -30,4 +30,13 @@ public interface CycleTestTaskConst {
* 已超期 * 已超期
*/ */
Integer STATE_TIMEOUT = 9; Integer STATE_TIMEOUT = 9;
/**
* 字典key-试验件
*/
String DICT_TEST_PIECE = "testPiece";
/**
* 字典key-任务状态
*/
String DICT_STATUS = "CycleTestTask-Status";
} }

@ -2,14 +2,13 @@ package org.springblade.desk.quality.constant;
public interface InspectionTaskConst { public interface InspectionTaskConst {
/** /**
* 热表 * 热表
*/ */
Integer TYPE_1 = 1; Integer TYPE_RB = 1;
/** /**
* 烧结 * 烧结
*/ */
Integer TYPE_2 = 2; Integer TYPE_SJ = 2;
} }

@ -25,16 +25,16 @@ import org.springblade.core.secure.BladeUser;
import org.springblade.core.tool.api.R; import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.Func;
import org.springblade.desk.quality.constant.BaseCol;
import org.springblade.desk.quality.constant.ExcelConst; import org.springblade.desk.quality.constant.ExcelConst;
import org.springblade.desk.quality.excel.gen.CycleTestItemGenExcel; import org.springblade.desk.quality.excel.gen.CycleTestItemGenExcel;
import org.springblade.desk.quality.pojo.entity.CycleTestItem; import org.springblade.desk.quality.pojo.entity.CycleTestItem;
import org.springblade.desk.quality.pojo.vo.CycleTestItemStandardVO; import org.springblade.desk.quality.pojo.request.CycleTestItemSubmit;
import org.springblade.desk.quality.pojo.vo.gen.CycleTestItemGenVO; import org.springblade.desk.quality.pojo.vo.gen.CycleTestItemGenVO;
import org.springblade.desk.quality.service.CycleTestItemService; import org.springblade.desk.quality.service.CycleTestItemService;
import org.springblade.desk.quality.service.gen.ICycleTestItemGenService; import org.springblade.desk.quality.service.gen.ICycleTestItemGenService;
import org.springblade.desk.quality.util.ExcelExtUtil; import org.springblade.desk.quality.util.ExcelExtUtil;
import org.springblade.desk.quality.wrapper.gen.CycleTestItemGenWrapper; import org.springblade.desk.quality.wrapper.gen.CycleTestItemGenWrapper;
import org.springblade.desk.quality.wrapper.gen.CycleTestTaskGenWrapper;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
@ -70,7 +70,9 @@ public class CycleTestItemController extends BladeController {
@Operation(summary = "详情", description = "传入cycleTestItem") @Operation(summary = "详情", description = "传入cycleTestItem")
public R<CycleTestItemGenVO> detail(CycleTestItem cycleTestItem) { public R<CycleTestItemGenVO> detail(CycleTestItem cycleTestItem) {
CycleTestItem detail = genService.getOne(Condition.getQueryWrapper(cycleTestItem)); CycleTestItem detail = genService.getOne(Condition.getQueryWrapper(cycleTestItem));
return R.data(CycleTestItemGenWrapper.build().entityVO(detail)); CycleTestItemGenVO vo = CycleTestItemGenWrapper.build().entityVO(detail);
service.setVoValue(vo);
return R.data(vo);
} }
/** /**
@ -82,12 +84,7 @@ public class CycleTestItemController extends BladeController {
public R<IPage<CycleTestItemGenVO>> list( public R<IPage<CycleTestItemGenVO>> list(
@Parameter(hidden = true) @RequestParam Map<String, Object> cycleTestItem, @Parameter(hidden = true) @RequestParam Map<String, Object> cycleTestItem,
Query query) { Query query) {
IPage<CycleTestItem> pages = genService.page( return service.list(cycleTestItem, query);
Condition.getPage(query),
Condition.getQueryWrapper(cycleTestItem, CycleTestItem.class)
.orderByAsc(BaseCol.ID)
);
return R.data(CycleTestItemGenWrapper.build().pageVO(pages));
} }
@ -98,11 +95,7 @@ public class CycleTestItemController extends BladeController {
@ApiOperationSupport(order = 3) @ApiOperationSupport(order = 3)
@Operation(summary = "page分页", description = "传入cycleTestItem") @Operation(summary = "page分页", description = "传入cycleTestItem")
public R<IPage<CycleTestItemGenVO>> page(CycleTestItemGenVO cycleTestItem, Query query) { public R<IPage<CycleTestItemGenVO>> page(CycleTestItemGenVO cycleTestItem, Query query) {
IPage<CycleTestItemGenVO> pages = genService.selectCycleTestItemPage( return service.page(cycleTestItem, query);
Condition.getPage(query),
cycleTestItem
);
return R.data(pages);
} }
/** /**
@ -111,9 +104,8 @@ public class CycleTestItemController extends BladeController {
@PostMapping("/save") @PostMapping("/save")
@ApiOperationSupport(order = 4) @ApiOperationSupport(order = 4)
@Operation(summary = "新增", description = "传入cycleTestItem") @Operation(summary = "新增", description = "传入cycleTestItem")
public R save(@Valid @RequestBody CycleTestItem cycleTestItem) { public R save(@Valid @RequestBody CycleTestItemSubmit submit) {
cycleTestItem.setId(null); return service.save(submit);
return R.status(genService.save(cycleTestItem));
} }
/** /**
@ -122,8 +114,8 @@ public class CycleTestItemController extends BladeController {
@PostMapping("/update") @PostMapping("/update")
@ApiOperationSupport(order = 5) @ApiOperationSupport(order = 5)
@Operation(summary = "修改", description = "传入cycleTestItem") @Operation(summary = "修改", description = "传入cycleTestItem")
public R update(@Valid @RequestBody CycleTestItem cycleTestItem) { public R update(@Valid @RequestBody CycleTestItemSubmit submit) {
return R.status(genService.updateById(cycleTestItem)); return service.update(submit);
} }
/** /**
@ -214,11 +206,4 @@ public class CycleTestItemController extends BladeController {
public R<List<CycleTestItem>> listForSelect() { public R<List<CycleTestItem>> listForSelect() {
return service.listForSelect(); return service.listForSelect();
} }
@GetMapping("/listForSelectStandard")
@ApiOperationSupport(order = 12)
@Operation(summary = "list下拉选择试验标准", description = "")
public R<List<CycleTestItemStandardVO>> listForSelectStandard() {
return service.listForSelectStandard();
}
} }

@ -0,0 +1,157 @@
/**
* Author: Tom Shuo
*/
package org.springblade.desk.quality.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.Valid;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.excel.util.ExcelUtil;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.secure.annotation.IsAdmin;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.desk.basic.pojo.entity.Formula;
import org.springblade.desk.basic.pojo.vo.gen.FormulaGenVO;
import org.springblade.desk.basic.wrapper.gen.FormulaGenWrapper;
import org.springblade.desk.quality.excel.gen.CycleTestStandardGenExcel;
import org.springblade.desk.quality.pojo.entity.CycleTestStandard;
import org.springblade.desk.quality.pojo.vo.gen.CycleTestStandardGenVO;
import org.springblade.desk.quality.service.CycleTestStandardService;
import org.springblade.desk.quality.service.gen.ICycleTestStandardGenService;
import org.springblade.desk.quality.wrapper.gen.CycleTestStandardGenWrapper;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
/**
* [周期试验标准] 控制器
*
* @author Tom Shuo
* @since 2025-11-28
*/
@RestController
@Data
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
@RequestMapping("/QA/CycleTestStandard")
@Tag(name = "[周期试验标准]", description = "[周期试验标准]接口")
public class CycleTestStandardController extends BladeController {
@Resource
private ICycleTestStandardGenService genService;
@Resource
private CycleTestStandardService service;
/**
* [周期试验标准] 详情
*/
@GetMapping("/detail")
@ApiOperationSupport(order = 1)
@Operation(summary = "详情", description = "传入CycleTestStandard")
public R<CycleTestStandardGenVO> detail(CycleTestStandard cycleTestStandard) {
CycleTestStandard detail = genService.getOne(Condition.getQueryWrapper(cycleTestStandard));
return R.data(CycleTestStandardGenWrapper.build().entityVO(detail));
}
/**
* [周期试验标准] 分页
*/
@GetMapping("/list")
@ApiOperationSupport(order = 2)
@Operation(summary = "分页", description = "传入CycleTestStandard")
public R<IPage<CycleTestStandardGenVO>> list(@Parameter(hidden = true) @RequestParam Map<String, Object> cycleTestStandard, Query query) {
IPage<CycleTestStandard> pages = genService.page(Condition.getPage(query), Condition.getQueryWrapper(cycleTestStandard, CycleTestStandard.class));
return R.data(CycleTestStandardGenWrapper.build().pageVO(pages));
}
/**
* [周期试验标准] 自定义分页
*/
@GetMapping("/page")
@ApiOperationSupport(order = 3)
@Operation(summary = "分页", description = "传入CycleTestStandard")
public R<IPage<CycleTestStandard>> page(CycleTestStandardGenVO cycleTestStandard, Query query) {
IPage<CycleTestStandard> pages = genService.selectCycleTestStandardPage(Condition.getPage(query), cycleTestStandard);
return R.data(pages);
}
/**
* [周期试验标准] 新增
*/
@PostMapping("/save")
@ApiOperationSupport(order = 4)
@Operation(summary = "新增", description = "传入CycleTestStandard")
public R save(@Valid @RequestBody CycleTestStandard cycleTestStandard) {
return R.status(genService.save(cycleTestStandard));
}
/**
* [周期试验标准] 修改
*/
@PostMapping("/update")
@ApiOperationSupport(order = 5)
@Operation(summary = "修改", description = "传入CycleTestStandard")
public R update(@Valid @RequestBody CycleTestStandard cycleTestStandard) {
return R.status(genService.updateById(cycleTestStandard));
}
/**
* [周期试验标准] 新增或修改
*/
@PostMapping("/submit")
@ApiOperationSupport(order = 6)
@Operation(summary = "新增或修改", description = "传入CycleTestStandard")
public R submit(@Valid @RequestBody CycleTestStandard cycleTestStandard) {
return R.status(genService.saveOrUpdate(cycleTestStandard));
}
/**
* [周期试验标准] 删除
*/
@PostMapping("/remove")
@ApiOperationSupport(order = 7)
@Operation(summary = "逻辑删除", description = "传入ids")
public R remove(@Parameter(description = "主键集合", required = true) @RequestParam String ids) {
return R.status(genService.deleteLogic(Func.toLongList(ids)));
}
/**
* 导出数据
*/
@IsAdmin
@GetMapping("/export-excel")
@ApiOperationSupport(order = 8)
@Operation(summary = "导出数据", description = "传入CycleTestStandard")
public void exportCycleTestStandard(@Parameter(hidden = true) @RequestParam Map<String, Object> cycleTestStandard, BladeUser bladeUser, HttpServletResponse response) {
QueryWrapper<CycleTestStandard> queryWrapper = Condition.getQueryWrapper(cycleTestStandard, CycleTestStandard.class);
//if (!AuthUtil.isAdministrator()) {
// queryWrapper.lambda().eq(CycleTestStandard::getTenantId, bladeUser.getTenantId());
//}
//queryWrapper.lambda().eq(CycleTestStandardEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED);
List<CycleTestStandardGenExcel> list = genService.exportCycleTestStandard(queryWrapper);
ExcelUtil.export(response, "[周期试验标准]数据" + DateUtil.time(), "[周期试验标准]数据表", list, CycleTestStandardGenExcel.class);
}
@GetMapping("/listForSelect")
@ApiOperationSupport(order = 9)
@Operation(summary = "list下拉选择", description = "")
public R<List<CycleTestStandard>> listForSelect() {
return service.listForSelect();
}
}

@ -67,7 +67,9 @@ public class CycleTestTaskController extends BladeController {
@Operation(summary = "详情", description = "传入cycleTestTask") @Operation(summary = "详情", description = "传入cycleTestTask")
public R<CycleTestTaskGenVO> detail(CycleTestTask cycleTestTask) { public R<CycleTestTaskGenVO> detail(CycleTestTask cycleTestTask) {
CycleTestTask detail = cycleTestTaskGenService.getOne(Condition.getQueryWrapper(cycleTestTask)); CycleTestTask detail = cycleTestTaskGenService.getOne(Condition.getQueryWrapper(cycleTestTask));
return R.data(CycleTestTaskGenWrapper.build().entityVO(detail)); CycleTestTaskGenVO vo = CycleTestTaskGenWrapper.build().entityVO(detail);
service.setVoValue(vo);
return R.data(vo);
} }
/** /**
@ -188,8 +190,17 @@ public class CycleTestTaskController extends BladeController {
@ApiOperationSupport(order = 12) @ApiOperationSupport(order = 12)
@Operation(summary = "填报", description = "") @Operation(summary = "填报", description = "")
public R fill(@Parameter(description = "主键", required = true) @RequestParam Long id, public R fill(@Parameter(description = "主键", required = true) @RequestParam Long id,
@Parameter(description = "试验时间", required = true) @RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate testDate, @Parameter(description = "是否进行试验-[1]:试验;[2]:不试验;", required = true) @RequestParam Integer isDone,
@Parameter(description = "试验结果", required = true) @RequestParam Long testAttachId) { @Parameter(description = "试验时间") @RequestParam(required = false, defaultValue = "") @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate testDate,
return service.fill(id, testDate, testAttachId); @Parameter(description = "试验结果") @RequestParam(required = false, defaultValue = "0") Long testAttachId,
@Parameter(description = "不试验原因") @RequestParam(required = false, defaultValue = "") String reasonForNo) {
return service.fill(id, isDone, testDate, testAttachId, reasonForNo);
} }
// @PostMapping("/test")
// @ApiOperationSupport(order = 12)
// @Operation(summary = "test", description = "")
// public R test() {
// return service.testMinio();
// }
} }

@ -0,0 +1,63 @@
/**
* Author: Tom Shuo
*/
package org.springblade.desk.quality.excel.gen;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.ContentRowHeight;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* [周期试验标准] Excel实体类
*
* @author Tom Shuo
* @since 2025-11-28
*/
@Data
@ColumnWidth(25)
@HeadRowHeight(20)
@ContentRowHeight(18)
public class CycleTestStandardGenExcel implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 编码
*/
@ColumnWidth(20)
@ExcelProperty("编码")
private String code;
/**
* 名称
*/
@ColumnWidth(20)
@ExcelProperty("名称")
private String name;
/**
* 排序
*/
@ColumnWidth(20)
@ExcelProperty("排序")
private Long sort;
/**
* 备注
*/
@ColumnWidth(20)
@ExcelProperty("备注")
private String remark;
/**
* [周期试验标准][附件]id
*/
@ColumnWidth(20)
@ExcelProperty("[周期试验标准][附件]id")
private BigDecimal standardAttachId;
}

@ -28,7 +28,7 @@ public interface CycleTestItemGenMapper extends BaseMapper<CycleTestItem> {
* @param q 查询参数 * @param q 查询参数
* @return List<CycleTestItemVO> * @return List<CycleTestItemVO>
*/ */
List<CycleTestItemGenVO> selectCycleTestItemPage(IPage page, CycleTestItemGenVO q); List<CycleTestItem> selectCycleTestItemPage(IPage page, CycleTestItemGenVO q);
/** /**
* 获取导出数据 * 获取导出数据

@ -0,0 +1,40 @@
/**
* Author: Tom Shuo
*/
package org.springblade.desk.quality.mapper.gen;
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.quality.excel.gen.CycleTestStandardGenExcel;
import org.springblade.desk.quality.pojo.entity.CycleTestStandard;
import org.springblade.desk.quality.pojo.vo.gen.CycleTestStandardGenVO;
import java.util.List;
/**
* [周期试验标准] Mapper 接口
*
* @author Tom Shuo
* @since 2025-11-28
*/
public interface CycleTestStandardGenMapper extends BaseMapper<CycleTestStandard> {
/**
* 自定义分页
*
* @param page 分页参数
* @param q 查询参数
* @return List<CycleTestStandardVO>
*/
List<CycleTestStandard> selectCycleTestStandardPage(IPage page, CycleTestStandardGenVO q);
/**
* 获取导出数据
*
* @param queryWrapper 查询条件
* @return List<CycleTestStandardExcel>
*/
List<CycleTestStandardGenExcel> exportCycleTestStandard(@Param("ew") Wrapper<CycleTestStandard> queryWrapper);
}

@ -0,0 +1,30 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.springblade.desk.quality.mapper.gen.CycleTestStandardGenMapper">
<!-- 通用查询映射结果 -->
<resultMap id="cycleTestStandardResultMap"
type="org.springblade.desk.quality.pojo.entity.CycleTestStandard">
<result column="CODE" property="code"/>
<result column="NAME" property="name"/>
<result column="SORT" property="sort"/>
<result column="REMARK" property="remark"/>
<result column="STANDARD_ATTACH_ID" property="standardAttachId"/>
</resultMap>
<select id="selectCycleTestStandardPage" resultMap="cycleTestStandardResultMap">
SELECT *
FROM QA_CYCLE_TEST_STANDARD
WHERE is_deleted = 0
<if test="q.name != null and q.name != ''">
AND NAME = #{q.name}
</if>
</select>
<select id="exportCycleTestStandard"
resultType="org.springblade.desk.quality.excel.gen.CycleTestStandardGenExcel">
SELECT *
FROM QA_CYCLE_TEST_STANDARD ${ew.customSqlSegment}
</select>
</mapper>

@ -55,7 +55,10 @@
* *
* APPROACHING * APPROACHING
* *
* Manual * MANUAL
* *
*
*
* REASON_FOR_NO
*/ */
package org.springblade.desk.quality; package org.springblade.desk.quality;

@ -0,0 +1,24 @@
/**
* Author: Tom Shuo
*/
package org.springblade.desk.quality.pojo.dto.gen;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.desk.quality.pojo.entity.CycleTestStandard;
import java.io.Serial;
/**
* [周期试验标准] 数据传输对象实体类
*
* @author Tom Shuo
* @since 2025-11-28
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class CycleTestStandardGenDTO extends CycleTestStandard {
@Serial
private static final long serialVersionUID = 1L;
}

@ -53,9 +53,9 @@ public class CycleTestItem extends BaseEntity {
*/ */
public static final String COL_REMARK = "REMARK"; public static final String COL_REMARK = "REMARK";
/** /**
* 试验标准 * [周期试验标准]id
*/ */
public static final String COL_STANDARD = "STANDARD"; public static final String COL_CYCLE_TEST_STANDARD_ID = "CYCLE_TEST_STANDARD_ID";
/** /**
* 编码 * 编码
@ -92,14 +92,9 @@ public class CycleTestItem extends BaseEntity {
@Schema(description = "备注") @Schema(description = "备注")
private String remark; private String remark;
/** /**
* 试验标准 * [周期试验标准]id
*/ */
@Schema(description = "试验标准") @Schema(description = "[周期试验标准]id")
@ExcelProperty(value = "试验标准", index = 2) @ExcelProperty(value = "[周期试验标准]id", index = 2)
private String standard; private Long cycleTestStandardId;
/**
* 试验文件
*/
@Schema(description = "试验文件")
private Long testAttachId;
} }

@ -0,0 +1,75 @@
/**
* Author: Tom Shuo
*/
package org.springblade.desk.quality.pojo.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.mp.base.BaseEntity;
import java.io.Serial;
/**
* [周期试验标准] 实体类
*
* @author Tom Shuo
* @since 2025-11-28
*/
@Data
@TableName("QA_CYCLE_TEST_STANDARD")
@Schema(description = "CycleTestStandard Entity对象")
@EqualsAndHashCode(callSuper = true)
public class CycleTestStandard extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 编码
*/
public static final String COL_CODE = "CODE";
/**
* 名称
*/
public static final String COL_NAME = "NAME";
/**
* 排序
*/
public static final String COL_SORT = "SORT";
/**
* 备注
*/
public static final String COL_REMARK = "REMARK";
/**
* [周期试验标准][附件]id
*/
public static final String COL_STANDARD_ATTACH_ID = "STANDARD_ATTACH_ID";
/**
* 编码
*/
@Schema(description = "编码")
private String code;
/**
* 名称
*/
@Schema(description = "名称")
private String name;
/**
* 排序
*/
@Schema(description = "排序")
private Long sort;
/**
* 备注
*/
@Schema(description = "备注")
private String remark;
/**
* [周期试验标准][附件]id
*/
@Schema(description = "[周期试验标准][附件]id")
private Long standardAttachId;
}

@ -130,6 +130,8 @@ public class CycleTestTask extends BaseEntity {
public static final String COL_FINISH_DATE = "FINISH_DATE"; public static final String COL_FINISH_DATE = "FINISH_DATE";
public static final String COL_REASON_FOR_NO = "REASON_FOR_NO";
/** /**
* [周期试验任务]编码 * [周期试验任务]编码
*/ */
@ -231,9 +233,9 @@ public class CycleTestTask extends BaseEntity {
@Schema(description = "填报附件") @Schema(description = "填报附件")
private Long testAttachId; private Long testAttachId;
/** /**
* 是否进行试验 * 是否进行试验-[1]:试验;[2]:不试验;
*/ */
@Schema(description = "是否进行试验") @Schema(description = "是否进行试验-[1]:试验;[2]:不试验;")
private Integer isDone; private Integer isDone;
/** /**
* 试验时间 * 试验时间
@ -262,4 +264,9 @@ public class CycleTestTask extends BaseEntity {
*/ */
@Schema(description = "完成时间") @Schema(description = "完成时间")
public LocalDateTime finishDate; public LocalDateTime finishDate;
/**
* 不试验原因
*/
@Schema(description = "不试验原因")
public String reasonForNo;
} }

@ -25,404 +25,404 @@ import java.time.LocalDateTime;
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
public class LiquidTankTask extends BaseEntity { public class LiquidTankTask extends BaseEntity {
@Serial @Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** /**
* [槽液检测任务]编码 * [槽液检测任务]编码
*/ */
public static final String COL_CODE = "CODE"; public static final String COL_CODE = "CODE";
/** /**
* 类型 * 类型
*/ */
public static final String COL_LIQUID_TANK_TASK_TYPE = "LIQUID_TANK_TASK_TYPE"; public static final String COL_LIQUID_TANK_TASK_TYPE = "LIQUID_TANK_TASK_TYPE";
/** /**
* 名称 * 名称
*/ */
public static final String COL_NAME = "NAME"; public static final String COL_NAME = "NAME";
/** /**
* [槽液]id * [槽液]id
*/ */
public static final String COL_LIQUID_TANK_ID = "LIQUID_TANK_ID"; public static final String COL_LIQUID_TANK_ID = "LIQUID_TANK_ID";
/** /**
* [作业中心]id * [作业中心]id
*/ */
public static final String COL_WORK_CENTER_ID = "WORK_CENTER_ID"; public static final String COL_WORK_CENTER_ID = "WORK_CENTER_ID";
/** /**
* 药品[物料]id * 药品[物料]id
*/ */
public static final String COL_DRUG_MATERIAL_ID = "DRUG_MATERIAL_ID"; public static final String COL_DRUG_MATERIAL_ID = "DRUG_MATERIAL_ID";
/** /**
* [槽液]编号 * [槽液]编号
*/ */
public static final String COL_LIQUID_TANK_CODE = "LIQUID_TANK_CODE"; public static final String COL_LIQUID_TANK_CODE = "LIQUID_TANK_CODE";
/** /**
* 待测成分 * 待测成分
*/ */
public static final String COL_TEST_ELEMENT = "TEST_ELEMENT"; public static final String COL_TEST_ELEMENT = "TEST_ELEMENT";
/** /**
* 药品名称 * 药品名称
*/ */
public static final String COL_DRUG_NAME = "DRUG_NAME"; public static final String COL_DRUG_NAME = "DRUG_NAME";
/** /**
* 药品[物料]编码 * 药品[物料]编码
*/ */
public static final String COL_DRUG_MATERIAL_CODE = "DRUG_MATERIAL_CODE"; public static final String COL_DRUG_MATERIAL_CODE = "DRUG_MATERIAL_CODE";
/** /**
* 药品物料名称 * 药品物料名称
*/ */
public static final String COL_DRUG_MATERIAL_NAME = "DRUG_MATERIAL_NAME"; public static final String COL_DRUG_MATERIAL_NAME = "DRUG_MATERIAL_NAME";
/** /**
* 工艺含量 * 工艺含量
*/ */
public static final String COL_PROCESS_CONTENT = "PROCESS_CONTENT"; public static final String COL_PROCESS_CONTENT = "PROCESS_CONTENT";
/** /**
* 目标值 * 目标值
*/ */
public static final String COL_TARGET_VALUE = "TARGET_VALUE"; public static final String COL_TARGET_VALUE = "TARGET_VALUE";
/** /**
* 目标上下限 * 目标上下限
*/ */
public static final String COL_BOUND = "BOUND"; public static final String COL_BOUND = "BOUND";
/** /**
* 排序 * 排序
*/ */
public static final String COL_SORT = "SORT"; public static final String COL_SORT = "SORT";
/** /**
* 备注 * 备注
*/ */
public static final String COL_REMARK = "REMARK"; public static final String COL_REMARK = "REMARK";
/** /**
* 添加点 * 添加点
*/ */
public static final String COL_FILLING_LOCATION = "FILLING_LOCATION"; public static final String COL_FILLING_LOCATION = "FILLING_LOCATION";
/** /**
* 电导率测量值 * 电导率测量值
*/ */
public static final String COL_CONDUCTIVITY_TEST_VALUE = "CONDUCTIVITY_TEST_VALUE"; public static final String COL_CONDUCTIVITY_TEST_VALUE = "CONDUCTIVITY_TEST_VALUE";
/** /**
* 体积 * 体积
*/ */
public static final String COL_VOLUME = "VOLUME"; public static final String COL_VOLUME = "VOLUME";
/** /**
* 单位 * 单位
*/ */
public static final String COL_UNIT = "UNIT"; public static final String COL_UNIT = "UNIT";
/** /**
* [计量单位]id * [计量单位]id
*/ */
public static final String COL_UNIT_ID = "UNIT_ID"; public static final String COL_UNIT_ID = "UNIT_ID";
/** /**
* 加药量单位 * 加药量单位
*/ */
public static final String COL_ADD_UNIT = "ADD_UNIT"; public static final String COL_ADD_UNIT = "ADD_UNIT";
/** /**
* 加药量[计量单位]id * 加药量[计量单位]id
*/ */
public static final String COL_ADD_UNIT_ID = "ADD_UNIT_ID"; public static final String COL_ADD_UNIT_ID = "ADD_UNIT_ID";
/** /**
* 分析周期 * 分析周期
*/ */
public static final String COL_ANALYSIS_CYCLE = "ANALYSIS_CYCLE"; public static final String COL_ANALYSIS_CYCLE = "ANALYSIS_CYCLE";
/** /**
* 有效期 * 有效期
*/ */
public static final String COL_VALID_DATE = "VALID_DATE"; public static final String COL_VALID_DATE = "VALID_DATE";
/** /**
* 上次化验日期 * 上次化验日期
*/ */
public static final String COL_LAST_TEST = "LAST_TEST"; public static final String COL_LAST_TEST = "LAST_TEST";
/** /**
* 槽液到期日期 * 槽液到期日期
*/ */
public static final String COL_EXPIRY_DATE = "EXPIRY_DATE"; public static final String COL_EXPIRY_DATE = "EXPIRY_DATE";
/** /**
* 化验人[用户]id * 化验人[用户]id
*/ */
public static final String COL_TEST_USER_ID = "TEST_USER_ID"; public static final String COL_TEST_USER_ID = "TEST_USER_ID";
/** /**
* 工艺主管[用户]id * 工艺主管[用户]id
*/ */
public static final String COL_PROCESS_USER_ID = "PROCESS_USER_ID"; public static final String COL_PROCESS_USER_ID = "PROCESS_USER_ID";
/** /**
* 测量值 * 测量值
*/ */
public static final String COL_TEST_VALUE = "TEST_VALUE"; public static final String COL_TEST_VALUE = "TEST_VALUE";
/** /**
* 需添加量 * 需添加量
*/ */
public static final String COL_NEED_ADD_VALUE = "NEED_ADD_VALUE"; public static final String COL_NEED_ADD_VALUE = "NEED_ADD_VALUE";
/** /**
* 实际添加量 * 实际添加量
*/ */
public static final String COL_ACTUAL_ADD_VALUE = "ACTUAL_ADD_VALUE"; public static final String COL_ACTUAL_ADD_VALUE = "ACTUAL_ADD_VALUE";
/** /**
* 加药后含量 * 加药后含量
*/ */
public static final String COL_AFTER_ADD_VALUE = "AFTER_ADD_VALUE"; public static final String COL_AFTER_ADD_VALUE = "AFTER_ADD_VALUE";
/** /**
* [班组]id * [班组]id
*/ */
public static final String COL_TEAM_ID = "TEAM_ID"; public static final String COL_TEAM_ID = "TEAM_ID";
/** /**
* 参数录入时间 * 参数录入时间
*/ */
public static final String COL_ENTRY_DATE = "ENTRY_DATE"; public static final String COL_ENTRY_DATE = "ENTRY_DATE";
/** /**
* 确认时间 * 确认时间
*/ */
public static final String COL_CONFIRM_DATE = "CONFIRM_DATE"; public static final String COL_CONFIRM_DATE = "CONFIRM_DATE";
/** /**
* 送出[用户]id * 送出[用户]id
*/ */
public static final String COL_SEND_USER_ID = "SEND_USER_ID"; public static final String COL_SEND_USER_ID = "SEND_USER_ID";
/** /**
* 送出时间 * 送出时间
*/ */
public static final String COL_SEND_DATE = "SEND_DATE"; public static final String COL_SEND_DATE = "SEND_DATE";
/** /**
* 接收[用户]id * 接收[用户]id
*/ */
public static final String COL_RECEIVE_USER_ID = "RECEIVE_USER_ID"; public static final String COL_RECEIVE_USER_ID = "RECEIVE_USER_ID";
/** /**
* 接收时间 * 接收时间
*/ */
public static final String COL_RECEIVE_DATE = "RECEIVE_DATE"; public static final String COL_RECEIVE_DATE = "RECEIVE_DATE";
/** /**
* 处理[用户]id * 处理[用户]id
*/ */
public static final String COL_HANDLE_USER_ID = "HANDLE_USER_ID"; public static final String COL_HANDLE_USER_ID = "HANDLE_USER_ID";
/** /**
* 处理时间 * 处理时间
*/ */
public static final String COL_HANDLE_DATE = "HANDLE_DATE"; public static final String COL_HANDLE_DATE = "HANDLE_DATE";
/** /**
* 来源类型:[1]:手动;[2]:周期自动生成;[3]:计算自动生成; * 来源类型-[1]:手动;[2]:周期自动生成;[3]:计算自动生成;
*/ */
public static final String COL_FROM_TYPE = "FROM_TYPE"; public static final String COL_FROM_TYPE = "FROM_TYPE";
/** /**
* 结束原因 * 结束原因
*/ */
public static final String COL_FINISH_REASON = "FINISH_REASON"; public static final String COL_FINISH_REASON = "FINISH_REASON";
/** /**
* [槽液检测任务]编码 * [槽液检测任务]编码
*/ */
@Schema(description = "[槽液检测任务]编码") @Schema(description = "[槽液检测任务]编码")
private String code; private String code;
/** /**
* 类型 * 类型
*/ */
@Schema(description = "类型") @Schema(description = "类型")
private Long liquidTankTaskType; private Long liquidTankTaskType;
/** /**
* 名称 * 名称
*/ */
@Schema(description = "名称") @Schema(description = "名称")
private String name; private String name;
/** /**
* [槽液]id * [槽液]id
*/ */
@Schema(description = "[槽液]id") @Schema(description = "[槽液]id")
private Long liquidTankId; private Long liquidTankId;
/** /**
* [作业中心]id * [作业中心]id
*/ */
@Schema(description = "[作业中心]id") @Schema(description = "[作业中心]id")
private Long workCenterId; private Long workCenterId;
/** /**
* 药品[物料]id * 药品[物料]id
*/ */
@Schema(description = "药品[物料]id") @Schema(description = "药品[物料]id")
private Long drugMaterialId; private Long drugMaterialId;
/** /**
* [槽液]编号 * [槽液]编号
*/ */
@Schema(description = "[槽液]编号") @Schema(description = "[槽液]编号")
private String liquidTankCode; private String liquidTankCode;
/** /**
* 待测成分 * 待测成分
*/ */
@Schema(description = "待测成分") @Schema(description = "待测成分")
private String testElement; private String testElement;
/** /**
* 药品名称 * 药品名称
*/ */
@Schema(description = "药品名称") @Schema(description = "药品名称")
private String drugName; private String drugName;
/** /**
* 药品[物料]编码 * 药品[物料]编码
*/ */
@Schema(description = "药品[物料]编码") @Schema(description = "药品[物料]编码")
private String drugMaterialCode; private String drugMaterialCode;
/** /**
* 药品物料名称 * 药品物料名称
*/ */
@Schema(description = "药品物料名称") @Schema(description = "药品物料名称")
private String drugMaterialName; private String drugMaterialName;
/** /**
* 工艺含量 * 工艺含量
*/ */
@Schema(description = "工艺含量") @Schema(description = "工艺含量")
private String processContent; private String processContent;
/** /**
* 目标值 * 目标值
*/ */
@Schema(description = "目标值") @Schema(description = "目标值")
private Long targetValue; private Long targetValue;
/** /**
* 目标上下限 * 目标上下限
*/ */
@Schema(description = "目标上下限") @Schema(description = "目标上下限")
private String bound; private String bound;
/** /**
* 排序 * 排序
*/ */
@Schema(description = "排序") @Schema(description = "排序")
private Long sort; private Long sort;
/** /**
* 备注 * 备注
*/ */
@Schema(description = "备注") @Schema(description = "备注")
private String remark; private String remark;
/** /**
* 添加点 * 添加点
*/ */
@Schema(description = "添加点") @Schema(description = "添加点")
private Long fillingLocation; private Long fillingLocation;
/** /**
* 电导率测量值 * 电导率测量值
*/ */
@Schema(description = "电导率测量值") @Schema(description = "电导率测量值")
private Long conductivityTestValue; private Long conductivityTestValue;
/** /**
* 体积 * 体积
*/ */
@Schema(description = "体积") @Schema(description = "体积")
private Long volume; private Long volume;
/** /**
* 单位 * 单位
*/ */
@Schema(description = "单位") @Schema(description = "单位")
private Long unit; private Long unit;
/** /**
* [计量单位]id * [计量单位]id
*/ */
@Schema(description = "[计量单位]id") @Schema(description = "[计量单位]id")
private Long unitId; private Long unitId;
/** /**
* 加药量单位 * 加药量单位
*/ */
@Schema(description = "加药量单位") @Schema(description = "加药量单位")
private String addUnit; private String addUnit;
/** /**
* 加药量[计量单位]id * 加药量[计量单位]id
*/ */
@Schema(description = "加药量[计量单位]id") @Schema(description = "加药量[计量单位]id")
private Long addUnitId; private Long addUnitId;
/** /**
* 分析周期 * 分析周期
*/ */
@Schema(description = "分析周期") @Schema(description = "分析周期")
private Integer analysisCycle; private Integer analysisCycle;
/** /**
* 有效期 * 有效期
*/ */
@Schema(description = "有效期") @Schema(description = "有效期")
private LocalDateTime validDate; private LocalDateTime validDate;
/** /**
* 上次化验日期 * 上次化验日期
*/ */
@Schema(description = "上次化验日期") @Schema(description = "上次化验日期")
private LocalDateTime lastTest; private LocalDateTime lastTest;
/** /**
* 槽液到期日期 * 槽液到期日期
*/ */
@Schema(description = "槽液到期日期") @Schema(description = "槽液到期日期")
private LocalDateTime expiryDate; private LocalDateTime expiryDate;
/** /**
* 化验人[用户]id * 化验人[用户]id
*/ */
@Schema(description = "化验人[用户]id") @Schema(description = "化验人[用户]id")
private Long testUserId; private Long testUserId;
/** /**
* 工艺主管[用户]id * 工艺主管[用户]id
*/ */
@Schema(description = "工艺主管[用户]id") @Schema(description = "工艺主管[用户]id")
private Long processUserId; private Long processUserId;
/** /**
* 测量值 * 测量值
*/ */
@Schema(description = "测量值") @Schema(description = "测量值")
private Long testValue; private Long testValue;
/** /**
* 需添加量 * 需添加量
*/ */
@Schema(description = "需添加量") @Schema(description = "需添加量")
private Long needAddValue; private Long needAddValue;
/** /**
* 实际添加量 * 实际添加量
*/ */
@Schema(description = "实际添加量") @Schema(description = "实际添加量")
private Long actualAddValue; private Long actualAddValue;
/** /**
* 加药后含量 * 加药后含量
*/ */
@Schema(description = "加药后含量") @Schema(description = "加药后含量")
private Long afterAddValue; private Long afterAddValue;
/** /**
* [班组]id * [班组]id
*/ */
@Schema(description = "[班组]id") @Schema(description = "[班组]id")
private Long teamId; private Long teamId;
/** /**
* 参数录入时间 * 参数录入时间
*/ */
@Schema(description = "参数录入时间") @Schema(description = "参数录入时间")
private LocalDateTime entryDate; private LocalDateTime entryDate;
/** /**
* 确认时间 * 确认时间
*/ */
@Schema(description = "确认时间") @Schema(description = "确认时间")
private LocalDateTime confirmDate; private LocalDateTime confirmDate;
/** /**
* 送出[用户]id * 送出[用户]id
*/ */
@Schema(description = "送出[用户]id") @Schema(description = "送出[用户]id")
private Long sendUserId; private Long sendUserId;
/** /**
* 送出时间 * 送出时间
*/ */
@Schema(description = "送出时间") @Schema(description = "送出时间")
private LocalDateTime sendDate; private LocalDateTime sendDate;
/** /**
* 接收[用户]id * 接收[用户]id
*/ */
@Schema(description = "接收[用户]id") @Schema(description = "接收[用户]id")
private Long receiveUserId; private Long receiveUserId;
/** /**
* 接收时间 * 接收时间
*/ */
@Schema(description = "接收时间") @Schema(description = "接收时间")
private LocalDateTime receiveDate; private LocalDateTime receiveDate;
/** /**
* 处理[用户]id * 处理[用户]id
*/ */
@Schema(description = "处理[用户]id") @Schema(description = "处理[用户]id")
private Long handleUserId; private Long handleUserId;
/** /**
* 处理时间 * 处理时间
*/ */
@Schema(description = "处理时间") @Schema(description = "处理时间")
private LocalDateTime handleDate; private LocalDateTime handleDate;
/** /**
* 来源类型:[1]:手动;[2]:周期自动生成;[3]:计算自动生成; * 来源类型-[1]:手动;[2]:周期自动生成;[3]:计算自动生成;
*/ */
@Schema(description = "来源类型:[1]:手动;[2]:周期自动生成;[3]:计算自动生成;") @Schema(description = "来源类型-[1]:手动;[2]:周期自动生成;[3]:计算自动生成;")
private Integer fromType; private Integer fromType;
/** /**
* 结束原因 * 结束原因
*/ */
@Schema(description = "结束原因") @Schema(description = "结束原因")
private String finishReason; private String finishReason;
} }

@ -0,0 +1,22 @@
package org.springblade.desk.quality.pojo.request;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.desk.quality.pojo.entity.CycleTestItem;
@Data
@EqualsAndHashCode(callSuper = true)
public class CycleTestItemSubmit extends CycleTestItem {
/**
* [周期试验标准]名称
*/
@Schema(description = "[周期试验标准]名称")
private String cycleTestStandardName;
/**
* [周期试验标准][附件]id
*/
@Schema(description = "[周期试验标准][附件]id")
private Long standardAttachId;
}

@ -1,19 +0,0 @@
package org.springblade.desk.quality.pojo.vo;
import lombok.Data;
import org.springblade.desk.quality.pojo.entity.CycleTestItem;
import org.springframework.beans.BeanUtils;
@Data
public class CycleTestItemStandardVO {
private Long id;
private String standard;
public static CycleTestItemStandardVO copy(CycleTestItem from) {
CycleTestItemStandardVO to = new CycleTestItemStandardVO();
BeanUtils.copyProperties(from, to);
return to;
}
}

@ -39,15 +39,20 @@ public class CycleTestGenVO extends CycleTest {
@Schema(description = "[周期试验项目]试验条件") @Schema(description = "[周期试验项目]试验条件")
private String cycleTestItemCondition; private String cycleTestItemCondition;
/** /**
* [周期试验项目]试验标准 * [周期试验标准]id
*/ */
@Schema(description = "[周期试验项目]试验标准") @Schema(description = "[周期试验标准]id")
private String cycleTestItemStandard; private Long cycleTestStandardId;
/** /**
* [周期试验项目]试验文件 * [周期试验标准]名称
*/ */
@Schema(description = "[周期试验项目]试验文件") @Schema(description = "[周期试验标准]名称")
private String cycleTestItemTestAttach; private String cycleTestStandardName;
/**
* [周期试验标准][附件]id
*/
@Schema(description = "[周期试验标准][附件]id")
private Long cycleTestStandardAttachId;
/** /**
* 工艺员[用户]姓名 * 工艺员[用户]姓名
*/ */

@ -3,8 +3,10 @@
*/ */
package org.springblade.desk.quality.pojo.vo.gen; package org.springblade.desk.quality.pojo.vo.gen;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import org.springblade.core.oss.model.BladeFile;
import org.springblade.desk.quality.pojo.entity.CycleTestItem; import org.springblade.desk.quality.pojo.entity.CycleTestItem;
import java.io.Serial; import java.io.Serial;
@ -19,6 +21,27 @@ import java.io.Serial;
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
public class CycleTestItemGenVO extends CycleTestItem { public class CycleTestItemGenVO extends CycleTestItem {
@Serial @Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/**
* [周期试验标准]名称
*/
@Schema(description = "[周期试验标准]名称")
private String cycleTestStandardName;
/**
* [周期试验标准][附件]id
*/
@Schema(description = "[周期试验标准][附件]id")
private Long standardAttachId;
/**
* [附件]附件地址
*/
@Schema(description = "[附件]附件地址")
private String link;
/**
* [附件]originalName
*/
@Schema(description = "[附件]originalName")
private String originalName;
} }

@ -0,0 +1,24 @@
/**
* Author: Tom Shuo
*/
package org.springblade.desk.quality.pojo.vo.gen;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.desk.quality.pojo.entity.CycleTestStandard;
import java.io.Serial;
/**
* [周期试验标准] 视图实体类
*
* @author Tom Shuo
* @since 2025-11-28
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class CycleTestStandardGenVO extends CycleTestStandard {
@Serial
private static final long serialVersionUID = 1L;
}

@ -35,10 +35,10 @@ public class CycleTestTaskGenVO extends CycleTestTask {
@Schema(description = "[周期试验项目]试验条件") @Schema(description = "[周期试验项目]试验条件")
private String cycleTestItemCondition; private String cycleTestItemCondition;
/** /**
* [周期试验项目]试验标准 * [周期试验标准]名称
*/ */
@Schema(description = "[周期试验项目]试验标准") @Schema(description = "[周期试验项目]试验标准")
private String cycleTestItemStandard; private String cycleTestStandardName;
/** /**
* 工艺员[用户]姓名 * 工艺员[用户]姓名
*/ */
@ -59,4 +59,20 @@ public class CycleTestTaskGenVO extends CycleTestTask {
*/ */
@Schema(description = "状态名称") @Schema(description = "状态名称")
private String statusName; private String statusName;
/**
* 临期天数 =任务计划结束日期-当前日期
* todo:
*/
@Schema(description = "临期天数 =任务计划结束日期-当前日期")
private Integer countDayToPlanedFinish = 2;
/**
* 填报[附件]附件地址
*/
@Schema(description = "填报[附件]附件地址")
private String link;
/**
* 填报[附件]originalName
*/
@Schema(description = "填报[附件]originalName")
private String originalName;
} }

@ -1,17 +1,29 @@
package org.springblade.desk.quality.service; package org.springblade.desk.quality.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.v3.oas.annotations.Parameter;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import lombok.Data; import lombok.Data;
import org.apache.commons.lang3.StringUtils; import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R; import org.springblade.core.tool.api.R;
import org.springblade.desk.quality.constant.BaseCol; import org.springblade.desk.quality.constant.BaseCol;
import org.springblade.desk.quality.mapper.gen.CycleTestItemGenMapper; import org.springblade.desk.quality.mapper.gen.CycleTestItemGenMapper;
import org.springblade.desk.quality.pojo.entity.CycleTestItem; import org.springblade.desk.quality.pojo.entity.CycleTestItem;
import org.springblade.desk.quality.pojo.vo.CycleTestItemStandardVO; import org.springblade.desk.quality.pojo.entity.CycleTestStandard;
import org.springblade.desk.quality.pojo.request.CycleTestItemSubmit;
import org.springblade.desk.quality.pojo.vo.gen.CycleTestItemGenVO;
import org.springblade.desk.quality.service.gen.ICycleTestItemGenService;
import org.springblade.desk.quality.service.gen.ICycleTestStandardGenService;
import org.springblade.desk.quality.wrapper.gen.CycleTestItemGenWrapper;
import org.springblade.resource.feign.IAttachClient;
import org.springblade.resource.pojo.entity.Attach;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@Service @Service
@ -20,6 +32,91 @@ public class CycleTestItemService {
@Resource @Resource
private CycleTestItemGenMapper genMapper; private CycleTestItemGenMapper genMapper;
@Resource
private ICycleTestItemGenService genService;
@Resource
private ICycleTestStandardGenService standardGenService;
@Resource
private CycleTestStandardService standardService;
@Resource
private IAttachClient attachClient;
/**
* list
*
* @param cycleTestItem
* @param query
* @return
*/
public R<IPage<CycleTestItemGenVO>> list(@Parameter(hidden = true) @RequestParam Map<String, Object> cycleTestItem,
Query query) {
IPage<CycleTestItem> pages = genService.page(
Condition.getPage(query),
Condition.getQueryWrapper(cycleTestItem, CycleTestItem.class)
.orderByAsc(BaseCol.ID)
);
IPage<CycleTestItemGenVO> pagesVO = CycleTestItemGenWrapper.build().pageVO(pages);
pagesVO.getRecords()
.stream()
.peek(this::setVoValue)
.collect(Collectors.toList());
return R.data(pagesVO);
}
/**
* search
*
* @param cycleTestItem
* @param query
* @return
*/
public R<IPage<CycleTestItemGenVO>> page(CycleTestItemGenVO cycleTestItem, Query query) {
IPage<CycleTestItem> pages = genService.selectCycleTestItemPage(
Condition.getPage(query),
cycleTestItem
);
IPage<CycleTestItemGenVO> pagesVO = CycleTestItemGenWrapper.build().pageVO(pages);
pagesVO.getRecords()
.stream()
.peek(this::setVoValue)
.collect(Collectors.toList());
return R.data(pagesVO);
}
public R save(CycleTestItemSubmit submit) {
submit.setId(null);
if (submit.getCycleTestStandardId() == null || submit.getCycleTestStandardId() == 0L) {
if (standardService.existByName(submit.getCycleTestStandardName())) {
return R.fail("周期试验标准名称重复!");
}
CycleTestStandard standard = new CycleTestStandard();
standard.setStandardAttachId(submit.getStandardAttachId());
standard.setName(submit.getCycleTestStandardName());
standard.setStandardAttachId(submit.getStandardAttachId());
standardGenService.save(standard);
submit.setCycleTestStandardId(standard.getId());
} else {
submit.setCycleTestStandardId(submit.getCycleTestStandardId());
}
return R.status(genService.save(submit));
}
public R update(CycleTestItemSubmit submit) {
if (submit.getCycleTestStandardId() == null || submit.getCycleTestStandardId() == 0L) {
if (standardService.existByName(submit.getCycleTestStandardName())) {
return R.fail("周期试验标准名称重复!");
}
CycleTestStandard standard = new CycleTestStandard();
standard.setStandardAttachId(submit.getStandardAttachId());
standard.setName(submit.getCycleTestStandardName());
standard.setStandardAttachId(submit.getStandardAttachId());
standardGenService.save(standard);
submit.setCycleTestStandardId(standard.getId());
} else {
submit.setCycleTestStandardId(submit.getCycleTestStandardId());
}
return R.status(genService.updateById(submit));
}
/** /**
* 所有供下拉选择 * 所有供下拉选择
@ -33,17 +130,19 @@ public class CycleTestItemService {
)); ));
} }
public R<List<CycleTestItemStandardVO>> listForSelectStandard() { public void setVoValue(CycleTestItemGenVO vo) {
List<CycleTestItem> listFrom = genMapper.selectList( CycleTestStandard standard = standardGenService.getById(vo.getCycleTestStandardId());
new QueryWrapper<CycleTestItem>() if (standard != null) {
.orderByAsc(BaseCol.ID) vo.setCycleTestStandardName(standard.getName());
); }
return R.data( Attach attach = null;
listFrom.stream() if (standard != null) {
// getStandard check isNotBlank. Attach f = new Attach();
.filter(item -> StringUtils.isNotBlank(item.getStandard())) f.setId(standard.getStandardAttachId());
.map(CycleTestItemStandardVO::copy) attach = attachClient.detail(f).getData();
.collect(Collectors.toList()) vo.setStandardAttachId(attach.getId());
); vo.setLink(attach.getLink());
vo.setOriginalName(attach.getOriginalName());
}
} }
} }

@ -11,13 +11,18 @@ import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.Func;
import org.springblade.desk.dashboard.service.IBsPlatingService; import org.springblade.desk.dashboard.service.IBsPlatingService;
import org.springblade.desk.quality.constant.BaseCol; import org.springblade.desk.quality.constant.BaseCol;
import org.springblade.desk.quality.constant.CycleTestTaskConst;
import org.springblade.desk.quality.mapper.gen.CycleTestGenMapper; import org.springblade.desk.quality.mapper.gen.CycleTestGenMapper;
import org.springblade.desk.quality.pojo.entity.CycleTest; import org.springblade.desk.quality.pojo.entity.CycleTest;
import org.springblade.desk.quality.pojo.entity.CycleTestItem; import org.springblade.desk.quality.pojo.entity.CycleTestItem;
import org.springblade.desk.quality.pojo.entity.CycleTestStandard;
import org.springblade.desk.quality.pojo.vo.gen.CycleTestGenVO; import org.springblade.desk.quality.pojo.vo.gen.CycleTestGenVO;
import org.springblade.desk.quality.service.gen.ICycleTestGenService; import org.springblade.desk.quality.service.gen.ICycleTestGenService;
import org.springblade.desk.quality.service.gen.ICycleTestItemGenService; import org.springblade.desk.quality.service.gen.ICycleTestItemGenService;
import org.springblade.desk.quality.service.gen.ICycleTestStandardGenService;
import org.springblade.desk.quality.wrapper.gen.CycleTestGenWrapper; import org.springblade.desk.quality.wrapper.gen.CycleTestGenWrapper;
import org.springblade.resource.feign.IAttachClient;
import org.springblade.resource.pojo.entity.Attach;
import org.springblade.system.feign.IDictClient; import org.springblade.system.feign.IDictClient;
import org.springblade.system.feign.IUserClient; import org.springblade.system.feign.IUserClient;
import org.springblade.system.pojo.entity.UserInfo; import org.springblade.system.pojo.entity.UserInfo;
@ -41,11 +46,15 @@ public class CycleTestService {
@Resource @Resource
private ICycleTestItemGenService itemGenService; private ICycleTestItemGenService itemGenService;
@Resource @Resource
private ICycleTestStandardGenService standardGenService;
@Resource
private IBsPlatingService bsPlatingService; private IBsPlatingService bsPlatingService;
@Resource @Resource
private IUserClient userClient; private IUserClient userClient;
@Resource @Resource
private IDictClient dictClient; private IDictClient dictClient;
@Resource
private IAttachClient attachClient;
public R updateProcessUserBat(String ids, Long processUserId) { public R updateProcessUserBat(String ids, Long processUserId) {
List<Long> list = Func.toLongList(ids); List<Long> list = Func.toLongList(ids);
@ -107,17 +116,26 @@ public class CycleTestService {
public void setVoValue(CycleTestGenVO vo) { public void setVoValue(CycleTestGenVO vo) {
{ {
R<UserInfo> ui = userClient.userInfo(vo.getUpdateUser()); R<UserInfo> ui = userClient.userInfo(vo.getUpdateUser());
if (!Objects.isNull(ui)) { if (!Objects.isNull(ui.getData().getUser())) {
vo.setUpdateUserName(ui.getData().getUser().getName()); vo.setUpdateUserName(ui.getData().getUser().getName());
} }
} }
CycleTestItem item = itemGenService.getById(vo.getCycleTestItemId()); CycleTestItem item = itemGenService.getById(vo.getCycleTestItemId());
CycleTestStandard standard = standardGenService.getById(item.getCycleTestStandardId());
Long standardAttachId = standard.getStandardAttachId();
Attach attach = null;
{
Attach attachFind = new Attach();
attachFind.setId(standardAttachId);
attach = attachClient.detail(attachFind).getData();
}
if (!Objects.isNull(item)) { if (!Objects.isNull(item)) {
vo.setCycleTestItemName(item.getName()); vo.setCycleTestItemName(item.getName());
vo.setCycleTestItemCondition(item.getCondition()); vo.setCycleTestItemCondition(item.getCondition());
vo.setCycleTestItemStandard(item.getStandard()); vo.setCycleTestStandardId(item.getCycleTestStandardId());
vo.setCycleTestStandardName(standard.getName());
} }
vo.setCycleTestItemTestAttach(item.getTestAttachId() + ""); vo.setCycleTestStandardAttachId(standardAttachId);
{ {
R<UserInfo> ui = userClient.userInfo(vo.getProcessUserId()); R<UserInfo> ui = userClient.userInfo(vo.getProcessUserId());
if (!Objects.isNull(ui)) { if (!Objects.isNull(ui)) {
@ -127,6 +145,6 @@ public class CycleTestService {
if (vo.getPlateId() != null && vo.getPlateId() != 0L) { if (vo.getPlateId() != null && vo.getPlateId() != 0L) {
vo.setPlateName(bsPlatingService.getById(vo.getPlateId()).getPlate()); vo.setPlateName(bsPlatingService.getById(vo.getPlateId()).getPlate());
} }
vo.setTestTypeName(dictClient.getValue("testPiece", "" + vo.getTestType()).getData()); vo.setTestTypeName(dictClient.getValue(CycleTestTaskConst.DICT_TEST_PIECE, "" + vo.getTestType()).getData());
} }
} }

@ -0,0 +1,58 @@
package org.springblade.desk.quality.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import jakarta.annotation.Resource;
import jakarta.validation.Valid;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.tool.api.R;
import org.springblade.desk.quality.constant.BaseCol;
import org.springblade.desk.quality.mapper.gen.CycleTestStandardGenMapper;
import org.springblade.desk.quality.pojo.entity.CycleTestStandard;
import org.springblade.desk.quality.service.gen.ICycleTestStandardGenService;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
@Service
@Data
@Slf4j
public class CycleTestStandardService {
@Resource
private ICycleTestStandardGenService genService;
@Resource
private CycleTestStandardGenMapper genMapper;
public Boolean existByName(String name) {
QueryWrapper<CycleTestStandard> qw = new QueryWrapper<CycleTestStandard>()
.eq(CycleTestStandard.COL_NAME, name);
CycleTestStandard find = genService.getOne(qw);
if (find == null) {
return false;
} else {
return true;
}
}
public R submit(@Valid @RequestBody CycleTestStandard cycleTestStandard) {
// 根据name判断是新增还是修改。
QueryWrapper<CycleTestStandard> qw = new QueryWrapper<CycleTestStandard>()
.eq(CycleTestStandard.COL_NAME, cycleTestStandard.getName());
CycleTestStandard find = genService.getOne(qw);
if (find == null) {
return R.status(genService.save(cycleTestStandard));
} else {
return R.status(genService.updateById(cycleTestStandard));
}
}
public R<List<CycleTestStandard>> listForSelect() {
List<CycleTestStandard> list = genMapper.selectList(
new QueryWrapper<CycleTestStandard>()
.orderByAsc(BaseCol.ID)
);
return R.data(list);
}
}

@ -1,5 +1,6 @@
package org.springblade.desk.quality.service; package org.springblade.desk.quality.service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Parameter;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
@ -15,11 +16,15 @@ import org.springblade.desk.quality.mapper.gen.CycleTestGenMapper;
import org.springblade.desk.quality.mapper.gen.CycleTestTaskGenMapper; import org.springblade.desk.quality.mapper.gen.CycleTestTaskGenMapper;
import org.springblade.desk.quality.pojo.entity.CycleTest; import org.springblade.desk.quality.pojo.entity.CycleTest;
import org.springblade.desk.quality.pojo.entity.CycleTestItem; import org.springblade.desk.quality.pojo.entity.CycleTestItem;
import org.springblade.desk.quality.pojo.entity.CycleTestStandard;
import org.springblade.desk.quality.pojo.entity.CycleTestTask; import org.springblade.desk.quality.pojo.entity.CycleTestTask;
import org.springblade.desk.quality.pojo.vo.gen.CycleTestTaskGenVO; import org.springblade.desk.quality.pojo.vo.gen.CycleTestTaskGenVO;
import org.springblade.desk.quality.service.gen.ICycleTestItemGenService; import org.springblade.desk.quality.service.gen.ICycleTestItemGenService;
import org.springblade.desk.quality.service.gen.ICycleTestStandardGenService;
import org.springblade.desk.quality.service.gen.ICycleTestTaskGenService; import org.springblade.desk.quality.service.gen.ICycleTestTaskGenService;
import org.springblade.desk.quality.wrapper.gen.CycleTestTaskGenWrapper; import org.springblade.desk.quality.wrapper.gen.CycleTestTaskGenWrapper;
import org.springblade.resource.feign.IAttachClient;
import org.springblade.resource.pojo.entity.Attach;
import org.springblade.system.feign.IDictClient; import org.springblade.system.feign.IDictClient;
import org.springblade.system.feign.IUserClient; import org.springblade.system.feign.IUserClient;
import org.springblade.system.pojo.entity.UserInfo; import org.springblade.system.pojo.entity.UserInfo;
@ -30,6 +35,8 @@ import java.time.Instant;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.ZoneId; import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Objects; import java.util.Objects;
@ -52,6 +59,8 @@ public class CycleTestTaskService {
@Resource @Resource
private CycleTestGenMapper cycleTestGenMapper; private CycleTestGenMapper cycleTestGenMapper;
@Resource @Resource
private ICycleTestStandardGenService standardGenService;
@Resource
private ICycleTestItemGenService itemGenService; private ICycleTestItemGenService itemGenService;
@Resource @Resource
private ICycleTestTaskGenService genService; private ICycleTestTaskGenService genService;
@ -59,6 +68,8 @@ public class CycleTestTaskService {
private IUserClient userClient; private IUserClient userClient;
@Resource @Resource
private IDictClient dictClient; private IDictClient dictClient;
@Resource
private IAttachClient attachClient;
/** /**
* list * list
@ -140,6 +151,7 @@ public class CycleTestTaskService {
CycleTestTask task = new CycleTestTask(); CycleTestTask task = new CycleTestTask();
// set value. // set value.
{ {
task.setCode(genCode());
task.setCycleTestTaskType(CycleTestTaskConst.TYPE_ONE_TIME); task.setCycleTestTaskType(CycleTestTaskConst.TYPE_ONE_TIME);
task.setCycleTestItemId(ct.getCycleTestItemId()); task.setCycleTestItemId(ct.getCycleTestItemId());
task.setStatus(CycleTestTaskConst.STATE_PENDING_ISSUE); task.setStatus(CycleTestTaskConst.STATE_PENDING_ISSUE);
@ -220,6 +232,7 @@ public class CycleTestTaskService {
CycleTestTask task = genMapper.selectById(id); CycleTestTask task = genMapper.selectById(id);
task.setStatus(CycleTestTaskConst.STATE_PENDING_TEST); task.setStatus(CycleTestTaskConst.STATE_PENDING_TEST);
task.setAcceptDate(LocalDateTime.now()); task.setAcceptDate(LocalDateTime.now());
genMapper.updateById(task);
return R.success("接受任务成功"); return R.success("接受任务成功");
} }
@ -227,24 +240,30 @@ public class CycleTestTaskService {
* 填报 * 填报
* *
* @param id * @param id
* @param isDone
* @param testDate * @param testDate
* @param testAttachId * @param testAttachId
* @param reasonForNo
* @return * @return
*/ */
public R<Boolean> fill(Long id, LocalDate testDate, Long testAttachId) { public R<Boolean> fill(Long id, Integer isDone, LocalDate testDate, Long testAttachId, String reasonForNo) {
CycleTestTask task = genMapper.selectById(id); CycleTestTask task = genMapper.selectById(id);
task.setIsDone(isDone);
task.setTestDate(testDate); task.setTestDate(testDate);
task.setTestAttachId(testAttachId); task.setTestAttachId(testAttachId);
task.setStatus(CycleTestTaskConst.STATE_FINISH_OK); task.setStatus(CycleTestTaskConst.STATE_FINISH_OK);
task.setFinishDate(LocalDateTime.now()); task.setFinishDate(LocalDateTime.now());
task.setReasonForNo(reasonForNo);
genMapper.updateById(task);
return R.success(); return R.success();
} }
private void setVoValue(CycleTestTaskGenVO vo) { public void setVoValue(CycleTestTaskGenVO vo) {
CycleTestItem item = itemGenService.getById(vo.getCycleTestItemId()); CycleTestItem item = itemGenService.getById(vo.getCycleTestItemId());
CycleTestStandard standard = standardGenService.getById(item.getCycleTestStandardId());
vo.setCycleTestItemName(item.getName()); vo.setCycleTestItemName(item.getName());
vo.setCycleTestItemCondition(item.getCondition()); vo.setCycleTestItemCondition(item.getCondition());
vo.setCycleTestItemStandard(item.getStandard()); vo.setCycleTestStandardName(standard.getName());
{ {
R<UserInfo> ui = userClient.userInfo(vo.getProcessUserId()); R<UserInfo> ui = userClient.userInfo(vo.getProcessUserId());
if (!Objects.isNull(ui)) { if (!Objects.isNull(ui)) {
@ -256,7 +275,63 @@ public class CycleTestTaskService {
LocalDateTime ldt = instant.atZone(ZoneId.systemDefault()).toLocalDateTime(); LocalDateTime ldt = instant.atZone(ZoneId.systemDefault()).toLocalDateTime();
vo.setGenDatetime(ldt); vo.setGenDatetime(ldt);
} }
vo.setTestTypeName(dictClient.getValue("testPiece", "" + vo.getTestType()).getData()); vo.setTestTypeName(dictClient.getValue(CycleTestTaskConst.DICT_TEST_PIECE, "" + vo.getTestType()).getData());
vo.setStatusName(dictClient.getValue("CycleTestTask-Status", "" + vo.getStatus()).getData()); vo.setStatusName(dictClient.getValue(CycleTestTaskConst.DICT_STATUS, "" + vo.getStatus()).getData());
if (vo.getTestAttachId() != null && vo.getTestAttachId() != 0L) {
Attach f = new Attach();
f.setId(vo.getTestAttachId());
Attach attach = attachClient.detail(f).getData();
if (!Objects.isNull(attach)) {
vo.setLink(attach.getLink());
vo.setOriginalName(attach.getOriginalName());
}
}
}
/**
* 计算任务 周期性任务 下发日期/任务生成日期
*
* @return
*/
public LocalDate cal() {
return null;
}
public String genCode() {
StringBuilder sb = new StringBuilder();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd");
sb.append(LocalDate.now().format(formatter));
sb.append(String.format("%04d", countTodayGenTask() + 1));
log.info("{}", countTodayGenTask());
return sb.toString();
}
/**
* 统计当天已经生成的任务总数
*
* @return
*/
public Long countTodayGenTask() {
Instant leftInstant = LocalDate.now()
.atStartOfDay()
.atZone(ZoneId.systemDefault())
.toInstant();
Instant rightInstant = LocalDate.now()
.atTime(23, 59, 59, 999)
.atZone(ZoneId.systemDefault())
.toInstant();
return genMapper.selectCount(
new LambdaQueryWrapper<CycleTestTask>()
.between(CycleTestTask::getCreateTime,
Date.from(leftInstant), Date.from(rightInstant))
);
} }
// @Resource
// private MinioTemplate minioTemplate;
//
// public R testMinio() {
// OssFile ossFile = minioTemplate.statFile("00000000.JPG");
// log.info("{}", ossFile);
// return R.success("");
// }
} }

@ -7,6 +7,8 @@ import org.springblade.core.tool.api.R;
import org.springblade.desk.quality.constant.JobInfoConst; import org.springblade.desk.quality.constant.JobInfoConst;
import org.springblade.job.feign.IJobExtClient; import org.springblade.job.feign.IJobExtClient;
import org.springblade.job.pojo.entity.JobInfo; import org.springblade.job.pojo.entity.JobInfo;
import org.springblade.resource.feign.IAttachClient;
import org.springblade.resource.pojo.entity.Attach;
import org.springblade.system.feign.IUserClient; import org.springblade.system.feign.IUserClient;
import org.springblade.system.pojo.entity.User; import org.springblade.system.pojo.entity.User;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -21,6 +23,8 @@ public class TestService {
@Resource @Resource
private IJobExtClient jobExtClient; private IJobExtClient jobExtClient;
@Resource
private IAttachClient attachClient;
public R<User> getOneUser(Long userId) { public R<User> getOneUser(Long userId) {
return userClient.userInfoById(userId); return userClient.userInfoById(userId);
@ -38,8 +42,15 @@ public class TestService {
// j.setDispatchStrategy(JobInfoConst.DISPATCH_STRATEGY_1); // j.setDispatchStrategy(JobInfoConst.DISPATCH_STRATEGY_1);
// j.setProcessorInfo("org.springblade.job.processor.ProcessorDemo"); // j.setProcessorInfo("org.springblade.job.processor.ProcessorDemo");
// jobExtClient.submitAndSync(j); // jobExtClient.submitAndSync(j);
// 最后同步。 // 最后同步。
jobExtClient.sync(); // jobExtClient.sync();
Attach f = new Attach();
f.setId(1994233923445481474L);
R<Attach> r = attachClient.detail(f);
log.info("test1 = {}", r);
return R.data(Boolean.TRUE); return R.data(Boolean.TRUE);
} }
} }

@ -19,21 +19,22 @@ import java.util.List;
* @since 2025-11-17 * @since 2025-11-17
*/ */
public interface ICycleTestItemGenService extends BaseService<CycleTestItem> { public interface ICycleTestItemGenService extends BaseService<CycleTestItem> {
/** /**
* 自定义分页 * 自定义分页
* *
* @param page 分页参数 * @param page 分页参数
* @param cycleTestItem 查询参数 * @param cycleTestItem 查询参数
* @return IPage<CycleTestItemVO> * @return IPage<CycleTestItemVO>
*/ */
IPage<CycleTestItemGenVO> selectCycleTestItemPage(IPage<CycleTestItemGenVO> page, CycleTestItemGenVO cycleTestItem); IPage<CycleTestItem> selectCycleTestItemPage(IPage<CycleTestItem> page,
CycleTestItemGenVO cycleTestItem);
/** /**
* 导出数据 * 导出数据
* *
* @param queryWrapper 查询条件 * @param queryWrapper 查询条件
* @return List<CycleTestItemExcel> * @return List<CycleTestItemExcel>
*/ */
List<CycleTestItemGenExcel> exportCycleTestItem(Wrapper<CycleTestItem> queryWrapper); List<CycleTestItemGenExcel> exportCycleTestItem(Wrapper<CycleTestItem> queryWrapper);
} }

@ -0,0 +1,39 @@
/**
* Author: Tom Shuo
*/
package org.springblade.desk.quality.service.gen;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseService;
import org.springblade.desk.quality.excel.gen.CycleTestStandardGenExcel;
import org.springblade.desk.quality.pojo.entity.CycleTestStandard;
import org.springblade.desk.quality.pojo.vo.gen.CycleTestStandardGenVO;
import java.util.List;
/**
* [周期试验标准] 服务类
*
* @author Tom Shuo
* @since 2025-11-28
*/
public interface ICycleTestStandardGenService extends BaseService<CycleTestStandard> {
/**
* 自定义分页
*
* @param page 分页参数
* @param cycleTestStandard 查询参数
* @return IPage<CycleTestStandardVO>
*/
IPage<CycleTestStandard> selectCycleTestStandardPage(IPage<CycleTestStandard> page,
CycleTestStandardGenVO cycleTestStandard);
/**
* 导出数据
*
* @param queryWrapper 查询条件
* @return List<CycleTestStandardExcel>
*/
List<CycleTestStandardGenExcel> exportCycleTestStandard(Wrapper<CycleTestStandard> queryWrapper);
}

@ -26,7 +26,7 @@ public class CycleTestItemGenServiceImpl extends BaseServiceImpl<CycleTestItemGe
implements ICycleTestItemGenService { implements ICycleTestItemGenService {
@Override @Override
public IPage<CycleTestItemGenVO> selectCycleTestItemPage(IPage<CycleTestItemGenVO> page, public IPage<CycleTestItem> selectCycleTestItemPage(IPage<CycleTestItem> page,
CycleTestItemGenVO cycleTestItem) { CycleTestItemGenVO cycleTestItem) {
return page.setRecords(baseMapper.selectCycleTestItemPage(page, cycleTestItem)); return page.setRecords(baseMapper.selectCycleTestItemPage(page, cycleTestItem));
} }

@ -0,0 +1,42 @@
/**
* Author: Tom Shuo
*/
package org.springblade.desk.quality.service.impl.gen;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.desk.quality.excel.gen.CycleTestStandardGenExcel;
import org.springblade.desk.quality.mapper.gen.CycleTestStandardGenMapper;
import org.springblade.desk.quality.pojo.entity.CycleTestStandard;
import org.springblade.desk.quality.pojo.vo.gen.CycleTestStandardGenVO;
import org.springblade.desk.quality.service.gen.ICycleTestStandardGenService;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* [周期试验标准] 服务实现类
*
* @author Tom Shuo
* @since 2025-11-28
*/
@Service
public class CycleTestStandardGenServiceImpl extends BaseServiceImpl<CycleTestStandardGenMapper, CycleTestStandard>
implements ICycleTestStandardGenService {
@Override
public IPage<CycleTestStandard> selectCycleTestStandardPage(IPage<CycleTestStandard> page,
CycleTestStandardGenVO q) {
return page.setRecords(baseMapper.selectCycleTestStandardPage(page, q));
}
@Override
public List<CycleTestStandardGenExcel> exportCycleTestStandard(Wrapper<CycleTestStandard> queryWrapper) {
List<CycleTestStandardGenExcel> cycleTestStandardList = baseMapper.exportCycleTestStandard(queryWrapper);
//cycleTestStandardList.forEach(cycleTestStandard -> {
// cycleTestStandard.setTypeName(DictCache.getValue(DictEnum.YES_NO, CycleTestStandard.getType()));
//});
return cycleTestStandardList;
}
}

@ -0,0 +1,7 @@
package org.springblade.desk.quality.util;
import java.time.LocalDate;
public class CycleTestTaskUtil {
}

@ -0,0 +1,36 @@
/**
* Author: Tom Shuo
*/
package org.springblade.desk.quality.wrapper.gen;
import org.springblade.core.mp.support.BaseEntityWrapper;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.desk.quality.pojo.entity.CycleTestStandard;
import org.springblade.desk.quality.pojo.vo.gen.CycleTestStandardGenVO;
import java.util.Objects;
/**
* [周期试验标准] 包装类,返回视图层所需的字段
*
* @author Tom Shuo
* @since 2025-11-28
*/
public class CycleTestStandardGenWrapper extends BaseEntityWrapper<CycleTestStandard, CycleTestStandardGenVO> {
public static CycleTestStandardGenWrapper build() {
return new CycleTestStandardGenWrapper();
}
@Override
public CycleTestStandardGenVO entityVO(CycleTestStandard cycleTestStandard) {
CycleTestStandardGenVO cycleTestStandardVO = Objects.requireNonNull(BeanUtil.copyProperties(cycleTestStandard, CycleTestStandardGenVO.class));
//User createUser = UserCache.getUser(cycleTestStandard.getCreateUser());
//User updateUser = UserCache.getUser(cycleTestStandard.getUpdateUser());
//cycleTestStandardVO.setCreateUserName(createUser.getName());
//cycleTestStandardVO.setUpdateUserName(updateUser.getName());
return cycleTestStandardVO;
}
}
Loading…
Cancel
Save