/*
|
* Copyright (c) 2018-2025, ztt All rights reserved.
|
*
|
* Redistribution and use in source and binary forms, with or without
|
* modification, are permitted provided that the following conditions are met:
|
*
|
* Redistributions of source code must retain the above copyright notice,
|
* this list of conditions and the following disclaimer.
|
* Redistributions in binary form must reproduce the above copyright
|
* notice, this list of conditions and the following disclaimer in the
|
* documentation and/or other materials provided with the distribution.
|
* Neither the name of the pig4cloud.com developer nor the names of its
|
* contributors may be used to endorse or promote products derived from
|
* this software without specific prior written permission.
|
* Author: ztt
|
*/
|
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.*;
|
import com.chinaztt.mes.basic.excel.StaffData;
|
import com.chinaztt.mes.basic.mapper.*;
|
import com.chinaztt.mes.basic.service.StaffService;
|
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;
|
|
/**
|
* 员工
|
*
|
* @author luh
|
* @date 2020-08-14 15:30:26
|
*/
|
@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
|
*/
|
|
@Override
|
public IPage<List<Staff>> getStaffPage(Page page, QueryWrapper<Staff> ew) {
|
return baseMapper.getStaffPage(page, ew);
|
}
|
|
/**
|
* Description: 可提交资源
|
*
|
* @param page
|
* @param 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);
|
}
|
|
//导入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();
|
}
|
}
|