From 95313c541c0defbb7d4fd7af8e40885a25a3c477 Mon Sep 17 00:00:00 2001 From: yinq Date: Tue, 29 Jul 2025 11:03:09 +0800 Subject: [PATCH] =?UTF-8?q?update=20qms=E4=B8=8D=E5=90=88=E6=A0=BC?= =?UTF-8?q?=E8=AF=84=E5=AE=A1=E6=94=B9=E6=A3=80=E6=B5=8B=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E3=80=81PDA=E6=8F=90=E4=BA=A4=E6=A3=80=E6=B5=8B=E7=BB=93?= =?UTF-8?q?=E6=9E=9C=E6=8E=A5=E5=8F=A3=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../qms/domain/QcUnqualifiedReview.java | 10 +++- .../qms/domain/bo/QcUnqualifiedReviewBo.java | 9 ++- .../qms/domain/vo/QcUnqualifiedReviewVo.java | 9 ++- .../qms/service/impl/QcPDAServiceImpl.java | 46 +++++++++------- .../impl/QcUnqualifiedReviewServiceImpl.java | 55 ++++++++++--------- 5 files changed, 74 insertions(+), 55 deletions(-) diff --git a/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/domain/QcUnqualifiedReview.java b/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/domain/QcUnqualifiedReview.java index 2dd46e1..8cccc3c 100644 --- a/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/domain/QcUnqualifiedReview.java +++ b/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/domain/QcUnqualifiedReview.java @@ -46,9 +46,9 @@ public class QcUnqualifiedReview extends TenantEntity { private String inspectionNo; /** - * 检测类型 + * 检测类型ID */ - private String inspectionType; + private Long inspectionType; /** * 生产日期 @@ -141,5 +141,9 @@ public class QcUnqualifiedReview extends TenantEntity { @TableLogic private String delFlag; - + /** + * 检测类型名称 + */ + @TableField(exist = false) + private String typeName; } diff --git a/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/domain/bo/QcUnqualifiedReviewBo.java b/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/domain/bo/QcUnqualifiedReviewBo.java index f726b90..c5ad09c 100644 --- a/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/domain/bo/QcUnqualifiedReviewBo.java +++ b/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/domain/bo/QcUnqualifiedReviewBo.java @@ -45,9 +45,9 @@ public class QcUnqualifiedReviewBo extends BaseEntity { private String inspectionNo; /** - * 检测类型 + * 检测类型ID */ - private String inspectionType; + private Long inspectionType; /** * 生产日期 @@ -134,5 +134,8 @@ public class QcUnqualifiedReviewBo extends BaseEntity { */ private String remark; - + /** + * 检测类型名称 + */ + private String typeName; } diff --git a/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/domain/vo/QcUnqualifiedReviewVo.java b/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/domain/vo/QcUnqualifiedReviewVo.java index e48e75d..61a0f59 100644 --- a/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/domain/vo/QcUnqualifiedReviewVo.java +++ b/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/domain/vo/QcUnqualifiedReviewVo.java @@ -57,10 +57,10 @@ public class QcUnqualifiedReviewVo implements Serializable { private String inspectionNo; /** - * 检测类型 + * 检测类型ID */ @ExcelProperty(value = "检测类型") - private String inspectionType; + private Long inspectionType; /** * 生产日期 @@ -165,5 +165,8 @@ public class QcUnqualifiedReviewVo implements Serializable { @ExcelProperty(value = "备注") private String remark; - + /** + * 检测类型名称 + */ + private String typeName; } diff --git a/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/service/impl/QcPDAServiceImpl.java b/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/service/impl/QcPDAServiceImpl.java index 4f979e4..a9fd776 100644 --- a/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/service/impl/QcPDAServiceImpl.java +++ b/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/service/impl/QcPDAServiceImpl.java @@ -208,9 +208,9 @@ public class QcPDAServiceImpl implements IQcPDAService { // 更新主记录 if (isUnqualified){ bo.setQualifiedQty(new BigDecimal(0)); - bo.setUnqualifiedQty(main.getQualifiedQty()); + bo.setUnqualifiedQty(main.getInspectionQty()); } else { - bo.setQualifiedQty(main.getQualifiedQty()); + bo.setQualifiedQty(main.getInspectionQty()); bo.setUnqualifiedQty(new BigDecimal(0)); } bo.setInspector(username); @@ -223,13 +223,14 @@ public class QcPDAServiceImpl implements IQcPDAService { String unqualifiedReviewNo = remoteCodeRuleService.selectCodeRuleCode("4"); // 构建一个新的不合格评审业务对象 QcUnqualifiedReviewBo reviewBo = new QcUnqualifiedReviewBo(); + // 关联原检验单号,质检单号 + BeanUtils.copyProperties(bo, reviewBo); // 设置不合格检测单号 reviewBo.setUnqualifiedReviewNo(unqualifiedReviewNo); - // 关联原检验单号,质检单号 - reviewBo.setInspectionNo(main.getInspectionNo()); - BeanUtils.copyProperties(bo, reviewBo); + String inspectionNo = main.getInspectionNo(); + reviewBo.setInspectionNo(inspectionNo); // 复制检验类型信息 -// reviewBo.setInspectionType(main.getInspectionType()); + reviewBo.setInspectionType(main.getInspectionType()); // 关联生产工单号 reviewBo.setWorkOrderNo(main.getProductionOrder()); // 复制工序名称 @@ -251,39 +252,42 @@ public class QcPDAServiceImpl implements IQcPDAService { for (QcInspectionResultBo resultBo : bo.getResults()) { if ("1".equals(resultBo.getDetectResult())) {//检测结果(0合格,1不合格,2未判定) // 创建一条不合格明细记录对象 + Long resultId = resultBo.getResultId(); + // 根据结果ID查询已有的结果详情 + QcInspectionResultVo existingResult = qcInspectionResultService.queryById(resultId); QcUnqualifiedRecordBo recordBo = new QcUnqualifiedRecordBo(); // 关联所属的评审ID recordBo.setReviewId(reviewBo.getReviewId()); - BeanUtils.copyProperties(resultBo, recordBo); +// BeanUtils.copyProperties(resultBo, recordBo); // 设置项目编码 - recordBo.setItemCode(resultBo.getItemCode()); + recordBo.setItemCode(existingResult.getItemCode()); // 设置项目名称 - recordBo.setItemName(resultBo.getItemName()); + recordBo.setItemName(existingResult.getItemName()); // 设置检验位置 - recordBo.setInspectionPosition(resultBo.getInspectionPosition()); + recordBo.setInspectionPosition(existingResult.getInspectionPosition()); // 转换分类名称为Long类型并设置 - recordBo.setCategoryName(resultBo.getCategoryName()); + recordBo.setCategoryName(existingResult.getCategoryName()); // 设置类型ID - recordBo.setTypeId(resultBo.getTypeId()); + recordBo.setTypeId(existingResult.getTypeId()); // recordBo.setInspectionMethod(); // 如果需要可补充检验方法字段 // 设置检测类型 - recordBo.setDetectType(resultBo.getDetectType()); + recordBo.setDetectType(existingResult.getDetectType()); // 设置检测结果(是否合格) - recordBo.setDetectResult(resultBo.getDetectResult()); + recordBo.setDetectResult(existingResult.getDetectResult()); // 设置检测的具体数值 - recordBo.setDetectValue(resultBo.getDetectValue()); + recordBo.setDetectValue(existingResult.getDetectValue()); // 设置上限标准值 - recordBo.setUpperLimit(resultBo.getUpperLimit()); + recordBo.setUpperLimit(existingResult.getUpperLimit()); // 设置下限标准值 - recordBo.setLowerLimit(resultBo.getLowerLimit()); + recordBo.setLowerLimit(existingResult.getLowerLimit()); // 调整规格名称作为特殊检验值存储 - recordBo.setSpecInspectionValue(resultBo.getSpecName()); // Adjust + recordBo.setSpecInspectionValue(existingResult.getSpecName()); // Adjust // 设置规格上限 - recordBo.setSpecUpper(resultBo.getSpecUpper()); + recordBo.setSpecUpper(existingResult.getSpecUpper()); // 设置规格下限 - recordBo.setSpecLower(resultBo.getSpecLower()); + recordBo.setSpecLower(existingResult.getSpecLower()); // 设置相关描述信息 - recordBo.setDescription(resultBo.getDescription()); + recordBo.setDescription(existingResult.getDescription()); // 插入不合格明细记录到数据库 qcUnqualifiedRecordService.insertByBo(recordBo); diff --git a/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/service/impl/QcUnqualifiedReviewServiceImpl.java b/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/service/impl/QcUnqualifiedReviewServiceImpl.java index e5bcbc0..553f698 100644 --- a/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/service/impl/QcUnqualifiedReviewServiceImpl.java +++ b/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/service/impl/QcUnqualifiedReviewServiceImpl.java @@ -9,6 +9,9 @@ import com.github.yulichang.toolkit.JoinWrappers; import com.github.yulichang.wrapper.MPJLambdaWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.RequiredArgsConstructor; +import org.dromara.qms.domain.QcInspectionMain; +import org.dromara.qms.domain.QcInspectionTemplate; +import org.dromara.qms.domain.QcInspectionType; import org.springframework.stereotype.Service; import org.dromara.qms.domain.bo.QcUnqualifiedReviewBo; import org.dromara.qms.domain.vo.QcUnqualifiedReviewVo; @@ -39,7 +42,7 @@ public class QcUnqualifiedReviewServiceImpl implements IQcUnqualifiedReviewServi * @return 不合格品待评审 */ @Override - public QcUnqualifiedReviewVo queryById(Long reviewId){ + public QcUnqualifiedReviewVo queryById(Long reviewId) { return baseMapper.selectVoById(reviewId); } @@ -72,32 +75,34 @@ public class QcUnqualifiedReviewServiceImpl implements IQcUnqualifiedReviewServi private MPJLambdaWrapper buildQueryWrapper(QcUnqualifiedReviewBo bo) { Map params = bo.getParams(); MPJLambdaWrapper lqw = JoinWrappers.lambda(QcUnqualifiedReview.class) - .selectAll(QcUnqualifiedReview.class) - .eq(bo.getReviewId() != null, QcUnqualifiedReview::getReviewId, bo.getReviewId()) - .eq(bo.getUnqualifiedReviewNo() != null, QcUnqualifiedReview::getUnqualifiedReviewNo, bo.getUnqualifiedReviewNo()) + .selectAll(QcUnqualifiedReview.class) + .select(QcInspectionType::getTypeName) + .leftJoin(QcInspectionType.class, QcInspectionType::getTypeId, QcInspectionMain::getInspectionType) + .eq(bo.getReviewId() != null, QcUnqualifiedReview::getReviewId, bo.getReviewId()) + .eq(bo.getUnqualifiedReviewNo() != null, QcUnqualifiedReview::getUnqualifiedReviewNo, bo.getUnqualifiedReviewNo()) // .eq(bo.getReviewResult() != null, QcUnqualifiedReview::getReviewResult, bo.getReviewResult()) .eq(StringUtils.isNotBlank(bo.getReviewResult()), QcUnqualifiedReview::getReviewResult, bo.getReviewResult()) - .eq(StringUtils.isNotBlank(bo.getInspectionNo()), QcUnqualifiedReview::getInspectionNo, bo.getInspectionNo()) + .eq(StringUtils.isNotBlank(bo.getInspectionNo()), QcUnqualifiedReview::getInspectionNo, bo.getInspectionNo()) // .eq(bo.getInspectionType() != null, QcUnqualifiedReview::getInspectionType, bo.getInspectionType()) - .eq(StringUtils.isNotBlank(bo.getInspectionType()), QcUnqualifiedReview::getInspectionType, bo.getInspectionType()) - .eq(bo.getProductionDate() != null, QcUnqualifiedReview::getProductionDate, bo.getProductionDate()) - .eq(StringUtils.isNotBlank(bo.getWorkOrderNo()), QcUnqualifiedReview::getWorkOrderNo, bo.getWorkOrderNo()) - .like(StringUtils.isNotBlank(bo.getProcessName()), QcUnqualifiedReview::getProcessName, bo.getProcessName()) - .like(StringUtils.isNotBlank(bo.getMaterialName()), QcUnqualifiedReview::getMaterialName, bo.getMaterialName()) - .eq(StringUtils.isNotBlank(bo.getMaterialCode()), QcUnqualifiedReview::getMaterialCode, bo.getMaterialCode()) - .eq(StringUtils.isNotBlank(bo.getMaterialSpec()), QcUnqualifiedReview::getMaterialSpec, bo.getMaterialSpec()) - .like(StringUtils.isNotBlank(bo.getSupplierName()), QcUnqualifiedReview::getSupplierName, bo.getSupplierName()) - .eq(StringUtils.isNotBlank(bo.getSupplierCode()), QcUnqualifiedReview::getSupplierCode, bo.getSupplierCode()) - .eq(bo.getInspectionQty() != null, QcUnqualifiedReview::getInspectionQty, bo.getInspectionQty()) - .eq(StringUtils.isNotBlank(bo.getBatchNo()), QcUnqualifiedReview::getBatchNo, bo.getBatchNo()) - .eq(StringUtils.isNotBlank(bo.getInspector()), QcUnqualifiedReview::getInspector, bo.getInspector()) - .eq(bo.getInspectorId() != null, QcUnqualifiedReview::getInspectorId, bo.getInspectorId()) - .eq(StringUtils.isNotBlank(bo.getReviewer()), QcUnqualifiedReview::getReviewer, bo.getReviewer()) - .eq(bo.getReviewerId() != null, QcUnqualifiedReview::getReviewerId, bo.getReviewerId()) +// .eq(StringUtils.isNotBlank(bo.getInspectionType()), QcUnqualifiedReview::getInspectionType, bo.getInspectionType()) + .eq(bo.getProductionDate() != null, QcUnqualifiedReview::getProductionDate, bo.getProductionDate()) + .eq(StringUtils.isNotBlank(bo.getWorkOrderNo()), QcUnqualifiedReview::getWorkOrderNo, bo.getWorkOrderNo()) + .like(StringUtils.isNotBlank(bo.getProcessName()), QcUnqualifiedReview::getProcessName, bo.getProcessName()) + .like(StringUtils.isNotBlank(bo.getMaterialName()), QcUnqualifiedReview::getMaterialName, bo.getMaterialName()) + .eq(StringUtils.isNotBlank(bo.getMaterialCode()), QcUnqualifiedReview::getMaterialCode, bo.getMaterialCode()) + .eq(StringUtils.isNotBlank(bo.getMaterialSpec()), QcUnqualifiedReview::getMaterialSpec, bo.getMaterialSpec()) + .like(StringUtils.isNotBlank(bo.getSupplierName()), QcUnqualifiedReview::getSupplierName, bo.getSupplierName()) + .eq(StringUtils.isNotBlank(bo.getSupplierCode()), QcUnqualifiedReview::getSupplierCode, bo.getSupplierCode()) + .eq(bo.getInspectionQty() != null, QcUnqualifiedReview::getInspectionQty, bo.getInspectionQty()) + .eq(StringUtils.isNotBlank(bo.getBatchNo()), QcUnqualifiedReview::getBatchNo, bo.getBatchNo()) + .eq(StringUtils.isNotBlank(bo.getInspector()), QcUnqualifiedReview::getInspector, bo.getInspector()) + .eq(bo.getInspectorId() != null, QcUnqualifiedReview::getInspectorId, bo.getInspectorId()) + .eq(StringUtils.isNotBlank(bo.getReviewer()), QcUnqualifiedReview::getReviewer, bo.getReviewer()) + .eq(bo.getReviewerId() != null, QcUnqualifiedReview::getReviewerId, bo.getReviewerId()) // .eq(bo.getReviewTime() != null, QcUnqualifiedReview::getReviewTime, bo.getReviewTime()) - .eq(bo.getReviewStartTime() != null, QcUnqualifiedReview::getReviewStartTime, bo.getReviewStartTime()) - .eq(bo.getReviewEndTime() != null, QcUnqualifiedReview::getReviewEndTime, bo.getReviewEndTime()) - .orderByDesc(QcUnqualifiedReview::getCreateTime); + .eq(bo.getReviewStartTime() != null, QcUnqualifiedReview::getReviewStartTime, bo.getReviewStartTime()) + .eq(bo.getReviewEndTime() != null, QcUnqualifiedReview::getReviewEndTime, bo.getReviewEndTime()) + .orderByDesc(QcUnqualifiedReview::getCreateTime); Object beginReviewStartTime = params.get("beginReviewStartTime"); Object endReviewStartTime = params.get("endReviewStartTime"); @@ -144,7 +149,7 @@ public class QcUnqualifiedReviewServiceImpl implements IQcUnqualifiedReviewServi /** * 保存前的数据校验 */ - private void validEntityBeforeSave(QcUnqualifiedReview entity){ + private void validEntityBeforeSave(QcUnqualifiedReview entity) { //TODO 做一些数据校验,如唯一约束 } @@ -157,7 +162,7 @@ public class QcUnqualifiedReviewServiceImpl implements IQcUnqualifiedReviewServi */ @Override public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { - if(isValid){ + if (isValid) { //TODO 做一些业务上的校验,判断是否需要校验 } return baseMapper.deleteByIds(ids) > 0;