1.pms代码调整

This commit is contained in:
2024-02-29 18:03:27 +08:00
parent 8122c7569d
commit 789ebff40b
7 changed files with 108 additions and 24 deletions

View File

@@ -22,6 +22,7 @@ import com.njcn.system.api.DicDataFeignClient;
import com.njcn.system.api.DictTreeFeignClient; import com.njcn.system.api.DictTreeFeignClient;
import com.njcn.system.enums.DicDataEnum; import com.njcn.system.enums.DicDataEnum;
import com.njcn.system.enums.DicDataTypeEnum; import com.njcn.system.enums.DicDataTypeEnum;
import com.njcn.system.enums.DicTreeEnum;
import com.njcn.system.pojo.po.DictData; import com.njcn.system.pojo.po.DictData;
import com.njcn.system.pojo.po.SysDicTreePO; import com.njcn.system.pojo.po.SysDicTreePO;
import com.njcn.system.pojo.vo.DictTreeVO; import com.njcn.system.pojo.vo.DictTreeVO;
@@ -40,6 +41,7 @@ import java.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Objects;
import java.util.function.Function; import java.util.function.Function;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@@ -65,29 +67,55 @@ public class MonitorSendServiceImpl implements MonitorSendService {
@Override @Override
public String sendType(MonitorParam.Info param) { public String sendType(MonitorParam.Info param) {
SysDicTreePO dicTree = dictTreeFeignClient.queryById(param.getObjType()).getData(); SysDicTreePO dicTree = null;
if(ObjectUtil.isNull(dicTree)){ List<String> objTypeIds=new ArrayList<>();
throw new BusinessException("请检查监测对象类型是否存在"); LambdaQueryWrapper<Monitor> lambdaQueryWrapper = new LambdaQueryWrapper<>();
if(param.getObjType().equals("987654321")){
dicTree = new SysDicTreePO();
dicTree.setCode("987654321");
dicTree.setName("其他");
//特殊处理
List<SysDicTreePO> sysDicTreePOList = dictTreeFeignClient.queryAll().getData();
List<SysDicTreePO> typicDic =sysDicTreePOList.stream().filter(item-> Objects.equals(DicTreeEnum.Power_Station.getCode(),item.getCode())||Objects.equals(DicTreeEnum.Ele_Railways.getCode(),item.getCode())||
Objects.equals(DicTreeEnum.Wind_Farms.getCode(),item.getCode())).collect(Collectors.toList());
for(SysDicTreePO sysDicTreePO : typicDic){
List<DictTreeVO> temList = dictTreeFeignClient.query(sysDicTreePO.getId()).getData();
List<String> ids = temList.stream().map(DictTreeVO::getId).collect(Collectors.toList());
objTypeIds.addAll(ids);
objTypeIds.add(sysDicTreePO.getId());
}
lambdaQueryWrapper.notIn(Monitor::getObjType, objTypeIds);
}else {
dicTree = dictTreeFeignClient.queryById(param.getObjType()).getData();
if(ObjectUtil.isNull(dicTree)){
throw new BusinessException("请检查监测对象类型是否存在");
}
List<DictTreeVO> objType = dictTreeFeignClient.query(param.getObjType()).getData();
objTypeIds.add(param.getObjType());
if(CollUtil.isNotEmpty(objType)){
objTypeIds.addAll(objType.stream().map(DictTreeVO::getId).collect(Collectors.toList()));
}
lambdaQueryWrapper.in(Monitor::getObjType, objTypeIds);
} }
List<DictTreeVO> objType = dictTreeFeignClient.query(param.getObjType()).getData();
//运行状态 //运行状态
List<DictData> lineState = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.LINE_STATE.getCode()).getData(); List<DictData> lineState = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.LINE_STATE.getCode()).getData();
List<DictData> run = lineState.stream().filter(x -> DicDataEnum.RUN.getCode() List<DictData> run = lineState.stream().filter(x -> DicDataEnum.RUN.getCode()
.equals(x.getCode())).collect(Collectors.toList()); .equals(x.getCode())).collect(Collectors.toList());
List<String> objTypeIds=new ArrayList<>();
objTypeIds.add(param.getObjType());
if(CollUtil.isNotEmpty(objType)){
objTypeIds.addAll(objType.stream().map(DictTreeVO::getId).collect(Collectors.toList()));
}
//获取监测点信息 //获取监测点信息
List<Monitor> monitorList = monitorService.list(new LambdaQueryWrapper<Monitor>()
.in(StrUtil.isNotBlank(param.getMonitorTag()),Monitor::getMonitorTag, param.getMonitorTag()) lambdaQueryWrapper.in(StrUtil.isNotBlank(param.getMonitorTag()),Monitor::getMonitorTag, param.getMonitorTag())
.in(Monitor::getObjType, objTypeIds)
.eq(Monitor::getIsUpToGrid,1) .eq(Monitor::getIsUpToGrid,1)
.eq(Monitor::getMonitorState,run.get(0).getId()) .eq(Monitor::getMonitorState,run.get(0).getId())
.ne(param.getFiy(),Monitor::getIsUploadHead,1) .ne(param.getFiy(),Monitor::getIsUploadHead,1)
.in(CollUtil.isNotEmpty(param.getIds()),Monitor::getId, param.getIds()) .in(CollUtil.isNotEmpty(param.getIds()),Monitor::getId, param.getIds());
);
List<Monitor> monitorList = monitorService.list(lambdaQueryWrapper);
if(CollUtil.isEmpty(monitorList)){ if(CollUtil.isEmpty(monitorList)){
return "国网上送监测点为空,请检查是否存在上送国网监测点"; return "国网上送监测点为空,请检查是否存在上送国网监测点";
} }

View File

@@ -43,6 +43,7 @@ import com.njcn.poi.util.PoiUtil;
import com.njcn.system.api.DictTreeFeignClient; import com.njcn.system.api.DictTreeFeignClient;
import com.njcn.system.enums.DicDataEnum; import com.njcn.system.enums.DicDataEnum;
import com.njcn.system.enums.DicDataTypeEnum; import com.njcn.system.enums.DicDataTypeEnum;
import com.njcn.system.enums.DicTreeEnum;
import com.njcn.system.pojo.po.SysDicTreePO; import com.njcn.system.pojo.po.SysDicTreePO;
import com.njcn.system.pojo.vo.DictTreeVO; import com.njcn.system.pojo.vo.DictTreeVO;
import com.njcn.user.api.DeptFeignClient; import com.njcn.user.api.DeptFeignClient;
@@ -182,24 +183,45 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
@Override @Override
public Page<Monitor> getAllMonitorPageList(TerminalQueryParam baseParam) { public Page<Monitor> getAllMonitorPageList(TerminalQueryParam baseParam) {
LambdaQueryWrapper<Monitor> lambdaQueryWrapper = new LambdaQueryWrapper<>();
List<String> objTypeIds = new ArrayList<>(); List<String> objTypeIds = new ArrayList<>();
if(StrUtil.isNotBlank(baseParam.getObjType())){ if(StrUtil.isNotBlank(baseParam.getObjType())){
SysDicTreePO sysDicTreePO = dictTreeFeignClient.queryById(baseParam.getObjType()).getData(); if(baseParam.getObjType().equals("987654321")){
if(sysDicTreePO.getPid().equals("0")){ //特殊处理
List<DictTreeVO> temList = dictTreeFeignClient.query(sysDicTreePO.getId()).getData(); List<SysDicTreePO> sysDicTreePOList = dictTreeFeignClient.queryAll().getData();
List<String> ids = temList.stream().map(DictTreeVO::getId).collect(Collectors.toList()); List<SysDicTreePO> typicDic =sysDicTreePOList.stream().filter(item->Objects.equals(DicTreeEnum.Power_Station.getCode(),item.getCode())||Objects.equals(DicTreeEnum.Ele_Railways.getCode(),item.getCode())||
objTypeIds.addAll(ids); Objects.equals(DicTreeEnum.Wind_Farms.getCode(),item.getCode())).collect(Collectors.toList());
}
objTypeIds.add(sysDicTreePO.getId()); for(SysDicTreePO sysDicTreePO : typicDic){
List<DictTreeVO> temList = dictTreeFeignClient.query(sysDicTreePO.getId()).getData();
List<String> ids = temList.stream().map(DictTreeVO::getId).collect(Collectors.toList());
objTypeIds.addAll(ids);
objTypeIds.add(sysDicTreePO.getId());
}
lambdaQueryWrapper.notIn(Monitor::getObjType,objTypeIds);
}else {
SysDicTreePO sysDicTreePO = dictTreeFeignClient.queryById(baseParam.getObjType()).getData();
if(sysDicTreePO.getPid().equals("0")){
List<DictTreeVO> temList = dictTreeFeignClient.query(sysDicTreePO.getId()).getData();
List<String> ids = temList.stream().map(DictTreeVO::getId).collect(Collectors.toList());
objTypeIds.addAll(ids);
}
objTypeIds.add(sysDicTreePO.getId());
lambdaQueryWrapper.in(CollUtil.isNotEmpty(objTypeIds),Monitor::getObjType,objTypeIds);
}
} }
LambdaQueryWrapper<Monitor> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper lambdaQueryWrapper
.eq(StrUtil.isNotBlank(baseParam.getMonitorState()), Monitor::getMonitorState, baseParam.getMonitorState()) .eq(StrUtil.isNotBlank(baseParam.getMonitorState()), Monitor::getMonitorState, baseParam.getMonitorState())
.eq(StrUtil.isNotBlank(baseParam.getMonitorTag()), Monitor::getMonitorTag, baseParam.getMonitorTag()) .eq(StrUtil.isNotBlank(baseParam.getMonitorTag()), Monitor::getMonitorTag, baseParam.getMonitorTag())
.eq(Objects.nonNull(baseParam.getIsUpToGrid()), Monitor::getIsUpToGrid, baseParam.getIsUpToGrid()) .eq(Objects.nonNull(baseParam.getIsUpToGrid()), Monitor::getIsUpToGrid, baseParam.getIsUpToGrid())
.in(StrUtil.isNotBlank(baseParam.getObjType()),Monitor::getObjType,objTypeIds)
.and(StrUtil.isNotBlank(baseParam.getSearchValue()), i -> i.like(Monitor::getName, baseParam.getSearchValue()) .and(StrUtil.isNotBlank(baseParam.getSearchValue()), i -> i.like(Monitor::getName, baseParam.getSearchValue())
.or() .or()
.like(Monitor::getId, baseParam.getSearchValue()) .like(Monitor::getId, baseParam.getSearchValue())

View File

@@ -149,6 +149,10 @@ public interface DeptFeignClient {
@PostMapping("/getDeptByCodeList") @PostMapping("/getDeptByCodeList")
HttpResult<List<Dept>> getDeptByCodeList(@RequestBody List<String> list); HttpResult<List<Dept>> getDeptByCodeList(@RequestBody List<String> list);
@PostMapping("/getDeptInfoListByIds")
HttpResult<List<Dept>> getDeptInfoListByIds(@RequestBody List<String> deptIds);
/** /**
* 获取所有的部门集合 * 获取所有的部门集合
* @author xy * @author xy

View File

@@ -135,6 +135,12 @@ public class DeptFeignClientFallbackFactory implements FallbackFactory<DeptFeign
throw new BusinessException(finalExceptionEnum); throw new BusinessException(finalExceptionEnum);
} }
@Override
public HttpResult<List<Dept>> getDeptInfoListByIds(List<String> deptIds) {
log.error("{}异常,降级处理,异常为:{}","根据部门ids获取部门集合:",cause.toString());
throw new BusinessException(finalExceptionEnum);
}
@Override @Override
public HttpResult<List<Dept>> getAllDept() { public HttpResult<List<Dept>> getAllDept() {
log.error("{}异常,降级处理,异常为:{}","获取所有单位:",cause.toString()); log.error("{}异常,降级处理,异常为:{}","获取所有单位:",cause.toString());

View File

@@ -481,6 +481,22 @@ public class DeptController extends BaseController {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
} }
/**
* 根据部门ids获取部门集合
* @author cdf
* @date 2024/2/29
*/
@OperateInfo(info = LogEnum.SYSTEM_COMMON)
@PostMapping("/getDeptInfoListByIds")
@ApiOperation("根据部门ids获取部门集合")
@ApiImplicitParam(name = "list", value = "code集合", required = true)
public HttpResult<List<Dept>> getDeptInfoListByIds(@RequestBody List<String> deptIds) {
String methodDescribe = getMethodDescribe("getDeptInfoListByIds");
List<Dept> result = deptService.getDeptInfoListByIds(deptIds);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
}
/** /**
* 获取所有的部门集合 * 获取所有的部门集合
* @author xy * @author xy

View File

@@ -238,6 +238,9 @@ public interface IDeptService extends IService<Dept> {
*/ */
List<Dept> getDeptByCodeList(List<String> list); List<Dept> getDeptByCodeList(List<String> list);
List<Dept> getDeptInfoListByIds(List<String> deptIds);
/** /**
* @Description: 获取所有单位 * @Description: 获取所有单位
* @Author: xuyang * @Author: xuyang

View File

@@ -184,7 +184,7 @@ public class DeptServiceImpl extends ServiceImpl<DeptMapper, Dept> implements ID
List<Integer> deptType = WebUtil.filterDeptType(); List<Integer> deptType = WebUtil.filterDeptType();
String deptIndex = RequestUtil.getDeptIndex(); String deptIndex = RequestUtil.getDeptIndex();
List<DeptTreeVO> deptList = this.baseMapper.getDeptTree(deptIndex, deptType); List<DeptTreeVO> deptList = this.baseMapper.getDeptTree(deptIndex, deptType);
List<DeptTreeVO> finalDeptList = deptList.stream().filter(item->deptIds.contains(item.getCode())).collect(Collectors.toList()); List<DeptTreeVO> finalDeptList = deptList.stream().filter(item->deptIds.contains(item.getId())).collect(Collectors.toList());
return finalDeptList.stream() return finalDeptList.stream()
.filter(deptVO -> deptVO.getId().equals(deptIndex)) .filter(deptVO -> deptVO.getId().equals(deptIndex))
.peek(deptFirst -> deptFirst.setChildren(getChildren(deptFirst, finalDeptList))) .peek(deptFirst -> deptFirst.setChildren(getChildren(deptFirst, finalDeptList)))
@@ -492,6 +492,11 @@ public class DeptServiceImpl extends ServiceImpl<DeptMapper, Dept> implements ID
return this.lambdaQuery().in(Dept::getCode,list).eq(Dept::getState,DataStateEnum.ENABLE.getCode()).list(); return this.lambdaQuery().in(Dept::getCode,list).eq(Dept::getState,DataStateEnum.ENABLE.getCode()).list();
} }
@Override
public List<Dept> getDeptInfoListByIds(List<String> deptIds) {
return this.lambdaQuery().in(Dept::getId,deptIds).eq(Dept::getState,DataStateEnum.ENABLE.getCode()).list();
}
@Override @Override
public List<Dept> getAllDept() { public List<Dept> getAllDept() {
return this.lambdaQuery().eq(Dept::getState,DataStateEnum.ENABLE.getCode()).list(); return this.lambdaQuery().eq(Dept::getState,DataStateEnum.ENABLE.getCode()).list();