From 0c009141867c996897928c4f12490f21b78222f2 Mon Sep 17 00:00:00 2001 From: k94314517 <8417338+k94314517@user.noreply.gitee.com> Date: 星期三, 24 一月 2024 18:12:37 +0800 Subject: [PATCH] 111 --- server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 51 insertions(+), 0 deletions(-) diff --git a/server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java index 0e9f7e3..f08ceb2 100644 --- a/server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java +++ b/server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java @@ -1,5 +1,8 @@ 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.LoginUserInfo; import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; @@ -7,7 +10,9 @@ import com.doumee.core.utils.DateUtil; import com.doumee.core.utils.Utils; import com.doumee.dao.business.MemberMapper; +import com.doumee.dao.business.dto.MemberImport; import com.doumee.dao.business.dto.MemberQueryDTO; +import com.doumee.dao.business.dto.WorktypeImport; import com.doumee.dao.business.join.MemberJoinMapper; import com.doumee.dao.business.model.*; import com.doumee.service.business.MemberService; @@ -21,7 +26,9 @@ import org.apache.shiro.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; +import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Objects; @@ -230,4 +237,48 @@ + @Override + public List<MemberImport> importBatch(MultipartFile file){ + LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); + if(!loginUserInfo.getType().equals(Constants.ONE)){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炰紒涓氫汉鍛樻棤娉曡繘琛岃鎿嶄綔"); + } + List<Member> list = memberJoinMapper.selectJoinList(Member.class,new MPJLambdaWrapper<Member>() + .selectAll(Member.class) + .selectAs(DispatchUnit::getName,Member::getDuName) + .selectAs(Worktype::getName,Member::getWorkTypeName) + .leftJoin(DispatchUnit.class,DispatchUnit::getId,Member::getDuId) + .leftJoin(Worktype.class,Worktype::getId,Member::getWorktypeId) + .eq(Member::getCompanyId,loginUserInfo.getCompanyId()) + .eq(Member::getIsdeleted,Constants.ZERO) + ); + ExcelImporter ie = null; + List<MemberImport> dataList =null; + try { + ie = new ExcelImporter(file,0,0); + dataList = ie.getDataList(MemberImport.class,null); + } catch (Exception e) { + e.printStackTrace(); + } + if(dataList == null || dataList.size() ==0){ + throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝褰曞叆鏁版嵁涓虹┖锛�"); + } + for(MemberImport model : dataList){ + if(CollectionUtils.isNotEmpty(list)){ + Member member = list.stream().filter(m->m.getIdcardNo().equals(model.getIdCard())).findAny().get(); + if(!Objects.isNull(member)){ + model.setWorkTypeId(member.getWorktypeId()); + model.setWorkTypeName(member.getWorkTypeName()); + model.setDuId(member.getDuId()); + model.setDuName(member.getDuName()); + model.setSex(member.getSex()); + }else{ + model.setSex(Constants.getSexByIdCard(model.getIdCard())); + } + } + } + return dataList; + } + + } -- Gitblit v1.9.3