模板解析功能提交

This commit is contained in:
2023-05-22 20:56:54 +08:00
parent a16f49c888
commit 103106ce65
44 changed files with 1547 additions and 20 deletions

View File

@@ -30,6 +30,10 @@ public class BmdDto implements Serializable {
@NotNull(message = "数据编号,不为空") @NotNull(message = "数据编号,不为空")
private Integer idx; private Integer idx;
@SerializedName("Phase")
@NotNull(message = "相别,不为空")
private String phase;
@SerializedName("Type") @SerializedName("Type")
@NotNull(message = "数据类型,不为空") @NotNull(message = "数据类型,不为空")
private String type; private String type;

View File

@@ -0,0 +1,67 @@
package com.njcn.access.pojo.po;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
import com.njcn.db.bo.BaseEntity;
import java.io.Serializable;
import java.time.LocalDateTime;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
/**
* <p>
* 设备告警数据表
* </p>
*
* @author xuyang
* @since 2023-05-19
*/
@EqualsAndHashCode(callSuper = true)
@Data
@TableName("cs_alm")
public class CsAlmPO extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* id
*/
private String id;
/**
* 读写操作属性“r”
*/
private String opAttr;
/**
* 告警事件名称
*/
@MppMultiId(value = "name")
private String name;
/**
* 告警事件编号
*/
private Integer idx;
/**
* 告警事件类别“1”“2”
*/
private String type;
/**
* 别名
*/
private String anotherName;
/**
* 数据分类,唯一类别
*/
private String classId;
}

View File

@@ -0,0 +1,121 @@
package com.njcn.access.pojo.po;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
import java.io.Serializable;
import java.time.LocalDateTime;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
/**
* <p>
* 控制表
* </p>
*
* @author xuyang
* @since 2023-05-19
*/
@EqualsAndHashCode(callSuper = true)
@Data
@TableName("cs_ctrl")
public class CsCtrlPO extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* id
*/
private String id;
/**
* 读写操作属性“r”
*/
private String opAttr;
/**
* 参数名称
*/
@TableId(value = "name")
private String name;
/**
* 别名
*/
private String anotherName;
/**
* 参数编号
*/
private Integer idx;
/**
* 下发数据类型 “string”“float”“enum”
*/
private String type;
/**
* 是否需遥控校验 “1”“0”
*/
private Integer check;
/**
* 是否支持自动控制 “1”“0”
*/
private Integer auto;
/**
* 设置最大值
*/
private Integer maxNum;
/**
* 设置最小值
*/
private Integer minNum;
/**
* 参数为enum可设置的所有值序列
*/
private String ctlValue;
/**
* 参数string可设置字符串的长度上限
*/
private Integer strlen;
/**
* 是否加密“1”“0”
*/
private Integer encode;
/**
* 数据分类,唯一类别
*/
private String classId;
/**
* 创建用户
*/
private String createBy;
/**
* 创建时间
*/
private LocalDateTime createTime;
/**
* 更新用户
*/
private String updateBy;
/**
* 更新时间
*/
private LocalDateTime updateTime;
}

View File

@@ -0,0 +1,82 @@
package com.njcn.access.pojo.po;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
import com.njcn.db.bo.BaseEntity;
import java.io.Serializable;
import java.time.LocalDateTime;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
/**
* <p>
* 开入表
* </p>
*
* @author xuyang
* @since 2023-05-19
*/
@EqualsAndHashCode(callSuper = true)
@Data
@TableName("cs_di")
public class CsDiPO extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* Id
*/
private String id;
/**
* 读写操作属性“r”
*/
private String opAttr;
/**
* 开入信号名称
*/
@MppMultiId(value = "name")
private String name;
/**
* 开入编号
*/
private Integer idx;
/**
* 是否存储“1”“0”
*/
private Integer storeFlag;
/**
* 当前值“1”“0”
*/
private Integer curSts;
/**
* 数据分类,唯一类别
*/
private String classId;
/**
* 数据是否上送 “1”“0”
*/
private Integer tranFlag;
/**
* 上送规则 变化:“change”周期:“period”
*/
private String tranRule;
/**
* 别名
*/
private String anotherName;
}

View File

@@ -0,0 +1,49 @@
package com.njcn.access.pojo.po;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
import java.io.Serializable;
import java.time.LocalDateTime;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
/**
* <p>
*
* </p>
*
* @author xuyang
* @since 2023-05-18
*/
@EqualsAndHashCode(callSuper = true)
@Data
@TableName("cs_dict")
public class CsDict extends BaseEntity {
private static final long serialVersionUID = 1L;
private String id;
private String pid;
private String name;
private String anotherName;
private Boolean status;
private Integer sort;
private String createBy;
private LocalDateTime createTime;
private String updateBy;
private LocalDateTime updateTime;
}

View File

@@ -0,0 +1,92 @@
package com.njcn.access.pojo.po;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
import com.njcn.db.bo.BaseEntity;
import java.io.Serializable;
import java.time.LocalDateTime;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
/**
* <p>
* 开出表
* </p>
*
* @author xuyang
* @since 2023-05-19
*/
@EqualsAndHashCode(callSuper = true)
@Data
@TableName("cs_do")
public class CsDoPO extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* Id
*/
private String id;
/**
* 读写操作属性“r”
*/
private String opAttr;
/**
* 开出信号名称
*/
@MppMultiId(value = "name")
private String name;
/**
* DO编号
*/
private Integer idx;
/**
* 当前值/设定值“1”“0”
*/
private Integer curSts;
/**
* 是否可远程控制 “1”“0”
*/
private Integer ctlSts;
/**
* 创建用户
*/
private String createBy;
/**
* 创建时间
*/
private LocalDateTime createTime;
/**
* 更新用户
*/
private String updateBy;
/**
* 更新时间
*/
private LocalDateTime updateTime;
/**
* 别名
*/
private String anotherName;
/**
* 数据分类,唯一类别
*/
private String classId;
}

View File

@@ -0,0 +1,84 @@
package com.njcn.access.pojo.po;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
import com.njcn.db.bo.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.time.LocalDateTime;
/**
* <p>
* 事件表
* </p>
*
* @author xuyang
* @since 2023-05-19
*/
@EqualsAndHashCode(callSuper = true)
@Data
@TableName("cs_evt")
public class CsEvtPO extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* id
*/
private String id;
/**
* 读写操作属性“r”
*/
private String opAttr;
/**
* 事件信息名称
*/
@MppMultiId(value = "name")
private String name;
/**
* 事件编号
*/
private Integer idx;
/**
* 事件类别“1”“2”
*/
private String type;
/**
* 创建用户
*/
private String createBy;
/**
* 创建时间
*/
private LocalDateTime createTime;
/**
* 更新用户
*/
private String updateBy;
/**
* 更新时间
*/
private LocalDateTime updateTime;
/**
* 别名
*/
private String anotherName;
/**
* 数据分类,唯一类别
*/
private String classId;
}

View File

@@ -0,0 +1,62 @@
package com.njcn.access.pojo.po;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
import com.njcn.db.bo.BaseEntity;
import java.io.Serializable;
import java.time.LocalDateTime;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
/**
* <p>
* 事件参数表
* </p>
*
* @author xuyang
* @since 2023-05-19
*/
@EqualsAndHashCode(callSuper = true)
@Data
@TableName("cs_evt_parm")
public class CsEvtParmPO extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* id
*/
private String id;
/**
* pid
*/
@MppMultiId(value = "pid")
private String pid;
/**
* 事件信息名称
*/
@MppMultiId(value = "name")
private String name;
/**
* 参数类型“string”“float”
*/
private String type;
/**
* 参数单位
*/
private String unit;
/**
* 参数值
*/
private String data;
}

View File

@@ -0,0 +1,111 @@
package com.njcn.access.pojo.po;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
import java.io.Serializable;
import java.time.LocalDateTime;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;
/**
* <p>
* 参数表
* </p>
*
* @author xuyang
* @since 2023-05-19
*/
@Data
@TableName("cs_parm")
public class CsParmPO extends BaseEntity {
private static final long serialVersionUID = 1L;
private String id;
/**
* 读写操作属性“r”
*/
private String opAttr;
/**
* 参数名称
*/
@TableId(value = "name")
private String name;
/**
* 别名
*/
private String anotherName;
/**
* 参数编号
*/
private Integer idx;
/**
* 系统参数“sys”运行参数“run” 功能参数:“fun”
*/
private String type;
/**
* 参数数据类型 “string”“float”“enum”
*/
private String dataType;
/**
* 是否可修改 “1”“0”
*/
private Integer modifyFlag;
/**
* 设置最大值
*/
private Integer maxNum;
/**
* 设置最小值
*/
private Integer minNum;
/**
* 参数为enum可设置的所有值序列
*/
private String setValue;
/**
* 参数string可设置字符串的长度上限
*/
private Integer strlen;
/**
* 参数缺省值
*/
private String defaultValue;
/**
* 创建时间
*/
private LocalDateTime createTime;
/**
* 更新用户
*/
private String updateBy;
/**
* 更新时间
*/
private LocalDateTime updateTime;
/**
* 数据分类,唯一类别
*/
private String classId;
}

View File

@@ -0,0 +1,101 @@
package com.njcn.access.pojo.po;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
import java.io.Serializable;
import java.time.LocalDateTime;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
/**
* <p>
* 设备定值数据表
* </p>
*
* @author xuyang
* @since 2023-05-19
*/
@EqualsAndHashCode(callSuper = true)
@Data
@TableName("cs_set")
public class CsSetPO extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* id
*/
private String id;
/**
* 读写操作属性“r”
*/
private String opAttr;
/**
* 参数名称
*/
@TableId(value = "name")
private String name;
/**
* 别名
*/
private String anotherName;
/**
* 参数编号
*/
private Integer idx;
/**
* 定值数据类型 “hex”“number”
*/
private String dataType;
/**
* 设置最大值
*/
private Integer maxNum;
/**
* 设置最小值
*/
private Integer minNum;
/**
* 定值缺省值
*/
private String defaultValue;
/**
* 数据分类,唯一类别
*/
private String classId;
/**
* 创建用户
*/
private String createBy;
/**
* 创建时间
*/
private LocalDateTime createTime;
/**
* 更新用户
*/
private String updateBy;
/**
* 更新时间
*/
private LocalDateTime updateTime;
}

View File

@@ -0,0 +1,77 @@
package com.njcn.access.pojo.po;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
import com.njcn.db.bo.BaseEntity;
import java.io.Serializable;
import java.time.LocalDateTime;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
/**
* <p>
* 状态表
* </p>
*
* @author xuyang
* @since 2023-05-19
*/
@EqualsAndHashCode(callSuper = true)
@Data
@TableName("cs_sts")
public class CsStsPO extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* id
*/
private String id;
/**
* 读写操作属性“r”
*/
private String opAttr;
/**
* 状态名称
*/
@MppMultiId(value = "name")
private String name;
/**
* 状态编号
*/
private Integer idx;
/**
* 是否存储“1”“0”
*/
private Integer storeFlag;
/**
* 当前值“1”“0”
*/
private Integer curSts;
/**
* 数据分类,唯一类别
*/
private String classId;
/**
* 上送规则 变化:“change”周期:“period”
*/
private String tranRule;
/**
* 别名
*/
private String anotherName;
}

View File

@@ -153,7 +153,7 @@ public class MqttMessageHandler {
ModelDto modelDto = gson.fromJson(new String(message.getPayload(), StandardCharsets.UTF_8), ModelDto.class); ModelDto modelDto = gson.fromJson(new String(message.getPayload(), StandardCharsets.UTF_8), ModelDto.class);
HttpResult<CsEquipmentDeliveryVO> pojo = equipmentFeignClient.queryEquipmentByndid(nDid); HttpResult<CsEquipmentDeliveryVO> pojo = equipmentFeignClient.queryEquipmentByndid(nDid);
if (!Objects.isNull(pojo)){ if (!Objects.isNull(pojo)){
String devType = pojo.getData().getDevType(); String devType = pojo.getData().getDevModel();
String dictCode = dicDataFeignClient.getDicDataById(devType).getData().getCode(); String dictCode = dicDataFeignClient.getDicDataById(devType).getData().getCode();
//直连设备处理 //直连设备处理
if (Objects.equals(dictCode, DicDataEnum.CONNECT_DEV.getCode())){ if (Objects.equals(dictCode, DicDataEnum.CONNECT_DEV.getCode())){

View File

@@ -0,0 +1,16 @@
package com.njcn.access.mapper;
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
import com.njcn.access.pojo.po.CsAlmPO;
/**
* <p>
* 设备告警数据表 Mapper 接口
* </p>
*
* @author xuyang
* @since 2023-05-19
*/
public interface CsAlmMapper extends MppBaseMapper<CsAlmPO> {
}

View File

@@ -1,6 +1,6 @@
package com.njcn.access.mapper; package com.njcn.access.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
import com.njcn.access.pojo.po.CsBmdPO; import com.njcn.access.pojo.po.CsBmdPO;
/** /**
@@ -11,6 +11,6 @@ import com.njcn.access.pojo.po.CsBmdPO;
* @author xuyang * @author xuyang
* @since 2023-05-11 * @since 2023-05-11
*/ */
public interface CsBmdMapper extends BaseMapper<CsBmdPO> { public interface CsBmdMapper extends MppBaseMapper<CsBmdPO> {
} }

View File

@@ -0,0 +1,16 @@
package com.njcn.access.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.access.pojo.po.CsCtrlPO;
/**
* <p>
* 控制表 Mapper 接口
* </p>
*
* @author xuyang
* @since 2023-05-19
*/
public interface CsCtrlMapper extends BaseMapper<CsCtrlPO> {
}

View File

@@ -0,0 +1,16 @@
package com.njcn.access.mapper;
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
import com.njcn.access.pojo.po.CsDiPO;
/**
* <p>
* 开入表 Mapper 接口
* </p>
*
* @author xuyang
* @since 2023-05-19
*/
public interface CsDiMapper extends MppBaseMapper<CsDiPO> {
}

View File

@@ -0,0 +1,16 @@
package com.njcn.access.mapper;
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
import com.njcn.access.pojo.po.CsDoPO;
/**
* <p>
* 开出表 Mapper 接口
* </p>
*
* @author xuyang
* @since 2023-05-19
*/
public interface CsDoMapper extends MppBaseMapper<CsDoPO> {
}

View File

@@ -0,0 +1,16 @@
package com.njcn.access.mapper;
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
import com.njcn.access.pojo.po.CsEvtPO;
/**
* <p>
* 事件表 Mapper 接口
* </p>
*
* @author xuyang
* @since 2023-05-19
*/
public interface CsEvtMapper extends MppBaseMapper<CsEvtPO> {
}

View File

@@ -0,0 +1,16 @@
package com.njcn.access.mapper;
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
import com.njcn.access.pojo.po.CsEvtParmPO;
/**
* <p>
* 事件参数表 Mapper 接口
* </p>
*
* @author xuyang
* @since 2023-05-19
*/
public interface CsEvtParmMapper extends MppBaseMapper<CsEvtParmPO> {
}

View File

@@ -0,0 +1,16 @@
package com.njcn.access.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.access.pojo.po.CsParmPO;
/**
* <p>
* 参数表 Mapper 接口
* </p>
*
* @author xuyang
* @since 2023-05-19
*/
public interface CsParmMapper extends BaseMapper<CsParmPO> {
}

View File

@@ -0,0 +1,16 @@
package com.njcn.access.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.access.pojo.po.CsSetPO;
/**
* <p>
* 设备定值数据表 Mapper 接口
* </p>
*
* @author xuyang
* @since 2023-05-19
*/
public interface CsSetMapper extends BaseMapper<CsSetPO> {
}

View File

@@ -0,0 +1,16 @@
package com.njcn.access.mapper;
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
import com.njcn.access.pojo.po.CsStsPO;
/**
* <p>
* 状态表 Mapper 接口
* </p>
*
* @author xuyang
* @since 2023-05-19
*/
public interface CsStsMapper extends MppBaseMapper<CsStsPO> {
}

View File

@@ -0,0 +1,19 @@
package com.njcn.access.service;
import com.njcn.access.pojo.po.CsAlmPO;
import java.util.List;
/**
* <p>
* 设备告警数据表 服务类
* </p>
*
* @author xuyang
* @since 2023-05-19
*/
public interface ICsAlmService {
void saveData(List<CsAlmPO> list);
}

View File

@@ -2,6 +2,9 @@ package com.njcn.access.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.access.pojo.po.CsBmdPO; import com.njcn.access.pojo.po.CsBmdPO;
import com.njcn.access.pojo.po.CsEpdPqdPO;
import java.util.List;
/** /**
* <p> * <p>
@@ -11,6 +14,8 @@ import com.njcn.access.pojo.po.CsBmdPO;
* @author xuyang * @author xuyang
* @since 2023-05-11 * @since 2023-05-11
*/ */
public interface ICsBmdService extends IService<CsBmdPO> { public interface ICsBmdService {
void saveData(List<CsBmdPO> list);
} }

View File

@@ -0,0 +1,13 @@
package com.njcn.access.service;
/**
* <p>
* 控制表 服务类
* </p>
*
* @author xuyang
* @since 2023-05-19
*/
public interface ICsCtrlService {
}

View File

@@ -0,0 +1,19 @@
package com.njcn.access.service;
import com.njcn.access.pojo.po.CsDiPO;
import java.util.List;
/**
* <p>
* 开入表 服务类
* </p>
*
* @author xuyang
* @since 2023-05-19
*/
public interface ICsDiService {
void saveData(List<CsDiPO> list);
}

View File

@@ -0,0 +1,19 @@
package com.njcn.access.service;
import com.njcn.access.pojo.po.CsDoPO;
import java.util.List;
/**
* <p>
* 开出表 服务类
* </p>
*
* @author xuyang
* @since 2023-05-19
*/
public interface ICsDoService {
void saveData(List<CsDoPO> list);
}

View File

@@ -1,7 +1,5 @@
package com.njcn.access.service; package com.njcn.access.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.github.jeffreyning.mybatisplus.service.IMppService;
import com.njcn.access.pojo.po.CsEpdPqdPO; import com.njcn.access.pojo.po.CsEpdPqdPO;
import java.util.List; import java.util.List;

View File

@@ -0,0 +1,19 @@
package com.njcn.access.service;
import com.njcn.access.pojo.po.CsEvtParmPO;
import java.util.List;
/**
* <p>
* 事件参数表 服务类
* </p>
*
* @author xuyang
* @since 2023-05-19
*/
public interface ICsEvtParmService {
boolean saveData(List<CsEvtParmPO> list);
}

View File

@@ -0,0 +1,20 @@
package com.njcn.access.service;
import com.njcn.access.pojo.po.CsEvtPO;
import java.util.List;
import java.util.Map;
/**
* <p>
* 事件表 服务类
* </p>
*
* @author xuyang
* @since 2023-05-19
*/
public interface ICsEvtService {
Map<String,String> saveData(List<CsEvtPO> list);
}

View File

@@ -0,0 +1,13 @@
package com.njcn.access.service;
/**
* <p>
* 参数表 服务类
* </p>
*
* @author xuyang
* @since 2023-05-19
*/
public interface ICsParmService {
}

View File

@@ -0,0 +1,13 @@
package com.njcn.access.service;
/**
* <p>
* 设备定值数据表 服务类
* </p>
*
* @author xuyang
* @since 2023-05-19
*/
public interface ICsSetService {
}

View File

@@ -0,0 +1,19 @@
package com.njcn.access.service;
import com.njcn.access.pojo.po.CsStsPO;
import java.util.List;
/**
* <p>
* 状态表 服务类
* </p>
*
* @author xuyang
* @since 2023-05-19
*/
public interface ICsStsService {
void saveData(List<CsStsPO> list);
}

View File

@@ -0,0 +1,27 @@
package com.njcn.access.service.serviceImpl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
import com.njcn.access.mapper.CsAlmMapper;
import com.njcn.access.pojo.po.CsAlmPO;
import com.njcn.access.service.ICsAlmService;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* <p>
* 设备告警数据表 服务实现类
* </p>
*
* @author xuyang
* @since 2023-05-19
*/
@Service
public class CsAlmServiceImpl extends MppServiceImpl<CsAlmMapper, CsAlmPO> implements ICsAlmService {
@Override
public void saveData(List<CsAlmPO> list) {
this.saveOrUpdateBatchByMultiId(list,100);
}
}

View File

@@ -1,11 +1,13 @@
package com.njcn.access.service.serviceImpl; package com.njcn.access.service.serviceImpl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
import com.njcn.access.mapper.CsBmdMapper; import com.njcn.access.mapper.CsBmdMapper;
import com.njcn.access.pojo.po.CsBmdPO; import com.njcn.access.pojo.po.CsBmdPO;
import com.njcn.access.service.ICsBmdService; import com.njcn.access.service.ICsBmdService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List;
/** /**
* <p> * <p>
* 服务实现类 * 服务实现类
@@ -15,6 +17,10 @@ import org.springframework.stereotype.Service;
* @since 2023-05-11 * @since 2023-05-11
*/ */
@Service @Service
public class CsBmdServiceImpl extends ServiceImpl<CsBmdMapper, CsBmdPO> implements ICsBmdService { public class CsBmdServiceImpl extends MppServiceImpl<CsBmdMapper, CsBmdPO> implements ICsBmdService {
@Override
public void saveData(List<CsBmdPO> list) {
this.saveOrUpdateBatchByMultiId(list,100);
}
} }

View File

@@ -0,0 +1,20 @@
package com.njcn.access.service.serviceImpl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.access.mapper.CsCtrlMapper;
import com.njcn.access.pojo.po.CsCtrlPO;
import com.njcn.access.service.ICsCtrlService;
import org.springframework.stereotype.Service;
/**
* <p>
* 控制表 服务实现类
* </p>
*
* @author xuyang
* @since 2023-05-19
*/
@Service
public class CsCtrlServiceImpl extends ServiceImpl<CsCtrlMapper, CsCtrlPO> implements ICsCtrlService {
}

View File

@@ -0,0 +1,27 @@
package com.njcn.access.service.serviceImpl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
import com.njcn.access.mapper.CsDiMapper;
import com.njcn.access.pojo.po.CsDiPO;
import com.njcn.access.service.ICsDiService;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* <p>
* 开入表 服务实现类
* </p>
*
* @author xuyang
* @since 2023-05-19
*/
@Service
public class CsDiServiceImpl extends MppServiceImpl<CsDiMapper, CsDiPO> implements ICsDiService {
@Override
public void saveData(List<CsDiPO> list) {
this.saveOrUpdateBatchByMultiId(list,100);
}
}

View File

@@ -0,0 +1,26 @@
package com.njcn.access.service.serviceImpl;
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
import com.njcn.access.mapper.CsDoMapper;
import com.njcn.access.pojo.po.CsDoPO;
import com.njcn.access.service.ICsDoService;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* <p>
* 开出表 服务实现类
* </p>
*
* @author xuyang
* @since 2023-05-19
*/
@Service
public class CsDoServiceImpl extends MppServiceImpl<CsDoMapper, CsDoPO> implements ICsDoService {
@Override
public void saveData(List<CsDoPO> list) {
this.saveOrUpdateBatchByMultiId(list,100);
}
}

View File

@@ -0,0 +1,26 @@
package com.njcn.access.service.serviceImpl;
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
import com.njcn.access.mapper.CsEvtParmMapper;
import com.njcn.access.pojo.po.CsEvtParmPO;
import com.njcn.access.service.ICsEvtParmService;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* <p>
* 事件参数表 服务实现类
* </p>
*
* @author xuyang
* @since 2023-05-19
*/
@Service
public class CsEvtParmServiceImpl extends MppServiceImpl<CsEvtParmMapper, CsEvtParmPO> implements ICsEvtParmService {
@Override
public boolean saveData(List<CsEvtParmPO> list) {
return this.saveOrUpdateBatchByMultiId(list,100);
}
}

View File

@@ -0,0 +1,40 @@
package com.njcn.access.service.serviceImpl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
import com.njcn.access.mapper.CsEvtMapper;
import com.njcn.access.pojo.po.CsEvtPO;
import com.njcn.access.service.ICsEvtService;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* <p>
* 事件表 服务实现类
* </p>
*
* @author xuyang
* @since 2023-05-19
*/
@Service
public class CsEvtServiceImpl extends MppServiceImpl<CsEvtMapper, CsEvtPO> implements ICsEvtService {
@Override
public Map<String,String> saveData(List<CsEvtPO> list) {
this.saveOrUpdateBatchByMultiId(list,100);
List<String> nameList = list.stream().map(CsEvtPO::getName).collect(Collectors.toList());
LambdaQueryWrapper<CsEvtPO> lambdaQueryWrapper = new LambdaQueryWrapper<CsEvtPO>();
lambdaQueryWrapper.in(CsEvtPO::getName,nameList);
List<CsEvtPO> list1 = this.baseMapper.selectList(lambdaQueryWrapper);
Map<String,String> map = new HashMap<>();
list1.forEach(item->{
map.put(item.getName(),item.getId());
});
return map;
}
}

View File

@@ -0,0 +1,20 @@
package com.njcn.access.service.serviceImpl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.access.mapper.CsParmMapper;
import com.njcn.access.pojo.po.CsParmPO;
import com.njcn.access.service.ICsParmService;
import org.springframework.stereotype.Service;
/**
* <p>
* 参数表 服务实现类
* </p>
*
* @author xuyang
* @since 2023-05-19
*/
@Service
public class CsParmServiceImpl extends ServiceImpl<CsParmMapper, CsParmPO> implements ICsParmService {
}

View File

@@ -0,0 +1,20 @@
package com.njcn.access.service.serviceImpl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.access.mapper.CsSetMapper;
import com.njcn.access.pojo.po.CsSetPO;
import com.njcn.access.service.ICsSetService;
import org.springframework.stereotype.Service;
/**
* <p>
* 设备定值数据表 服务实现类
* </p>
*
* @author xuyang
* @since 2023-05-19
*/
@Service
public class CsSetServiceImpl extends ServiceImpl<CsSetMapper, CsSetPO> implements ICsSetService {
}

View File

@@ -0,0 +1,27 @@
package com.njcn.access.service.serviceImpl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
import com.njcn.access.mapper.CsStsMapper;
import com.njcn.access.pojo.po.CsStsPO;
import com.njcn.access.service.ICsStsService;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* <p>
* 状态表 服务实现类
* </p>
*
* @author xuyang
* @since 2023-05-19
*/
@Service
public class CsStsServiceImpl extends MppServiceImpl<CsStsMapper, CsStsPO> implements ICsStsService {
@Override
public void saveData(List<CsStsPO> list) {
this.saveOrUpdateBatchByMultiId(list,100);
}
}

View File

@@ -2,9 +2,7 @@ package com.njcn.access.service.serviceImpl;
import cn.hutool.core.date.DatePattern; import cn.hutool.core.date.DatePattern;
import com.alibaba.nacos.shaded.com.google.gson.Gson; import com.alibaba.nacos.shaded.com.google.gson.Gson;
import com.njcn.access.enums.AccessResponseEnum; import com.njcn.access.pojo.dto.data.*;
import com.njcn.access.pojo.dto.data.BmdDto;
import com.njcn.access.pojo.dto.data.EpdPqdDto;
import com.njcn.access.pojo.dto.devModel.*; import com.njcn.access.pojo.dto.devModel.*;
import com.njcn.access.pojo.param.DevModelParam; import com.njcn.access.pojo.param.DevModelParam;
import com.njcn.access.pojo.po.*; import com.njcn.access.pojo.po.*;
@@ -13,9 +11,6 @@ import com.njcn.access.utils.JsonUtil;
import com.njcn.algorithm.api.CsDictFeignClient; import com.njcn.algorithm.api.CsDictFeignClient;
import com.njcn.algorithm.api.DevModelFeignClient; import com.njcn.algorithm.api.DevModelFeignClient;
import com.njcn.algorithm.pojo.dto.CsDictDTO; import com.njcn.algorithm.pojo.dto.CsDictDTO;
import com.njcn.algorithm.pojo.param.CsDevModelAddParm;
import com.njcn.algorithm.pojo.po.CsDevModelPO;
import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.oss.utils.FileStorageUtil; import com.njcn.oss.utils.FileStorageUtil;
import com.njcn.system.api.DicDataFeignClient; import com.njcn.system.api.DicDataFeignClient;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
@@ -29,7 +24,9 @@ import java.io.IOException;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.Objects; import java.util.Objects;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@@ -61,6 +58,27 @@ public class DevModelServiceImpl implements IDevModelService {
private final ICsEpdPqdService csEpdPqdService; private final ICsEpdPqdService csEpdPqdService;
private final ICsBmdService csBmdService;
private final ICsEvtService csEvtService;
private final ICsEvtParmService csEvtParmService;
private final ICsAlmService csAlmService;
private final ICsStsService csStsService;
private final ICsDiService csDiService;
private final ICsDoService csDoService;
private final ICsParmService csParmService;
private final ICsCtrlService csCtrlService;
private final ICsSetService csSetService;
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void add(DevModelParam devModelParam) { public void add(DevModelParam devModelParam) {
@@ -164,11 +182,33 @@ public class DevModelServiceImpl implements IDevModelService {
//录入Bmd //录入Bmd
List<BmdDto> bmdDto = devModDto.getDataList().get(0).getBmdDto(); List<BmdDto> bmdDto = devModDto.getDataList().get(0).getBmdDto();
if (!CollectionUtils.isEmpty(bmdDto)){ if (!CollectionUtils.isEmpty(bmdDto)){
insertEpdPqd(pqdDto); insertBmd(bmdDto);
}
//录入Evt
List<EvtDto> evtDto = devModDto.getDataList().get(0).getEvtDto();
if (!CollectionUtils.isEmpty(evtDto)){
insertEvt(evtDto);
}
//录入Alm
List<AlmDto> almDto = devModDto.getDataList().get(0).getAlmDto();
if (!CollectionUtils.isEmpty(almDto)){
insertAlm(almDto);
}
//录入Alm
List<StsDto> stsDto = devModDto.getDataList().get(0).getStsDto();
if (!CollectionUtils.isEmpty(stsDto)){
insertSts(stsDto);
}
//录入Di
List<DiDto> diDto = devModDto.getDataList().get(0).getDiDto();
if (!CollectionUtils.isEmpty(diDto)){
insertDi(diDto);
}
//录入Do
List<DoDto> doDto = devModDto.getDataList().get(0).getDoDto();
if (!CollectionUtils.isEmpty(doDto)){
insertDo(doDto);
} }
} }
/** /**
@@ -200,11 +240,108 @@ public class DevModelServiceImpl implements IDevModelService {
CsBmdPO csBmdPo = new CsBmdPO(); CsBmdPO csBmdPo = new CsBmdPO();
BeanUtils.copyProperties(item,csBmdPo); BeanUtils.copyProperties(item,csBmdPo);
CsDictDTO csDictDTO = csDictFeignClient.getOwnAndFatherData(item.getName()).getData(); CsDictDTO csDictDTO = csDictFeignClient.getOwnAndFatherData(item.getName()).getData();
if (Objects.isNull(item.getPhase())){
csBmdPo.setPhase("M");
}
if (!CollectionUtils.isEmpty(item.getStatMethod())){
csBmdPo.setStatMethod(item.getStatMethod().stream().map(String::valueOf).collect(Collectors.joining(",")));
}
csBmdPo.setAnotherName(csDictDTO.getName());
csBmdPo.setClassId(csDictDTO.getFatherName());
return csBmdPo; return csBmdPo;
}).collect(Collectors.toList()); }).collect(Collectors.toList());
csBmdService.saveData(list);
}
/**
* Evt字典录入
*/
public void insertEvt(List<EvtDto> evtDto) {
List<CsEvtParmPO> parmList = new ArrayList<>();
List<CsEvtPO> evtList = evtDto.stream().map(item->{
CsEvtPO csEvtPo = new CsEvtPO();
BeanUtils.copyProperties(item,csEvtPo);
CsDictDTO csDictDTO = csDictFeignClient.getOwnAndFatherData(item.getName()).getData();
csEvtPo.setAnotherName(csDictDTO.getName());
csEvtPo.setClassId(csDictDTO.getFatherName());
return csEvtPo;
}).collect(Collectors.toList());
Map<String,String> map = csEvtService.saveData(evtList);
evtDto.forEach(item->{
List<EvtParamDto> evtParamDtoList = item.getParam();
if (!CollectionUtils.isEmpty(evtParamDtoList)){
evtParamDtoList.forEach(item2->{
CsEvtParmPO csEvtParmPo = new CsEvtParmPO();
BeanUtils.copyProperties(item2,csEvtParmPo);
csEvtParmPo.setPid(map.get(item.getName()));
parmList.add(csEvtParmPo);
});
}
});
if (!CollectionUtils.isEmpty(parmList)){
csEvtParmService.saveData(parmList);
}
}
/**
* Alm字典录入
*/
public void insertAlm(List<AlmDto> almDto) {
List<CsAlmPO> list = almDto.stream().map(item->{
CsAlmPO csAlmPo = new CsAlmPO();
BeanUtils.copyProperties(item,csAlmPo);
CsDictDTO csDictDTO = csDictFeignClient.getOwnAndFatherData(item.getName()).getData();
csAlmPo.setAnotherName(csDictDTO.getName());
csAlmPo.setClassId(csDictDTO.getFatherName());
return csAlmPo;
}).collect(Collectors.toList());
csAlmService.saveData(list);
}
/**
* Sts字典录入
*/
public void insertSts(List<StsDto> stsDto) {
List<CsStsPO> list = stsDto.stream().map(item->{
CsStsPO csStsPo = new CsStsPO();
BeanUtils.copyProperties(item,csStsPo);
CsDictDTO csDictDTO = csDictFeignClient.getOwnAndFatherData(item.getName()).getData();
csStsPo.setAnotherName(csDictDTO.getName());
csStsPo.setClassId(csDictDTO.getFatherName());
return csStsPo;
}).collect(Collectors.toList());
csStsService.saveData(list);
}
/**
* Di字典录入
*/
public void insertDi(List<DiDto> diDto) {
List<CsDiPO> list = diDto.stream().map(item->{
CsDiPO csDiPo = new CsDiPO();
BeanUtils.copyProperties(item,csDiPo);
CsDictDTO csDictDTO = csDictFeignClient.getOwnAndFatherData(item.getName()).getData();
csDiPo.setAnotherName(csDictDTO.getName());
csDiPo.setClassId(csDictDTO.getFatherName());
return csDiPo;
}).collect(Collectors.toList());
csDiService.saveData(list);
}
/**
* Do字典录入
*/
public void insertDo(List<DoDto> doDto) {
List<CsDoPO> list = doDto.stream().map(item->{
CsDoPO csDoPo = new CsDoPO();
BeanUtils.copyProperties(item,csDoPo);
CsDictDTO csDictDTO = csDictFeignClient.getOwnAndFatherData(item.getName()).getData();
csDoPo.setAnotherName(csDictDTO.getName());
csDoPo.setClassId(csDictDTO.getFatherName());
return csDoPo;
}).collect(Collectors.toList());
csDoService.saveData(list);
} }
} }