liukangdong
2024-05-15 0bac87005199be1c535b36b031b2b8f59e1461c0
Merge branch 'master' of http://139.186.142.91:10010/r/productDev/dmvisit
已添加1个文件
已修改3个文件
82 ■■■■■ 文件已修改
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/MemberCloudController.java 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/request/MemberImport.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/MemberService.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/MemberCloudController.java
@@ -10,18 +10,21 @@
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
import com.doumee.dao.admin.request.LaborMemberDTO;
import com.doumee.dao.admin.request.MemberImport;
import com.doumee.dao.admin.request.MemberQuery;
import com.doumee.dao.business.model.Member;
import com.doumee.dao.business.model.MemberRole;
import com.doumee.service.business.MemberService;
import com.doumee.service.business.ext.ERPSyncService;
import com.doumee.service.business.impl.hksync.fhk.HkSyncOrgUserFromHKServiceImpl;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.*;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
/**
@@ -156,7 +159,15 @@
        return ApiResponse.success(null);
    }
    @ApiOperation(value = "人员信息导入" ,notes = "保单申请")
    @PostMapping("/importExcel")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "file", value = "file", required = true, paramType = "query", dataType = "file", dataTypeClass = File.class),
    })
    @RequiresPermissions("business:worktype:create")
    public ApiResponse<String> importExcel (@ApiParam(value = "file") MultipartFile file, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
        return ApiResponse.success(memberService.importBatch(file,this.getLoginUser(token)));
    }
    @ApiOperation("批量拉黑")
    @GetMapping("/batchBlock")
server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/request/MemberImport.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,32 @@
package com.doumee.dao.admin.request;
import com.doumee.core.annotation.excel.ExcelColumn;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * å‘˜å·¥ä¿¡æ¯å¯¼å…¥è¡¨
 * @author æ±Ÿè¹„蹄
 * @date 2024/01/16 10:03
 */
@Data
@ApiModel("员工信息导入")
public class MemberImport {
    @ExcelColumn(name="序号",value = "sn")
    private Integer sn;
    @ExcelColumn(name="姓名",value = "name")
    private String name;
    @ExcelColumn(name="身份证号",value = "idcardNo")
    private String idcardNo;
    @ExcelColumn(name="所属组织" , value = "companyName")
    private String companyName;
    @ExcelColumn(name="工号" , value = "code")
    private String code;
}
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/MemberService.java
@@ -14,6 +14,7 @@
import com.doumee.dao.web.reqeust.VisitMemberDTO;
import com.doumee.dao.web.response.MemberVO;
import com.doumee.dao.web.response.WxAuthorizeVO;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
@@ -203,4 +204,6 @@
    void updateWorkStatus(Member member);
    void batchRoleAuth(Member memberRole);
    String importBatch(MultipartFile file, LoginUserInfo loginUser);
}
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -29,6 +29,7 @@
import com.doumee.core.wx.WXConstant;
import com.doumee.dao.admin.request.LaborEmpowerDTO;
import com.doumee.dao.admin.request.LaborMemberDTO;
import com.doumee.dao.admin.request.MemberImport;
import com.doumee.dao.admin.request.MemberQuery;
import com.doumee.dao.admin.response.StagingDataVO;
import com.doumee.dao.business.*;
@@ -58,6 +59,7 @@
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
import java.util.Date;
import java.util.*;
@@ -1686,6 +1688,34 @@
        return stagingHeadVO;
    }
    @Override
    public String importBatch(MultipartFile file, LoginUserInfo loginUserInfo){
        List<Member> list =  memberJoinMapper.selectJoinList(Member.class,new MPJLambdaWrapper<Member>()
                .selectAll(Member.class)
                .leftJoin(Company.class,Company::getId,Member::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(),"对不起,录入数据为空!");
        }
        List<String> idCardList = dataList.stream().map(m->m.getIdcardNo()).collect(Collectors.toList());
        Set<String> set = new HashSet<>(idCardList);
        if(idCardList.size() != set.size()){
            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,录入数据存在身份证号相同数据!");
        }
        return "导入成功";
    }
}