| | |
| | | package org.jeecg.modules.mdc.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | |
| | | import org.jeecg.modules.mdc.mapper.MdcVacationManagementMappper; |
| | | import org.jeecg.modules.mdc.service.IMdcEquipmentService; |
| | | import org.jeecg.modules.mdc.service.IMdcVacationManagementService; |
| | | import org.jeecg.modules.mdc.util.DateUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import java.text.ParseException; |
| | | import java.text.SimpleDateFormat; |
| | | import java.time.LocalDate; |
| | | import java.time.ZoneId; |
| | | import java.time.format.DateTimeFormatter; |
| | | import java.time.temporal.TemporalAdjusters; |
| | | import java.util.*; |
| | | |
| | | /** |
| | |
| | | |
| | | @Override |
| | | public IPage<MdcVacationManagement> pageList(String userId, Page page, HttpServletRequest req, MdcVacationManagement mdcVacationManagement) { |
| | | //显示双休日 |
| | | Date vacationDate=mdcVacationManagement.getVacationDate(); |
| | | String type= mdcVacationManagement.getType(); |
| | | Calendar c=Calendar.getInstance(); |
| | | c.setTime(vacationDate); |
| | | int day=c.get(Calendar.DAY_OF_WEEK)-1; |
| | | System.out.println(day); |
| | | if (day==6||day==7){ |
| | | System.out.println("双休日"); |
| | | mdcVacationManagement.setType("双休日"); |
| | | } |
| | | //查询用户所拥有的设备信息 |
| | | List<String> equipmentIds=new ArrayList<>(); |
| | | if (StringUtils.isNotEmpty(mdcVacationManagement.getParentId()) && StringUtils.isEmpty(mdcVacationManagement.getEquipmentId())){ |
| | | if ("2".equals(mdcVacationManagement.getTypeTree())){ |
| | | List<String> equipmentIds = new ArrayList<>(); |
| | | if (StringUtils.isNotEmpty(mdcVacationManagement.getParentId()) && StringUtils.isEmpty(mdcVacationManagement.getEquipmentId())) { |
| | | if ("2".equals(mdcVacationManagement.getTypeTree())) { |
| | | //部门层级 |
| | | equipmentIds=equipmentService.getEquipmentIdsByDepart(userId,mdcVacationManagement.getParentId()); |
| | | }else { |
| | | equipmentIds = equipmentService.getEquipmentIdsByDepart(userId, mdcVacationManagement.getParentId()); |
| | | } else { |
| | | //产线层级 |
| | | equipmentIds=equipmentService.getEquipmentIdsProduction(userId,mdcVacationManagement.getParentId()); |
| | | equipmentIds = equipmentService.getEquipmentIdsProduction(userId, mdcVacationManagement.getParentId()); |
| | | } |
| | | }else if (StringUtils.isNotEmpty(mdcVacationManagement.getEquipmentId())){ |
| | | } else if (StringUtils.isNotEmpty(mdcVacationManagement.getEquipmentId())) { |
| | | //单台设备信息 |
| | | mdcVacationManagement.setMdcSectionIds(Collections.singletonList(mdcVacationManagement.getEquipmentId())); |
| | | }else { |
| | | } else { |
| | | //查询用户所拥有的设备信息 |
| | | if ("2".equals(mdcVacationManagement.getTypeTree())){ |
| | | if ("2".equals(mdcVacationManagement.getTypeTree())) { |
| | | //部门层级 |
| | | equipmentIds=equipmentService.getEquipmentIdsByDepart(userId,null); |
| | | }else { |
| | | equipmentIds=equipmentService.getEquipmentIdsProduction(userId,null); |
| | | equipmentIds = equipmentService.getEquipmentIdsByDepart(userId, null); |
| | | } else { |
| | | equipmentIds = equipmentService.getEquipmentIdsProduction(userId, null); |
| | | } |
| | | } |
| | | if (mdcVacationManagement.getMdcSectionIds() == null || mdcVacationManagement.getMdcSectionIds().isEmpty()){ |
| | | if (mdcVacationManagement.getMdcSectionIds() == null || mdcVacationManagement.getMdcSectionIds().isEmpty()) { |
| | | mdcVacationManagement.setMdcSectionIds(equipmentIds); |
| | | } |
| | | if (mdcVacationManagement.getMdcSectionIds() == null || mdcVacationManagement.getMdcSectionIds().isEmpty()){ |
| | | if (mdcVacationManagement.getMdcSectionIds() == null || mdcVacationManagement.getMdcSectionIds().isEmpty()) { |
| | | return null; |
| | | } |
| | | return this.baseMapper.pageList(page,mdcVacationManagement); |
| | | return this.baseMapper.pageList(page, mdcVacationManagement); |
| | | } |
| | | |
| | | /** |
| | | * 生成双休日 |
| | | */ |
| | | @Override |
| | | public void generateWeekDays() { |
| | | MdcVacationManagement mdcVacationManagement = this.baseMapper.selectOne(new LambdaQueryWrapper<MdcVacationManagement>().eq(MdcVacationManagement::getType, "双休日").orderByDesc(MdcVacationManagement::getVacationDate).last("limit 1")); |
| | | // 获取生成开始时间和结束时间 |
| | | LocalDate startDate; |
| | | LocalDate endDate; |
| | | if (mdcVacationManagement == null) { |
| | | startDate = LocalDate.now(); |
| | | endDate = LocalDate.of(DateUtils.getYear(), DateUtils.getMonth(), DateUtils.getDayOfMonth()); |
| | | } else { |
| | | LocalDate vacationDate = mdcVacationManagement.getVacationDate().toInstant().atZone(ZoneId.systemDefault()).toLocalDate().plusMonths(1); |
| | | startDate = vacationDate.with(TemporalAdjusters.firstDayOfMonth()); |
| | | endDate = vacationDate.with(TemporalAdjusters.lastDayOfMonth()); |
| | | } |
| | | // 获取开始时间和结束时间的中间双休日集合 |
| | | List<Date> dateList = DateUtils.getWeekDays(startDate, endDate); |
| | | } |
| | | } |