zouyu
2023-11-15 9bf01a5f04e5e1821d48b42706fb492e1bf21d86
mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/StaffServiceImpl.java
@@ -16,18 +16,23 @@
 */
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 lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
import java.util.Objects;
/**
 * 员工
@@ -37,23 +42,27 @@
 */
@Service
@AllArgsConstructor
@Slf4j
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 +70,77 @@
    *
    * @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) {
         QueryWrapper<Staff> QueryWrapper = new QueryWrapper<>();
         QueryWrapper.lambda().eq(Staff::getStaffNo,staffData.getStaffNo());
         Staff staff1 = baseMapper.selectOne(QueryWrapper);
         if(!Objects.isNull(staff1)){
            log.error("员工编号重复======》"+staffData.getStaffNo());
            continue;
         }
         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);
      }
   }
   @Override
   public List<Map<String, Object>> chooseStaff() {
      return baseMapper.chooseStaff();
   }
}