zss
2023-11-03 99d9153a8c33ce32b898c7d9098038caa3447206
组织导入数据
已修改11个文件
已添加6个文件
552 ■■■■■ 文件已修改
mes-basic/src/main/java/com/chinaztt/mes/basic/controller/CrewController.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
mes-basic/src/main/java/com/chinaztt/mes/basic/controller/PostController.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
mes-basic/src/main/java/com/chinaztt/mes/basic/controller/StaffController.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
mes-basic/src/main/java/com/chinaztt/mes/basic/entity/Crew.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
mes-basic/src/main/java/com/chinaztt/mes/basic/enums/FileEnums.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
mes-basic/src/main/java/com/chinaztt/mes/basic/excel/CrewData.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
mes-basic/src/main/java/com/chinaztt/mes/basic/excel/CrewUploadListener.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
mes-basic/src/main/java/com/chinaztt/mes/basic/excel/PostData.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
mes-basic/src/main/java/com/chinaztt/mes/basic/excel/PostUploadListener.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
mes-basic/src/main/java/com/chinaztt/mes/basic/excel/StaffData.java 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
mes-basic/src/main/java/com/chinaztt/mes/basic/excel/StaffUploadListener.java 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
mes-basic/src/main/java/com/chinaztt/mes/basic/service/CrewService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
mes-basic/src/main/java/com/chinaztt/mes/basic/service/PostService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
mes-basic/src/main/java/com/chinaztt/mes/basic/service/StaffService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/CrewServiceImpl.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/PostServiceImpl.java 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/StaffServiceImpl.java 89 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
mes-basic/src/main/java/com/chinaztt/mes/basic/controller/CrewController.java
@@ -1,9 +1,12 @@
package com.chinaztt.mes.basic.controller;
import com.alibaba.excel.EasyExcel;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.chinaztt.mes.basic.dto.CrewDTO;
import com.chinaztt.mes.basic.entity.Crew;
import com.chinaztt.mes.basic.entity.Staff;
import com.chinaztt.mes.basic.excel.CrewData;
import com.chinaztt.mes.basic.excel.CrewUploadListener;
import com.chinaztt.mes.basic.service.CrewService;
import com.chinaztt.mes.common.wrapper.QueryWrapperUtil;
import com.chinaztt.ztt.common.core.util.R;
@@ -13,6 +16,9 @@
import lombok.AllArgsConstructor;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
/**
@@ -160,4 +166,19 @@
        return R.ok(crewService.deleteStaff(crewDTO));
    }
    /**
     * excel上传
     *
     * @return
     */
    @PostMapping("/upload")
    public R upload(@RequestParam("file") MultipartFile file) {
        try {
            EasyExcel.read(file.getInputStream(), CrewData.class, new CrewUploadListener(crewService)).sheet().doRead();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return R.ok();
    }
}
mes-basic/src/main/java/com/chinaztt/mes/basic/controller/PostController.java
@@ -1,8 +1,13 @@
package com.chinaztt.mes.basic.controller;
import com.alibaba.excel.EasyExcel;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.chinaztt.mes.basic.entity.Post;
import com.chinaztt.mes.basic.excel.PostData;
import com.chinaztt.mes.basic.excel.PostUploadListener;
import com.chinaztt.mes.basic.excel.StaffData;
import com.chinaztt.mes.basic.excel.StaffUploadListener;
import com.chinaztt.mes.basic.service.PostService;
import com.chinaztt.mes.common.wrapper.QueryWrapperUtil;
import com.chinaztt.ztt.common.core.util.R;
@@ -12,6 +17,9 @@
import lombok.AllArgsConstructor;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
/**
@@ -117,4 +125,19 @@
        return R.ok(postService.list(queryWrapper));
    }
    /**
     * excel上传
     *
     * @return
     */
    @PostMapping("/upload")
    public R upload(@RequestParam("file") MultipartFile file) {
        try {
            EasyExcel.read(file.getInputStream(), PostData.class, new PostUploadListener(postService)).sheet().doRead();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return R.ok();
    }
}
mes-basic/src/main/java/com/chinaztt/mes/basic/controller/StaffController.java
@@ -17,12 +17,17 @@
package com.chinaztt.mes.basic.controller;
import com.alibaba.excel.EasyExcel;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.chinaztt.mes.basic.entity.Division;
import com.chinaztt.mes.basic.entity.Factory;
import com.chinaztt.mes.basic.entity.Location;
import com.chinaztt.mes.basic.entity.Staff;
import com.chinaztt.mes.basic.excel.DivisionData;
import com.chinaztt.mes.basic.excel.DivisionUploadListener;
import com.chinaztt.mes.basic.excel.StaffData;
import com.chinaztt.mes.basic.excel.StaffUploadListener;
import com.chinaztt.mes.basic.service.DivisionService;
import com.chinaztt.mes.basic.service.StaffService;
import com.chinaztt.mes.common.wrapper.QueryWrapperUtil;
@@ -34,7 +39,9 @@
import lombok.AllArgsConstructor;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.util.List;
@@ -168,4 +175,19 @@
        return R.ok(staffService.list(Wrappers.query(staff)));
    }
    /**
     * excel上传
     *
     * @return
     */
    @PostMapping("/upload")
    public R upload(@RequestParam("file") MultipartFile file) {
        try {
            EasyExcel.read(file.getInputStream(), StaffData.class, new StaffUploadListener(staffService)).sheet().doRead();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return R.ok();
    }
}
mes-basic/src/main/java/com/chinaztt/mes/basic/entity/Crew.java
@@ -36,17 +36,23 @@
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "人员班组维护表")
public class Crew extends Model<Crew> {
private static final long serialVersionUID = 1L;
    private static final long serialVersionUID = 1L;
    /**
     * id
     */
    @TableId
    @ApiModelProperty(value="id")
    private Long id;
    /**
     * ç­ç»„名称
     */
    @ApiModelProperty(value="班组名称")
    private String crewName;
    }
    /**
     * id
     */
    @TableId
    @ApiModelProperty(value = "id")
    private Long id;
    /**
     * ç­ç»„名称
     */
    @ApiModelProperty(value = "班组名称")
    private String crewName;
    /**
     * è½¦é—´
     */
    @ApiModelProperty(value = "车间")
    private String workShop;
}
mes-basic/src/main/java/com/chinaztt/mes/basic/enums/FileEnums.java
@@ -6,7 +6,10 @@
 */
public enum FileEnums {
    warehouse("warehouse","仓库"),
    location("location","库位")
    location("location","库位"),
    division("division","部门"),
    staff("staff","员工"),
    post("post","岗位")
    ;
    FileEnums(String name, String fileName) {
mes-basic/src/main/java/com/chinaztt/mes/basic/excel/CrewData.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,32 @@
package com.chinaztt.mes.basic.excel;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
@Data
public class CrewData {
    /**
     * ç­ç»„名称
     */
    @ExcelProperty("班组名称")
    private String crewName;
    /**
     * è½¦é—´
     */
    @ExcelProperty( "车间")
    private String workShop;
    /**
     * äººå‘˜ç¼–号
     */
    @ExcelProperty("人员编号")
    private String staffNo;
    /**
     * äººå‘˜åç§°
     */
    @ExcelProperty("人员名称")
    private String staffName;
}
mes-basic/src/main/java/com/chinaztt/mes/basic/excel/CrewUploadListener.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,38 @@
package com.chinaztt.mes.basic.excel;
import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
import com.chinaztt.mes.basic.service.CrewService;
import com.chinaztt.mes.basic.service.PostService;
import java.util.ArrayList;
import java.util.List;
public class CrewUploadListener extends AnalysisEventListener<CrewData> {
    private static final int BATCH_COUNT = 1000;
    List<CrewData> list = new ArrayList<>();
    private CrewService crewService;
    public CrewUploadListener(CrewService crewService) {
        this.crewService = crewService;
    }
    @Override
    public void invoke(CrewData data, AnalysisContext analysisContext) {
        list.add(data);
        if (list.size() >= BATCH_COUNT) {
            save();
            list.clear();
        }
    }
    @Override
    public void doAfterAllAnalysed(AnalysisContext analysisContext) {
        save();
    }
    private void save() {
        crewService.importWorkstationExcel(list);
    }
}
mes-basic/src/main/java/com/chinaztt/mes/basic/excel/PostData.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,42 @@
package com.chinaztt.mes.basic.excel;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
@Data
public class PostData {
    /**
     * å²—位编号
     */
    @ExcelProperty("岗位编号")
    private String postNo;
    /**
     * å²—位名称
     */
    @ExcelProperty( "岗位名称")
    private String postName;
    /**
     * å…¬å¸
     */
    @ExcelProperty("公司")
    private String companyName;
    /**
     * å·¥åŽ‚
     */
    @ExcelProperty("工厂")
    private String factoryName;
    /**
     * éƒ¨é—¨
     */
    @ExcelProperty("部门")
    private String divisionName;
    /**
     * è½¦é—´
     */
    @ExcelProperty("车间")
    private String workShops;
}
mes-basic/src/main/java/com/chinaztt/mes/basic/excel/PostUploadListener.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,40 @@
package com.chinaztt.mes.basic.excel;
import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
import com.chinaztt.mes.basic.service.PostService;
import com.chinaztt.mes.basic.service.StaffService;
import java.util.ArrayList;
import java.util.List;
public class PostUploadListener extends AnalysisEventListener<PostData> {
    private static final int BATCH_COUNT = 1000;
    List<PostData> list = new ArrayList<>();
    private PostService postService;
    public PostUploadListener(PostService postService) {
        this.postService = postService;
    }
    @Override
    public void invoke(PostData data, AnalysisContext analysisContext) {
        list.add(data);
        if (list.size() >= BATCH_COUNT) {
            save();
            list.clear();
        }
    }
    @Override
    public void doAfterAllAnalysed(AnalysisContext analysisContext) {
        save();
    }
    private void save() {
        postService.importWorkstationExcel(list);
    }
}
mes-basic/src/main/java/com/chinaztt/mes/basic/excel/StaffData.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,49 @@
package com.chinaztt.mes.basic.excel;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
@Data
public class StaffData {
    /**
     * å‘˜å·¥ç¼–号
     */
    @ExcelProperty("员工编号")
    private String staffNo;
    /**
     * å§“名
     */
    @ExcelProperty( "姓名")
    private String staffName;
    /**
     * æ‰€å±žå…¬å¸
     */
    @ExcelProperty("所属公司")
    private String companyName;
    /**
     * æ‰€å±žå·¥åŽ‚
     */
    @ExcelProperty("所属工厂")
    private String factoryName;
    /**
     * æ‰€å±žéƒ¨é—¨
     */
    @ExcelProperty("所属部门")
    private String divisionName;
    /**
     * å²—位名称
     */
    @ExcelProperty("岗位名称")
    private String post;
    /**
     * äººå‘˜æ€§è´¨
     */
    @ExcelProperty("人员性质")
    private String personNature;
}
mes-basic/src/main/java/com/chinaztt/mes/basic/excel/StaffUploadListener.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,39 @@
package com.chinaztt.mes.basic.excel;
import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
import com.chinaztt.mes.basic.service.DivisionService;
import com.chinaztt.mes.basic.service.StaffService;
import java.util.ArrayList;
import java.util.List;
public class StaffUploadListener extends AnalysisEventListener<StaffData> {
    private static final int BATCH_COUNT = 1000;
    List<StaffData> list = new ArrayList<>();
    private StaffService staffService;
    public StaffUploadListener(StaffService staffService) {
        this.staffService = staffService;
    }
    @Override
    public void invoke(StaffData data, AnalysisContext analysisContext) {
        list.add(data);
        if (list.size() >= BATCH_COUNT) {
            save();
            list.clear();
        }
    }
    @Override
    public void doAfterAllAnalysed(AnalysisContext analysisContext) {
        save();
    }
    private void save() {
        staffService.importWorkstationExcel(list);
    }
}
mes-basic/src/main/java/com/chinaztt/mes/basic/service/CrewService.java
@@ -8,6 +8,7 @@
import com.chinaztt.mes.basic.entity.Crew;
import com.chinaztt.mes.basic.entity.Part;
import com.chinaztt.mes.basic.entity.Staff;
import com.chinaztt.mes.basic.excel.CrewData;
import java.util.List;
@@ -64,4 +65,10 @@
     * @return
     */
    List<Staff> getStaff(CrewDTO crewDTO);
    /**
     * å¯¼å…¥excel数据
     * @param list
     */
    void importWorkstationExcel(List<CrewData> list);
}
mes-basic/src/main/java/com/chinaztt/mes/basic/service/PostService.java
@@ -2,6 +2,9 @@
import com.baomidou.mybatisplus.extension.service.IService;
import com.chinaztt.mes.basic.entity.Post;
import com.chinaztt.mes.basic.excel.PostData;
import java.util.List;
/**
 * å²—位表
@@ -11,4 +14,9 @@
 */
public interface PostService extends IService<Post> {
    /**
     * excel导入
     * @param list
     */
    void importWorkstationExcel(List<PostData> list);
}
mes-basic/src/main/java/com/chinaztt/mes/basic/service/StaffService.java
@@ -22,6 +22,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.chinaztt.mes.basic.entity.Staff;
import com.chinaztt.mes.basic.excel.StaffData;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -54,4 +55,10 @@
     * @date: 2020/8/28 11:06
     */
    IPage<List<Staff>> toResource(Page page,Staff staff);
    /**
     * å¯¼å…¥excel的数据
     * @param list
     */
    void importWorkstationExcel(List<StaffData> list);
}
mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/CrewServiceImpl.java
@@ -3,24 +3,27 @@
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.chinaztt.mes.basic.dto.CrewDTO;
import com.chinaztt.mes.basic.entity.Crew;
import com.chinaztt.mes.basic.entity.JoinCrewStaff;
import com.chinaztt.mes.basic.entity.Part;
import com.chinaztt.mes.basic.entity.Staff;
import com.chinaztt.mes.basic.entity.*;
import com.chinaztt.mes.basic.excel.CrewData;
import com.chinaztt.mes.basic.excel.PostData;
import com.chinaztt.mes.basic.mapper.CrewMapper;
import com.chinaztt.mes.basic.mapper.JoinCrewStaffMapper;
import com.chinaztt.mes.basic.mapper.StaffMapper;
import com.chinaztt.mes.basic.service.CrewService;
import lombok.AllArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
/**
 * äººå‘˜ç­ç»„维护表
@@ -82,6 +85,37 @@
        return staffMapper.selectStaffById(crewDTO.getId());
    }
    //导入excel数据
    @Override
    public void importWorkstationExcel(List<CrewData> list) {
        if (CollectionUtil.isEmpty(list)) {
            return;
        }
        List<Staff> staff = staffMapper.selectList(null);
        Crew crew = new Crew();
        for (CrewData data : list) {
            //新增班组表
            if (ObjectUtils.isNotEmpty(data.getCrewName())) {
                crew.setCrewName(data.getCrewName());
                crew.setWorkShop(data.getWorkShop());
                baseMapper.insert(crew);
            }
            JoinCrewStaff joinCrewStaff = new JoinCrewStaff();
            joinCrewStaff.setCrewId(crew.getId());
            for (int i = 0; i < staff.size(); i++) {
                if (staff.get(i).getStaffNo().equals(data.getStaffNo())) {
                    joinCrewStaff.setStaffId(staff.get(i).getId());
                }
            }
            if (joinCrewStaff.getStaffId() == null) {
                log.error("人员:" + data.getStaffNo() + "不存在");
                continue;
            }
            //新增人员班组维护表
            joinCrewStaffMapper.insert(joinCrewStaff);
        }
    }
    public void saveJoin(CrewDTO crewDTO) {
        if (CollectionUtil.isNotEmpty(crewDTO.getStaffList())) {
            List<Staff> staffList = joinCrewStaffMapper.selectStaffByCrewId(crewDTO.getId());
mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/PostServiceImpl.java
@@ -5,11 +5,17 @@
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.baomidou.mybatisplus.extension.toolkit.SqlHelper;
import com.chinaztt.mes.basic.entity.Post;
import com.chinaztt.mes.basic.entity.*;
import com.chinaztt.mes.basic.excel.PostData;
import com.chinaztt.mes.basic.excel.StaffData;
import com.chinaztt.mes.basic.mapper.CompanyMapper;
import com.chinaztt.mes.basic.mapper.DivisionMapper;
import com.chinaztt.mes.basic.mapper.FactoryMapper;
import com.chinaztt.mes.basic.mapper.PostMapper;
import com.chinaztt.mes.basic.service.PostService;
import com.chinaztt.mes.common.numgen.NumberGenerator;
import lombok.AllArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -26,6 +32,10 @@
@Transactional(rollbackFor = Exception.class)
public class PostServiceImpl extends ServiceImpl<PostMapper, Post> implements PostService {
    private NumberGenerator<Post> postNumberGenerator;
    private DivisionMapper divisionMapper;
    private PostMapper postMapper;
    private CompanyMapper companyMapper;
    private FactoryMapper factoryMapper;
    @Override
    public boolean save(Post post) {
@@ -51,4 +61,48 @@
            }
        }
    }
    //excel导入数据
    @Override
    public void importWorkstationExcel(List<PostData> list) {
        if (CollectionUtil.isEmpty(list)) {
            return;
        }
        List<Company> companies = companyMapper.selectList(null);
        List<Factory> factories = factoryMapper.selectList(null);
        List<Division> divisions = divisionMapper.selectList(null);
        for (PostData data : list) {
            Post post = new Post();
            BeanUtils.copyProperties(data, post);
            post.setPostName(data.getWorkShops()+"-"+data.getPostName());
            for (int i = 0; i <companies.size() ; i++) {
                if (companies.get(i).getCompanyName().equals(data.getCompanyName())){
                    post.setCompanyId(companies.get(i).getId());
                }
            }
            if (post.getCompanyId()==null){
                log.error("公司:" + data.getCompanyName() + "不存在");
                continue ;
            }
            for (int i = 0; i <factories.size() ; i++) {
                if (factories.get(i).getFactoryName().equals(data.getFactoryName())){
                    post.setFactoryId(factories.get(i).getId());
                }
            }
            if (post.getFactoryId()==null){
                log.error("工厂:" + data.getFactoryName() + "不存在");
                continue ;
            }
            for (int i = 0; i < divisions.size(); i++) {
                if (divisions.get(i).getDivisionName().equals(data.getDivisionName())) {
                    post.setDivisionId(divisions.get(i).getId());
                }
            }
            if (post.getDivisionId() == null) {
                log.error("部门:" + data.getDivisionName() + "不存在");
                continue;
            }
            baseMapper.insert(post);
        }
    }
}
mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/StaffServiceImpl.java
@@ -16,15 +16,18 @@
 */
package com.chinaztt.mes.basic.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.chinaztt.mes.basic.entity.Staff;
import com.chinaztt.mes.basic.mapper.StaffMapper;
import com.chinaztt.mes.basic.entity.*;
import com.chinaztt.mes.basic.excel.StaffData;
import com.chinaztt.mes.basic.mapper.*;
import com.chinaztt.mes.basic.service.StaffService;
import com.chinaztt.ztt.common.data.datascope.DataScope;
import lombok.AllArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import java.util.List;
@@ -39,21 +42,24 @@
@AllArgsConstructor
public class StaffServiceImpl extends ServiceImpl<StaffMapper, Staff> implements StaffService {
    private DivisionMapper divisionMapper;
    private PostMapper postMapper;
    private CompanyMapper companyMapper;
    private FactoryMapper factoryMapper;
    /**
     * Description: åˆ†é¡µ
     *
     * @param page
     * @param ew
     * @return IPage<List<Staff>>
     * @author: luh
     * @date: 2020/8/18 11:06
     */
    /**
     * Description: åˆ†é¡µ
     *
     * @param page
     * @param ew
     * @return IPage<List < Staff>>
     * @author: luh
     * @date: 2020/8/18 11:06
     */
    @Override
    public IPage<List<Staff>> getStaffPage(Page page, QueryWrapper<Staff> ew) {
        return baseMapper.getStaffPage(page,ew);
        return baseMapper.getStaffPage(page, ew);
    }
    /**
@@ -61,14 +67,65 @@
     *
     * @param page
     * @param staff
     * @return IPage<List<Staff>
     * @return IPage<List < Staff>
     * @author: fenglang
     * @date: 2020/8/28 11:06
     */
    @Override
    public IPage<List<Staff>> toResource(Page page, Staff staff) {
        return baseMapper.toResource(page,staff);
        return baseMapper.toResource(page, staff);
    }
    //导入excel数据
    @Override
    public void importWorkstationExcel(List<StaffData> list) {
        if (CollectionUtil.isEmpty(list)) {
            return;
        }
        List<Division> divisions = divisionMapper.selectList(null);
        List<Post> posts = postMapper.selectList(null);
        List<Company> companies = companyMapper.selectList(null);
        List<Factory> factories = factoryMapper.selectList(null);
        for (StaffData staffData : list) {
            Staff staff = new Staff();
            BeanUtils.copyProperties(staffData, staff);
            for (int i = 0; i < divisions.size(); i++) {
                if (divisions.get(i).getDivisionName().equals(staffData.getDivisionName())) {
                    staff.setDivisionId(divisions.get(i).getId());
                }
            }
            if (staff.getDivisionId() == null) {
                log.error("部门:" + staffData.getDivisionName() + "不存在");
                continue;
            }
            for (int i = 0; i < posts.size(); i++) {
                if (posts.get(i).getPostName().equals(staffData.getPost())) {
                    staff.setPostId(posts.get(i).getId());
                }
            }
            if (staff.getPostId() == null) {
                log.error("岗位:" + staffData.getPost() + "不存在");
                continue;
            }
            for (int i = 0; i <companies.size() ; i++) {
                if (companies.get(i).getCompanyName().equals(staffData.getCompanyName())){
                    staff.setCompanyId(companies.get(i).getId());
                }
            }
            if (staff.getCompanyId()==null){
                log.error("公司:" + staffData.getCompanyName() + "不存在");
                continue ;
            }
            for (int i = 0; i <factories.size() ; i++) {
                if (factories.get(i).getFactoryName().equals(staffData.getFactoryName())){
                    staff.setFactoryId(factories.get(i).getId());
                }
            }
            if (staff.getFactoryId()==null){
                log.error("工厂:" + staffData.getFactoryName() + "不存在");
                continue ;
            }
            baseMapper.insert(staff);
        }
    }
}