package com.yuanchu.mom.service.impl; import cn.hutool.core.collection.CollectionUtil; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.yuanchu.mom.common.GetLook; import com.yuanchu.mom.common.PrintChina; import com.yuanchu.mom.dto.AuxiliaryCorrectionHoursDto; import com.yuanchu.mom.dto.AuxiliaryOutputWorkingHoursDto; import com.yuanchu.mom.mapper.PowerMapper; import com.yuanchu.mom.mapper.UserMapper; import com.yuanchu.mom.pojo.AuxiliaryCorrectionHours; import com.yuanchu.mom.mapper.AuxiliaryCorrectionHoursMapper; import com.yuanchu.mom.pojo.Power; import com.yuanchu.mom.pojo.User; import com.yuanchu.mom.service.AuxiliaryCorrectionHoursService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.yuanchu.mom.utils.QueryWrappers; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; /** *

* 工时统计的修正工时 服务实现类 *

* * @author 江苏鵷雏网络科技有限公司 * @since 2024-05-29 02:38:19 */ @Service public class AuxiliaryCorrectionHoursServiceImpl extends ServiceImpl implements AuxiliaryCorrectionHoursService { @Resource AuxiliaryCorrectionHoursMapper auxiliaryCorrectionHoursMapper; @Resource GetLook getLook; @Resource UserMapper userMapper; @Resource PowerMapper powerMapper; @Override public Map selectAuxiliaryCorrectionHours(Page page, AuxiliaryCorrectionHoursDto auxiliaryCorrectionHoursDto) { Map map = new HashMap<>(); List ids = null; map.put("head", PrintChina.printChina(AuxiliaryCorrectionHoursDto.class)); //判断组长,组员,管理员权限 Map map1 = getLook.selectPowerByMethodAndUserId("selectAuxiliaryCorrectionHours"); User user = userMapper.selectById(map1.get("userId")); Integer roleId = user.getRoleId(); Power power = powerMapper.selectOne(Wrappers.lambdaQuery().eq(Power::getRoleId, roleId).eq(Power::getMenuMethod, "leader")); if (ObjectUtils.isEmpty(power)) { //不是组长 if (map1.get("look") == 1) { //是组员 auxiliaryCorrectionHoursDto.setNameUser(map1.get("userId")); } else { //管理员(不添加限制条件所有人都可以看) } } else { //是组长 //查询组长下的组员 List users = userMapper.selectList(Wrappers.lambdaQuery().like(User::getDepartLimsId, user.getDepartLimsId())); if (ObjectUtils.isNotEmpty(users)) { ids = users.stream().map(User::getId).distinct().collect(Collectors.toList()); } } map.put("body", auxiliaryCorrectionHoursMapper.selectAuxiliaryCorrectionHours(page, QueryWrappers.queryWrappers(auxiliaryCorrectionHoursDto),ids)); return map; } //导入上传 @Override public void importExcel(List list) { if (CollectionUtil.isEmpty(list)) { return; } List auxiliaryCorrectionHoursList = new ArrayList<>(); for (AuxiliaryCorrectionHoursDto auxiliaryCorrectionHoursDto : list) { AuxiliaryCorrectionHours auxiliaryCorrectionHours = new AuxiliaryCorrectionHours(); User user = userMapper.selectOne(Wrappers.lambdaQuery().eq(User::getName, auxiliaryCorrectionHoursDto.getName())); if (ObjectUtils.isEmpty(user)){ throw new RuntimeException("系统没有查到"+auxiliaryCorrectionHoursDto.getName()+"这个用户信息!"); } BeanUtils.copyProperties(auxiliaryCorrectionHoursDto,auxiliaryCorrectionHours); auxiliaryCorrectionHours.setNameUser(user.getId()); auxiliaryCorrectionHoursList.add(auxiliaryCorrectionHours); } //批量新增 saveBatch(auxiliaryCorrectionHoursList); } }