“linengliang”
2023-09-19 8aa74635a762bbb5a49253b055eb69db5ebaab2d
预测性维护方案生成工单bug修改
已添加2个文件
已修改5个文件
116 ■■■■ 文件已修改
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/PredictiveWorkPlanParameterJob.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/PredictiveWorkPlanWarnJob.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/PredictiveWorkPlanParameterMapper.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/PredictiveWorkPlanParameterMapper.xml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/PredictiveWorkPlanSparePartMapper.xml 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/PredictiveWorkPlanParameterServiceImpl.java 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/PredictiveWorkPlanSparePartServiceImpl.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/PredictiveWorkPlanParameterJob.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,33 @@
package org.jeecg.modules.eam.job;
import lombok.extern.slf4j.Slf4j;
import org.jeecg.common.util.DateUtils;
import org.jeecg.modules.eam.service.IPredictiveWorkPlanParameterService;
import org.jeecg.modules.eam.service.IPredictiveWorkPlanSparePartService;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import javax.annotation.Resource;
/**
 * å¤‡ä»¶å¯¿å‘½æ£€æŸ¥ï¼Œç”Ÿæˆé¢„测工单
 */
@Slf4j
public class PredictiveWorkPlanParameterJob implements Job {
    @Resource
    private IPredictiveWorkPlanParameterService predictiveWorkPlanParameterService;
    @Override
    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
        log.info("参数检查,生成预测工单任务 PredictiveWorkPlanParameterJob start!  æ—¶é—´:" + DateUtils.now());
        try {
            predictiveWorkPlanParameterService.createParameterWorkPlan();
            log.info("参数检查,生成预测工单任务 PredictiveWorkPlanParameterJob æ‰§è¡ŒæˆåŠŸ!");
        } catch (Exception e) {
            log.error("参数检查,生成预测工单任务 PredictiveWorkPlanParameterJob æ‰§è¡Œå¤±è´¥!");
            log.error(e.getMessage(), e);
        }
    }
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/PredictiveWorkPlanWarnJob.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,33 @@
package org.jeecg.modules.eam.job;
import lombok.extern.slf4j.Slf4j;
import org.jeecg.common.util.DateUtils;
import org.jeecg.modules.eam.service.IPredictiveWorkPlanSparePartService;
import org.jeecg.modules.eam.service.IPredictiveWorkPlanWarnService;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import javax.annotation.Resource;
/**
 * å¤‡ä»¶å¯¿å‘½æ£€æŸ¥ï¼Œç”Ÿæˆé¢„测工单
 */
@Slf4j
public class PredictiveWorkPlanWarnJob implements Job {
    @Resource
    private IPredictiveWorkPlanWarnService predictiveWorkPlanWarnService;
    @Override
    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
        log.info("报警检查,生成预测工单任务 PredictiveWorkPlanWarnJob start!  æ—¶é—´:" + DateUtils.now());
        try {
            predictiveWorkPlanWarnService.createWarnWorkPlan();
            log.info("报警检查,生成预测工单任务 PredictiveWorkPlanWarnJob æ‰§è¡ŒæˆåŠŸ!");
        } catch (Exception e) {
            log.error("报警检查,生成预测工单任务 PredictiveWorkPlanWarnJob æ‰§è¡Œå¤±è´¥!");
            log.error(e.getMessage(), e);
        }
    }
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/PredictiveWorkPlanParameterMapper.java
@@ -1,8 +1,10 @@
package org.jeecg.modules.eam.mapper;
import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.jeecg.modules.eam.entity.PredictiveWorkPlanParameter;
import org.jeecg.modules.eam.model.ParameterVo;
@@ -18,6 +20,12 @@
    public List<PredictiveWorkPlanParameter> listParameter(@Param("predictiveWorkPlanId") String predictiveWorkPlanId);
    public ParameterVo findParameterInfo(@Param("saveTableName") String saveTableName, @Param("lowerLimitValue") float lowerLimitValue,
                                         @Param("upperLimitValue") float upperLimitValue, @Param("parameterCode") String parameterCode);
    @Select("<script> ${sql} </script>")
    @InterceptorIgnore(tenantLine = "1")
    ParameterVo findCommonParameterInfo(@Param("sql") String sql);
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/PredictiveWorkPlanParameterMapper.xml
@@ -56,8 +56,8 @@
        FROM
            mom_eam_predictive_work_plan_parameter t1
        WHERE t1.del_flag = 0
        <if test="params.planId != null and params.planId != ''">
            and t1.work_plan_id = #{params.planId}
        <if test="predictiveWorkPlanId != null and predictiveWorkPlanId != ''">
            and t1.work_plan_id = #{predictiveWorkPlanId}
        </if>
        ORDER BY t1.create_time desc
    </select>
@@ -67,10 +67,10 @@
            t1.CollectTime collectTime,
            t1.${parameterCode} actualValue
        FROM
            [${saveTableName}] t1
            ${saveTableName} t1
        WHERE
            t1.${parameterCode} <![CDATA[ < ]]>  #{lowerLimitValue}
            OR t1.${parameterCode} > #{upperLimitValue}
           OR t1.${parameterCode} > #{upperLimitValue}
        ORDER BY
            t1.CollectTime DESC
    </select>
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/PredictiveWorkPlanSparePartMapper.xml
@@ -71,8 +71,7 @@
            t1.start_long startLong,
            t1.end_time endTime,
            t1.end_long endLong
--             çŠ¶æ€,0:关机,1:开机,2:待机,3:工作,22:报警
        from mdc_equipment_running_section t1  where t1.status IN (1,2,3,22) t1.equipment_id = #{mdcEquipmentId} order by start_time desc
        from mdc_equipment_running_section t1  where t1.status IN (1,2,3,22) AND t1.equipment_id = #{mdcEquipmentId} order by start_time desc
    </select>
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/PredictiveWorkPlanParameterServiceImpl.java
@@ -80,8 +80,8 @@
            if (needCreateFlag) {
                //生成工单 ,将参数信息备份
                PredictiveWorkOrder predictiveWorkOrder = this.createOrder(predictiveWorkPlan.getId(), predictiveWorkPlan.getEquipmentId());
                if(predictiveWorkOrder != null){
                    this.backInfo(predictiveWorkPlan.getId(), predictiveWorkOrder.getId(),predictiveWorkPlanParameterList);
                if (predictiveWorkOrder != null) {
                    this.backInfo(predictiveWorkPlan.getId(), predictiveWorkOrder.getId(), predictiveWorkPlanParameterList);
                }
            }
@@ -91,16 +91,16 @@
    @Override
    public void removeByWorkPlanId(String predictiveWorkPlanId) {
        LambdaUpdateChainWrapper<PredictiveWorkPlanParameter> lambdaUpdate = this.lambdaUpdate();
        lambdaUpdate.eq(PredictiveWorkPlanParameter::getWorkPlanId,predictiveWorkPlanId);
        lambdaUpdate.eq(PredictiveWorkPlanParameter::getWorkPlanId, predictiveWorkPlanId);
        lambdaUpdate.remove();
    }
    @Override
    public void revise(String oldWorkPlanId, String workPlanId) {
        LambdaQueryChainWrapper<PredictiveWorkPlanParameter> lambdaQuery = this.lambdaQuery();
        lambdaQuery.eq(PredictiveWorkPlanParameter::getWorkPlanId,oldWorkPlanId).eq(PredictiveWorkPlanParameter::getDelFlag,0);
        lambdaQuery.eq(PredictiveWorkPlanParameter::getWorkPlanId, oldWorkPlanId).eq(PredictiveWorkPlanParameter::getDelFlag, 0);
        List<PredictiveWorkPlanParameter> insertList = lambdaQuery.list();
        for(PredictiveWorkPlanParameter predictiveWorkPlanParameter:insertList){
        for (PredictiveWorkPlanParameter predictiveWorkPlanParameter : insertList) {
            predictiveWorkPlanParameter.setWorkPlanId(workPlanId);
            predictiveWorkPlanParameter.setId(UUIDGenerator.generate());
        }
@@ -116,7 +116,7 @@
        return predictiveWorkOrder;
    }
    private void backInfo(String workPlanId,String workOrderId, List<PredictiveWorkPlanParameter> predictiveWorkPlanParameterList) {
    private void backInfo(String workPlanId, String workOrderId, List<PredictiveWorkPlanParameter> predictiveWorkPlanParameterList) {
        List<PredictiveWorkPlanParameterHistory> list = new ArrayList<>();
        for (PredictiveWorkPlanParameter predictiveWorkPlanParameter : predictiveWorkPlanParameterList) {
            PredictiveWorkPlanParameterHistory predictiveWorkPlanParameterHistory = new PredictiveWorkPlanParameterHistory();
@@ -150,7 +150,21 @@
    }
    private ParameterVo findParameterInfo(String saveTableName, float lowerLimitValue, float upperLimitValue, String parameterCode) {
        return this.getBaseMapper().findParameterInfo(saveTableName, lowerLimitValue, upperLimitValue, parameterCode);
//        String temp = "[" + saveTableName + "]";
//        return this.getBaseMapper().findParameterInfo(temp, lowerLimitValue, upperLimitValue, parameterCode);
        Integer lowerLimitValueInt = (int) lowerLimitValue;
        Integer upperLimitValueInt = (int)upperLimitValue;
        String sql = "SELECT TOP 1 " +
                "            t1.CollectTime collectTime, " +
                "            t1." + parameterCode + " actualValue " +
                "        FROM " +
                "            [" + saveTableName + "] t1 " +
                "        WHERE " +
                "            t1." + parameterCode + " <  " + lowerLimitValueInt +
                "           OR t1." + parameterCode + " > " + upperLimitValueInt +
                "        ORDER BY " +
                "            t1.CollectTime DESC";
        return this.getBaseMapper().findCommonParameterInfo(sql);
    }
    private List<PredictiveWorkPlanParameter> listParameter(String predictiveWorkPlanId) {
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/PredictiveWorkPlanSparePartServiceImpl.java
@@ -40,7 +40,7 @@
    //    3.判断实际寿命是否大于控制寿命,并生成维护工单
    @Override
    public void createSparePartWorkPlan() {
        List<PredictiveWorkPlan> predictiveWorkPlanList = predictiveWorkPlanService.listWorkPlan("bjkz");
        List<PredictiveWorkPlan> predictiveWorkPlanList = predictiveWorkPlanService.listWorkPlan("smkz");
        for (PredictiveWorkPlan predictiveWorkPlan : predictiveWorkPlanList) {
            List<PredictiveWorkPlanSparePart> predictiveWorkPlanSparePartList = listPredictiveWorkPlanSparePart(predictiveWorkPlan.getId());
            for (PredictiveWorkPlanSparePart predictiveWorkPlanSparePart : predictiveWorkPlanSparePartList) {
@@ -86,6 +86,7 @@
        if (list == null || list.size() == 0) {
            PredictiveWorkOrder predictiveWorkOrder = new PredictiveWorkOrder();
            predictiveWorkOrder.setItemId(itemId);
            predictiveWorkOrder.setStatus("1");
            predictiveWorkOrder.setEquipmentId(equipmentId);
            predictiveWorkOrder.setWorkPlanId(workPlanId);
            predictiveWorkOrderService.add(predictiveWorkOrder);