| | |
| | | import cn.iocoder.yudao.module.mes.dal.dataobject.qc.oqc.MesQcOqcDO; |
| | | import cn.iocoder.yudao.module.mes.dal.dataobject.qc.rqc.MesQcRqcDO; |
| | | import cn.iocoder.yudao.module.mes.dal.mysql.qc.indicatorresult.MesQcIndicatorResultMapper; |
| | | import cn.iocoder.yudao.module.mes.enums.qc.MesQcIndicatorItemTypeEnum; |
| | | import cn.iocoder.yudao.module.mes.enums.qc.MesQcResultValueTypeEnum; |
| | | import cn.iocoder.yudao.module.mes.enums.qc.MesQcTypeEnum; |
| | | import cn.iocoder.yudao.module.mes.service.qc.indicator.MesQcIndicatorService; |
| | |
| | | // 2.2 批量插入明细 |
| | | List<MesQcIndicatorResultDetailDO> details = BeanUtils.toBean(createReqVO.getItems(), |
| | | MesQcIndicatorResultDetailDO.class); |
| | | details.forEach(detail -> detail.setResultId(result.getId())); |
| | | details.forEach(detail -> detail.setResultId(result.getId()) |
| | | .setMeasureNo(Objects.requireNonNullElse(detail.getMeasureNo(), 1))); |
| | | resultDetailService.createDetailList(details); |
| | | return result.getId(); |
| | | } |
| | |
| | | // 2.2 批量更新明细 |
| | | List<MesQcIndicatorResultDetailDO> details = BeanUtils.toBean(updateReqVO.getItems(), |
| | | MesQcIndicatorResultDetailDO.class); |
| | | details.forEach(detail -> detail.setMeasureNo(Objects.requireNonNullElse(detail.getMeasureNo(), 1))); |
| | | resultDetailService.createOrUpdateDetailList(details); |
| | | } |
| | | |
| | |
| | | @Override |
| | | public Long getIndicatorResultCountByQcIdAndType(Long qcId, Integer qcType) { |
| | | return resultMapper.selectCountByQcIdAndType(qcId, qcType); |
| | | } |
| | | |
| | | /** |
| | | * 获取指定质检单下的检验结果列表 |
| | | * |
| | | * @param qcId 质检单 ID |
| | | * @param qcType 质检类型 |
| | | * @return 结果列表 |
| | | */ |
| | | @Override |
| | | public List<MesQcIndicatorResultDO> getIndicatorResultListByQcIdAndType(Long qcId, Integer qcType) { |
| | | return resultMapper.selectListByQcIdAndType(qcId, qcType); |
| | | } |
| | | |
| | | @Override |
| | | public List<MesQcIndicatorResultDO> getIndicatorResultListByQcIdsAndType(List<Long> qcIds, Integer qcType) { |
| | | if (CollUtil.isEmpty(qcIds)) { |
| | | return Collections.emptyList(); |
| | | } |
| | | return resultMapper.selectListByQcIdsAndType(qcIds, qcType); |
| | | } |
| | | |
| | | @Override |
| | | public List<MesQcIndicatorResultDetailDO> getIndicatorResultDetailListByResultIds(List<Long> resultIds) { |
| | | if (CollUtil.isEmpty(resultIds)) { |
| | | return Collections.emptyList(); |
| | | } |
| | | return resultDetailService.getDetailListByResultIds(resultIds); |
| | | } |
| | | |
| | | @Override |
| | |
| | | if (indicator == null || indicator.getResultType() == null) { |
| | | continue; |
| | | } |
| | | // 分组项(GROUP)仅承载层级/公式文本,不录入值,跳过格式校验 |
| | | if (Objects.equals(indicator.getItemType(), MesQcIndicatorItemTypeEnum.GROUP.getType())) { |
| | | continue; |
| | | } |
| | | Integer resultType = indicator.getResultType(); |
| | | if (Objects.equals(resultType, MesQcResultValueTypeEnum.FLOAT.getType())) { |
| | | try { |