|
@@ -1,12 +1,14 @@
|
|
package com.platform.opc.servie;
|
|
package com.platform.opc.servie;
|
|
|
|
|
|
import com.alibaba.fastjson.JSON;
|
|
import com.alibaba.fastjson.JSON;
|
|
|
|
+import com.platform.common.constant.RedisKeyConstants;
|
|
import com.platform.common.util.DateUtils;
|
|
import com.platform.common.util.DateUtils;
|
|
import com.platform.common.util.RedisUtils;
|
|
import com.platform.common.util.RedisUtils;
|
|
import com.platform.common.util.StringUtils;
|
|
import com.platform.common.util.StringUtils;
|
|
import com.platform.dao.entity.remote.RemoteOpcLog;
|
|
import com.platform.dao.entity.remote.RemoteOpcLog;
|
|
import com.platform.dao.mapper.remote.RemoteOpcLogMapper;
|
|
import com.platform.dao.mapper.remote.RemoteOpcLogMapper;
|
|
import com.platform.dao.mapper.remote.RemoteOpcMapper;
|
|
import com.platform.dao.mapper.remote.RemoteOpcMapper;
|
|
|
|
+import com.platform.dao.vo.query.remote.RemoteOpcVO;
|
|
import com.platform.opc.entity.OpcResult;
|
|
import com.platform.opc.entity.OpcResult;
|
|
import com.platform.opc.util.OpcDAClient;
|
|
import com.platform.opc.util.OpcDAClient;
|
|
import lombok.AllArgsConstructor;
|
|
import lombok.AllArgsConstructor;
|
|
@@ -45,8 +47,8 @@ public class OpcService {
|
|
public void getValue(Group group) throws JIException {
|
|
public void getValue(Group group) throws JIException {
|
|
log.info("拉取-" + group.getName());
|
|
log.info("拉取-" + group.getName());
|
|
log.info(Thread.currentThread().getName() + "-线程-" + group.getName() + new Date());
|
|
log.info(Thread.currentThread().getName() + "-线程-" + group.getName() + new Date());
|
|
- List<OpcResult> resultList = OpcDAClient.getItemValuesList(group);
|
|
|
|
- RedisUtils.setString("opc-id-" + group.getName(), JSON.toJSONString(resultList));
|
|
|
|
|
|
+ List<RemoteOpcVO> resultList = OpcDAClient.getItemValuesList(group);
|
|
|
|
+ RedisUtils.setString(RedisKeyConstants.DCS_PREFIX + group.getName(), JSON.toJSONString(resultList));
|
|
log.info("结束拉取" + group.getName());
|
|
log.info("结束拉取" + group.getName());
|
|
}
|
|
}
|
|
|
|
|
|
@@ -55,25 +57,25 @@ public class OpcService {
|
|
*/
|
|
*/
|
|
@Async
|
|
@Async
|
|
public void saveValue(String id) {
|
|
public void saveValue(String id) {
|
|
- log.info("保存-" + id);
|
|
|
|
- String jsonStr = RedisUtils.getString(id);
|
|
|
|
|
|
+ String jsonStr = RedisUtils.getString(RedisKeyConstants.DCS_PREFIX + id);
|
|
if (StringUtils.isNotBlank(jsonStr)) {
|
|
if (StringUtils.isNotBlank(jsonStr)) {
|
|
- List<OpcResult> resultList = JSON.parseArray(jsonStr, OpcResult.class);
|
|
|
|
|
|
+ log.info("保存-" + id);
|
|
|
|
+ List<RemoteOpcVO> resultList = JSON.parseArray(jsonStr, RemoteOpcVO.class);
|
|
List<RemoteOpcLog> addOpcLogList = new ArrayList<>();
|
|
List<RemoteOpcLog> addOpcLogList = new ArrayList<>();
|
|
List<RemoteOpcLog> updateRemoteOpcLogList = new ArrayList<>();
|
|
List<RemoteOpcLog> updateRemoteOpcLogList = new ArrayList<>();
|
|
Weekend<RemoteOpcLog> weekend = new Weekend<>(RemoteOpcLog.class);
|
|
Weekend<RemoteOpcLog> weekend = new Weekend<>(RemoteOpcLog.class);
|
|
WeekendCriteria<RemoteOpcLog, Object> weekendCriteria = weekend.weekendCriteria();
|
|
WeekendCriteria<RemoteOpcLog, Object> weekendCriteria = weekend.weekendCriteria();
|
|
// 查询当天是否已经存在了,存在则追加,否则更新
|
|
// 查询当天是否已经存在了,存在则追加,否则更新
|
|
LocalDateTime time = LocalDateTime.now();
|
|
LocalDateTime time = LocalDateTime.now();
|
|
- weekendCriteria.andIn(RemoteOpcLog::getPositionNum, resultList.stream().map(OpcResult::getId).collect(Collectors.toList()));
|
|
|
|
|
|
+ weekendCriteria.andIn(RemoteOpcLog::getPositionNum, resultList.stream().map(RemoteOpcVO::getPositionNum).collect(Collectors.toList()));
|
|
weekendCriteria.andEqualTo(RemoteOpcLog::getYear, time.getYear());
|
|
weekendCriteria.andEqualTo(RemoteOpcLog::getYear, time.getYear());
|
|
weekendCriteria.andEqualTo(RemoteOpcLog::getMonth, time.getMonthValue());
|
|
weekendCriteria.andEqualTo(RemoteOpcLog::getMonth, time.getMonthValue());
|
|
weekendCriteria.andEqualTo(RemoteOpcLog::getDay, time.getDayOfMonth());
|
|
weekendCriteria.andEqualTo(RemoteOpcLog::getDay, time.getDayOfMonth());
|
|
List<RemoteOpcLog> checkList = remoteOpcLogMapper.selectByExample(weekend);
|
|
List<RemoteOpcLog> checkList = remoteOpcLogMapper.selectByExample(weekend);
|
|
- for (OpcResult result : resultList) {
|
|
|
|
|
|
+ for (RemoteOpcVO result : resultList) {
|
|
RemoteOpcLog remoteOpcLog = new RemoteOpcLog();
|
|
RemoteOpcLog remoteOpcLog = new RemoteOpcLog();
|
|
remoteOpcLog.setPositionNum(result.getId());
|
|
remoteOpcLog.setPositionNum(result.getId());
|
|
- remoteOpcLog.setResult(new BigDecimal(result.getValue()));
|
|
|
|
|
|
+ remoteOpcLog.setResult(result.getResult());
|
|
LocalDateTime localDateTime = DateUtils.strToLocalDateTime(result.getTime(), DateUtils.PATTERN_YMD_HMS);
|
|
LocalDateTime localDateTime = DateUtils.strToLocalDateTime(result.getTime(), DateUtils.PATTERN_YMD_HMS);
|
|
remoteOpcLog.setCreatedTime(localDateTime);
|
|
remoteOpcLog.setCreatedTime(localDateTime);
|
|
remoteOpcLog.setYear(localDateTime.getYear());
|
|
remoteOpcLog.setYear(localDateTime.getYear());
|
|
@@ -81,7 +83,7 @@ public class OpcService {
|
|
remoteOpcLog.setDay(localDateTime.getDayOfMonth());
|
|
remoteOpcLog.setDay(localDateTime.getDayOfMonth());
|
|
// remoteOpcLog.setHour(localDateTime.getHour());
|
|
// remoteOpcLog.setHour(localDateTime.getHour());
|
|
// remoteOpcLog.setMinute(localDateTime.getMinute());
|
|
// remoteOpcLog.setMinute(localDateTime.getMinute());
|
|
- remoteOpcLog.setRemark(result.getTime().split(" ")[1] + "," + result.getValue() + ";");
|
|
|
|
|
|
+ remoteOpcLog.setRemark(result.getTime().split(" ")[1] + "," + result.getResult() + ";");
|
|
List<RemoteOpcLog> findItemList = checkList.stream().filter(remoteOpcLog1 -> remoteOpcLog1.getPositionNum().equals(result.getId())).collect(Collectors.toList());
|
|
List<RemoteOpcLog> findItemList = checkList.stream().filter(remoteOpcLog1 -> remoteOpcLog1.getPositionNum().equals(result.getId())).collect(Collectors.toList());
|
|
if (!CollectionUtils.isEmpty(findItemList) && findItemList.size() > 0) {
|
|
if (!CollectionUtils.isEmpty(findItemList) && findItemList.size() > 0) {
|
|
updateRemoteOpcLogList.add(remoteOpcLog);
|
|
updateRemoteOpcLogList.add(remoteOpcLog);
|