瀏覽代碼

设备运行查询修改

sl 2 月之前
父節點
當前提交
e8f5c8235a

+ 16 - 3
module_tpm/src/main/java/org/jeecg/modules/equipmentOnoff/controller/EquipmentOnoffController.java

@@ -15,6 +15,7 @@ import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.util.DateUtils;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.modules.equipmentOnoff.entity.EquipmentOnoff;
+import org.jeecg.modules.equipmentOnoff.entity.HistoryParamDayDto;
 import org.jeecg.modules.equipmentOnoff.entity.HistoryParamDto;
 import org.jeecg.modules.equipmentOnoff.service.IEquipmentOnoffService;
 
@@ -178,15 +179,27 @@ public class EquipmentOnoffController extends JeecgController<EquipmentOnoff, IE
     }
 
 	 /**
-	  * 设备健康-设备运行查询  从mongodb查询设备的历史数据  根据设备和时间查询
+	  * 设备健康-设备运行查询  从mongodb查询设备的历史数据  根据设备和时间查询  按月划分查询因为表是按月建的
+	  *
+	  * @return
+	  */
+	 //@AutoLog(value = "设备健康-设备运行查询")
+	 @ApiOperation(value="设备健康-设备运行查询", notes="设备健康-设备运行查询")
+	 @GetMapping(value = "/getEquipmentHistoryData1")
+	 public Result<List<Map<String, Object>>> getEquipmentHistoryData1(HistoryParamDto historyParamDto) {
+		 return equipmentOnoffService.getEquipmentHistoryData1(historyParamDto);
+	 }
+
+	 /**
+	  * 设备健康-设备运行查询  从mongodb查询设备的历史数据  查询给的日期当天所有的数据
 	  *
 	  * @return
 	  */
 	 //@AutoLog(value = "设备健康-设备运行查询")
 	 @ApiOperation(value="设备健康-设备运行查询", notes="设备健康-设备运行查询")
 	 @GetMapping(value = "/getEquipmentHistoryData")
-	 public Result<List<Map<String, Object>>> getEquipmentHistoryData(HistoryParamDto historyParamDto) {
-		 return equipmentOnoffService.getEquipmentHistoryData(historyParamDto);
+	 public Result<List<Map<String, Object>>> getEquipmentHistoryData(HistoryParamDayDto historyParamDayDto) {
+		 return equipmentOnoffService.getEquipmentHistoryData(historyParamDayDto);
 	 }
 
 }

+ 24 - 0
module_tpm/src/main/java/org/jeecg/modules/equipmentOnoff/entity/HistoryParamDayDto.java

@@ -0,0 +1,24 @@
+package org.jeecg.modules.equipmentOnoff.entity;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+/**
+ * ClassName: HistoryParamDayDto
+ * Package: org.jeecg.modules.equipmentOnoff.entity
+ * Description:
+ *
+ * @Author sl
+ * @Create 2025/2/18 9:18
+ * @Version 1.0
+ */
+@Data
+public class HistoryParamDayDto {
+    //设备id
+    private String equipmentid;
+    //查询的日期  如2025-02-18
+    private String date;
+}

+ 4 - 1
module_tpm/src/main/java/org/jeecg/modules/equipmentOnoff/service/IEquipmentOnoffService.java

@@ -3,6 +3,7 @@ package org.jeecg.modules.equipmentOnoff.service;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.modules.equipmentOnoff.entity.EquipmentOnoff;
 import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.equipmentOnoff.entity.HistoryParamDayDto;
 import org.jeecg.modules.equipmentOnoff.entity.HistoryParamDto;
 
 import java.util.List;
@@ -16,6 +17,8 @@ import java.util.Map;
  */
 public interface IEquipmentOnoffService extends IService<EquipmentOnoff> {
 
-    Result<List<Map<String, Object>>> getEquipmentHistoryData(HistoryParamDto historyParamDto);
+    Result<List<Map<String, Object>>> getEquipmentHistoryData1(HistoryParamDto historyParamDto);
+
+    Result<List<Map<String, Object>>> getEquipmentHistoryData(HistoryParamDayDto historyParamDayDto);
 
 }

+ 53 - 1
module_tpm/src/main/java/org/jeecg/modules/equipmentOnoff/service/impl/EquipmentOnoffServiceImpl.java

@@ -4,6 +4,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.modules.collectdata.entity.Collectdata;
 import org.jeecg.modules.equipmentOnoff.entity.EquipmentOnoff;
+import org.jeecg.modules.equipmentOnoff.entity.HistoryParamDayDto;
 import org.jeecg.modules.equipmentOnoff.entity.HistoryParamDto;
 import org.jeecg.modules.equipmentOnoff.mapper.EquipmentOnoffMapper;
 import org.jeecg.modules.equipmentOnoff.service.IEquipmentOnoffService;
@@ -16,6 +17,7 @@ import org.springframework.stereotype.Service;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 
+import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.*;
 
@@ -69,7 +71,7 @@ public class EquipmentOnoffServiceImpl extends ServiceImpl<EquipmentOnoffMapper,
         return dateMap;
     }
 
-    public Result<List<Map<String, Object>>> getEquipmentHistoryData(HistoryParamDto historyParamDto){
+    public Result<List<Map<String, Object>>> getEquipmentHistoryData1(HistoryParamDto historyParamDto){
         List<Map<String, Object>> historyList = new ArrayList<>();
         List<Collectdata> orgDataList = new ArrayList<>();
         //根据设备id找到设备编号
@@ -102,4 +104,54 @@ public class EquipmentOnoffServiceImpl extends ServiceImpl<EquipmentOnoffMapper,
         return Result.ok(historyList);
     }
 
+    public Result<List<Map<String, Object>>> getEquipmentHistoryData(HistoryParamDayDto historyParamDayDto){
+        List<Map<String, Object>> historyList = new ArrayList<>();
+        List<Collectdata> orgDataList = new ArrayList<>();
+        //根据设备id找到设备编号
+        String equipmentcode;
+        try {
+            equipmentcode = (tpmEquipmentService.getById(historyParamDayDto.getEquipmentid())).getEquipmentcode();
+        }catch (NullPointerException e){
+            return Result.error("id为" + historyParamDayDto.getEquipmentid() + "的设备找不到设备编号,无法进行数据查询!");
+        }
+        //根据时间确定要查询哪一天的数据
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
+        sdf.setTimeZone(TimeZone.getTimeZone("UTC")); // 设置时区为UTC
+//        String dateStr = historyParamDayDto.getDate();
+        Date date;
+        String dateStr = historyParamDayDto.getDate().replace("\"", "");
+        try {
+            date = sdf.parse(dateStr);
+        } catch (ParseException e) {
+            return Result.error("日期类型转换失败!");
+        }
+
+        Calendar dateCal = Calendar.getInstance();
+        dateCal.setTime(date);
+        dateCal.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));
+        Date startDate = dateCal.getTime();
+        // 将日期增加一天
+        dateCal.add(Calendar.DATE, 1);
+        Date endDate = dateCal.getTime();
+        System.out.println(new SimpleDateFormat("yyyyMM").format(startDate));
+        System.out.println(new SimpleDateFormat("yyyyMM").format(endDate));
+        //创建查询对象
+        Query HistoryQuery = new Query();
+        //添加查询条件
+        HistoryQuery.addCriteria(Criteria.where("equipmentcode").is(equipmentcode));
+//        HistoryQuery.addCriteria(Criteria.where("logtime").is(dateCal.getTime())); // 大于等于startDate且小于等于endDate
+        HistoryQuery.addCriteria(Criteria.where("logtime").gte(startDate).lte(endDate)); // 大于等于startDate且小于等于endDate
+
+        //执行查询
+        try{
+            orgDataList.addAll(mongoTemplate.find(HistoryQuery, Collectdata.class, "data_"+new SimpleDateFormat("yyyyMM").format(startDate)));
+        }catch (NullPointerException e){}
+        for(Collectdata collectdata:orgDataList){
+            Map<String, Object> dataMap = new ObjectMapper().convertValue(collectdata.getProperties(), Map.class);
+            dataMap.put("logtime", collectdata.getLogtime());
+            historyList.add(dataMap);
+        }
+        return Result.ok(historyList);
+    }
+
 }