代码提交
This commit is contained in:
@@ -7,6 +7,7 @@ import com.njcn.csdevice.pojo.dto.DevDetailDTO;
|
||||
import com.njcn.csdevice.pojo.dto.LineParamDTO;
|
||||
import com.njcn.csdevice.pojo.param.CsLedgerParam;
|
||||
import com.njcn.csdevice.pojo.po.CsLedger;
|
||||
import com.njcn.csdevice.pojo.vo.CsLedgerVO;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
@@ -34,4 +35,8 @@ public interface CsLedgerFeignClient {
|
||||
|
||||
@PostMapping("/queryDevDetail")
|
||||
HttpResult<DevDetailDTO> queryDevDetail(@RequestParam("devId") String devId);
|
||||
|
||||
@PostMapping("/deviceTree")
|
||||
@ApiOperation("三层设备树(装置层)")
|
||||
HttpResult<List<CsLedgerVO>> getDeviceTree();
|
||||
}
|
||||
|
||||
@@ -8,6 +8,7 @@ import com.njcn.csdevice.pojo.dto.DevDetailDTO;
|
||||
import com.njcn.csdevice.pojo.dto.LineParamDTO;
|
||||
import com.njcn.csdevice.pojo.param.CsLedgerParam;
|
||||
import com.njcn.csdevice.pojo.po.CsLedger;
|
||||
import com.njcn.csdevice.pojo.vo.CsLedgerVO;
|
||||
import com.njcn.csdevice.utils.CsDeviceEnumUtil;
|
||||
import feign.hystrix.FallbackFactory;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -55,6 +56,12 @@ public class CsLedgerFeignClientFallbackFactory implements FallbackFactory<CsLed
|
||||
log.error("{}异常,降级处理,异常为:{}","查询设备详情",cause.toString());
|
||||
throw new BusinessException(finalExceptionEnum);
|
||||
}
|
||||
|
||||
@Override
|
||||
public HttpResult<List<CsLedgerVO>> getDeviceTree() {
|
||||
log.error("{}异常,降级处理,异常为:{}","查询设备树",cause.toString());
|
||||
throw new BusinessException(finalExceptionEnum);
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
package com.njcn.csharmonic.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.njcn.csharmonic.param.CsEventUserQueryPage;
|
||||
import com.njcn.csharmonic.param.CsEventUserQueryParam;
|
||||
import com.njcn.csharmonic.pojo.po.CsEventUserPO;
|
||||
import com.njcn.csharmonic.pojo.vo.EventDetailVO;
|
||||
@@ -20,4 +22,6 @@ public interface CsEventUserPOMapper extends BaseMapper<CsEventUserPO> {
|
||||
Integer queryEventCount(@Param("csEventUserQueryParam") CsEventUserQueryParam csEventUserQueryParam);
|
||||
|
||||
List<EventDetailVO> queryUserEventList(@Param("csEventUserQueryParam") CsEventUserQueryParam csEventUserQueryParam);
|
||||
|
||||
Page<EventDetailVO> queryEventpage(Page<EventDetailVO> returnpage, @Param("csEventUserQueryPage") CsEventUserQueryPage csEventUserQueryPage, @Param("devIds") List<String> devIds);
|
||||
}
|
||||
@@ -62,4 +62,41 @@
|
||||
order by create_time desc
|
||||
|
||||
</select>
|
||||
|
||||
<select id="queryEventpage" resultType="com.njcn.csharmonic.pojo.vo.EventDetailVO">
|
||||
select a.event_id id,a.user_id userId,a.status status,b.device_id deviceId,b.line_id lineId,
|
||||
b.start_time startTime,b.tag tag ,b.wave_path wavePath,b.instant_pics,b.rms_pics , b.type type
|
||||
from cs_event_user a inner join cs_event b on a.event_id=b.id where 1=1
|
||||
|
||||
<if test="csEventUserQueryPage!=null and csEventUserQueryPage.endTime != null and csEventUserQueryPage.endTime !=''">
|
||||
AND DATE(b.start_time) <= DATE(#{csEventUserQueryPage.endTime})
|
||||
</if>
|
||||
<if test="csEventUserQueryPage!=null and csEventUserQueryPage.startTime != null and csEventUserQueryPage.startTime !=''">
|
||||
AND DATE(b.start_time) >= DATE(#{csEventUserQueryPage.startTime})
|
||||
</if>
|
||||
<if test="csEventUserQueryPage!=null and csEventUserQueryPage.target != null and csEventUserQueryPage.target.size()>0">
|
||||
|
||||
and b.tag in
|
||||
<foreach collection="csEventUserQueryPage.target" index="index" item="item" open="(" separator="," close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
</if>
|
||||
and b.device_id in
|
||||
<foreach collection="devIds" index="index" item="item" open="(" separator="," close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
<if test="csEventUserQueryPage!=null and csEventUserQueryPage.type != null and csEventUserQueryPage.type !=''">
|
||||
AND b.type =#{ csEventUserQueryPage.type}
|
||||
</if>
|
||||
<if test="csEventUserQueryPage!=null and csEventUserQueryPage.level != null and csEventUserQueryPage.level !=''">
|
||||
AND b.level =#{ csEventUserQueryPage.level}
|
||||
</if>
|
||||
<if test="csEventUserQueryPage!=null and csEventUserQueryPage.status != null and csEventUserQueryPage.status !=''">
|
||||
AND a.status =#{ csEventUserQueryPage.status}
|
||||
</if>
|
||||
<if test="csEventUserQueryPage!=null and csEventUserQueryPage.userId != null and csEventUserQueryPage.userId !=''">
|
||||
and a.user_id=#{ csEventUserQueryPage.userId}
|
||||
</if>
|
||||
order by create_time desc
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -6,8 +6,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.njcn.common.pojo.constant.LogInfo;
|
||||
import com.njcn.csdevice.api.CsLedgerFeignClient;
|
||||
import com.njcn.csdevice.pojo.dto.DevDetailDTO;
|
||||
import com.njcn.csdevice.pojo.po.AppTopologyDiagramPO;
|
||||
import com.njcn.csdevice.pojo.vo.AppTopologyDiagramVO;
|
||||
|
||||
import com.njcn.csdevice.pojo.vo.CsLedgerVO;
|
||||
import com.njcn.csharmonic.param.CsEventUserQueryPage;
|
||||
import com.njcn.csharmonic.param.CsEventUserQueryParam;
|
||||
import com.njcn.csharmonic.pojo.vo.EventDetailVO;
|
||||
@@ -16,22 +16,17 @@ import com.njcn.influx.service.EvtDataService;
|
||||
import com.njcn.system.api.DicDataFeignClient;
|
||||
import com.njcn.system.api.EleEvtFeignClient;
|
||||
import com.njcn.system.api.EpdFeignClient;
|
||||
import com.njcn.system.enums.DicDataTypeEnum;
|
||||
import com.njcn.system.pojo.po.DictData;
|
||||
|
||||
import com.njcn.system.pojo.po.EleEpdPqd;
|
||||
import com.njcn.system.pojo.po.EleEvtParm;
|
||||
import com.njcn.user.enums.AppRoleEnum;
|
||||
import com.njcn.web.utils.RequestUtil;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.apache.poi.ss.formula.functions.T;
|
||||
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.data.domain.PageImpl;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.Optional;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
@@ -91,29 +86,154 @@ public class CsEventUserPOServiceImpl extends ServiceImpl<CsEventUserPOMapper, C
|
||||
// csEventUserQueryParam.setTarget(collect);
|
||||
// }
|
||||
List<EventDetailVO> list = this.getBaseMapper().queryUserEventList(csEventUserQueryParam);
|
||||
// 主要用于统计不关心详情,详情重分页查询获取
|
||||
// list.forEach(temp->{
|
||||
// DevDetailDTO devDetail = csLedgerFeignClient.queryDevDetail(temp.getDeviceId()).getData();
|
||||
// temp.setEquipmentName(devDetail.getEquipmentName());
|
||||
// temp.setProjectId(devDetail.getProjectId());
|
||||
// temp.setProjectName(devDetail.getProjectName());
|
||||
// temp.setEngineeringid(devDetail.getEngineeringid());
|
||||
// temp.setEngineeringName(devDetail.getEngineeringName());
|
||||
// EleEpdPqd data = epdFeignClient.findByName(temp.getTag()).getData();
|
||||
// temp.setShowName(data.getShowName());
|
||||
//
|
||||
// if(Objects.equals(csEventUserQueryParam.getType(),"0")){
|
||||
// List<EleEvtParm> data1 = eleEvtFeignClient.queryByPid(data.getId()).getData();
|
||||
// List<EventDataSetDTO> eventDataSetDTOS = new ArrayList<>();
|
||||
// for (EleEvtParm eleEvtParm : data1) {
|
||||
// EventDataSetDTO eventDataSetDTO = new EventDataSetDTO();
|
||||
// BeanUtils.copyProperties(eleEvtParm,eventDataSetDTO);
|
||||
// EventDataSetDTO evtData = evtDataService.getEventDataSet("evt_data", temp.getId(), eleEvtParm.getName());
|
||||
// if (evtData == null) {
|
||||
// eventDataSetDTO.setValue("-");
|
||||
// }else {
|
||||
// eventDataSetDTO.setValue(Optional.ofNullable(evtData.getValue()).orElse("-"));
|
||||
//
|
||||
// }
|
||||
//
|
||||
// eventDataSetDTOS.add(eventDataSetDTO);
|
||||
// }
|
||||
// temp.setDataSet(eventDataSetDTOS);
|
||||
//
|
||||
// List<EventDataSetDTO> evtParamVVaDepth = eventDataSetDTOS.stream().
|
||||
// filter(dataSetDTO -> Objects.equals(dataSetDTO.getName(), "Evt_Param_VVaDepth")).
|
||||
// collect(Collectors.toList());
|
||||
// if(CollectionUtil.isEmpty(evtParamVVaDepth)){
|
||||
// temp.setEvtParamVVaDepth("-");
|
||||
//
|
||||
// }else {
|
||||
// temp.setEvtParamVVaDepth(evtParamVVaDepth.get(0).getValue()+(Objects.isNull(evtParamVVaDepth.get(0).getUnit())?"":evtParamVVaDepth.get(0).getUnit()));
|
||||
//
|
||||
// }
|
||||
//
|
||||
// List<EventDataSetDTO> evtParamPosition = eventDataSetDTOS.stream().
|
||||
// filter(dataSetDTO -> Objects.equals(dataSetDTO.getName(), "Evt_Param_Position")).
|
||||
// collect(Collectors.toList());
|
||||
// if(CollectionUtil.isEmpty(evtParamPosition)){
|
||||
// temp.setEvtParamPosition("-");
|
||||
//
|
||||
// }else {
|
||||
// temp.setEvtParamPosition(evtParamPosition.get(0).getValue()+(Objects.isNull(evtParamPosition.get(0).getUnit())?"":evtParamPosition.get(0).getUnit()));
|
||||
//
|
||||
// }
|
||||
//
|
||||
// List<EventDataSetDTO> evtParamTm = eventDataSetDTOS.stream().
|
||||
// filter(dataSetDTO -> Objects.equals(dataSetDTO.getName(), "Evt_Param_Tm")).
|
||||
// collect(Collectors.toList());
|
||||
// if(CollectionUtil.isEmpty(evtParamTm)){
|
||||
// temp.setEvtParamTm("-");
|
||||
//
|
||||
// }else {
|
||||
// temp.setEvtParamTm(evtParamTm.get(0).getValue()+(Objects.isNull(evtParamTm.get(0).getUnit())?"":evtParamTm.get(0).getUnit()));
|
||||
//
|
||||
// }
|
||||
//
|
||||
// List<EventDataSetDTO> evtParamPhase = eventDataSetDTOS.stream().
|
||||
// filter(dataSetDTO -> Objects.equals(dataSetDTO.getName(), "Evt_Param_Phase")).
|
||||
// collect(Collectors.toList());
|
||||
// if(CollectionUtil.isEmpty(evtParamPhase)){
|
||||
// temp.setEvtParamPhase("-");
|
||||
//
|
||||
// }else {
|
||||
// temp.setEvtParamPhase(evtParamPhase.get(0).getValue()+(Objects.isNull(evtParamPhase.get(0).getUnit())?"":evtParamPhase.get(0).getUnit()));
|
||||
//
|
||||
// }
|
||||
//
|
||||
// }
|
||||
//
|
||||
// });
|
||||
|
||||
list.forEach(temp->{
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateStatus(CsEventUserQueryParam csEventUserQueryParam) {
|
||||
if(CollectionUtil.isEmpty(csEventUserQueryParam.getEventIds())){
|
||||
return;
|
||||
}
|
||||
csEventUserQueryParam.setUserId(RequestUtil.getUserIndex());
|
||||
this.lambdaUpdate().in(CsEventUserPO::getEventId,csEventUserQueryParam.getEventIds()).
|
||||
eq(CsEventUserPO::getUserId,csEventUserQueryParam.getUserId()).
|
||||
set(CsEventUserPO::getStatus,1).update();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Page<EventDetailVO> queryEventpage(CsEventUserQueryPage csEventUserQueryPage) {
|
||||
Page<EventDetailVO> returnpage = new Page<> (csEventUserQueryPage.getPageNum ( ), csEventUserQueryPage.getPageSize ( ));
|
||||
|
||||
|
||||
csEventUserQueryPage.setUserId(RequestUtil.getUserIndex());
|
||||
String role = RequestUtil.getUserRole();
|
||||
if(Objects.equals(role, LogInfo.UNKNOWN_ROLE)){
|
||||
return returnpage;
|
||||
}
|
||||
List<String> strings = JSONArray.parseArray(role, String.class);
|
||||
if(CollectionUtils.isEmpty(strings)){
|
||||
return returnpage;
|
||||
}
|
||||
role=strings.get(0);
|
||||
if( Objects.equals(role, AppRoleEnum.APP_VIP_USER.getCode())){
|
||||
csEventUserQueryPage.setLevel("3");
|
||||
}
|
||||
if( Objects.equals(role, AppRoleEnum.OPERATION_MANAGER.getCode())||Objects.equals(role, AppRoleEnum.ROOT.getCode())){
|
||||
csEventUserQueryPage.setUserId(null);
|
||||
}
|
||||
List<String> deviceId = new ArrayList<>();
|
||||
List<CsLedgerVO> data = csLedgerFeignClient.getDeviceTree().getData();
|
||||
|
||||
List<String> collect = data.stream().filter(temp->StringUtils.isEmpty(csEventUserQueryPage.getEngineeringid())||
|
||||
Objects.equals(temp.getId(), csEventUserQueryPage.getEngineeringid())).map(CsLedgerVO::getChildren).
|
||||
flatMap(Collection::stream).filter(
|
||||
temp->StringUtils.isEmpty(csEventUserQueryPage.getProjectId())||
|
||||
Objects.equals(temp.getId(), csEventUserQueryPage.getProjectId())
|
||||
).
|
||||
map(CsLedgerVO::getChildren).
|
||||
flatMap(Collection::stream).filter(
|
||||
temp->StringUtils.isEmpty(csEventUserQueryPage.getDeviceId())||
|
||||
Objects.equals(temp.getId(), csEventUserQueryPage.getDeviceId())
|
||||
).
|
||||
map(CsLedgerVO::getId).
|
||||
collect(Collectors.toList());
|
||||
if (CollectionUtils.isEmpty(collect)){
|
||||
return returnpage;
|
||||
}
|
||||
|
||||
|
||||
returnpage = this.getBaseMapper().queryEventpage(returnpage,csEventUserQueryPage,collect);
|
||||
|
||||
returnpage.getRecords().forEach(temp->{
|
||||
DevDetailDTO devDetail = csLedgerFeignClient.queryDevDetail(temp.getDeviceId()).getData();
|
||||
temp.setEquipmentName(devDetail.getEquipmentName());
|
||||
temp.setProjectId(devDetail.getProjectId());
|
||||
temp.setProjectName(devDetail.getProjectName());
|
||||
temp.setEngineeringid(devDetail.getEngineeringid());
|
||||
temp.setEngineeringName(devDetail.getEngineeringName());
|
||||
EleEpdPqd data = epdFeignClient.findByName(temp.getTag()).getData();
|
||||
temp.setShowName(data.getShowName());
|
||||
EleEpdPqd ele = epdFeignClient.findByName(temp.getTag()).getData();
|
||||
temp.setShowName(ele.getShowName());
|
||||
if(Objects.equals(csEventUserQueryPage.getType(),"0")){
|
||||
|
||||
});
|
||||
if(Objects.equals(csEventUserQueryParam.getType(),"0")){
|
||||
list.forEach(temp->{
|
||||
DevDetailDTO devDetail = csLedgerFeignClient.queryDevDetail(temp.getDeviceId()).getData();
|
||||
temp.setEquipmentName(devDetail.getEquipmentName());
|
||||
temp.setProjectId(devDetail.getProjectId());
|
||||
temp.setProjectName(devDetail.getProjectName());
|
||||
temp.setEngineeringid(devDetail.getEngineeringid());
|
||||
temp.setEngineeringName(devDetail.getEngineeringName());
|
||||
EleEpdPqd data = epdFeignClient.findByName(temp.getTag()).getData();
|
||||
temp.setShowName(data.getShowName());
|
||||
List<EleEvtParm> data1 = eleEvtFeignClient.queryByPid(data.getId()).getData();
|
||||
List<EleEvtParm> data1 = eleEvtFeignClient.queryByPid(ele.getId()).getData();
|
||||
List<EventDataSetDTO> eventDataSetDTOS = new ArrayList<>();
|
||||
for (EleEvtParm eleEvtParm : data1) {
|
||||
EventDataSetDTO eventDataSetDTO = new EventDataSetDTO();
|
||||
@@ -173,56 +293,14 @@ public class CsEventUserPOServiceImpl extends ServiceImpl<CsEventUserPOMapper, C
|
||||
temp.setEvtParamPhase(evtParamPhase.get(0).getValue()+(Objects.isNull(evtParamPhase.get(0).getUnit())?"":evtParamPhase.get(0).getUnit()));
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateStatus(CsEventUserQueryParam csEventUserQueryParam) {
|
||||
if(CollectionUtil.isEmpty(csEventUserQueryParam.getEventIds())){
|
||||
return;
|
||||
}
|
||||
csEventUserQueryParam.setUserId(RequestUtil.getUserIndex());
|
||||
this.lambdaUpdate().in(CsEventUserPO::getEventId,csEventUserQueryParam.getEventIds()).
|
||||
eq(CsEventUserPO::getUserId,csEventUserQueryParam.getUserId()).
|
||||
set(CsEventUserPO::getStatus,1).update();
|
||||
}
|
||||
});
|
||||
|
||||
@Override
|
||||
public Page<EventDetailVO> queryEventpage(CsEventUserQueryPage csEventUserQueryPage) {
|
||||
Page<EventDetailVO> returnpage = new Page<> (csEventUserQueryPage.getPageNum ( ), csEventUserQueryPage.getPageSize ( ));
|
||||
|
||||
List<EventDetailVO> list = this.queryUserEventList(csEventUserQueryPage);
|
||||
if(!StringUtils.isEmpty(csEventUserQueryPage.getEngineeringid())){
|
||||
list =list.stream().filter(temp->Objects.equals(temp.getEngineeringid(),csEventUserQueryPage.getEngineeringid())).collect(Collectors.toList());
|
||||
}
|
||||
if(!StringUtils.isEmpty(csEventUserQueryPage.getProjectId())){
|
||||
list =list.stream().filter(temp->Objects.equals(temp.getProjectId(),csEventUserQueryPage.getProjectId())).collect(Collectors.toList());
|
||||
}
|
||||
if(!StringUtils.isEmpty(csEventUserQueryPage.getDeviceId())){
|
||||
list =list.stream().filter(temp->Objects.equals(temp.getDeviceId(),csEventUserQueryPage.getDeviceId())).collect(Collectors.toList());
|
||||
}
|
||||
List list1 = this.startPage(list, csEventUserQueryPage.getPageNum(), csEventUserQueryPage.getPageSize());
|
||||
returnpage.setRecords (list1);
|
||||
returnpage.setTotal(list.size());
|
||||
|
||||
return returnpage;
|
||||
}
|
||||
|
||||
|
||||
public List startPage(List list, Integer pageNum,
|
||||
Integer pageSize) {
|
||||
int total = list.size();
|
||||
int size = pageNum * pageSize > total ? total : pageNum * pageSize;
|
||||
|
||||
int startNum = (pageNum - 1) * pageSize;
|
||||
if (startNum > size){
|
||||
startNum = 1;
|
||||
}
|
||||
List dataList = list.subList(startNum, size);
|
||||
return dataList;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user