diff --git a/blade-ops/blade-develop/src/main/java/org/springblade/desk/zz/package-info.java b/blade-ops/blade-develop/src/main/java/org/springblade/desk/zz/package-info.java new file mode 100644 index 0000000..eff725a --- /dev/null +++ b/blade-ops/blade-develop/src/main/java/org/springblade/desk/zz/package-info.java @@ -0,0 +1 @@ +package org.springblade.desk.zz; \ No newline at end of file diff --git a/blade-ops/blade-develop/src/test/java/org/springblade/test/CodeGeneratorVer2.java b/blade-ops/blade-develop/src/test/java/org/springblade/test/CodeGeneratorVer2.java index 58cba8f..0719bbf 100644 --- a/blade-ops/blade-develop/src/test/java/org/springblade/test/CodeGeneratorVer2.java +++ b/blade-ops/blade-develop/src/test/java/org/springblade/test/CodeGeneratorVer2.java @@ -41,7 +41,7 @@ public class CodeGeneratorVer2 { /** * 代码生成的模块名 */ - public static String CODE_NAME = "[检验项目]"; + public static String CODE_NAME = "[槽液]"; /** * 代码所在服务名 */ @@ -57,7 +57,7 @@ public class CodeGeneratorVer2 { /** * 需要生成的表名(两者只能取其一) */ - public static String[] INCLUDE_TABLES = {"QA_INSPECTION_ITEM"}; + public static String[] INCLUDE_TABLES = {"QA_LIQUID_TANK"}; /** * 需要排除的表名(两者只能取其一) */ diff --git a/blade-ops/blade-develop/src/test/resources/templates/code.properties b/blade-ops/blade-develop/src/test/resources/templates/code.properties index 41e14ba..57bdf67 100644 --- a/blade-ops/blade-develop/src/test/resources/templates/code.properties +++ b/blade-ops/blade-develop/src/test/resources/templates/code.properties @@ -6,7 +6,7 @@ # QA spring.datasource.driver-class-name=oracle.jdbc.OracleDriver -spring.datasource.url=jdbc:oracle:thin:@192.168.76.128:1521/orcl +spring.datasource.url=jdbc:oracle:thin:@192.168.76.131:1521/orcl spring.datasource.username=JONHON_MES spring.datasource.password=oracle123456 author=Tom Shuo \ No newline at end of file diff --git a/blade-ops/blade-job/src/main/java/org/springblade/job/processor/quality/LquidTankTaskProcessor.java b/blade-ops/blade-job/src/main/java/org/springblade/job/processor/quality/LquidTankTaskProcessor.java new file mode 100644 index 0000000..6049153 --- /dev/null +++ b/blade-ops/blade-job/src/main/java/org/springblade/job/processor/quality/LquidTankTaskProcessor.java @@ -0,0 +1,27 @@ +package org.springblade.job.processor.quality; + +import jakarta.annotation.Resource; +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; +import tech.powerjob.worker.log.OmsLogger; + +@Slf4j +@Component +public class LquidTankTaskProcessor implements BasicProcessor { + + @Resource + private ILquidTankTaskClient lquidTankTaskClient; + + @Override + public ProcessResult process(TaskContext context) throws Exception { + OmsLogger omsLogger = context.getOmsLogger(); + omsLogger.info("InspectionTaskGenJob start"); + lquidTankTaskClient.generate(); + omsLogger.info("InspectionTaskGenJob end"); + return null; + } +} diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/feign/ILquidTankTaskClient.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/feign/ILquidTankTaskClient.java new file mode 100644 index 0000000..3b7142d --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/feign/ILquidTankTaskClient.java @@ -0,0 +1,21 @@ +package org.springblade.desk.quality.feign; + +import org.springblade.core.launch.constant.AppConstant; +import org.springblade.desk.quality.pojo.entity.LiquidTankTask; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; + +import java.util.List; + +@FeignClient( + value = AppConstant.APPLICATION_DESK_NAME +) +public interface ILquidTankTaskClient { + + String API_PREFIX = "/feign/client/lquid-tank-task"; + + String GENERATE = API_PREFIX + "/generate"; + + @GetMapping(GENERATE) + public List generate(); +} diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/LiquidTankTask.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/LiquidTankTask.java new file mode 100644 index 0000000..2a1f27f --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/LiquidTankTask.java @@ -0,0 +1,246 @@ +/** + * 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; +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + * [槽液检测任务] 实体类 + * + * @author Tom Shuo + * @since 2025-11-14 + */ +@Data +@Schema(description = "LiquidTankTask Entity对象") +@EqualsAndHashCode(callSuper = true) +public class LiquidTankTask extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * [槽液检测任务]编码 + */ + @Schema(description = "[槽液检测任务]编码") + private String code; + /** + * 类型 + */ + @Schema(description = "类型") + private Long liquidTankTaskType; + /** + * 名称 + */ + @Schema(description = "名称") + private String name; + /** + * [槽液]id + */ + @Schema(description = "[槽液]id") + private Long liquidTankId; + /** + * [作业中心]id + */ + @Schema(description = "[作业中心]id") + private Long workCenterId; + /** + * 药品[物料]id + */ + @Schema(description = "药品[物料]id") + private Long drugMaterialId; + /** + * [槽液]编号 + */ + @Schema(description = "[槽液]编号") + private String liquidTankCode; + /** + * 待测成分 + */ + @Schema(description = "待测成分") + private String testElement; + /** + * 药品名称 + */ + @Schema(description = "药品名称") + private String drugName; + /** + * 药品[物料]编码 + */ + @Schema(description = "药品[物料]编码") + private String drugMaterialCode; + /** + * 药品物料名称 + */ + @Schema(description = "药品物料名称") + private String drugMaterialName; + /** + * 工艺含量 + */ + @Schema(description = "工艺含量") + private String processContent; + /** + * 目标值 + */ + @Schema(description = "目标值") + private BigDecimal targetValue; + /** + * 目标上下限 + */ + @Schema(description = "目标上下限") + private String bound; + /** + * 排序 + */ + @Schema(description = "排序") + private Long sort; + /** + * 备注 + */ + @Schema(description = "备注") + private String remark; + /** + * 添加点 + */ + @Schema(description = "添加点") + private BigDecimal fillingLocation; + /** + * 电导率测量值 + */ + @Schema(description = "电导率测量值") + private BigDecimal conductivityTestValue; + /** + * 体积 + */ + @Schema(description = "体积") + private BigDecimal volume; + /** + * 单位 + */ + @Schema(description = "单位") + private BigDecimal unit; + /** + * [计量单位]id + */ + @Schema(description = "[计量单位]id") + private BigDecimal unitId; + /** + * 加药量单位 + */ + @Schema(description = "加药量单位") + private String addUnit; + /** + * 加药量[计量单位]id + */ + @Schema(description = "加药量[计量单位]id") + private BigDecimal addUnitId; + /** + * 分析周期 + */ + @Schema(description = "分析周期") + private Integer analysisCycle; + /** + * 有效期 + */ + @Schema(description = "有效期") + private LocalDateTime validDate; + /** + * 上次化验日期 + */ + @Schema(description = "上次化验日期") + private LocalDateTime lastTest; + /** + * 槽液到期日期 + */ + @Schema(description = "槽液到期日期") + private LocalDateTime expiryDate; + /** + * 化验人[用户]id + */ + @Schema(description = "化验人[用户]id") + private BigDecimal testUserId; + /** + * 工艺主管[用户]id + */ + @Schema(description = "工艺主管[用户]id") + private BigDecimal processUserId; + /** + * 测量值 + */ + @Schema(description = "测量值") + private BigDecimal testValue; + /** + * 需添加量 + */ + @Schema(description = "需添加量") + private BigDecimal needAddValue; + /** + * 实际添加量 + */ + @Schema(description = "实际添加量") + private BigDecimal actualAddValue; + /** + * 加药后含量 + */ + @Schema(description = "加药后含量") + private BigDecimal afterAddValue; + /** + * [班组]id + */ + @Schema(description = "[班组]id") + private BigDecimal teamId; + /** + * 参数录入时间 + */ + @Schema(description = "参数录入时间") + private LocalDateTime entryDate; + /** + * 确认时间 + */ + @Schema(description = "确认时间") + private LocalDateTime confirmDate; + /** + * 送出[用户]id + */ + @Schema(description = "送出[用户]id") + private BigDecimal sendUserId; + /** + * 送出时间 + */ + @Schema(description = "送出时间") + private LocalDateTime sendDate; + /** + * 接收[用户]id + */ + @Schema(description = "接收[用户]id") + private BigDecimal receiveUserId; + /** + * 接收时间 + */ + @Schema(description = "接收时间") + private LocalDateTime receiveDate; + /** + * 处理[用户]id + */ + @Schema(description = "处理[用户]id") + private BigDecimal handleUserId; + /** + * 处理时间 + */ + @Schema(description = "处理时间") + private LocalDateTime handleDate; + /** + * 来源类型 + */ + @Schema(description = "来源类型") + private Integer fromType; + +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/constant/ColBase.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/constant/ColBase.java new file mode 100644 index 0000000..e21d016 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/constant/ColBase.java @@ -0,0 +1,8 @@ +package org.springblade.desk.quality.constant; + +public interface ColBase { + + String STATUS = "STATUS"; + + String ID = "ID"; +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/constant/ColValue.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/constant/ColValue.java new file mode 100644 index 0000000..d03cb80 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/constant/ColValue.java @@ -0,0 +1,13 @@ +package org.springblade.desk.quality.constant; + +public interface ColValue { + + /** + * 启用 + */ + Integer STATE_ENABLE = 1; + /** + * 禁用 + */ + Integer STATE_DISABLE = 0; +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/constant/LiquidTankConst.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/constant/LiquidTankConst.java new file mode 100644 index 0000000..b0676d3 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/constant/LiquidTankConst.java @@ -0,0 +1,5 @@ +package org.springblade.desk.quality.constant; + +public interface LiquidTankConst { + +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/constant/LiquidTankTaskConst.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/constant/LiquidTankTaskConst.java new file mode 100644 index 0000000..ad0370e --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/constant/LiquidTankTaskConst.java @@ -0,0 +1,79 @@ +package org.springblade.desk.quality.constant; + +public interface LiquidTankTaskConst { + + /** + * 来源类型-手动 + */ + Integer FROM_TYPE_MANUAL = 1; + + /** + * 来源类型-定时任务周期性 + */ + Integer FROM_TYPE_PERIODIC = 2; + + /** + * 来源类型-生产计算 + */ + Integer FROM_TYPE_CAL = 3; + + /** + * 状态-初始化 + */ + Integer STATE_INIT = 0; + + /** + * 状态-程序生成 或 试验化验班长手动:待接收 + */ + Integer STATE_PENDING_OPEN = 1; + + /** + * 状态-待检测 + */ + Integer STATE_PENDING_TEST = 2; + + /** + * 状态-检测员:已填报 + */ + Integer STATE_REC = 3; + + /** + * 状态-已自动计算加药量 + */ + Integer STATE_AFTER_CAL = 4; + + /** + * 状态-检测员:加药量待审核 + */ + Integer STATE_PENDING_REVIEW = 5; + + /** + * 状态-工艺员:待发放药,已经通过加药量审核 + */ + Integer STATE_PENDING_SEND = 6; + + /** + * 状态- + */ + Integer STATE_7 = 7; + + /** + * 状态-待下发,没有分派至检测员 + */ + Integer STATE_NO_TESTER = 11; + + /** + * 状态-已完成,异常结束 + */ + Integer STATE_FINISH_FAILED = 21; + + /** + * 状态-已完成,正常结束 + */ + Integer STATE_FINISH_OK = 22; + + /** + * 班组已处理 todo: + */ + Integer STATUS_HANDLED = 10; +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/InspectionItemController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/InspectionItemController.java index 09a728a..528246c 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/InspectionItemController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/InspectionItemController.java @@ -32,21 +32,21 @@ import java.util.List; import java.util.Map; /** - * [检验项目]表 控制器 + * [检验项目] 控制器 * * @author Tom Shuo - * @since 2025-11-13 + * @since 2025-11-14 */ @RestController @AllArgsConstructor @RequestMapping("/inspectionItem") -@Tag(name = "[检验项目]表", description = "[检验项目]表接口") +@Tag(name = "[检验项目]", description = "[检验项目]接口") public class InspectionItemController extends BladeController { private final IInspectionItemGenService inspectionItemGenService; /** - * [检验项目]表 详情 + * [检验项目] 详情 */ @GetMapping("/detail") @ApiOperationSupport(order = 1) @@ -57,7 +57,7 @@ public class InspectionItemController extends BladeController { } /** - * [检验项目]表 分页 + * [检验项目] 分页 */ @GetMapping("/list") @ApiOperationSupport(order = 2) @@ -69,7 +69,7 @@ public class InspectionItemController extends BladeController { /** - * [检验项目]表 自定义分页 + * [检验项目] 自定义分页 */ @GetMapping("/page") @ApiOperationSupport(order = 3) @@ -80,7 +80,7 @@ public class InspectionItemController extends BladeController { } /** - * [检验项目]表 新增 + * [检验项目] 新增 */ @PostMapping("/save") @ApiOperationSupport(order = 4) @@ -90,7 +90,7 @@ public class InspectionItemController extends BladeController { } /** - * [检验项目]表 修改 + * [检验项目] 修改 */ @PostMapping("/update") @ApiOperationSupport(order = 5) @@ -100,7 +100,7 @@ public class InspectionItemController extends BladeController { } /** - * [检验项目]表 新增或修改 + * [检验项目] 新增或修改 */ @PostMapping("/submit") @ApiOperationSupport(order = 6) @@ -110,7 +110,7 @@ public class InspectionItemController extends BladeController { } /** - * [检验项目]表 删除 + * [检验项目] 删除 */ @PostMapping("/remove") @ApiOperationSupport(order = 7) @@ -133,7 +133,7 @@ public class InspectionItemController extends BladeController { //} //queryWrapper.lambda().eq(InspectionItemEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED); List list = inspectionItemGenService.exportInspectionItem(queryWrapper); - ExcelUtil.export(response, "[检验项目]表数据" + DateUtil.time(), "[检验项目]表数据表", list, InspectionItemGenExcel.class); + ExcelUtil.export(response, "[检验项目]数据" + DateUtil.time(), "[检验项目]数据表", list, InspectionItemGenExcel.class); } } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/InspectionResultController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/InspectionResultController.java new file mode 100644 index 0000000..0f15ea0 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/InspectionResultController.java @@ -0,0 +1,139 @@ +/** + * 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.servlet.http.HttpServletResponse; +import jakarta.validation.Valid; +import lombok.AllArgsConstructor; +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.quality.excel.gen.InspectionResultGenExcel; +import org.springblade.desk.quality.pojo.entity.InspectionResult; +import org.springblade.desk.quality.pojo.vo.gen.InspectionResultGenVO; +import org.springblade.desk.quality.service.gen.IInspectionResultGenService; +import org.springblade.desk.quality.wrapper.gen.InspectionResultGenWrapper; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.Map; + +/** + * [检验结果] 控制器 + * + * @author Tom Shuo + * @since 2025-11-14 + */ +@RestController +@AllArgsConstructor +@RequestMapping("/inspectionResult") +@Tag(name = "[检验结果]", description = "[检验结果]接口") +public class InspectionResultController extends BladeController { + + private final IInspectionResultGenService inspectionResultGenService; + + /** + * [检验结果] 详情 + */ + @GetMapping("/detail") + @ApiOperationSupport(order = 1) + @Operation(summary = "详情", description = "传入inspectionResult") + public R detail(InspectionResult inspectionResult) { + InspectionResult detail = inspectionResultGenService.getOne(Condition.getQueryWrapper(inspectionResult)); + return R.data(InspectionResultGenWrapper.build().entityVO(detail)); + } + + /** + * [检验结果] 分页 + */ + @GetMapping("/list") + @ApiOperationSupport(order = 2) + @Operation(summary = "分页", description = "传入inspectionResult") + public R> list(@Parameter(hidden = true) @RequestParam Map inspectionResult, Query query) { + IPage pages = inspectionResultGenService.page(Condition.getPage(query), Condition.getQueryWrapper(inspectionResult, InspectionResult.class)); + return R.data(InspectionResultGenWrapper.build().pageVO(pages)); + } + + + /** + * [检验结果] 自定义分页 + */ + @GetMapping("/page") + @ApiOperationSupport(order = 3) + @Operation(summary = "分页", description = "传入inspectionResult") + public R> page(InspectionResultGenVO inspectionResult, Query query) { + IPage pages = inspectionResultGenService.selectInspectionResultPage(Condition.getPage(query), inspectionResult); + return R.data(pages); + } + + /** + * [检验结果] 新增 + */ + @PostMapping("/save") + @ApiOperationSupport(order = 4) + @Operation(summary = "新增", description = "传入inspectionResult") + public R save(@Valid @RequestBody InspectionResult inspectionResult) { + return R.status(inspectionResultGenService.save(inspectionResult)); + } + + /** + * [检验结果] 修改 + */ + @PostMapping("/update") + @ApiOperationSupport(order = 5) + @Operation(summary = "修改", description = "传入inspectionResult") + public R update(@Valid @RequestBody InspectionResult inspectionResult) { + return R.status(inspectionResultGenService.updateById(inspectionResult)); + } + + /** + * [检验结果] 新增或修改 + */ + @PostMapping("/submit") + @ApiOperationSupport(order = 6) + @Operation(summary = "新增或修改", description = "传入inspectionResult") + public R submit(@Valid @RequestBody InspectionResult inspectionResult) { + return R.status(inspectionResultGenService.saveOrUpdate(inspectionResult)); + } + + /** + * [检验结果] 删除 + */ + @PostMapping("/remove") + @ApiOperationSupport(order = 7) + @Operation(summary = "逻辑删除", description = "传入ids") + public R remove(@Parameter(description = "主键集合", required = true) @RequestParam String ids) { + return R.status(inspectionResultGenService.deleteLogic(Func.toLongList(ids))); + } + + /** + * 导出数据 + */ + @IsAdmin + @GetMapping("/export-inspectionResult") + @ApiOperationSupport(order = 8) + @Operation(summary = "导出数据", description = "传入inspectionResult") + public void exportInspectionResult(@Parameter(hidden = true) @RequestParam Map inspectionResult, BladeUser bladeUser, HttpServletResponse response) { + QueryWrapper queryWrapper = Condition.getQueryWrapper(inspectionResult, InspectionResult.class); + //if (!AuthUtil.isAdministrator()) { + // queryWrapper.lambda().eq(InspectionResult::getTenantId, bladeUser.getTenantId()); + //} + //queryWrapper.lambda().eq(InspectionResultEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED); + List list = inspectionResultGenService.exportInspectionResult(queryWrapper); + ExcelUtil.export(response, "[检验结果]数据" + DateUtil.time(), "[检验结果]数据表", list, InspectionResultGenExcel.class); + } + +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/InspectionTaskController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/InspectionTaskController.java new file mode 100644 index 0000000..c120ca5 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/InspectionTaskController.java @@ -0,0 +1,153 @@ +/** + * 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 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.quality.excel.gen.InspectionTaskGenExcel; +import org.springblade.desk.quality.pojo.entity.InspectionTask; +import org.springblade.desk.quality.pojo.request.InspectionTaskStart; +import org.springblade.desk.quality.pojo.vo.gen.InspectionTaskGenVO; +import org.springblade.desk.quality.service.InspectionTaskService; +import org.springblade.desk.quality.service.gen.IInspectionTaskGenService; +import org.springblade.desk.quality.wrapper.gen.InspectionTaskGenWrapper; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.Map; + +/** + * [检验任务] 控制器 + * + * @author Tom Shuo + * @since 2025-11-14 + */ +@RestController +@RequestMapping("/inspectionTask") +@Tag(name = "[检验任务]", description = "[检验任务]接口") +public class InspectionTaskController extends BladeController { + + @Resource + private IInspectionTaskGenService genService; + @Resource + private InspectionTaskService service; + + /** + * [检验任务] 详情 + */ + @GetMapping("/detail") + @ApiOperationSupport(order = 1) + @Operation(summary = "详情", description = "传入inspectionTask") + public R detail(InspectionTask inspectionTask) { + InspectionTask detail = genService.getOne(Condition.getQueryWrapper(inspectionTask)); + return R.data(InspectionTaskGenWrapper.build().entityVO(detail)); + } + + /** + * [检验任务] 分页 + */ + @GetMapping("/list") + @ApiOperationSupport(order = 2) + @Operation(summary = "分页", description = "传入inspectionTask") + public R> list(@Parameter(hidden = true) @RequestParam Map inspectionTask, Query query) { + IPage pages = genService.page(Condition.getPage(query), Condition.getQueryWrapper(inspectionTask, InspectionTask.class)); + return R.data(InspectionTaskGenWrapper.build().pageVO(pages)); + } + + + /** + * [检验任务] 自定义分页 + */ + @GetMapping("/page") + @ApiOperationSupport(order = 3) + @Operation(summary = "分页", description = "传入inspectionTask") + public R> page(InspectionTaskGenVO inspectionTask, Query query) { + IPage pages = genService.selectInspectionTaskPage(Condition.getPage(query), inspectionTask); + return R.data(pages); + } + + /** + * [检验任务] 新增 + */ + @PostMapping("/save") + @ApiOperationSupport(order = 4) + @Operation(summary = "新增", description = "传入inspectionTask") + public R save(@Valid @RequestBody InspectionTask inspectionTask) { + return R.status(genService.save(inspectionTask)); + } + + /** + * [检验任务] 修改 + */ + @PostMapping("/update") + @ApiOperationSupport(order = 5) + @Operation(summary = "修改", description = "传入inspectionTask") + public R update(@Valid @RequestBody InspectionTask inspectionTask) { + return R.status(genService.updateById(inspectionTask)); + } + + /** + * [检验任务] 新增或修改 + */ + @PostMapping("/submit") + @ApiOperationSupport(order = 6) + @Operation(summary = "新增或修改", description = "传入inspectionTask") + public R submit(@Valid @RequestBody InspectionTask inspectionTask) { + return R.status(genService.saveOrUpdate(inspectionTask)); + } + + /** + * [检验任务] 删除 + */ + @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-inspectionTask") + @ApiOperationSupport(order = 8) + @Operation(summary = "导出数据", description = "传入inspectionTask") + public void exportInspectionTask(@Parameter(hidden = true) @RequestParam Map inspectionTask, BladeUser bladeUser, HttpServletResponse response) { + QueryWrapper queryWrapper = Condition.getQueryWrapper(inspectionTask, InspectionTask.class); + //if (!AuthUtil.isAdministrator()) { + // queryWrapper.lambda().eq(InspectionTask::getTenantId, bladeUser.getTenantId()); + //} + //queryWrapper.lambda().eq(InspectionTaskEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED); + List list = genService.exportInspectionTask(queryWrapper); + ExcelUtil.export(response, "[检验任务]数据" + DateUtil.time(), "[检验任务]数据表", list, InspectionTaskGenExcel.class); + } + + /** + * 工序开始,[检验任务]生成 + */ + @PostMapping("/start") + @ApiOperationSupport(order = 100) + @Operation(summary = "", description = "传入inspectionTask") + public R start(@Valid @RequestBody InspectionTaskStart start) { + return service.start(start); + } +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/LiquidTankController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/LiquidTankController.java index 6374c7c..5e9db93 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/LiquidTankController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/LiquidTankController.java @@ -3,40 +3,39 @@ */ package org.springblade.desk.quality.controller; -import io.swagger.v3.oas.annotations.tags.Tag; +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 com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; -import lombok.AllArgsConstructor; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.servlet.http.HttpServletResponse; import jakarta.validation.Valid; - -import org.springblade.core.secure.BladeUser; -import org.springblade.core.secure.annotation.IsAdmin; +import lombok.AllArgsConstructor; +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.springframework.web.bind.annotation.*; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; +import org.springblade.desk.quality.excel.gen.LiquidTankGenExcel; import org.springblade.desk.quality.pojo.entity.LiquidTank; import org.springblade.desk.quality.pojo.vo.gen.LiquidTankGenVO; -import org.springblade.desk.quality.excel.gen.LiquidTankGenExcel; -import org.springblade.desk.quality.wrapper.gen.LiquidTankGenWrapper; import org.springblade.desk.quality.service.gen.ILiquidTankGenService; -import org.springblade.core.boot.ctrl.BladeController; -import org.springblade.core.tool.utils.DateUtil; -import org.springblade.core.excel.util.ExcelUtil; +import org.springblade.desk.quality.wrapper.gen.LiquidTankGenWrapper; +import org.springframework.web.bind.annotation.*; -import java.util.Map; import java.util.List; -import jakarta.servlet.http.HttpServletResponse; +import java.util.Map; /** * [槽液] 控制器 * * @author Tom Shuo - * @since 2025-11-13 + * @since 2025-11-14 */ @RestController @AllArgsConstructor diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/LiquidTankTaskController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/LiquidTankTaskController.java new file mode 100644 index 0000000..2d6f19c --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/LiquidTankTaskController.java @@ -0,0 +1,139 @@ +/** + * 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.servlet.http.HttpServletResponse; +import jakarta.validation.Valid; +import lombok.AllArgsConstructor; +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.quality.excel.gen.LiquidTankTaskGenExcel; +import org.springblade.desk.quality.pojo.entity.LiquidTankTask; +import org.springblade.desk.quality.pojo.vo.gen.LiquidTankTaskGenVO; +import org.springblade.desk.quality.service.gen.ILiquidTankTaskGenService; +import org.springblade.desk.quality.wrapper.gen.LiquidTankTaskGenWrapper; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.Map; + +/** + * [槽液检测任务] 控制器 + * + * @author Tom Shuo + * @since 2025-11-14 + */ +@RestController +@AllArgsConstructor +@RequestMapping("/liquidTankTask") +@Tag(name = "[槽液检测任务]", description = "[槽液检测任务]接口") +public class LiquidTankTaskController extends BladeController { + + private final ILiquidTankTaskGenService liquidTankTaskGenService; + + /** + * [槽液检测任务] 详情 + */ + @GetMapping("/detail") + @ApiOperationSupport(order = 1) + @Operation(summary = "详情", description = "传入liquidTankTask") + public R detail(LiquidTankTask liquidTankTask) { + LiquidTankTask detail = liquidTankTaskGenService.getOne(Condition.getQueryWrapper(liquidTankTask)); + return R.data(LiquidTankTaskGenWrapper.build().entityVO(detail)); + } + + /** + * [槽液检测任务] 分页 + */ + @GetMapping("/list") + @ApiOperationSupport(order = 2) + @Operation(summary = "分页", description = "传入liquidTankTask") + public R> list(@Parameter(hidden = true) @RequestParam Map liquidTankTask, Query query) { + IPage pages = liquidTankTaskGenService.page(Condition.getPage(query), Condition.getQueryWrapper(liquidTankTask, LiquidTankTask.class)); + return R.data(LiquidTankTaskGenWrapper.build().pageVO(pages)); + } + + + /** + * [槽液检测任务] 自定义分页 + */ + @GetMapping("/page") + @ApiOperationSupport(order = 3) + @Operation(summary = "分页", description = "传入liquidTankTask") + public R> page(LiquidTankTaskGenVO liquidTankTask, Query query) { + IPage pages = liquidTankTaskGenService.selectLiquidTankTaskPage(Condition.getPage(query), liquidTankTask); + return R.data(pages); + } + + /** + * [槽液检测任务] 新增 + */ + @PostMapping("/save") + @ApiOperationSupport(order = 4) + @Operation(summary = "新增", description = "传入liquidTankTask") + public R save(@Valid @RequestBody LiquidTankTask liquidTankTask) { + return R.status(liquidTankTaskGenService.save(liquidTankTask)); + } + + /** + * [槽液检测任务] 修改 + */ + @PostMapping("/update") + @ApiOperationSupport(order = 5) + @Operation(summary = "修改", description = "传入liquidTankTask") + public R update(@Valid @RequestBody LiquidTankTask liquidTankTask) { + return R.status(liquidTankTaskGenService.updateById(liquidTankTask)); + } + + /** + * [槽液检测任务] 新增或修改 + */ + @PostMapping("/submit") + @ApiOperationSupport(order = 6) + @Operation(summary = "新增或修改", description = "传入liquidTankTask") + public R submit(@Valid @RequestBody LiquidTankTask liquidTankTask) { + return R.status(liquidTankTaskGenService.saveOrUpdate(liquidTankTask)); + } + + /** + * [槽液检测任务] 删除 + */ + @PostMapping("/remove") + @ApiOperationSupport(order = 7) + @Operation(summary = "逻辑删除", description = "传入ids") + public R remove(@Parameter(description = "主键集合", required = true) @RequestParam String ids) { + return R.status(liquidTankTaskGenService.deleteLogic(Func.toLongList(ids))); + } + + /** + * 导出数据 + */ + @IsAdmin + @GetMapping("/export-liquidTankTask") + @ApiOperationSupport(order = 8) + @Operation(summary = "导出数据", description = "传入liquidTankTask") + public void exportLiquidTankTask(@Parameter(hidden = true) @RequestParam Map liquidTankTask, BladeUser bladeUser, HttpServletResponse response) { + QueryWrapper queryWrapper = Condition.getQueryWrapper(liquidTankTask, LiquidTankTask.class); + //if (!AuthUtil.isAdministrator()) { + // queryWrapper.lambda().eq(LiquidTankTask::getTenantId, bladeUser.getTenantId()); + //} + //queryWrapper.lambda().eq(LiquidTankTaskEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED); + List list = liquidTankTaskGenService.exportLiquidTankTask(queryWrapper); + ExcelUtil.export(response, "[槽液检测任务]数据" + DateUtil.time(), "[槽液检测任务]数据表", list, LiquidTankTaskGenExcel.class); + } + +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/NgController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/NgController.java new file mode 100644 index 0000000..528f206 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/NgController.java @@ -0,0 +1,139 @@ +/** + * 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.servlet.http.HttpServletResponse; +import jakarta.validation.Valid; +import lombok.AllArgsConstructor; +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.quality.excel.gen.NgGenExcel; +import org.springblade.desk.quality.pojo.entity.Ng; +import org.springblade.desk.quality.pojo.vo.gen.NgGenVO; +import org.springblade.desk.quality.service.gen.INgGenService; +import org.springblade.desk.quality.wrapper.gen.NgGenWrapper; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.Map; + +/** + * [缺陷] 控制器 + * + * @author Tom Shuo + * @since 2025-11-13 + */ +@RestController +@AllArgsConstructor +@RequestMapping("/ng") +@Tag(name = "[缺陷]", description = "[缺陷]接口") +public class NgController extends BladeController { + + private final INgGenService ngGenService; + + /** + * [缺陷] 详情 + */ + @GetMapping("/detail") + @ApiOperationSupport(order = 1) + @Operation(summary = "详情", description = "传入ng") + public R detail(Ng ng) { + Ng detail = ngGenService.getOne(Condition.getQueryWrapper(ng)); + return R.data(NgGenWrapper.build().entityVO(detail)); + } + + /** + * [缺陷] 分页 + */ + @GetMapping("/list") + @ApiOperationSupport(order = 2) + @Operation(summary = "分页", description = "传入ng") + public R> list(@Parameter(hidden = true) @RequestParam Map ng, Query query) { + IPage pages = ngGenService.page(Condition.getPage(query), Condition.getQueryWrapper(ng, Ng.class)); + return R.data(NgGenWrapper.build().pageVO(pages)); + } + + + /** + * [缺陷] 自定义分页 + */ + @GetMapping("/page") + @ApiOperationSupport(order = 3) + @Operation(summary = "分页", description = "传入ng") + public R> page(NgGenVO ng, Query query) { + IPage pages = ngGenService.selectNgPage(Condition.getPage(query), ng); + return R.data(pages); + } + + /** + * [缺陷] 新增 + */ + @PostMapping("/save") + @ApiOperationSupport(order = 4) + @Operation(summary = "新增", description = "传入ng") + public R save(@Valid @RequestBody Ng ng) { + return R.status(ngGenService.save(ng)); + } + + /** + * [缺陷] 修改 + */ + @PostMapping("/update") + @ApiOperationSupport(order = 5) + @Operation(summary = "修改", description = "传入ng") + public R update(@Valid @RequestBody Ng ng) { + return R.status(ngGenService.updateById(ng)); + } + + /** + * [缺陷] 新增或修改 + */ + @PostMapping("/submit") + @ApiOperationSupport(order = 6) + @Operation(summary = "新增或修改", description = "传入ng") + public R submit(@Valid @RequestBody Ng ng) { + return R.status(ngGenService.saveOrUpdate(ng)); + } + + /** + * [缺陷] 删除 + */ + @PostMapping("/remove") + @ApiOperationSupport(order = 7) + @Operation(summary = "逻辑删除", description = "传入ids") + public R remove(@Parameter(description = "主键集合", required = true) @RequestParam String ids) { + return R.status(ngGenService.deleteLogic(Func.toLongList(ids))); + } + + /** + * 导出数据 + */ + @IsAdmin + @GetMapping("/export-ng") + @ApiOperationSupport(order = 8) + @Operation(summary = "导出数据", description = "传入ng") + public void exportNg(@Parameter(hidden = true) @RequestParam Map ng, BladeUser bladeUser, HttpServletResponse response) { + QueryWrapper queryWrapper = Condition.getQueryWrapper(ng, Ng.class); + //if (!AuthUtil.isAdministrator()) { + // queryWrapper.lambda().eq(Ng::getTenantId, bladeUser.getTenantId()); + //} + //queryWrapper.lambda().eq(NgEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED); + List list = ngGenService.exportNg(queryWrapper); + ExcelUtil.export(response, "[缺陷]数据" + DateUtil.time(), "[缺陷]数据表", list, NgGenExcel.class); + } + +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/StandardController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/StandardController.java index ac5f283..2e198b0 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/StandardController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/StandardController.java @@ -32,7 +32,7 @@ import java.util.List; import java.util.Map; /** - * [检验标准]表 控制器 + * [质量标准] 控制器 * * @author Tom Shuo * @since 2025-11-13 @@ -40,13 +40,13 @@ import java.util.Map; @RestController @AllArgsConstructor @RequestMapping("/standard") -@Tag(name = "[检验标准]表", description = "[检验标准]表接口") +@Tag(name = "[质量标准]", description = "[质量标准]接口") public class StandardController extends BladeController { private final IStandardGenService standardGenService; /** - * [检验标准]表 详情 + * [质量标准] 详情 */ @GetMapping("/detail") @ApiOperationSupport(order = 1) @@ -57,7 +57,7 @@ public class StandardController extends BladeController { } /** - * [检验标准]表 分页 + * [质量标准] 分页 */ @GetMapping("/list") @ApiOperationSupport(order = 2) @@ -69,7 +69,7 @@ public class StandardController extends BladeController { /** - * [检验标准]表 自定义分页 + * [质量标准] 自定义分页 */ @GetMapping("/page") @ApiOperationSupport(order = 3) @@ -80,7 +80,7 @@ public class StandardController extends BladeController { } /** - * [检验标准]表 新增 + * [质量标准] 新增 */ @PostMapping("/save") @ApiOperationSupport(order = 4) @@ -90,7 +90,7 @@ public class StandardController extends BladeController { } /** - * [检验标准]表 修改 + * [质量标准] 修改 */ @PostMapping("/update") @ApiOperationSupport(order = 5) @@ -100,7 +100,7 @@ public class StandardController extends BladeController { } /** - * [检验标准]表 新增或修改 + * [质量标准] 新增或修改 */ @PostMapping("/submit") @ApiOperationSupport(order = 6) @@ -110,7 +110,7 @@ public class StandardController extends BladeController { } /** - * [检验标准]表 删除 + * [质量标准] 删除 */ @PostMapping("/remove") @ApiOperationSupport(order = 7) @@ -133,7 +133,7 @@ public class StandardController extends BladeController { //} //queryWrapper.lambda().eq(StandardEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED); List list = standardGenService.exportStandard(queryWrapper); - ExcelUtil.export(response, "[检验标准]表数据" + DateUtil.time(), "[检验标准]表数据表", list, StandardGenExcel.class); + ExcelUtil.export(response, "[质量标准]数据" + DateUtil.time(), "[质量标准]数据表", list, StandardGenExcel.class); } } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/excel/gen/InspectionItemGenExcel.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/excel/gen/InspectionItemGenExcel.java index 3b15187..1186975 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/excel/gen/InspectionItemGenExcel.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/excel/gen/InspectionItemGenExcel.java @@ -16,10 +16,10 @@ import java.math.BigDecimal; /** - * [检验项目]表 Excel实体类 + * [检验项目] Excel实体类 * * @author Tom Shuo - * @since 2025-11-13 + * @since 2025-11-14 */ @Data @ColumnWidth(25) @@ -120,5 +120,11 @@ public class InspectionItemGenExcel implements Serializable { @ColumnWidth(20) @ExcelProperty("[检验标准参数]id") private Long standardParamId; + /** + * [工序]代码 + */ + @ColumnWidth(20) + @ExcelProperty("[工序]代码") + private String processCode; } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/excel/gen/InspectionResultGenExcel.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/excel/gen/InspectionResultGenExcel.java new file mode 100644 index 0000000..14d31c6 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/excel/gen/InspectionResultGenExcel.java @@ -0,0 +1,131 @@ +/** + * 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; +import java.time.LocalDateTime; + + +/** + * [检验结果] Excel实体类 + * + * @author Tom Shuo + * @since 2025-11-14 + */ +@Data +@ColumnWidth(25) +@HeadRowHeight(20) +@ContentRowHeight(18) +public class InspectionResultGenExcel implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 编码 + */ + @ColumnWidth(20) + @ExcelProperty("编码") + private String code; + /** + * 类型 + */ + @ColumnWidth(20) + @ExcelProperty("类型") + private Long inspectionResultType; + /** + * 名称 + */ + @ColumnWidth(20) + @ExcelProperty("名称") + private String name; + /** + * [检验任务]id + */ + @ColumnWidth(20) + @ExcelProperty("[检验任务]id") + private BigDecimal inspectionTaskId; + /** + * [检验项目]id + */ + @ColumnWidth(20) + @ExcelProperty("[检验项目]id") + private BigDecimal inspectionItemId; + /** + * [缺陷]id + */ + @ColumnWidth(20) + @ExcelProperty("[缺陷]id") + private BigDecimal ngId; + /** + * 质检员[用户]id + */ + @ColumnWidth(20) + @ExcelProperty("质检员[用户]id") + private BigDecimal testUserId; + /** + * 测量值 + */ + @ColumnWidth(20) + @ExcelProperty("测量值") + private Long testValue; + /** + * 检测文本描述 + */ + @ColumnWidth(20) + @ExcelProperty("检测文本描述") + private Long testDesc; + /** + * 检测结果 + */ + @ColumnWidth(20) + @ExcelProperty("检测结果") + private Long result; + /** + * 是否缺陷 + */ + @ColumnWidth(20) + @ExcelProperty("是否缺陷") + private Long isNg; + /** + * [缺陷]代码 + */ + @ColumnWidth(20) + @ExcelProperty("[缺陷]代码") + private String ngCode; + /** + * [缺陷]描述 + */ + @ColumnWidth(20) + @ExcelProperty("[缺陷]描述") + private String ngDesc; + /** + * 排序 + */ + @ColumnWidth(20) + @ExcelProperty("排序") + private Long sort; + /** + * 备注 + */ + @ColumnWidth(20) + @ExcelProperty("备注") + private String remark; + /** + * 检验时间 + */ + @ColumnWidth(20) + @ExcelProperty("检验时间") + private LocalDateTime testDate; + +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/excel/gen/InspectionTaskGenExcel.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/excel/gen/InspectionTaskGenExcel.java new file mode 100644 index 0000000..25091f1 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/excel/gen/InspectionTaskGenExcel.java @@ -0,0 +1,161 @@ +/** + * 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; +import java.time.LocalDateTime; + + +/** + * [检验任务] Excel实体类 + * + * @author Tom Shuo + * @since 2025-11-14 + */ +@Data +@ColumnWidth(25) +@HeadRowHeight(20) +@ContentRowHeight(18) +public class InspectionTaskGenExcel implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * [检验任务]编码 + */ + @ColumnWidth(20) + @ExcelProperty("[检验任务]编码") + private String code; + /** + * [检验任务]类型 + */ + @ColumnWidth(20) + @ExcelProperty("[检验任务]类型") + private Long inspectionTaskType; + /** + * [检验任务] + */ + @ColumnWidth(20) + @ExcelProperty("[检验任务]") + private String name; + /** + * [工单]id + */ + @ColumnWidth(20) + @ExcelProperty("[工单]id") + private BigDecimal workOrderId; + /** + * [制品]id + */ + @ColumnWidth(20) + @ExcelProperty("[制品]id") + private BigDecimal productId; + /** + * [工序]id + */ + @ColumnWidth(20) + @ExcelProperty("[工序]id") + private BigDecimal processId; + /** + * 质检员[用户]id + */ + @ColumnWidth(20) + @ExcelProperty("质检员[用户]id") + private BigDecimal testUserId; + /** + * [制品]编码 + */ + @ColumnWidth(20) + @ExcelProperty("[制品]编码") + private Long productCode; + /** + * [制品]序列号 + */ + @ColumnWidth(20) + @ExcelProperty("[制品]序列号") + private Long productSn; + /** + * 生产批次号 + */ + @ColumnWidth(20) + @ExcelProperty("生产批次号") + private Long batchNumber; + /** + * [工单]编码 + */ + @ColumnWidth(20) + @ExcelProperty("[工单]编码") + private String workOrderCode; + /** + * [工序]编码 + */ + @ColumnWidth(20) + @ExcelProperty("[工序]编码") + private String processCode; + /** + * 排序 + */ + @ColumnWidth(20) + @ExcelProperty("排序") + private Long sort; + /** + * 备注 + */ + @ColumnWidth(20) + @ExcelProperty("备注") + private String remark; + /** + * 计划开始时间 + */ + @ColumnWidth(20) + @ExcelProperty("计划开始时间") + private LocalDateTime plannedStartDate; + /** + * 计划结束时间 + */ + @ColumnWidth(20) + @ExcelProperty("计划结束时间") + private LocalDateTime plannedEndDate; + /** + * 实际开始时间 + */ + @ColumnWidth(20) + @ExcelProperty("实际开始时间") + private LocalDateTime actualStartDate; + /** + * 实际结束时间 + */ + @ColumnWidth(20) + @ExcelProperty("实际结束时间") + private LocalDateTime actualEndDate; + /** + * 检验样本数量 + */ + @ColumnWidth(20) + @ExcelProperty("检验样本数量") + private BigDecimal simpleCount; + /** + * 缺陷数量 + */ + @ColumnWidth(20) + @ExcelProperty("缺陷数量") + private BigDecimal ngCount; + /** + * 检验结果 + */ + @ColumnWidth(20) + @ExcelProperty("检验结果") + private Long result; + +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/excel/gen/LiquidTankGenExcel.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/excel/gen/LiquidTankGenExcel.java index 69685f6..b5ad298 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/excel/gen/LiquidTankGenExcel.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/excel/gen/LiquidTankGenExcel.java @@ -4,24 +4,23 @@ package org.springblade.desk.quality.excel.gen; -import lombok.Data; - -import java.io.Serializable; -import java.math.BigDecimal; -import java.time.LocalDateTime; - 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; +import java.time.LocalDateTime; /** * [槽液] Excel实体类 * * @author Tom Shuo - * @since 2025-11-13 + * @since 2025-11-14 */ @Data @ColumnWidth(25) @@ -145,13 +144,13 @@ public class LiquidTankGenExcel implements Serializable { */ @ColumnWidth(20) @ExcelProperty("化验人[用户]id") - private BigDecimal exeUserId; + private BigDecimal testUserId; /** * 工艺主管[用户]id */ @ColumnWidth(20) @ExcelProperty("工艺主管[用户]id") - private BigDecimal manageUserId; + private BigDecimal processUserId; /** * 温度范围 */ @@ -206,5 +205,11 @@ public class LiquidTankGenExcel implements Serializable { @ColumnWidth(20) @ExcelProperty("是否合格") private Long qualified; + /** + * [计量单位]id + */ + @ColumnWidth(20) + @ExcelProperty("[计量单位]id") + private BigDecimal unitId; } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/excel/gen/LiquidTankTaskGenExcel.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/excel/gen/LiquidTankTaskGenExcel.java new file mode 100644 index 0000000..6c1a51a --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/excel/gen/LiquidTankTaskGenExcel.java @@ -0,0 +1,293 @@ +/** + * 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; +import java.time.LocalDateTime; + + +/** + * [槽液检测任务] Excel实体类 + * + * @author Tom Shuo + * @since 2025-11-14 + */ +@Data +@ColumnWidth(25) +@HeadRowHeight(20) +@ContentRowHeight(18) +public class LiquidTankTaskGenExcel implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * [槽液检测任务]编码 + */ + @ColumnWidth(20) + @ExcelProperty("[槽液检测任务]编码") + private String code; + /** + * 类型 + */ + @ColumnWidth(20) + @ExcelProperty("类型") + private Long liquidTankTaskType; + /** + * 名称 + */ + @ColumnWidth(20) + @ExcelProperty("名称") + private String name; + /** + * [槽液]id + */ + @ColumnWidth(20) + @ExcelProperty("[槽液]id") + private BigDecimal liquidTankId; + /** + * [作业中心]id + */ + @ColumnWidth(20) + @ExcelProperty("[作业中心]id") + private BigDecimal workCenterId; + /** + * 药品[物料]id + */ + @ColumnWidth(20) + @ExcelProperty("药品[物料]id") + private BigDecimal drugMaterialId; + /** + * [槽液]编号 + */ + @ColumnWidth(20) + @ExcelProperty("[槽液]编号") + private String liquidTankCode; + /** + * 待测成分 + */ + @ColumnWidth(20) + @ExcelProperty("待测成分") + private String testElement; + /** + * 药品名称 + */ + @ColumnWidth(20) + @ExcelProperty("药品名称") + private String drugName; + /** + * 药品[物料]编码 + */ + @ColumnWidth(20) + @ExcelProperty("药品[物料]编码") + private String drugMaterialCode; + /** + * 药品物料名称 + */ + @ColumnWidth(20) + @ExcelProperty("药品物料名称") + private String drugMaterialName; + /** + * 工艺含量 + */ + @ColumnWidth(20) + @ExcelProperty("工艺含量") + private String processContent; + /** + * 目标值 + */ + @ColumnWidth(20) + @ExcelProperty("目标值") + private BigDecimal targetValue; + /** + * 目标上下限 + */ + @ColumnWidth(20) + @ExcelProperty("目标上下限") + private String bound; + /** + * 排序 + */ + @ColumnWidth(20) + @ExcelProperty("排序") + private Long sort; + /** + * 备注 + */ + @ColumnWidth(20) + @ExcelProperty("备注") + private String remark; + /** + * 添加点 + */ + @ColumnWidth(20) + @ExcelProperty("添加点") + private BigDecimal fillingLocation; + /** + * 电导率测量值 + */ + @ColumnWidth(20) + @ExcelProperty("电导率测量值") + private BigDecimal conductivityTestValue; + /** + * 体积 + */ + @ColumnWidth(20) + @ExcelProperty("体积") + private BigDecimal volume; + /** + * 单位 + */ + @ColumnWidth(20) + @ExcelProperty("单位") + private BigDecimal unit; + /** + * [计量单位]id + */ + @ColumnWidth(20) + @ExcelProperty("[计量单位]id") + private BigDecimal unitId; + /** + * 加药量单位 + */ + @ColumnWidth(20) + @ExcelProperty("加药量单位") + private String addUnit; + /** + * 加药量[计量单位]id + */ + @ColumnWidth(20) + @ExcelProperty("加药量[计量单位]id") + private BigDecimal addUnitId; + /** + * 分析周期 + */ + @ColumnWidth(20) + @ExcelProperty("分析周期") + private Integer analysisCycle; + /** + * 有效期 + */ + @ColumnWidth(20) + @ExcelProperty("有效期") + private LocalDateTime validDate; + /** + * 上次化验日期 + */ + @ColumnWidth(20) + @ExcelProperty("上次化验日期") + private LocalDateTime lastTest; + /** + * 槽液到期日期 + */ + @ColumnWidth(20) + @ExcelProperty("槽液到期日期") + private LocalDateTime expiryDate; + /** + * 化验人[用户]id + */ + @ColumnWidth(20) + @ExcelProperty("化验人[用户]id") + private BigDecimal testUserId; + /** + * 工艺主管[用户]id + */ + @ColumnWidth(20) + @ExcelProperty("工艺主管[用户]id") + private BigDecimal processUserId; + /** + * 测量值 + */ + @ColumnWidth(20) + @ExcelProperty("测量值") + private BigDecimal testValue; + /** + * 需添加量 + */ + @ColumnWidth(20) + @ExcelProperty("需添加量") + private BigDecimal needAddValue; + /** + * 实际添加量 + */ + @ColumnWidth(20) + @ExcelProperty("实际添加量") + private BigDecimal actualAddValue; + /** + * 加药后含量 + */ + @ColumnWidth(20) + @ExcelProperty("加药后含量") + private BigDecimal afterAddValue; + /** + * [班组]id + */ + @ColumnWidth(20) + @ExcelProperty("[班组]id") + private BigDecimal teamId; + /** + * 参数录入时间 + */ + @ColumnWidth(20) + @ExcelProperty("参数录入时间") + private LocalDateTime entryDate; + /** + * 确认时间 + */ + @ColumnWidth(20) + @ExcelProperty("确认时间") + private LocalDateTime confirmDate; + /** + * 送出[用户]id + */ + @ColumnWidth(20) + @ExcelProperty("送出[用户]id") + private BigDecimal sendUserId; + /** + * 送出时间 + */ + @ColumnWidth(20) + @ExcelProperty("送出时间") + private LocalDateTime sendDate; + /** + * 接收[用户]id + */ + @ColumnWidth(20) + @ExcelProperty("接收[用户]id") + private BigDecimal receiveUserId; + /** + * 接收时间 + */ + @ColumnWidth(20) + @ExcelProperty("接收时间") + private LocalDateTime receiveDate; + /** + * 处理[用户]id + */ + @ColumnWidth(20) + @ExcelProperty("处理[用户]id") + private BigDecimal handleUserId; + /** + * 处理时间 + */ + @ColumnWidth(20) + @ExcelProperty("处理时间") + private LocalDateTime handleDate; + /** + * 来源类型 + */ + @ColumnWidth(20) + @ExcelProperty("来源类型") + private Long fromType; + +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/excel/gen/NgGenExcel.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/excel/gen/NgGenExcel.java new file mode 100644 index 0000000..afb3e47 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/excel/gen/NgGenExcel.java @@ -0,0 +1,100 @@ +/** + * 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-13 + */ +@Data +@ColumnWidth(25) +@HeadRowHeight(20) +@ContentRowHeight(18) +public class NgGenExcel implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 编码 + */ + @ColumnWidth(20) + @ExcelProperty("编码") + private String code; + /** + * 类型1:故障特征 2:故障类别 3:问题大类 4:问题小类 + */ + @ColumnWidth(20) + @ExcelProperty("类型1:故障特征 2:故障类别 3:问题大类 4:问题小类") + private Long ngType; + /** + * 名称 + */ + @ColumnWidth(20) + @ExcelProperty("名称") + private String name; + /** + * 父级[不良原因]id + */ + @ColumnWidth(20) + @ExcelProperty("父级[不良原因]id") + private BigDecimal parentId; + /** + * 排序 + */ + @ColumnWidth(20) + @ExcelProperty("排序") + private Long sort; + /** + * 备注 + */ + @ColumnWidth(20) + @ExcelProperty("备注") + private String remark; + /** + * 缺陷描述 + */ + @ColumnWidth(20) + @ExcelProperty("缺陷描述") + private String desc; + /** + * [制品]id + */ + @ColumnWidth(20) + @ExcelProperty("[制品]id") + private BigDecimal productId; + /** + * [制品]编码 + */ + @ColumnWidth(20) + @ExcelProperty("[制品]编码") + private String productCode; + /** + * [工序]id + */ + @ColumnWidth(20) + @ExcelProperty("[工序]id") + private BigDecimal processId; + /** + * [工序]编码 + */ + @ColumnWidth(20) + @ExcelProperty("[工序]编码") + private String processCode; + +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/excel/gen/StandardGenExcel.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/excel/gen/StandardGenExcel.java index f738101..b9cdc79 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/excel/gen/StandardGenExcel.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/excel/gen/StandardGenExcel.java @@ -17,7 +17,7 @@ import java.time.LocalDateTime; /** - * [检验标准]表 Excel实体类 + * [质量标准] Excel实体类 * * @author Tom Shuo * @since 2025-11-13 diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/feign/LiquidTankTaskClient.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/feign/LiquidTankTaskClient.java new file mode 100644 index 0000000..5d9e01f --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/feign/LiquidTankTaskClient.java @@ -0,0 +1,23 @@ +package org.springblade.desk.quality.feign; + +import io.swagger.v3.oas.annotations.Hidden; +import jakarta.annotation.Resource; +import org.springblade.desk.quality.pojo.entity.LiquidTankTask; +import org.springblade.desk.quality.service.LiquidTankTaskService; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +@RestController +@Hidden() +public class LiquidTankTaskClient implements ILquidTankTaskClient { + + @Resource + private LiquidTankTaskService service; + + @Override + public List generate() { + return service.generate(); + } +} + diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/gen/InspectionItemGenMapper.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/gen/InspectionItemGenMapper.java index e01e0a9..13b3ccb 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/gen/InspectionItemGenMapper.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/gen/InspectionItemGenMapper.java @@ -14,10 +14,10 @@ import org.springblade.desk.quality.pojo.vo.gen.InspectionItemGenVO; import java.util.List; /** - * [检验项目]表 Mapper 接口 + * [检验项目] Mapper 接口 * * @author Tom Shuo - * @since 2025-11-13 + * @since 2025-11-14 */ public interface InspectionItemGenMapper extends BaseMapper { diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/gen/InspectionItemGenMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/gen/InspectionItemGenMapper.xml index e9d9960..847e9ce 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/gen/InspectionItemGenMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/gen/InspectionItemGenMapper.xml @@ -19,6 +19,7 @@ + + SELECT * FROM QA_INSPECTION_RESULT WHERE is_deleted = 0 + + + + + diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/gen/LiquidTankGenMapper.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/gen/LiquidTankGenMapper.java index fcc0312..900e104 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/gen/LiquidTankGenMapper.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/gen/LiquidTankGenMapper.java @@ -3,20 +3,21 @@ */ package org.springblade.desk.quality.mapper.gen; -import org.springblade.desk.quality.pojo.entity.LiquidTank; -import org.springblade.desk.quality.pojo.vo.gen.LiquidTankGenVO; -import org.springblade.desk.quality.excel.gen.LiquidTankGenExcel; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; 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.LiquidTankGenExcel; +import org.springblade.desk.quality.pojo.entity.LiquidTank; +import org.springblade.desk.quality.pojo.vo.gen.LiquidTankGenVO; + import java.util.List; /** * [槽液] Mapper 接口 * * @author Tom Shuo - * @since 2025-11-13 + * @since 2025-11-14 */ public interface LiquidTankGenMapper extends BaseMapper { diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/gen/LiquidTankGenMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/gen/LiquidTankGenMapper.xml index 7216eb4..3000888 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/gen/LiquidTankGenMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/gen/LiquidTankGenMapper.xml @@ -22,8 +22,8 @@ - - + + @@ -33,6 +33,7 @@ +