/* * 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 implements StaffService { private DivisionMapper divisionMapper; private PostMapper postMapper; private CompanyMapper companyMapper; private FactoryMapper factoryMapper; /** * Description: 分页 * * @param page * @param ew * @return IPage> * @author: luh * @date: 2020/8/18 11:06 */ @Override public IPage> getStaffPage(Page page, QueryWrapper ew) { return baseMapper.getStaffPage(page, ew); } /** * Description: 可提交资源 * * @param page * @param staff * @return IPage * @author: fenglang * @date: 2020/8/28 11:06 */ @Override public IPage> toResource(Page page, Staff staff) { return baseMapper.toResource(page, staff); } //导入excel数据 @Override public void importWorkstationExcel(List list) { if (CollectionUtil.isEmpty(list)) { return; } List divisions = divisionMapper.selectList(null); List posts = postMapper.selectList(null); List companies = companyMapper.selectList(null); List factories = factoryMapper.selectList(null); for (StaffData staffData : list) { QueryWrapper 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 > chooseStaff() { return baseMapper.chooseStaff(); } }