From cb1441d3a1fd58e4dfcde25bcba26752e6a2a8c4 Mon Sep 17 00:00:00 2001 From: liriming <1343021927@qq.com> Date: 星期一, 17 三月 2025 13:56:12 +0800 Subject: [PATCH] 发电厂机组运行情况 --- ansteel-biz/src/main/java/com/iailab/module/ansteel/mpk/dao/ProductProcessDao.java | 12 ++ ansteel-biz/src/main/java/com/iailab/module/ansteel/mpk/dao/PowerRunStateDao.java | 12 ++ ansteel-biz/src/main/java/com/iailab/module/ansteel/mpk/entity/PowerRunStateEntity.java | 60 ++++++++++++ ansteel-biz/src/main/java/com/iailab/module/ansteel/mpk/entity/ProductProcessEntity.java | 56 +++++++++++ ansteel-biz/src/main/java/com/iailab/module/ansteel/mpk/service/impl/PowerRunStateServiceImpl.java | 66 +++++++++++++ ansteel-biz/src/main/java/com/iailab/module/ansteel/mpk/service/PowerRunStateService.java | 11 ++ ansteel-biz/src/main/java/com/iailab/module/ansteel/mpk/service/impl/ProductProcessServiceImpl.java | 22 ++++ ansteel-biz/src/main/java/com/iailab/module/ansteel/mpk/controller/PowerRunStateController.java | 36 +++++++ ansteel-biz/src/main/java/com/iailab/module/ansteel/mpk/service/ProductProcessService.java | 11 ++ 9 files changed, 286 insertions(+), 0 deletions(-) diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/mpk/controller/PowerRunStateController.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/mpk/controller/PowerRunStateController.java new file mode 100644 index 0000000..88997fc --- /dev/null +++ b/ansteel-biz/src/main/java/com/iailab/module/ansteel/mpk/controller/PowerRunStateController.java @@ -0,0 +1,36 @@ +package com.iailab.module.ansteel.mpk.controller; + +import com.iailab.framework.common.pojo.CommonResult; +import com.iailab.module.ansteel.mpk.entity.PowerRunStateEntity; +import com.iailab.module.ansteel.mpk.service.PowerRunStateService; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; +import java.util.Map; + +import static com.iailab.framework.common.pojo.CommonResult.success; + +/** + * @author: lirm + * @date: 2025/03/17 + **/ +@Tag(name = "发电厂机组运行情况") +@RestController +@RequestMapping("/mpk/power-run-state") +public class PowerRunStateController { + + @Autowired + private PowerRunStateService powerRunStateService; + + @GetMapping("list") + public CommonResult<List<PowerRunStateEntity>> list(@RequestParam Map<String, Object> params) { + List<PowerRunStateEntity> list = powerRunStateService.list(); + return success(list); + } + +} \ No newline at end of file diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/mpk/dao/PowerRunStateDao.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/mpk/dao/PowerRunStateDao.java new file mode 100644 index 0000000..cc689f7 --- /dev/null +++ b/ansteel-biz/src/main/java/com/iailab/module/ansteel/mpk/dao/PowerRunStateDao.java @@ -0,0 +1,12 @@ +package com.iailab.module.ansteel.mpk.dao; + +import com.iailab.framework.common.dao.BaseDao; +import com.iailab.framework.tenant.core.db.dynamic.TenantDS; +import com.iailab.module.ansteel.mpk.entity.PowerRunStateEntity; +import org.apache.ibatis.annotations.Mapper; + +@TenantDS +@Mapper +public interface PowerRunStateDao extends BaseDao<PowerRunStateEntity> { + +} diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/mpk/dao/ProductProcessDao.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/mpk/dao/ProductProcessDao.java new file mode 100644 index 0000000..4f39475 --- /dev/null +++ b/ansteel-biz/src/main/java/com/iailab/module/ansteel/mpk/dao/ProductProcessDao.java @@ -0,0 +1,12 @@ +package com.iailab.module.ansteel.mpk.dao; + +import com.iailab.framework.common.dao.BaseDao; +import com.iailab.framework.tenant.core.db.dynamic.TenantDS; +import com.iailab.module.ansteel.mpk.entity.ProductProcessEntity; +import org.apache.ibatis.annotations.Mapper; + +@TenantDS +@Mapper +public interface ProductProcessDao extends BaseDao<ProductProcessEntity> { + +} diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/mpk/entity/PowerRunStateEntity.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/mpk/entity/PowerRunStateEntity.java new file mode 100644 index 0000000..6321ef9 --- /dev/null +++ b/ansteel-biz/src/main/java/com/iailab/module/ansteel/mpk/entity/PowerRunStateEntity.java @@ -0,0 +1,60 @@ +package com.iailab.module.ansteel.mpk.entity; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; + +/** + * @description: 发电厂机组运行情况 + * @author: lirm + * @date: 2025/03/13 + **/ +@Data +@TableName("t_power_run_state") +public class PowerRunStateEntity implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * id + */ + @TableId + private String id; + /** + * 机组名称 + */ + private String machineName; + /** + * 气耗率 + */ + private String qhRate; + /** + * 负荷率 + */ + private String fhRate; + /** + * 煤气总消耗 + */ + private String gasTotal; + /** + * 煤气可消纳量 + */ + private String gasCost; + /** + * 煤气剩余调节量 + */ + private String gasSurplus; + /** + * BFG + */ + private String bfg; + /** + * COG + */ + private String ldg; + /** + * LDG + */ + private String cog; +} \ No newline at end of file diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/mpk/entity/ProductProcessEntity.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/mpk/entity/ProductProcessEntity.java new file mode 100644 index 0000000..014234b --- /dev/null +++ b/ansteel-biz/src/main/java/com/iailab/module/ansteel/mpk/entity/ProductProcessEntity.java @@ -0,0 +1,56 @@ +package com.iailab.module.ansteel.mpk.entity; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; + +/** + * @description: 工序 + * @author: lirm + * @date: 2025/03/13 + **/ +@Data +@TableName("t_product_process") +public class ProductProcessEntity implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * id + */ + @TableId + private String id; + /** + * 工序名称 + */ + private String name; + /** + * BFG单耗 + */ + private String bfgCost; + /** + * BFG产率 + */ + private String bfgProdRate; + /** + * COG单耗 + */ + private String cogCost; + /** + * COG产率 + */ + private String cogProdRate; + /** + * LDG单耗 + */ + private String ldgCost; + /** + * LDG产率 + */ + private String ldgProdRate; + /** + * 混合煤气单耗 + */ + private String gasCost; +} \ No newline at end of file diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/mpk/service/PowerRunStateService.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/mpk/service/PowerRunStateService.java new file mode 100644 index 0000000..d8c4d3a --- /dev/null +++ b/ansteel-biz/src/main/java/com/iailab/module/ansteel/mpk/service/PowerRunStateService.java @@ -0,0 +1,11 @@ +package com.iailab.module.ansteel.mpk.service; + + +import com.iailab.module.ansteel.mpk.entity.PowerRunStateEntity; + +import java.util.List; + +public interface PowerRunStateService { + + List<PowerRunStateEntity> list(); +} diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/mpk/service/ProductProcessService.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/mpk/service/ProductProcessService.java new file mode 100644 index 0000000..daa5cf5 --- /dev/null +++ b/ansteel-biz/src/main/java/com/iailab/module/ansteel/mpk/service/ProductProcessService.java @@ -0,0 +1,11 @@ +package com.iailab.module.ansteel.mpk.service; + + +import com.iailab.module.ansteel.mpk.entity.ProductProcessEntity; + +import java.util.List; + +public interface ProductProcessService { + + List<ProductProcessEntity> list(); +} diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/mpk/service/impl/PowerRunStateServiceImpl.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/mpk/service/impl/PowerRunStateServiceImpl.java new file mode 100644 index 0000000..bb6ce60 --- /dev/null +++ b/ansteel-biz/src/main/java/com/iailab/module/ansteel/mpk/service/impl/PowerRunStateServiceImpl.java @@ -0,0 +1,66 @@ +package com.iailab.module.ansteel.mpk.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.iailab.framework.common.service.impl.BaseServiceImpl; +import com.iailab.framework.common.util.object.ConvertUtils; +import com.iailab.module.ansteel.mpk.dao.PowerRunStateDao; +import com.iailab.module.ansteel.mpk.entity.PowerRunStateEntity; +import com.iailab.module.ansteel.mpk.service.PowerRunStateService; +import com.iailab.module.data.api.point.DataPointApi; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; +import org.springframework.util.ObjectUtils; + +import java.math.BigDecimal; +import java.util.Arrays; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +@Slf4j +@Service +public class PowerRunStateServiceImpl extends BaseServiceImpl<PowerRunStateDao, PowerRunStateEntity> implements PowerRunStateService { + + @Autowired + private DataPointApi dataPointApi; + + @Override + public List<PowerRunStateEntity> list() { + List<PowerRunStateEntity> list = baseDao.selectList(new QueryWrapper<>()); + if (!CollectionUtils.isEmpty(list)) { + list.stream().map(item -> { + StringBuffer sb = new StringBuffer(); + sb.append(item.getQhRate()); + sb.append(","); + sb.append(item.getFhRate()); + sb.append(","); + sb.append(item.getGasTotal()); + sb.append(","); + sb.append(item.getGasCost()); + sb.append(","); + sb.append(item.getGasSurplus()); + sb.append(","); + sb.append(item.getBfg()); + sb.append(","); + sb.append(item.getLdg()); + sb.append(","); + sb.append(item.getCog()); + String[] arr = sb.toString().split(","); + Map<String, Object> adjValue = dataPointApi.queryPointsRealValue(Arrays.asList(arr)); + item.setQhRate(ObjectUtils.isEmpty(adjValue.get(arr[0])) ? "0" : new BigDecimal(adjValue.get(arr[0]).toString()).setScale(2, BigDecimal.ROUND_HALF_UP).toString()); + item.setFhRate(ObjectUtils.isEmpty(adjValue.get(arr[1])) ? "0" : new BigDecimal(adjValue.get(arr[1]).toString()).setScale(2, BigDecimal.ROUND_HALF_UP).toString()); + item.setGasTotal(ObjectUtils.isEmpty(adjValue.get(arr[2])) ? "0" : new BigDecimal(adjValue.get(arr[2]).toString()).setScale(2, BigDecimal.ROUND_HALF_UP).toString()); + item.setGasCost(ObjectUtils.isEmpty(adjValue.get(arr[3])) ? "0" : new BigDecimal(adjValue.get(arr[3]).toString()).setScale(2, BigDecimal.ROUND_HALF_UP).toString()); + item.setGasSurplus(ObjectUtils.isEmpty(adjValue.get(arr[4])) ? "0" : new BigDecimal(adjValue.get(arr[4]).toString()).setScale(2, BigDecimal.ROUND_HALF_UP).toString()); + item.setBfg(ObjectUtils.isEmpty(adjValue.get(arr[5])) ? "0" : new BigDecimal(adjValue.get(arr[5]).toString()).setScale(2, BigDecimal.ROUND_HALF_UP).toString()); + item.setLdg(ObjectUtils.isEmpty(adjValue.get(arr[6])) ? "0" : new BigDecimal(adjValue.get(arr[6]).toString()).setScale(2, BigDecimal.ROUND_HALF_UP).toString()); + item.setCog(ObjectUtils.isEmpty(adjValue.get(arr[7])) ? "0" : new BigDecimal(adjValue.get(arr[7]).toString()).setScale(2, BigDecimal.ROUND_HALF_UP).toString()); + + return item; + }).collect(Collectors.toList()); + } + return list; + } +} \ No newline at end of file diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/mpk/service/impl/ProductProcessServiceImpl.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/mpk/service/impl/ProductProcessServiceImpl.java new file mode 100644 index 0000000..4544a09 --- /dev/null +++ b/ansteel-biz/src/main/java/com/iailab/module/ansteel/mpk/service/impl/ProductProcessServiceImpl.java @@ -0,0 +1,22 @@ +package com.iailab.module.ansteel.mpk.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.iailab.framework.common.service.impl.BaseServiceImpl; +import com.iailab.module.ansteel.mpk.dao.ProductProcessDao; +import com.iailab.module.ansteel.mpk.entity.ProductProcessEntity; +import com.iailab.module.ansteel.mpk.service.ProductProcessService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Slf4j +@Service +public class ProductProcessServiceImpl extends BaseServiceImpl<ProductProcessDao, ProductProcessEntity> implements ProductProcessService { + + + @Override + public List<ProductProcessEntity> list() { + return baseDao.selectList(new QueryWrapper<>()); + } +} \ No newline at end of file -- Gitblit v1.9.3