From ddb47eb1e61198975ac27e79d7494dfe3b5ab2c9 Mon Sep 17 00:00:00 2001 From: yinq Date: Mon, 28 Jul 2025 17:52:31 +0800 Subject: [PATCH] =?UTF-8?q?update=20qmsPDA=E5=88=86=E9=A1=B5=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E8=B4=A8=E6=A3=80=E4=BB=BB=E5=8A=A1=E3=80=81=E8=B4=A8?= =?UTF-8?q?=E6=A3=80=E4=BB=BB=E5=8A=A1=E6=A3=80=E6=B5=8B=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E7=B1=BB=E5=9E=8B=E6=94=B9=E4=B8=BALong?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../qms/controller/QcPDAController.java | 10 +++ .../dromara/qms/domain/QcInspectionMain.java | 10 ++- .../qms/domain/bo/QcInspectionMainBo.java | 19 +++-- .../qms/domain/vo/QcInspectionMainVo.java | 10 ++- .../qms/service/IQcInspectionMainService.java | 9 +++ .../impl/QcInspectionMainServiceImpl.java | 75 +++++++++++-------- .../qms/service/impl/QcPDAServiceImpl.java | 15 +++- 7 files changed, 103 insertions(+), 45 deletions(-) diff --git a/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/controller/QcPDAController.java b/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/controller/QcPDAController.java index 8419dd4..d041762 100644 --- a/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/controller/QcPDAController.java +++ b/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/controller/QcPDAController.java @@ -108,5 +108,15 @@ public class QcPDAController { } } + /** + * PDA分页查询质检任务 + * @param bo + * @param pageQuery + * @return + */ + @GetMapping("/getMainList") + public TableDataInfo getMainList(QcInspectionMainBo bo, PageQuery pageQuery) { + return qcInspectionMainService.getMainList(bo, pageQuery); + } } diff --git a/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/domain/QcInspectionMain.java b/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/domain/QcInspectionMain.java index 639260e..189bc47 100644 --- a/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/domain/QcInspectionMain.java +++ b/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/domain/QcInspectionMain.java @@ -92,9 +92,9 @@ public class QcInspectionMain extends TenantEntity { private String workshop; /** - * 检验类别(首检/过程检等等) + * 检测类型ID */ - private String inspectionType; + private Long inspectionType; /** * 单据状态(0未处理/1完成) @@ -170,4 +170,10 @@ public class QcInspectionMain extends TenantEntity { @TableField(exist = false) private String templateName;//join + /** + * 检测类型名称 + */ + @TableField(exist = false) + private String typeName; + } diff --git a/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/domain/bo/QcInspectionMainBo.java b/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/domain/bo/QcInspectionMainBo.java index b6252ef..16bc4a3 100644 --- a/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/domain/bo/QcInspectionMainBo.java +++ b/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/domain/bo/QcInspectionMainBo.java @@ -2,16 +2,11 @@ package org.dromara.qms.domain.bo; import org.dromara.qms.domain.QcInspectionMain; 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.*; import java.math.BigDecimal; import java.util.Date; -import com.fasterxml.jackson.annotation.JsonFormat; -import org.dromara.qms.domain.bo.QcInspectionResultBo; import java.util.List; /** @@ -98,9 +93,9 @@ public class QcInspectionMainBo extends BaseEntity { private String workshop; /** - * 检验类别(首检/过程检等等) + * 检测类型ID */ - private String inspectionType; + private Long inspectionType; /** * 单据状态(0未处理/1完成) @@ -162,6 +157,16 @@ public class QcInspectionMainBo extends BaseEntity { */ private String templateName;//join + /** + * 检测类型字典 + */ + private String qcInspectionType; + + /** + * 检测类型名称 + */ + private String typeName; + /** * 检测结果列表 */ diff --git a/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/domain/vo/QcInspectionMainVo.java b/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/domain/vo/QcInspectionMainVo.java index 86f0a2b..fe28d36 100644 --- a/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/domain/vo/QcInspectionMainVo.java +++ b/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/domain/vo/QcInspectionMainVo.java @@ -116,11 +116,11 @@ public class QcInspectionMainVo implements Serializable { private String workshop; /** - * 检验类别(首检/过程检等等) + * 检测类型ID */ @ExcelProperty(value = "检验类别", converter = ExcelDictConvert.class) @ExcelDictFormat(dictType = "qc_inspection_type") - private String inspectionType; + private Long inspectionType; /** * 单据状态(0未处理/1完成) @@ -195,4 +195,10 @@ public class QcInspectionMainVo implements Serializable { private String templateName;//join + /** + * 检测类型名称 + */ + private String typeName; + + } diff --git a/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/service/IQcInspectionMainService.java b/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/service/IQcInspectionMainService.java index 6dc49e8..3158224 100644 --- a/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/service/IQcInspectionMainService.java +++ b/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/service/IQcInspectionMainService.java @@ -66,4 +66,13 @@ public interface IQcInspectionMainService { * @return 是否删除成功 */ Boolean deleteWithValidByIds(Collection ids, Boolean isValid); + + /** + * PDA分页查询质检任务 + * @param bo + * @param pageQuery + * @return + */ + TableDataInfo getMainList(QcInspectionMainBo bo, PageQuery pageQuery); + } diff --git a/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/service/impl/QcInspectionMainServiceImpl.java b/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/service/impl/QcInspectionMainServiceImpl.java index 6cf4118..2103138 100644 --- a/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/service/impl/QcInspectionMainServiceImpl.java +++ b/ruoyi-modules/hwmom-qms/src/main/java/org/dromara/qms/service/impl/QcInspectionMainServiceImpl.java @@ -10,6 +10,7 @@ import com.github.yulichang.wrapper.MPJLambdaWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.RequiredArgsConstructor; import org.dromara.qms.domain.QcInspectionTemplate; +import org.dromara.qms.domain.QcInspectionType; import org.springframework.stereotype.Service; import org.dromara.qms.domain.bo.QcInspectionMainBo; import org.dromara.qms.domain.vo.QcInspectionMainVo; @@ -40,7 +41,7 @@ public class QcInspectionMainServiceImpl implements IQcInspectionMainService { * @return 质检任务 */ @Override - public QcInspectionMainVo queryById(Long inspectionId){ + public QcInspectionMainVo queryById(Long inspectionId) { return baseMapper.selectVoById(inspectionId); } @@ -73,41 +74,41 @@ public class QcInspectionMainServiceImpl implements IQcInspectionMainService { private MPJLambdaWrapper buildQueryWrapper(QcInspectionMainBo bo) { Map params = bo.getParams(); MPJLambdaWrapper lqw = JoinWrappers.lambda(QcInspectionMain.class) - .selectAll(QcInspectionMain.class) - - //关联模板主表 - .select(QcInspectionTemplate::getTemplateName) - .leftJoin(QcInspectionTemplate.class, QcInspectionTemplate::getTemplateId, QcInspectionMain::getTemplateId) - - .eq(bo.getInspectionId() != null, QcInspectionMain::getInspectionId, bo.getInspectionId()) + .selectAll(QcInspectionMain.class) + //关联模板主表 + .select(QcInspectionTemplate::getTemplateName) + .select(QcInspectionType::getTypeName) + .leftJoin(QcInspectionTemplate.class, QcInspectionTemplate::getTemplateId, QcInspectionMain::getTemplateId) + .leftJoin(QcInspectionType.class, QcInspectionType::getTypeId, QcInspectionMain::getInspectionType) + .eq(bo.getInspectionId() != null, QcInspectionMain::getInspectionId, bo.getInspectionId()) .eq(bo.getPlanDetailId() != null, QcInspectionMain::getPlanDetailId, bo.getPlanDetailId())//后续添加 - .eq(StringUtils.isNotBlank(bo.getInspectionNo()), QcInspectionMain::getInspectionNo, bo.getInspectionNo()) - .eq(bo.getTemplateId() != null, QcInspectionMain::getTemplateId, bo.getTemplateId()) - .eq(StringUtils.isNotBlank(bo.getMaterialCode()), QcInspectionMain::getMaterialCode, bo.getMaterialCode()) - .eq(StringUtils.isNotBlank(bo.getMaterialType()), QcInspectionMain::getMaterialType, bo.getMaterialType()) - .like(StringUtils.isNotBlank(bo.getMaterialName()), QcInspectionMain::getMaterialName, bo.getMaterialName()) - .like(StringUtils.isNotBlank(bo.getProcessName()), QcInspectionMain::getProcessName, bo.getProcessName()) - .like(StringUtils.isNotBlank(bo.getStationName()), QcInspectionMain::getStationName, bo.getStationName()) - .eq(bo.getInspectionQty() != null, QcInspectionMain::getInspectionQty, bo.getInspectionQty()) - .eq(bo.getQualifiedQty() != null, QcInspectionMain::getQualifiedQty, bo.getQualifiedQty()) - .eq(bo.getUnqualifiedQty() != null, QcInspectionMain::getUnqualifiedQty, bo.getUnqualifiedQty()) + .eq(StringUtils.isNotBlank(bo.getInspectionNo()), QcInspectionMain::getInspectionNo, bo.getInspectionNo()) + .eq(bo.getTemplateId() != null, QcInspectionMain::getTemplateId, bo.getTemplateId()) + .eq(StringUtils.isNotBlank(bo.getMaterialCode()), QcInspectionMain::getMaterialCode, bo.getMaterialCode()) + .eq(StringUtils.isNotBlank(bo.getMaterialType()), QcInspectionMain::getMaterialType, bo.getMaterialType()) + .like(StringUtils.isNotBlank(bo.getMaterialName()), QcInspectionMain::getMaterialName, bo.getMaterialName()) + .like(StringUtils.isNotBlank(bo.getProcessName()), QcInspectionMain::getProcessName, bo.getProcessName()) + .like(StringUtils.isNotBlank(bo.getStationName()), QcInspectionMain::getStationName, bo.getStationName()) + .eq(bo.getInspectionQty() != null, QcInspectionMain::getInspectionQty, bo.getInspectionQty()) + .eq(bo.getQualifiedQty() != null, QcInspectionMain::getQualifiedQty, bo.getQualifiedQty()) + .eq(bo.getUnqualifiedQty() != null, QcInspectionMain::getUnqualifiedQty, bo.getUnqualifiedQty()) // .eq(bo.getResult() != null, QcInspectionMain::getResult, bo.getResult()) .eq(StringUtils.isNotBlank(bo.getResult()), QcInspectionMain::getResult, bo.getResult()) - .eq(StringUtils.isNotBlank(bo.getWorkshop()), QcInspectionMain::getWorkshop, bo.getWorkshop()) + .eq(StringUtils.isNotBlank(bo.getWorkshop()), QcInspectionMain::getWorkshop, bo.getWorkshop()) // .eq(bo.getInspectionType() != null, QcInspectionMain::getInspectionType, bo.getInspectionType()) // .eq(bo.getStatus() != null, QcInspectionMain::getStatus, bo.getStatus()) - .eq(StringUtils.isNotBlank(bo.getInspectionType()), QcInspectionMain::getInspectionType, bo.getInspectionType()) + .eq(StringUtils.isNotBlank(bo.getQcInspectionType()), QcInspectionType::getQcInspectionType, bo.getQcInspectionType()) .eq(StringUtils.isNotBlank(bo.getStatus()), QcInspectionMain::getStatus, bo.getStatus()) - .eq(StringUtils.isNotBlank(bo.getInspector()), QcInspectionMain::getInspector, bo.getInspector()) - .eq(StringUtils.isNotBlank(bo.getShift()), QcInspectionMain::getShift, bo.getShift()) - .eq(StringUtils.isNotBlank(bo.getTeam()), QcInspectionMain::getTeam, bo.getTeam()) + .eq(StringUtils.isNotBlank(bo.getInspector()), QcInspectionMain::getInspector, bo.getInspector()) + .eq(StringUtils.isNotBlank(bo.getShift()), QcInspectionMain::getShift, bo.getShift()) + .eq(StringUtils.isNotBlank(bo.getTeam()), QcInspectionMain::getTeam, bo.getTeam()) .eq(bo.getInspectionStartTime() != null, QcInspectionMain::getInspectionStartTime, bo.getInspectionStartTime()) .eq(bo.getInspectionEndTime() != null, QcInspectionMain::getInspectionEndTime, bo.getInspectionEndTime()) - .eq(StringUtils.isNotBlank(bo.getProductionOrder()), QcInspectionMain::getProductionOrder, bo.getProductionOrder()) - .eq(StringUtils.isNotBlank(bo.getBatchNo()), QcInspectionMain::getBatchNo, bo.getBatchNo()) - .eq(StringUtils.isNotBlank(bo.getBarcode()), QcInspectionMain::getBarcode, bo.getBarcode()) - .like(StringUtils.isNotBlank(bo.getSupplierName()), QcInspectionMain::getSupplierName, bo.getSupplierName()) - .orderByDesc(QcInspectionMain::getCreateTime); + .eq(StringUtils.isNotBlank(bo.getProductionOrder()), QcInspectionMain::getProductionOrder, bo.getProductionOrder()) + .eq(StringUtils.isNotBlank(bo.getBatchNo()), QcInspectionMain::getBatchNo, bo.getBatchNo()) + .eq(StringUtils.isNotBlank(bo.getBarcode()), QcInspectionMain::getBarcode, bo.getBarcode()) + .like(StringUtils.isNotBlank(bo.getSupplierName()), QcInspectionMain::getSupplierName, bo.getSupplierName()) + .orderByDesc(QcInspectionMain::getCreateTime); Object beginInspectionStartTime = params.get("beginInspectionStartTime"); Object endInspectionStartTime = params.get("endInspectionStartTime"); @@ -154,7 +155,7 @@ public class QcInspectionMainServiceImpl implements IQcInspectionMainService { /** * 保存前的数据校验 */ - private void validEntityBeforeSave(QcInspectionMain entity){ + private void validEntityBeforeSave(QcInspectionMain entity) { //TODO 做一些数据校验,如唯一约束 } @@ -167,9 +168,23 @@ public class QcInspectionMainServiceImpl implements IQcInspectionMainService { */ @Override public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { - if(isValid){ + if (isValid) { //TODO 做一些业务上的校验,判断是否需要校验 } return baseMapper.deleteByIds(ids) > 0; } + + /** + * PDA分页查询质检任务 + * + * @param bo + * @param pageQuery + * @return + */ + @Override + public TableDataInfo getMainList(QcInspectionMainBo bo, PageQuery pageQuery) { + MPJLambdaWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } } 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 57364c5..4f979e4 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 @@ -103,7 +103,7 @@ public class QcPDAServiceImpl implements IQcPDAService { inspectionBo.setPlanDetailId(planDetail.getPlanDetailId()); inspectionBo.setTemplateId(templateVo.getTemplateId()); inspectionBo.setTemplateName(templateVo.getTemplateName()); - inspectionBo.setInspectionType(templateVo.getQcInspectionType()); + inspectionBo.setInspectionType(templateVo.getTypeId()); inspectionBo.setMaterialCode(planDetail.getMaterialCode()); inspectionBo.setMaterialName(planDetail.getMaterialName()); inspectionBo.setProcessName(planDetail.getProcessName()); @@ -206,6 +206,13 @@ public class QcPDAServiceImpl implements IQcPDAService { // 设置质检结果:'1'表示不合格,'0'表示合格 bo.setResult(isUnqualified ? "1" : "0"); // 更新主记录 + if (isUnqualified){ + bo.setQualifiedQty(new BigDecimal(0)); + bo.setUnqualifiedQty(main.getQualifiedQty()); + } else { + bo.setQualifiedQty(main.getQualifiedQty()); + bo.setUnqualifiedQty(new BigDecimal(0)); + } bo.setInspector(username); bo.setInspectionStartTime(nowDate); bo.setInspectionEndTime(nowDate); @@ -213,15 +220,16 @@ public class QcPDAServiceImpl implements IQcPDAService { // 如果存在不合格项,则需要创建不合格评审流程及相关记录 if (isUnqualified) { + String unqualifiedReviewNo = remoteCodeRuleService.selectCodeRuleCode("4"); // 构建一个新的不合格评审业务对象 QcUnqualifiedReviewBo reviewBo = new QcUnqualifiedReviewBo(); // 设置不合格检测单号 - reviewBo.setUnqualifiedReviewNo(IdUtils.fastSimpleUUID()); + reviewBo.setUnqualifiedReviewNo(unqualifiedReviewNo); // 关联原检验单号,质检单号 reviewBo.setInspectionNo(main.getInspectionNo()); BeanUtils.copyProperties(bo, reviewBo); // 复制检验类型信息 - reviewBo.setInspectionType(main.getInspectionType()); +// reviewBo.setInspectionType(main.getInspectionType()); // 关联生产工单号 reviewBo.setWorkOrderNo(main.getProductionOrder()); // 复制工序名称 @@ -230,7 +238,6 @@ public class QcPDAServiceImpl implements IQcPDAService { reviewBo.setMaterialName(main.getMaterialName()); // 复制物料编码 reviewBo.setMaterialCode(main.getMaterialCode()); - reviewBo.setSupplierName(main.getSupplierName()); // 复制检验数量 reviewBo.setInspectionQty(main.getInspectionQty());