1.mysql台账同步oracle

This commit is contained in:
wr
2024-10-16 17:09:07 +08:00
parent bd153dc7b9
commit 59522c66d9
5 changed files with 114 additions and 70 deletions

View File

@@ -48,7 +48,7 @@ public enum PvDeviceResponseEnum {
NEWSTATION_REPEAT("A0371","新能源场站名称已存在"),
PROJECT_OR_NOT("A00550","项目名称为空,请检查信息是否存在!"),
PROVINCE_OR_NOT("A00550","省级名称为空,请检查信息是否存在!"),
GD_OR_NOT("A00550","供电名称为空,请检查信息是否存在!"),
GD_OR_NOT("A00550","供电公司名称为空,请检查信息是否存在!"),
;

View File

@@ -3,7 +3,6 @@ package com.njcn.device.pq.pojo.param.oracle;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @author wr
@@ -14,23 +13,15 @@ import java.util.List;
public class SyncLedgerDelete implements Serializable {
/**
* 线路信息表
*/
private List<String> line;
/**
* 母线信息表
*/
private List<String> subVoltage;
/**
* 装置信息表
*/
private List<String> device;
private Integer id;
private String name;
private Integer superId;
private String superName;
/**
* 变电站信息表
* 等级0-项目名称1- 工程名称2-单位3-部门4-终端5-母线6-监测点
*/
private List<String> substation;
private Integer level;
}

View File

@@ -11,7 +11,6 @@ import cn.hutool.core.text.StrBuilder;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.http.HttpRequest;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
@@ -55,10 +54,8 @@ import com.njcn.system.enums.DicDataEnum;
import com.njcn.system.enums.DicDataTypeEnum;
import com.njcn.system.pojo.po.Area;
import com.njcn.system.pojo.po.DictData;
import com.njcn.web.utils.HttpServletUtil;
import com.njcn.web.utils.RequestUtil;
import com.njcn.web.utils.RestTemplateUtil;
import io.swagger.annotations.ApiModelProperty;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
@@ -118,6 +115,9 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
@Value("${oracle.syncLedgerUpdateLine}")
private String updateUrl;
@Value("${oracle.syncLedgerDeleteLine}")
private String urlDelete;
/**
* 终端新增操作
*
@@ -799,7 +799,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
* oracle http远程调用接口
*/
SyncLedgerUpdate syncLedger = oracleSyncLedgerUpdate(updateTerminalParam, oldSubName, gbName);
ResponseEntity<Map> userEntity = RestTemplateUtil.post(updateUrl, syncLedger, Map.class);
ResponseEntity<String> userEntity = RestTemplateUtil.post(updateUrl, syncLedger, String.class);
}
return true;
}
@@ -1360,6 +1360,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
List<Line> deviceList = this.list(lambdaQueryWrapper);
if (CollectionUtil.isNotEmpty(deviceList)) {
List<String> devIndexList = deviceList.stream().map(Line::getId).collect(Collectors.toList());
this.removeByIds(devIndexList);
deviceMapper.deleteBatchIds(devIndexList);
devFuctionMapper.deleteBatchIds(devIndexList);
@@ -1455,6 +1456,10 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
} else {
throw new BusinessException(CommonResponseEnum.FAIL);
}
if (isSync) {
SyncLedgerDelete delete = oracleSyncLedgerDelete(obj);
ResponseEntity<String> userEntity = RestTemplateUtil.post(urlDelete, delete, String.class);
}
return true;
}
@@ -1843,6 +1848,21 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
@Override
@Transactional(rollbackFor = Exception.class)
public String terminalSync(SyncTerminalParam syncTerminalParam) {
if (isSync) {
/***
* oracle http远程调用接口
*/
SyncLedger syncLedger = oracleSyncLedger(syncTerminalParam);
ResponseEntity<Map> userEntity = RestTemplateUtil.post(url, syncLedger, Map.class);
if (HttpURLConnection.HTTP_OK == userEntity.getStatusCodeValue()) {
//获取返回体
Map body = userEntity.getBody();
Integer oracleLineId = Integer.valueOf(body.get("oracleLineId").toString());
Integer oracleDevId = Integer.valueOf(body.get("oracleDevId").toString());
syncTerminalParam.setOracleLineId(oracleLineId);
syncTerminalParam.setOracleDevId(oracleDevId);
}
}
String projectIndex = null;
String provinceIndex = null;
String gdIndex = null;
@@ -2024,21 +2044,6 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
deptLine.setId(syncTerminalParam.getDeptId());
deptLine.setLineId(line.getId());
deptLineMapper.insert(deptLine);
if (isSync) {
/***
* oracle http远程调用接口
*/
SyncLedger syncLedger = oracleSyncLedger(syncTerminalParam);
ResponseEntity<Map> userEntity = RestTemplateUtil.post(url, syncLedger, Map.class);
if (HttpURLConnection.HTTP_OK == userEntity.getStatusCodeValue()) {
//获取返回体
Map body = userEntity.getBody();
Integer oracleLineId = Integer.valueOf(body.get("oracleLineId").toString());
Integer oracleDevId = Integer.valueOf(body.get("oracleDevId").toString());
syncTerminalParam.setOracleLineId(oracleLineId);
syncTerminalParam.setOracleDevId(oracleDevId);
}
}
return subIndex;
}
@@ -3085,6 +3090,40 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
terminalVO.setSubStationVO(subStationVO);
}
private SyncLedgerDelete oracleSyncLedgerDelete(Line obj) {
SyncLedgerDelete delete = new SyncLedgerDelete();
delete.setLevel(obj.getLevel());
/**
* 3-变电站4-终端5-母线6-监测点
*/
switch (obj.getLevel()) {
case 3:
Line byId = this.getById(obj.getPid());
if (Objects.isNull(byId)) {
throw new BusinessException(CommonResponseEnum.NO_DATA);
}
delete.setSuperName(byId.getName());
delete.setName(obj.getName());
break;
case 4:
DeviceBak deviceBak = deviceBakService.getById(obj.getId());
delete.setId(deviceBak.getDevId());
delete.setName(obj.getName());
break;
case 5:
DeviceBak bak = deviceBakService.getById(obj.getPid());
delete.setName(obj.getName());
delete.setSuperId(bak.getDevId());
break;
case 6:
LineBak lineBak = lineBakService.getById(obj.getId());
delete.setId(lineBak.getLineId());
delete.setName(obj.getName());
break;
}
return delete;
}
private SyncLedgerUpdate oracleSyncLedgerUpdate(UpdateTerminalParam param, String oldSubName, String gdName) {
SyncLedgerUpdate update = new SyncLedgerUpdate();
/**
@@ -3103,13 +3142,23 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
oldSubName = substationInfo.getName();
sub.setLng(substationInfo.getLng());
sub.setLat(substationInfo.getLat());
substation.setScale(sub.getScale());
sub.setSubIndex(substationInfo.getId());
substation.setScale(substationInfo.getVoltageLevel());
} else {
substation.setScale(dictName(sub.getScale()));
}
substation.setName(sub.getName());
substation.setOldName(oldSubName);
if (StrUtil.isNotBlank(gdName)) {
substation.setGdName(gdName);
} else {
Line byId = this.getById(sub.getSubIndex());
Line byId1 = this.getById(byId.getPid());
if(ObjectUtil.isNull(byId1)){
throw new BusinessException(PvDeviceResponseEnum.GD_OR_NOT);
}
substation.setGdName(byId1.getName());
}
update.setPqSubstation(substation);
PqsMap pqsMap = new PqsMap();
pqsMap.setLongitude(sub.getLng().doubleValue());
@@ -3195,7 +3244,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
pqLine.setJzcmp(line.getStandardCapacity().doubleValue());
pqLine.setXycmp(line.getDealCapacity().doubleValue());
pqLine.setScale(dictName(subVoltage.getScale()));
pqLine.setStatus(1);
pqLine.setStatus(0);
pqLines.add(pqLine);
PqLinedetail pqLinedetail = new PqLinedetail();
@@ -3235,6 +3284,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
update.setPqLinedetail(lineDeatailList);
return update;
}
/**
* oracle远程台账同步
*
@@ -3365,7 +3415,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
pqLine.setJzcmp(line.getStandardCapacity().doubleValue());
pqLine.setXycmp(line.getDealCapacity().doubleValue());
pqLine.setScale(dictName(subVoltage.getScale()));
pqLine.setStatus(1);
pqLine.setStatus(0);
ledger.setPqLine(pqLine);
PqLinedetail pqLinedetail = new PqLinedetail();
pqLinedetail.setLineName(line.getName());

View File

@@ -80,10 +80,11 @@ public class LibCaseServiceImpl extends ServiceImpl<LibCaseMapper, LibCase> impl
queryWrapper.eq("lib_case.status",1);
//添加上时间范围
queryWrapper.like(StrUtil.isNotBlank(param.getSearchValue()),"lib_case.name",param.getSearchValue());
queryWrapper.between(StrUtil.isNotBlank(param.getSearchBeginTime())&&StrUtil.isNotBlank(param.getSearchEndTime()),
"lib_case.Create_Time",
if(StrUtil.isNotBlank(param.getSearchBeginTime())&&StrUtil.isNotBlank(param.getSearchEndTime())){
queryWrapper.between("lib_case.Create_Time",
DateUtil.beginOfDay(DateUtil.parse(param.getSearchBeginTime())),
DateUtil.endOfDay(DateUtil.parse(param.getSearchEndTime())));
}
queryWrapper.orderByDesc("lib_case.Update_Time");
return this.baseMapper.page(new Page<>(PageFactory.getPageNum(param), PageFactory.getPageSize(param)), queryWrapper);
}

View File

@@ -78,10 +78,12 @@ public class LibTemplateServiceImpl extends ServiceImpl<LibTemplateMapper, LibTe
queryWrapper.eq("lib_template.status",1);
//添加上时间范围
queryWrapper.like(StrUtil.isNotBlank(param.getSearchValue()),"lib_template.name",param.getSearchValue());
queryWrapper.between(StrUtil.isNotBlank(param.getSearchBeginTime())&&StrUtil.isNotBlank(param.getSearchEndTime()),
if(StrUtil.isNotBlank(param.getSearchBeginTime())&&StrUtil.isNotBlank(param.getSearchEndTime())){
queryWrapper.between(
"lib_template.Create_Time",
DateUtil.beginOfDay(DateUtil.parse(param.getSearchBeginTime())),
DateUtil.endOfDay(DateUtil.parse(param.getSearchEndTime())));
}
queryWrapper.orderByDesc("lib_template.Update_Time");
return this.baseMapper.page(new Page<>(PageFactory.getPageNum(param), PageFactory.getPageSize(param)), queryWrapper);
}