Browse Source

更新装盒功能

master
xia 3 years ago
parent
commit
f41c7351af
  1. 7
      archives/src/main/java/com/storeroom/modules/archives/controller/CaseController.java
  2. 2
      archives/src/main/java/com/storeroom/modules/archives/domain/ArchivesCaseCartoning.java
  3. 12
      archives/src/main/java/com/storeroom/modules/archives/repository/ArchivesCaseCartoningRepository.java
  4. 3
      archives/src/main/java/com/storeroom/modules/archives/repository/ArchivesCaseRepository.java
  5. 5
      archives/src/main/java/com/storeroom/modules/archives/service/ArchivesCaseService.java
  6. 29
      archives/src/main/java/com/storeroom/modules/archives/service/impl/ArchivesCaseServiceImpl.java

7
archives/src/main/java/com/storeroom/modules/archives/controller/CaseController.java

@ -1,6 +1,7 @@
package com.storeroom.modules.archives.controller;
import com.storeroom.exception.constant.ResponseStatus;
import com.storeroom.modules.archives.domain.ArchivesCaseCartoning;
import com.storeroom.modules.archives.service.ArchivesCaseService;
import com.storeroom.modules.archives.service.dto.CaseDTO;
import com.storeroom.utils.ApiResponse;
@ -11,6 +12,8 @@ import org.springframework.data.domain.Pageable;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequiredArgsConstructor
@Api(tags = "盒管理")
@ -61,10 +64,10 @@ public class CaseController {
@ApiOperation("装盒")
@PostMapping("/cartoning")
public ApiResponse<Object> cartoning(
@Validated @RequestBody CaseDTO dto
@Validated @RequestBody List<ArchivesCaseCartoning> dtos
){
return ApiResponse.success(null);
return ApiResponse.success(caseService.cartoning(dtos));
}
}

2
archives/src/main/java/com/storeroom/modules/dictionary/domain/ArchivesCaseCartoning.java → archives/src/main/java/com/storeroom/modules/archives/domain/ArchivesCaseCartoning.java

@ -1,4 +1,4 @@
package com.storeroom.modules.dictionary.domain;
package com.storeroom.modules.archives.domain;
import com.storeroom.base.BaseEntity;
import io.swagger.annotations.ApiModelProperty;

12
archives/src/main/java/com/storeroom/modules/archives/repository/ArchivesCaseCartoningRepository.java

@ -0,0 +1,12 @@
package com.storeroom.modules.archives.repository;
import com.storeroom.modules.archives.domain.ArchivesCase;
import com.storeroom.modules.archives.domain.ArchivesCaseCartoning;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
public interface ArchivesCaseCartoningRepository extends JpaRepository<ArchivesCaseCartoning, String>{
}

3
archives/src/main/java/com/storeroom/modules/archives/repository/ArchivesCaseRepository.java

@ -10,7 +10,8 @@ public interface ArchivesCaseRepository extends JpaRepository<ArchivesCase, Stri
Page<ArchivesCase> findAllByCaseNameLikeAndTidLikeAndBarcodeLike(String caseName, String tid,String barcode, Pageable page);
@Query(" from ArchivesCase where caseType in (0,?4) and caseName like ?1 and tid like ?2 and barcode like ?3")
@Query(countQuery = "select count(id) from ArchivesCase where caseType in (0,?4) and caseName like ?1 and tid like ?2 and barcode like ?3",
value = "from ArchivesCase where caseType in (0,?4) and caseName like ?1 and tid like ?2 and barcode like ?3")
Page<ArchivesCase> initCartoningList(String caseName, String tid,String barcode,Integer caseType, Pageable page);
Integer countAllByTid(String tid);

5
archives/src/main/java/com/storeroom/modules/archives/service/ArchivesCaseService.java

@ -1,8 +1,11 @@
package com.storeroom.modules.archives.service;
import com.storeroom.modules.archives.domain.ArchivesCaseCartoning;
import com.storeroom.modules.archives.service.dto.CaseDTO;
import org.springframework.data.domain.Pageable;
import java.util.List;
public interface ArchivesCaseService {
//初始化档案盒列表
Object initCaseList(String tid, String caseName,String barcode, Pageable page);
@ -14,6 +17,8 @@ public interface ArchivesCaseService {
Object addCaseTag(String caseId,String tid,Integer labelType,String bindingCount,String tagType);
//档案盒装盒列表
Object initCartoningList(String tid, String caseName,String barcode,Integer caseType, Pageable page);
//装盒
Object cartoning(List<ArchivesCaseCartoning> dtos);
}

29
archives/src/main/java/com/storeroom/modules/archives/service/impl/ArchivesCaseServiceImpl.java

@ -1,11 +1,15 @@
package com.storeroom.modules.archives.service.impl;
import com.storeroom.modules.archives.domain.ArchivesCase;
import com.storeroom.modules.archives.domain.ArchivesCaseCartoning;
import com.storeroom.modules.archives.domain.ArchivesSummary;
import com.storeroom.modules.archives.repository.ArchivesCaseCartoningRepository;
import com.storeroom.modules.archives.repository.ArchivesCaseRepository;
import com.storeroom.modules.archives.repository.ArchivesSummaryRepository;
import com.storeroom.modules.archives.service.ArchivesCaseService;
import com.storeroom.modules.archives.service.dto.CaseDTO;
import com.storeroom.modules.dictionary.domain.ArchivesType;
import com.storeroom.modules.dictionary.repository.ArchivesTypeRepository;
import com.storeroom.utils.NanoIdUtils;
import com.storeroom.utils.PageUtil;
import com.storeroom.utils.StringUtils;
@ -17,6 +21,10 @@ import org.springframework.transaction.annotation.Transactional;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
@Service
@ -25,6 +33,9 @@ public class ArchivesCaseServiceImpl implements ArchivesCaseService {
private final ArchivesCaseRepository caseRepository;
private final ArchivesSummaryRepository archivesSummaryRepository;
private final ArchivesTypeRepository archivesTypeRepository;
private final ArchivesCaseCartoningRepository archivesCaseCartoningRepository;
@PersistenceContext
EntityManager entityManager;
@ -118,4 +129,22 @@ public class ArchivesCaseServiceImpl implements ArchivesCaseService {
Page<ArchivesCase> pageCase = caseRepository.initCartoningList(caseName,tid,barcode,caseType,page);
return PageUtil.toPage(pageCase);
}
@Override
public Object cartoning(List<ArchivesCaseCartoning> dtos) {
Set<String> caseIds = new HashSet<>();
// Map<String,Integer>
dtos = archivesCaseCartoningRepository.saveAllAndFlush(dtos);
Integer caseType = 0;
for(ArchivesCaseCartoning archivesCaseCartoning:dtos){
caseIds.add(archivesCaseCartoning.getCaseId());
//判断档案是案卷还是文件
ArchivesType archivesType = archivesTypeRepository.findById(archivesCaseCartoning.getCategoryId()).get();
caseType = archivesType.getIsType() == 4 ? 2 : archivesType.getIsType() == 5 ? 1 : 0;
}
for (String caseId:caseIds){
}
return null;
}
}
Loading…
Cancel
Save