| | |
| | | // 2. 插入主表 |
| | | MesQcIqcDO iqc = BeanUtils.toBean(createReqVO, MesQcIqcDO.class) |
| | | .setTemplateId(null) |
| | | .setCheckQuantity(createReqVO.getQualifiedQuantity().add(createReqVO.getUnqualifiedQuantity())) |
| | | .setCheckQuantity(resolveCheckQuantity(createReqVO.getQualifiedQuantity(), createReqVO.getUnqualifiedQuantity())) |
| | | .setSourceDocCode(sourceDocCode) |
| | | .setStatus(MesQcStatusEnum.DRAFT.getStatus()); |
| | | iqcMapper.insert(iqc); |
| | |
| | | updateObj.setSourceDocType(null).setSourceDocId(null).setSourceLineId(null); // 不允许修改来源单据 |
| | | updateObj.setTemplateId(null); // 不允许修改模板 |
| | | updateObj.setItemId(null); // 不允许修改物料 |
| | | updateObj.setCheckQuantity(updateReqVO.getQualifiedQuantity().add(updateReqVO.getUnqualifiedQuantity())); |
| | | updateObj.setCheckQuantity(resolveCheckQuantity(updateReqVO.getQualifiedQuantity(), updateReqVO.getUnqualifiedQuantity())); |
| | | iqcMapper.updateById(updateObj); |
| | | } |
| | | |
| | | /** |
| | | * 检验数量 = 合格数量 + 不合格数量;两者未填全时留空,等检验员录入后再计算 |
| | | */ |
| | | private BigDecimal resolveCheckQuantity(BigDecimal qualified, BigDecimal unqualified) { |
| | | if (qualified == null || unqualified == null) { |
| | | return null; |
| | | } |
| | | return qualified.add(unqualified); |
| | | } |
| | | |
| | | private void validateIqcSaveData(MesQcIqcSaveReqVO reqVO) { |
| | |
| | | } |
| | | iqc.setItemId(line.getItemId()); |
| | | iqc.setReceivedQuantity(line.getArrivalQuantity()); |
| | | iqc.setCheckQuantity(BigDecimal.ZERO); // 待填写 |
| | | iqc.setQualifiedQuantity(BigDecimal.ZERO); // 待填写 |
| | | iqc.setUnqualifiedQuantity(BigDecimal.ZERO); // 待填写 |
| | | // 合格/不合格数量留空,由检验员填写时录入(不再默认 0,避免误判为「已检验合格 0」) |
| | | iqc.setCheckQuantity(null); |
| | | iqc.setQualifiedQuantity(null); |
| | | iqc.setUnqualifiedQuantity(null); |
| | | iqc.setReceiveDate(java.time.LocalDateTime.now()); |
| | | iqc.setStatus(MesQcStatusEnum.DRAFT.getStatus()); |
| | | iqcMapper.insert(iqc); |