From 31895aa837bef3b2cbad0226c38eb27a04140c4e Mon Sep 17 00:00:00 2001 From: Yangwl <1726150332@qq.com> Date: Wed, 16 Jul 2025 17:35:17 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B4=A8=E9=87=8F=E6=A3=80=E9=AA=8C=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E6=8F=90=E4=BA=A4=E5=A2=9E=E5=8A=A0=E7=97=85=E7=96=B5?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pda/api/model/QcInspectionTaskBo.java | 3 + .../api/model/QcInspectionTaskDefectBo.java | 60 ++++++++ .../model/vo/RemoteQcInspectionTaskVo.java | 103 +++++++++++++ .../domain/bo/QcInspectionTaskDefectBo.java | 64 ++++++++ .../QcInspectionTaskDefectController.java | 117 ++++++++++++++ .../qms/domain/QcInspectionTaskDefect.java | 60 ++++++++ .../domain/bo/QcInspectionTaskDefectBo.java | 66 ++++++++ .../domain/vo/QcInspectionTaskDefectVo.java | 110 +++++++++++++ .../qms/dubbo/RemoteQmsApiServiceImpl.java | 7 + .../mapper/QcInspectionTaskDefectMapper.java | 15 ++ .../IQcInspectionTaskDefectService.java | 69 +++++++++ .../QcInspectionTaskDefectServiceImpl.java | 144 ++++++++++++++++++ .../qms/QcInspectionTaskDefectMapper.xml | 7 + 13 files changed, 825 insertions(+) create mode 100644 ruoyi-api/hwmom-api-pda/src/main/java/org/dromara/pda/api/model/QcInspectionTaskDefectBo.java create mode 100644 ruoyi-api/hwmom-api-pda/src/main/java/org/dromara/pda/api/model/vo/RemoteQcInspectionTaskVo.java create mode 100644 ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/domain/bo/QcInspectionTaskDefectBo.java create mode 100644 ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/controller/QcInspectionTaskDefectController.java create mode 100644 ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/domain/QcInspectionTaskDefect.java create mode 100644 ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/domain/bo/QcInspectionTaskDefectBo.java create mode 100644 ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/domain/vo/QcInspectionTaskDefectVo.java create mode 100644 ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/mapper/QcInspectionTaskDefectMapper.java create mode 100644 ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/service/IQcInspectionTaskDefectService.java create mode 100644 ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/service/impl/QcInspectionTaskDefectServiceImpl.java create mode 100644 ruoyi-modules/hwmom-qms/src/main/resources/mapper/qms/QcInspectionTaskDefectMapper.xml diff --git a/ruoyi-api/hwmom-api-pda/src/main/java/org/dromara/pda/api/model/QcInspectionTaskBo.java b/ruoyi-api/hwmom-api-pda/src/main/java/org/dromara/pda/api/model/QcInspectionTaskBo.java index b8ccdf4..e530f19 100644 --- a/ruoyi-api/hwmom-api-pda/src/main/java/org/dromara/pda/api/model/QcInspectionTaskBo.java +++ b/ruoyi-api/hwmom-api-pda/src/main/java/org/dromara/pda/api/model/QcInspectionTaskBo.java @@ -8,6 +8,8 @@ import lombok.EqualsAndHashCode; import org.dromara.common.core.validate.AddGroup; import org.dromara.common.core.validate.EditGroup; +import java.util.List; + /** * 检验任务处理业务对象 qc_inspection_task @@ -108,5 +110,6 @@ public class QcInspectionTaskBo { */ private String attr4; + private List qcInspectionTaskDefectBoList; } diff --git a/ruoyi-api/hwmom-api-pda/src/main/java/org/dromara/pda/api/model/QcInspectionTaskDefectBo.java b/ruoyi-api/hwmom-api-pda/src/main/java/org/dromara/pda/api/model/QcInspectionTaskDefectBo.java new file mode 100644 index 0000000..f05aae0 --- /dev/null +++ b/ruoyi-api/hwmom-api-pda/src/main/java/org/dromara/pda/api/model/QcInspectionTaskDefectBo.java @@ -0,0 +1,60 @@ +package org.dromara.pda.api.model; + +import jakarta.validation.constraints.NotNull; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; + +import java.io.Serial; + + +/** + * 检验任务缺陷信息业务对象 qc_inspection_task_defect + * + * @author Yangwl + * @date 2025-07-16 + */ +@Data +public class QcInspectionTaskDefectBo { + @Serial + private static final long serialVersionUID = 1L; + /** + * 主键 + */ + private Long taskDefectId; + + /** + * 检验任务主键 + */ + @NotNull(message = "检验任务主键不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long taskId; + + /** + * 缺陷信息主键 + */ + @NotNull(message = "缺陷信息主键不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long defectId; + + /** + * 预留字段1 + */ + private String attr1; + + /** + * 预留字段2 + */ + private String attr2; + + /** + * + */ + private String attr3; + + /** + * + */ + private String attr4; + + +} diff --git a/ruoyi-api/hwmom-api-pda/src/main/java/org/dromara/pda/api/model/vo/RemoteQcInspectionTaskVo.java b/ruoyi-api/hwmom-api-pda/src/main/java/org/dromara/pda/api/model/vo/RemoteQcInspectionTaskVo.java new file mode 100644 index 0000000..3f49d6c --- /dev/null +++ b/ruoyi-api/hwmom-api-pda/src/main/java/org/dromara/pda/api/model/vo/RemoteQcInspectionTaskVo.java @@ -0,0 +1,103 @@ +package org.dromara.pda.api.model.vo; + + +import jakarta.validation.constraints.NotBlank; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; + +import java.io.Serializable; +@Data +@NoArgsConstructor +public class RemoteQcInspectionTaskVo implements Serializable { + /** + * 主键标识 + */ + @NotBlank(message = "主键标识不能为空", groups = { AddGroup.class }) + private String taskId; + + /** + * 检验类型 + */ + private String category; + + /** + * 任务编号 + */ + private String taskNo; + + /** + * 任务描述 + */ + + private String description; + + /** + * 任务状态 + */ + + private String status; + + /** + * 生产车间 + */ + + private String workCenter; + + /** + * 工单编号 + */ + + private String shopOrder; + + /** + * 生产批次 + */ + @NotBlank(message = "生产批次不能为空", groups = { AddGroup.class, EditGroup.class }) + private String sfc; + + /** + * 工序编号 + */ + @NotBlank(message = "工序编号不能为空", groups = { AddGroup.class, EditGroup.class }) + private String operation; + + /** + * 工艺路线步骤标识 + */ + + private String stepId; + + /** + * 资源编号 + */ + + private String resrce; + + /** + * 任务结果 + */ + @NotBlank(message = "任务结果不能为空", groups = { AddGroup.class, EditGroup.class }) + private String result; + + /** + * PDA扫描字段,轮胎号或者流转卡。存质检物料扫描标识 + */ + private String qcMaterialCode; + + /** + * 物料id + */ + private Long materialId; + + /** + * 预留字段 + */ + private String attr3; + + /** + * 预留字段 + */ + private String attr4; +} diff --git a/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/domain/bo/QcInspectionTaskDefectBo.java b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/domain/bo/QcInspectionTaskDefectBo.java new file mode 100644 index 0000000..9ffb499 --- /dev/null +++ b/ruoyi-modules/hwmom-api/src/main/java/org/dromara/api/domain/bo/QcInspectionTaskDefectBo.java @@ -0,0 +1,64 @@ +package org.dromara.api.domain.bo; + +import io.github.linpeilie.annotations.AutoMapper; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.mybatis.core.domain.BaseEntity; + +import java.io.Serial; + + +/** + * 检验任务缺陷信息业务对象 qc_inspection_task_defect + * + * @author Yangwl + * @date 2025-07-16 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class QcInspectionTaskDefectBo extends BaseEntity { + @Serial + private static final long serialVersionUID = 1L; + /** + * 主键 + */ + private Long taskDefectId; + + /** + * 检验任务主键 + */ + @NotNull(message = "检验任务主键不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long taskId; + + /** + * 缺陷信息主键 + */ + @NotNull(message = "缺陷信息主键不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long defectId; + + /** + * 预留字段1 + */ + private String attr1; + + /** + * 预留字段2 + */ + private String attr2; + + /** + * + */ + private String attr3; + + /** + * + */ + private String attr4; + + +} diff --git a/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/controller/QcInspectionTaskDefectController.java b/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/controller/QcInspectionTaskDefectController.java new file mode 100644 index 0000000..81a6f3d --- /dev/null +++ b/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/controller/QcInspectionTaskDefectController.java @@ -0,0 +1,117 @@ +package org.dromara.qms.controller; + +import java.util.List; + +import lombok.RequiredArgsConstructor; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.*; +import cn.dev33.satoken.annotation.SaCheckPermission; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import org.dromara.common.idempotent.annotation.RepeatSubmit; +import org.dromara.common.log.annotation.Log; +import org.dromara.common.web.core.BaseController; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.core.domain.R; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.log.enums.BusinessType; +import org.dromara.common.excel.utils.ExcelUtil; +import org.dromara.qms.domain.vo.QcInspectionTaskDefectVo; +import org.dromara.qms.domain.bo.QcInspectionTaskDefectBo; +import org.dromara.qms.service.IQcInspectionTaskDefectService; +import org.dromara.common.mybatis.core.page.TableDataInfo; + +/** + * 检验任务缺陷信息 + * 前端访问路由地址为:/qms/inspectionTaskDefect + * + * @author Yangwl + * @date 2025-07-16 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/inspectionTaskDefect") +public class QcInspectionTaskDefectController extends BaseController { + + private final IQcInspectionTaskDefectService qcInspectionTaskDefectService; + + /** + * 查询检验任务缺陷信息列表 + */ + @SaCheckPermission("qms:inspectionTaskDefect:list") + @GetMapping("/list") + public TableDataInfo list(QcInspectionTaskDefectBo bo, PageQuery pageQuery) { + return qcInspectionTaskDefectService.queryPageList(bo, pageQuery); + } + + /** + * 导出检验任务缺陷信息列表 + */ + @SaCheckPermission("qms:inspectionTaskDefect:export") + @Log(title = "检验任务缺陷信息", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(QcInspectionTaskDefectBo bo, HttpServletResponse response) { + List list = qcInspectionTaskDefectService.queryList(bo); + ExcelUtil.exportExcel(list, "检验任务缺陷信息", QcInspectionTaskDefectVo.class, response); + } + + /** + * 获取检验任务缺陷信息详细信息 + * + * @param taskDefectId 主键 + */ + @SaCheckPermission("qms:inspectionTaskDefect:query") + @GetMapping("/{taskDefectId}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long taskDefectId) { + return R.ok(qcInspectionTaskDefectService.queryById(taskDefectId)); + } + + /** + * 新增检验任务缺陷信息 + */ + @SaCheckPermission("qms:inspectionTaskDefect:add") + @Log(title = "检验任务缺陷信息", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody QcInspectionTaskDefectBo bo) { + return toAjax(qcInspectionTaskDefectService.insertByBo(bo)); + } + + /** + * 修改检验任务缺陷信息 + */ + @SaCheckPermission("qms:inspectionTaskDefect:edit") + @Log(title = "检验任务缺陷信息", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody QcInspectionTaskDefectBo bo) { + return toAjax(qcInspectionTaskDefectService.updateByBo(bo)); + } + + /** + * 删除检验任务缺陷信息 + * + * @param taskDefectIds 主键串 + */ + @SaCheckPermission("qms:inspectionTaskDefect:remove") + @Log(title = "检验任务缺陷信息", businessType = BusinessType.DELETE) + @DeleteMapping("/{taskDefectIds}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] taskDefectIds) { + return toAjax(qcInspectionTaskDefectService.deleteWithValidByIds(List.of(taskDefectIds), true)); + } + + + /** + * 下拉框查询检验任务缺陷信息列表 + */ + + @GetMapping("/getQcInspectionTaskDefectList") + public R> getQcInspectionTaskDefectList(QcInspectionTaskDefectBo bo) { + List list = qcInspectionTaskDefectService.queryList(bo); + return R.ok(list); + } +} diff --git a/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/domain/QcInspectionTaskDefect.java b/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/domain/QcInspectionTaskDefect.java new file mode 100644 index 0000000..ca87538 --- /dev/null +++ b/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/domain/QcInspectionTaskDefect.java @@ -0,0 +1,60 @@ +package org.dromara.qms.domain; + +import org.dromara.common.tenant.core.TenantEntity; +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; + +/** + * 检验任务缺陷信息对象 qc_inspection_task_defect + * + * @author Yangwl + * @date 2025-07-16 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("qc_inspection_task_defect") +public class QcInspectionTaskDefect extends TenantEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + private Long taskDefectId; + + /** + * 检验任务主键 + */ + private Long taskId; + + /** + * 缺陷信息主键 + */ + private Long defectId; + + /** + * 预留字段1 + */ + private String attr1; + + /** + * 预留字段2 + */ + private String attr2; + + /** + * + */ + private String attr3; + + /** + * + */ + private String attr4; + + +} diff --git a/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/domain/bo/QcInspectionTaskDefectBo.java b/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/domain/bo/QcInspectionTaskDefectBo.java new file mode 100644 index 0000000..098c74b --- /dev/null +++ b/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/domain/bo/QcInspectionTaskDefectBo.java @@ -0,0 +1,66 @@ +package org.dromara.qms.domain.bo; + +import org.dromara.qms.domain.QcInspectionTaskDefect; +import org.dromara.common.mybatis.core.domain.BaseEntity; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import lombok.EqualsAndHashCode; +import jakarta.validation.constraints.*; + +/** + * 检验任务缺陷信息业务对象 qc_inspection_task_defect + * + * @author Yangwl + * @date 2025-07-16 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = QcInspectionTaskDefect.class, reverseConvertGenerate = false) +public class QcInspectionTaskDefectBo extends BaseEntity { + + /** + * 主键 + */ + @NotNull(message = "主键不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long taskDefectId; + + /** + * 检验任务主键 + */ + @NotNull(message = "检验任务主键不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long taskId; + + /** + * 缺陷信息主键 + */ + @NotNull(message = "缺陷信息主键不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long defectId; + + /** + * 预留字段1 + */ + @NotBlank(message = "预留字段1不能为空", groups = { AddGroup.class, EditGroup.class }) + private String attr1; + + /** + * 预留字段2 + */ + @NotBlank(message = "预留字段2不能为空", groups = { AddGroup.class, EditGroup.class }) + private String attr2; + + /** + * + */ + @NotBlank(message = "不能为空", groups = { AddGroup.class, EditGroup.class }) + private String attr3; + + /** + * + */ + @NotBlank(message = "不能为空", groups = { AddGroup.class, EditGroup.class }) + private String attr4; + + +} diff --git a/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/domain/vo/QcInspectionTaskDefectVo.java b/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/domain/vo/QcInspectionTaskDefectVo.java new file mode 100644 index 0000000..69e4921 --- /dev/null +++ b/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/domain/vo/QcInspectionTaskDefectVo.java @@ -0,0 +1,110 @@ +package org.dromara.qms.domain.vo; + +import org.dromara.qms.domain.QcInspectionTaskDefect; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import org.dromara.common.excel.annotation.ExcelDictFormat; +import org.dromara.common.excel.convert.ExcelDictConvert; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; + + + +/** + * 检验任务缺陷信息视图对象 qc_inspection_task_defect + * + * @author Yangwl + * @date 2025-07-16 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = QcInspectionTaskDefect.class) +public class QcInspectionTaskDefectVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @ExcelProperty(value = "主键") + private Long taskDefectId; + + /** + * 检验任务主键 + */ + @ExcelProperty(value = "检验任务主键") + private Long taskId; + + /** + * 缺陷信息主键 + */ + @ExcelProperty(value = "缺陷信息主键") + private Long defectId; + + /** + * 预留字段1 + */ + @ExcelProperty(value = "预留字段1") + private String attr1; + + /** + * 预留字段2 + */ + @ExcelProperty(value = "预留字段2") + private String attr2; + + /** + * + */ + @ExcelProperty(value = "") + private String attr3; + + /** + * + */ + @ExcelProperty(value = "") + private String attr4; + + /** + * 租户号 + */ + @ExcelProperty(value = "租户号") + private String tenantId; + + /** + * + */ + @ExcelProperty(value = "") + private String createDept; + + /** + * 创建人 + */ + @ExcelProperty(value = "创建人") + private String createBy; + + /** + * 创建时间 + */ + @ExcelProperty(value = "创建时间") + private Date createTime; + + /** + * 更新人 + */ + @ExcelProperty(value = "更新人") + private String updateBy; + + /** + * 更新时间 + */ + @ExcelProperty(value = "更新时间") + private Date updateTime; + + +} diff --git a/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/dubbo/RemoteQmsApiServiceImpl.java b/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/dubbo/RemoteQmsApiServiceImpl.java index 4c4971a..a1ef795 100644 --- a/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/dubbo/RemoteQmsApiServiceImpl.java +++ b/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/dubbo/RemoteQmsApiServiceImpl.java @@ -1,5 +1,6 @@ package org.dromara.qms.dubbo; +import cn.hutool.core.bean.BeanUtil; import lombok.RequiredArgsConstructor; import org.apache.dubbo.config.annotation.DubboService; import org.dromara.common.core.domain.R; @@ -10,15 +11,18 @@ import org.dromara.pda.api.RemotePdaQmsApiService; import org.dromara.pda.api.model.QcInspectionTaskBo; import org.dromara.pda.api.model.vo.RemoteDefectVo; import org.dromara.qms.domain.QcInspectionTask; +import org.dromara.qms.domain.QcInspectionTaskDefect; import org.dromara.qms.domain.bo.QcDefectDetailBo; import org.dromara.qms.domain.vo.QcDefectDetailVo; import org.dromara.qms.mapper.QcDefectDetailMapper; import org.dromara.qms.mapper.QcDefectInfoMapper; +import org.dromara.qms.mapper.QcInspectionTaskDefectMapper; import org.dromara.qms.mapper.QcInspectionTaskMapper; import org.dromara.qms.service.IQcDefectDetailService; import org.springframework.stereotype.Service; import java.util.ArrayList; +import java.util.Collection; import java.util.List; @RequiredArgsConstructor @@ -30,6 +34,7 @@ public class RemoteQmsApiServiceImpl implements RemotePdaQmsApiService { private final QcDefectDetailMapper qcDefectDetailMapper; private final QcInspectionTaskMapper qcInspectionTaskMapper; private final IQcDefectDetailService iQcDefectDetailService; + private final QcInspectionTaskDefectMapper qcInspectionTaskDefectMapper; /** * 获取缺陷数据接口 @@ -63,6 +68,8 @@ public class RemoteQmsApiServiceImpl implements RemotePdaQmsApiService { QcInspectionTask qcInspectionTask = new QcInspectionTask(); qcInspectionTask = MapstructUtils.convert(bo, QcInspectionTask.class); int i = qcInspectionTaskMapper.updateById(qcInspectionTask); + List qcInspectionTaskDefectList=BeanUtil.copyToList(bo.getQcInspectionTaskDefectBoList(),QcInspectionTaskDefect.class); + qcInspectionTaskDefectMapper.insertBatch(qcInspectionTaskDefectList); if (i > 0) { return R.ok(); } diff --git a/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/mapper/QcInspectionTaskDefectMapper.java b/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/mapper/QcInspectionTaskDefectMapper.java new file mode 100644 index 0000000..11a5223 --- /dev/null +++ b/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/mapper/QcInspectionTaskDefectMapper.java @@ -0,0 +1,15 @@ +package org.dromara.qms.mapper; + +import org.dromara.qms.domain.QcInspectionTaskDefect; +import org.dromara.qms.domain.vo.QcInspectionTaskDefectVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * 检验任务缺陷信息Mapper接口 + * + * @author Yangwl + * @date 2025-07-16 + */ +public interface QcInspectionTaskDefectMapper extends BaseMapperPlus { + +} diff --git a/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/service/IQcInspectionTaskDefectService.java b/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/service/IQcInspectionTaskDefectService.java new file mode 100644 index 0000000..549fba4 --- /dev/null +++ b/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/service/IQcInspectionTaskDefectService.java @@ -0,0 +1,69 @@ +package org.dromara.qms.service; + +import org.dromara.qms.domain.QcInspectionTaskDefect; +import org.dromara.qms.domain.vo.QcInspectionTaskDefectVo; +import org.dromara.qms.domain.bo.QcInspectionTaskDefectBo; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 检验任务缺陷信息Service接口 + * + * @author Yangwl + * @date 2025-07-16 + */ +public interface IQcInspectionTaskDefectService { + + /** + * 查询检验任务缺陷信息 + * + * @param taskDefectId 主键 + * @return 检验任务缺陷信息 + */ + QcInspectionTaskDefectVo queryById(Long taskDefectId); + + /** + * 分页查询检验任务缺陷信息列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 检验任务缺陷信息分页列表 + */ + TableDataInfo queryPageList(QcInspectionTaskDefectBo bo, PageQuery pageQuery); + + /** + * 查询符合条件的检验任务缺陷信息列表 + * + * @param bo 查询条件 + * @return 检验任务缺陷信息列表 + */ + List queryList(QcInspectionTaskDefectBo bo); + + /** + * 新增检验任务缺陷信息 + * + * @param bo 检验任务缺陷信息 + * @return 是否新增成功 + */ + Boolean insertByBo(QcInspectionTaskDefectBo bo); + + /** + * 修改检验任务缺陷信息 + * + * @param bo 检验任务缺陷信息 + * @return 是否修改成功 + */ + Boolean updateByBo(QcInspectionTaskDefectBo bo); + + /** + * 校验并批量删除检验任务缺陷信息信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/service/impl/QcInspectionTaskDefectServiceImpl.java b/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/service/impl/QcInspectionTaskDefectServiceImpl.java new file mode 100644 index 0000000..ab57b9b --- /dev/null +++ b/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/service/impl/QcInspectionTaskDefectServiceImpl.java @@ -0,0 +1,144 @@ +package org.dromara.qms.service.impl; + +import org.dromara.common.core.utils.MapstructUtils; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.github.yulichang.toolkit.JoinWrappers; +import com.github.yulichang.wrapper.MPJLambdaWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.dromara.qms.domain.bo.QcInspectionTaskDefectBo; +import org.dromara.qms.domain.vo.QcInspectionTaskDefectVo; +import org.dromara.qms.domain.QcInspectionTaskDefect; +import org.dromara.qms.mapper.QcInspectionTaskDefectMapper; +import org.dromara.qms.service.IQcInspectionTaskDefectService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 检验任务缺陷信息Service业务层处理 + * + * @author Yangwl + * @date 2025-07-16 + */ +@RequiredArgsConstructor +@Service +public class QcInspectionTaskDefectServiceImpl implements IQcInspectionTaskDefectService { + + private final QcInspectionTaskDefectMapper baseMapper; + + /** + * 查询检验任务缺陷信息 + * + * @param taskDefectId 主键 + * @return 检验任务缺陷信息 + */ + @Override + public QcInspectionTaskDefectVo queryById(Long taskDefectId){ + return baseMapper.selectVoById(taskDefectId); + } + + /** + * 分页查询检验任务缺陷信息列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 检验任务缺陷信息分页列表 + */ + @Override + public TableDataInfo queryPageList(QcInspectionTaskDefectBo bo, PageQuery pageQuery) { + MPJLambdaWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询符合条件的检验任务缺陷信息列表 + * + * @param bo 查询条件 + * @return 检验任务缺陷信息列表 + */ + @Override + public List queryList(QcInspectionTaskDefectBo bo) { + MPJLambdaWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private MPJLambdaWrapper buildQueryWrapper(QcInspectionTaskDefectBo bo) { + Map params = bo.getParams(); + MPJLambdaWrapper lqw = JoinWrappers.lambda(QcInspectionTaskDefect.class) + .selectAll(QcInspectionTaskDefect.class) + .eq(bo.getTaskDefectId() != null, QcInspectionTaskDefect::getTaskDefectId, bo.getTaskDefectId()) + .eq(bo.getTaskId() != null, QcInspectionTaskDefect::getTaskId, bo.getTaskId()) + .eq(bo.getDefectId() != null, QcInspectionTaskDefect::getDefectId, bo.getDefectId()) + .eq(StringUtils.isNotBlank(bo.getAttr1()), QcInspectionTaskDefect::getAttr1, bo.getAttr1()) + .eq(StringUtils.isNotBlank(bo.getAttr2()), QcInspectionTaskDefect::getAttr2, bo.getAttr2()) + .eq(StringUtils.isNotBlank(bo.getAttr3()), QcInspectionTaskDefect::getAttr3, bo.getAttr3()) + .eq(StringUtils.isNotBlank(bo.getAttr4()), QcInspectionTaskDefect::getAttr4, bo.getAttr4()) + .eq(StringUtils.isNotBlank(bo.getTenantId()), QcInspectionTaskDefect::getTenantId, bo.getTenantId()) + .eq(StringUtils.isNotBlank(bo.getCreateDept()), QcInspectionTaskDefect::getCreateDept, bo.getCreateDept()) + .eq(StringUtils.isNotBlank(bo.getCreateBy()), QcInspectionTaskDefect::getCreateBy, bo.getCreateBy()) + .eq(bo.getCreateTime() != null, QcInspectionTaskDefect::getCreateTime, bo.getCreateTime()) + .eq(StringUtils.isNotBlank(bo.getUpdateBy()), QcInspectionTaskDefect::getUpdateBy, bo.getUpdateBy()) + .eq(bo.getUpdateTime() != null, QcInspectionTaskDefect::getUpdateTime, bo.getUpdateTime()) + .orderByDesc(QcInspectionTaskDefect::getCreateTime); + return lqw; + } + + /** + * 新增检验任务缺陷信息 + * + * @param bo 检验任务缺陷信息 + * @return 是否新增成功 + */ + @Override + public Boolean insertByBo(QcInspectionTaskDefectBo bo) { + QcInspectionTaskDefect add = MapstructUtils.convert(bo, QcInspectionTaskDefect.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setTaskDefectId(add.getTaskDefectId()); + } + return flag; + } + + /** + * 修改检验任务缺陷信息 + * + * @param bo 检验任务缺陷信息 + * @return 是否修改成功 + */ + @Override + public Boolean updateByBo(QcInspectionTaskDefectBo bo) { + QcInspectionTaskDefect update = MapstructUtils.convert(bo, QcInspectionTaskDefect.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(QcInspectionTaskDefect entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 校验并批量删除检验任务缺陷信息信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteByIds(ids) > 0; + } +} diff --git a/ruoyi-modules/hwmom-qms/src/main/resources/mapper/qms/QcInspectionTaskDefectMapper.xml b/ruoyi-modules/hwmom-qms/src/main/resources/mapper/qms/QcInspectionTaskDefectMapper.xml new file mode 100644 index 0000000..7e9cdda --- /dev/null +++ b/ruoyi-modules/hwmom-qms/src/main/resources/mapper/qms/QcInspectionTaskDefectMapper.xml @@ -0,0 +1,7 @@ + + + + +