zss
2024-05-30 a26151eff700b514ca92b0ac9207200b866071fc
performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryWorkingHoursDayServiceImpl.java
@@ -5,15 +5,10 @@
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.AuxiliaryWorkingHoursDayDto;
import com.yuanchu.mom.exception.ErrorException;
import com.yuanchu.mom.mapper.AuxiliaryWorkingHoursMapper;
import com.yuanchu.mom.mapper.PerformanceShiftMapper;
import com.yuanchu.mom.mapper.UserMapper;
import com.yuanchu.mom.pojo.AuxiliaryWorkingHours;
import com.yuanchu.mom.pojo.AuxiliaryWorkingHoursDay;
import com.yuanchu.mom.mapper.AuxiliaryWorkingHoursDayMapper;
import com.yuanchu.mom.pojo.PerformanceShift;
import com.yuanchu.mom.pojo.User;
import com.yuanchu.mom.mapper.*;
import com.yuanchu.mom.pojo.*;
import com.yuanchu.mom.service.AuxiliaryWorkingHoursDayService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yuanchu.mom.utils.MyUtil;
@@ -24,7 +19,9 @@
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
 * <p>
@@ -50,13 +47,59 @@
    UserMapper userMapper;
    @Resource
    RoleMapper roleMapper;
    @Resource
    PowerMapper powerMapper;
    @Resource
    PerformanceShiftMapper performanceShiftMapper;
    @Override
    public Map<String, Object> selectAuxiliaryWorkingHoursDay(Page page, AuxiliaryWorkingHoursDay auxiliaryWorkingHoursDay) {
        Map<String, Object> map = new HashMap<>();
        map.put("head", PrintChina.printChina(AuxiliaryWorkingHoursDay.class));
        map.put("body", auxiliaryWorkingHoursDayMapper.selectAuxiliaryWorkingHoursDay(page, QueryWrappers.queryWrappers(auxiliaryWorkingHoursDay)));
    public Map<String, Object> selectAuxiliaryWorkingHoursDay(Page page, AuxiliaryWorkingHoursDayDto auxiliaryWorkingHoursDayDto) {
        String dates = auxiliaryWorkingHoursDayDto.getDateTime();
        String week = auxiliaryWorkingHoursDayDto.getWeek();
        auxiliaryWorkingHoursDayDto.setDateTime(null);
        auxiliaryWorkingHoursDayDto.setWeek(null);
            Map<String, Object> map = new HashMap<>();
            List<Integer> ids = null;
            map.put("head", PrintChina.printChina(AuxiliaryWorkingHoursDayDto.class));
            //判断组长,组员,管理员权限
            Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("selectAuxiliaryWorkingHoursDay");
            User user = userMapper.selectById(map1.get("userId"));
            Integer roleId = user.getRoleId();
            Power power = powerMapper.selectOne(Wrappers.<Power>lambdaQuery().eq(Power::getRoleId, roleId).eq(Power::getMenuMethod, "leader"));
            if (ObjectUtils.isEmpty(power)) {
                //不是组长
                if (map1.get("look") == 1) {
                    //是组员
                    auxiliaryWorkingHoursDayDto.setNameUser(map1.get("userId"));
                } else {
                    //管理员(不添加限制条件所有人都可以看)
                }
            } else {
                //是组长
                //查询组员
                List<User> users = userMapper.selectList(Wrappers.<User>lambdaQuery().like(User::getDepartLimsId, user.getDepartLimsId()));
                if (ObjectUtils.isNotEmpty(users)) {
                    ids = users.stream().map(User::getId).distinct().collect(Collectors.toList());
                }
            }
        if (ObjectUtils.isNotEmpty(dates)) {
            String[] split = dates.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
            if (ObjectUtils.isNotEmpty(week)) {
                String[] weeks = week.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
                map.put("body", auxiliaryWorkingHoursDayMapper.selectAuxiliaryWorkingHoursDay(page,
                        QueryWrappers.queryWrappers(auxiliaryWorkingHoursDayDto)
                                .ge("date_time", split[0]).le("date_time", split[1] + " 23:59:59")
                                .ge("week", weeks[0]).le("week", weeks[1] ), ids));
            } else {
                map.put("body", auxiliaryWorkingHoursDayMapper.selectAuxiliaryWorkingHoursDay(page, QueryWrappers.queryWrappers(auxiliaryWorkingHoursDayDto).ge("date_time", split[0]).le("date_time", split[1] + " 23:59:59"), ids));
            }
        }
        else {
            map.put("body", auxiliaryWorkingHoursDayMapper.selectAuxiliaryWorkingHoursDay(page, QueryWrappers.queryWrappers(auxiliaryWorkingHoursDayDto), ids));
        }
        return map;
    }
@@ -77,8 +120,7 @@
    @Override
    public int insertAuxiliaryWorkingHoursDay(AuxiliaryWorkingHoursDay auxiliaryWorkingHoursDay) {
        Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId");
        User user = userMapper.selectById(userId);
        auxiliaryWorkingHoursDay.setName(user.getName());//姓名
        auxiliaryWorkingHoursDay.setNameUser(userId);//姓名id
        auxiliaryWorkingHoursDay.setState("已提交");
        return auxiliaryWorkingHoursDayMapper.insert(auxiliaryWorkingHoursDay);
    }
@@ -87,9 +129,6 @@
    @Override
    public int checkOrApprove(Integer id, String state) {
        AuxiliaryWorkingHoursDay auxiliaryWorkingHoursDay = auxiliaryWorkingHoursDayMapper.selectById(id);
        if (auxiliaryWorkingHoursDay.getState().equals("已批准") && state.equals("已审核")) {
            throw new RuntimeException("该数据已经批准无需审核!");
        }
        auxiliaryWorkingHoursDay.setState(state);
        return auxiliaryWorkingHoursDayMapper.updateById(auxiliaryWorkingHoursDay);
    }
@@ -101,8 +140,7 @@
            throw new RuntimeException("该数据已经批准或已审核,无法进行编辑!");
        }
        Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId");
        User user = userMapper.selectById(userId);
        auxiliaryWorkingHoursDay.setName(user.getName());//姓名
        auxiliaryWorkingHoursDay.setNameUser(userId);//姓名id
        return auxiliaryWorkingHoursDayMapper.updateById(auxiliaryWorkingHoursDay);
    }
@@ -117,8 +155,8 @@
    public String selectshiftByUser(LocalDateTime dateTime) {
        Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId");
        PerformanceShift performanceShift = performanceShiftMapper.selectOne(Wrappers.<PerformanceShift>lambdaQuery().eq(PerformanceShift::getUserId, userId).eq(PerformanceShift::getWorkTime, dateTime));
        if (ObjectUtils.isEmpty(performanceShift)){
            throw new RuntimeException("没有查到当前用户选择日期的当班班次信息!!");
        if (ObjectUtils.isEmpty(performanceShift)) {
           return null;
        }
        return performanceShift.getShift();
    }