jiangping
2024-12-27 5506edbe54883b31db3cc8e4a1d9d0795a18a3c9
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.*;
/**
 * 工种信息表Service实现
@@ -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;
    }
}