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