预处理模块:工单问题生成,主网有效监测时长计算,
过程监督模块:工单模块功能,其他模块的审核
This commit is contained in:
@@ -25,5 +25,7 @@ public interface ServerInfo {
|
||||
String QUALITY = "quality-boot";
|
||||
String HARMONIC_PREPARE = "harmonic-prepare";
|
||||
String EVENT_PREPARE = "event-prepare";
|
||||
String PROCESS = "process-boot";
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
package com.njcn.device.pms.api;
|
||||
|
||||
import com.njcn.common.pojo.constant.ServerInfo;
|
||||
import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.device.pms.api.fallback.PmsPowerDistributionareaClientFallbackFactory;
|
||||
import com.njcn.device.pms.pojo.param.PowerDistributionareaParam;
|
||||
import com.njcn.device.pms.pojo.po.PowerDistributionarea;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author clam
|
||||
* @date 2022/10/18
|
||||
*/
|
||||
@FeignClient(
|
||||
value = ServerInfo.DEVICE,
|
||||
path = "/pms/powerDistributionarea",
|
||||
contextId = "pms/powerDistributionarea",
|
||||
fallbackFactory = PmsPowerDistributionareaClientFallbackFactory.class)
|
||||
public interface PmsPowerDistributionareaClient {
|
||||
|
||||
@PostMapping("getPowerDistributionList")
|
||||
HttpResult<List<PowerDistributionarea>> getPowerDistributionList(@RequestBody PowerDistributionareaParam powerDistributionareaParam);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
package com.njcn.device.pms.api.fallback;
|
||||
|
||||
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||
import com.njcn.common.pojo.exception.BusinessException;
|
||||
import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.device.pms.api.PmsPowerDistributionareaClient;
|
||||
import com.njcn.device.pms.pojo.param.PowerDistributionareaParam;
|
||||
import com.njcn.device.pms.pojo.po.PowerDistributionarea;
|
||||
import com.njcn.device.pms.utils.PmsDeviceEnumUtil;
|
||||
import feign.hystrix.FallbackFactory;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author clam
|
||||
* @date 2022/10/18
|
||||
*/
|
||||
@Slf4j
|
||||
@Component
|
||||
public class PmsPowerDistributionareaClientFallbackFactory implements FallbackFactory<PmsPowerDistributionareaClient> {
|
||||
|
||||
@Override
|
||||
public PmsPowerDistributionareaClient create(Throwable throwable) {
|
||||
//判断抛出异常是否为解码器抛出的业务异常
|
||||
Enum<?> exceptionEnum = CommonResponseEnum.SERVICE_FALLBACK;
|
||||
if (throwable.getCause() instanceof BusinessException) {
|
||||
BusinessException businessException = (BusinessException) throwable.getCause();
|
||||
exceptionEnum = PmsDeviceEnumUtil.getExceptionEnum(businessException.getResult());
|
||||
}
|
||||
Enum<?> finalExceptionEnum = exceptionEnum;
|
||||
return new PmsPowerDistributionareaClient()
|
||||
{
|
||||
@Override
|
||||
public HttpResult<List<PowerDistributionarea>> getPowerDistributionList(PowerDistributionareaParam powerDistributionareaParam) {
|
||||
log.error("{}异常,降级处理,异常为:{}", "获取配网所有台区", throwable.toString());
|
||||
throw new BusinessException(finalExceptionEnum);
|
||||
}
|
||||
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -2,8 +2,6 @@ package com.njcn.device.pms.service.majornetwork;
|
||||
|
||||
import com.njcn.event.pojo.po.EventDetail;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author qijian
|
||||
* @version 1.0.0
|
||||
|
||||
@@ -52,9 +52,9 @@ public class RStatDevSignalDServiceImpl extends ServiceImpl<RStatDevSignalDMappe
|
||||
}
|
||||
|
||||
//获取所有子部门信息
|
||||
// List<DeptDTO> deptDTOList = deptFeignClient.getDeptDescendantIndexes(id, WebUtil.filterDeptType()).getData();
|
||||
/*获取下一级子部门信息*/
|
||||
List<DeptDTO> deptDTOList = deptFeignClient.getDepSonDetailByDeptId (id).getData ( );
|
||||
List<DeptDTO> deptDTOList = deptFeignClient.getDeptDescendantIndexes(id, WebUtil.filterDeptType()).getData();
|
||||
// /*获取下一级子部门信息*/
|
||||
// List<DeptDTO> deptDTOList = deptFeignClient.getDepSonDetailByDeptId (id).getData ( );
|
||||
if (CollUtil.isEmpty(deptDTOList)) {
|
||||
throw new BusinessException(CommonResponseEnum.NO_DATA, "部门不存在");
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.njcn.harmonic.utils;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||
import com.njcn.common.pojo.exception.BusinessException;
|
||||
import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.common.utils.EnumUtils;
|
||||
import com.njcn.harmonic.enums.HarmonicResponseEnum;
|
||||
|
||||
@@ -32,7 +33,14 @@ public class HarmonicEnumUtil {
|
||||
throw new BusinessException(CommonResponseEnum.INTERNAL_ERROR);
|
||||
}
|
||||
}
|
||||
|
||||
public static Enum<?> getExceptionEnum(HttpResult<Object> result){
|
||||
//如果返回错误,且为内部错误,则直接抛出异常
|
||||
CommonResponseEnum commonResponseEnum = EnumUtils.getCommonResponseEnumByCode(result.getCode());
|
||||
if (commonResponseEnum == CommonResponseEnum.DEVICE_RESPONSE_ENUM) {
|
||||
return getHarmonicEnumResponseEnumByMessage(result.getMessage());
|
||||
}
|
||||
return commonResponseEnum;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -35,6 +35,12 @@
|
||||
<version>${project.version}</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.njcn</groupId>
|
||||
<artifactId>process-api</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.njcn</groupId>
|
||||
<artifactId>common-influxDB</artifactId>
|
||||
|
||||
@@ -58,7 +58,6 @@ public class AreaCountController extends BaseController {
|
||||
Boolean result = true;
|
||||
List<String> orgIdList = new ArrayList<> ();
|
||||
if(CollectionUtils.isEmpty (primaryGridParam.getOrgIdList ())){
|
||||
/*todo 不知道是否需要补招*/
|
||||
List<PvTerminalTreeVO> dept = deptFeignClient.allDeptList().getData();
|
||||
orgIdList = dept.stream ( ).map (PvTerminalTreeVO::getId).collect (Collectors.toList ( ));
|
||||
}else{
|
||||
|
||||
@@ -0,0 +1,75 @@
|
||||
package com.njcn.prepare.harmonic.controller.area;
|
||||
|
||||
import com.njcn.common.pojo.annotation.OperateInfo;
|
||||
import com.njcn.common.pojo.enums.common.LogEnum;
|
||||
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||
import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.common.utils.HttpResultUtil;
|
||||
import com.njcn.prepare.harmonic.pojo.param.PrimaryGridParam;
|
||||
import com.njcn.prepare.harmonic.service.mysql.area.EffectiveMinuteCountService;
|
||||
import com.njcn.user.api.DeptFeignClient;
|
||||
import com.njcn.user.pojo.vo.PvTerminalTreeVO;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2023/2/23 14:18【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Slf4j
|
||||
@Api(tags = "主网有效监测时长)")
|
||||
@RestController
|
||||
@RequestMapping("EffectiveCount")
|
||||
@RequiredArgsConstructor
|
||||
public class EffectiveMinuteCountController extends BaseController {
|
||||
|
||||
private final
|
||||
DeptFeignClient deptFeignClient;
|
||||
|
||||
private final
|
||||
EffectiveMinuteCountService effectiveMinuteCount;
|
||||
|
||||
|
||||
@ApiOperation("主网有效监测时长")
|
||||
@ApiImplicitParam(value = "primaryGridParam",name = "primaryGridParam",required = true)
|
||||
@PostMapping("effectiveMinuteCount")
|
||||
@OperateInfo(info = LogEnum.BUSINESS_MEDIUM)
|
||||
public HttpResult<Boolean> effectiveMinuteCount(@RequestBody PrimaryGridParam primaryGridParam ){
|
||||
log.info(LocalDateTime.now()+"effectiveMinuteCount开始执行");
|
||||
String methodDescribe = getMethodDescribe("effectiveMinuteCount");
|
||||
Boolean result = true;
|
||||
List<String> orgIdList = new ArrayList<> ();
|
||||
if(CollectionUtils.isEmpty (primaryGridParam.getOrgIdList ())){
|
||||
List<PvTerminalTreeVO> dept = deptFeignClient.allDeptList().getData();
|
||||
orgIdList = dept.stream ( ).map (PvTerminalTreeVO::getId).collect (Collectors.toList ( ));
|
||||
}else{
|
||||
orgIdList = primaryGridParam.getOrgIdList ();
|
||||
}
|
||||
primaryGridParam.setOrgIdList (orgIdList);
|
||||
|
||||
effectiveMinuteCount.effectiveMinuteCount (primaryGridParam);
|
||||
if (result){
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, methodDescribe);
|
||||
} else {
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, false, methodDescribe);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,79 @@
|
||||
package com.njcn.prepare.harmonic.controller.area;
|
||||
|
||||
import com.njcn.common.pojo.annotation.OperateInfo;
|
||||
import com.njcn.common.pojo.enums.common.LogEnum;
|
||||
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||
import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.common.utils.HttpResultUtil;
|
||||
import com.njcn.device.pms.api.PmsPowerDistributionareaClient;
|
||||
import com.njcn.device.pms.pojo.param.PowerDistributionareaParam;
|
||||
import com.njcn.device.pms.pojo.po.PowerDistributionarea;
|
||||
import com.njcn.prepare.harmonic.pojo.param.LineParam;
|
||||
import com.njcn.prepare.harmonic.service.influxdb.RStatWorkOrderCreateService;
|
||||
import com.njcn.redis.utils.RedisUtil;
|
||||
import com.njcn.user.api.DeptFeignClient;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2023/2/9 9:16【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Slf4j
|
||||
@Api(tags = "工单生成批处理逻辑")
|
||||
@RestController
|
||||
@RequestMapping("RStatWorkOrderCreate")
|
||||
@RequiredArgsConstructor
|
||||
public class RStatWorkOrderCreateController extends BaseController {
|
||||
|
||||
|
||||
private final PmsPowerDistributionareaClient pmsPowerDistributionareaClient;
|
||||
|
||||
private final RStatWorkOrderCreateService rStatWorkOrderCreateService;
|
||||
private final DeptFeignClient deptFeignClient;
|
||||
private final RedisUtil redisUtil;
|
||||
|
||||
|
||||
@ApiOperation("工单生成批处理逻辑(台区测点)")
|
||||
@ApiImplicitParam(value = "lineParam",name = "lineParam",required = true)
|
||||
@PostMapping("workOrderCreate")
|
||||
@OperateInfo(info = LogEnum.BUSINESS_MEDIUM)
|
||||
public HttpResult<Boolean> workOrderCreate(@RequestBody LineParam lineParam ){
|
||||
log.info(LocalDateTime.now()+"workOrderCreate开始执行");
|
||||
String methodDescribe = getMethodDescribe("workOrderCreate");
|
||||
Boolean result = true;
|
||||
List<String> lineIds= new ArrayList<> ();
|
||||
if(CollectionUtils.isEmpty (lineParam.getLineIds ())){
|
||||
PowerDistributionareaParam powerDistributionareaParam = new PowerDistributionareaParam();
|
||||
List<PowerDistributionarea> data = pmsPowerDistributionareaClient.getPowerDistributionList (powerDistributionareaParam).getData ( );
|
||||
lineIds = data.stream ().map (PowerDistributionarea::getId).collect(Collectors.toList());
|
||||
}else{
|
||||
lineIds = lineParam.getLineIds ( );
|
||||
}
|
||||
lineParam.setLineIds (lineIds);
|
||||
rStatWorkOrderCreateService.workOrderCreate(lineParam);
|
||||
if (result){
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, methodDescribe);
|
||||
} else {
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, false, methodDescribe);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2,11 +2,14 @@ package com.njcn.prepare.harmonic.mapper.oracle;
|
||||
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.njcn.prepare.harmonic.pojo.dto.DataVFiveItemDTO;
|
||||
import com.njcn.prepare.harmonic.pojo.oracle.DataVOraclePO;
|
||||
import com.njcn.prepare.harmonic.pojo.vo.DataVOracleVO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
@@ -21,4 +24,6 @@ public interface DataVOraclePOMapper extends BaseMapper<DataVOraclePO> {
|
||||
DataVOracleVO getFiveItemsForDataException(@Param("lineId") Integer lineId, @Param("startTime") DateTime startTime, @Param("endTime") DateTime endTime);
|
||||
|
||||
DataVOracleVO getFiveCountForDataIntegrityRate(@Param("lineId") Integer lineId, @Param("startTime") DateTime startTime, @Param("endTime") DateTime endTime);
|
||||
|
||||
List<DataVFiveItemDTO> getFiveItems(@Param("lineId") Integer lineId, @Param("date") String date);
|
||||
}
|
||||
@@ -63,4 +63,33 @@
|
||||
GROUP BY
|
||||
LINEID
|
||||
</select>
|
||||
<select id="getFiveItems" resultType="com.njcn.prepare.harmonic.pojo.dto.DataVFiveItemDTO">
|
||||
select a.lineid,a.timeid,a.rmsMax,a.rmsMin,a.vThdMax,a.vThdMin,
|
||||
b.freqMax,b.freqMin,b.rmsLvrMax,b.rmsLvrMin,b.vUnbalanceMax,b.vUnbalanceMin from
|
||||
(SELECT lineid,
|
||||
timeid,
|
||||
Max(RMS_MAX) AS rmsMax,
|
||||
Min(RMS_MIN) AS rmsMin,
|
||||
Max(V_THD_MAX) AS vThdMax,
|
||||
Min(V_THD_MIN) AS vThdMin
|
||||
FROM DATA_V
|
||||
WHERE lineid = #{lineId}
|
||||
and TO_CHAR(TIMEID, 'yyyy-mm-dd') = #{date}
|
||||
AND PHASIC_TYPE IN ('A', 'B', 'C')
|
||||
group by lineid, TIMEID) a left join
|
||||
(SELECT lineid,
|
||||
timeid,
|
||||
Max(FREQ_MAX) AS freqMax,
|
||||
Min(FREQ_MIN) AS freqMin,
|
||||
GREATEST(MaX(RMSAB_MAX), MaX(RMSBC_MAX), MAX(RMSCA_MAX)) AS rmsLvrMax,
|
||||
least(MIN(RMSAB_MIN), MIN(RMSBC_MIN), MIN(RMSCA_MIN)) AS rmsLvrMin,
|
||||
Max(V_UNBALANCE_MAX) AS vUnbalanceMax,
|
||||
Min(V_UNBALANCE_MIN) AS vUnbalanceMin
|
||||
FROM DATA_V
|
||||
WHERE lineid = #{lineId}
|
||||
and TO_CHAR(TIMEID, 'yyyy-mm-dd') = #{date}
|
||||
AND PHASIC_TYPE = 'T'
|
||||
group by lineid, TIMEID) b
|
||||
on a.LINEID = b.LINEID and a.timeid =b.timeid
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -0,0 +1,35 @@
|
||||
package com.njcn.prepare.harmonic.service.influxdb;
|
||||
|
||||
import com.njcn.prepare.harmonic.pojo.dto.DataVFiveItemDTO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2023/2/23 10:31【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
public interface DataVInfluxdbService
|
||||
{
|
||||
/**
|
||||
* @Description: 1.1.1.2.1. 主网单位在线监测点数日统计 :data_v表中查询phasic_type = A当天RMS数据数量,数量大于1则该监测点为在线监测点
|
||||
* @Param:
|
||||
* @return:
|
||||
* @Author: clam
|
||||
* @Date: 2023/2/23
|
||||
*/
|
||||
Integer queryTransitMeasurementPoints(List<String> lineIds, String date, String type);
|
||||
|
||||
/**
|
||||
* @Description: 获取监测点当天数据
|
||||
* @Param: [lineId, date]
|
||||
* @return: java.util.List<com.njcn.prepare.harmonic.pojo.vo.DataVOracleVO>
|
||||
* @Author: clam
|
||||
* @Date: 2023/2/23
|
||||
*/
|
||||
List<DataVFiveItemDTO> getFiveItems(String lineId, String date, Integer statisticalInterval);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package com.njcn.prepare.harmonic.service.influxdb;
|
||||
|
||||
import com.njcn.prepare.harmonic.pojo.param.LineParam;
|
||||
|
||||
/**
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2023/2/10 15:42【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
public interface RStatWorkOrderCreateService {
|
||||
void workOrderCreate(LineParam lineParam);
|
||||
}
|
||||
@@ -0,0 +1,108 @@
|
||||
package com.njcn.prepare.harmonic.service.influxdb.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import com.google.common.base.Objects;
|
||||
import com.njcn.device.pq.pojo.po.DataV;
|
||||
import com.njcn.influxdb.param.InfluxDBPublicParam;
|
||||
import com.njcn.influxdb.utils.InfluxDbUtils;
|
||||
import com.njcn.prepare.harmonic.pojo.dto.DataVFiveItemDTO;
|
||||
import com.njcn.prepare.harmonic.service.influxdb.DataVInfluxdbService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.influxdb.dto.QueryResult;
|
||||
import org.influxdb.impl.InfluxDBResultMapper;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2023/2/23 10:32【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
@Slf4j
|
||||
public class DataVInfluxdbServiceImpl implements DataVInfluxdbService {
|
||||
private final InfluxDbUtils influxDbUtils;
|
||||
/**
|
||||
* @param lineIds
|
||||
* @param date
|
||||
* @param type
|
||||
* @Description: 1.1.1.2.1. 主网单位在线监测点数日统计 :data_v表中查询phasic_type = A当天RMS数据数量,数量大于1则该监测点为在线监测点
|
||||
* @Param:
|
||||
* @return:
|
||||
* @Author: clam
|
||||
* @Date: 2023/2/23
|
||||
*/
|
||||
@Override
|
||||
public Integer queryTransitMeasurementPoints(List<String> lineIds, String date, String type) {
|
||||
String startTime = date+" "+"00:00:00";
|
||||
String endTime = date+" "+"23:59:59";
|
||||
Integer i =0;
|
||||
for (String temp:lineIds){
|
||||
String Sql = "SELECT count(rms) FROM \"data_v\" where line_id='"+temp+
|
||||
"'and "+ InfluxDBPublicParam.TIME+">='"+startTime+"'and "+ InfluxDBPublicParam.TIME+"<='"+endTime+"' and phasic_type ='A' and rms>1 "+ InfluxDBPublicParam.TIME_ZONE;
|
||||
QueryResult sqlResult4 = influxDbUtils.query(Sql);
|
||||
|
||||
List<QueryResult.Series> series = sqlResult4.getResults().get(0).getSeries();
|
||||
Double tem =0.0;
|
||||
if(CollUtil.isNotEmpty(series)){
|
||||
tem =(Double)series.get(0).getValues().get(0).get(1);
|
||||
}
|
||||
if(tem>0){
|
||||
i++;
|
||||
}
|
||||
}
|
||||
return i;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param lineId
|
||||
* @param date
|
||||
* @Description: 获取监测点当天数据
|
||||
* @Param: [lineId, date]
|
||||
* @return: java.util.List<com.njcn.prepare.harmonic.pojo.vo.DataVOracleVO>
|
||||
* @Author: clam
|
||||
* @Date: 2023/2/23
|
||||
*/
|
||||
@Override
|
||||
public List<DataVFiveItemDTO> getFiveItems(String lineId, String date, Integer statisticalInterval) {
|
||||
/*按时间分组每组16条,*/
|
||||
/*freq,v_thd,v_unbalance 取T项数据*/
|
||||
String startTime = date+" "+"00:00:00";
|
||||
String endTime = date+" "+"23:59:59";
|
||||
String Sql = "SELECT time, MAX(freq) as freq_max,MIN(freq) as freq_min,MAX(v_thd) as v_thd_max,MIN(v_thd) as v_thd_min,MAX(v_unbalance) as v_unbalance_max,MIN(v_unbalance) as v_unbalance_min from data_v where line_id='"+lineId+
|
||||
"'and "+ InfluxDBPublicParam.TIME+">='"+startTime+"'and "+ InfluxDBPublicParam.TIME+"<='"+endTime+"' and phasic_type ='T' group by time("+statisticalInterval+"m ) fill(none) "+InfluxDBPublicParam.TIME_ZONE;
|
||||
QueryResult query = influxDbUtils.query(Sql);
|
||||
InfluxDBResultMapper resultMapper = new InfluxDBResultMapper();
|
||||
List<DataV> dataVS = resultMapper.toPOJO(query, DataV.class);
|
||||
/*rms,rms_lvr 取ABC项数据任意一个数据*/
|
||||
|
||||
String Sql2 = "SELECT time, MAX(rms) as rms_max,MIN(rms) as rms_min,MAX(rms_lvr) as rms_lvr_max,MIN(rms_lvr) as rms_lvr_min from data_v where line_id='"+lineId+
|
||||
"'and "+ InfluxDBPublicParam.TIME+">='"+startTime+"'and "+ InfluxDBPublicParam.TIME+"<='"+endTime+"' and phasic_type ='A' group by time("+statisticalInterval+"m ) fill(none) "+InfluxDBPublicParam.TIME_ZONE;
|
||||
QueryResult query2 = influxDbUtils.query(Sql2);
|
||||
InfluxDBResultMapper resultMapper2 = new InfluxDBResultMapper();
|
||||
List<DataV> dataVS2 = resultMapper2.toPOJO(query2, DataV.class);
|
||||
|
||||
|
||||
List<DataVFiveItemDTO> collect = dataVS.stream ( ).map (temp -> {
|
||||
DataVFiveItemDTO dataVFiveItemDTO = new DataVFiveItemDTO ( );
|
||||
BeanUtils.copyProperties (temp, dataVFiveItemDTO);
|
||||
DataV dataV = dataVS2.stream ( ).filter (temp2 -> Objects.equal (temp.getTime ( ), temp2.getTime ( ))).
|
||||
collect (Collectors.toList ( )).get (0);
|
||||
dataVFiveItemDTO.setRmsMax (dataV.getRmsMAX ());
|
||||
dataVFiveItemDTO.setRmsMin (dataV.getRmsMIN ( ));
|
||||
dataVFiveItemDTO.setRmsLvrMax (dataV.getRmsLvrMAX ());
|
||||
dataVFiveItemDTO.setRmsLvrMin (dataV.getRmsLvrMIN ());
|
||||
|
||||
return dataVFiveItemDTO;
|
||||
}).collect (Collectors.toList ( ));
|
||||
return collect;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,265 @@
|
||||
package com.njcn.prepare.harmonic.service.influxdb.impl;
|
||||
|
||||
import com.njcn.device.pms.api.MonitorClient;
|
||||
import com.njcn.device.pq.pojo.po.Overlimit;
|
||||
import com.njcn.influxdb.param.InfluxDBPublicParam;
|
||||
import com.njcn.influxdb.utils.InfluxDbUtils;
|
||||
import com.njcn.prepare.harmonic.pojo.dto.OverLimitFlagDTO;
|
||||
import com.njcn.prepare.harmonic.pojo.influxdb.po.DataIPO;
|
||||
import com.njcn.prepare.harmonic.pojo.influxdb.po.DataVPO;
|
||||
import com.njcn.prepare.harmonic.pojo.param.LineParam;
|
||||
import com.njcn.prepare.harmonic.service.influxdb.RStatWorkOrderCreateService;
|
||||
import com.njcn.process.api.RStatWorkOrderFeignClient;
|
||||
import com.njcn.system.enums.DicDataEnum;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.influxdb.dto.QueryResult;
|
||||
import org.influxdb.impl.InfluxDBResultMapper;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.ZoneId;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2023/2/10 15:43【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
@Slf4j
|
||||
public class RStatWorkOrderCreateServiceImpl implements RStatWorkOrderCreateService {
|
||||
|
||||
private final InfluxDbUtils influxDbUtils;
|
||||
private final MonitorClient monitorClient;
|
||||
private final RStatWorkOrderFeignClient rStatWorkOrderFeignClient;
|
||||
@Override
|
||||
public void workOrderCreate(LineParam lineParam) {
|
||||
List<String> lineIds = lineParam.getLineIds ( );
|
||||
List<OverLimitFlagDTO> overLimitFlagDTOList = new ArrayList();
|
||||
String startTime = lineParam.getDataDate ()+" "+"00:00:00";
|
||||
String endTime = lineParam.getDataDate ()+" "+"23:59:59";
|
||||
lineIds.stream ().forEach (lineId->{
|
||||
|
||||
Overlimit overlimit = monitorClient.getOverLimitData(lineId).getData ();
|
||||
List<DataVPO> dataV = getDataV(lineId,startTime,endTime);
|
||||
List<OverLimitFlagDTO> checkResultV = checkOverLimitV(dataV,overlimit);
|
||||
/*Datav3分钟一条数据连续4个小时越限说明OverLimitFlagDTO.overLimtFlag要连续80个是1才生成工单*/
|
||||
List<OverLimitFlagDTO> workOrderV = checkOverLimitFlag (checkResultV);
|
||||
for (OverLimitFlagDTO overLimitFlagDTO : workOrderV) {
|
||||
OverLimitFlagDTO result = new OverLimitFlagDTO ();
|
||||
BeanUtils.copyProperties (overLimitFlagDTO, result);
|
||||
result.setLineId (lineId);
|
||||
result.setOverLimtType (DicDataEnum.VOLTAGE_LIMIT.getCode ());
|
||||
overLimitFlagDTOList.add (result);
|
||||
}
|
||||
List<DataIPO> dataI = getDataI(lineId,startTime,endTime);
|
||||
List<OverLimitFlagDTO> checkResultI = checkOverLimitI(dataI,overlimit);
|
||||
List<OverLimitFlagDTO> workOrderI= checkOverLimitFlag (checkResultI);
|
||||
for (OverLimitFlagDTO overLimitFlagDTO : workOrderI) {
|
||||
OverLimitFlagDTO result = new OverLimitFlagDTO ();
|
||||
BeanUtils.copyProperties (overLimitFlagDTO, result);
|
||||
result.setLineId (lineId);
|
||||
result.setOverLimtType (DicDataEnum.CURRENT_LIMIT.getCode ());
|
||||
overLimitFlagDTOList.add (result);
|
||||
}
|
||||
|
||||
});
|
||||
rStatWorkOrderFeignClient.createProblem (overLimitFlagDTOList);
|
||||
}
|
||||
/**
|
||||
* @Description: 对比监测一天的电流是否越限,越限返回1,未越限返回0
|
||||
* @Param: [dataI, overlimit]
|
||||
* @return: java.util.List<com.njcn.prepare.harmonic.pojo.dto.OverLimitFlagDTO>
|
||||
* @Author: clam
|
||||
* @Date: 2023/2/13
|
||||
*/
|
||||
private List<OverLimitFlagDTO> checkOverLimitI(List<DataIPO> dataI, Overlimit overlimit) {
|
||||
List<OverLimitFlagDTO> result = new ArrayList<> ();
|
||||
dataI.stream ().forEach (datai ->{
|
||||
Integer temp = 0;
|
||||
|
||||
for(int i=2 ;i<26;i++){
|
||||
|
||||
String vi = getFieldValueByFieldName("v"+i,datai);
|
||||
String overLimiti= getFieldValueByFieldName("uharm"+i,overlimit);
|
||||
if(Double.valueOf (vi)>Double.valueOf (overLimiti)){
|
||||
temp = 1;
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
OverLimitFlagDTO overLimitFlagDTO = new OverLimitFlagDTO();
|
||||
overLimitFlagDTO.setOverLimtFlag (temp);
|
||||
overLimitFlagDTO.setStartTime (LocalDateTime.ofInstant(datai.getTime (), ZoneId.systemDefault()));
|
||||
result.add (overLimitFlagDTO);
|
||||
});
|
||||
return result;
|
||||
}
|
||||
|
||||
/** Datav3分钟一条数据,每天480条数据连续4个小时越限说明OverLimitFlagDTO.overLimtFlag要连续80个是1才生成工单
|
||||
* @Description: checkOverLimitFlag
|
||||
* @Param: [checkResult]
|
||||
* @return: java.util.List<com.njcn.prepare.harmonic.pojo.dto.OverLimitFlagDTO>
|
||||
* @Author: clam
|
||||
* @Date: 2023/2/13
|
||||
*/
|
||||
private List<OverLimitFlagDTO> checkOverLimitFlag(List<OverLimitFlagDTO> checkResult) {
|
||||
List<OverLimitFlagDTO> result = new ArrayList<> ();
|
||||
int temp = checkResult.size ()-40;
|
||||
for (int i=0;i<temp;i++){
|
||||
List<OverLimitFlagDTO> collect = checkResult.stream ( ).skip (i).limit (80).collect (Collectors.toList ( ));
|
||||
int sum = collect.stream ( ).mapToInt (OverLimitFlagDTO::getOverLimtFlag).sum ( );
|
||||
if(sum==80){
|
||||
/*sum==80连续4个小时越限生成工单,统计越限时间*/
|
||||
OverLimitFlagDTO overLimitFlagDTO = new OverLimitFlagDTO();
|
||||
overLimitFlagDTO.setStartTime (checkResult.get (i).getStartTime ());
|
||||
Integer temp2 =i+80;
|
||||
while(checkResult.get (temp2).getOverLimtFlag ()==1){
|
||||
temp2++ ;
|
||||
if(temp2==checkResult.size ()-1){
|
||||
break;
|
||||
}
|
||||
}
|
||||
overLimitFlagDTO.setEndTime (checkResult.get (temp2-1).getStartTime ());
|
||||
i=temp2;
|
||||
result.add (overLimitFlagDTO);
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 对比监测一天的电压是否越限,越限返回1,未越限返回0
|
||||
* @Param: [dataV, overlimit]
|
||||
* @return: java.lang.String[]
|
||||
* @Author: clam
|
||||
* @Date: 2023/2/13
|
||||
*/
|
||||
private List<OverLimitFlagDTO> checkOverLimitV(List<DataVPO> dataV, Overlimit overlimit) {
|
||||
List<OverLimitFlagDTO> result = new ArrayList<> ();
|
||||
dataV.stream ().forEach (datav ->{
|
||||
Integer temp = 0;
|
||||
|
||||
for(int i=1 ;i<26;i++){
|
||||
if(i==1){
|
||||
if(datav.getVThd ()>overlimit.getUaberrance ()){
|
||||
temp = 1;
|
||||
break;
|
||||
}
|
||||
}else {
|
||||
String vi = getFieldValueByFieldName("v"+i,datav);
|
||||
String overLimiti= getFieldValueByFieldName("uharm"+i,overlimit);
|
||||
if(Double.valueOf (vi)>Double.valueOf (overLimiti)){
|
||||
temp = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
OverLimitFlagDTO overLimitFlagDTO = new OverLimitFlagDTO();
|
||||
overLimitFlagDTO.setOverLimtFlag (temp);
|
||||
overLimitFlagDTO.setStartTime (LocalDateTime.ofInstant(datav.getTime (), ZoneId.systemDefault()));
|
||||
result.add (overLimitFlagDTO);
|
||||
});
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 功能描述:获取dataVCP95值数据
|
||||
* @author xy
|
||||
* @param lineIndex 监测点集ID
|
||||
* @param startTime 起始时间
|
||||
* @param endTime 结束时间
|
||||
* @date 2022/5/10 14:56
|
||||
* @return List<DataV>
|
||||
*/
|
||||
public List<DataVPO> getDataV(String lineIndex, String startTime, String endTime){
|
||||
List<DataVPO> result = new ArrayList<> ();
|
||||
|
||||
//CP95值
|
||||
StringBuilder stringBuilder7 = new StringBuilder();
|
||||
StringBuilder stringBuilder8 = new StringBuilder();
|
||||
stringBuilder7.append("MAX(v_thd) AS v_thd,");
|
||||
for (int i = 2; i <=25 ; i++) {
|
||||
if (i==25){
|
||||
stringBuilder7.append("MAX(v_").append(i).append(") AS v_").append(i);
|
||||
} else {
|
||||
stringBuilder7.append("MAX(v_").append(i).append(") AS v_").append(i).append(",");
|
||||
}
|
||||
}
|
||||
stringBuilder8.append ("line_id='").append (lineIndex).append ("' and ").append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'CP95' group by time(3m) fill(0)").append(InfluxDBPublicParam.TIME_ZONE);
|
||||
String sql4 = "select "+stringBuilder7+" from "+ InfluxDBPublicParam.DATA_V+" where "+stringBuilder8;
|
||||
QueryResult sqlResult4 = influxDbUtils.query(sql4);
|
||||
InfluxDBResultMapper resultMapper4 = new InfluxDBResultMapper();
|
||||
List<DataVPO> list4 = resultMapper4.toPOJO(sqlResult4, DataVPO.class);
|
||||
list4.forEach(item->{
|
||||
item.setValueType("CP95");
|
||||
});
|
||||
result.addAll(list4);
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 功能描述:获取dataI CP95数据
|
||||
* @author xy
|
||||
* @param lineIndex 监测点ID
|
||||
* @param startTime 起始时间
|
||||
* @param endTime 结束时间
|
||||
* @date 2022/5/10 14:56
|
||||
* @return List<DataIPO>
|
||||
*/
|
||||
public List<DataIPO> getDataI(String lineIndex, String startTime, String endTime){
|
||||
List<DataIPO> result = new ArrayList<>();
|
||||
|
||||
//CP95值
|
||||
StringBuilder stringBuilder7 = new StringBuilder();
|
||||
StringBuilder stringBuilder8 = new StringBuilder();
|
||||
for (int i = 2; i <=25 ; i++) {
|
||||
if (i==25){
|
||||
stringBuilder7.append("MAX(i_").append(i).append(") AS i_").append(i);
|
||||
} else {
|
||||
stringBuilder7.append("MAX(i_").append(i).append(") AS i_").append(i).append(",");
|
||||
}
|
||||
}
|
||||
stringBuilder8.append ("line_id='").append (lineIndex).append ("' and ").append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'CP95' group by time(3m) fill(0)").append(InfluxDBPublicParam.TIME_ZONE);
|
||||
String sql4 = "select "+stringBuilder7+" from "+ InfluxDBPublicParam.DATA_I+" where "+stringBuilder8;
|
||||
QueryResult sqlResult4 = influxDbUtils.query(sql4);
|
||||
InfluxDBResultMapper resultMapper4 = new InfluxDBResultMapper();
|
||||
List<DataIPO> list4 = resultMapper4.toPOJO(sqlResult4, DataIPO.class);
|
||||
list4.forEach(item->{
|
||||
item.setValueType("CP95");
|
||||
});
|
||||
result.addAll(list4);
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据属性名获取属性值
|
||||
*
|
||||
* @param fieldName
|
||||
* @param object
|
||||
* @return
|
||||
*/
|
||||
private String getFieldValueByFieldName(String fieldName, Object object) {
|
||||
try {
|
||||
Field field = object.getClass().getDeclaredField(fieldName);
|
||||
//设置对象的访问权限,保证对private的属性的访问
|
||||
field.setAccessible(true);
|
||||
return field.get(object)+"";
|
||||
} catch (Exception e) {
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,327 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.Impl.area;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.njcn.device.pq.constant.Param;
|
||||
import com.njcn.device.pq.pojo.po.PmsAbnormalRules;
|
||||
import com.njcn.harmonic.pojo.po.PmsMonitorPO;
|
||||
import com.njcn.harmonic.pojo.po.RMpIntegrityDPO;
|
||||
import com.njcn.harmonic.pojo.po.RStatAbnormalDPO;
|
||||
import com.njcn.prepare.harmonic.constant.AlgorithmParam;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.area.RStatAbnormalDPOMapper;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.line.PmsAbnormalRulesMapper;
|
||||
import com.njcn.prepare.harmonic.pojo.dto.DataVFiveItemDTO;
|
||||
import com.njcn.prepare.harmonic.pojo.oracle.PqLinedetailPO;
|
||||
import com.njcn.prepare.harmonic.pojo.param.PrimaryGridParam;
|
||||
import com.njcn.prepare.harmonic.service.influxdb.DataVInfluxdbService;
|
||||
import com.njcn.prepare.harmonic.service.mysql.area.EffectiveMinuteCountService;
|
||||
import com.njcn.prepare.harmonic.service.mysql.area.PmsMonitorPOService;
|
||||
import com.njcn.prepare.harmonic.service.mysql.area.RMpIntegrityDPOService;
|
||||
import com.njcn.prepare.harmonic.service.oracle.DataVOraclePOService;
|
||||
import com.njcn.prepare.harmonic.service.oracle.PqLinedetailPOService;
|
||||
import com.njcn.system.api.DicDataFeignClient;
|
||||
import com.njcn.system.enums.DicDataTypeEnum;
|
||||
import com.njcn.system.pojo.po.DictData;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.SneakyThrows;
|
||||
import org.springframework.scheduling.annotation.Async;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2023/2/23 16:04【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class EffectiveMinuteCountServiceImpl implements EffectiveMinuteCountService {
|
||||
|
||||
private final
|
||||
PmsMonitorPOService pmsMonitorPOService;
|
||||
private final
|
||||
RStatAbnormalDPOMapper rStatAbnormalDPOMapper;
|
||||
private final
|
||||
PmsAbnormalRulesMapper pmsAbnormalRulesMapper;
|
||||
private final
|
||||
PqLinedetailPOService pqLinedetailPOService;
|
||||
private final
|
||||
DataVOraclePOService dataVOraclePOService;
|
||||
private final
|
||||
RMpIntegrityDPOService rMpIntegrityDPOService;
|
||||
private final
|
||||
DicDataFeignClient dicDataFeignClient;
|
||||
private final
|
||||
DataVInfluxdbService dataVInfluxdbService;
|
||||
|
||||
|
||||
/**
|
||||
* @param primaryGridParam
|
||||
* @Description: 主网有效监测时长计算
|
||||
* @Param: [primaryGridParam]
|
||||
* @return: void
|
||||
* @Author: clam
|
||||
* @Date: 2023/2/23
|
||||
*/
|
||||
@Override
|
||||
@Async("asyncExecutor")
|
||||
public void effectiveMinuteCount(PrimaryGridParam primaryGridParam) {
|
||||
if (Objects.equals (primaryGridParam.getDataSource ( ), AlgorithmParam.ORACLE_DATA)) {
|
||||
this.hanlderOracleData (primaryGridParam);
|
||||
} else if (Objects.equals (primaryGridParam.getDataSource ( ), AlgorithmParam.INFLUX_DATA)) {
|
||||
this.hanlderInfludxbData (primaryGridParam);
|
||||
}
|
||||
}
|
||||
|
||||
private void hanlderInfludxbData(PrimaryGridParam primaryGridParam) {
|
||||
Integer type = primaryGridParam.getType ( );
|
||||
switch (type) {
|
||||
// case 1:
|
||||
// this.hanlderInfludxdbYear (primaryGridParam);
|
||||
// break;
|
||||
// case 2:
|
||||
// this.hanlderInfludxdbQtr (primaryGridParam);
|
||||
// break;
|
||||
// case 3:
|
||||
// this.hanlderInfludxdbMonth (primaryGridParam);
|
||||
// break;
|
||||
case 5:
|
||||
this.hanlderInfludxdbDay (primaryGridParam);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
@SneakyThrows
|
||||
private void hanlderInfludxdbDay(PrimaryGridParam primaryGridParam) {
|
||||
List<String> orgIdList = primaryGridParam.getOrgIdList ( );
|
||||
String dataDate = primaryGridParam.getDataDate ( );
|
||||
List<RMpIntegrityDPO> rMpIntegrityDPOS = new ArrayList<> ( );
|
||||
|
||||
//1、取出规则
|
||||
List<PmsAbnormalRules> pmsAbnormalRules = pmsAbnormalRulesMapper.selectList (null);
|
||||
//2、取出电压字典
|
||||
List<DictData> dictDataList = dicDataFeignClient.getDicDataByTypeName (DicDataTypeEnum.DEV_VOLTAGE.getName ( )).getData ( );
|
||||
|
||||
|
||||
final Date tempDate = new SimpleDateFormat ("yyyy-MM-dd").parse (dataDate);
|
||||
orgIdList.forEach (orgid -> {
|
||||
/*主网在运监测点*/
|
||||
List<PmsMonitorPO> pmsMonitorPOS = pmsMonitorPOService.qurymeasurementRunPoints (orgid);
|
||||
List<String> mysqlIndexList = pmsMonitorPOS.stream ( ).map (PmsMonitorPO::getId).collect (Collectors.toList ( ));
|
||||
if (CollectionUtil.isEmpty (mysqlIndexList)) {
|
||||
return;
|
||||
}
|
||||
/*过滤掉异常监测点*/
|
||||
QueryWrapper<RStatAbnormalDPO> rStatAbnormalDPOLambdaQueryWrapper = new QueryWrapper ( );
|
||||
rStatAbnormalDPOLambdaQueryWrapper.select ("measurementPointId").
|
||||
in ("measurement_point_id", mysqlIndexList).
|
||||
eq ("value_alarm", 1).
|
||||
eq ("DATE_FORMAT( data_date ,'%Y-%m-%d')", dataDate);
|
||||
List<RStatAbnormalDPO> rStatAbnormalDPOS = rStatAbnormalDPOMapper.selectList (rStatAbnormalDPOLambdaQueryWrapper);
|
||||
List<String> collect = rStatAbnormalDPOS.stream ( ).map (RStatAbnormalDPO::getMeasurementPointId).collect (Collectors.toList ( ));
|
||||
List<PmsMonitorPO> collect1 = pmsMonitorPOS.stream ( ).filter (temp -> collect.contains (temp.getId ( ))).collect (Collectors.toList ( ));
|
||||
// /*测试造的数据*/
|
||||
// List<PmsMonitorPO> collect1 = new ArrayList<> ();
|
||||
// PmsMonitorPO pmsMonitorPO = new PmsMonitorPO();
|
||||
// pmsMonitorPO.setVoltageLevel ("e3da890104e3c4ae1f005021411a1fd7");
|
||||
// pmsMonitorPO.setStatisticalInterval (3);
|
||||
// pmsMonitorPO.setId ("8696be1d170e05b7d848accc059f4558");
|
||||
// collect1.add (pmsMonitorPO);
|
||||
|
||||
collect1.forEach (temp -> {
|
||||
|
||||
Double voltage = getVoltage (temp.getVoltageLevel ( ), dictDataList);
|
||||
|
||||
/*2.查询DataV
|
||||
measurement_point_id 监测点编号
|
||||
data_date 时间
|
||||
phasic_type = A 相别
|
||||
value_type = AVG 数据类型
|
||||
*/
|
||||
/*统计间隔*/
|
||||
Integer statisticalInterval = temp.getStatisticalInterval ( );
|
||||
/*获取监测点当天的所有数据*/
|
||||
List<DataVFiveItemDTO> fiveItems = dataVInfluxdbService.getFiveItems (temp.getId (), dataDate,statisticalInterval);
|
||||
|
||||
/*过滤出有效接入分钟数量*/
|
||||
Integer count = calculateEffectiveMinute (fiveItems, pmsAbnormalRules, voltage);
|
||||
|
||||
RMpIntegrityDPO rMpIntegrityDPO = new RMpIntegrityDPO ( );
|
||||
rMpIntegrityDPO.setEffectiveMinuteCount (count * statisticalInterval);
|
||||
rMpIntegrityDPO.setDataDate (tempDate);
|
||||
rMpIntegrityDPOS.add (rMpIntegrityDPO);
|
||||
});
|
||||
});
|
||||
rMpIntegrityDPOService.saveOrUpdateBatch (rMpIntegrityDPOS, 500);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 目前只计算日表
|
||||
* @Param: [primaryGridParam]
|
||||
* @return: void
|
||||
* @Author: clam
|
||||
* @Date: 2023/2/23
|
||||
*/
|
||||
private void hanlderOracleData(PrimaryGridParam primaryGridParam) {
|
||||
Integer type = primaryGridParam.getType ( );
|
||||
switch (type) {
|
||||
// case 1:
|
||||
// this.hanlderOracleYear (primaryGridParam);
|
||||
// break;
|
||||
// case 2:
|
||||
// this.hanlderOracleQtr (primaryGridParam);
|
||||
// break;
|
||||
// case 3:
|
||||
// this.hanlderOracleMonth (primaryGridParam);
|
||||
// break;
|
||||
case 5:
|
||||
this.hanlderOracleDay (primaryGridParam);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@SneakyThrows
|
||||
private void hanlderOracleDay(PrimaryGridParam primaryGridParam) {
|
||||
|
||||
List<String> orgIdList = primaryGridParam.getOrgIdList ( );
|
||||
String dataDate = primaryGridParam.getDataDate ( );
|
||||
List<RMpIntegrityDPO> rMpIntegrityDPOS = new ArrayList<> ( );
|
||||
|
||||
//1、取出规则
|
||||
List<PmsAbnormalRules> pmsAbnormalRules = pmsAbnormalRulesMapper.selectList (null);
|
||||
//2、取出电压字典
|
||||
List<DictData> dictDataList = dicDataFeignClient.getDicDataByTypeName (DicDataTypeEnum.DEV_VOLTAGE.getName ( )).getData ( );
|
||||
|
||||
|
||||
final Date tempDate = new SimpleDateFormat ("yyyy-MM-dd").parse (dataDate);
|
||||
orgIdList.forEach (orgid -> {
|
||||
/*主网在运监测点*/
|
||||
List<PmsMonitorPO> pmsMonitorPOS = pmsMonitorPOService.qurymeasurementRunPoints (orgid);
|
||||
List<String> mysqlIndexList = pmsMonitorPOS.stream ( ).map (PmsMonitorPO::getId).collect (Collectors.toList ( ));
|
||||
if (CollectionUtil.isEmpty (mysqlIndexList)) {
|
||||
return;
|
||||
}
|
||||
/*过滤掉异常监测点*/
|
||||
QueryWrapper<RStatAbnormalDPO> rStatAbnormalDPOLambdaQueryWrapper = new QueryWrapper ( );
|
||||
rStatAbnormalDPOLambdaQueryWrapper.select ("measurementPointId").
|
||||
in ("measurement_point_id", mysqlIndexList).
|
||||
eq ("value_alarm", 1).
|
||||
eq ("DATE_FORMAT( data_date ,'%Y-%m-%d')", dataDate);
|
||||
List<RStatAbnormalDPO> rStatAbnormalDPOS = rStatAbnormalDPOMapper.selectList (rStatAbnormalDPOLambdaQueryWrapper);
|
||||
List<String> collect = rStatAbnormalDPOS.stream ( ).map (RStatAbnormalDPO::getMeasurementPointId).collect (Collectors.toList ( ));
|
||||
List<PmsMonitorPO> collect1 = pmsMonitorPOS.stream ( ).filter (temp -> collect.contains (temp.getId ( ))).collect (Collectors.toList ( ));
|
||||
/*测试造的数据*/
|
||||
// List<PmsMonitorPO> collect1 = new ArrayList<> ();
|
||||
// PmsMonitorPO pmsMonitorPO = new PmsMonitorPO();
|
||||
// pmsMonitorPO.setVoltageLevel ("e3da890104e3c4ae1f005021411a1fd7");
|
||||
// pmsMonitorPO.setId ("666f03ed54f2288090f06d957d2d7b07");
|
||||
// pmsMonitorPO.setStatisticalInterval (3);
|
||||
// collect1.add (pmsMonitorPO);
|
||||
collect1.forEach (temp -> {
|
||||
|
||||
Double voltage = getVoltage (temp.getVoltageLevel ( ), dictDataList);
|
||||
|
||||
/*2.查询DataV
|
||||
measurement_point_id 监测点编号
|
||||
data_date 时间
|
||||
phasic_type = A 相别
|
||||
value_type = AVG 数据类型
|
||||
*/
|
||||
|
||||
/*获取mysql与Oracle监测点id对应关系*/
|
||||
|
||||
PqLinedetailPO pqLinedetailPO = pqLinedetailPOService.getOracleIndexIdByMonitorId (temp.getId ( ));
|
||||
|
||||
/*获取监测点当天的所有数据*/
|
||||
List<DataVFiveItemDTO> fiveItems = dataVOraclePOService.getFiveItems (pqLinedetailPO.getLineIndex ( ), dataDate);
|
||||
/*过滤出有效接入分钟数量*/
|
||||
Integer count = calculateEffectiveMinute (fiveItems, pmsAbnormalRules, voltage);
|
||||
/*统计间隔*/
|
||||
Integer statisticalInterval = temp.getStatisticalInterval ( );
|
||||
RMpIntegrityDPO rMpIntegrityDPO = new RMpIntegrityDPO ( );
|
||||
rMpIntegrityDPO.setEffectiveMinuteCount (count * statisticalInterval);
|
||||
rMpIntegrityDPO.setDataDate (tempDate);
|
||||
rMpIntegrityDPOS.add (rMpIntegrityDPO);
|
||||
});
|
||||
});
|
||||
rMpIntegrityDPOService.saveOrUpdateBatch (rMpIntegrityDPOS, 500);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 3、频率在【45,55】之间;
|
||||
* 4、相电压有效值在【0.85p.u.,1.2p.u.】之间;p.u=电压等级/1.732
|
||||
* 5、线电压有效值在【0.85p.u.,1.2p.u.】之间;p.u=电压等级
|
||||
* 6、电压总谐波畸变率在【0.1%,20%】之间;
|
||||
* 7、负序电压不平衡度在【0,20%】。满足以上条件则是一条有效数据
|
||||
* @Param: [fiveItems, pmsAbnormalRules, voltage]
|
||||
* @return: java.lang.Integer
|
||||
* @Author: clam
|
||||
* @Date: 2023/2/23
|
||||
*/
|
||||
private Integer calculateEffectiveMinute(List<DataVFiveItemDTO> fiveItems, List<PmsAbnormalRules> pmsAbnormalRules, Double voltage) {
|
||||
Integer result = 0;
|
||||
|
||||
for (DataVFiveItemDTO fiveItem : fiveItems) {
|
||||
Double freqMax = fiveItem.getFreqMax ();
|
||||
Double freqMin = fiveItem.getFreqMin ();
|
||||
|
||||
Double rmsMax = fiveItem.getRmsMax ();
|
||||
Double rmsMin = fiveItem.getRmsMin ();
|
||||
Double vThdMax = fiveItem.getVThdMax ();
|
||||
Double vThdMin = fiveItem.getVThdMin ();
|
||||
|
||||
Double vUnbalanceMax = fiveItem.getVUnbalanceMax ();
|
||||
Double vUnbalanceMin = fiveItem.getVUnbalanceMin ();
|
||||
Double rmsLvrMax = fiveItem.getRmsLvrMax ();
|
||||
Double rmsLvrMin = fiveItem.getRmsLvrMin ();
|
||||
|
||||
|
||||
PmsAbnormalRules freqLimit = pmsAbnormalRules.stream ( ).filter (temp -> Objects.equals (temp.getTarget ( ), Param.TARGET_FREQ)).collect (Collectors.toList ( )).get (0);
|
||||
PmsAbnormalRules rmsLimit = pmsAbnormalRules.stream ( ).filter (temp -> Objects.equals (temp.getTarget ( ), Param.TARGET_RMS)).collect (Collectors.toList ( )).get (0);
|
||||
PmsAbnormalRules rms_lvrLimit = pmsAbnormalRules.stream ( ).filter (temp -> Objects.equals (temp.getTarget ( ), Param.TARGET_RMS_LVR)).collect (Collectors.toList ( )).get (0);
|
||||
PmsAbnormalRules v_thdLimit = pmsAbnormalRules.stream ( ).filter (temp -> Objects.equals (temp.getTarget ( ), Param.TARGET_V_THD)).collect (Collectors.toList ( )).get (0);
|
||||
PmsAbnormalRules v_unbalanceLimit = pmsAbnormalRules.stream ( ).filter (temp -> Objects.equals (temp.getTarget ( ), Param.TARGET_V_UNBALANCE)).collect (Collectors.toList ( )).get (0);
|
||||
|
||||
if (freqLimit.getLowerLimit ( ) <= freqMin&&freqMax <= freqLimit.getUpperLimit ( ) &&
|
||||
rmsLimit.getLowerLimit ( ) * (voltage / rmsMin) <= rmsMax&&rmsMax <= rmsLimit.getUpperLimit ( ) * (voltage / 1.732) &&
|
||||
rms_lvrLimit.getLowerLimit ( )*voltage <= rmsLvrMin&&rmsLvrMax <= rms_lvrLimit.getUpperLimit ( )*voltage &&
|
||||
v_thdLimit.getLowerLimit ( ) <= vThdMin&&vThdMax <= v_thdLimit.getUpperLimit ( ) &&
|
||||
v_unbalanceLimit.getLowerLimit ( ) <= vUnbalanceMin&&vUnbalanceMax <= v_unbalanceLimit.getUpperLimit ( )
|
||||
|
||||
) {
|
||||
result++;
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 根据电压字典获取电压等级
|
||||
* @Param: [id, dictDataList]
|
||||
* @return: java.lang.Double
|
||||
* @Author: clam
|
||||
* @Date: 2023/2/23
|
||||
*/
|
||||
private Double getVoltage(String id, List<DictData> dictDataList) {
|
||||
for (DictData dictData : dictDataList) {
|
||||
if (dictData.getId ( ).equals (id)) {
|
||||
Double result = Double.valueOf (dictData.getValue ( ));
|
||||
return result;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -10,6 +10,7 @@ import com.njcn.prepare.harmonic.pojo.dto.MonitorDataIntegrityDTO;
|
||||
import com.njcn.prepare.harmonic.pojo.oracle.PqLinedetailPO;
|
||||
import com.njcn.prepare.harmonic.pojo.param.PrimaryGridDataIntegrityParam;
|
||||
import com.njcn.prepare.harmonic.pojo.param.PrimaryGridParam;
|
||||
import com.njcn.prepare.harmonic.service.influxdb.DataVInfluxdbService;
|
||||
import com.njcn.prepare.harmonic.service.mysql.area.*;
|
||||
import com.njcn.prepare.harmonic.service.oracle.DataVOraclePOService;
|
||||
import com.njcn.prepare.harmonic.service.oracle.PqLinedetailPOService;
|
||||
@@ -51,7 +52,8 @@ public class PrimaryGridDataServiceImpl implements PrimaryGridDataService {
|
||||
private @Autowired
|
||||
PmsTerminalPOService pmsTerminalPOService;
|
||||
|
||||
|
||||
private @Autowired
|
||||
DataVInfluxdbService dataVInfluxdbService;
|
||||
|
||||
private @Autowired
|
||||
PqLinedetailPOService pqLinedetailPOService;
|
||||
@@ -159,7 +161,88 @@ public class PrimaryGridDataServiceImpl implements PrimaryGridDataService {
|
||||
* @Date: 2022/11/25
|
||||
*/
|
||||
private void hanlderInfludxbData(PrimaryGridParam primaryGridParam) {
|
||||
Integer type = primaryGridParam.getType ( );
|
||||
/*月表,季表,年表都是重日表生成,不区分oralce,influxdb*/
|
||||
switch (type) {
|
||||
case 1:
|
||||
this.hanlderOracleYear (primaryGridParam);
|
||||
break;
|
||||
case 2:
|
||||
this.hanlderOracleQtr (primaryGridParam);
|
||||
break;
|
||||
case 3:
|
||||
this.hanlderOracleMonth (primaryGridParam);
|
||||
break;
|
||||
case 5:
|
||||
this.hanlderInfluxdbDay (primaryGridParam);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
@SneakyThrows
|
||||
private void hanlderInfluxdbDay(PrimaryGridParam primaryGridParam) {
|
||||
List<String> orgIdList = primaryGridParam.getOrgIdList ( );
|
||||
String dataDate = primaryGridParam.getDataDate ( );
|
||||
List<ROperatingIndexDPO> rOperatingIndexDPOList = new ArrayList<> ( );
|
||||
|
||||
final Date tempDate = new SimpleDateFormat ("yyyy-MM-dd").parse(dataDate);
|
||||
|
||||
orgIdList.forEach (orgid -> {
|
||||
|
||||
/*measurement_run_points:在运监测点个数*/
|
||||
List<PmsMonitorPO> pmsMonitorPOS = pmsMonitorPOService.qurymeasurementRunPoints (orgid);
|
||||
Integer measurement_run_points = pmsMonitorPOS.size ( );
|
||||
|
||||
List<String> mysqlIndexList = pmsMonitorPOS.stream ( ).map (PmsMonitorPO::getId).collect (Collectors.toList ( ));
|
||||
|
||||
/*主网单位在线监测点数 transit_measurement_points*/
|
||||
Integer transit_measurement_points = dataVInfluxdbService.queryTransitMeasurementPoints(mysqlIndexList,primaryGridParam.getDataDate (),"A");
|
||||
|
||||
/*主网单位有效接入监测点个数 effective_access_measurement_count*/
|
||||
Integer effective_access_measurement_count = this.queryEffectiveAccessMeasurementCount(mysqlIndexList,primaryGridParam.getDataDate ());
|
||||
|
||||
/*监测终端数量 online_measurement_points*/
|
||||
List<PmsTerminalPO> pmsTerminalPOS = pmsTerminalPOService.queryOnlineMeasurementPoints(orgid);
|
||||
Integer online_measurement_points = pmsTerminalPOS.size ();
|
||||
|
||||
/*在运监测终端个数 online_measurement_count*/
|
||||
String state = redisUtil.getStringByKey (NAME_KEY+
|
||||
SPLIT_SIGN+ DicDataTypeEnum.DEV_STATUS.getCode ( )+
|
||||
SPLIT_SIGN+ DicDataEnum.RUNNING.getCode ( ));
|
||||
Integer online_measurement_count = Integer.valueOf (pmsTerminalPOS.stream ( ).filter (temp -> Objects.equals (temp.getTerminalState ( ),state)).count ( )+"");
|
||||
|
||||
/*主网单位数据完整率 data_integrity_rate*/
|
||||
double data_integrity_rate=0.00;
|
||||
List<MonitorDataIntegrityDTO> monitorDataIntegrityDTOList = rMpIntegrityDPOService.calculateDataIntegrity (mysqlIndexList, dataDate);
|
||||
/*求平均值*/
|
||||
if(!CollectionUtils.isEmpty (monitorDataIntegrityDTOList)){
|
||||
data_integrity_rate = monitorDataIntegrityDTOList.stream ( ).mapToDouble (temp -> {
|
||||
return temp.getDataIntegrity ( ).doubleValue ( );
|
||||
}).average ( ).getAsDouble ( );
|
||||
}
|
||||
|
||||
|
||||
/*主网单位数据异常监测点数日统计 is_unusual*/
|
||||
Integer is_unusual =this.queryIsUnusualCount(mysqlIndexList,primaryGridParam.getDataDate ());
|
||||
|
||||
ROperatingIndexDPO rOperatingIndexDPO = new ROperatingIndexDPO( );
|
||||
rOperatingIndexDPO.setOrgNo (orgid);
|
||||
rOperatingIndexDPO.setDataDate (tempDate);
|
||||
rOperatingIndexDPO.setMeasurementRunPoints (measurement_run_points);
|
||||
rOperatingIndexDPO.setTransitMeasurementPoints (transit_measurement_points);
|
||||
rOperatingIndexDPO.setEffectiveAccessMeasurementCount (effective_access_measurement_count);
|
||||
rOperatingIndexDPO.setOnlineMeasurementPoints (online_measurement_points);
|
||||
rOperatingIndexDPO.setOnlineMeasurementCount (online_measurement_count);
|
||||
rOperatingIndexDPO.setDataIntegrityRate (data_integrity_rate);
|
||||
rOperatingIndexDPO.setIsUnusual (is_unusual>0?1:0);
|
||||
rOperatingIndexDPOList.add (rOperatingIndexDPO);
|
||||
});
|
||||
if(!CollectionUtils.isEmpty (rOperatingIndexDPOList)){
|
||||
rOperatingIndexDPOService.saveOrUpdateBatchByMultiId (rOperatingIndexDPOList,30);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @Description: 处理Oracle数据
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.area;
|
||||
|
||||
import com.njcn.prepare.harmonic.pojo.param.PrimaryGridParam;
|
||||
|
||||
/**
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2023/2/23 16:04【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
public interface EffectiveMinuteCountService {
|
||||
/**
|
||||
* @Description: 主网有效监测时长计算
|
||||
* @Param: [primaryGridParam]
|
||||
* @return: void
|
||||
* @Author: clam
|
||||
* @Date: 2023/2/23
|
||||
*/
|
||||
void effectiveMinuteCount(PrimaryGridParam primaryGridParam);
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.njcn.prepare.harmonic.service.oracle;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.njcn.prepare.harmonic.pojo.dto.DataVFiveItemDTO;
|
||||
import com.njcn.prepare.harmonic.pojo.oracle.DataVOraclePO;
|
||||
import com.njcn.prepare.harmonic.pojo.vo.DataVOracleVO;
|
||||
|
||||
@@ -40,4 +41,13 @@ public interface DataVOraclePOService extends IService<DataVOraclePO>{
|
||||
* @return
|
||||
*/
|
||||
Double queryVThdMax(Integer lineId,String datadate);
|
||||
/**
|
||||
* @Description: 获取监测点当天数据根据
|
||||
* @Param: [lineId, date]
|
||||
* @return: java.util.List<com.njcn.prepare.harmonic.pojo.vo.DataVOracleVO>
|
||||
* @Author: clam
|
||||
* @Date: 2023/2/23
|
||||
*/
|
||||
List<DataVFiveItemDTO> getFiveItems(Integer lineId, String date);
|
||||
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@ import com.baomidou.dynamic.datasource.annotation.DS;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.njcn.prepare.harmonic.mapper.oracle.DataVOraclePOMapper;
|
||||
import com.njcn.prepare.harmonic.pojo.dto.DataVFiveItemDTO;
|
||||
import com.njcn.prepare.harmonic.pojo.oracle.DataVOraclePO;
|
||||
import com.njcn.prepare.harmonic.pojo.vo.DataVOracleVO;
|
||||
import com.njcn.prepare.harmonic.service.oracle.DataVOraclePOService;
|
||||
@@ -109,4 +110,21 @@ public class DataVOraclePOServiceImpl extends ServiceImpl<DataVOraclePOMapper, D
|
||||
Double vThdMax = dataVOraclePO.getVThdMax ( );
|
||||
return vThdMax;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param lineId
|
||||
* @param date
|
||||
* @Description: 获取监测点当天数据
|
||||
* @Param: [lineId, date]
|
||||
* @return: java.util.List<com.njcn.prepare.harmonic.pojo.vo.DataVOracleVO>
|
||||
* @Author: clam
|
||||
* @Date: 2023/2/23
|
||||
*/
|
||||
@Override
|
||||
public List<DataVFiveItemDTO> getFiveItems(Integer lineId, String date) {
|
||||
|
||||
List<DataVFiveItemDTO> collect = dataVOraclePOMapper.getFiveItems(lineId,date);
|
||||
|
||||
return collect;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -47,7 +47,6 @@ public class PqsEventdetailServiceImpl extends MppServiceImpl<PqsEventdetailMapp
|
||||
|
||||
Integer integer = pqsEventdetailMapper.selectCount (queryWrapper);
|
||||
|
||||
|
||||
return integer;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,65 @@
|
||||
package com.njcn.prepare.harmonic.pojo.dto;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
public class DataVFiveItemDTO {
|
||||
|
||||
@ApiModelProperty("监测点ID")
|
||||
private Integer lineid;
|
||||
|
||||
@ApiModelProperty("时间")
|
||||
private Date timeid;
|
||||
|
||||
@ApiModelProperty("相别")
|
||||
private String phasicType;
|
||||
|
||||
@ApiModelProperty("频率平均值实时量测值MAX")
|
||||
private Double freqMax;
|
||||
|
||||
@ApiModelProperty("频率平均值实时量测值MIN")
|
||||
private Double freqMin;
|
||||
|
||||
@ApiModelProperty("相电压有效值平均值实时量测值MAX")
|
||||
private Double rmsMax;
|
||||
|
||||
@ApiModelProperty("相电压有效值平均值实时量测值MIN")
|
||||
private Double rmsMin;
|
||||
|
||||
@ApiModelProperty("线电压有效值平均值实时量测值MAX")
|
||||
private Double rmsLvrMax;
|
||||
|
||||
@ApiModelProperty("线电压有效值平均值实时量测值MIN")
|
||||
private Double rmsLvrMin;
|
||||
|
||||
@ApiModelProperty("电压总谐波畸变率平均值实时量测值量MAX")
|
||||
private Double vThdMax;
|
||||
|
||||
@ApiModelProperty("电压总谐波畸变率平均值实时量测值量MIN")
|
||||
private Double vThdMin;
|
||||
|
||||
@ApiModelProperty("三相电压负序不平衡度平均值实时量测值MAX")
|
||||
private Double vUnbalanceMax;
|
||||
|
||||
@ApiModelProperty("三相电压负序不平衡度平均值实时量测值MIN")
|
||||
private Double vUnbalanceMin;
|
||||
|
||||
@ApiModelProperty("频率平均值数量")
|
||||
private Integer freqCount;
|
||||
|
||||
@ApiModelProperty("相电压有效值平均值数量")
|
||||
private Integer rmsCount;
|
||||
|
||||
@ApiModelProperty("线电压有效值平均值数量")
|
||||
private Integer rmsLvrCount;
|
||||
|
||||
@ApiModelProperty("电压总谐波畸变率平均值数量")
|
||||
private Integer vThdCount;
|
||||
|
||||
@ApiModelProperty("三相电压负序不平衡度平均值数量")
|
||||
private Integer vUnbalanceCount;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
package com.njcn.prepare.harmonic.pojo.dto;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2023/2/13 10:58【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Data
|
||||
public class OverLimitFlagDTO {
|
||||
@ApiModelProperty("监测点ID(台区id)")
|
||||
private String lineId;
|
||||
@ApiModelProperty("越限开始时间")
|
||||
private LocalDateTime startTime;
|
||||
@ApiModelProperty("越限结束时间")
|
||||
private LocalDateTime endTime ;
|
||||
@ApiModelProperty("越限类型")
|
||||
private String overLimtType;
|
||||
@ApiModelProperty("越限标志")
|
||||
private Integer overLimtFlag;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
package com.njcn.prepare.harmonic.pojo.param;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author clam
|
||||
* Date: 2022/10/20 11:41
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Data
|
||||
public class WorkOrderCreateParam {
|
||||
|
||||
@ApiModelProperty(name = "orgIdList",value = "单位Id")
|
||||
private List<String> orgIdList;
|
||||
|
||||
@ApiModelProperty(name = "type",value = "报表类型,1,年,2季,3月,4周,5日")
|
||||
@NotNull(message = "报表类型不可为空")
|
||||
private Integer type;
|
||||
|
||||
@ApiModelProperty(name = "dataDate",value = "时间")
|
||||
@NotBlank(message = "报表时间不可为空")
|
||||
private String dataDate;
|
||||
|
||||
@ApiModelProperty(name = "dataSource",value = "数据源 0:oracle;1:influxdb")
|
||||
@NotBlank(message = "数据源")
|
||||
private Integer dataSource;
|
||||
|
||||
}
|
||||
@@ -60,5 +60,11 @@
|
||||
<version>1.5.1-RELEASE</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.njcn</groupId>
|
||||
<artifactId>prepare-api</artifactId>
|
||||
<version>1.0.0</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
package com.njcn.process.api;
|
||||
|
||||
import com.njcn.common.pojo.constant.ServerInfo;
|
||||
import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.prepare.harmonic.pojo.dto.OverLimitFlagDTO;
|
||||
import com.njcn.process.api.fallback.RStatWorkOrderFallbackFactory;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2023/2/15 14:13【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@FeignClient(value = ServerInfo.PROCESS,path = "/rStatWorkOrder",fallbackFactory = RStatWorkOrderFallbackFactory.class)
|
||||
public interface RStatWorkOrderFeignClient {
|
||||
@PostMapping("/createProblem")
|
||||
HttpResult<Boolean> createProblem(@RequestBody List<OverLimitFlagDTO> overLimitFlagDTOList);
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
package com.njcn.process.api.fallback;
|
||||
|
||||
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||
import com.njcn.common.pojo.exception.BusinessException;
|
||||
import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.prepare.harmonic.pojo.dto.OverLimitFlagDTO;
|
||||
import com.njcn.process.api.RStatWorkOrderFeignClient;
|
||||
import com.njcn.process.utils.ProcessEnumUtil;
|
||||
import feign.hystrix.FallbackFactory;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2023/2/15 14:15【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Slf4j
|
||||
@Component
|
||||
public class RStatWorkOrderFallbackFactory implements FallbackFactory<RStatWorkOrderFeignClient> {
|
||||
|
||||
@Override
|
||||
public RStatWorkOrderFeignClient create(Throwable throwable) {
|
||||
//判断抛出异常是否为解码器抛出的业务异常
|
||||
Enum<?> exceptionEnum = CommonResponseEnum.SERVICE_FALLBACK;
|
||||
if (throwable.getCause() instanceof BusinessException) {
|
||||
BusinessException businessException = (BusinessException) throwable.getCause();
|
||||
exceptionEnum = ProcessEnumUtil.getExceptionEnum(businessException.getResult());
|
||||
}
|
||||
Enum<?> finalExceptionEnum = exceptionEnum;
|
||||
return new RStatWorkOrderFeignClient() {
|
||||
|
||||
@Override
|
||||
public HttpResult<Boolean> createProblem(List<OverLimitFlagDTO> overLimitFlagDTOList) {
|
||||
log.error("{}异常,降级处理,异常为:{}", "问题单插入异常", throwable.toString());
|
||||
throw new BusinessException(finalExceptionEnum);
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
package com.njcn.process.pojo.param;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
|
||||
|
||||
@Data
|
||||
@ApiModel
|
||||
public class ElectricityQualityCheckParam {
|
||||
|
||||
@ApiModelProperty(name = "id",value = "电能质量问题编号",required = true)
|
||||
@NotBlank(message = "电能质量问题编号不能为空")
|
||||
private String powerQualityProblemNo;
|
||||
|
||||
@ApiModelProperty(value="审核是否通过(0:否 1:是)")
|
||||
@NotBlank(message = "审核标志不能为空")
|
||||
private String checkResult;
|
||||
|
||||
@ApiModelProperty(value="审核人")
|
||||
@NotBlank(message = "审核人不能为空")
|
||||
private String checkPerson;
|
||||
|
||||
@ApiModelProperty(value="填报进度")
|
||||
@NotBlank(message = "填报进度不能为空")
|
||||
private String reportProcess;
|
||||
|
||||
@ApiModelProperty(value="审核意见")
|
||||
@NotBlank(message = "审核意见不能为空")
|
||||
private String checkComment;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
package com.njcn.process.pojo.param;
|
||||
|
||||
import com.njcn.web.constant.ValidMessage;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
|
||||
|
||||
@Data
|
||||
@ApiModel
|
||||
public class LoadTypeUserCheckParam {
|
||||
|
||||
@ApiModelProperty(name = "id",required = true)
|
||||
@NotBlank(message = ValidMessage.ID_NOT_BLANK)
|
||||
private String id;
|
||||
|
||||
@ApiModelProperty(value="审核是否通过(0:否 1:是)")
|
||||
@NotBlank(message = "审核标志不能为空")
|
||||
private String checkResult;
|
||||
|
||||
@ApiModelProperty(value="审核人")
|
||||
@NotBlank(message = "审核人不能为空")
|
||||
private String checkPerson;
|
||||
|
||||
@ApiModelProperty(value="审核意见")
|
||||
@NotBlank(message = "审核意见不能为空")
|
||||
private String checkComment;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
package com.njcn.process.pojo.param;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
|
||||
/**
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2022/11/11 15:20【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Data
|
||||
public class RGeneralSurveyPlanChcekParm {
|
||||
|
||||
|
||||
@ApiModelProperty(value="普测计划编号")
|
||||
@NotBlank(message = "普测计划编号不能为空")
|
||||
private String planNo;
|
||||
|
||||
@ApiModelProperty(value="审核是否通过(0:否 1:是)")
|
||||
@NotBlank(message = "审核标志不能为空")
|
||||
private String checkResult;
|
||||
|
||||
@ApiModelProperty(value="审核人")
|
||||
@NotBlank(message = "审核人不能为空")
|
||||
private String checkPerson;
|
||||
|
||||
@ApiModelProperty(value="审核意见")
|
||||
@NotBlank(message = "审核意见不能为空")
|
||||
private String checkComment;
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,51 @@
|
||||
package com.njcn.process.pojo.param;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.Min;
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
/**
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2022/11/11 15:20【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Data
|
||||
public class RStatProblemAndWorkOrderParam {
|
||||
|
||||
@NotNull(message="当前页不能为空!")
|
||||
@Min(value = 1, message = "当前页不能为0")
|
||||
@ApiModelProperty(value = "当前页",name = "currentPage",dataType ="Integer",required = true)
|
||||
private Integer currentPage;
|
||||
/**显示条数*/
|
||||
@NotNull(message="显示条数不能为空!")
|
||||
@ApiModelProperty(value = "显示条数",name = "pageSize",dataType ="Integer",required = true)
|
||||
private Integer pageSize;
|
||||
|
||||
@ApiModelProperty(value="问题类型")
|
||||
private String problemType;
|
||||
|
||||
@ApiModelProperty(value="审核状态")
|
||||
private String checkStatus;
|
||||
|
||||
@ApiModelProperty(value="台区名称")
|
||||
private String distributionName;
|
||||
|
||||
@ApiModelProperty(value="问题发生时间")
|
||||
private String occurTime;
|
||||
|
||||
@ApiModelProperty(value="工单状态")
|
||||
private String workOrderStatus;
|
||||
|
||||
@ApiModelProperty(value="问题编号")
|
||||
private String problemNo;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -87,6 +87,16 @@ public class RGeneralSurveyPlanPO {
|
||||
*/
|
||||
@TableField(value = "description")
|
||||
private String description;
|
||||
/**
|
||||
* 审核人
|
||||
*/
|
||||
@TableField(value="check_person")
|
||||
private String checkPerson;
|
||||
/**
|
||||
* 审核意见
|
||||
*/
|
||||
@TableField(value = "check_comment")
|
||||
private String checkComment;
|
||||
|
||||
/**
|
||||
* 文件是否上传(0:否 1:是)
|
||||
|
||||
@@ -64,6 +64,15 @@ public class RLoadTypeUserManage implements Serializable {
|
||||
* 入网报告状态,字典ID
|
||||
*/
|
||||
private String iStatus;
|
||||
/**
|
||||
*入网报告审核人
|
||||
*/
|
||||
private String iCheckPerson;
|
||||
/**
|
||||
*入网报告审核意见
|
||||
*/
|
||||
private String iCheckComment;
|
||||
|
||||
/**
|
||||
* 入网报告路径
|
||||
*/
|
||||
@@ -96,6 +105,14 @@ public class RLoadTypeUserManage implements Serializable {
|
||||
* 实测报告状态,字典ID
|
||||
*/
|
||||
private String aStatus;
|
||||
/**
|
||||
*实测报告审核人
|
||||
*/
|
||||
private String aCheckPerson;
|
||||
/**
|
||||
*实测报告审核意见
|
||||
*/
|
||||
private String aCheckComment;
|
||||
/**
|
||||
* 实测报告路径
|
||||
*/
|
||||
@@ -120,5 +137,7 @@ public class RLoadTypeUserManage implements Serializable {
|
||||
* 实测详情
|
||||
*/
|
||||
private String aDescription;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -31,7 +31,8 @@ public class RStatDistributionProblemPO {
|
||||
|
||||
@TableField(value = "org_no")
|
||||
private String orgNo;
|
||||
|
||||
@TableField(value = "org_name")
|
||||
private String orgName;
|
||||
/**
|
||||
* 问题类型(字典,两种类型:谐波电压越限、谐波电流越限)
|
||||
*/
|
||||
@@ -49,7 +50,8 @@ public class RStatDistributionProblemPO {
|
||||
*/
|
||||
@TableField(value = "distribution_id")
|
||||
private String distributionId;
|
||||
|
||||
@TableField(value = "distribution_name")
|
||||
private String distributionName;
|
||||
/**
|
||||
* 最新超标时间(超标连续大于4小时)
|
||||
*/
|
||||
|
||||
@@ -0,0 +1,190 @@
|
||||
package com.njcn.process.pojo.po;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2023/2/22 18:59【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
/**
|
||||
* 电能质量问题日志表
|
||||
*/
|
||||
@TableName(value = "r_stat_electric_quality_problem_log")
|
||||
public class RStatElectricQualityProblemLogPO {
|
||||
/**
|
||||
* 电能质量问题编号
|
||||
*/
|
||||
@MppMultiId(value = "power_quality_problem_no")
|
||||
private String powerQualityProblemNo;
|
||||
|
||||
/**
|
||||
* 操作时间
|
||||
*/
|
||||
@MppMultiId(value = "data_date")
|
||||
private Date dataDate;
|
||||
|
||||
/**
|
||||
* 审核人
|
||||
*/
|
||||
@TableField(value = "checker")
|
||||
private String checker;
|
||||
|
||||
/**
|
||||
* 审核备注
|
||||
*/
|
||||
@TableField(value = "description")
|
||||
private String description;
|
||||
|
||||
/**
|
||||
* 填报进度,字典表(未填报、原因分析结果、计划整改措施、实际采取措施、治理效果评价、已归档)
|
||||
*/
|
||||
@TableField(value = "report_process")
|
||||
private String reportProcess;
|
||||
|
||||
/**
|
||||
* 填报内容
|
||||
*/
|
||||
@TableField(value = "report_process_content")
|
||||
private String reportProcessContent;
|
||||
|
||||
/**
|
||||
* 审核状态
|
||||
*/
|
||||
@TableField(value = "type")
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* 获取电能质量问题编号
|
||||
*
|
||||
* @return power_quality_problem_no - 电能质量问题编号
|
||||
*/
|
||||
public String getPowerQualityProblemNo() {
|
||||
return powerQualityProblemNo;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置电能质量问题编号
|
||||
*
|
||||
* @param powerQualityProblemNo 电能质量问题编号
|
||||
*/
|
||||
public void setPowerQualityProblemNo(String powerQualityProblemNo) {
|
||||
this.powerQualityProblemNo = powerQualityProblemNo;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取操作时间
|
||||
*
|
||||
* @return data_date - 操作时间
|
||||
*/
|
||||
public Date getDataDate() {
|
||||
return dataDate;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置操作时间
|
||||
*
|
||||
* @param dataDate 操作时间
|
||||
*/
|
||||
public void setDataDate(Date dataDate) {
|
||||
this.dataDate = dataDate;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取审核人
|
||||
*
|
||||
* @return checker - 审核人
|
||||
*/
|
||||
public String getChecker() {
|
||||
return checker;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置审核人
|
||||
*
|
||||
* @param checker 审核人
|
||||
*/
|
||||
public void setChecker(String checker) {
|
||||
this.checker = checker;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取审核备注
|
||||
*
|
||||
* @return description - 审核备注
|
||||
*/
|
||||
public String getDescription() {
|
||||
return description;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置审核备注
|
||||
*
|
||||
* @param description 审核备注
|
||||
*/
|
||||
public void setDescription(String description) {
|
||||
this.description = description;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取填报进度,字典表(未填报、原因分析结果、计划整改措施、实际采取措施、治理效果评价、已归档)
|
||||
*
|
||||
* @return report_process - 填报进度,字典表(未填报、原因分析结果、计划整改措施、实际采取措施、治理效果评价、已归档)
|
||||
*/
|
||||
public String getReportProcess() {
|
||||
return reportProcess;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置填报进度,字典表(未填报、原因分析结果、计划整改措施、实际采取措施、治理效果评价、已归档)
|
||||
*
|
||||
* @param reportProcess 填报进度,字典表(未填报、原因分析结果、计划整改措施、实际采取措施、治理效果评价、已归档)
|
||||
*/
|
||||
public void setReportProcess(String reportProcess) {
|
||||
this.reportProcess = reportProcess;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取填报内容
|
||||
*
|
||||
* @return report_process_content - 填报内容
|
||||
*/
|
||||
public String getReportProcessContent() {
|
||||
return reportProcessContent;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置填报内容
|
||||
*
|
||||
* @param reportProcessContent 填报内容
|
||||
*/
|
||||
public void setReportProcessContent(String reportProcessContent) {
|
||||
this.reportProcessContent = reportProcessContent;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取状态
|
||||
*
|
||||
* @return type - 状态
|
||||
*/
|
||||
public String getType() {
|
||||
return type;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置状态
|
||||
*
|
||||
* @param type 状态
|
||||
*/
|
||||
public void setType(String type) {
|
||||
this.type = type;
|
||||
}
|
||||
}
|
||||
@@ -30,6 +30,13 @@ public class RStatWorkOrderDetailPO {
|
||||
private String problemNo;
|
||||
@TableField(value = "org_no")
|
||||
private String orgNo;
|
||||
@TableField(value = "org_name")
|
||||
private String orgName;
|
||||
|
||||
@TableField(value = "distribution_id")
|
||||
private String distributionId;
|
||||
@TableField(value = "distribution_name")
|
||||
private String distributionName;
|
||||
/**
|
||||
* 工单状态(字典,待派单、已派单、已关闭)
|
||||
*/
|
||||
@@ -144,6 +151,12 @@ public class RStatWorkOrderDetailPO {
|
||||
@TableField(value = "cause_feedback")
|
||||
private String causeFeedback;
|
||||
|
||||
/**
|
||||
* 审核人ID
|
||||
*/
|
||||
@TableField(value = "check_person")
|
||||
private String checkPerson;
|
||||
|
||||
/**
|
||||
* 审核状态(字典,两种类型:审核通过/审核不通过)
|
||||
*/
|
||||
@@ -157,7 +170,7 @@ public class RStatWorkOrderDetailPO {
|
||||
private String checkComments;
|
||||
|
||||
/**
|
||||
* 计划完成时间
|
||||
* 整改完成时间
|
||||
*/
|
||||
@TableField(value = "rectify_complete_time")
|
||||
private Date rectifyCompleteTime;
|
||||
@@ -174,6 +187,12 @@ public class RStatWorkOrderDetailPO {
|
||||
@TableField(value = "rectify_describe")
|
||||
private String rectifyDescribe;
|
||||
|
||||
/**
|
||||
* 整改人ID
|
||||
*/
|
||||
@TableField(value = "assess_person")
|
||||
private String assessPerson;
|
||||
|
||||
/**
|
||||
* 评估完成时间
|
||||
*/
|
||||
|
||||
@@ -49,28 +49,32 @@ public class RGeneralSurveyPlanVO {
|
||||
@ApiModelProperty(value="计划状态(0:新建 1:待审核 2:审核未通过 3:已发布 4:已完成)")
|
||||
private Integer status;
|
||||
|
||||
@TableField(value = "is_file_upload")
|
||||
@ApiModelProperty(value="文件是否上传(0:否 1:是)")
|
||||
private Integer isFileUpload;
|
||||
|
||||
/**
|
||||
* 上传文件数量
|
||||
*/
|
||||
@TableField(value = "file_count")
|
||||
@ApiModelProperty(value="上传文件数量")
|
||||
private Integer fileCount;
|
||||
|
||||
/**
|
||||
* 文件路径
|
||||
*/
|
||||
@TableField(value = "file_path")
|
||||
@ApiModelProperty(value="文件路径")
|
||||
private String filePath;
|
||||
|
||||
@ApiModelProperty(value="审核人")
|
||||
private String checkPerson;
|
||||
/**
|
||||
* 审核意见
|
||||
*/
|
||||
@ApiModelProperty(value="审核意见")
|
||||
private String checkComment;
|
||||
|
||||
/**
|
||||
* 上传时间
|
||||
*/
|
||||
@TableField(value = "upload_time")
|
||||
@ApiModelProperty(value="上传时间")
|
||||
private Date uploadTime;
|
||||
|
||||
|
||||
@@ -0,0 +1,83 @@
|
||||
package com.njcn.process.pojo.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2023/2/1 14:17【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* 台区测点问题表
|
||||
*/
|
||||
@Data
|
||||
public class RStatDistributionProblemVO {
|
||||
/**
|
||||
* 问题编号(有生成规则,看文档)
|
||||
*/
|
||||
private String problemNo;
|
||||
|
||||
private String orgNo;
|
||||
|
||||
private String orgName;
|
||||
|
||||
/**
|
||||
* 问题类型(字典,两种类型:谐波电压越限、谐波电流越限)
|
||||
*/
|
||||
private String problemType;
|
||||
|
||||
/**
|
||||
* 问题发生时间
|
||||
*/
|
||||
private Date occurTime;
|
||||
|
||||
/**
|
||||
* 台区ID
|
||||
*/
|
||||
private String distributionId;
|
||||
/**
|
||||
* 台区名称
|
||||
*/
|
||||
private String distributionName;
|
||||
|
||||
/**
|
||||
* 最新超标时间(超标连续大于4小时)
|
||||
*/
|
||||
private Date lastTime;
|
||||
|
||||
/**
|
||||
* 审核状态(字典,两种类型:待审核/已审核)
|
||||
*/
|
||||
private String checkStatus;
|
||||
|
||||
/**
|
||||
* 审核处理(字典,三种情况:“-”“生成工单”“无需处理”,待审核状态的审核结果为“-”,另外两种根据审核弹窗选择结果显示.这边字典存两个生成工单、无需处理,为空是替换成“-”)
|
||||
*/
|
||||
private String checkResult;
|
||||
|
||||
/**
|
||||
* 问题处理时间
|
||||
*/
|
||||
private Date handleTime;
|
||||
|
||||
/**
|
||||
* 监测点ID
|
||||
*/
|
||||
private String measurementPointId;
|
||||
|
||||
/**
|
||||
* 问题描述
|
||||
*/
|
||||
private String problemDescribe;
|
||||
|
||||
/**
|
||||
* 补充描述
|
||||
*/
|
||||
private String supplyDescribe;
|
||||
}
|
||||
@@ -0,0 +1,180 @@
|
||||
package com.njcn.process.pojo.vo;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2023/2/22 18:59【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* 电能质量问题日志表
|
||||
*/
|
||||
public class RStatElectricQualityProblemLogVO {
|
||||
/**
|
||||
* 电能质量问题编号
|
||||
*/
|
||||
private String powerQualityProblemNo;
|
||||
|
||||
private String orgName;
|
||||
/**
|
||||
* 操作时间
|
||||
*/
|
||||
private Date dataDate;
|
||||
|
||||
/**
|
||||
* 审核人
|
||||
*/
|
||||
private String checker;
|
||||
|
||||
/**
|
||||
* 审核备注
|
||||
*/
|
||||
private String description;
|
||||
|
||||
/**
|
||||
* 填报进度,字典表(未填报、原因分析结果、计划整改措施、实际采取措施、治理效果评价、已归档)
|
||||
*/
|
||||
private String reportProcess;
|
||||
|
||||
/**
|
||||
* 填报内容
|
||||
*/
|
||||
private String reportProcessContent;
|
||||
|
||||
/**
|
||||
* 审核状态
|
||||
*/
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* 获取电能质量问题编号
|
||||
*
|
||||
* @return power_quality_problem_no - 电能质量问题编号
|
||||
*/
|
||||
public String getPowerQualityProblemNo() {
|
||||
return powerQualityProblemNo;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置电能质量问题编号
|
||||
*
|
||||
* @param powerQualityProblemNo 电能质量问题编号
|
||||
*/
|
||||
public void setPowerQualityProblemNo(String powerQualityProblemNo) {
|
||||
this.powerQualityProblemNo = powerQualityProblemNo;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取操作时间
|
||||
*
|
||||
* @return data_date - 操作时间
|
||||
*/
|
||||
public Date getDataDate() {
|
||||
return dataDate;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置操作时间
|
||||
*
|
||||
* @param dataDate 操作时间
|
||||
*/
|
||||
public void setDataDate(Date dataDate) {
|
||||
this.dataDate = dataDate;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取审核人
|
||||
*
|
||||
* @return checker - 审核人
|
||||
*/
|
||||
public String getChecker() {
|
||||
return checker;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置审核人
|
||||
*
|
||||
* @param checker 审核人
|
||||
*/
|
||||
public void setChecker(String checker) {
|
||||
this.checker = checker;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取审核备注
|
||||
*
|
||||
* @return description - 审核备注
|
||||
*/
|
||||
public String getDescription() {
|
||||
return description;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置审核备注
|
||||
*
|
||||
* @param description 审核备注
|
||||
*/
|
||||
public void setDescription(String description) {
|
||||
this.description = description;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取填报进度,字典表(未填报、原因分析结果、计划整改措施、实际采取措施、治理效果评价、已归档)
|
||||
*
|
||||
* @return report_process - 填报进度,字典表(未填报、原因分析结果、计划整改措施、实际采取措施、治理效果评价、已归档)
|
||||
*/
|
||||
public String getReportProcess() {
|
||||
return reportProcess;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置填报进度,字典表(未填报、原因分析结果、计划整改措施、实际采取措施、治理效果评价、已归档)
|
||||
*
|
||||
* @param reportProcess 填报进度,字典表(未填报、原因分析结果、计划整改措施、实际采取措施、治理效果评价、已归档)
|
||||
*/
|
||||
public void setReportProcess(String reportProcess) {
|
||||
this.reportProcess = reportProcess;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取填报内容
|
||||
*
|
||||
* @return report_process_content - 填报内容
|
||||
*/
|
||||
public String getReportProcessContent() {
|
||||
return reportProcessContent;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置填报内容
|
||||
*
|
||||
* @param reportProcessContent 填报内容
|
||||
*/
|
||||
public void setReportProcessContent(String reportProcessContent) {
|
||||
this.reportProcessContent = reportProcessContent;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取状态
|
||||
*
|
||||
* @return type - 状态
|
||||
*/
|
||||
public String getType() {
|
||||
return type;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置状态
|
||||
*
|
||||
* @param type 状态
|
||||
*/
|
||||
public void setType(String type) {
|
||||
this.type = type;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,189 @@
|
||||
package com.njcn.process.pojo.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2023/2/1 14:13【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* 工单详情表
|
||||
*/
|
||||
@Data
|
||||
public class RStatWorkOrderDetailVO {
|
||||
/**
|
||||
* 问题编号(台区测点问题表的problem_no)
|
||||
*/
|
||||
private String problemNo;
|
||||
private String orgNo;
|
||||
private String orgName;
|
||||
|
||||
|
||||
/**
|
||||
* 台区ID
|
||||
*/
|
||||
private String distributionId;
|
||||
/**
|
||||
* 台区名称
|
||||
*/
|
||||
private String distributionName;
|
||||
/**
|
||||
* 工单状态(字典,待派单、已派单、已关闭)
|
||||
*/
|
||||
private String workOrderStatus;
|
||||
|
||||
/**
|
||||
* 工单类型(字典,目前一个,整改单)
|
||||
*/
|
||||
private String workOrderType;
|
||||
|
||||
/**
|
||||
* 一级业务类型(字典,目前一个,运检业务)
|
||||
*/
|
||||
private String primaryBusinessType;
|
||||
|
||||
/**
|
||||
* 二级业务类型(字典,两种类型:谐波电压越限、谐波电流越限)
|
||||
*/
|
||||
private String twoBusinessType;
|
||||
|
||||
/**
|
||||
* 供电所
|
||||
*/
|
||||
private String powerSupplyStation;
|
||||
private String powerSupplyStationName;
|
||||
|
||||
|
||||
/**
|
||||
* 工单流程(字典,生成工单、派单、反馈、审核、整改、评估、归档,默认生成工单)
|
||||
*/
|
||||
private String workOrderProcess;
|
||||
|
||||
/**
|
||||
* 维护班组
|
||||
*/
|
||||
private String whbz;
|
||||
|
||||
/**
|
||||
* 工单负责人
|
||||
*/
|
||||
private String workOrderLeader;
|
||||
|
||||
/**
|
||||
* 工单完成时间
|
||||
*/
|
||||
private Date workOrderOverTime;
|
||||
|
||||
/**
|
||||
* 要求反馈时间
|
||||
*/
|
||||
private Date expectAskFeedbackTime;
|
||||
|
||||
/**
|
||||
* 接单人ID
|
||||
*/
|
||||
private String pickUpPerson;
|
||||
|
||||
/**
|
||||
* 下发时间
|
||||
*/
|
||||
private Date distributionTime;
|
||||
|
||||
/**
|
||||
* 预期到期时间
|
||||
*/
|
||||
private Date expirationTime;
|
||||
|
||||
/**
|
||||
* 关联设备主人
|
||||
*/
|
||||
private String relationDevice;
|
||||
|
||||
/**
|
||||
* 附件
|
||||
*/
|
||||
private String enclosure;
|
||||
|
||||
/**
|
||||
* 抄送
|
||||
*/
|
||||
private String copyFor;
|
||||
|
||||
/**
|
||||
* 反馈时间
|
||||
*/
|
||||
private Date askFeedbackTime;
|
||||
|
||||
/**
|
||||
* 计划完成时间
|
||||
*/
|
||||
private Date plannedCompletionTime;
|
||||
|
||||
/**
|
||||
* 原因反馈
|
||||
*/
|
||||
private String causeFeedback;
|
||||
|
||||
/**
|
||||
* 审核人ID
|
||||
*/
|
||||
private String checkPerson;
|
||||
|
||||
/**
|
||||
* 审核状态(字典,两种类型:审核通过/审核不通过)
|
||||
*/
|
||||
private String checkStatus;
|
||||
|
||||
/**
|
||||
* 审核意见(审核通过可为空,审核不通过时必填)
|
||||
*/
|
||||
private String checkComments;
|
||||
|
||||
/**
|
||||
* 整改完成时间
|
||||
*/
|
||||
private Date rectifyCompleteTime;
|
||||
|
||||
/**
|
||||
* 整改人ID
|
||||
*/
|
||||
private String rectifyPerson;
|
||||
|
||||
/**
|
||||
* 整改描述
|
||||
*/
|
||||
private String rectifyDescribe;
|
||||
|
||||
/**
|
||||
* 整改人ID
|
||||
*/
|
||||
private String assessPerson;
|
||||
|
||||
/**
|
||||
* 评估完成时间
|
||||
*/
|
||||
private Date assessCompleteTime;
|
||||
|
||||
/**
|
||||
* 评估结果(字典,评估合格、评估不合格)
|
||||
*/
|
||||
private String assessResult;
|
||||
|
||||
/**
|
||||
* 评估描述
|
||||
*/
|
||||
private String assessDescribe;
|
||||
|
||||
/**
|
||||
* 问题描述
|
||||
*/
|
||||
private String problemDescribe;
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
package com.njcn.process.utils;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||
import com.njcn.common.pojo.exception.BusinessException;
|
||||
import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.common.utils.EnumUtils;
|
||||
import com.njcn.process.enums.ProcessResponseEnum;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* @author hongawen
|
||||
* @version 1.0.0
|
||||
* @date 2021年12月20日 10:03
|
||||
*/
|
||||
public class ProcessEnumUtil {
|
||||
|
||||
/**
|
||||
* 获取HarmonicResponseEnum实例
|
||||
*/
|
||||
public static ProcessResponseEnum getHarmonicEnumResponseEnumByMessage(@NotNull Object value) {
|
||||
ProcessResponseEnum harmonicResponseEnum;
|
||||
try {
|
||||
String message = value.toString();
|
||||
if(message.indexOf(StrUtil.C_COMMA)>0){
|
||||
value = message.substring(message.indexOf(StrUtil.C_COMMA)+1);
|
||||
}
|
||||
harmonicResponseEnum = EnumUtils.valueOf(ProcessResponseEnum.class, value, ProcessResponseEnum.class.getMethod(BusinessException.GET_MESSAGE_METHOD));
|
||||
return Objects.isNull(harmonicResponseEnum) ? ProcessResponseEnum.PROCESS_COMMON_ERROR : harmonicResponseEnum;
|
||||
} catch (NoSuchMethodException e) {
|
||||
throw new BusinessException(CommonResponseEnum.INTERNAL_ERROR);
|
||||
}
|
||||
}
|
||||
public static Enum<?> getExceptionEnum(HttpResult<Object> result){
|
||||
//如果返回错误,且为内部错误,则直接抛出异常
|
||||
CommonResponseEnum commonResponseEnum = EnumUtils.getCommonResponseEnumByCode(result.getCode());
|
||||
if (commonResponseEnum == CommonResponseEnum.DEVICE_RESPONSE_ENUM) {
|
||||
return getHarmonicEnumResponseEnumByMessage(result.getMessage());
|
||||
}
|
||||
return commonResponseEnum;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -108,6 +108,12 @@
|
||||
<artifactId>pinyin4j</artifactId>
|
||||
<version>2.5.1</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.njcn</groupId>
|
||||
<artifactId>prepare-api</artifactId>
|
||||
<version>1.0.0</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
|
||||
@@ -24,6 +24,8 @@ import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 电能质量问题
|
||||
* @author xiaoyao
|
||||
@@ -213,14 +215,26 @@ public class ElectricityQualityIssuesController extends BaseController {
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
|
||||
}
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.DELETE)
|
||||
@PostMapping("/queryIssuesAndOrder")
|
||||
@ApiOperation("查询问题及工单(当前部门下)")
|
||||
@ApiImplicitParam(name = "orgNo", value = "部门id", required = true)
|
||||
public HttpResult<IssueesAndOrderVO> queryIssuesAndOrder(@RequestParam("orgNo") String orgNo){
|
||||
String methodDescribe = getMethodDescribe("queryIssuesAndOrder");
|
||||
IssueesAndOrderVO issueesAndOrderVO =issuesService.queryIssuesAndOrder(orgNo);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, issueesAndOrderVO, methodDescribe);
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/checkPowerQuality")
|
||||
@ApiOperation("电能质量问题审核")
|
||||
@ApiImplicitParam(name = "electricityQualityCheckParam", value = "电能质量问题审核参数", required = true)
|
||||
public HttpResult<Boolean> checkPowerQuality(@Validated @RequestBody ElectricityQualityCheckParam electricityQualityCheckParam){
|
||||
String methodDescribe = getMethodDescribe("checkPowerQuality");
|
||||
|
||||
Boolean flag = issuesService.checkPowerQuality (electricityQualityCheckParam);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, flag, methodDescribe);
|
||||
}
|
||||
/*todo*/
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/queryCheckTrack")
|
||||
@ApiOperation("历史审核记录查询")
|
||||
@ApiImplicitParam(name = "powerQualityProblemNo", value = "历史审核记录查询参数", required = true)
|
||||
public HttpResult<List<RStatElectricQualityProblemLogVO>> queryCheckTrack(@RequestParam("powerQualityProblemNo") String powerQualityProblemNo){
|
||||
String methodDescribe = getMethodDescribe("checkPowerQuality");
|
||||
|
||||
List<RStatElectricQualityProblemLogVO> rStatElectricQualityProblemLogVOS = issuesService.queryCheckTrack (powerQualityProblemNo);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, rStatElectricQualityProblemLogVOS, methodDescribe);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -92,7 +92,27 @@ public class LoadTypeUserManageController extends BaseController {
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, null, methodDescribe);
|
||||
}
|
||||
}
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/checkLoadTypeUserI")
|
||||
@ApiOperation("入网评估报告审核")
|
||||
@ApiImplicitParam(name = "loadTypeUserCheckParam", value = "入网评估报告审核参数", required = true)
|
||||
public HttpResult<Boolean> checkLoadTypeUserI(@Validated @RequestBody LoadTypeUserCheckParam loadTypeUserCheckParam){
|
||||
String methodDescribe = getMethodDescribe("checkLoadTypeUserI");
|
||||
|
||||
Boolean flag = loadTypeUserManageService.checkLoadTypeUserI (loadTypeUserCheckParam);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, flag, methodDescribe);
|
||||
}
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/checkLoadTypeUserA")
|
||||
@ApiOperation("实测报告审核")
|
||||
@ApiImplicitParam(name = "loadTypeUserCheckParam", value = "实测报告参数", required = true)
|
||||
public HttpResult<Boolean> checkLoadTypeUserA(@Validated @RequestBody LoadTypeUserCheckParam loadTypeUserCheckParam){
|
||||
String methodDescribe = getMethodDescribe("checkLoadTypeUserA");
|
||||
|
||||
Boolean flag = loadTypeUserManageService.checkLoadTypeUserA (loadTypeUserCheckParam);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, flag, methodDescribe);
|
||||
}
|
||||
/**
|
||||
* 上传干扰源用户入网报告
|
||||
* @author qijian
|
||||
|
||||
@@ -92,10 +92,21 @@ public class RGeneralSurveyPlanController extends BaseController {
|
||||
public HttpResult<IPage<RGeneralSurveyPlanVO>> queryPlanAudit(@Validated @RequestBody RGeneralSurveyPlanQueryParm rGeneralSurveyPlanQueryParm){
|
||||
String methodDescribe = getMethodDescribe("queryPlanAudit");
|
||||
|
||||
IPage<RGeneralSurveyPlanVO> rGeneralSurveyPlanVOS = rGeneralSurveyPlanPOService.query (rGeneralSurveyPlanQueryParm, Stream.of ("1").collect (Collectors.toList ()));
|
||||
IPage<RGeneralSurveyPlanVO> rGeneralSurveyPlanVOS = rGeneralSurveyPlanPOService.query (rGeneralSurveyPlanQueryParm, Stream.of ("1","2").collect (Collectors.toList ()));
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, rGeneralSurveyPlanVOS, methodDescribe);
|
||||
}
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/checkPlanAudit")
|
||||
@ApiOperation("普测计划-审核")
|
||||
@ApiImplicitParam(name = "rGeneralSurveyPlanChcekParm", value = "普测计划审核参数", required = true)
|
||||
public HttpResult<Boolean> checkPlanAudit(@Validated @RequestBody RGeneralSurveyPlanChcekParm rGeneralSurveyPlanChcekParm){
|
||||
String methodDescribe = getMethodDescribe("checkPlanAudit");
|
||||
|
||||
Boolean flag = rGeneralSurveyPlanPOService.checkPlanAudit (rGeneralSurveyPlanChcekParm);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, flag, methodDescribe);
|
||||
}
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/queryPlanResult")
|
||||
@ApiOperation("查询普测计划-结果页面")
|
||||
|
||||
@@ -1,13 +1,18 @@
|
||||
package com.njcn.process.controller;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.njcn.common.pojo.annotation.OperateInfo;
|
||||
import com.njcn.common.pojo.constant.OperateType;
|
||||
import com.njcn.common.pojo.enums.common.LogEnum;
|
||||
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||
import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.common.utils.HttpResultUtil;
|
||||
import com.njcn.prepare.harmonic.pojo.dto.OverLimitFlagDTO;
|
||||
import com.njcn.process.pojo.param.RStatProblemAndWorkOrderParam;
|
||||
import com.njcn.process.pojo.vo.IssueesAndOrderVO;
|
||||
import com.njcn.process.pojo.vo.OrderCountVO;
|
||||
import com.njcn.process.pojo.vo.RStatDistributionProblemVO;
|
||||
import com.njcn.process.pojo.vo.RStatWorkOrderDetailVO;
|
||||
import com.njcn.process.service.RStatDistributionProblemService;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
import io.swagger.annotations.Api;
|
||||
@@ -15,10 +20,10 @@ import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Description:
|
||||
@@ -56,4 +61,58 @@ public class RStatWorkOrderController extends BaseController {
|
||||
OrderCountVO orderCountVO =rStatDistributionProblemService.queryOrderCount(orgNo);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, orderCountVO, methodDescribe);
|
||||
}
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.DELETE)
|
||||
@PostMapping("/createProblem")
|
||||
@ApiOperation("创建问题接口")
|
||||
@ApiImplicitParam(name = "overLimitFlagDTOList", value = "部门id", required = true)
|
||||
public HttpResult<Boolean> createProblem(@RequestBody List<OverLimitFlagDTO> overLimitFlagDTOList){
|
||||
String methodDescribe = getMethodDescribe("createProblem");
|
||||
Boolean problem = rStatDistributionProblemService.createProblem (overLimitFlagDTOList);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, problem, methodDescribe);
|
||||
}
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/queryProblem")
|
||||
@ApiOperation("查询工单问题")
|
||||
@ApiImplicitParam(name = "rStatProblemAndWorkOrderParam", value = "查询工单问题参数", required = true)
|
||||
public HttpResult<IPage<RStatDistributionProblemVO>> queryProblem(@Validated @RequestBody RStatProblemAndWorkOrderParam rStatProblemAndWorkOrderParam){
|
||||
String methodDescribe = getMethodDescribe("queryProblem");
|
||||
|
||||
IPage<RStatDistributionProblemVO> rStatDistributionProblemVOIPage = rStatDistributionProblemService.queryProblem (rStatProblemAndWorkOrderParam);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, rStatDistributionProblemVOIPage, methodDescribe);
|
||||
}
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/checkProblem")
|
||||
@ApiOperation("审核处理")
|
||||
@ApiImplicitParam(name = "rStatDistributionProblemVO", value = "审核工单问题参数", required = true)
|
||||
public HttpResult<Boolean> checkProblem(@Validated @RequestBody RStatDistributionProblemVO rStatDistributionProblemVO){
|
||||
String methodDescribe = getMethodDescribe("checkProblem");
|
||||
|
||||
Boolean flag = rStatDistributionProblemService.checkProblem (rStatDistributionProblemVO);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, flag, methodDescribe);
|
||||
}
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/queryWorkOrder")
|
||||
@ApiOperation("查询工单")
|
||||
@ApiImplicitParam(name = "rStatProblemAndWorkOrderParam", value = "查询工单问题参数", required = true)
|
||||
public HttpResult<IPage<RStatWorkOrderDetailVO>> queryWorkOrder(@Validated @RequestBody RStatProblemAndWorkOrderParam rStatProblemAndWorkOrderParam){
|
||||
String methodDescribe = getMethodDescribe("queryWorkOrder");
|
||||
|
||||
IPage<RStatWorkOrderDetailVO> rStatWorkOrderDetailVOIPage = rStatDistributionProblemService.queryWorkOrder (rStatProblemAndWorkOrderParam);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, rStatWorkOrderDetailVOIPage, methodDescribe);
|
||||
}
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/updateWorkOrderStatus")
|
||||
@ApiOperation("更新工单进度")
|
||||
@ApiImplicitParam(name = "rStatWorkOrderDetailVO", value = "查询工单问题参数", required = true)
|
||||
public HttpResult<Boolean> updateWorkOrderStatus(@Validated @RequestBody RStatWorkOrderDetailVO rStatWorkOrderDetailVO){
|
||||
String methodDescribe = getMethodDescribe("updateWorkOrderStatus");
|
||||
|
||||
Boolean flag = rStatDistributionProblemService.updateWorkOrderStatus (rStatWorkOrderDetailVO);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, flag, methodDescribe);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.njcn.process.mapper;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
||||
import com.njcn.process.pojo.po.RStatElectricQualityProblemLogPO;
|
||||
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2023/2/22 18:59【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
public interface RStatElectricQualityProblemLogMapper extends MppBaseMapper<RStatElectricQualityProblemLogPO> {
|
||||
}
|
||||
@@ -1,7 +1,12 @@
|
||||
package com.njcn.process.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
||||
import com.njcn.process.pojo.param.RStatProblemAndWorkOrderParam;
|
||||
import com.njcn.process.pojo.po.RStatWorkOrderDetailPO;
|
||||
import com.njcn.process.pojo.vo.RStatWorkOrderDetailVO;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.apache.ibatis.annotations.Select;
|
||||
|
||||
/**
|
||||
*
|
||||
@@ -13,4 +18,25 @@ import com.njcn.process.pojo.po.RStatWorkOrderDetailPO;
|
||||
* @version V1.0.0
|
||||
*/
|
||||
public interface RStatWorkOrderDetailMapper extends MppBaseMapper<RStatWorkOrderDetailPO> {
|
||||
@Select ({"<script>",
|
||||
"SELECT\n" +
|
||||
"\ta.*, b.problem_describe\n" +
|
||||
"FROM\n" +
|
||||
"\tr_stat_work_order_detail a\n" +
|
||||
"INNER JOIN r_stat_distribution_problem b ON a.problem_no = b.problem_no\n" +
|
||||
"WHERE 1=1 \n" +
|
||||
"<when test='temp.problemType!=null and temp.problemType!=\"\"'>",
|
||||
"\t AND a.two_business_type = #{temp.problemType}\n" +
|
||||
"</when>",
|
||||
"<when test='temp.occurTime!=null and temp.occurTime!=\"\"'>",
|
||||
"AND DATE_FORMAT(b.occur_time, '%Y%m%d') = #{temp.occurTime}\n" +
|
||||
"</when>",
|
||||
"<when test='temp.workOrderStatus!=null and temp.workOrderStatus!=\"\"'>",
|
||||
"AND a.work_order_status = #{temp.workOrderStatus}\n" +
|
||||
"</when>",
|
||||
"<when test='temp.problemNo!=null and temp.problemNo!=\"\"'>",
|
||||
"AND a.problem_no = #{temp.problemNo}",
|
||||
"</when>",
|
||||
"</script>"})
|
||||
Page<RStatWorkOrderDetailVO> getPageVo(Page<RStatWorkOrderDetailVO> returnpage,@Param("temp") RStatProblemAndWorkOrderParam rStatProblemAndWorkOrderParam);
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.njcn.process.mapper.RStatElectricQualityProblemLogMapper">
|
||||
<resultMap id="BaseResultMap" type="com.njcn.process.pojo.po.RStatElectricQualityProblemLogPO">
|
||||
<!--@mbg.generated-->
|
||||
<!--@Table r_stat_electric_quality_problem_log-->
|
||||
<id column="power_quality_problem_no" jdbcType="VARCHAR" property="powerQualityProblemNo" />
|
||||
<result column="data_date" jdbcType="TIMESTAMP" property="dataDate" />
|
||||
<result column="checker" jdbcType="VARCHAR" property="checker" />
|
||||
<result column="description" jdbcType="VARCHAR" property="description" />
|
||||
<result column="report_process" jdbcType="VARCHAR" property="reportProcess" />
|
||||
<result column="report_process_content" jdbcType="VARCHAR" property="reportProcessContent" />
|
||||
<result column="type" jdbcType="VARCHAR" property="type" />
|
||||
</resultMap>
|
||||
<sql id="Base_Column_List">
|
||||
<!--@mbg.generated-->
|
||||
power_quality_problem_no, data_date, checker, description, report_process, report_process_content,
|
||||
`type`
|
||||
</sql>
|
||||
</mapper>
|
||||
@@ -6,6 +6,8 @@ import com.njcn.process.pojo.param.*;
|
||||
import com.njcn.process.pojo.vo.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 电能质量问题接口类
|
||||
* @author xiaoyao
|
||||
@@ -96,4 +98,20 @@ public interface IssuesService {
|
||||
* @Date: 2023/1/5
|
||||
*/
|
||||
IssueesAndOrderVO queryIssuesAndOrder(String orgNo);
|
||||
/**
|
||||
* @Description: 电能质量问题审核
|
||||
* @Param: [electricityQualityCheckParam]
|
||||
* @return: java.lang.Boolean
|
||||
* @Author: clam
|
||||
* @Date: 2023/2/22
|
||||
*/
|
||||
Boolean checkPowerQuality(ElectricityQualityCheckParam electricityQualityCheckParam);
|
||||
/**
|
||||
* @Description: 历史审核记录查询
|
||||
* @Param: [powerQualityProblemNo]
|
||||
* @return: java.util.List<com.njcn.process.pojo.vo.RStatElectricQualityProblemLogVO>
|
||||
* @Author: clam
|
||||
* @Date: 2023/2/23
|
||||
*/
|
||||
List<RStatElectricQualityProblemLogVO> queryCheckTrack(String powerQualityProblemNo);
|
||||
}
|
||||
|
||||
@@ -79,4 +79,20 @@ public interface LoadTypeUserManageService {
|
||||
* @return
|
||||
*/
|
||||
List<LoadTypeRelationExcel> exportLoadTypeRelationList(List<String> list);
|
||||
/**
|
||||
* @Description: 入网评估报告审核
|
||||
* @Param: [loadTypeUserCheckParam]
|
||||
* @return: java.lang.Boolean
|
||||
* @Author: clam
|
||||
* @Date: 2023/2/22
|
||||
*/
|
||||
Boolean checkLoadTypeUserI(LoadTypeUserCheckParam loadTypeUserCheckParam);
|
||||
/**
|
||||
* @Description: 实测报告审核
|
||||
* @Param: [loadTypeUserCheckParam]
|
||||
* @return: java.lang.Boolean
|
||||
* @Author: clam
|
||||
* @Date: 2023/2/22
|
||||
*/
|
||||
Boolean checkLoadTypeUserA(LoadTypeUserCheckParam loadTypeUserCheckParam);
|
||||
}
|
||||
|
||||
@@ -3,10 +3,7 @@ package com.njcn.process.service;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.github.jeffreyning.mybatisplus.service.IMppService;
|
||||
import com.njcn.minio.bo.MinIoUploadResDTO;
|
||||
import com.njcn.process.pojo.param.RGeneralSurveyPlanAddParm;
|
||||
import com.njcn.process.pojo.param.RGeneralSurveyPlanQueryParm;
|
||||
import com.njcn.process.pojo.param.SurveyPlanQuestionQueryParm;
|
||||
import com.njcn.process.pojo.param.SurveyResultUploadParam;
|
||||
import com.njcn.process.pojo.param.*;
|
||||
import com.njcn.process.pojo.po.RGeneralSurveyPlanPO;
|
||||
import com.njcn.process.pojo.vo.SurveyPlanExcel;
|
||||
import com.njcn.process.pojo.vo.RGeneralSurveyPlanDetailOnQuestionVO;
|
||||
@@ -81,4 +78,12 @@ public interface RGeneralSurveyPlanPOService extends IMppService<RGeneralSurveyP
|
||||
* @Date: 2022/12/1
|
||||
*/
|
||||
List<RGeneralSurveyPlanPO> querySurveyPlanName(SurveyPlanQuestionQueryParm questionQueryParm);
|
||||
/**
|
||||
* @Description: checkPlanAudit
|
||||
* @Param: [rGeneralSurveyPlanChcekParm]
|
||||
* @return: java.lang.Boolean
|
||||
* @Author: clam
|
||||
* @Date: 2023/2/22
|
||||
*/
|
||||
Boolean checkPlanAudit(RGeneralSurveyPlanChcekParm rGeneralSurveyPlanChcekParm);
|
||||
}
|
||||
|
||||
@@ -1,9 +1,16 @@
|
||||
package com.njcn.process.service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.github.jeffreyning.mybatisplus.service.IMppService;
|
||||
import com.njcn.prepare.harmonic.pojo.dto.OverLimitFlagDTO;
|
||||
import com.njcn.process.pojo.param.RStatProblemAndWorkOrderParam;
|
||||
import com.njcn.process.pojo.po.RStatDistributionProblemPO;
|
||||
import com.njcn.process.pojo.vo.IssueesAndOrderVO;
|
||||
import com.njcn.process.pojo.vo.OrderCountVO;
|
||||
import com.njcn.process.pojo.vo.RStatDistributionProblemVO;
|
||||
import com.njcn.process.pojo.vo.RStatWorkOrderDetailVO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
*
|
||||
@@ -32,4 +39,44 @@ public interface RStatDistributionProblemService extends IMppService<RStatDistri
|
||||
* @Date: 2023/2/2
|
||||
*/
|
||||
OrderCountVO queryOrderCount(String orgNo);
|
||||
/**
|
||||
* @Description: 创建问题接口
|
||||
* @Param: [overLimitFlagDTOList]
|
||||
* @return: java.lang.Boolean
|
||||
* @Author: clam
|
||||
* @Date: 2023/2/15
|
||||
*/
|
||||
Boolean createProblem(List<OverLimitFlagDTO> overLimitFlagDTOList);
|
||||
/**
|
||||
* @Description: 查询问题接口
|
||||
* @Param: [rStatProblemAndWorkOrderParam]
|
||||
* @return: com.baomidou.mybatisplus.core.metadata.IPage<com.njcn.process.pojo.vo.RStatDistributionProblemVO>
|
||||
* @Author: clam
|
||||
* @Date: 2023/2/16
|
||||
*/
|
||||
IPage<RStatDistributionProblemVO> queryProblem(RStatProblemAndWorkOrderParam rStatProblemAndWorkOrderParam);
|
||||
/**
|
||||
* @Description: 审核处理
|
||||
* @Param: [rStatDistributionProblemVO]
|
||||
* @return: java.lang.Boolean
|
||||
* @Author: clam
|
||||
* @Date: 2023/2/17
|
||||
*/
|
||||
Boolean checkProblem(RStatDistributionProblemVO rStatDistributionProblemVO);
|
||||
/**
|
||||
* @Description: queryWorkOrder
|
||||
* @Param: [rStatProblemAndWorkOrderParam]
|
||||
* @return: com.baomidou.mybatisplus.core.metadata.IPage<com.njcn.process.pojo.vo.RStatWorkOrderDetailVO>
|
||||
* @Author: clam
|
||||
* @Date: 2023/2/17
|
||||
*/
|
||||
IPage<RStatWorkOrderDetailVO> queryWorkOrder(RStatProblemAndWorkOrderParam rStatProblemAndWorkOrderParam);
|
||||
/**
|
||||
* @Description: 更新工单进度
|
||||
* @Param: [rStatWorkOrderDetailVO]
|
||||
* @return: java.lang.Boolean
|
||||
* @Author: clam
|
||||
* @Date: 2023/2/17
|
||||
*/
|
||||
Boolean updateWorkOrderStatus(RStatWorkOrderDetailVO rStatWorkOrderDetailVO);
|
||||
}
|
||||
|
||||
@@ -9,6 +9,7 @@ import cn.hutool.extra.pinyin.PinyinUtil;
|
||||
import com.alibaba.nacos.shaded.com.google.common.collect.Lists;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.njcn.common.pojo.constant.BizParamConstant;
|
||||
import com.njcn.common.pojo.exception.BusinessException;
|
||||
@@ -36,6 +37,7 @@ import javax.annotation.Resource;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* 电能质量问题实现类
|
||||
@@ -64,6 +66,8 @@ public class IssuesServiceImpl implements IssuesService {
|
||||
|
||||
private final RMpElectricQualityProblemFlowDetailsMapper flowDetailsMapper;
|
||||
|
||||
private final RStatElectricQualityProblemLogMapper rStatElectricQualityProblemLogMapper;
|
||||
|
||||
@Resource
|
||||
private MinIoUtils minIoUtils;
|
||||
|
||||
@@ -561,4 +565,88 @@ public class IssuesServiceImpl implements IssuesService {
|
||||
return issueesAndOrderVO;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param electricityQualityCheckParam
|
||||
* @Description: 电能质量问题审核
|
||||
* @Param: [electricityQualityCheckParam]
|
||||
* @return: java.lang.Boolean
|
||||
* @Author: clam
|
||||
* @Date: 2023/2/22
|
||||
*/
|
||||
@Override
|
||||
public Boolean checkPowerQuality(ElectricityQualityCheckParam electricityQualityCheckParam) {
|
||||
boolean result = true;
|
||||
RStatElectricQualityProblemLogPO rStatElectricQualityProblemLogPO = new RStatElectricQualityProblemLogPO();
|
||||
rStatElectricQualityProblemLogPO.setPowerQualityProblemNo (electricityQualityCheckParam.getPowerQualityProblemNo ());
|
||||
rStatElectricQualityProblemLogPO.setChecker (electricityQualityCheckParam.getCheckPerson ());
|
||||
rStatElectricQualityProblemLogPO.setDataDate ( new Date ());
|
||||
rStatElectricQualityProblemLogPO.setDescription (electricityQualityCheckParam.getCheckComment ());
|
||||
rStatElectricQualityProblemLogPO.setReportProcess (electricityQualityCheckParam.getReportProcess ());
|
||||
rStatElectricQualityProblemLogPO.setReportProcessContent (electricityQualityCheckParam.getCheckComment ());
|
||||
|
||||
rStatElectricQualityProblemLogPO.setType (Objects.equals ("1", electricityQualityCheckParam.getCheckResult ())?DicDataEnum.SUCCESS.getCode ( ):DicDataEnum.FAIL.getCode ( ));
|
||||
/*插入审核日志表*/
|
||||
int insert = rStatElectricQualityProblemLogMapper.insert (rStatElectricQualityProblemLogPO);
|
||||
String report_process ="";
|
||||
String report_process_status ="";
|
||||
String reportProcess =electricityQualityCheckParam.getReportProcess ();
|
||||
String checkResult = electricityQualityCheckParam.getCheckResult ( );
|
||||
if (DicDataEnum.CAUSE_ANALYSIS.getCode ().equals(reportProcess)){
|
||||
if(Objects.equals ("1", checkResult)){
|
||||
report_process_status = DicDataEnum.AUDITT.getCode ();
|
||||
report_process = DicDataEnum.PLAN_MEASURES.getCode ();
|
||||
}else{
|
||||
report_process_status = DicDataEnum.FAIL.getCode ();
|
||||
report_process = DicDataEnum.CAUSE_ANALYSIS.getCode ();
|
||||
}
|
||||
}else if (DicDataEnum.PLAN_MEASURES.getCode().equals(reportProcess)){
|
||||
if(Objects.equals ("1", checkResult)){
|
||||
report_process_status = DicDataEnum.AUDITT.getCode ();
|
||||
report_process = DicDataEnum.ACTUAL_MEASURES.getCode ();
|
||||
}else{
|
||||
report_process_status = DicDataEnum.FAIL.getCode ();
|
||||
report_process = DicDataEnum.PLAN_MEASURES.getCode ();
|
||||
}
|
||||
|
||||
}else if (DicDataEnum.ACTUAL_MEASURES.getCode().equals(reportProcess)){
|
||||
if(Objects.equals ("1", checkResult)){
|
||||
report_process_status = DicDataEnum.AUDITT.getCode ();
|
||||
report_process = DicDataEnum.INSIGHTS.getCode ();
|
||||
}else{
|
||||
report_process_status = DicDataEnum.FAIL.getCode ();
|
||||
report_process = DicDataEnum.ACTUAL_MEASURES.getCode ();
|
||||
}
|
||||
|
||||
}else if (DicDataEnum.INSIGHTS.getCode().equals(reportProcess)){
|
||||
|
||||
if(Objects.equals ("1", checkResult)){
|
||||
report_process_status = DicDataEnum.AUDITT.getCode ();
|
||||
report_process = DicDataEnum.ARCHIVED.getCode ();
|
||||
}else{
|
||||
report_process_status = DicDataEnum.FAIL.getCode ();
|
||||
report_process = DicDataEnum.INSIGHTS.getCode ();
|
||||
}
|
||||
}
|
||||
UpdateWrapper<RStatElectricQualityProblemFlow> updateWrapper = new UpdateWrapper ();
|
||||
updateWrapper.eq ("power_quality_problem_no", electricityQualityCheckParam.getPowerQualityProblemNo ());
|
||||
updateWrapper.set ("report_process", report_process);
|
||||
updateWrapper.set ("report_process_status",report_process_status);
|
||||
int i= issuesMapper.update (null,updateWrapper);
|
||||
result = insert==1&&i==1;
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param powerQualityProblemNo
|
||||
* @Description: 历史审核记录查询
|
||||
* @Param: [powerQualityProblemNo]
|
||||
* @return: java.util.List<com.njcn.process.pojo.vo.RStatElectricQualityProblemLogVO>
|
||||
* @Author: clam
|
||||
* @Date: 2023/2/23
|
||||
*/
|
||||
@Override
|
||||
public List<RStatElectricQualityProblemLogVO> queryCheckTrack(String powerQualityProblemNo) {
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.njcn.process.service.impl;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.njcn.common.pojo.exception.BusinessException;
|
||||
import com.njcn.device.pms.api.DistributionMonitorClient;
|
||||
@@ -342,4 +343,54 @@ public class LoadTypeUserManageServiceImpl implements LoadTypeUserManageService
|
||||
|
||||
return resultList;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param loadTypeUserCheckParam
|
||||
* @Description: 入网评估报告审核
|
||||
* @Param: [loadTypeUserCheckParam]
|
||||
* @return: java.lang.Boolean
|
||||
* @Author: clam
|
||||
* @Date: 2023/2/22
|
||||
*/
|
||||
@Override
|
||||
public Boolean checkLoadTypeUserI(LoadTypeUserCheckParam loadTypeUserCheckParam) {
|
||||
boolean result = true;
|
||||
UpdateWrapper<RLoadTypeUserManage> updateWrapper = new UpdateWrapper ();
|
||||
updateWrapper.eq ("id", loadTypeUserCheckParam.getId ());
|
||||
updateWrapper.set ("i_check_comment", loadTypeUserCheckParam.getCheckComment ());
|
||||
updateWrapper.set ("i_check_person",loadTypeUserCheckParam.getCheckPerson ());
|
||||
|
||||
DictData fail = dicDataFeignClient.getDicDataByCode (DicDataEnum.FAIL.getCode ( )).getData ( );
|
||||
DictData finish = dicDataFeignClient.getDicDataByCode(DicDataEnum.SUCCESS.getCode()).getData();
|
||||
|
||||
updateWrapper.set ("i_status", Objects.equals ("1", loadTypeUserCheckParam.getCheckResult ())?finish.getId ():fail.getId ());
|
||||
int i= loadTypeUserManageMapper.update (null,updateWrapper);
|
||||
result = i==1;
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param loadTypeUserCheckParam
|
||||
* @Description: 实测报告审核
|
||||
* @Param: [loadTypeUserCheckParam]
|
||||
* @return: java.lang.Boolean
|
||||
* @Author: clam
|
||||
* @Date: 2023/2/22
|
||||
*/
|
||||
@Override
|
||||
public Boolean checkLoadTypeUserA(LoadTypeUserCheckParam loadTypeUserCheckParam) {
|
||||
boolean result = true;
|
||||
UpdateWrapper<RLoadTypeUserManage> updateWrapper = new UpdateWrapper ();
|
||||
updateWrapper.eq ("id", loadTypeUserCheckParam.getId ());
|
||||
updateWrapper.set ("a_check_comment", loadTypeUserCheckParam.getCheckComment ());
|
||||
updateWrapper.set ("a_check_person",loadTypeUserCheckParam.getCheckPerson ());
|
||||
|
||||
DictData fail = dicDataFeignClient.getDicDataByCode (DicDataEnum.FAIL.getCode ( )).getData ( );
|
||||
DictData finish = dicDataFeignClient.getDicDataByCode(DicDataEnum.SUCCESS.getCode()).getData();
|
||||
|
||||
updateWrapper.set ("a_status", Objects.equals ("1", loadTypeUserCheckParam.getCheckResult ())?finish.getId ():fail.getId ());
|
||||
int i= loadTypeUserManageMapper.update (null,updateWrapper);
|
||||
result = i==1;
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.njcn.process.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
@@ -12,10 +13,7 @@ import com.njcn.minio.utils.MinIoUtils;
|
||||
import com.njcn.process.enums.ProcessResponseEnum;
|
||||
import com.njcn.process.mapper.RGeneralSurveyPlanDetailMapper;
|
||||
import com.njcn.process.mapper.RGeneralSurveyPlanPOMapper;
|
||||
import com.njcn.process.pojo.param.RGeneralSurveyPlanAddParm;
|
||||
import com.njcn.process.pojo.param.RGeneralSurveyPlanQueryParm;
|
||||
import com.njcn.process.pojo.param.SurveyPlanQuestionQueryParm;
|
||||
import com.njcn.process.pojo.param.SurveyResultUploadParam;
|
||||
import com.njcn.process.pojo.param.*;
|
||||
import com.njcn.process.pojo.po.RGeneralSurveyPlanDetail;
|
||||
import com.njcn.process.pojo.po.RGeneralSurveyPlanPO;
|
||||
import com.njcn.process.pojo.vo.RGeneralSurveyPlanDetailOnQuestionVO;
|
||||
@@ -85,7 +83,7 @@ public class RGeneralSurveyPlanPOServiceImpl extends MppServiceImpl<RGeneralSurv
|
||||
RGeneralSurveyPlanPO rGeneralSurveyPlanPO = new RGeneralSurveyPlanPO ();
|
||||
BeanUtils.copyProperties (rGeneralSurveyPlanAddParm,rGeneralSurveyPlanPO);
|
||||
/*todo 后期与工作流绑定*/
|
||||
rGeneralSurveyPlanPO.setStatus (0);
|
||||
rGeneralSurveyPlanPO.setStatus (1);
|
||||
boolean b = this.saveOrUpdateByMultiId (rGeneralSurveyPlanPO);
|
||||
|
||||
List<RGeneralSurveyPlanAddParm.RGeneralSurveyPlanDetailAddParm> rGeneralSurveyPlanDetailAddParm = rGeneralSurveyPlanAddParm.getRGeneralSurveyPlanDetailAddParm ( );
|
||||
@@ -333,6 +331,26 @@ public class RGeneralSurveyPlanPOServiceImpl extends MppServiceImpl<RGeneralSurv
|
||||
return list;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param rGeneralSurveyPlanChcekParm
|
||||
* @Description: checkPlanAudit
|
||||
* @Param: [rGeneralSurveyPlanChcekParm]
|
||||
* @return: java.lang.Boolean
|
||||
* @Author: clam
|
||||
* @Date: 2023/2/22
|
||||
*/
|
||||
@Override
|
||||
public Boolean checkPlanAudit(RGeneralSurveyPlanChcekParm rGeneralSurveyPlanChcekParm) {
|
||||
boolean result = true;
|
||||
UpdateWrapper<RGeneralSurveyPlanPO> updateWrapper = new UpdateWrapper();
|
||||
updateWrapper.eq ("plan_no", rGeneralSurveyPlanChcekParm.getPlanNo ());
|
||||
updateWrapper.set ("check_comment", rGeneralSurveyPlanChcekParm.getCheckComment ());
|
||||
updateWrapper.set ("check_person",rGeneralSurveyPlanChcekParm.getCheckPerson ());
|
||||
updateWrapper.set ("status", Objects.equals ("1", rGeneralSurveyPlanChcekParm.getCheckResult ())?3:2);
|
||||
result = this.update (updateWrapper);
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 上传文件到Minio
|
||||
*
|
||||
|
||||
@@ -1,25 +1,37 @@
|
||||
package com.njcn.process.service.impl;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.device.pms.api.PmsPowerDistributionareaClient;
|
||||
import com.njcn.device.pms.pojo.param.PowerDistributionareaParam;
|
||||
import com.njcn.device.pms.pojo.po.PowerDistributionarea;
|
||||
import com.njcn.prepare.harmonic.pojo.dto.OverLimitFlagDTO;
|
||||
import com.njcn.process.mapper.RStatDistributionProblemMapper;
|
||||
import com.njcn.process.mapper.RStatWorkOrderDetailMapper;
|
||||
import com.njcn.process.pojo.param.RStatProblemAndWorkOrderParam;
|
||||
import com.njcn.process.pojo.po.RStatDistributionProblemPO;
|
||||
import com.njcn.process.pojo.po.RStatWorkOrderDetailPO;
|
||||
import com.njcn.process.pojo.vo.IssueesAndOrderVO;
|
||||
import com.njcn.process.pojo.vo.OrderCountVO;
|
||||
import com.njcn.process.pojo.vo.RStatDistributionProblemVO;
|
||||
import com.njcn.process.pojo.vo.RStatWorkOrderDetailVO;
|
||||
import com.njcn.process.service.RStatDistributionProblemService;
|
||||
import com.njcn.system.enums.DicDataEnum;
|
||||
import com.njcn.user.api.DeptFeignClient;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.time.ZoneId;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2023/2/1 14:17【需求编号】
|
||||
@@ -33,6 +45,7 @@ public class RStatDistributionProblemServiceImpl extends MppServiceImpl<RStatDis
|
||||
|
||||
|
||||
private final DeptFeignClient deptFeignClient;
|
||||
private final PmsPowerDistributionareaClient pmsPowerDistributionareaClient;
|
||||
|
||||
private final RStatDistributionProblemMapper rStatDistributionProblemMapper;
|
||||
|
||||
@@ -93,4 +106,195 @@ public class RStatDistributionProblemServiceImpl extends MppServiceImpl<RStatDis
|
||||
orderCountVO.setCompelteOrderCount (Integer.valueOf (count + ""));
|
||||
return orderCountVO;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param overLimitFlagDTOList
|
||||
* @Description: 创建问题接口
|
||||
* @Param: [overLimitFlagDTOList]
|
||||
* @return: java.lang.Boolean
|
||||
* @Author: clam
|
||||
* @Date: 2023/2/15
|
||||
*/
|
||||
@Override
|
||||
public Boolean createProblem(List<OverLimitFlagDTO> overLimitFlagDTOList) {
|
||||
List<RStatDistributionProblemPO> rStatDistributionProblemPOList = new ArrayList<> ( );
|
||||
DateTimeFormatter fmt = DateTimeFormatter.ofPattern("yyyyMMdd");
|
||||
PowerDistributionareaParam powerDistributionareaParam = new PowerDistributionareaParam();
|
||||
List<PowerDistributionarea> data = pmsPowerDistributionareaClient.getPowerDistributionList (powerDistributionareaParam).getData ( );
|
||||
Map<String, PowerDistributionarea> collect = data.stream ( ).collect (Collectors.
|
||||
toMap (PowerDistributionarea::getId,
|
||||
powerDistributionarea->powerDistributionarea));
|
||||
overLimitFlagDTOList.forEach (overLimitFlagDTO -> {
|
||||
RStatDistributionProblemPO rStatDistributionProblemPO = new RStatDistributionProblemPO ( );
|
||||
rStatDistributionProblemPO.setProblemNo (createproblemNo(overLimitFlagDTO.getOverLimtType (),overLimitFlagDTO.getStartTime ().format(fmt)));
|
||||
rStatDistributionProblemPO.setOrgNo (collect.get(overLimitFlagDTO.getLineId ()).getOrgId ());
|
||||
rStatDistributionProblemPO.setOrgName (collect.get(overLimitFlagDTO.getLineId ()).getOrgName ());
|
||||
rStatDistributionProblemPO.setProblemType (overLimitFlagDTO.getOverLimtType ());
|
||||
rStatDistributionProblemPO.setOccurTime (Date.from(overLimitFlagDTO.getStartTime ().atZone(ZoneId.systemDefault()).toInstant()));
|
||||
rStatDistributionProblemPO.setLastTime (Date.from(overLimitFlagDTO.getEndTime ().atZone(ZoneId.systemDefault()).toInstant()));
|
||||
rStatDistributionProblemPO.setCheckStatus (DicDataEnum.REVIEW.getCode ());
|
||||
rStatDistributionProblemPO.setDistributionId (overLimitFlagDTO.getLineId ( ));
|
||||
rStatDistributionProblemPO.setDistributionName (collect.get(overLimitFlagDTO.getLineId ()).getName ());
|
||||
rStatDistributionProblemPO.setMeasurementPointId (overLimitFlagDTO.getLineId ( ));
|
||||
rStatDistributionProblemPO.setProblemDescribe ("......");
|
||||
rStatDistributionProblemPOList.add (rStatDistributionProblemPO);
|
||||
}
|
||||
);
|
||||
boolean b = this.saveBatch (rStatDistributionProblemPOList);
|
||||
return b;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param rStatProblemAndWorkOrderParam
|
||||
* @Description: 查询问题接口
|
||||
* @Param: [rStatProblemAndWorkOrderParam]
|
||||
* @return: com.baomidou.mybatisplus.core.metadata.IPage<com.njcn.process.pojo.vo.RStatDistributionProblemVO>
|
||||
* @Author: clam
|
||||
* @Date: 2023/2/16
|
||||
*/
|
||||
@Override
|
||||
public IPage<RStatDistributionProblemVO> queryProblem(RStatProblemAndWorkOrderParam rStatProblemAndWorkOrderParam) {
|
||||
IPage<RStatDistributionProblemPO> page = new Page<> (rStatProblemAndWorkOrderParam.getCurrentPage(), rStatProblemAndWorkOrderParam.getPageSize());
|
||||
IPage<RStatDistributionProblemVO> returnpage = new Page<> (rStatProblemAndWorkOrderParam.getCurrentPage(), rStatProblemAndWorkOrderParam.getPageSize());
|
||||
QueryWrapper<RStatDistributionProblemPO> queryWrapper = new QueryWrapper<> ();
|
||||
queryWrapper.eq (StrUtil.isNotBlank(rStatProblemAndWorkOrderParam.getProblemType ()),"problem_type",rStatProblemAndWorkOrderParam.getProblemType ()).
|
||||
eq (StrUtil.isNotBlank (rStatProblemAndWorkOrderParam.getCheckStatus ()),"check_status",rStatProblemAndWorkOrderParam.getCheckStatus ()).
|
||||
eq (StrUtil.isNotBlank (rStatProblemAndWorkOrderParam.getOccurTime ()),"DATE_FORMAT( occur_time ,'%Y-%m-%d')",rStatProblemAndWorkOrderParam.getOccurTime ()).
|
||||
like (StrUtil.isNotBlank (rStatProblemAndWorkOrderParam.getDistributionName ()), "distribution_name",rStatProblemAndWorkOrderParam.getDistributionName ());
|
||||
List<RStatDistributionProblemPO> records = rStatDistributionProblemMapper.selectPage (page, queryWrapper).getRecords ( );
|
||||
if(CollectionUtils.isEmpty (records)){
|
||||
return returnpage;
|
||||
}
|
||||
List<RStatDistributionProblemVO> list = new ArrayList<> ();
|
||||
records.forEach (temp->{
|
||||
RStatDistributionProblemVO rStatDistributionProblemVO = new RStatDistributionProblemVO();
|
||||
BeanUtils.copyProperties (temp, rStatDistributionProblemVO);
|
||||
list.add (rStatDistributionProblemVO);
|
||||
});
|
||||
returnpage.setRecords (list);
|
||||
|
||||
return returnpage;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param rStatDistributionProblemVO
|
||||
* @Description: 审核处理(更新问题表,生成工单表)
|
||||
* @Param: [rStatDistributionProblemVO]
|
||||
* @return: java.lang.Boolean
|
||||
* @Author: clam
|
||||
* @Date: 2023/2/17
|
||||
*/
|
||||
@Override
|
||||
public Boolean checkProblem(RStatDistributionProblemVO rStatDistributionProblemVO) {
|
||||
Boolean flag = true;
|
||||
RStatDistributionProblemPO rStatDistributionProblemPO = new RStatDistributionProblemPO();
|
||||
BeanUtils.copyProperties (rStatDistributionProblemVO, rStatDistributionProblemPO);
|
||||
flag = this.updateByMultiId (rStatDistributionProblemPO);
|
||||
if(!flag){
|
||||
return flag;
|
||||
}
|
||||
/*生成工单表*/
|
||||
if(Objects.equals (DicDataEnum.GENERATE.getCode (),rStatDistributionProblemPO.getCheckResult ())){
|
||||
/*处理台区信息*/
|
||||
PowerDistributionareaParam powerDistributionareaParam = new PowerDistributionareaParam();
|
||||
|
||||
List<PowerDistributionarea> data = pmsPowerDistributionareaClient.getPowerDistributionList (powerDistributionareaParam).getData ( );
|
||||
Map<String, PowerDistributionarea> collect = data.stream ( ).collect (Collectors.
|
||||
toMap (PowerDistributionarea::getId,
|
||||
powerDistributionarea->powerDistributionarea));
|
||||
RStatWorkOrderDetailPO po = new RStatWorkOrderDetailPO();
|
||||
BeanUtils.copyProperties (rStatDistributionProblemVO, po);
|
||||
po.setProblemNo (rStatDistributionProblemVO.getProblemNo ());
|
||||
po.setWorkOrderStatus (DicDataEnum.PEND_DISPATCH.getCode ());
|
||||
po.setWorkOrderType (DicDataEnum.RECT_ORDER.getCode ());
|
||||
po.setPrimaryBusinessType (DicDataEnum.TRANS_BUSINESS.getCode ());
|
||||
po.setTwoBusinessType (rStatDistributionProblemVO.getProblemType ());
|
||||
po.setPowerSupplyStation (collect.get (rStatDistributionProblemVO.getDistributionId ()).getPowerStationId ());
|
||||
po.setWorkOrderProcess (DicDataEnum.GENERATED.getCode ());
|
||||
int insert = rStatWorkOrderDetailMapper.insert (po);
|
||||
if(!(insert==1)){
|
||||
flag=false;
|
||||
}
|
||||
}
|
||||
|
||||
return flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param rStatProblemAndWorkOrderParam
|
||||
* @Description: queryWorkOrder
|
||||
* @Param: [rStatProblemAndWorkOrderParam]
|
||||
* @return: com.baomidou.mybatisplus.core.metadata.IPage<com.njcn.process.pojo.vo.RStatWorkOrderDetailVO>
|
||||
* @Author: clam
|
||||
* @Date: 2023/2/17
|
||||
*/
|
||||
@Override
|
||||
public IPage<RStatWorkOrderDetailVO> queryWorkOrder(RStatProblemAndWorkOrderParam rStatProblemAndWorkOrderParam) {
|
||||
|
||||
// IPage<RStatWorkOrderDetailPO> page = new Page<> (rStatProblemAndWorkOrderParam.getCurrentPage(), rStatProblemAndWorkOrderParam.getPageSize());
|
||||
Page<RStatWorkOrderDetailVO> returnpage = new Page<> (rStatProblemAndWorkOrderParam.getCurrentPage(), rStatProblemAndWorkOrderParam.getPageSize());
|
||||
// QueryWrapper<RStatWorkOrderDetailPO> queryWrapper = new QueryWrapper<> ();
|
||||
// queryWrapper.eq (StrUtil.isNotBlank(rStatProblemAndWorkOrderParam.getProblemType ()),"problem_type",rStatProblemAndWorkOrderParam.getProblemType ()).
|
||||
// eq (StrUtil.isNotBlank (rStatProblemAndWorkOrderParam.getOccurTime ()),"DATE_FORMAT( occur_time ,'%Y-%m-%d')",rStatProblemAndWorkOrderParam.getOccurTime ()).
|
||||
// eq (StrUtil.isNotBlank (rStatProblemAndWorkOrderParam.getWorkOrderStatus ()),"work_order_status",rStatProblemAndWorkOrderParam.getWorkOrderStatus ()).
|
||||
// eq (StrUtil.isNotBlank (rStatProblemAndWorkOrderParam.getProblemNo ()), "problem_no",rStatProblemAndWorkOrderParam.getProblemNo ());
|
||||
returnpage = rStatWorkOrderDetailMapper.getPageVo (returnpage ,rStatProblemAndWorkOrderParam);
|
||||
|
||||
|
||||
// List<RStatWorkOrderDetailVO> list = new ArrayList<> ();
|
||||
// records.forEach (temp->{
|
||||
// RStatWorkOrderDetailVO rStatWorkOrderDetailVO = new RStatWorkOrderDetailVO();
|
||||
// BeanUtils.copyProperties (temp, rStatWorkOrderDetailVO);
|
||||
// list.add (rStatWorkOrderDetailVO);
|
||||
// });
|
||||
// returnpage.setRecords (list);
|
||||
|
||||
return returnpage;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @param rStatWorkOrderDetailVO
|
||||
* @Description: 更新工单进度
|
||||
* @Param: [rStatWorkOrderDetailVO]
|
||||
* @return: java.lang.Boolean
|
||||
* @Author: clam
|
||||
* @Date: 2023/2/17
|
||||
*/
|
||||
@Override
|
||||
public Boolean updateWorkOrderStatus(RStatWorkOrderDetailVO rStatWorkOrderDetailVO) {
|
||||
Boolean flag= true;
|
||||
RStatWorkOrderDetailPO rStatWorkOrderDetailPO = new RStatWorkOrderDetailPO();
|
||||
BeanUtils.copyProperties (rStatWorkOrderDetailVO, rStatWorkOrderDetailPO);
|
||||
int i = rStatWorkOrderDetailMapper.updateByMultiId (rStatWorkOrderDetailPO);
|
||||
if(!(i==1)){
|
||||
flag=false;
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 系统根据规则生成:
|
||||
* 县公司首字母缩写+“-”+问题首字母缩写+问题上报日期+5位随机数
|
||||
* 例如:萧山公司2022年9月1日的谐波电压越限问题,编号为:XS-DY2022090200001
|
||||
* 修改需求:问题首字母缩写+问题上报日期+8位随机数
|
||||
* @Param: [OrgName, problemShortName, date]
|
||||
* @return: java.lang.String
|
||||
* @Author: clam
|
||||
* @Date: 2023/2/15
|
||||
*/
|
||||
public String createproblemNo(String problemType,String date){
|
||||
|
||||
/*生成8位随机数*/
|
||||
int i = (int) ((Math.random ( ) * 9 + 1) * 10000000);
|
||||
String problemShortName = "";
|
||||
if(Objects.equals (problemType,DicDataEnum.VOLTAGE_LIMIT.getCode ())){
|
||||
problemShortName = "DY";
|
||||
}else if(Objects.equals (problemType,DicDataEnum.CURRENT_LIMIT.getCode ())){
|
||||
problemShortName = "DL";
|
||||
}
|
||||
return problemShortName+date+i;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user