“linengliang”
2023-10-25 250e77fd3faf2e503870cc21f6a6c97f003e5dd7
数据权限
已添加1个文件
已修改4个文件
117 ■■■■■ 文件已修改
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/RepairOrder.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/RepairOrderWarning.java 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/RepairOrderMapper.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/RepairOrderMapper.xml 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/RepairOrderServiceImpl.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/RepairOrder.java
@@ -284,6 +284,8 @@
    private String factoryModelId;
    @TableField(exist = false)
    private String equipmentCategoryId;
    @TableField(exist = false)
    private String userId;
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/RepairOrderWarning.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,96 @@
package org.jeecg.modules.eam.job;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import org.jeecg.common.api.dto.message.MessageDTO;
import org.jeecg.common.system.api.ISysBaseAPI;
import org.jeecg.modules.eam.entity.Equipment;
import org.jeecg.modules.eam.entity.EquipmentReportRepair;
import org.jeecg.modules.eam.service.IEamEquipmentService;
import org.jeecg.modules.eam.service.IEquipmentReportRepairService;
import org.jeecg.modules.eam.service.IPredictiveWorkPlanWarnService;
import org.jeecg.modules.system.entity.SysUser;
import org.jeecg.modules.system.service.ISysUserService;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import javax.annotation.Resource;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.Date;
import java.util.List;
/**
 * @author æŽèƒ½é“
 */
public class RepairOrderWarning implements Job {
    @Resource
    private IEquipmentReportRepairService equipmentReportRepairService;
    @Resource
    private IEamEquipmentService equipmentService;
    @Resource
    private ISysBaseAPI sysBaseAPI;
    @Resource
    private ISysUserService sysUserService;
    @Override
    public void execute(JobExecutionContext context) throws JobExecutionException {
        LocalDateTime currentDateTime = LocalDateTime.now();
        LocalDateTime dateBefore3Days = currentDateTime.minusDays(3);
        LocalDateTime dateBefore1Days = currentDateTime.minusDays(1);
        Date result3 = Date.from(dateBefore3Days.atZone(ZoneId.systemDefault()).toInstant());
        Date result1= Date.from(dateBefore1Days.atZone(ZoneId.systemDefault()).toInstant());
        List<EquipmentReportRepair> equipmentReportRepairs1 = equipmentReportRepairService.list(new QueryWrapper<EquipmentReportRepair>().lt("fault_time",result1).eq("status","1"));
        List<EquipmentReportRepair> equipmentReportRepairs3 = equipmentReportRepairService.list(new QueryWrapper<EquipmentReportRepair>().lt("fault_time",result3).eq("status","1"));
        for(EquipmentReportRepair equipmentReportRepair1:equipmentReportRepairs1){
            Equipment equipment1 = equipmentService.getById(equipmentReportRepair1.getEquipmentId());
            if(StringUtils.isNotBlank(equipment1.getSpecificEquipment())){
                String teamId = equipment1.getTeamId();
                if(StringUtils.isNotBlank(teamId)){
                    List<SysUser> sysUsers = sysUserService.list(new QueryWrapper<SysUser>()
                            .eq("team_id",teamId)
                            .eq("del_flag",0));
                    for(SysUser user:sysUsers){
                        String msg = "统一编号为【"+equipment1.getNum()+"】的设备已经超过一天未维修,请移步至故障报修查看";
                        MessageDTO messageDTO = new MessageDTO();
                        messageDTO.setTitle("故障报修提醒");
                        messageDTO.setContent(msg);
                        messageDTO.setCategory("故障报修提醒");
                        messageDTO.setFromUser("故障报修提醒小助手");
                        messageDTO.setToUser(user.getUsername());
                        sysBaseAPI.sendSysAnnouncement(messageDTO);
                    }
                }
            }
        }
        for(EquipmentReportRepair equipmentReportRepair3:equipmentReportRepairs3){
            Equipment equipment3 = equipmentService.getById(equipmentReportRepair3.getEquipmentId());
            if(StringUtils.isNotBlank(equipment3.getSpecificEquipment())){
                String teamId = equipment3.getTeamId();
                if(StringUtils.isNotBlank(teamId)){
                    List<SysUser> sysUsers = sysUserService.list(new QueryWrapper<SysUser>()
                            .eq("team_id",teamId)
                            .eq("del_flag",0));
                    for(SysUser user:sysUsers){
                        String msg = "统一编号为【"+equipment3.getNum()+"】的设备已经超过三天未维修,请移步至故障报修查看";
                        MessageDTO messageDTO = new MessageDTO();
                        messageDTO.setTitle("故障报修提醒");
                        messageDTO.setContent(msg);
                        messageDTO.setCategory("故障报修提醒");
                        messageDTO.setFromUser("故障报修提醒小助手");
                        messageDTO.setToUser(user.getUsername());
                        sysBaseAPI.sendSysAnnouncement(messageDTO);
                    }
                }
            }
        }
    }
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/RepairOrderMapper.java
@@ -33,7 +33,8 @@
                                            @Param("repairOrderType") Integer repairOrderType,
                                         @Param("equipmentCategoryId")   String equipmentCategoryId,
                                         @Param("factoryModelId")    String  factoryModelId,
                                         @Param("specificEquipment")     String     specificEquipment
                                         @Param("specificEquipment")     String     specificEquipment,
                                         @Param("teamId")   String teamId
    );
    IPage<Map<String, Object>> getUserTeam(IPage<Map> pageData, @Param("realname") String realname);
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/RepairOrderMapper.xml
@@ -71,6 +71,9 @@
        <if test="specificEquipment != null and specificEquipment != ''">
            and t2.specific_equipment = #{specificEquipment}
        </if>
        <if test="teamId != null and teamId != ''">
            and t1.team_id = #{teamId}
        </if>
        and t1.repair_order_type = #{repairOrderType}
        order by t1.create_time desc
    </select>
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/RepairOrderServiceImpl.java
@@ -1,6 +1,7 @@
package org.jeecg.modules.eam.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.jeecg.modules.eam.entity.RepairOrder;
@@ -8,6 +9,8 @@
import org.jeecg.modules.eam.mapper.*;
import org.jeecg.modules.eam.service.IRepairOrderDetailService;
import org.jeecg.modules.eam.service.IRepairOrderService;
import org.jeecg.modules.system.entity.SysUser;
import org.jeecg.modules.system.mapper.SysUserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -42,6 +45,8 @@
    private RepairOrderActualWorkHoursMapper repairOrderActualWorkHoursMapper;
    @Autowired
    private EquipmentDocumentMapper equipmentDocumentMapper;
    @Autowired
    private SysUserMapper sysUserMapper;
@@ -75,8 +80,14 @@
    @Override
    public Page<RepairOrder> getRepairOrderList(Page<RepairOrder> page, RepairOrder repairOrder) {
        if(StringUtils.isNotBlank(repairOrder.getUserId())){
            SysUser sysUser = sysUserMapper.selectById(repairOrder.getUserId());
            repairOrder.setTeamId(sysUser.getTeamId());
        }else{
            repairOrder.setTeamId("");
        }
        return page.setRecords(baseMapper.getRepairOrderList(page,repairOrder.getNum(),repairOrder.getEquipmentNum(),repairOrder.getEquipmentName(),repairOrder.getStatus(),repairOrder.getRepairOrderType(),repairOrder.getEquipmentCategoryId(),repairOrder.getFactoryModelId(),repairOrder.getSpecificEquipment()));
        return page.setRecords(baseMapper.getRepairOrderList(page,repairOrder.getNum(),repairOrder.getEquipmentNum(),repairOrder.getEquipmentName(),repairOrder.getStatus(),repairOrder.getRepairOrderType(),repairOrder.getEquipmentCategoryId(),repairOrder.getFactoryModelId(),repairOrder.getSpecificEquipment(),repairOrder.getTeamId()));
    }
    @Override