| | |
| | | package com.mes.pp.service.impl; |
| | | |
| | | import cn.smallbun.screw.core.util.CollectionUtils; |
| | | import com.baomidou.dynamic.datasource.annotation.DS; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | |
| | | import com.mes.engineering.entity.Engineering; |
| | | import com.mes.engineering.service.EngineeringService; |
| | | import com.mes.pp.entity.OptimizeProject; |
| | | import com.mes.pp.entity.dto.ProgressDTO; |
| | | import com.mes.pp.entity.request.OptimizeRequest; |
| | | import com.mes.pp.mapper.OptimizeProjectMapper; |
| | | import com.mes.pp.service.OptimizeProjectService; |
| | |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import java.time.LocalDateTime; |
| | | import java.util.List; |
| | |
| | | // 计算二个月前的时间 |
| | | LocalDateTime twoMonthAgo = LocalDateTime.now().minusMonths(2); |
| | | LambdaQueryWrapper<OptimizeProject> wrapper = new LambdaQueryWrapper<>(); |
| | | wrapper.select(OptimizeProject::getProjectNo) |
| | | wrapper.select(OptimizeProject::getProjectNo, OptimizeProject::getProjectName) |
| | | .eq(OptimizeProject::getState, optimizeRequest.getState()) |
| | | .ge(OptimizeProject::getCreateTime, twoMonthAgo); |
| | | List<OptimizeProject> glass = this.list(wrapper); |
| | |
| | | Engineering engineering = engineerings.get(i); |
| | | OptimizeProject newProject = new OptimizeProject(); |
| | | newProject.setProjectNo(engineering.getEngineerId()); |
| | | newProject.setProjectName(engineering.getEngineerName()); |
| | | // 将新创建的 OptimizeProject 对象添加到 glass 列表中 |
| | | glass.add(newProject); |
| | | } |
| | |
| | | return this.list(wrapper); |
| | | } |
| | | |
| | | @Override |
| | | public List<OptimizeProject> queryEngineer() { |
| | | return this.baseMapper.queryEngineer(); |
| | | } |
| | | |
| | | @Override |
| | | public List<OptimizeProject> engineerScheduling(OptimizeProject optimizeProject) { |
| | | return this.baseMapper.engineerScheduling(optimizeProject); |
| | | } |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public List<OptimizeProject> updateEngineerScheduling(Integer type, List<OptimizeProject> projectList) { |
| | | // 1. 删除对应类型的数据 |
| | | baseMapper.deleteByType(type); |
| | | |
| | | // 2. 设置值 |
| | | projectList.forEach(project -> { |
| | | project.setType(type); |
| | | project.setState(100); |
| | | project.setId(null); // 清除ID |
| | | }); |
| | | if (CollectionUtils.isNotEmpty(projectList)) { |
| | | // 3. 批量插入新数据 |
| | | baseMapper.batchInsert(projectList); |
| | | } |
| | | |
| | | return projectList; |
| | | } |
| | | |
| | | @Override |
| | | public void deleteengineerSchedulingByid(String engineerId, List<Integer> types) { |
| | | baseMapper.deleteByScheduling(engineerId, types); |
| | | } |
| | | |
| | | @Override |
| | | public List<ProgressDTO> selectProgress(String engineerId) { |
| | | return baseMapper.selectProgress(engineerId); |
| | | } |
| | | } |