From ac1c48e5ae523ec6f62366542478bc5d451326a0 Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期一, 22 一月 2024 18:18:21 +0800 Subject: [PATCH] 开发业务接口 --- server/service/src/main/java/com/doumee/service/business/impl/WorktypeServiceImpl.java | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 50 insertions(+), 0 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 2435385..4b99d6e 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 @@ -1,21 +1,29 @@ package com.doumee.service.business.impl; +import com.doumee.core.annotation.excel.ExcelImporter; +import com.doumee.core.constants.ResponseStatus; +import com.doumee.core.exception.BusinessException; import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.core.utils.Constants; import com.doumee.core.utils.Utils; +import com.doumee.dao.business.InsuranceMapper; import com.doumee.dao.business.WorktypeMapper; import com.doumee.dao.business.dto.WorkTypeQueryDTO; +import com.doumee.dao.business.dto.WorktypeImport; import com.doumee.dao.business.model.Worktype; import com.doumee.service.business.WorktypeService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; +import org.springframework.web.multipart.MultipartFile; +import java.util.ArrayList; import java.util.List; import java.util.Objects; @@ -29,6 +37,8 @@ @Autowired private WorktypeMapper worktypeMapper; + @Autowired + private InsuranceMapper insuranceMapper; @Override public Integer create(Worktype worktype) { @@ -164,4 +174,44 @@ QueryWrapper<Worktype> wrapper = new QueryWrapper<>(worktype); return worktypeMapper.selectCount(wrapper); } + @Override + public List<String> importBatch(MultipartFile file,Integer id){ + List<Worktype> list = new ArrayList<>(); + if(id!=null){ + Worktype param = new Worktype(); + param.setIsdeleted(Constants.ZERO); + param.setDataType(Constants.ZERO); + param.setInsuranceId(id); + list = findList(param); + } + ExcelImporter ie = null; + List<WorktypeImport> dataList =null; + try { + ie = new ExcelImporter(file,0,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<String> result = new ArrayList<>(); + for(WorktypeImport model : dataList){ + if(StringUtils.isNotBlank(model.getName()) && !isNewWorkTypeByName(model.getName(),list)){ + result.add(model.getName()); + } + } + return result; + } + + private boolean isNewWorkTypeByName(String name, List<Worktype> list) { + if( list!=null && list.size()>0){ + for(Worktype m : list){ + if(StringUtils.equals(name,m.getName())){ + return true; + } + } + } + return false; + } } -- Gitblit v1.9.3