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.enums.DicDataEnum;
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.SysDicTreePO;
import com.njcn.system.pojo.vo.DictTreeVO;
@@ -40,6 +41,7 @@ import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.function.Function;
import java.util.stream.Collectors;
@@ -65,29 +67,55 @@ public class MonitorSendServiceImpl implements MonitorSendService {
@Override
public String sendType(MonitorParam.Info param) {
SysDicTreePO dicTree = dictTreeFeignClient.queryById(param.getObjType()).getData();
if(ObjectUtil.isNull(dicTree)){
throw new BusinessException("请检查监测对象类型是否存在");
SysDicTreePO dicTree = null;
List<String> objTypeIds=new ArrayList<>();
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> run = lineState.stream().filter(x -> DicDataEnum.RUN.getCode()
.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())
.in(Monitor::getObjType, objTypeIds)
lambdaQueryWrapper.in(StrUtil.isNotBlank(param.getMonitorTag()),Monitor::getMonitorTag, param.getMonitorTag())
.eq(Monitor::getIsUpToGrid,1)
.eq(Monitor::getMonitorState,run.get(0).getId())
.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)){
return "国网上送监测点为空,请检查是否存在上送国网监测点";
}

View File

@@ -43,6 +43,7 @@ import com.njcn.poi.util.PoiUtil;
import com.njcn.system.api.DictTreeFeignClient;
import com.njcn.system.enums.DicDataEnum;
import com.njcn.system.enums.DicDataTypeEnum;
import com.njcn.system.enums.DicTreeEnum;
import com.njcn.system.pojo.po.SysDicTreePO;
import com.njcn.system.pojo.vo.DictTreeVO;
import com.njcn.user.api.DeptFeignClient;
@@ -182,24 +183,45 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
@Override
public Page<Monitor> getAllMonitorPageList(TerminalQueryParam baseParam) {
LambdaQueryWrapper<Monitor> lambdaQueryWrapper = new LambdaQueryWrapper<>();
List<String> objTypeIds = new ArrayList<>();
if(StrUtil.isNotBlank(baseParam.getObjType())){
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());
if(baseParam.getObjType().equals("987654321")){
//特殊处理
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 {
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
.eq(StrUtil.isNotBlank(baseParam.getMonitorState()), Monitor::getMonitorState, baseParam.getMonitorState())
.eq(StrUtil.isNotBlank(baseParam.getMonitorTag()), Monitor::getMonitorTag, baseParam.getMonitorTag())
.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())
.or()
.like(Monitor::getId, baseParam.getSearchValue())

View File

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

View File

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

View File

@@ -481,6 +481,22 @@ public class DeptController extends BaseController {
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

View File

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

View File

@@ -184,7 +184,7 @@ public class DeptServiceImpl extends ServiceImpl<DeptMapper, Dept> implements ID
List<Integer> deptType = WebUtil.filterDeptType();
String deptIndex = RequestUtil.getDeptIndex();
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()
.filter(deptVO -> deptVO.getId().equals(deptIndex))
.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();
}
@Override
public List<Dept> getDeptInfoListByIds(List<String> deptIds) {
return this.lambdaQuery().in(Dept::getId,deptIds).eq(Dept::getState,DataStateEnum.ENABLE.getCode()).list();
}
@Override
public List<Dept> getAllDept() {
return this.lambdaQuery().eq(Dept::getState,DataStateEnum.ENABLE.getCode()).list();