¶Ô±ÈÐÂÎļþ |
| | |
| | | package org.jeecg.modules.eam.job; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.shiro.SecurityUtils; |
| | | import org.jeecg.common.api.dto.message.MessageDTO; |
| | | import org.jeecg.common.system.api.ISysBaseAPI; |
| | | import org.jeecg.common.system.vo.LoginUser; |
| | | import org.jeecg.common.util.DateUtils; |
| | | import org.jeecg.modules.eam.entity.*; |
| | | import org.jeecg.modules.eam.service.*; |
| | | import org.jeecg.modules.system.entity.*; |
| | | import org.jeecg.modules.system.service.*; |
| | | import org.quartz.Job; |
| | | import org.quartz.JobExecutionContext; |
| | | import org.quartz.JobExecutionException; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.format.annotation.DateTimeFormat; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.text.SimpleDateFormat; |
| | | import java.time.DayOfWeek; |
| | | import java.time.LocalDate; |
| | | import java.time.LocalDateTime; |
| | | import java.time.ZoneId; |
| | | import java.util.Calendar; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * ä¸çº§ä¿å
»å·¥å å°ææªæ§è¡ ææ¯ç¶æä¿®æ¹ä¸º ç¦ç¨ï¼ç¶æé´å®æªææå®æï¼ |
| | | */ |
| | | @Slf4j |
| | | public class ThirdMaintenanceOrderOverdueJob implements Job { |
| | | |
| | | @Autowired |
| | | private IDailyMaintenanceOrderService dailyMaintenanceOrderService; |
| | | |
| | | @Autowired |
| | | private IEamEquipmentService equipmentService; |
| | | @Autowired |
| | | private IMaintenanceCycleService maintenanceCycleService; |
| | | |
| | | @Autowired |
| | | private ISysBaseAPI sysBaseApi; |
| | | |
| | | @Resource |
| | | private ISysRoleService sysRoleService; |
| | | @Resource |
| | | private ISysDictService sysDictService; |
| | | @Resource |
| | | private ISysDictItemService sysDictItemService; |
| | | @Resource |
| | | private ISysUserRoleService sysUserRoleService; |
| | | @Resource |
| | | private ISysUserService sysUserService; |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = { Exception.class }) |
| | | public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { |
| | | |
| | | LocalDateTime currentDateTime = LocalDateTime.now(); |
| | | Date result = Date.from(currentDateTime.atZone(ZoneId.systemDefault()).toInstant()); |
| | | List<DailyMaintenanceOrder> maintenanceOrders = dailyMaintenanceOrderService.list(new QueryWrapper<DailyMaintenanceOrder>().lt("plan_start_time", result).eq("status",1).eq("del_flag",0)); |
| | | for (DailyMaintenanceOrder dailyMaintenanceOrder : maintenanceOrders) { |
| | | String maintenanceCycleId = dailyMaintenanceOrder.getMaintenanceCycleId(); |
| | | MaintenanceCycle maintenanceCycle = maintenanceCycleService.getById(maintenanceCycleId); |
| | | String maintenanceType = maintenanceCycle.getMaintenanceType(); |
| | | if("3".equals(maintenanceType)){ |
| | | String equipmentId = dailyMaintenanceOrder.getEquipmentId(); |
| | | |
| | | Equipment equipment = equipmentService.getById(equipmentId); |
| | | equipment.setTechnologyStatus("disableNoExe"); |
| | | equipmentService.updateById(equipment); |
| | | this.equipmentTechnologyStatuAlart(equipment.getNum(),equipment.getTechnologyStatus()); |
| | | } |
| | | } |
| | | } |
| | | |
| | | void equipmentTechnologyStatuAlart(String equipmentNum,String technologyStatus){ |
| | | |
| | | SysDict sysDictT = sysDictService.getOne(new QueryWrapper<SysDict>().eq("dict_code","technology_status"),false); |
| | | SysDictItem sysDictItemt = sysDictItemService.getOne(new QueryWrapper<SysDictItem>().eq("item_value",technologyStatus) |
| | | .eq("dict_id",sysDictT.getId()),false); |
| | | |
| | | SysDict sysDict = sysDictService.getOne(new QueryWrapper<SysDict>().eq("dict_code","info_type"),false); |
| | | SysDictItem sysDictItem = sysDictItemService.getOne(new QueryWrapper<SysDictItem>().eq("item_text","è¿ä¿è®¾å¤ç®¡çå") |
| | | .eq("dict_id",sysDict.getId()),false); |
| | | String roleCode = sysDictItem.getItemValue(); |
| | | SysRole sysRole = sysRoleService.getOne(new QueryWrapper<SysRole>().eq("role_code",roleCode),false); |
| | | List<SysUserRole> sysUserRoles = sysUserRoleService.list(new QueryWrapper<SysUserRole>().eq("role_id",sysRole.getId())); |
| | | for(SysUserRole sysUserRole:sysUserRoles){ |
| | | SysUser user = sysUserService.getById(sysUserRole.getUserId()); |
| | | String msg = "ç»ä¸ç¼å·ä¸ºã"+equipmentNum+"ãçä¸çº§ä¿å
»å·¥åæªæ§è¡ï¼ç³»ç»èªå¨å°è¯¥è®¾å¤ææ¯ç¶ææ¹ä¸ºã"+sysDictItemt.getItemText()+"ãï¼è¯·ç¥æï¼ï¼ï¼"; |
| | | MessageDTO messageDTO = new MessageDTO(); |
| | | messageDTO.setTitle("设å¤å°è´¦ææ¯ç¶æä¿®æ¹"); |
| | | messageDTO.setContent(msg); |
| | | messageDTO.setCategory("è¿ä¿è®¾å¤ç®¡çå"); |
| | | messageDTO.setFromUser("设å¤å°è´¦ææ¯ç¶æä¿®æ¹æéå°å©æ"); |
| | | messageDTO.setToUser(user.getUsername()); |
| | | sysBaseApi.sendSysAnnouncement(messageDTO); |
| | | } |
| | | } |
| | | } |