代码提交
This commit is contained in:
6
pom.xml
6
pom.xml
@@ -130,6 +130,12 @@
|
|||||||
<version>3.0.10</version>
|
<version>3.0.10</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.joda.time</groupId>
|
||||||
|
<artifactId>joda-time</artifactId>
|
||||||
|
<version>2.9.9</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.njcn</groupId>
|
<groupId>com.njcn</groupId>
|
||||||
<artifactId>common-db</artifactId>
|
<artifactId>common-db</artifactId>
|
||||||
|
|||||||
@@ -1,17 +1,22 @@
|
|||||||
package com.njcn.syncdata.controller;
|
package com.njcn.syncdata.controller;
|
||||||
|
|
||||||
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONArray;
|
||||||
|
import com.njcn.syncdata.pojo.po.AdsAstXbjcptGetFctgDi;
|
||||||
|
import com.njcn.syncdata.pojo.po.PWFeederLinePSR;
|
||||||
import com.njcn.syncdata.pojo.po.PWOPTransformerPSR;
|
import com.njcn.syncdata.pojo.po.PWOPTransformerPSR;
|
||||||
|
import com.njcn.syncdata.pojo.po.Substation;
|
||||||
import com.njcn.syncdata.service.IPowerDistributionareaService;
|
import com.njcn.syncdata.service.IPowerDistributionareaService;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.*;
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
@RestController
|
@RestController
|
||||||
|
@Slf4j
|
||||||
@RequestMapping("/dataImport")
|
@RequestMapping("/dataImport")
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
public class DataImportController {
|
public class DataImportController {
|
||||||
@@ -20,52 +25,78 @@ public class DataImportController {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 登录获取token
|
* 登录获取token
|
||||||
|
*
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@GetMapping("/token")
|
@GetMapping("/token")
|
||||||
public String token(){
|
public String token() {
|
||||||
return service.LoginToken();
|
return service.LoginToken();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取数据中台数据
|
* 获取数据中台数据
|
||||||
|
*
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@GetMapping("/getAdsList")
|
@GetMapping("/getAdsList")
|
||||||
public String adsList(){
|
public List<AdsAstXbjcptGetFctgDi> adsList() {
|
||||||
return service.adsList();
|
return service.adsList();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取数据中台返回体
|
* 获取业务中台返回体
|
||||||
* @param token
|
*
|
||||||
* @param psrType
|
* @param psrType
|
||||||
* @param fieldName
|
* @param fieldName
|
||||||
* @param fieldValue
|
* @param fieldValue
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@GetMapping("/getResource")
|
@GetMapping("/getResource")
|
||||||
public Map getResource(String token,String psrType, String fieldName,String fieldValue){
|
public Map getResource(String psrType, String fieldName, String fieldValue) {
|
||||||
return service.getResourceData(token,psrType,100,fieldName,fieldValue);
|
return service.getResourceData(service.LoginToken(), psrType, 100, fieldName, fieldValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取数据中台返回数据
|
* 获取业务中台返回数据
|
||||||
* @param token
|
*
|
||||||
* @param psrType
|
* @param psrType
|
||||||
* @param fieldName
|
* @param fieldName
|
||||||
* @param fieldValue
|
* @param fieldValue
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@GetMapping("/getResourceData")
|
@GetMapping("/getResourceData")
|
||||||
public List getResourceData(String token,String psrType, String fieldName,String fieldValue){
|
public List getResourceData(String psrType, String fieldName, String fieldValue) {
|
||||||
Map map = service.getResourceData(token, psrType,100, fieldName, fieldValue);
|
Map map = service.getResourceData(service.LoginToken(), psrType, 100, fieldName, fieldValue);
|
||||||
List<PWOPTransformerPSR> data = JSONArray.parseArray(JSONArray.toJSONString(map.get("result")), PWOPTransformerPSR.class);
|
List<PWOPTransformerPSR> data = JSONArray.parseArray(JSONArray.toJSONString(map.get("result")), PWOPTransformerPSR.class);
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
@GetMapping("/insertData")
|
|
||||||
public String getResourceData(){
|
@GetMapping("/getResourceTest")
|
||||||
String s = service.insertData();
|
public List getResourceTest(Integer type, String fieldValue) {
|
||||||
|
List<?> aas = new ArrayList<>();
|
||||||
|
if (type == 1) {
|
||||||
|
Map transformerData = service.getResourceData(service.LoginToken(), "PWOPTransformerPSR", 100, "ACCOUNT_ID", fieldValue);
|
||||||
|
aas = JSONArray.parseArray(JSONArray.toJSONString(transformerData.get("result")), PWOPTransformerPSR.class);
|
||||||
|
} else if (type == 2) {
|
||||||
|
Map feederLineData = service.getResourceData(service.LoginToken(), "PWFeederLinePSR", 100, "ID", fieldValue);
|
||||||
|
aas = JSONArray.parseArray(JSONArray.toJSONString(feederLineData.get("result")), PWFeederLinePSR.class);
|
||||||
|
//查询变电站
|
||||||
|
} else {
|
||||||
|
Map substationData = service.getResourceData(service.LoginToken(), "Substation", 100, "ID", fieldValue);
|
||||||
|
aas = JSONArray.parseArray(JSONArray.toJSONString(substationData.get("result")), Substation.class);
|
||||||
|
}
|
||||||
|
return aas;
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/insertData")
|
||||||
|
public String insertData() {
|
||||||
|
String s = service.insertData(1);
|
||||||
|
return s;
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/insertDataTest")
|
||||||
|
public String insertDataTest() {
|
||||||
|
String s = service.insertData(0);
|
||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,8 +1,10 @@
|
|||||||
package com.njcn.syncdata.service;
|
package com.njcn.syncdata.service;
|
||||||
|
|
||||||
import com.njcn.db.service.IReplenishMybatisService;
|
import com.njcn.db.service.IReplenishMybatisService;
|
||||||
|
import com.njcn.syncdata.pojo.po.AdsAstXbjcptGetFctgDi;
|
||||||
import com.njcn.syncdata.pojo.po.PowerDistributionarea;
|
import com.njcn.syncdata.pojo.po.PowerDistributionarea;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -25,7 +27,7 @@ public interface IPowerDistributionareaService extends IReplenishMybatisService<
|
|||||||
* 获取数据中台数据
|
* 获取数据中台数据
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
String adsList();
|
List<AdsAstXbjcptGetFctgDi> adsList();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 通用资源数据中台数据查询
|
* 通用资源数据中台数据查询
|
||||||
@@ -37,5 +39,5 @@ public interface IPowerDistributionareaService extends IReplenishMybatisService<
|
|||||||
*/
|
*/
|
||||||
Map getResourceData(String token,String psrType,Integer num, String fieldName,String fieldValue);
|
Map getResourceData(String token,String psrType,Integer num, String fieldName,String fieldValue);
|
||||||
|
|
||||||
String insertData();
|
String insertData(Integer type);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,9 @@ package com.njcn.syncdata.service.impl;
|
|||||||
|
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import cn.hutool.core.collection.ListUtil;
|
import cn.hutool.core.collection.ListUtil;
|
||||||
|
import cn.hutool.core.lang.Assert;
|
||||||
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONArray;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
@@ -17,6 +20,7 @@ import com.njcn.syncdata.pojo.po.*;
|
|||||||
import com.njcn.syncdata.service.IPowerDistributionareaService;
|
import com.njcn.syncdata.service.IPowerDistributionareaService;
|
||||||
import com.njcn.syncdata.utils.RestTemplateUtil;
|
import com.njcn.syncdata.utils.RestTemplateUtil;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.http.Header;
|
import org.apache.http.Header;
|
||||||
import org.apache.http.HttpEntity;
|
import org.apache.http.HttpEntity;
|
||||||
import org.apache.http.HttpResponse;
|
import org.apache.http.HttpResponse;
|
||||||
@@ -24,8 +28,6 @@ import org.apache.http.client.methods.HttpRequestBase;
|
|||||||
import org.apache.http.impl.client.CloseableHttpClient;
|
import org.apache.http.impl.client.CloseableHttpClient;
|
||||||
import org.apache.http.impl.client.HttpClients;
|
import org.apache.http.impl.client.HttpClients;
|
||||||
import org.apache.http.util.EntityUtils;
|
import org.apache.http.util.EntityUtils;
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
import org.springframework.http.ResponseEntity;
|
import org.springframework.http.ResponseEntity;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.web.util.UriComponentsBuilder;
|
import org.springframework.web.util.UriComponentsBuilder;
|
||||||
@@ -46,10 +48,10 @@ import java.util.stream.Collectors;
|
|||||||
* @since 2022-10-14
|
* @since 2022-10-14
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
|
@Slf4j
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
public class PowerDistributionareaServiceImpl extends ReplenishMybatisServiceImpl<PowerDistributionareaMapper, PowerDistributionarea> implements IPowerDistributionareaService {
|
public class PowerDistributionareaServiceImpl extends ReplenishMybatisServiceImpl<PowerDistributionareaMapper, PowerDistributionarea> implements IPowerDistributionareaService {
|
||||||
|
|
||||||
private static Logger logger = LoggerFactory.getLogger(PowerDistributionareaServiceImpl.class);
|
|
||||||
private final DictDataMapper dictDataMapper;
|
private final DictDataMapper dictDataMapper;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -71,7 +73,7 @@ public class PowerDistributionareaServiceImpl extends ReplenishMybatisServiceImp
|
|||||||
ResponseEntity<Map> userEntity = RestTemplateUtil.post(uri, Map.class);
|
ResponseEntity<Map> userEntity = RestTemplateUtil.post(uri, Map.class);
|
||||||
|
|
||||||
if (userEntity.getStatusCodeValue() == 200) {
|
if (userEntity.getStatusCodeValue() == 200) {
|
||||||
logger.debug(Thread.currentThread().getName() + "数据:" + userEntity.getBody() + "结束----!");
|
log.info(Thread.currentThread().getName() + "数据:" + userEntity.getBody() + "结束----!");
|
||||||
//获取返回体
|
//获取返回体
|
||||||
Map body = userEntity.getBody();
|
Map body = userEntity.getBody();
|
||||||
Map data = (Map) body.get("result");
|
Map data = (Map) body.get("result");
|
||||||
@@ -81,8 +83,8 @@ public class PowerDistributionareaServiceImpl extends ReplenishMybatisServiceImp
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String adsList() {
|
public List<AdsAstXbjcptGetFctgDi> adsList() {
|
||||||
String s = null;
|
List<AdsAstXbjcptGetFctgDi> aas = new ArrayList<>();
|
||||||
String key = "0e3bac160fd246f181ad4fd47da6929a";
|
String key = "0e3bac160fd246f181ad4fd47da6929a";
|
||||||
String secret = "383b4b2536234d84ac909cd605762061";
|
String secret = "383b4b2536234d84ac909cd605762061";
|
||||||
String url = "http://0f92aaf3da9b4dd2ab80a337495ccf09.apigw.he-region-2.sgic.sgcc.com.cn/ast/yxywyyxt/dws/get_e_mp_fctg_zl";
|
String url = "http://0f92aaf3da9b4dd2ab80a337495ccf09.apigw.he-region-2.sgic.sgcc.com.cn/ast/yxywyyxt/dws/get_e_mp_fctg_zl";
|
||||||
@@ -106,7 +108,7 @@ public class PowerDistributionareaServiceImpl extends ReplenishMybatisServiceImp
|
|||||||
//API中 Body体参数
|
//API中 Body体参数
|
||||||
//request.setBody("demo");
|
//request.setBody("demo");
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
logger.error(Thread.currentThread().getName() + "链接" + apiName + "失败");
|
log.error(Thread.currentThread().getName() + "链接" + apiName + "失败");
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
@@ -119,26 +121,25 @@ public class PowerDistributionareaServiceImpl extends ReplenishMybatisServiceImp
|
|||||||
HttpResponse response = client.execute(signedRequest);
|
HttpResponse response = client.execute(signedRequest);
|
||||||
|
|
||||||
//Print the status line of the response.
|
//Print the status line of the response.
|
||||||
logger.debug(response.getStatusLine().toString());
|
log.info(response.getStatusLine().toString());
|
||||||
|
|
||||||
//Print the header fields of the response.
|
//Print the header fields of the response.
|
||||||
Header[] resHeaders = response.getAllHeaders();
|
Header[] resHeaders = response.getAllHeaders();
|
||||||
for (Header h : resHeaders) {
|
for (Header h : resHeaders) {
|
||||||
logger.debug(h.getName() + ":" + h.getValue());
|
log.info(h.getName() + ":" + h.getValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
//Print the body of the response.
|
//Print the body of the response.
|
||||||
HttpEntity resEntity = response.getEntity();
|
HttpEntity resEntity = response.getEntity();
|
||||||
if (resEntity != null) {
|
if (resEntity != null) {
|
||||||
s = EntityUtils.toString(resEntity, "UTF-8");
|
String s = EntityUtils.toString(resEntity, "UTF-8");
|
||||||
logger.debug(System.getProperty("line.separator") + s);
|
log.info(System.getProperty("line.separator") + s);
|
||||||
// JSONObject jsonObject = JSON.parseObject(s);
|
JSONObject jsonObject = JSON.parseObject(s);
|
||||||
// JSONArray data = jsonObject.getJSONArray("data");
|
Map data = jsonObject.getObject("data", Map.class);
|
||||||
// logger.debug(System.getProperty("line.separator") + data);
|
aas = JSONArray.parseArray(data.get("data").toString(), AdsAstXbjcptGetFctgDi.class);
|
||||||
// List<AdsAstXbjcptGetFctgDi> aas = JSONArray.parseArray(s, AdsAstXbjcptGetFctgDi.class);
|
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
logger.error(Thread.currentThread().getName() + "链接" + apiName + "失败");
|
log.error(Thread.currentThread().getName() + "链接" + apiName + "失败");
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
} finally {
|
} finally {
|
||||||
try {
|
try {
|
||||||
@@ -149,12 +150,12 @@ public class PowerDistributionareaServiceImpl extends ReplenishMybatisServiceImp
|
|||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return s;
|
return aas;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map getResourceData(String token, String psrType,Integer num, String fieldName, String fieldValue) {
|
public Map getResourceData(String token, String psrType, Integer num, String fieldName, String fieldValue) {
|
||||||
Map body=new HashMap();
|
Map body = new HashMap();
|
||||||
String userUrl = "http://dwzyywzt.com/PSRCenter/queryServices/commonQuery";
|
String userUrl = "http://dwzyywzt.com/PSRCenter/queryServices/commonQuery";
|
||||||
|
|
||||||
Map<String, String> mapHeader = new HashMap<>();
|
Map<String, String> mapHeader = new HashMap<>();
|
||||||
@@ -178,50 +179,42 @@ public class PowerDistributionareaServiceImpl extends ReplenishMybatisServiceImp
|
|||||||
mapSubset.put("filters", info);
|
mapSubset.put("filters", info);
|
||||||
map1.put("params", mapSubset);
|
map1.put("params", mapSubset);
|
||||||
ResponseEntity<Map> userEntity = RestTemplateUtil.post(userUrl, mapHeader, map1, Map.class, new ArrayList<>());
|
ResponseEntity<Map> userEntity = RestTemplateUtil.post(userUrl, mapHeader, map1, Map.class, new ArrayList<>());
|
||||||
|
|
||||||
if (userEntity.getStatusCodeValue() == 200) {
|
if (userEntity.getStatusCodeValue() == 200) {
|
||||||
logger.debug(Thread.currentThread().getName() + "数据:" + userEntity.getBody() + "结束----!");
|
|
||||||
//获取返回体
|
//获取返回体
|
||||||
body = userEntity.getBody();
|
body = userEntity.getBody();
|
||||||
|
log.info(Thread.currentThread().getName() + "获取返回体 getResourceData:" + body + "结束----!");
|
||||||
}
|
}
|
||||||
return body;
|
return body;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String insertData() {
|
public String insertData(Integer type) {
|
||||||
|
String message = "数据导入成功!";
|
||||||
|
try {
|
||||||
//初始化集合
|
//初始化集合
|
||||||
List<PowerDistributionarea> info = new ArrayList<>();
|
List<PowerDistributionarea> info = new ArrayList<>();
|
||||||
|
List<String> orgID = new ArrayList<>();
|
||||||
String token= LoginToken();
|
String token = null;
|
||||||
//1.获取数据台账信息
|
//1.获取数据台账信息
|
||||||
String s1 = adsList();
|
|
||||||
JSONObject jsonObject = JSON.parseObject(s1);
|
|
||||||
JSONArray data = jsonObject.getJSONArray("result");
|
|
||||||
List<AdsAstXbjcptGetFctgDi> aas = JSONArray.parseArray(String.valueOf(data), AdsAstXbjcptGetFctgDi.class);
|
|
||||||
|
|
||||||
// String s = "[{\"tg_id\":\"824843\",\"trans_pms_id\":\"73a32eea908afa989256723aa9015673a323181105\",\"id\":\"1415129064\",\"tg_name\":\"【混全】10kV722协神线东安香村南1号160公用配变\",\"tg_no\":\"0010034073\",\"pub_priv_flag\":\"01\",\"org_no\":\"134011910\",\"org_name\":\"行唐县安香供电所\",\"org_type\":\"06\",\"p_org_no\":\"1340119\",\"run_status_code\":\"01\",\"tg_cap\":160.0,\"fc_num\":2,\"fc_sum_cap\":44.8},\n" +
|
|
||||||
// " {\"tg_id\":\"825000\",\"trans_pms_id\":\"bc82f8391f8afa9890505facdb0150bc820b995f08\",\"id\":\"1411391450\",\"tg_name\":\"【混全】10kV722协神线东安香社厂100公用配变\",\"tg_no\":\"0010034337\",\"pub_priv_flag\":\"01\",\"org_no\":\"134011910\",\"org_name\":\"行唐县安香供电所\",\"org_type\":\"06\",\"p_org_no\":\"1340119\",\"run_status_code\":\"01\",\"tg_cap\":100.0,\"fc_num\":2,\"fc_sum_cap\":52.0}," +
|
|
||||||
// "{\"tg_id\":\"825000\",\"trans_pms_id\":\"bc82f8391f8afa9890505facdb0150bc820b995f08\",\"id\":\"1411391450\",\"tg_name\":\"【混全】10kV722协神线东安香社厂100公用配变\",\"tg_no\":\"0010034337\",\"pub_priv_flag\":\"01\",\"org_no\":\"134011910\",\"org_name\":\"行唐县安香供电所\",\"org_type\":\"06\",\"p_org_no\":\"1340119\",\"run_status_code\":\"01\",\"tg_cap\":100.0,\"fc_num\":2,\"fc_sum_cap\":52.0}," +
|
|
||||||
// "{\"tg_id\":\"825001\",\"trans_pms_id\":\"c06e78c12c8afa98904fb5b289014fc06e636c1f90\",\"id\":\"1411391450\",\"tg_name\":\"【混全】10kV722协神线东安香社厂100公用配变\",\"tg_no\":\"0010034337\",\"pub_priv_flag\":\"01\",\"org_no\":\"134011910\",\"org_name\":\"行唐县安香供电所\",\"org_type\":\"06\",\"p_org_no\":\"1340119\",\"run_status_code\":\"01\",\"tg_cap\":100.0,\"fc_num\":2,\"fc_sum_cap\":52.0}]";
|
|
||||||
// List<AdsAstXbjcptGetFctgDi> aas = JSONArray.parseArray(s, AdsAstXbjcptGetFctgDi.class);
|
|
||||||
|
|
||||||
|
//获取数据中台数据
|
||||||
|
List<AdsAstXbjcptGetFctgDi> aas = adsList();
|
||||||
|
|
||||||
|
Assert.isTrue(CollUtil.isNotEmpty(aas), "获取中台数据为空!");
|
||||||
//进行数据拆分查询
|
//进行数据拆分查询
|
||||||
Set<AdsAstXbjcptGetFctgDi> aa = new HashSet<>(aas);
|
ArrayList<AdsAstXbjcptGetFctgDi> dome = aas.stream().collect(Collectors.collectingAndThen(
|
||||||
List<AdsAstXbjcptGetFctgDi> dome = new ArrayList<>(aa);
|
Collectors.toCollection(
|
||||||
|
() -> new TreeSet<>(Comparator.comparing(AdsAstXbjcptGetFctgDi::getTg_id))), ArrayList::new));
|
||||||
//2.1.1获取电压字典
|
//2.1.1获取电压字典
|
||||||
List<DictData> devVoltage = dictDataMapper.selectList(DicDataTypeEnum.DEV_VOLTAGE.getCode());
|
List<DictData> devVoltage = dictDataMapper.selectList(DicDataTypeEnum.DEV_VOLTAGE.getCode());
|
||||||
//2.1.2运行状态
|
//2.1.2运行状态
|
||||||
DictData state = dictDataMapper.selectByCode(DicDataEnum.RUN.getCode(),DicDataTypeEnum.LINE_STATE.getCode());
|
DictData state = dictDataMapper.selectByCode(DicDataEnum.RUN.getCode(), DicDataTypeEnum.LINE_STATE.getCode());
|
||||||
//2.1.3分布式光伏字典
|
//2.1.3分布式光伏字典
|
||||||
DictData photovoltaics = dictDataMapper.selectByCode(DicDataEnum.DISTRIBUTED_PHOTOVOLTAICS.getCode(),DicDataTypeEnum.MONITORING_LABELS.getCode());
|
DictData photovoltaics = dictDataMapper.selectByCode(DicDataEnum.DISTRIBUTED_PHOTOVOLTAICS.getCode(), DicDataTypeEnum.MONITORING_LABELS.getCode());
|
||||||
//2.1.4地区特征
|
//2.1.4地区特征
|
||||||
List<DictData> regional = dictDataMapper.selectList(DicDataTypeEnum.DEVICE_REGIONLYPE.getCode());
|
List<DictData> regional = dictDataMapper.selectList(DicDataTypeEnum.DEVICE_REGIONLYPE.getCode());
|
||||||
//2.1.5使用性质
|
//2.1.5使用性质
|
||||||
List<DictData> userNature = dictDataMapper.selectList(DicDataTypeEnum.DEVICE_USERNATURE.getCode());
|
List<DictData> userNature = dictDataMapper.selectList(DicDataTypeEnum.DEVICE_USERNATURE.getCode());
|
||||||
|
|
||||||
//2.1.6获取部门字典
|
//2.1.6获取部门字典
|
||||||
List<Dept> depts = dictDataMapper.selectUserList();
|
List<Dept> depts = dictDataMapper.selectUserList();
|
||||||
|
|
||||||
@@ -230,35 +223,40 @@ public class PowerDistributionareaServiceImpl extends ReplenishMybatisServiceImp
|
|||||||
int totalCount = dome.size();
|
int totalCount = dome.size();
|
||||||
List<List<AdsAstXbjcptGetFctgDi>> pageList = ListUtil.split(dome, num);
|
List<List<AdsAstXbjcptGetFctgDi>> pageList = ListUtil.split(dome, num);
|
||||||
|
|
||||||
Integer forNum = totalCount % num == 0 ? (totalCount / num) : (totalCount / num + 1);
|
Integer forNum = totalCount % num == 0 ? (totalCount / num) : (totalCount / num) + 1;
|
||||||
for (Integer i = 0; i < forNum; i++) {
|
for (Integer i = 0; i < forNum; i++) {
|
||||||
List<AdsAstXbjcptGetFctgDi> temList = pageList.get(i);
|
List<AdsAstXbjcptGetFctgDi> temList = pageList.get(i);
|
||||||
List<String> trans_pms_id = temList.stream().map(AdsAstXbjcptGetFctgDi::getTrans_pms_id).distinct().collect(Collectors.toList());
|
List<String> trans_pms_id = temList.stream().map(AdsAstXbjcptGetFctgDi::getTrans_pms_id).distinct().collect(Collectors.toList());
|
||||||
|
|
||||||
//1.需要查询的户外变id
|
//1.需要查询的户外变id
|
||||||
String transPmsIds = String.join(",", trans_pms_id);
|
String transPmsIds = String.join(",", trans_pms_id);
|
||||||
List<PWOPTransformerPSR> transformer = resourceMethod(1, token, num, transPmsIds, PWOPTransformerPSR.class);
|
List<PWOPTransformerPSR> transformer = resourceMethod(1, token, num, transPmsIds, PWOPTransformerPSR.class);
|
||||||
List<String> root_id = transformer.stream().map(PWOPTransformerPSR::getROOT_ID).distinct().collect(Collectors.toList());
|
log.info(Thread.currentThread().getName() + "1.数据添加 transformerID:" + trans_pms_id.size() + "条数" + transPmsIds + "结束----!");
|
||||||
if(CollUtil.isEmpty(root_id)){
|
log.info(Thread.currentThread().getName() + "1.数据添加 transformer:" + transformer.size() + "条数" + transformer + "结束----!");
|
||||||
continue;
|
if (CollUtil.isEmpty(transformer)) {
|
||||||
}
|
continue;
|
||||||
//2.查询配网馈线id
|
}
|
||||||
String rootIds = String.join(",", root_id);
|
|
||||||
List<PWFeederLinePSR> line = resourceMethod(2, token, num, rootIds, PWFeederLinePSR.class);
|
List<String> root_id = transformer.stream().map(PWOPTransformerPSR::getROOT_ID).distinct().collect(Collectors.toList());
|
||||||
List<String> start_station_id = line.stream().map(PWFeederLinePSR::getStart_station_id).distinct().collect(Collectors.toList());
|
|
||||||
if(CollUtil.isEmpty(start_station_id)){
|
//2.查询配网馈线id
|
||||||
continue;
|
String rootIds = String.join(",", root_id);
|
||||||
}
|
List<PWFeederLinePSR> line = resourceMethod(2, token, num, rootIds, PWFeederLinePSR.class);
|
||||||
//3.查询变电站id
|
log.info(Thread.currentThread().getName() + "2.数据添加 lineID:" + root_id.size() + "条数" + rootIds + "结束----!");
|
||||||
String substationIds = String.join(",", start_station_id);
|
log.info(Thread.currentThread().getName() + "2.数据添加 line:" + line.size() + "条数" + line + "结束----!");
|
||||||
List<Substation> substation = resourceMethod(3, token, num, substationIds, Substation.class);
|
if (CollUtil.isEmpty(line)) {
|
||||||
if(CollUtil.isEmpty(substation)){
|
continue;
|
||||||
|
}
|
||||||
|
List<String> start_station_id = line.stream().map(PWFeederLinePSR::getStart_station_id).distinct().collect(Collectors.toList());
|
||||||
|
|
||||||
|
//3.查询变电站id
|
||||||
|
String substationIds = String.join(",", start_station_id);
|
||||||
|
List<Substation> substation = resourceMethod(3, token, num, substationIds, Substation.class);
|
||||||
|
log.info(Thread.currentThread().getName() + "3.数据添加 substationID:" + start_station_id.size() + "条数" + substationIds + "结束----!");
|
||||||
|
log.info(Thread.currentThread().getName() + "3.数据添加 substation:" + substation.size() + "条数" + substation + "结束----!");
|
||||||
|
if (CollUtil.isEmpty(substation)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// List<PWOPTransformerPSR> transformer =this.staticMethod(1,PWOPTransformerPSR.class);
|
|
||||||
// List<PWFeederLinePSR> line =this.staticMethod(2,PWFeederLinePSR.class);
|
|
||||||
// List<Substation> substation =this.staticMethod(3,Substation.class);
|
|
||||||
|
|
||||||
Map<String, PWOPTransformerPSR> transformerMap = transformer.stream().collect(Collectors.toMap(PWOPTransformerPSR::getACCOUNT_ID, Function.identity(), (key1, kye2) -> key1));
|
Map<String, PWOPTransformerPSR> transformerMap = transformer.stream().collect(Collectors.toMap(PWOPTransformerPSR::getACCOUNT_ID, Function.identity(), (key1, kye2) -> key1));
|
||||||
Map<String, PWFeederLinePSR> lineMap = line.stream().collect(Collectors.toMap(PWFeederLinePSR::getID, Function.identity(), (key1, kye2) -> key1));
|
Map<String, PWFeederLinePSR> lineMap = line.stream().collect(Collectors.toMap(PWFeederLinePSR::getID, Function.identity(), (key1, kye2) -> key1));
|
||||||
@@ -278,24 +276,51 @@ public class PowerDistributionareaServiceImpl extends ReplenishMybatisServiceImp
|
|||||||
if (substationMap.containsKey(pwFeederLinePSR.getStart_station_id())) {
|
if (substationMap.containsKey(pwFeederLinePSR.getStart_station_id())) {
|
||||||
Substation sub = substationMap.get(pwFeederLinePSR.getStart_station_id());
|
Substation sub = substationMap.get(pwFeederLinePSR.getStart_station_id());
|
||||||
//名称暂时不知道
|
//名称暂时不知道
|
||||||
area.setOrgName(getDeptName(pwFeederLinePSR.getDEPART(),depts));
|
area.setOrgName(getDeptName(pwFeederLinePSR.getDEPART(), depts));
|
||||||
area.setOrgId(pwFeederLinePSR.getDEPART());
|
area.setOrgId(pwFeederLinePSR.getDEPART());
|
||||||
area.setOperationName(getDeptName(pwFeederLinePSR.getMAINTENANCE_TEAM(),depts));
|
area.setOperationName(getDeptName(pwFeederLinePSR.getMAINTENANCE_TEAM(), depts));
|
||||||
area.setOperationId(pwFeederLinePSR.getMAINTENANCE_TEAM());
|
area.setOperationId(pwFeederLinePSR.getMAINTENANCE_TEAM());
|
||||||
area.setPowerrName(sub.getNAME());
|
area.setPowerrName(sub.getNAME());
|
||||||
area.setPowerStationId(sub.getID());
|
area.setPowerStationId(sub.getID());
|
||||||
area.setLineName(pwFeederLinePSR.getName());
|
area.setLineName(pwFeederLinePSR.getName());
|
||||||
area.setLineId(pwFeederLinePSR.getID());
|
area.setLineId(pwFeederLinePSR.getID());
|
||||||
|
if (StrUtil.isBlank(area.getOrgName())) {
|
||||||
|
orgID.add(area.getOrgId());
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (StrUtil.isBlank(area.getOperationName())) {
|
||||||
|
orgID.add(area.getOperationId());
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
//判断传入的电压等级,台区区域,使用性质是否为空
|
||||||
|
if(StrUtil.hasBlank(pwopTransformerPSR.getVOLTAGELEVEL_ID(),
|
||||||
|
pwopTransformerPSR.getREGION_TYPE(),
|
||||||
|
pwopTransformerPSR.getUse_nature())
|
||||||
|
){
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if(StrUtil.hasBlank(pwopTransformerPSR.getVOLTAGELEVEL_ID(),
|
||||||
|
pwopTransformerPSR.getREGION_TYPE(),
|
||||||
|
pwopTransformerPSR.getUse_nature())
|
||||||
|
){
|
||||||
|
continue;
|
||||||
|
}
|
||||||
//todo 要做处理(处理)
|
//todo 要做处理(处理)
|
||||||
area.setVoltageLevel(getAlgoDescribe(pwopTransformerPSR.getVOLTAGELEVEL_ID(),devVoltage));
|
area.setVoltageLevel(getAlgoDescribe(pwopTransformerPSR.getVOLTAGELEVEL_ID(), devVoltage));
|
||||||
|
//todo 要做处理(处理)
|
||||||
|
area.setRegionalism(getAlgoDescribe(pwopTransformerPSR.getREGION_TYPE(), regional));
|
||||||
|
//todo 要做处理(处理)
|
||||||
|
area.setNatureOfUse(getAlgoDescribe(pwopTransformerPSR.getUse_nature(), userNature));
|
||||||
|
//判断数据是否为空
|
||||||
|
if(ObjectUtil.hasNull(fctgDi.getTg_cap(),
|
||||||
|
pwFeederLinePSR.getSUPPLY_RADIUS(),
|
||||||
|
pwFeederLinePSR.getLENGTH(),
|
||||||
|
fctgDi.getFc_sum_cap())
|
||||||
|
){
|
||||||
|
continue;
|
||||||
|
}
|
||||||
area.setPCapacity(fctgDi.getTg_cap().floatValue());
|
area.setPCapacity(fctgDi.getTg_cap().floatValue());
|
||||||
//todo 要做处理(未处理)
|
|
||||||
area.setRegionalism(getAlgoDescribe(pwopTransformerPSR.getREGION_TYPE(),regional));
|
|
||||||
area.setIfRuralPowerGrid(pwopTransformerPSR.getIS_RURAL_GRID());
|
area.setIfRuralPowerGrid(pwopTransformerPSR.getIS_RURAL_GRID());
|
||||||
//todo 要做处理(未处理)
|
|
||||||
area.setNatureOfUse(getAlgoDescribe(pwopTransformerPSR.getUse_nature(),userNature));
|
|
||||||
area.setPowerSupplyRadius(pwFeederLinePSR.getSUPPLY_RADIUS().floatValue());
|
area.setPowerSupplyRadius(pwFeederLinePSR.getSUPPLY_RADIUS().floatValue());
|
||||||
area.setLineLength(pwFeederLinePSR.getLENGTH().floatValue());
|
area.setLineLength(pwFeederLinePSR.getLENGTH().floatValue());
|
||||||
//todo 要做处理(处理)
|
//todo 要做处理(处理)
|
||||||
@@ -312,27 +337,33 @@ public class PowerDistributionareaServiceImpl extends ReplenishMybatisServiceImp
|
|||||||
info.add(area);
|
info.add(area);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(CollUtil.isNotEmpty(info)){
|
}
|
||||||
|
if (CollUtil.isNotEmpty(info)) {
|
||||||
|
log.info(Thread.currentThread().getName() + "4.数据添加 info:" + info + "结束----!");
|
||||||
LambdaQueryWrapper<PowerDistributionarea> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<PowerDistributionarea> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
lambdaQueryWrapper.eq(PowerDistributionarea::getInputStatus,1);
|
lambdaQueryWrapper.eq(PowerDistributionarea::getInputStatus, 1);
|
||||||
this.remove(lambdaQueryWrapper);
|
this.remove(lambdaQueryWrapper);
|
||||||
this.insertBatchBySlice(info,1000);
|
this.insertBatchBySlice(info, 1000);
|
||||||
}
|
}
|
||||||
return "数据导入成功";
|
if (CollUtil.isNotEmpty(orgID)) {
|
||||||
|
log.info(Thread.currentThread().getName() + "5.数据添加 orgID:" + orgID + "结束----!");
|
||||||
|
return message + "数据存在未知部门:" + String.join(",", orgID);
|
||||||
}
|
}
|
||||||
public static <T> List<T> staticMethod(Integer a,Class<T> t){
|
} catch (Exception e) {
|
||||||
List<T> aas=new ArrayList<>();
|
log.error(Thread.currentThread().getName() + "链接" + e + "失败");
|
||||||
String s=null;
|
return e.toString();
|
||||||
switch (a){
|
}
|
||||||
|
return message;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static <T> List<T> staticMethod(Integer a, Class<T> t) {
|
||||||
|
List<T> aas = new ArrayList<>();
|
||||||
|
String s = null;
|
||||||
|
switch (a) {
|
||||||
case 1:
|
case 1:
|
||||||
s="[{\n" +
|
s = "[{\n" +
|
||||||
" \"RUN_DATE\":\"2014-10-19 00:00:00\",\n" +
|
" \"RUN_DATE\":\"2014-10-19 00:00:00\",\n" +
|
||||||
" \"ACCOUNT_ID\":\"c06e78c12c8afa98904fb5b289014fc06e636c1f90\",\n" +
|
" \"ACCOUNT_ID\":\"c06e78c12c8afa98904fb5b289014fc06e636c1f90\",\n" +
|
||||||
" \"BELONG_TYPE\":\"1\",\n" +
|
" \"BELONG_TYPE\":\"1\",\n" +
|
||||||
@@ -393,7 +424,7 @@ public class PowerDistributionareaServiceImpl extends ReplenishMybatisServiceImp
|
|||||||
aas = JSONArray.parseArray(s, t);
|
aas = JSONArray.parseArray(s, t);
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
s="[\n" +
|
s = "[\n" +
|
||||||
" {\n" +
|
" {\n" +
|
||||||
" \"DISPATCH_DEPART\": null,\n" +
|
" \"DISPATCH_DEPART\": null,\n" +
|
||||||
" \"RUN_DATE\": \"2017-07-18 00:00:00\",\n" +
|
" \"RUN_DATE\": \"2017-07-18 00:00:00\",\n" +
|
||||||
@@ -476,7 +507,7 @@ public class PowerDistributionareaServiceImpl extends ReplenishMybatisServiceImp
|
|||||||
aas = JSONArray.parseArray(s, t);
|
aas = JSONArray.parseArray(s, t);
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
s="[\n" +
|
s = "[\n" +
|
||||||
" {\n" +
|
" {\n" +
|
||||||
" \"RUN_DATE\": \"2004-11-30 00:00:00\",\n" +
|
" \"RUN_DATE\": \"2004-11-30 00:00:00\",\n" +
|
||||||
" \"BELONG_TYPE\": \"1\",\n" +
|
" \"BELONG_TYPE\": \"1\",\n" +
|
||||||
@@ -552,9 +583,10 @@ public class PowerDistributionareaServiceImpl extends ReplenishMybatisServiceImp
|
|||||||
}
|
}
|
||||||
return aas;
|
return aas;
|
||||||
}
|
}
|
||||||
public <T> List<T> resourceMethod(Integer a,String token,Integer num,String ids,Class<T> t){
|
|
||||||
List<T> aas=new ArrayList<>();
|
public <T> List<T> resourceMethod(Integer a, String token, Integer num, String ids, Class<T> t) {
|
||||||
switch (a){
|
List<T> aas = new ArrayList<>();
|
||||||
|
switch (a) {
|
||||||
case 1:
|
case 1:
|
||||||
//查询户外变
|
//查询户外变
|
||||||
Map transformerData = getResourceData(token, "PWOPTransformerPSR", num, "ACCOUNT_ID", ids);
|
Map transformerData = getResourceData(token, "PWOPTransformerPSR", num, "ACCOUNT_ID", ids);
|
||||||
@@ -573,16 +605,18 @@ public class PowerDistributionareaServiceImpl extends ReplenishMybatisServiceImp
|
|||||||
}
|
}
|
||||||
return aas;
|
return aas;
|
||||||
}
|
}
|
||||||
public String getAlgoDescribe(String name,List<DictData> voltageLevel){
|
|
||||||
Map<Integer, String> voltageMap = voltageLevel.stream().filter(x -> x.getAlgoDescribe() != null).collect(Collectors.toMap(DictData::getAlgoDescribe, DictData::getId,(key1, key2) -> key1));
|
public String getAlgoDescribe(String name, List<DictData> voltageLevel) {
|
||||||
if(voltageMap.containsKey(Integer.valueOf(name))){
|
Map<Integer, String> voltageMap = voltageLevel.stream().filter(x -> x.getAlgoDescribe() != null).collect(Collectors.toMap(DictData::getAlgoDescribe, DictData::getId, (key1, key2) -> key1));
|
||||||
|
if (voltageMap.containsKey(Integer.valueOf(name))) {
|
||||||
return voltageMap.get(Integer.valueOf(name));
|
return voltageMap.get(Integer.valueOf(name));
|
||||||
}
|
}
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
public String getDeptName(String name,List<Dept> depts){
|
|
||||||
|
public String getDeptName(String name, List<Dept> depts) {
|
||||||
Map<String, String> deptMap = depts.stream().collect(Collectors.toMap(Dept::getCode, Dept::getName, (key1, key2) -> key1));
|
Map<String, String> deptMap = depts.stream().collect(Collectors.toMap(Dept::getCode, Dept::getName, (key1, key2) -> key1));
|
||||||
if(deptMap.containsKey(name)){
|
if (deptMap.containsKey(name)) {
|
||||||
return deptMap.get(name);
|
return deptMap.get(name);
|
||||||
}
|
}
|
||||||
return "";
|
return "";
|
||||||
|
|||||||
Reference in New Issue
Block a user