Browse Source

获取质检列表返回数据优化

dfsfs 1 year ago
parent
commit
d17c6cba70

+ 0 - 1
warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/dto/QualityInspectionDTO.java

@@ -30,7 +30,6 @@ public class QualityInspectionDTO implements Serializable {
      * 批次状态
      * HG:合格 BHG:不合格 DJ:待检{@link com.ruoyi.base.constant.Constant.QUALITY_STATUS}
      */
-    @NotBlank(message = "状态不能为空")
     private String status;
 
     private String lotatt14;

+ 2 - 0
warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/pda/impl/PdaDocQcServiceImpl.java

@@ -184,6 +184,7 @@ public class PdaDocQcServiceImpl implements IPdaDocQcService {
         Map<String, List<InvLotAtt>> invLotAttListMap = invLotAttList.stream()
                 .filter(item -> CollUtil.contains(lotNumListHasLoc, item.getLotnum()))
                 .filter(item->StringUtils.equals(item.getLotatt05(), Constant.QUALITY_STATUS.HG.getValue()))
+                .filter(item->StringUtils.equals(item.getLotatt14(), Constant.IS_YES.Y.name()))
                 .collect(Collectors.groupingBy(InvLotAtt::getLotatt02));
         // 找出分组后的每组批次对应的库存, 过滤掉所有已出库的库存
         Map<String, List<InvLotLocId>> invLotLocIdListMap = invLotAttListMap.entrySet().stream().collect(Collectors.toMap(Map.Entry::getKey, item -> {
@@ -202,6 +203,7 @@ public class PdaDocQcServiceImpl implements IPdaDocQcService {
         List<DocQcDTO> docQcDTOList = invLotAttList.stream().filter(item -> CollUtil.contains(lotNumListHasLoc, item.getLotnum()))
                 .filter(item -> CollUtil.contains(lineNoList, item.getLotatt10()))
                 .filter(item->StringUtils.equals(item.getLotatt05(), Constant.QUALITY_STATUS.HG.getValue()))
+                .filter(item->StringUtils.equals(item.getLotatt14(), Constant.IS_YES.Y.name()))
                 .map(item -> {
                     DocQcDTO docQcDTO = new DocQcDTO();
                     docQcDTO.setBatchNumber(item.getLotatt02());

+ 2 - 0
warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/qc/QualityInspectionServiceImpl.java

@@ -36,6 +36,7 @@ public class QualityInspectionServiceImpl implements IQualityInspectionService {
     @Override
     @Transactional(rollbackFor = RuntimeException.class)
     public void qualityInspection(QualityInspectionDTO qualityInspectionDTO) {
+        Assert.isTrue(StringUtils.isNotEmpty(qualityInspectionDTO.getStatus()), "质量状态不能为空");
         // 更改批次状态
         // 根据物料编码和批号查询批次信息
         List<InvLotAtt> invLotAttList = invLotAttService.selectInvLotAttByBatchNum(qualityInspectionDTO.getBatchNumber(), qualityInspectionDTO.getSkuCode());
@@ -90,6 +91,7 @@ public class QualityInspectionServiceImpl implements IQualityInspectionService {
             List<InvLotLocId> invLotLocIds = invLotLocIdService.selectInvLotLocIdByLotnum(lotnum);
             // 如果没有对应的库存信息,遍历下一条批次数据 因为根据物料和批号会匹配到多条仅仅是质检状态不同批次数据
             if (CollUtil.isEmpty(invLotLocIds)) continue;
+            Assert.isTrue(StringUtils.equals(invLotAtt.getLotatt05(), Constant.QUALITY_STATUS.HG.getValue()), "当前批次包含不合格的库存,不能直接放行");
             invLotAtt.setLotatt14(qualityInspectionDTO.getLotatt14());// 设置是否放行标记
             // 构建lotatt19属性
             LotattDTO lotattDTO = new LotattDTO();