| src/main/java/com/ruoyi/ScheduleTask.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/project/system/mapper/SysDeptMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/project/system/service/impl/SysNoticeServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/safe/service/impl/SafeTrainingServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/ruoyi/ScheduleTask.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,58 @@ package com.ruoyi; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.ruoyi.project.system.domain.SysNotice; import com.ruoyi.project.system.mapper.SysNoticeMapper; import com.ruoyi.safe.mapper.SafeTrainingMapper; import com.ruoyi.safe.pojo.SafeTraining; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.List; @Component //宿¶ä»»å¡æ±æ» public class ScheduleTask { @Autowired private SafeTrainingMapper safeTrainingMapper; @Autowired private SysNoticeMapper noticeMapper; //宿¶ä»»å¡(15åéæ§è¡ä¸æ¬¡--夿å¹è®è®¡åæ°æ®,ç¶æååæ´) @Scheduled(cron = "0 0/15 * * * ?") public void testScheduleTask() { List<SafeTraining> safeTrainings = safeTrainingMapper.selectList(Wrappers.<SafeTraining>lambdaQuery().ne(SafeTraining::getState, 2)); if (safeTrainings.size() > 0) { for (SafeTraining safeTraining : safeTrainings) { //æ ¹æ®æ¶é´å¤æå¹è®ç¶æ String trainingDate = safeTraining.getTrainingDate().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")); LocalDateTime openingTime = LocalDateTime.parse((trainingDate + safeTraining.getOpeningTime()), DateTimeFormatter.ofPattern("yyyy-MM-ddHH:mm:ss")); LocalDateTime endTime = LocalDateTime.parse((trainingDate + safeTraining.getEndTime()), DateTimeFormatter.ofPattern("yyyy-MM-ddHH:mm:ss")); if (LocalDateTime.now().isBefore(openingTime)) { //æªå¼å§ safeTraining.setState(0); } else if (LocalDateTime.now().isAfter(endTime)) { //å·²ç»æ safeTraining.setState(2); } else { //è¿è¡ä¸ safeTraining.setState(1); } safeTrainingMapper.updateById(safeTraining); } } } //å·²è¯»æ°æ®åä¸ä¸ªå®æ¶ä»»å¡(æ¯æ1å·1ç¹æ¸ ç䏿¬¡ä¸ä¸ªæå·²è¯»æ°æ®) @Scheduled(cron = "0 0 1 1 * ?") public void cleanReadData() { noticeMapper.delete(Wrappers.<SysNotice>lambdaQuery() .eq(SysNotice::getStatus,"1") .lt(SysNotice::getCreateTime, LocalDateTime.now())); } } src/main/java/com/ruoyi/project/system/mapper/SysDeptMapper.java
@@ -1,19 +1,22 @@ package com.ruoyi.project.system.mapper; import java.util.List; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import com.ruoyi.project.system.domain.SysDept; /** * é¨é¨ç®¡ç æ°æ®å± * * * @author ruoyi */ @Mapper public interface SysDeptMapper { /** * æ¥è¯¢é¨é¨ç®¡çæ°æ® * * * @param dept é¨é¨ä¿¡æ¯ * @return é¨é¨ä¿¡æ¯éå */ @@ -21,7 +24,7 @@ /** * æ ¹æ®è§è²IDæ¥è¯¢é¨é¨æ ä¿¡æ¯ * * * @param roleId è§è²ID * @param deptCheckStrictly é¨é¨æ 鿩项æ¯å¦å ³èæ¾ç¤º * @return éä¸é¨é¨å表 @@ -30,7 +33,7 @@ /** * æ ¹æ®é¨é¨IDæ¥è¯¢ä¿¡æ¯ * * * @param deptId é¨é¨ID * @return é¨é¨ä¿¡æ¯ */ @@ -38,7 +41,7 @@ /** * æ ¹æ®IDæ¥è¯¢ææåé¨é¨ * * * @param deptId é¨é¨ID * @return é¨é¨å表 */ @@ -46,7 +49,7 @@ /** * æ ¹æ®IDæ¥è¯¢ææåé¨é¨ï¼æ£å¸¸ç¶æï¼ * * * @param deptId é¨é¨ID * @return åé¨é¨æ° */ @@ -54,7 +57,7 @@ /** * æ¯å¦åå¨åèç¹ * * * @param deptId é¨é¨ID * @return ç»æ */ @@ -62,7 +65,7 @@ /** * æ¥è¯¢é¨é¨æ¯å¦åå¨ç¨æ· * * * @param deptId é¨é¨ID * @return ç»æ */ @@ -70,7 +73,7 @@ /** * æ ¡éªé¨é¨åç§°æ¯å¦å¯ä¸ * * * @param deptName é¨é¨åç§° * @param parentId ç¶é¨é¨ID * @return ç»æ @@ -79,7 +82,7 @@ /** * æ°å¢é¨é¨ä¿¡æ¯ * * * @param dept é¨é¨ä¿¡æ¯ * @return ç»æ */ @@ -87,7 +90,7 @@ /** * ä¿®æ¹é¨é¨ä¿¡æ¯ * * * @param dept é¨é¨ä¿¡æ¯ * @return ç»æ */ @@ -95,14 +98,14 @@ /** * ä¿®æ¹æå¨é¨é¨æ£å¸¸ç¶æ * * * @param deptIds é¨é¨IDç» */ public void updateDeptStatusNormal(Long[] deptIds); /** * ä¿®æ¹åå ç´ å ³ç³» * * * @param depts åå ç´ * @return ç»æ */ @@ -110,7 +113,7 @@ /** * å é¤é¨é¨ç®¡çä¿¡æ¯ * * * @param deptId é¨é¨ID * @return ç»æ */ src/main/java/com/ruoyi/project/system/service/impl/SysNoticeServiceImpl.java
@@ -1,5 +1,6 @@ package com.ruoyi.project.system.service.impl; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -22,6 +23,7 @@ import com.ruoyi.project.system.mapper.SysUserMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Service; import com.ruoyi.project.system.domain.SysNotice; import com.ruoyi.project.system.mapper.SysNoticeMapper; @@ -210,4 +212,5 @@ sysNotice.setTenantId(tenantId); return sysNotice; } } src/main/java/com/ruoyi/safe/service/impl/SafeTrainingServiceImpl.java
@@ -10,6 +10,7 @@ import com.ruoyi.common.utils.HackLoopTableRenderPolicy; import com.ruoyi.production.pojo.ProductOrder; import com.ruoyi.production.pojo.ProductWorkOrder; import com.ruoyi.project.system.domain.SysNotice; import com.ruoyi.safe.dto.SafeTrainingDetailsDto; import com.ruoyi.safe.dto.SafeTrainingDto; import com.ruoyi.safe.mapper.SafeTrainingDetailsMapper; @@ -21,15 +22,20 @@ import com.ruoyi.safe.service.SafeTrainingService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Service; import javax.servlet.http.HttpServletResponse; import java.io.InputStream; import java.io.OutputStream; import java.net.URLEncoder; import java.text.ParseException; import java.text.SimpleDateFormat; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.ZoneId; import java.time.format.DateTimeFormatter; import java.util.Date; import java.util.HashMap; import java.util.List; @@ -106,12 +112,12 @@ @Override public SafeTrainingDto getSafeTraining(Long id) { //ä¸»è¡¨æ°æ® SafeTrainingDto safeTrainingDto=safeTrainingMapper.getSafeTraining(id); SafeTrainingDto safeTrainingDto = safeTrainingMapper.getSafeTraining(id); //éä»¶ List<SafeTrainingFile> safeTrainingFiles = safeTrainingFileMapper.selectList(Wrappers.<SafeTrainingFile>lambdaQuery().eq(SafeTrainingFile::getSafeTrainingId, id)); safeTrainingDto.setSafeTrainingFileList(safeTrainingFiles); //å¹è®è®°å½è¯¦æ List<SafeTrainingDetailsDto> safeTrainingDetailsDto=safeTrainingDetailsMapper.getSafeTraining(id); List<SafeTrainingDetailsDto> safeTrainingDetailsDto = safeTrainingDetailsMapper.getSafeTraining(id); safeTrainingDto.setSafeTrainingDetailsDtoList(safeTrainingDetailsDto); return safeTrainingDto; } @@ -132,16 +138,16 @@ //å é¤ä¸»è¡¨ safeTrainingMapper.deleteBatchIds(ids); //å é¤éä»¶ safeTrainingFileMapper.delete(Wrappers.<SafeTrainingFile>lambdaQuery().in(SafeTrainingFile::getSafeTrainingId,ids)); safeTrainingFileMapper.delete(Wrappers.<SafeTrainingFile>lambdaQuery().in(SafeTrainingFile::getSafeTrainingId, ids)); //å é¤å¹è®è®°å½ safeTrainingDetailsMapper.delete(Wrappers.<SafeTrainingDetails>lambdaQuery().in(SafeTrainingDetails::getSafeTrainingId,ids)); safeTrainingDetailsMapper.delete(Wrappers.<SafeTrainingDetails>lambdaQuery().in(SafeTrainingDetails::getSafeTrainingId, ids)); return 0; } @Override public void export(HttpServletResponse response, Long id) { SafeTrainingDto safeTrainingDto = safeTrainingMapper.getSafeTraining(id); List<SafeTrainingDetailsDto> safeTrainingDetailsDtoList=safeTrainingDetailsMapper.getSafeTraining(id); List<SafeTrainingDetailsDto> safeTrainingDetailsDtoList = safeTrainingDetailsMapper.getSafeTraining(id); InputStream inputStream = this.getClass().getResourceAsStream("/static/safe-training.docx"); Configure configure = Configure.builder() .bind("safeTrainingDetailsDtoList", new HackLoopTableRenderPolicy()) @@ -155,7 +161,7 @@ try { response.setContentType("application/msword"); String fileName = URLEncoder.encode( safeTrainingDto.getCourseCode()+"å¹è®ä¸èæ ¸è®¡å", "UTF-8"); safeTrainingDto.getCourseCode() + "å¹è®ä¸èæ ¸è®¡å", "UTF-8"); response.setHeader("Access-Control-Expose-Headers", "Content-Disposition"); response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".docx");