From 4316e7252192628da3a8160eee75cd5fd3573576 Mon Sep 17 00:00:00 2001 From: hzj <826100833@qq.com> Date: Tue, 22 Oct 2024 20:45:19 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=84=E6=80=81bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/njcn/csdevice/constant/DataParam.java | 8 ++ .../controller/ledger/CsLedgerController.java | 9 +++ .../csdevice/service/ICsLedgerService.java | 2 + .../service/impl/CsLedgerServiceImpl.java | 76 +++++++++++++++++++ .../impl/CsConfigurationServiceImpl.java | 3 + 5 files changed, 98 insertions(+) diff --git a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/constant/DataParam.java b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/constant/DataParam.java index ee9e162..d89d923 100644 --- a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/constant/DataParam.java +++ b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/constant/DataParam.java @@ -48,8 +48,16 @@ public interface DataParam { String portableDev = "便携式设备"; + String PORTABLE_SYSTEM = "便携式系统"; + + String WIRELESS_PROJECT = "无线项目"; + + String WIRELESS_PROJECT_ID = "WIRELESS_PROJECT_ID"; + String governmentDev = "治理设备"; + String GOVERNANCE_SYSTEM = "治理系统"; + String EvtParamPhase = "Evt_Param_Phase"; String EvtParamDepth = "Evt_Param_VVaDepth"; diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/ledger/CsLedgerController.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/ledger/CsLedgerController.java index 2f1fe2f..1b12905 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/ledger/CsLedgerController.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/ledger/CsLedgerController.java @@ -67,6 +67,15 @@ public class CsLedgerController extends BaseController { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); } + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/getztProjectTree") + @ApiOperation("三层设备树(项目层根节点为治理系统和便携式系统组态)") + public HttpResult> getztProjectTree(){ + String methodDescribe = getMethodDescribe("getProjectTree"); + List list = csLedgerService.getztProjectTree(); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); + } + @OperateInfo(info = LogEnum.BUSINESS_COMMON) @PostMapping("/add") @ApiOperation("新增台账信息") diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/ICsLedgerService.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/ICsLedgerService.java index 99a5d63..17cdecc 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/ICsLedgerService.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/ICsLedgerService.java @@ -74,4 +74,6 @@ public interface ICsLedgerService extends IService { List queryLine(LineParamDTO lineParamdto); DevDetailDTO queryDevDetail(String devId); + + List getztProjectTree(); } diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsLedgerServiceImpl.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsLedgerServiceImpl.java index d320389..68a1189 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsLedgerServiceImpl.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsLedgerServiceImpl.java @@ -327,6 +327,82 @@ public class CsLedgerServiceImpl extends ServiceImpl i return device; } + @Override + public List getztProjectTree() { + List engineeringList; + List allList = this.baseMapper.getAll(); + /*获取用户工程,设备信息过滤*/ + List roleengineer = roleEngineerDevService.getRoleengineer(); + List device = roleEngineerDevService.getDevice(); + engineeringList = allList.stream().filter(item->roleengineer.contains(item.getId())).collect(Collectors.toList()); + List projectList = allList.stream().filter(item -> item.getLevel().equals(LineBaseEnum.PROJECT_LEVEL.getCode())).sorted(Comparator.comparing(CsLedgerVO::getSort)).collect(Collectors.toList()); + + List deviceList = allList.stream().filter(item -> device.contains(item.getId()) && !Objects.equals(item.getPid(),"0")). + peek( + temp->{ + CsEquipmentDeliveryPO po = csEquipmentDeliveryMapper.selectById(temp.getId()); + temp.setComFlag(po.getRunStatus()); + temp.setNDId(po.getNdid()); + temp.setType("device"); + } + ). + sorted(Comparator.comparing(CsLedgerVO::getSort)) + .collect(Collectors.toList()); + checkDevSetData(deviceList); + projectList.forEach(pro -> pro.setChildren(getChildren(pro, deviceList))); + engineeringList.forEach(eng -> eng.setChildren(getChildren(eng, projectList))); + + //获取便携式项目数 + CsLedgerVO portable = new CsLedgerVO(); + portable.setLevel(0); + portable.setName(DataParam.PORTABLE_SYSTEM); + portable.setPid("0"); + portable.setId(IdUtil.simpleUUID()); + + CsLedgerVO project = new CsLedgerVO(); + project.setLevel(1); + project.setName(DataParam.WIRELESS_PROJECT); + project.setPid("0"); + project.setId(DataParam.WIRELESS_PROJECT_ID); + + List portables = allList.stream().filter(item->Objects.equals(item.getLevel(),2) && Objects.equals(item.getPid(),"0")).collect(Collectors.toList()); + checkDevSetData(portables); + for(CsLedgerVO c : portables){ + c.setPid(project.getId()); + CsEquipmentDeliveryPO po = csEquipmentDeliveryMapper.selectById(c.getId()); + c.setComFlag(po.getRunStatus()); + c.setNDId(po.getNdid()); + c.setType("device"); + } + project.setChildren(portables); + + List wxProjectList = new ArrayList<>(); + wxProjectList.add(project); + + portable.setChildren(wxProjectList); + + + + + + CsLedgerVO government = new CsLedgerVO(); + government.setLevel(0); + government.setName(DataParam.GOVERNANCE_SYSTEM); + government.setPid("0"); + government.setId(IdUtil.simpleUUID()); + government.setChildren(engineeringList); + List tree = new ArrayList<>(); + +// if (CollUtil.isNotEmpty(portables)) { + tree.add(portable); +// } +// if (CollUtil.isNotEmpty(deviceList)) { + tree.add(government); + // } + + return tree; + } + /** * 获取子节点 */ diff --git a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/CsConfigurationServiceImpl.java b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/CsConfigurationServiceImpl.java index 2273225..f23524e 100644 --- a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/CsConfigurationServiceImpl.java +++ b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/CsConfigurationServiceImpl.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.njcn.common.pojo.exception.BusinessException; import com.njcn.csdevice.api.RoleEngineerDevFeignClient; +import com.njcn.csdevice.constant.DataParam; import com.njcn.csharmonic.constant.HarmonicConstant; import com.njcn.csharmonic.mapper.CsConfigurationMapper; import com.njcn.csharmonic.param.CsConfigurationParm; @@ -116,6 +117,8 @@ public class CsConfigurationServiceImpl extends ServiceImpl csConfigurationPOPage = this.getBaseMapper().queryPage(temppage,csConfigurationQueryParam,data1); // QueryWrapper query = new QueryWrapper<>(); // query.like(StringUtils.isNotBlank(csConfigurationQueryParam.getSearchValue()),CsConfigurationPO.COL_NAME,csConfigurationQueryParam.getSearchValue()).