Fixiaobai
2023-11-04 958e45e28ca4f591ab13f2c6f4fe27d57c4880d5
mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/PostServiceImpl.java
@@ -1,19 +1,29 @@
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.toolkit.StringUtils;
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.Company;
import com.chinaztt.mes.basic.entity.Division;
import com.chinaztt.mes.basic.entity.Factory;
import com.chinaztt.mes.basic.entity.Post;
import com.chinaztt.mes.basic.excel.PostData;
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;
import java.util.List;
import java.util.Objects;
/**
 * 岗位表
@@ -26,6 +36,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 +65,55 @@
         }
      }
   }
   //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) {
         QueryWrapper<Post>QueryWrapper = new QueryWrapper<>();
         QueryWrapper.lambda().eq(Post::getPostNo,data.getPostNo());
         Post post1 = baseMapper.selectOne(QueryWrapper);
         if(!Objects.isNull(post1)){
            log.error("岗位编号重复=====》"+data.getPostNo());
            continue;
         }
         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);
      }
   }
}