组态功能开发

This commit is contained in:
2023-06-02 15:55:08 +08:00
parent 63c10fb8b5
commit befb138068
34 changed files with 225 additions and 76 deletions

View File

@@ -1,4 +1,4 @@
package com.njcn.haronic.pojo.constant;
package com.njcn.harmonic.constant;
import java.util.List;

View File

@@ -1,4 +1,4 @@
package com.njcn.haronic.pojo.param;
package com.njcn.harmonic.param;
import com.njcn.web.pojo.param.BaseParam;
import io.swagger.annotations.ApiModelProperty;

View File

@@ -1,4 +1,4 @@
package com.njcn.haronic.pojo.param;
package com.njcn.harmonic.param;
import com.njcn.web.pojo.param.BaseParam;
import io.swagger.annotations.ApiModelProperty;
@@ -7,7 +7,6 @@ import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
*

View File

@@ -1,4 +1,4 @@
package com.njcn.haronic.pojo.param;
package com.njcn.harmonic.param;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;

View File

@@ -1,11 +1,9 @@
package com.njcn.haronic.pojo.po;
package com.njcn.harmonic.pojo.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.util.Date;
import com.njcn.db.bo.BaseEntity;
import lombok.Data;
import lombok.NoArgsConstructor;

View File

@@ -1,4 +1,4 @@
package com.njcn.haronic.pojo.po;
package com.njcn.harmonic.pojo.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
@@ -6,10 +6,11 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.util.Date;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
/**
* Description:
* Date: 2023/5/31 14:13需求编号

View File

@@ -1,13 +1,10 @@
package com.njcn.haronic.pojo.po;
package com.njcn.harmonic.pojo.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.util.Date;
import lombok.Data;
import lombok.NoArgsConstructor;

View File

@@ -0,0 +1,23 @@
package com.njcn.harmonic.pojo.vo;
import com.alibaba.nacos.shaded.com.google.gson.annotations.SerializedName;
import lombok.Data;
import java.io.Serializable;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2023/6/2 15:30
*/
@Data
public class ConditionVO implements Serializable {
@SerializedName("pic")
private String pic;
@SerializedName("value")
private String value;
}

View File

@@ -1,4 +1,4 @@
package com.njcn.haronic.pojo.vo;
package com.njcn.harmonic.pojo.vo;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;

View File

@@ -1,4 +1,4 @@
package com.njcn.haronic.pojo.vo;
package com.njcn.harmonic.pojo.vo;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;

View File

@@ -0,0 +1,52 @@
package com.njcn.harmonic.pojo.vo;
import com.alibaba.nacos.shaded.com.google.gson.annotations.SerializedName;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2023/6/2 15:26
*/
@Data
public class ElementsVO implements Serializable {
@SerializedName("type")
private String type;
@SerializedName("pointId")
private String pointId;
@SerializedName("pointName")
private String pointName;
@SerializedName("targetId")
private String targetId;
@SerializedName("targetName")
private String targetName;
@SerializedName("defaultPic")
private String defaultPic;
@SerializedName("width")
private Integer width;
@SerializedName("height")
private Integer height;
@SerializedName("top")
private Integer top;
@SerializedName("left")
private Integer left;
@SerializedName("condition")
private List<ConditionVO> condition;
}

View File

@@ -1,11 +1,10 @@
package pojo.vo;
package com.njcn.harmonic.pojo.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
import java.util.Map;
/**
* 类的介绍

View File

@@ -1,4 +1,4 @@
package com.njcn.haronic.pojo.vo;
package com.njcn.harmonic.pojo.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

View File

@@ -0,0 +1,25 @@
package com.njcn.harmonic.pojo.vo;
import com.alibaba.nacos.shaded.com.google.gson.annotations.SerializedName;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2023/6/2 15:39
*/
@Data
public class ZuTaiVo implements Serializable {
@SerializedName("background")
private String background;
@SerializedName("elements")
private List<ElementsVO> elements;
}

View File

@@ -16,8 +16,8 @@ import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import com.njcn.haronic.pojo.param.CsConfigurationParm;
import com.njcn.haronic.pojo.vo.CsConfigurationVO;
import com.njcn.harmonic.param.CsConfigurationParm;
import com.njcn.harmonic.pojo.vo.CsConfigurationVO;
import org.springframework.web.multipart.MultipartFile;
/**

View File

@@ -6,17 +6,15 @@ import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil;
import com.njcn.harmonic.service.CsPagePOService;
import com.njcn.haronic.pojo.vo.CsPageVO;
import com.njcn.harmonic.pojo.vo.CsPageVO;
import com.njcn.web.controller.BaseController;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import org.springframework.validation.annotation.Validated;
import com.njcn.haronic.pojo.param.CsConfigurationParm;
import com.njcn.haronic.pojo.param.CsPageParm;
import com.njcn.harmonic.param.CsPageParm;
import org.springframework.web.bind.annotation.*;
import com.njcn.haronic.pojo.vo.CsConfigurationVO;
/**
* (cs_page)表控制层

View File

@@ -6,6 +6,7 @@ import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil;
import com.njcn.csdevice.pojo.vo.LineTargetVO;
import com.njcn.harmonic.pojo.vo.TargetDetailVO;
import com.njcn.harmonic.service.ILineTargetService;
import com.njcn.web.controller.BaseController;
import io.swagger.annotations.Api;
@@ -18,7 +19,6 @@ import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import pojo.vo.TargetDetailVO;
import java.util.List;
@@ -61,4 +61,14 @@ public class LineTargetController extends BaseController {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/lineData")
@ApiOperation("获取指标数据")
@ApiImplicitParam(name = "id", value = "组态页面id", required = true)
public HttpResult<String> getLineData(@RequestParam("id") String id) {
String methodDescribe = getMethodDescribe("getLineData");
lineTargetService.getLineData(id);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
}
}

View File

@@ -15,8 +15,8 @@ import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import com.njcn.haronic.pojo.param.ThdDataQueryParm;
import com.njcn.haronic.pojo.vo.ThdDataVO;
import com.njcn.harmonic.param.ThdDataQueryParm;
import com.njcn.harmonic.pojo.vo.ThdDataVO;
import java.util.List;

View File

@@ -1,7 +1,7 @@
package com.njcn.harmonic.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.haronic.pojo.po.CsConfigurationPO;
import com.njcn.harmonic.pojo.po.CsConfigurationPO;
/**
* Description:

View File

@@ -1,7 +1,7 @@
package com.njcn.harmonic.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.haronic.pojo.po.CsNetDevPO;
import com.njcn.harmonic.pojo.po.CsNetDevPO;
/**
* Description:

View File

@@ -1,7 +1,7 @@
package com.njcn.harmonic.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.haronic.pojo.po.CsPagePO;
import com.njcn.harmonic.pojo.po.CsPagePO;
/**
*

View File

@@ -1,7 +1,7 @@
<?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="com.njcn.harmonic.mapper.CsConfigurationMapper">
<resultMap id="BaseResultMap" type="com.njcn.haronic.pojo.po.CsConfigurationPO">
<resultMap id="BaseResultMap" type="com.njcn.harmonic.pojo.po.CsConfigurationPO">
<!--@mbg.generated-->
<!--@Table cs_configuration-->
<id column="id" jdbcType="VARCHAR" property="id" />

View File

@@ -1,7 +1,7 @@
<?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="com.njcn.harmonic.mapper.CsNetDevPOMapper">
<resultMap id="BaseResultMap" type="com.njcn.haronic.pojo.po.CsNetDevPO">
<resultMap id="BaseResultMap" type="com.njcn.harmonic.pojo.po.CsNetDevPO">
<!--@mbg.generated-->
<!--@Table cs_net_dev-->
<id column="id" jdbcType="VARCHAR" property="id" />

View File

@@ -1,7 +1,7 @@
<?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="com.njcn.harmonic.mapper.CsPagePOMapper">
<resultMap id="BaseResultMap" type="com.njcn.haronic.pojo.po.CsPagePO">
<resultMap id="BaseResultMap" type="com.njcn.harmonic.pojo.po.CsPagePO">
<!--@mbg.generated-->
<!--@Table cs_page-->
<id column="id" jdbcType="VARCHAR" property="id" />

View File

@@ -1,10 +1,10 @@
package com.njcn.harmonic.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.njcn.haronic.pojo.param.CsConfigurationParm;
import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.haronic.pojo.po.CsConfigurationPO;
import com.njcn.haronic.pojo.vo.CsConfigurationVO;
import com.njcn.harmonic.param.CsConfigurationParm;
import com.njcn.harmonic.pojo.po.CsConfigurationPO;
import com.njcn.harmonic.pojo.vo.CsConfigurationVO;
import org.springframework.web.multipart.MultipartFile;
/**
@@ -18,7 +18,7 @@ import org.springframework.web.multipart.MultipartFile;
public interface CsConfigurationService extends IService<CsConfigurationPO>{
boolean add(CsConfigurationParm csConfigurationParm);
boolean add(CsConfigurationParm csConfigurationParm);
boolean audit(CsConfigurationParm.CsConfigurationAuditParam auditParm);

View File

@@ -1,8 +1,9 @@
package com.njcn.harmonic.service;
import com.njcn.haronic.pojo.po.CsNetDevPO;
import com.baomidou.mybatisplus.extension.service.IService;
/**
import com.njcn.harmonic.pojo.po.CsNetDevPO;
/**
*
* Description:
* Date: 2023/5/31 14:12【需求编号】

View File

@@ -1,10 +1,10 @@
package com.njcn.harmonic.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.njcn.haronic.pojo.param.CsPageParm;
import com.njcn.haronic.pojo.po.CsPagePO;
import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.haronic.pojo.vo.CsPageVO;
import com.njcn.harmonic.param.CsPageParm;
import com.njcn.harmonic.pojo.po.CsPagePO;
import com.njcn.harmonic.pojo.vo.CsPageVO;
/**
*
@@ -22,4 +22,12 @@ public interface CsPagePOService extends IService<CsPagePO>{
boolean audit(CsPageParm.CsPageParmAuditParam auditParm);
IPage<CsPageVO> queryPage(CsPageParm.CsPageParmQueryParam csPageParam);
/**
* 根据id获取组态页面数据
* @param id
* @return
*/
CsPagePO queryById(String id);
}

View File

@@ -1,7 +1,7 @@
package com.njcn.harmonic.service;
import com.njcn.csdevice.pojo.vo.LineTargetVO;
import pojo.vo.TargetDetailVO;
import com.njcn.harmonic.pojo.vo.TargetDetailVO;
import java.util.List;
@@ -25,5 +25,11 @@ public interface ILineTargetService {
*/
TargetDetailVO getTargetDetail(String pid, String name);
/**
* 获取绑定指标的数据
* @param id
*/
void getLineData(String id);
}

View File

@@ -2,8 +2,8 @@ package com.njcn.harmonic.service;
import com.njcn.haronic.pojo.param.ThdDataQueryParm;
import com.njcn.haronic.pojo.vo.ThdDataVO;
import com.njcn.harmonic.param.ThdDataQueryParm;
import com.njcn.harmonic.pojo.vo.ThdDataVO;
import java.util.List;

View File

@@ -3,21 +3,20 @@ package com.njcn.harmonic.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.common.utils.NjcnBeanUtil;
import com.njcn.haronic.pojo.constant.HarmonicConstant;
import com.njcn.oss.constant.OssPath;
import com.njcn.harmonic.constant.HarmonicConstant;
import com.njcn.harmonic.mapper.CsConfigurationMapper;
import com.njcn.harmonic.param.CsConfigurationParm;
import com.njcn.harmonic.pojo.po.CsConfigurationPO;
import com.njcn.harmonic.pojo.vo.CsConfigurationVO;
import com.njcn.harmonic.service.CsConfigurationService;
import com.njcn.oss.utils.FileStorageUtil;
import lombok.RequiredArgsConstructor;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.harmonic.mapper.CsConfigurationMapper;
import org.springframework.transaction.annotation.Transactional;
import com.njcn.haronic.pojo.param.CsConfigurationParm;
import com.njcn.harmonic.service.CsConfigurationService;
import com.njcn.haronic.pojo.po.CsConfigurationPO;
import com.njcn.haronic.pojo.vo.CsConfigurationVO;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;

View File

@@ -1,10 +1,10 @@
package com.njcn.harmonic.service.impl;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.haronic.pojo.po.CsNetDevPO;
import com.njcn.harmonic.mapper.CsNetDevPOMapper;
import com.njcn.harmonic.pojo.po.CsNetDevPO;
import com.njcn.harmonic.service.CsNetDevPOService;
import org.springframework.stereotype.Service;
/**
*
* Description:

View File

@@ -3,16 +3,21 @@ package com.njcn.harmonic.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.harmonic.constant.HarmonicConstant;
import com.njcn.harmonic.mapper.CsConfigurationMapper;
import com.njcn.haronic.pojo.constant.HarmonicConstant;
import com.njcn.haronic.pojo.po.CsConfigurationPO;
import com.njcn.haronic.pojo.vo.CsConfigurationVO;
import com.njcn.haronic.pojo.vo.CsPageVO;
import com.njcn.harmonic.mapper.CsPagePOMapper;
import com.njcn.harmonic.param.CsPageParm;
import com.njcn.harmonic.pojo.po.CsConfigurationPO;
import com.njcn.harmonic.pojo.po.CsPagePO;
import com.njcn.harmonic.pojo.vo.CsPageVO;
import com.njcn.harmonic.service.CsPagePOService;
import com.njcn.oss.utils.FileStorageUtil;
import lombok.RequiredArgsConstructor;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.io.BufferedReader;
import java.io.ByteArrayInputStream;
@@ -21,13 +26,6 @@ import java.io.InputStreamReader;
import java.nio.charset.StandardCharsets;
import java.util.List;
import java.util.stream.Collectors;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.harmonic.mapper.CsPagePOMapper;
import org.springframework.transaction.annotation.Transactional;
import com.njcn.haronic.pojo.param.CsPageParm;
import com.njcn.haronic.pojo.po.CsPagePO;
import com.njcn.harmonic.service.CsPagePOService;
/**
*
* Description:
@@ -112,6 +110,11 @@ public class CsPagePOServiceImpl extends ServiceImpl<CsPagePOMapper, CsPagePO> i
return returnpage;
}
@Override
public CsPagePO queryById(String id) {
return this.lambdaQuery().eq(CsPagePO::getId,id).one();
}
/*将strin写入Json文件返回一个InputStream*/
public InputStream writeJsonStringToInputStream(String jsonString) {

View File

@@ -1,20 +1,26 @@
package com.njcn.harmonic.service.impl;
import com.alibaba.nacos.shaded.com.google.gson.Gson;
import com.njcn.csdevice.api.*;
import com.njcn.csdevice.pojo.po.CsDataArray;
import com.njcn.csdevice.pojo.po.CsDataSet;
import com.njcn.csdevice.pojo.po.CsDevModelPO;
import com.njcn.csdevice.pojo.po.CsDevModelRelationPO;
import com.njcn.csdevice.pojo.vo.CsLedgerVO;
import com.njcn.csdevice.pojo.vo.LineTargetVO;
import com.njcn.harmonic.pojo.vo.ElementsVO;
import com.njcn.harmonic.pojo.vo.TargetDetailVO;
import com.njcn.harmonic.pojo.vo.ZuTaiVo;
import com.njcn.harmonic.service.CsPagePOService;
import com.njcn.harmonic.service.ILineTargetService;
import com.njcn.oss.utils.FileStorageUtil;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
import pojo.vo.TargetDetailVO;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
@@ -39,6 +45,10 @@ public class LineTargetServiceImpl implements ILineTargetService {
private final DataArrayFeignClient dataArrayFeignClient;
private final FileStorageUtil fileStorageUtil;
private final CsPagePOService csPagePOService;
@Override
public List<LineTargetVO> getLineTarget(String lineId) {
List<LineTargetVO> list = new ArrayList<>();
@@ -66,10 +76,33 @@ public class LineTargetServiceImpl implements ILineTargetService {
return vo;
}
@Override
public void getLineData(String id) {
String path = csPagePOService.queryById(id).getPath();
InputStream inputStream = fileStorageUtil.getFileStream(path);
List<ElementsVO> list = analysisJson(inputStream);
System.out.println("list==:" + list);
}
/**
* 获取子节点
*/
public List<LineTargetVO> getChildren(LineTargetVO item, List<LineTargetVO> all) {
return all.stream().filter(allItem -> allItem.getPid().equals(item.getId())).collect(Collectors.toList());
}
/**
* 解析json文件
*/
public List<ElementsVO> analysisJson(InputStream inputStream) {
Gson gson = new Gson();
String text = new BufferedReader(
new InputStreamReader(inputStream, StandardCharsets.UTF_8))
.lines()
.collect(Collectors.joining("\n"));
ZuTaiVo zuTai = gson.fromJson(text, ZuTaiVo.class);
return zuTai.getElements();
}
}

View File

@@ -1,10 +1,7 @@
package com.njcn.harmonic.service.impl;
import com.alibaba.nacos.client.naming.utils.CollectionUtils;
import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.csdevice.api.CsLineFeignClient;
import com.njcn.csdevice.constant.DataParam;
import com.njcn.csdevice.enums.AlgorithmResponseEnum;
import com.njcn.csdevice.pojo.po.CsLinePO;
import com.njcn.csdevice.utils.ReflectUtils;
@@ -13,8 +10,8 @@ import com.njcn.harmonic.service.StableDataService;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import com.njcn.haronic.pojo.param.ThdDataQueryParm;
import com.njcn.haronic.pojo.vo.ThdDataVO;
import com.njcn.harmonic.param.ThdDataQueryParm;
import com.njcn.harmonic.pojo.vo.ThdDataVO;
import com.njcn.influx.pojo.po.HarmonicRatioData;
import com.njcn.influx.pojo.po.PowerQualityData;
import com.njcn.influx.service.HaronicRatioService;