From 5506edbe54883b31db3cc8e4a1d9d0795a18a3c9 Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期五, 27 十二月 2024 14:37:54 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/2.0.1' into 2.0.1 --- server/service/src/main/java/com/doumee/service/business/impl/WorktypeServiceImpl.java | 72 ++++++++++++++++++++++++++++++++++-- 1 files changed, 68 insertions(+), 4 deletions(-) diff --git a/server/service/src/main/java/com/doumee/service/business/impl/WorktypeServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/WorktypeServiceImpl.java index 7c02437..1db15a7 100644 --- a/server/service/src/main/java/com/doumee/service/business/impl/WorktypeServiceImpl.java +++ b/server/service/src/main/java/com/doumee/service/business/impl/WorktypeServiceImpl.java @@ -24,9 +24,7 @@ import org.springframework.util.CollectionUtils; import org.springframework.web.multipart.MultipartFile; -import java.util.ArrayList; -import java.util.List; -import java.util.Objects; +import java.util.*; /** * 宸ョ淇℃伅琛⊿ervice瀹炵幇 @@ -115,6 +113,9 @@ ); return list; } + + + @Override public PageData<Worktype> findPage(PageWrap<Worktype> pageWrap) { @@ -181,7 +182,7 @@ return worktypeMapper.selectCount(wrapper); } @Override - public List<String> importBatch(MultipartFile file ){ + public List<String> importBatch(MultipartFile file){ /* List<Worktype> list = new ArrayList<>(); if(id!=null){ Worktype param = new Worktype(); @@ -206,11 +207,63 @@ if(StringUtils.isBlank(model.getName())){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝褰曞叆鏁版嵁瀛樺湪寮傚父"); } + if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(result)){ + if(!checkHaveName(model.getName(),result)){ + result.add(model.getName()); + } + } // if(StringUtils.isNotBlank(model.getName()) && !isNewWorkTypeByName(model.getName(),list)){ result.add(model.getName()); // } } return result; + } + + + @Override + public Set<Integer> importBatchForSolutions(MultipartFile file , Integer insuranceId){ + ExcelImporter ie = null; + List<WorktypeImport> dataList =null; + try { + ie = new ExcelImporter(file,1,0); + dataList = ie.getDataList(WorktypeImport.class,null); + } catch (Exception e) { + e.printStackTrace(); + } + if(dataList == null || dataList.size() ==0){ + throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝褰曞叆鏁版嵁涓虹┖锛�"); + } + List<Integer> result = new ArrayList<>(); + List<Worktype> inWorkTypeList = null; + if(Objects.nonNull(insuranceId)){ + inWorkTypeList = worktypeMapper.selectList(new QueryWrapper<Worktype>().lambda().eq(Worktype::getIsdeleted,Constants.ZERO) + .eq(Worktype::getInsuranceId,insuranceId).eq(Worktype::getDataType,Constants.TWO) + ); + } + for(WorktypeImport model : dataList){ + if(StringUtils.isBlank(model.getName())){ + throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝褰曞叆鏁版嵁瀛樺湪寮傚父"); + } + if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(inWorkTypeList)){ + Integer workTypeId = getHasWorkTypeByName(model.getName(),inWorkTypeList); + if(Objects.nonNull(workTypeId)){ + result.add(workTypeId); + } + } + } + Set<Integer> resultSet = new HashSet<>(result); + return resultSet; + } + + private boolean checkHaveName(String name, List<String> list) { + if( list!=null && list.size()>0){ + for(String m : list){ + if(StringUtils.equals(name,m)){ + return true; + } + } + } + return false; } private boolean isNewWorkTypeByName(String name, List<Worktype> list) { @@ -223,4 +276,15 @@ } return false; } + + private Integer getHasWorkTypeByName(String name, List<Worktype> list) { + if( list!=null && list.size()>0){ + for(Worktype m : list){ + if(StringUtils.equals(name,m.getName())){ + return m.getId(); + } + } + } + return null; + } } -- Gitblit v1.9.3