Commit b2516cb1 authored by tangwei's avatar tangwei

解决冲突

parents bb1b8702 6fa006bf
......@@ -2,6 +2,7 @@ package com.yeejoin.amos.boot.module.hygf.api.dto;
import com.baomidou.mybatisplus.annotation.TableField;
import com.yeejoin.amos.boot.module.hygf.api.entity.JpCollector;
import com.yeejoin.amos.boot.module.hygf.api.entity.JpInverterElectricity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
......@@ -100,6 +101,9 @@ public class JpInverterDto extends BaseDto {
private List<JpCollector> jpCollectors;
private List<JpInverterElectricity> JL;
private List<JpInverterElectricity> ZL;
@ApiModelProperty(value = "所属电站名称")
private String name;
......
......@@ -11,6 +11,7 @@ import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import com.yeejoin.amos.boot.module.hygf.api.dto.*;
import com.yeejoin.amos.boot.module.hygf.api.entity.*;
import com.yeejoin.amos.boot.module.hygf.biz.service.impl.JpCollectorServiceImpl;
import com.yeejoin.amos.boot.module.hygf.biz.service.impl.JpInverterElectricityServiceImpl;
import com.yeejoin.amos.boot.module.hygf.biz.service.impl.JpStationServiceImpl;
import org.apache.commons.io.IOUtils;
import org.springframework.beans.BeanUtils;
......@@ -65,6 +66,8 @@ public class JpInverterController extends BaseController {
JpStationServiceImpl jpStationServiceImpl;
@Autowired
JpCollectorServiceImpl jpCollectorService;
@Autowired
JpInverterElectricityServiceImpl jpInverterElectricityService;
@Autowired
JpPersonStationMapper pPersonStationMapper;
......@@ -401,6 +404,19 @@ public class JpInverterController extends BaseController {
wrapper.eq(BaseEntity::getIsDelete, false);
List<JpCollector> jpCollector = jpCollectorService.getBaseMapper().selectList(wrapper);
String[] names = new String[]{"PV1","PV2","PV3","PV4"};
List<String> list = Arrays.asList(names);
LambdaQueryWrapper<JpInverterElectricity> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(JpInverterElectricity::getSnCode,snCode);
queryWrapper.eq(JpInverterElectricity::getThirdStationId,jpInverter.getThirdStationId());
queryWrapper.and(q->q.eq(JpInverterElectricity::getType,"交流").or().in(JpInverterElectricity::getName,list));
List<JpInverterElectricity> jpInverterElectricities = jpInverterElectricityService.getBaseMapper().selectList(queryWrapper);
Map<String, List<JpInverterElectricity>> collect = jpInverterElectricities.stream().collect(Collectors.groupingBy(JpInverterElectricity::getType));
jpInverterDto.setZL(collect.get("直流"));
jpInverterDto.setJL(collect.get("交流"));
BeanUtils.copyProperties(jpInverter,jpInverterDto);
jpInverterDto.setJpCollectors(jpCollector);
......
......@@ -1201,26 +1201,26 @@ public class TDBigScreenAnalyseController extends BaseController {
throw new RuntimeException("安全的分数上限只能是100");
}
List<IdxBizFanHealthLevel> list = idxBizFanHealthLevelMapper.selectList(
new LambdaQueryWrapper<IdxBizFanHealthLevel>().eq(IdxBizFanHealthLevel::getAnalysisObjType, "注意"));
new LambdaQueryWrapper<IdxBizFanHealthLevel>().eq(IdxBizFanHealthLevel::getAnalysisObjType, kv.get("ANALYSIS_OBJ_TYPE")));
Map<String, Double> map = list.stream().collect(
Collectors.toMap(IdxBizFanHealthLevel::getHealthLevel, IdxBizFanHealthLevel::getGroupLowerLimit));
if (Double.valueOf(kv.get("GROUP_LOWER_LIMIT").toString()) <= map.get("groupUpperLimit")) {
if (Double.valueOf(kv.get("GROUP_LOWER_LIMIT").toString()) <= map.get("注意")) {
throw new RuntimeException("安全的下限和注意的上限不能低于注意的下限");
}
} else if ("注意".equals(kv.get("HEALTH_LEVEL").toString())) {
List<IdxBizFanHealthLevel> list = idxBizFanHealthLevelMapper.selectList(
new LambdaQueryWrapper<IdxBizFanHealthLevel>().eq(IdxBizFanHealthLevel::getAnalysisObjType, "警告"));
new LambdaQueryWrapper<IdxBizFanHealthLevel>().eq(IdxBizFanHealthLevel::getAnalysisObjType, kv.get("ANALYSIS_OBJ_TYPE")));
Map<String, Double> map = list.stream().collect(
Collectors.toMap(IdxBizFanHealthLevel::getHealthLevel, IdxBizFanHealthLevel::getGroupLowerLimit));
if (Double.valueOf(kv.get("GROUP_LOWER_LIMIT").toString()) <= map.get("groupUpperLimit")) {
if (Double.valueOf(kv.get("GROUP_LOWER_LIMIT").toString()) <= map.get("警告")) {
throw new RuntimeException("注意的下限和安全的上限不能低于安全的下限");
}
} else if ("警告".equals(kv.get("HEALTH_LEVEL").toString())) {
List<IdxBizFanHealthLevel> list = idxBizFanHealthLevelMapper.selectList(
new LambdaQueryWrapper<IdxBizFanHealthLevel>().eq(IdxBizFanHealthLevel::getAnalysisObjType, "危险"));
new LambdaQueryWrapper<IdxBizFanHealthLevel>().eq(IdxBizFanHealthLevel::getAnalysisObjType, kv.get("ANALYSIS_OBJ_TYPE")));
Map<String, Double> map = list.stream().collect(
Collectors.toMap(IdxBizFanHealthLevel::getHealthLevel, IdxBizFanHealthLevel::getGroupLowerLimit));
if (Double.valueOf(kv.get("GROUP_LOWER_LIMIT").toString()) <= map.get("groupUpperLimit")) {
if (Double.valueOf(kv.get("GROUP_LOWER_LIMIT").toString()) <= map.get("危险")) {
throw new RuntimeException("警告的下限和注意的上限不能低于注意的下限");
}
} else if ("危险".equals(kv.get("HEALTH_LEVEL").toString())) {
......@@ -1229,7 +1229,7 @@ public class TDBigScreenAnalyseController extends BaseController {
throw new RuntimeException("危险的分数下限只能是0");
}
}
if (Integer.valueOf(kv.get("GROUP_UPPER_LIMIT").toString()) <= Integer
if (Double.valueOf(kv.get("GROUP_UPPER_LIMIT").toString()) <= Double
.valueOf(kv.get("GROUP_LOWER_LIMIT").toString())) {
throw new RuntimeException(kv.get("HEALTH_LEVEL").toString() + "的分数上限不能小于或等于本身下限");
}
......
package com.yeejoin.amos.boot.module.jxiop.biz.controller;
import com.fasterxml.jackson.core.type.TypeReference;
import cn.hutool.core.text.CharSequenceUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
import com.yeejoin.amos.boot.module.jxiop.biz.dto.FanHealthIndexDto;
import com.yeejoin.amos.boot.module.jxiop.biz.dto.FullViewRecallDataDTO;
......@@ -82,15 +84,31 @@ public class TdInfoQueryController {
}
Page<FanHealthIndex> resultPage = new Page<>(dto.getCurrent(), dto.getSize());
dto.setCurrent((dto.getCurrent() - 1) * dto.getSize());
if (CharSequenceUtil.isNotEmpty(dto.getSortsString())) {
ObjectMapper objectMapper = new ObjectMapper();
try {
List<Map<String, String>> list = objectMapper.readValue(dto.getSortsString(), new TypeReference<List<Map<String, String>>>(){});
dto.setSorts(list);
} catch (Exception e) {
e.printStackTrace();
}
}
List<Map<String, String>> orderWeight = dto.getSorts().stream().sorted(Comparator.comparing(t -> Integer.parseInt(t.get("orderWeight")))).collect(Collectors.toList());
List<String> orderByList = new ArrayList<>();
for (Map<String, String> map : orderWeight) {
String replace = map.get("order").replace("end", "");
String columnOrder = map.get("columnKey") + " " + replace;
String columnOrder = convert(map.get("columnKey")) + " " + replace;
orderByList.add(columnOrder);
}
String join = String.join(",", orderByList);
dto.setOrderColumns(join);
if (CharSequenceUtil.isNotEmpty(dto.getSortOne())) {
String[] split = dto.getSortOne().split(",");
String replace = split[1].replace("end", "");
String orderColumn = convert(split[0]) + " " + replace;
dto.setSortOne(orderColumn);
}
List<FanHealthIndex> fanHealthIndexIPage = fanHealthIndexMapper.getInfoByPage(dto);
Integer infoByPageTotal = fanHealthIndexMapper.getInfoByPageTotal(dto);
resultPage.setRecords(fanHealthIndexIPage);
......@@ -98,6 +116,19 @@ public class TdInfoQueryController {
return ResponseHelper.buildResponse(resultPage);
}
public static String convert(String camelCase) {
StringBuilder result = new StringBuilder();
for (int i = 0; i < camelCase.length(); i++) {
char currentChar = camelCase.charAt(i);
if (Character.isUpperCase(currentChar)) {
result.append("_").append(Character.toLowerCase(currentChar));
} else {
result.append(currentChar);
}
}
return result.toString();
}
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@PostMapping(value = "/getPvHealthIndexInfo")
@ApiOperation(httpMethod = "POST", value = "分页查询健康指数信息 - 光伏", notes = "分页查询健康指数信息 - 光伏")
......@@ -114,16 +145,30 @@ public class TdInfoQueryController {
String endDateString = DateUtils.dateFormat(DateUtils.dateAddHours(endDateDate, -8), DATE_TIME_PATTERN);
dto.setEndDate(endDateString);
}
if (CharSequenceUtil.isNotEmpty(dto.getSortsString())) {
ObjectMapper objectMapper = new ObjectMapper();
try {
List<Map<String, String>> list = objectMapper.readValue(dto.getSortsString(), new TypeReference<List<Map<String, String>>>(){});
dto.setSorts(list);
} catch (Exception e) {
e.printStackTrace();
}
}
Page<PvHealthIndex> resultPage = new Page<>(dto.getCurrent(), dto.getSize());
dto.setCurrent((dto.getCurrent() - 1) * dto.getSize());
List<Map<String, String>> orderWeight = dto.getSorts().stream().sorted(Comparator.comparing(t -> Integer.parseInt(t.get("orderWeight")))).collect(Collectors.toList());
List<String> orderByList = new ArrayList<>();
for (Map<String, String> map : orderWeight) {
String replace = map.get("order").replace("end", "");
String columnOrder = map.get("columnKey") + " " + replace;
String columnOrder = convert(map.get("columnKey")) + " " + replace;
orderByList.add(columnOrder);
}
if (CharSequenceUtil.isNotEmpty(dto.getSortOne())) {
String[] split = dto.getSortOne().split(",");
String replace = split[1].replace("end", "");
String orderColumn = convert(split[0]) + " " + replace;
dto.setSortOne(orderColumn);
}
String join = String.join(",", orderByList);
dto.setOrderColumns(join);
List<PvHealthIndex> pvHealthIndexIPage = pvHealthIndexMapper.getInfoByPage(dto);
......@@ -136,7 +181,7 @@ public class TdInfoQueryController {
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@PostMapping(value = "/getFanWarningRecordInfo")
@ApiOperation(httpMethod = "POST", value = "分页查询健康指数信息 - 风电", notes = "分页查询健康指数信息 - 风电")
public ResponseModel<Page<Map<String,Object>>> getFanWarningRecordInfo(@RequestBody FanHealthIndexDto dto) throws ParseException {
public ResponseModel<Page<FanWarningRecord>> getFanWarningRecordInfo(@RequestBody FanHealthIndexDto dto) throws ParseException {
if (CharSequenceUtil.isNotEmpty(dto.getStartDate())) {
String startDate = dto.getStartDate();
Date date = DateUtils.dateParse(startDate, DATE_TIME_PATTERN);
......@@ -149,18 +194,33 @@ public class TdInfoQueryController {
String endDateString = DateUtils.dateFormat(DateUtils.dateAddHours(endDateDate, -8), DATE_TIME_PATTERN);
dto.setEndDate(endDateString);
}
Page<Map<String,Object>> resultPage = new Page<>(dto.getCurrent(), dto.getSize());
if (CharSequenceUtil.isNotEmpty(dto.getSortsString())) {
ObjectMapper objectMapper = new ObjectMapper();
try {
List<Map<String, String>> list = objectMapper.readValue(dto.getSortsString(), new TypeReference<List<Map<String, String>>>(){});
dto.setSorts(list);
} catch (Exception e) {
e.printStackTrace();
}
}
Page<FanWarningRecord> resultPage = new Page<>(dto.getCurrent(), dto.getSize());
dto.setCurrent((dto.getCurrent() - 1) * dto.getSize());
List<Map<String, String>> orderWeight = dto.getSorts().stream().sorted(Comparator.comparing(t -> Integer.parseInt(t.get("orderWeight")))).collect(Collectors.toList());
List<String> orderByList = new ArrayList<>();
for (Map<String, String> map : orderWeight) {
String replace = map.get("order").replace("end", "");
String columnOrder = map.get("columnKey") + " " + replace;
String columnOrder = convert(map.get("columnKey")) + " " + replace;
orderByList.add(columnOrder);
}
if (CharSequenceUtil.isNotEmpty(dto.getSortOne())) {
String[] split = dto.getSortOne().split(",");
String replace = split[1].replace("end", "");
String orderColumn = convert(split[0]) + " " + replace;
dto.setSortOne(orderColumn);
}
String join = String.join(",", orderByList);
dto.setOrderColumns(join);
List<Map<String,Object>> fanWarningRecordsIPage = fanWaringRecordMapper.getInfoByPage(dto);
List<FanWarningRecord> fanWarningRecordsIPage = fanWaringRecordMapper.getInfoByPage(dto);
Integer infoByPageTotal = fanWaringRecordMapper.getInfoByPageTotal(dto);
resultPage.setRecords(fanWarningRecordsIPage);
resultPage.setTotal(infoByPageTotal);
......@@ -183,16 +243,30 @@ public class TdInfoQueryController {
String endDateString = DateUtils.dateFormat(DateUtils.dateAddHours(endDateDate, -8), DATE_TIME_PATTERN);
dto.setEndDate(endDateString);
}
if (CharSequenceUtil.isNotEmpty(dto.getSortsString())) {
ObjectMapper objectMapper = new ObjectMapper();
try {
List<Map<String, String>> list = objectMapper.readValue(dto.getSortsString(), new TypeReference<List<Map<String, String>>>(){});
dto.setSorts(list);
} catch (Exception e) {
e.printStackTrace();
}
}
Page<PvWarningRecord> resultPage = new Page<>(dto.getCurrent(), dto.getSize());
dto.setCurrent((dto.getCurrent() - 1) * dto.getSize());
List<Map<String, String>> orderWeight = dto.getSorts().stream().sorted(Comparator.comparing(t -> Integer.parseInt(t.get("orderWeight")))).collect(Collectors.toList());
List<String> orderByList = new ArrayList<>();
for (Map<String, String> map : orderWeight) {
String replace = map.get("order").replace("end", "");
String columnOrder = map.get("columnKey") + " " + replace;
String columnOrder = convert(map.get("columnKey")) + " " + replace;
orderByList.add(columnOrder);
}
if (CharSequenceUtil.isNotEmpty(dto.getSortOne())) {
String[] split = dto.getSortOne().split(",");
String replace = split[1].replace("end", "");
String orderColumn = convert(split[0]) + " " + replace;
dto.setSortOne(orderColumn);
}
String join = String.join(",", orderByList);
dto.setOrderColumns(join);
List<PvWarningRecord> pvWarningRecords = pvWaringRecordMapper.getInfoByPage(dto);
......
......@@ -41,4 +41,6 @@ public class FanHealthIndexDto implements Serializable {
private String warningStatus;
private String disposotionState;
private String subarray;
private String sortOne;
private String sortsString;
}
......@@ -43,5 +43,7 @@ public class PvHealthIndexDto {
private Integer current;
private Integer size;
private String orderColumns;
private String sortOne;
private String sortsString;
}
......@@ -28,7 +28,7 @@ public interface FanWaringRecordMapper extends BaseMapper<FanWarningRecord> {
List<Map<String, Object>> getAllEquipAlarmInfo();
List<Map<String,Object>> getInfoByPage(@Param("dto") FanHealthIndexDto dto);
List<FanWarningRecord> getInfoByPage(@Param("dto") FanHealthIndexDto dto);
Integer getInfoByPageTotal(@Param("dto") FanHealthIndexDto dto);
......
......@@ -174,6 +174,9 @@
<if test="dto.orderColumns != null and dto.orderColumns != ''">
order by ${dto.orderColumns}
</if>
<if test="(dto.orderColumns == null or dto.orderColumns == '') and dto.sortOne != null and dto.sortOne != ''">
order by ${dto.sortOne}
</if>
limit #{dto.current}, #{dto.size}
</select>
......
......@@ -208,7 +208,7 @@
`b`.`EQUIPMENT_NAME`
</select>
<select id="getInfoByPage" resultType="map">
<select id="getInfoByPage" resultType="com.yeejoin.amos.boot.module.jxiop.biz.tdengine.FanWarningRecord">
SELECT * FROM fan_warning_record
<where>
<if test="dto.area!= null and dto.area!= ''"> AND arae = #{dto.area} </if>
......@@ -224,6 +224,9 @@
<if test="dto.orderColumns != null and dto.orderColumns != ''">
order by ${dto.orderColumns}
</if>
<if test="(dto.orderColumns == null or dto.orderColumns == '') and dto.sortOne != null and dto.sortOne != ''">
order by ${dto.sortOne}
</if>
limit #{dto.current}, #{dto.size}
</select>
......
......@@ -205,6 +205,9 @@
<if test="dto.orderColumns != null and dto.orderColumns != ''">
order by ${dto.orderColumns}
</if>
<if test="(dto.orderColumns == null or dto.orderColumns == '') and dto.sortOne != null and dto.sortOne != ''">
order by ${dto.sortOne}
</if>
limit #{dto.current}, #{dto.size}
</select>
......
......@@ -243,6 +243,9 @@
<if test="dto.orderColumns != null and dto.orderColumns != ''">
order by ${dto.orderColumns}
</if>
<if test="(dto.orderColumns == null or dto.orderColumns == '') and dto.sortOne != null and dto.sortOne != ''">
order by ${dto.sortOne}
</if>
limit #{dto.current}, #{dto.size}
</select>
......
......@@ -47,6 +47,11 @@
<version>2.4</version>
<classifier>jdk15</classifier>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.7.22</version>
</dependency>
</dependencies>
<build>
......
......@@ -140,8 +140,8 @@ public class PersonBasicController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "GET",value = "根据sequenceNbr查询单个人员基本信息", notes = "根据sequenceNbr查询单个人员基本信息")
public ResponseModel<PersonDto> selectOne(@PathVariable Long sequenceNbr) {
return ResponseHelper.buildResponse(personBasicServiceImpl.getPerson(sequenceNbr));
public ResponseModel<PersonDto> selectOne(@RequestParam Long sequenceNbr,@RequestParam String type) {
return ResponseHelper.buildResponse(personBasicServiceImpl.getPerson(sequenceNbr,type));
}
/**
......
package com.yeejoin.amos.boot.module.jxiop.biz.service.impl;
import cn.hutool.core.util.DesensitizedUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
......@@ -545,7 +546,7 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa
}
@Transactional
public PersonDto getPerson(Long sequenceNbr) {
public PersonDto getPerson(Long sequenceNbr,String type) {
PersonDto personDto = new PersonDto();
PersonUser personUser = new PersonUser();
QueryWrapper<PersonBasic> wrapper1 = new QueryWrapper();
......@@ -574,8 +575,12 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa
PersonAccount personAccount = personAccountService.getOne(wrapper4);
personAccount.setPhoneNum(personBasic.getPhone());
//对于密码进行解密
if("look".equals(type)){
personAccount.setIdNumber(DesensitizedUtil.idCardNum(personAccount.getIdNumber(),0,4));
}else{
personAccount.setPassword(DesUtil.decode(personAccount.getPassword(), secretKey));
personAccount.setSecondaryPassword(DesUtil.decode(personAccount.getSecondaryPassword(), secretKey));
}
if (personBasic.getNativePlace() != null) {
personUser.setNativePlace(JSON.parseArray(personBasic.getNativePlace(), Integer.class));
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment