鞍钢鲅鱼圈能源管控系统后端代码
潘志宝
2025-04-12 dc9d782ed894e97a2470bf2c6e301c1ac88ea28e
Merge branch 'master' of http://dlindusit.com:53929/r/ansteel
已修改7个文件
已添加6个文件
349 ■■■■■ 文件已修改
ansteel-biz/src/main/java/com/iailab/module/ansteel/api/dao/CokingProcessConfDao.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ansteel-biz/src/main/java/com/iailab/module/ansteel/api/entity/CokingProcessChildEntity.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ansteel-biz/src/main/java/com/iailab/module/ansteel/api/entity/CokingProcessConfEntity.java 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ansteel-biz/src/main/java/com/iailab/module/ansteel/api/entity/CokingProcessMainEntity.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ansteel-biz/src/main/java/com/iailab/module/ansteel/api/entity/CokingProdDayEntity.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ansteel-biz/src/main/java/com/iailab/module/ansteel/api/service/CokingProcessConfService.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ansteel-biz/src/main/java/com/iailab/module/ansteel/api/service/CokingProcessMainService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ansteel-biz/src/main/java/com/iailab/module/ansteel/api/service/CokingProdDayService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ansteel-biz/src/main/java/com/iailab/module/ansteel/api/service/impl/CokingProcessConfServiceImpl.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ansteel-biz/src/main/java/com/iailab/module/ansteel/api/service/impl/CokingProcessMainServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ansteel-biz/src/main/java/com/iailab/module/ansteel/api/service/impl/CokingProdDayServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingMainDayTask.java 87 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingProdDayTask.java 93 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ansteel-biz/src/main/java/com/iailab/module/ansteel/api/dao/CokingProcessConfDao.java
对比新文件
@@ -0,0 +1,15 @@
package com.iailab.module.ansteel.api.dao;
import com.iailab.framework.common.dao.BaseDao;
import com.iailab.module.ansteel.api.entity.CokingProcessConfEntity;
import org.apache.ibatis.annotations.Mapper;
/**
 * 焦化工序工序指标配置 Mapper
 *
 * @author iailab
 */
@Mapper
public interface CokingProcessConfDao extends BaseDao<CokingProcessConfEntity> {
}
ansteel-biz/src/main/java/com/iailab/module/ansteel/api/entity/CokingProcessChildEntity.java
@@ -1,5 +1,6 @@
package com.iailab.module.ansteel.api.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@@ -16,7 +17,7 @@
public class CokingProcessChildEntity implements Serializable {
    private static final long serialVersionUID = 1L;
    @TableId
    @TableId(type = IdType.ASSIGN_UUID)
    private String id;
    private String category;
ansteel-biz/src/main/java/com/iailab/module/ansteel/api/entity/CokingProcessConfEntity.java
对比新文件
@@ -0,0 +1,75 @@
package com.iailab.module.ansteel.api.entity;
import lombok.*;
import java.io.Serializable;
import com.baomidou.mybatisplus.annotation.*;
/**
 * 焦化工序工序指标配置 DO
 *
 * @author iailab
 */
@TableName("t_coking_process_conf")
@Data
public class CokingProcessConfEntity  implements Serializable {
    /**
     * id
     */
    @TableId(type = IdType.INPUT)
    private String id;
    /**
     * 信息类型(0:生产情况,1:能源发生,2:能源消耗)
     */
    private String infoType;
    /**
     * 指标类型(prod_day,main,child)
     */
    private String indType;
    /**
     * 测点编码
     */
    private String pointNo;
    /**
     * 指标编码
     */
    private String indCode;
    /**
     * 指标名称
     */
    private String indName;
    /**
     * 指标单位
     */
    private String indUnit;
    /**
     * 备注
     */
    private String remark;
    /**
     * 拓展字段1
     */
    private String ext1;
    /**
     * 拓展字段2
     */
    private String ext2;
    /**
     * 拓展字段3
     */
    private String ext3;
    /**
     * 拓展字段4
     */
    private String ext4;
    /**
     * 拓展字段5
     */
    private String ext5;
    /**
     * 排序
     */
    private Integer sort;
}
ansteel-biz/src/main/java/com/iailab/module/ansteel/api/entity/CokingProcessMainEntity.java
@@ -1,5 +1,6 @@
package com.iailab.module.ansteel.api.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@@ -16,7 +17,7 @@
public class CokingProcessMainEntity implements Serializable {
    private static final long serialVersionUID = 1L;
    @TableId
    @TableId(type = IdType.ASSIGN_UUID)
    private String id;
    private String category;
ansteel-biz/src/main/java/com/iailab/module/ansteel/api/entity/CokingProdDayEntity.java
@@ -1,5 +1,6 @@
package com.iailab.module.ansteel.api.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@@ -16,7 +17,7 @@
public class CokingProdDayEntity implements Serializable {
    private static final long serialVersionUID = 1L;
    @TableId
    @TableId(type = IdType.ASSIGN_UUID)
    private String id;
    private String clock;
ansteel-biz/src/main/java/com/iailab/module/ansteel/api/service/CokingProcessConfService.java
对比新文件
@@ -0,0 +1,22 @@
package com.iailab.module.ansteel.api.service;
import com.iailab.module.ansteel.api.entity.CokingProcessConfEntity;
import java.util.List;
import java.util.Map;
/**
 * 焦化工序工序指标配置 Service 接口
 *
 * @author iailab
 */
public interface CokingProcessConfService {
    /**
     * 查询配置列表
     * @param cokingProcessConfEntity
     * @return
     */
    List<CokingProcessConfEntity> list(CokingProcessConfEntity cokingProcessConfEntity);
}
ansteel-biz/src/main/java/com/iailab/module/ansteel/api/service/CokingProcessMainService.java
@@ -13,4 +13,6 @@
public interface CokingProcessMainService {
    List<CokingProcessMainEntity> list(Map<String, Object> params);
    void save(CokingProcessMainEntity cokingProcessMainEntity);
}
ansteel-biz/src/main/java/com/iailab/module/ansteel/api/service/CokingProdDayService.java
@@ -13,4 +13,6 @@
public interface CokingProdDayService {
    List<CokingProdDayEntity> list(Map<String, Object> params);
    void save(CokingProdDayEntity entity);
}
ansteel-biz/src/main/java/com/iailab/module/ansteel/api/service/impl/CokingProcessConfServiceImpl.java
对比新文件
@@ -0,0 +1,34 @@
package com.iailab.module.ansteel.api.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.iailab.module.ansteel.api.dao.CokingProcessConfDao;
import com.iailab.module.ansteel.api.entity.CokingProcessConfEntity;
import com.iailab.module.ansteel.api.entity.CokingProcessMainEntity;
import com.iailab.module.ansteel.api.service.CokingProcessConfService;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
/**
 * 焦化工序工序指标配置 Service 实现类
 *
 * @author iailab
 */
@Service
@Validated
public class CokingProcessConfServiceImpl implements CokingProcessConfService {
    @Resource
    private CokingProcessConfDao cokingProcessConfDao;
    @Override
    public List<CokingProcessConfEntity> list(CokingProcessConfEntity cokingProcessConfEntity) {
        LambdaQueryWrapper<CokingProcessConfEntity> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.eq(cokingProcessConfEntity.getIndType() != null, CokingProcessConfEntity::getIndType, cokingProcessConfEntity.getIndType());
        return cokingProcessConfDao.selectList(queryWrapper);
    }
}
ansteel-biz/src/main/java/com/iailab/module/ansteel/api/service/impl/CokingProcessMainServiceImpl.java
@@ -29,4 +29,9 @@
        queryWrapper.orderByAsc("sort");
        return cokingProcessMainDao.selectList(queryWrapper);
    }
    @Override
    public void save(CokingProcessMainEntity cokingProcessMainEntity) {
        cokingProcessMainDao.insert(cokingProcessMainEntity);
    }
}
ansteel-biz/src/main/java/com/iailab/module/ansteel/api/service/impl/CokingProdDayServiceImpl.java
@@ -29,4 +29,9 @@
        queryWrapper.orderByAsc("sort");
        return cokingProdDayDao.selectList(queryWrapper);
    }
    @Override
    public void save(CokingProdDayEntity entity) {
        cokingProdDayDao.insert(entity);
    }
}
ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingMainDayTask.java
对比新文件
@@ -0,0 +1,87 @@
package com.iailab.module.ansteel.job.task;
import com.iailab.module.ansteel.api.entity.CokingProcessConfEntity;
import com.iailab.module.ansteel.api.entity.CokingProcessMainEntity;
import com.iailab.module.ansteel.api.entity.CokingProdDayEntity;
import com.iailab.module.ansteel.api.service.CokingProcessConfService;
import com.iailab.module.ansteel.api.service.CokingProcessMainService;
import com.iailab.module.ansteel.api.service.CokingProdDayService;
import com.iailab.module.data.api.point.DataPointApi;
import org.apache.commons.lang3.ObjectUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import java.util.Map;
/**
 * @author HouZhongjian
 * @Description
 * @createTime 2025年04月12日
 */
@Component("runCokingMainDayTask")
public class RunCokingMainDayTask implements ITask {
    private Logger logger = LoggerFactory.getLogger(getClass());
    @Resource
    private CokingProcessConfService cokingProcessConfService;
    @Resource
    private CokingProcessMainService cokingProcessMainService;
    @Resource
    private DataPointApi dataPointApi;
    @Override
    public void run(String params) {
        logger.info("RunCokingMainDayTask,参数为:{}", params);
        try {
            Calendar calendar = Calendar.getInstance();
            calendar.set(Calendar.MILLISECOND, 0);
            calendar.set(Calendar.SECOND, 0);
            CokingProcessConfEntity queryParams = new CokingProcessConfEntity();
            queryParams.setIndType("main");
            List<CokingProcessConfEntity> list = cokingProcessConfService.list(queryParams);
            if (ObjectUtils.isNotEmpty(list)) {
//                List<String> points = list.stream().map(CokingProcessConfEntity::getIndCode).collect(Collectors.toList());
//                Map<String, Object> stringObjectMap = dataPointApi.queryPointsRealValue(points);
                // 获取当前日期时间
                LocalDateTime now = LocalDateTime.now();
                // 减去一天得到昨天同一时间
                LocalDateTime yesterday = now.minusDays(1);
                // 格式化输出
                DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
                String formattedDateTime = yesterday.format(formatter);
                list.stream().forEach(cokingProcessConfEntity -> {
                    List<String> points = new ArrayList<>();
                    points.add(cokingProcessConfEntity.getPointNo());
                    Map<String, Object> stringObjectMap = dataPointApi.queryPointsRealValue(points);
                    //保存数据
                    if(ObjectUtils.isNotEmpty(stringObjectMap.get(cokingProcessConfEntity.getPointNo()))) {
                        CokingProcessMainEntity cokingProcessMainEntity = new CokingProcessMainEntity();
                        cokingProcessMainEntity.setInfoType("0");
                        cokingProcessMainEntity.setSort(cokingProcessConfEntity.getSort());
                        cokingProcessMainEntity.setIndName(cokingProcessConfEntity.getIndName());
                        cokingProcessMainEntity.setClock(formattedDateTime);
                        cokingProcessMainService.save(cokingProcessMainEntity);
                    }
                });
            }
        } catch (Exception ex) {
            logger.error("RunCokingMainDayTask运行异常");
            ex.printStackTrace();
        }
        logger.info("RunCokingMainDayTask运行完成");
    }
}
ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingProdDayTask.java
对比新文件
@@ -0,0 +1,93 @@
package com.iailab.module.ansteel.job.task;
import com.iailab.module.ansteel.api.entity.CokingProcessConfEntity;
import com.iailab.module.ansteel.api.entity.CokingProdDayEntity;
import com.iailab.module.ansteel.api.service.CokingProcessConfService;
import com.iailab.module.ansteel.api.service.CokingProdDayService;
import com.iailab.module.data.api.point.DataPointApi;
import com.iailab.module.model.api.mcs.McsApi;
import com.iailab.module.model.api.mcs.dto.StScheduleSchemeDTO;
import com.iailab.module.model.api.mdk.MdkApi;
import com.iailab.module.model.api.mdk.dto.MdkScheduleReqDTO;
import com.iailab.module.model.api.mdk.dto.MdkScheduleRespDTO;
import com.iailab.module.model.enums.ScheduleTriggerMethodEnum;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.stream.Collectors;
/**
 * @author HouZhongjian
 * @Description
 * @createTime 2025年04月12日
 */
@Component("runCokingProdDayTask")
public class RunCokingProdDayTask implements ITask {
    private Logger logger = LoggerFactory.getLogger(getClass());
    @Resource
    private CokingProcessConfService cokingProcessConfService;
    @Resource
    private CokingProdDayService cokingProdDayService;
    @Resource
    private DataPointApi dataPointApi;
    @Override
    public void run(String params) {
        logger.info("RunCokingProdDayTask,参数为:{}", params);
        try {
            Calendar calendar = Calendar.getInstance();
            calendar.set(Calendar.MILLISECOND, 0);
            calendar.set(Calendar.SECOND, 0);
            CokingProcessConfEntity queryParams = new CokingProcessConfEntity();
            queryParams.setIndType("prod_day");
            List<CokingProcessConfEntity> list = cokingProcessConfService.list(queryParams);
            if (ObjectUtils.isNotEmpty(list)) {
//                List<String> points = list.stream().map(CokingProcessConfEntity::getIndCode).collect(Collectors.toList());
//                Map<String, Object> stringObjectMap = dataPointApi.queryPointsRealValue(points);
                // 获取当前日期时间
                LocalDateTime now = LocalDateTime.now();
                // 减去一天得到昨天同一时间
                LocalDateTime yesterday = now.minusDays(1);
                // 格式化输出
                DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
                String formattedDateTime = yesterday.format(formatter);
                list.stream().forEach(cokingProcessConfEntity -> {
                    List<String> points = new ArrayList<>();
                    points.add(cokingProcessConfEntity.getPointNo());
                    Map<String, Object> stringObjectMap = dataPointApi.queryPointsRealValue(points);
                    //保存数据
                    if(ObjectUtils.isNotEmpty(stringObjectMap.get(cokingProcessConfEntity.getPointNo()))) {
                        CokingProdDayEntity cokingProdDayEntity = new CokingProdDayEntity();
                        cokingProdDayEntity.setInfoType("0");
                        cokingProdDayEntity.setSort(cokingProcessConfEntity.getSort());
                        cokingProdDayEntity.setIndName(cokingProcessConfEntity.getIndName());
                        cokingProdDayEntity.setIndUnit(cokingProcessConfEntity.getIndUnit());
                        cokingProdDayEntity.setIndValue(stringObjectMap.get(cokingProcessConfEntity.getPointNo()).toString());
                        cokingProdDayEntity.setClock(formattedDateTime);
                        cokingProdDayService.save(cokingProdDayEntity);
                    }
                });
            }
        } catch (Exception ex) {
            logger.error("RunCokingProdDayTask运行异常");
            ex.printStackTrace();
        }
        logger.info("RunCokingProdDayTask运行完成");
    }
}