lyh
2025-06-30 e3a037adf3861fee78ad5478784f24e59cc598a2
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/PredictiveWorkPlanWarnServiceImpl.java
@@ -1,23 +1,18 @@
package org.jeecg.modules.eam.service.impl;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import io.swagger.annotations.ApiModelProperty;
import org.jeecg.common.constant.CommonConstant;
import org.jeecg.modules.eam.entity.PredictiveWorkOrder;
import org.jeecg.modules.eam.entity.PredictiveWorkPlan;
import org.jeecg.modules.eam.entity.PredictiveWorkPlanWarn;
import org.jeecg.modules.eam.entity.PredictiveWorkPlanWarnHistory;
import org.jeecg.common.util.UUIDGenerator;
import org.jeecg.modules.eam.entity.*;
import org.jeecg.modules.eam.mapper.PredictiveWorkPlanWarnMapper;
import org.jeecg.modules.eam.model.MdcEquipmentAlarmVo;
import org.jeecg.modules.eam.service.IPredictiveWorkOrderService;
import org.jeecg.modules.eam.service.IPredictiveWorkPlanService;
import org.jeecg.modules.eam.service.IPredictiveWorkPlanWarnHistoryService;
import org.jeecg.modules.eam.service.IPredictiveWorkPlanWarnService;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -79,19 +74,39 @@
            }
            if (needWarnFlag) {
                //判断是否生成工单 ,将报警信息备份
                boolean flag = this.createOrder(predictiveWorkPlan.getId(), predictiveWorkPlan.getEquipmentId());
                if (flag) {
                    this.backInfo(predictiveWorkPlan.getId(), insertList);
                PredictiveWorkOrder predictiveWorkOrder = this.createOrder(predictiveWorkPlan.getId(), predictiveWorkPlan.getEquipmentId());
                if (predictiveWorkOrder != null) {
                    this.backInfo(predictiveWorkPlan.getId(), predictiveWorkOrder.getId(),insertList);
                }
            }
        }
    }
    private void backInfo(String workPlanId, List<MdcEquipmentAlarmVo> predictiveWorkPlanWarnList) {
    @Override
    public void removeByWorkPlanId(String predictiveWorkPlanId) {
        LambdaUpdateChainWrapper<PredictiveWorkPlanWarn> lambdaUpdate = this.lambdaUpdate();
        lambdaUpdate.eq(PredictiveWorkPlanWarn::getWorkPlanId, predictiveWorkPlanId);
        lambdaUpdate.remove();
    }
    @Override
    public void revise(String oldWorkPlanId, String workPlanId) {
        LambdaQueryChainWrapper<PredictiveWorkPlanWarn> lambdaQuery = this.lambdaQuery();
        lambdaQuery.eq(PredictiveWorkPlanWarn::getWorkPlanId,oldWorkPlanId).eq(PredictiveWorkPlanWarn::getDelFlag,0);
        List<PredictiveWorkPlanWarn> insertList = lambdaQuery.list();
        for(PredictiveWorkPlanWarn predictiveWorkPlanWarn:insertList){
            predictiveWorkPlanWarn.setWorkPlanId(workPlanId);
            predictiveWorkPlanWarn.setId(UUIDGenerator.generate());
        }
        this.saveBatch(insertList);
    }
    private void backInfo(String workPlanId, String workOrderId,List<MdcEquipmentAlarmVo> predictiveWorkPlanWarnList) {
        List<PredictiveWorkPlanWarnHistory> list = new ArrayList<>();
        for (MdcEquipmentAlarmVo mdcEquipmentAlarmVo : predictiveWorkPlanWarnList) {
            PredictiveWorkPlanWarnHistory predictiveWorkPlanWarnHistory = new PredictiveWorkPlanWarnHistory();
            predictiveWorkPlanWarnHistory.setWorkPlanId(workPlanId);
            predictiveWorkPlanWarnHistory.setWorkOrderId(workOrderId);
            predictiveWorkPlanWarnHistory.setWarnId(mdcEquipmentAlarmVo.getAlarmNo());
            predictiveWorkPlanWarnHistory.setWarnCode(mdcEquipmentAlarmVo.getAlarmNo());
            predictiveWorkPlanWarnHistory.setWarnName(mdcEquipmentAlarmVo.getAlarmContent());
@@ -101,7 +116,7 @@
        predictiveWorkPlanWarnHistoryService.saveBatch(list);
    }
    private boolean createOrder(String workPlanId, String equipmentId) {
    private PredictiveWorkOrder createOrder(String workPlanId, String equipmentId) {
        LambdaQueryChainWrapper<PredictiveWorkOrder> lambdaQuery = predictiveWorkOrderService.lambdaQuery();
        lambdaQuery.eq(PredictiveWorkOrder::getWorkPlanId, workPlanId).eq(PredictiveWorkOrder::getEquipmentId, equipmentId);
        //已创建 0     已下发   1    未开始   2    执行中   3
@@ -113,9 +128,9 @@
            predictiveWorkOrder.setEquipmentId(equipmentId);
            predictiveWorkOrder.setWorkPlanId(workPlanId);
            predictiveWorkOrderService.add(predictiveWorkOrder);
            return true;
            return predictiveWorkOrder;
        }
        return false;
        return null;
    }
    //单位统一换算为秒