Browse Source

能源管理

wu98hay 1 year ago
parent
commit
fcd81fb906

+ 46 - 2
src/main/java/cn/com/energy/controller/EnergyApiController.java

@@ -1,25 +1,69 @@
 package cn.com.energy.controller;
 
+import cn.com.energy.model.DvMachinery;
 import cn.com.energy.model.DvMachineryData;
 import cn.com.energy.service.IDvMachineryDataService;
+import cn.com.energy.service.IDvMachineryService;
 import cn.com.v2.common.base.BaseController;
 import cn.com.v2.common.domain.AjaxResult;
+import cn.hutool.core.date.DateUtil;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
+
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.util.Date;
 import java.util.List;
+import java.util.Map;
 
 @RestController
 @RequestMapping("/api/energy")
 public class EnergyApiController extends BaseController {
 	@Autowired
 	private IDvMachineryDataService iDvMachineryDataService;
+	@Autowired
+	private IDvMachineryService iDvMachineryService;
 
 	@ApiOperation(value = "获取数据", notes = "获取数据")
 	@GetMapping("/getEnergyData")
 	@ResponseBody
 	public AjaxResult getEnergyData() {
-		List<DvMachineryData> dvMachineryData = iDvMachineryDataService.list();
-		return success().put("data", dvMachineryData);
+		DvMachineryData dvMachineryData = new DvMachineryData();
+		List<Map<String, Object>> dvMachineryDataList = iDvMachineryDataService.selectElectric(dvMachineryData);
+		String val = "0";
+		if(dvMachineryDataList.size() > 0 && dvMachineryDataList.get(0) != null){
+			val = dvMachineryDataList.get(0).get("parser_data").toString();
+			BigDecimal valBig = new BigDecimal(val).setScale(2, RoundingMode.UP);
+			val = valBig.toString();
+		}
+		return success().put("data", val);
+	}
+
+	@ApiOperation(value = "获取数据", notes = "获取数据")
+	@GetMapping("/getEnergyDayData")
+	@ResponseBody
+	public AjaxResult getEnergyDayData() {
+		String now = DateUtil.format(new Date(), "yyyy-MM-dd");
+		DvMachineryData dvMachineryData = new DvMachineryData();
+		dvMachineryData.setCreateTimeStr(now);
+		List<Map<String, Object>> dvMachineryDataList = iDvMachineryDataService.selectElectric(dvMachineryData);
+		String val = "0";
+		if(dvMachineryDataList.size() > 0 && dvMachineryDataList.get(0) != null){
+			val = dvMachineryDataList.get(0).get("parser_data").toString();
+			BigDecimal valBig = new BigDecimal(val).setScale(2, RoundingMode.UP);
+			val = valBig.toString();
+		}
+		return success().put("data", val);
+	}
+
+	@ApiOperation(value = "获取设备数据", notes = "获取设备数据")
+	@GetMapping("/getMachinery")
+	@ResponseBody
+	public AjaxResult getMachinery() {
+		DvMachinery dvMachinery = new DvMachinery();
+		List<DvMachinery> dvMachineryDataList = iDvMachineryService.selectDvMachineryList(dvMachinery);
+		String val = dvMachineryDataList.size() + "";
+		return success().put("data", val);
 	}
 }

+ 6 - 1
src/main/java/cn/com/energy/mapper/DvMachineryDataMapper.java

@@ -2,13 +2,18 @@ package cn.com.energy.mapper;
 
 import cn.com.energy.model.DvMachineryData;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+import java.util.Map;
 
 /**
  * 操作日志 数据层
  * 
  * @author ruoyi
  */
+@Mapper
 public interface DvMachineryDataMapper extends BaseMapper<DvMachineryData>
 {
-
+    public List<Map<String, Object>> selectElectric(DvMachineryData dvMachineryData);
 }

+ 217 - 0
src/main/java/cn/com/energy/model/DvMachinery.java

@@ -0,0 +1,217 @@
+package cn.com.energy.model;
+
+import java.io.Serializable;
+
+/**
+ * 设备对象 dv_machinery
+ * 
+ * @author yinjinlu
+ * @date 2022-05-08
+ */
+public class DvMachinery implements Serializable
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 设备类型ID */
+    private Long machineryId;
+
+    /** 设备类型编码 */
+    private String machineryCode;
+
+    /** 设备类型名称 */
+    private String machineryName;
+
+    /** 品牌 */
+    private String machineryBrand;
+
+    /** 规格型号 */
+    private String machinerySpec;
+
+    /** 设备类型ID */
+    private Long machineryTypeId;
+
+    /** 设备类型编码 */
+    private String machineryTypeCode;
+
+    /** 设备类型名称 */
+    private String machineryTypeName;
+
+    /** 所属车间ID */
+    private Long workshopId;
+
+    /** 所属车间编码 */
+    private String workshopCode;
+
+    /** 所属车间名称 */
+    private String workshopName;
+
+    /** 设备状态 */
+    private String status;
+
+    /** 预留字段1 */
+    private String attr1;
+
+    /** 预留字段2 */
+    private String attr2;
+
+    /** 预留字段3 */
+    private Long attr3;
+
+    /** 预留字段4 */
+    private Long attr4;
+
+    private String remark;
+
+    public void setMachineryId(Long machineryId) 
+    {
+        this.machineryId = machineryId;
+    }
+
+    public Long getMachineryId() 
+    {
+        return machineryId;
+    }
+    public void setMachineryCode(String machineryCode) 
+    {
+        this.machineryCode = machineryCode;
+    }
+
+    public String getMachineryCode() 
+    {
+        return machineryCode;
+    }
+    public void setMachineryName(String machineryName) 
+    {
+        this.machineryName = machineryName;
+    }
+
+    public String getMachineryName() 
+    {
+        return machineryName;
+    }
+    public void setMachineryBrand(String machineryBrand) 
+    {
+        this.machineryBrand = machineryBrand;
+    }
+
+    public String getMachineryBrand() 
+    {
+        return machineryBrand;
+    }
+    public void setMachinerySpec(String machinerySpec) 
+    {
+        this.machinerySpec = machinerySpec;
+    }
+
+    public String getMachinerySpec() 
+    {
+        return machinerySpec;
+    }
+    public void setMachineryTypeId(Long machineryTypeId) 
+    {
+        this.machineryTypeId = machineryTypeId;
+    }
+
+    public Long getMachineryTypeId() 
+    {
+        return machineryTypeId;
+    }
+    public void setMachineryTypeCode(String machineryTypeCode) 
+    {
+        this.machineryTypeCode = machineryTypeCode;
+    }
+
+    public String getMachineryTypeCode() 
+    {
+        return machineryTypeCode;
+    }
+    public void setMachineryTypeName(String machineryTypeName) 
+    {
+        this.machineryTypeName = machineryTypeName;
+    }
+
+    public String getMachineryTypeName() 
+    {
+        return machineryTypeName;
+    }
+    public void setWorkshopId(Long workshopId) 
+    {
+        this.workshopId = workshopId;
+    }
+
+    public Long getWorkshopId() 
+    {
+        return workshopId;
+    }
+    public void setWorkshopCode(String workshopCode) 
+    {
+        this.workshopCode = workshopCode;
+    }
+
+    public String getWorkshopCode() 
+    {
+        return workshopCode;
+    }
+    public void setWorkshopName(String workshopName) 
+    {
+        this.workshopName = workshopName;
+    }
+
+    public String getWorkshopName() 
+    {
+        return workshopName;
+    }
+    public void setStatus(String status) 
+    {
+        this.status = status;
+    }
+
+    public String getStatus() 
+    {
+        return status;
+    }
+    public void setAttr1(String attr1) 
+    {
+        this.attr1 = attr1;
+    }
+
+    public String getAttr1() 
+    {
+        return attr1;
+    }
+    public void setAttr2(String attr2) 
+    {
+        this.attr2 = attr2;
+    }
+
+    public String getAttr2() 
+    {
+        return attr2;
+    }
+    public void setAttr3(Long attr3) 
+    {
+        this.attr3 = attr3;
+    }
+
+    public Long getAttr3() 
+    {
+        return attr3;
+    }
+    public void setAttr4(Long attr4) 
+    {
+        this.attr4 = attr4;
+    }
+
+    public Long getAttr4() 
+    {
+        return attr4;
+    }
+
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+}

+ 1 - 0
src/main/java/cn/com/energy/model/DvMachineryData.java

@@ -32,5 +32,6 @@ public class DvMachineryData implements Serializable
     private String remark;
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date createTime;
+    private String createTimeStr;
 
 }

+ 2 - 1
src/main/java/cn/com/energy/service/IDvMachineryDataService.java

@@ -5,6 +5,7 @@ import cn.com.energy.model.SysOperLog;
 import com.baomidou.mybatisplus.extension.service.IService;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * 操作日志 服务层
@@ -13,5 +14,5 @@ import java.util.List;
  */
 public interface IDvMachineryDataService extends IService<DvMachineryData>
 {
-
+    public List<Map<String, Object>> selectElectric(DvMachineryData dvMachineryData);
 }

+ 7 - 0
src/main/java/cn/com/energy/service/impl/DvMachineryDataServiceImpl.java

@@ -7,6 +7,9 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+import java.util.Map;
+
 /**
  * 操作日志 服务层处理
  * 
@@ -18,4 +21,8 @@ public class DvMachineryDataServiceImpl extends ServiceImpl<DvMachineryDataMappe
     @Autowired
     private DvMachineryDataMapper dvMachineryDataMapper;
 
+    @Override
+    public List<Map<String, Object>> selectElectric(DvMachineryData dvMachineryData) {
+        return dvMachineryDataMapper.selectElectric(dvMachineryData);
+    }
 }

+ 48 - 0
src/main/java/cn/com/energy/service/impl/DvMachineryServiceImpl.java

@@ -0,0 +1,48 @@
+package cn.com.energy.service.impl;
+
+import cn.com.energy.mapper.DvMachineryMapper;
+import cn.com.energy.model.DvMachinery;
+import cn.com.energy.service.IDvMachineryService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * 设备Service业务层处理
+ * 
+ * @author yinjinlu
+ * @date 2022-05-08
+ */
+@Service
+public class DvMachineryServiceImpl implements IDvMachineryService
+{
+    @Autowired
+    private DvMachineryMapper dvMachineryMapper;
+
+    /**
+     * 查询设备
+     * 
+     * @param machineryId 设备主键
+     * @return 设备
+     */
+    @Override
+    public DvMachinery selectDvMachineryByMachineryId(Long machineryId)
+    {
+        return dvMachineryMapper.selectDvMachineryByMachineryId(machineryId);
+    }
+
+    /**
+     * 查询设备列表
+     * 
+     * @param dvMachinery 设备
+     * @return 设备
+     */
+    @Override
+    public List<DvMachinery> selectDvMachineryList(DvMachinery dvMachinery)
+    {
+        return dvMachineryMapper.selectDvMachineryList(dvMachinery);
+    }
+
+
+}

+ 5 - 5
src/main/resources/application-dev.yml

@@ -3,8 +3,8 @@ spring:
   datasource:
     v2:
       driver-class-name: org.sqlite.JDBC
-      #jdbc-url: jdbc:sqlite:D:\\ygtx\\goview\\go-view-serve\\sqllite\\goview.db
-      jdbc-url: jdbc:sqlite:E:\\IdeaProjects\\yg_goserver\\sqllite\\goview.db
+      jdbc-url: jdbc:sqlite:D:\\ygtx\\goview\\go-view-serve\\sqllite\\goview.db
+#      jdbc-url: jdbc:sqlite:E:\\IdeaProjects\\yg_goserver\\sqllite\\goview.db
       #linux服务器
       #url: jdbc:sqlite://home/cqfy/project/OSSDATABASE/oss.db
       username:
@@ -21,7 +21,7 @@ spring:
       driver-class-name: com.mysql.cj.jdbc.Driver
       jdbc-url: jdbc:mysql://localhost:3306/ygtx_emcs?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
       username: root
-      password: 123456
+      password: 123123
       druid:
         initial-size: 10
         max-active: 100
@@ -31,9 +31,9 @@ spring:
 
     oa:
       driver-class-name: com.mysql.cj.jdbc.Driver
-      jdbc-url: jdbc:mysql://localhost:3306/ygoa?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
+      jdbc-url: jdbc:mysql://192.168.110.221:3306/xinbanoa?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
       username: root
-      password: 123456
+      password: root
       druid:
         initial-size: 10
         max-active: 100

+ 1 - 1
src/main/resources/application-pro.yml

@@ -33,7 +33,7 @@ spring:
       driver-class-name: com.mysql.cj.jdbc.Driver
       jdbc-url: jdbc:mysql://localhost:3306/xinbanoa?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
       username: root
-      password: root
+      password: 123123
       druid:
         initial-size: 10
         max-active: 100

+ 12 - 0
src/main/resources/mapper/energy/DvMachineryData.xml → src/main/resources/mapper/energy/DvMachineryDataMapper.xml

@@ -21,4 +21,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         select data_id, machinery_code, machinery_name, run_data, parser_data, attr1, attr2, attr3, oper_url, remark, create_time from dv_machinery_data
     </sql>
 
+	<select id="selectElectric" parameterType="DvMachineryData" resultType="java.util.HashMap">
+		select min(parser_data) as min_data, max(parser_data) as max_data, max(parser_data)-min(parser_data) as parser_data from dv_machinery_data
+		<where>
+			<if test="machineryCode != null  and machineryCode != ''"> and machinery_code = #{machineryCode}</if>
+			<if test="machineryName != null  and machineryName != ''"> and machinery_name like concat('%', #{machineryName}, '%')</if>
+			<if test="attr1 != null  and attr1 != ''"> and attr1 = #{attr1}</if>
+			<if test="attr2 != null  and attr2 != ''"> and attr2 = #{attr2}</if>
+			<if test="attr3 != null  and attr3 != ''"> and attr3 = #{attr3}</if>
+			<if test="createTimeStr != null and createTimeStr != ''"> and create_time like concat('%', #{createTimeStr}, '%')</if>
+		</where>
+		order by create_time desc
+	</select>
 </mapper> 

+ 55 - 0
src/main/resources/mapper/energy/DvMachineryMapper.xml

@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="cn.com.energy.mapper.DvMachineryMapper">
+    
+    <resultMap type="DvMachinery" id="DvMachineryResult">
+        <result property="machineryId"    column="machinery_id"    />
+        <result property="machineryCode"    column="machinery_code"    />
+        <result property="machineryName"    column="machinery_name"    />
+        <result property="machineryBrand"    column="machinery_brand"    />
+        <result property="machinerySpec"    column="machinery_spec"    />
+        <result property="machineryTypeId"    column="machinery_type_id"    />
+        <result property="machineryTypeCode"    column="machinery_type_code"    />
+        <result property="machineryTypeName"    column="machinery_type_name"    />
+        <result property="workshopId"    column="workshop_id"    />
+        <result property="workshopCode"    column="workshop_code"    />
+        <result property="workshopName"    column="workshop_name"    />
+        <result property="status"    column="status"    />
+        <result property="remark"    column="remark"    />
+        <result property="attr1"    column="attr1"    />
+        <result property="attr2"    column="attr2"    />
+        <result property="attr3"    column="attr3"    />
+        <result property="attr4"    column="attr4"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateTime"    column="update_time"    />
+    </resultMap>
+
+    <sql id="selectDvMachineryVo">
+        select dm.machinery_id, dm.machinery_code, machinery_name, machinery_brand, machinery_spec, machinery_type_id, machinery_type_code, machinery_type_name, workshop_id, workshop_code, workshop_name, status, dm.remark, attr1, attr2, attr3, attr4
+        from dv_machinery dm inner join dv_machinery_param dmp on dm.machinery_id = dmp.machinery_id
+    </sql>
+
+    <select id="selectDvMachineryList" parameterType="DvMachinery" resultMap="DvMachineryResult">
+        <include refid="selectDvMachineryVo"/>
+        <where>
+            <if test="machineryCode != null  and machineryCode != ''"> and machinery_code = #{machineryCode}</if>
+            <if test="machineryName != null  and machineryName != ''"> and machinery_name like concat('%', #{machineryName}, '%')</if>
+            <if test="machineryBrand != null  and machineryBrand != ''"> and machinery_brand = #{machineryBrand}</if>
+            <if test="machinerySpec != null  and machinerySpec != ''"> and machinery_spec = #{machinerySpec}</if>
+            <if test="machineryTypeId != null ">
+                AND (machinery_type_id = #{machineryTypeId} OR machinery_type_id in (select machinery_type_id from dv_machinery_type where find_in_set(#{machineryTypeId},ancestors)))
+            </if>
+            <if test="machineryTypeCode != null  and machineryTypeCode != ''"> and machinery_type_code = #{machineryTypeCode}</if>
+            <if test="machineryTypeName != null  and machineryTypeName != ''"> and machinery_type_name like concat('%', #{machineryTypeName}, '%')</if>
+            <if test="workshopId != null "> and workshop_id = #{workshopId}</if>
+            <if test="workshopCode != null  and workshopCode != ''"> and workshop_code = #{workshopCode}</if>
+            <if test="workshopName != null  and workshopName != ''"> and workshop_name like concat('%', #{workshopName}, '%')</if>
+            <if test="status != null  and status != ''"> and status = #{status}</if>
+        </where>
+    </select>
+
+</mapper>