diff --git a/archives/src/main/java/com/storeroom/modules/archives/controller/CaseController.java b/archives/src/main/java/com/storeroom/modules/archives/controller/CaseController.java index 89cc1a7..fa4939f 100644 --- a/archives/src/main/java/com/storeroom/modules/archives/controller/CaseController.java +++ b/archives/src/main/java/com/storeroom/modules/archives/controller/CaseController.java @@ -70,12 +70,12 @@ public class CaseController { return ApiResponse.success(caseService.cartoning(dtos)); } - @ApiOperation("预备装盒") - @PostMapping("/doUnpacking") + @ApiOperation("预备拆盒") + @GetMapping("/doUnpacking") public ApiResponse doUnpacking( - @Validated @RequestBody ArchivesCaseCartoningDTO dto + String caseId ){ - return ApiResponse.success(caseService.doUnpacking(dto.getCaseId())); + return ApiResponse.success(caseService.doUnpacking(caseId)); } @ApiOperation("拆盒") @@ -86,4 +86,12 @@ public class CaseController { return ApiResponse.success(caseService.cartoning(dtos)); } + @ApiOperation("查看盒内详情") + @GetMapping("/findInCase") + public ApiResponse findInCase( + String caseId + ){ + return ApiResponse.success(caseService.findInCase(caseId)); + } + } diff --git a/archives/src/main/java/com/storeroom/modules/archives/repository/ArchivesSummaryRepository.java b/archives/src/main/java/com/storeroom/modules/archives/repository/ArchivesSummaryRepository.java index ed50520..32d1e93 100644 --- a/archives/src/main/java/com/storeroom/modules/archives/repository/ArchivesSummaryRepository.java +++ b/archives/src/main/java/com/storeroom/modules/archives/repository/ArchivesSummaryRepository.java @@ -31,8 +31,15 @@ public interface ArchivesSummaryRepository extends JpaRepository findAllByCaseNoAndCategoryType(String caseId,Integer categoryType); + } diff --git a/archives/src/main/java/com/storeroom/modules/archives/service/ArchivesCaseService.java b/archives/src/main/java/com/storeroom/modules/archives/service/ArchivesCaseService.java index 458597d..b80641d 100644 --- a/archives/src/main/java/com/storeroom/modules/archives/service/ArchivesCaseService.java +++ b/archives/src/main/java/com/storeroom/modules/archives/service/ArchivesCaseService.java @@ -24,6 +24,7 @@ public interface ArchivesCaseService { Object doUnpacking(String caseId); //拆盒 Object unpacking(List dtos); - + //查看盒内详情 + Object findInCase(String caseId); } diff --git a/archives/src/main/java/com/storeroom/modules/archives/service/dto/CaseDTO.java b/archives/src/main/java/com/storeroom/modules/archives/service/dto/CaseDTO.java index f8cf0e2..cbcbcb7 100644 --- a/archives/src/main/java/com/storeroom/modules/archives/service/dto/CaseDTO.java +++ b/archives/src/main/java/com/storeroom/modules/archives/service/dto/CaseDTO.java @@ -12,6 +12,8 @@ public class CaseDTO { private String caseName; //盒标签 private String tid; + //条形码 + private String barcode; //标签类型 private Integer labelType; //是否覆盖标签 diff --git a/archives/src/main/java/com/storeroom/modules/archives/service/impl/ArchivesCaseServiceImpl.java b/archives/src/main/java/com/storeroom/modules/archives/service/impl/ArchivesCaseServiceImpl.java index 3771307..5ce8a85 100644 --- a/archives/src/main/java/com/storeroom/modules/archives/service/impl/ArchivesCaseServiceImpl.java +++ b/archives/src/main/java/com/storeroom/modules/archives/service/impl/ArchivesCaseServiceImpl.java @@ -63,6 +63,7 @@ public class ArchivesCaseServiceImpl implements ArchivesCaseService { archivesCase.setDepositNum(0); } archivesCase.setCaseName(dto.getCaseName()); + archivesCase.setBarcode(dto.getBarcode()); return caseRepository.saveAndFlush(archivesCase); } @@ -222,15 +223,40 @@ public class ArchivesCaseServiceImpl implements ArchivesCaseService { @Override @Transactional(rollbackFor = Exception.class) public Object unpacking(List dtos) { - Set categoryIds = new HashSet<>(); + ArchivesType archivesType = archivesTypeRepository.findById(dtos.get(0).getCategoryId()).get(); + Set caseIds = new HashSet<>(); + List accIds = new ArrayList<>(); for(ArchivesCaseCartoningDTO dto:dtos){ - categoryIds.add(dto.getCategoryId()); + accIds.add(dto.getId()); + caseIds.add(dto.getCaseId()); + String sql = "update "+archivesType.getEnName()+" set case_no = null where id = '"+dto.getArchivesId()+"'"; + entityManager.createNativeQuery(sql).executeUpdate(); + archivesSummaryRepository.unpacking(dto.getArchivesId()); + } + + if(null != archivesType.getPid()){ + ArchivesType archivesTypeP = archivesTypeRepository.findById(archivesType.getPid()).get(); + String sql = "update "+archivesTypeP.getEnName()+" set case_no = null where id = '"+dtos.get(0).getArchivesParentsId()+"'"; + entityManager.createNativeQuery(sql).executeUpdate(); + archivesSummaryRepository.unpacking(dtos.get(0).getArchivesParentsId()); } - for(String categoryId:categoryIds){ - ArchivesType archivesType = archivesTypeRepository.findById(categoryId).get(); -// String sql = "update "+archivesType.getEnName()+" set case_no = null where id = '"+archivesCaseCartoning.getArchivesId()+"'"; -// entityManager.createNativeQuery(sql).executeUpdate(); + archivesCaseCartoningRepository.deleteAllById(accIds); + for(String caseId:caseIds){ + caseRepository.cartoning(caseId,0,0); } return null; } + + @Override + public Object findInCase(String caseId) { + ArchivesCase archivesCase = caseRepository.findById(caseId).get(); + ArchivesCaseVO vo = new ArchivesCaseVO(); + BeanUtils.copyProperties(vo,archivesCase); + if(null == archivesCase.getCaseType() || archivesCase.getCaseType() == 0) + return null; + Integer code = archivesCase.getCaseType() == 1 ? ArchivesTypeEnum.files.getCode() : ArchivesTypeEnum.inChive.getCode(); + List archivesSummaries = archivesSummaryRepository.findAllByCaseNoAndCategoryType(caseId, code); + vo.setArchives(archivesSummaries); + return vo; + } }