diff --git a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/enums/AlgorithmResponseEnum.java b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/enums/AlgorithmResponseEnum.java index 0e1050f..f1eb5e6 100644 --- a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/enums/AlgorithmResponseEnum.java +++ b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/enums/AlgorithmResponseEnum.java @@ -31,6 +31,8 @@ public enum AlgorithmResponseEnum { DEVICE_LOSE("A00512","设备id缺失"), CHIRLDREN_EXIST("A00513","工程下存在项目,不能删除"), CHIRLDREN2_EXIST("A00514","项目下存在设备,不能删除"), + CHIRLDREN3_EXIST("A00516","存在设备使用拓扑图,不能删除"), + DATA_ARRAY_MISSING("A00515","详细数据为空"), UNKNOW_ROLE("A00515","角色无权限操作") diff --git a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/param/AppProjectAuditParm.java b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/param/AppProjectAuditParm.java index b7c775c..468e06a 100644 --- a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/param/AppProjectAuditParm.java +++ b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/param/AppProjectAuditParm.java @@ -42,4 +42,6 @@ public class AppProjectAuditParm { @ApiModelProperty(value="拓扑图模版id集合") private List topoIds; + + private List newTopoIds; } diff --git a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/vo/AppProjectVO.java b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/vo/AppProjectVO.java index bb0d36b..4d0e325 100644 --- a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/vo/AppProjectVO.java +++ b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/vo/AppProjectVO.java @@ -83,4 +83,6 @@ public class AppProjectVO { private Date updateTime; private String description; + + private Integer devNum; } \ No newline at end of file diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/project/AppTopologyController.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/project/AppTopologyController.java index 883f255..da28259 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/project/AppTopologyController.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/project/AppTopologyController.java @@ -19,10 +19,7 @@ import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; -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 org.springframework.web.bind.annotation.*; import java.util.List; @@ -65,6 +62,16 @@ public class AppTopologyController extends BaseController { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, flag, methodDescribe); } + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/checkCanDelete") + @ApiOperation("检查是否能删除拓扑图") + public HttpResult AuditAppTopologyDiagram(@RequestParam("id") String id){ + String methodDescribe = getMethodDescribe("checkCanDelete"); + + Boolean flag = appTopologyDiagramService.checkCanDelete(id); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, flag, methodDescribe); + } + @OperateInfo(info = LogEnum.BUSINESS_COMMON) @PostMapping("/queryAppTopologyDiagram") @ApiOperation("查询拓扑图") diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/project/EngineeringController.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/project/EngineeringController.java index d9f76bd..27e3de3 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/project/EngineeringController.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/project/EngineeringController.java @@ -10,6 +10,7 @@ import com.njcn.csdevice.pojo.param.CsEngineeringAddParm; import com.njcn.csdevice.pojo.param.CsEngineeringAuditParm; import com.njcn.csdevice.pojo.param.CsEngineeringQueryPageParm; import com.njcn.csdevice.pojo.param.CsEngineeringQueryParm; +import com.njcn.csdevice.pojo.po.CsEngineeringPO; import com.njcn.csdevice.pojo.vo.CsEngineeringVO; import com.njcn.csdevice.service.CsEngineeringService; import com.njcn.web.controller.BaseController; @@ -49,10 +50,10 @@ public class EngineeringController extends BaseController { @PostMapping("/addEngineering") @ApiOperation("新增工程") @ApiImplicitParam(name = "csEngineeringAddParm", value = "新增工程参数", required = true) - public HttpResult addEngineering(@Validated @RequestBody CsEngineeringAddParm csEngineeringAddParm){ + public HttpResult addEngineering(@Validated @RequestBody CsEngineeringAddParm csEngineeringAddParm){ String methodDescribe = getMethodDescribe("addEngineering"); - Boolean flag = csEngineeringService.addEngineering(csEngineeringAddParm); + CsEngineeringPO flag = csEngineeringService.addEngineering(csEngineeringAddParm); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, flag, methodDescribe); } @OperateInfo(info = LogEnum.BUSINESS_COMMON) diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/AppTopologyDiagramService.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/AppTopologyDiagramService.java index 39525a3..ca3bebe 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/AppTopologyDiagramService.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/AppTopologyDiagramService.java @@ -54,4 +54,6 @@ public interface AppTopologyDiagramService extends IService queryTopologyDiagramPage(AppTopologyDiagramQueryPageParm appTopologyDiagramQueryPageParm); + + Boolean checkCanDelete(String id); } diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/CsEngineeringService.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/CsEngineeringService.java index d7e6a54..3c45275 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/CsEngineeringService.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/CsEngineeringService.java @@ -28,8 +28,8 @@ public interface CsEngineeringService extends IService{ * @return: java.lang.Boolean * @Author: clam * @Date: 2023/4/10 - */ - Boolean addEngineering(CsEngineeringAddParm csEngineeringAddParm); + */ + CsEngineeringPO addEngineering(CsEngineeringAddParm csEngineeringAddParm); Boolean auditEngineering(CsEngineeringAuditParm csEngineeringAuditParm); /** diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/AppLineTopologyDiagramServiceImpl.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/AppLineTopologyDiagramServiceImpl.java index d652089..e910d8d 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/AppLineTopologyDiagramServiceImpl.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/AppLineTopologyDiagramServiceImpl.java @@ -55,7 +55,8 @@ public class AppLineTopologyDiagramServiceImpl extends ServiceImpl appTopologyDiagramVOS = appTopologyDiagramService.queryAppTopologyDiagram(appTopologyDiagramQueryParm); if(CollectionUtil.isEmpty(appTopologyDiagramVOS)){ - throw new BusinessException("设备下未找到拓扑图信息"); + return new AppTopologyDiagramVO(); +// throw new BusinessException("设备下未找到拓扑图信息"); } AppTopologyDiagramVO appTopologyDiagramVO = appTopologyDiagramVOS.get(0); appTopologyDiagramVO.setAppsLineTopologyDiagramPO(this.queryByLineIds(collect)); diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/AppProjectServiceImpl.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/AppProjectServiceImpl.java index ff44d6d..6c73676 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/AppProjectServiceImpl.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/AppProjectServiceImpl.java @@ -182,14 +182,25 @@ class AppProjectServiceImpl extends ServiceImpl // if (result) { // throw new BusinessException (AlgorithmResponseEnum.PROJECT_COMMON_ERROR); // } - //删除拓扑图,重新上传覆盖 - appTopologyDiagramService.lambdaUpdate().eq(AppTopologyDiagramPO::getProjectId,appProjectAuditParm.getId()).set(AppTopologyDiagramPO::getStatus,"0").update(); + //删除拓扑图 + if(CollectionUtils.isEmpty(appProjectAuditParm.getNewTopoIds())){ + appTopologyDiagramService.lambdaUpdate().eq(AppTopologyDiagramPO::getProjectId,appProjectAuditParm.getId()).set(AppTopologyDiagramPO::getStatus,"0").update(); + + }else { + appTopologyDiagramService.lambdaUpdate().eq(AppTopologyDiagramPO::getProjectId,appProjectAuditParm.getId()).notIn(AppTopologyDiagramPO::getId,appProjectAuditParm.getNewTopoIds()).set(AppTopologyDiagramPO::getStatus,"0").update(); + + } //如何使用拓扑图模板则将拓扑图模板复制绑定 if(!CollectionUtils.isEmpty(appProjectAuditParm.getTopoIds()) ){ List appTopologyDiagramPOS = new ArrayList<>(); List csLineTopologyTemplates = new ArrayList<>(); appProjectAuditParm.getTopoIds().forEach(temp->{ + //活驴掉已经插入的模版 + List list = appTopologyDiagramService.lambdaQuery().eq(AppTopologyDiagramPO::getProjectId, appProjectAuditParm.getId()).eq(AppTopologyDiagramPO::getTopoId, temp).eq(AppTopologyDiagramPO::getStatus, "1").list(); + if(!CollectionUtils.isEmpty(list)){ + return; + } AppTopologyDiagramPO appTopologyDiagramPO = new AppTopologyDiagramPO(); CsTopologyDiagramTemplate csTopologyDiagramTemplate = csTopologyDiagramTemplateMapper.selectById(temp); appTopologyDiagramPO.setFilePath (csTopologyDiagramTemplate.getFilePath()); @@ -248,10 +259,16 @@ class AppProjectServiceImpl extends ServiceImpl if(StringUtils.isBlank(appProjectQueryParm.getEngineeringId())){ return returnpage; } + QueryWrapper queryWrapper = new QueryWrapper<>(); returnpage = appProjectMapper.getPageVo (returnpage, appProjectQueryParm); List collect = returnpage.getRecords().stream().map(temp -> { AppTopologyDiagramQueryParm appTopologyDiagramQueryParm = new AppTopologyDiagramQueryParm(); + queryWrapper.clear(); + queryWrapper.lambda().eq(CsLedger::getPid,temp.getId()).eq(CsLedger::getState,1); + Integer integer = csLedgerMapper.selectCount(queryWrapper); + temp.setDevNum(integer); appTopologyDiagramQueryParm.setProjectId(temp.getId()); + List appTopologyDiagramVOList = appTopologyDiagramService.queryAppTopologyDiagram(appTopologyDiagramQueryParm); temp.setTopologyDiagramPaths(appTopologyDiagramVOList); diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/AppTopologyDiagramServiceImpl.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/AppTopologyDiagramServiceImpl.java index e6bfe81..710eef8 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/AppTopologyDiagramServiceImpl.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/AppTopologyDiagramServiceImpl.java @@ -1,5 +1,6 @@ package com.njcn.csdevice.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.Query; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -9,18 +10,12 @@ import com.google.common.base.Objects; import com.njcn.common.pojo.exception.BusinessException; import com.njcn.csdevice.constant.DataParam; import com.njcn.csdevice.enums.AlgorithmResponseEnum; -import com.njcn.csdevice.mapper.AppProjectMapper; -import com.njcn.csdevice.mapper.AppTopologyDiagramMapper; -import com.njcn.csdevice.mapper.CsLineTopologyTemplateMapper; -import com.njcn.csdevice.mapper.CsTopologyDiagramTemplateMapper; +import com.njcn.csdevice.mapper.*; import com.njcn.csdevice.pojo.param.AppTopologyDiagramAddParm; import com.njcn.csdevice.pojo.param.AppTopologyDiagramAuditParm; import com.njcn.csdevice.pojo.param.AppTopologyDiagramQueryPageParm; import com.njcn.csdevice.pojo.param.AppTopologyDiagramQueryParm; -import com.njcn.csdevice.pojo.po.AppProjectPO; -import com.njcn.csdevice.pojo.po.AppTopologyDiagramPO; -import com.njcn.csdevice.pojo.po.CsLineTopologyTemplate; -import com.njcn.csdevice.pojo.po.CsTopologyDiagramTemplate; +import com.njcn.csdevice.pojo.po.*; import com.njcn.csdevice.pojo.vo.AppTopologyDiagramVO; import com.njcn.csdevice.pojo.vo.CsLineTopologyTemplateVO; import com.njcn.csdevice.service.AppLineTopologyDiagramService; @@ -33,6 +28,7 @@ import org.apache.commons.lang.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; import org.springframework.web.multipart.MultipartFile; import java.util.List; @@ -56,7 +52,7 @@ public class AppTopologyDiagramServiceImpl extends ServiceImpl queryWrap = new QueryWrapper<>(); + queryWrap.lambda().eq(AppLineTopologyDiagramPO::getId, appTopologyDiagramAuditParm.getId()).eq(AppLineTopologyDiagramPO::getStatus, "1"); + List list = appLineTopologyDiagramMapper.selectList(queryWrap); + if(!CollectionUtils.isEmpty(list)){ + throw new BusinessException(AlgorithmResponseEnum.CHIRLDREN3_EXIST); + } + } AppTopologyDiagramPO appTopologyDiagramPO = new AppTopologyDiagramPO(); if(!Objects.equal (appTopologyDiagramAuditParm.getFile (),null )){ MultipartFile file = appTopologyDiagramAuditParm.getFile ( ); @@ -97,7 +103,7 @@ public class AppTopologyDiagramServiceImpl extends ServiceImpl updateWrapper = new UpdateWrapper<> (); @@ -160,4 +166,16 @@ public class AppTopologyDiagramServiceImpl extends ServiceImpl queryWrap = new QueryWrapper<>(); + queryWrap.lambda().eq(AppLineTopologyDiagramPO::getId, id).eq(AppLineTopologyDiagramPO::getStatus, "1"); + List list = appLineTopologyDiagramMapper.selectList(queryWrap); + if(!CollectionUtils.isEmpty(list)){ + return false; + } + return true; + } } diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsEngineeringServiceImpl.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsEngineeringServiceImpl.java index 79d2c15..1fc77c9 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsEngineeringServiceImpl.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsEngineeringServiceImpl.java @@ -67,7 +67,7 @@ public class CsEngineeringServiceImpl extends ServiceImpl csLedgers = csLedgerMapper.selectList(csLedgerQueryWrapper); Listcollect1 = csLedgers.stream().map(CsLedger::getId).collect(Collectors.toList()); - + if(CollectionUtils.isEmpty(collect1)){ + return collect; + } csLedgerQueryWrapper.clear(); csLedgerQueryWrapper.lambda().eq(CsLedger::getLevel, 2).eq(CsLedger::getState, 1).in(CsLedger::getPid, collect1); List csLedgers1 = csLedgerMapper.selectList(csLedgerQueryWrapper); diff --git a/cs-system/cs-system-api/src/main/java/com/njcn/cssystem/pojo/param/CsFeedbackAddParm.java b/cs-system/cs-system-api/src/main/java/com/njcn/cssystem/pojo/param/CsFeedbackAddParm.java index ec89115..c750e6a 100644 --- a/cs-system/cs-system-api/src/main/java/com/njcn/cssystem/pojo/param/CsFeedbackAddParm.java +++ b/cs-system/cs-system-api/src/main/java/com/njcn/cssystem/pojo/param/CsFeedbackAddParm.java @@ -38,7 +38,7 @@ public class CsFeedbackAddParm { * 用户id */ @ApiModelProperty(value = "用户id") - @NotBlank(message="用户id不能为空!") +// @NotBlank(message="用户id不能为空!") private String userId; /** diff --git a/cs-system/cs-system-api/src/main/java/com/njcn/cssystem/pojo/param/CsFeedbackChatAddParm.java b/cs-system/cs-system-api/src/main/java/com/njcn/cssystem/pojo/param/CsFeedbackChatAddParm.java index d230aef..7deaa12 100644 --- a/cs-system/cs-system-api/src/main/java/com/njcn/cssystem/pojo/param/CsFeedbackChatAddParm.java +++ b/cs-system/cs-system-api/src/main/java/com/njcn/cssystem/pojo/param/CsFeedbackChatAddParm.java @@ -21,7 +21,7 @@ public class CsFeedbackChatAddParm { private String id; @ApiModelProperty(value = "用户id") - @NotNull(message="用户id不能为空!") +// @NotNull(message="用户id不能为空!") private String userId; /** * 消息内容 diff --git a/cs-system/cs-system-api/src/main/java/com/njcn/cssystem/pojo/param/CsFeedbackChatCheckParm.java b/cs-system/cs-system-api/src/main/java/com/njcn/cssystem/pojo/param/CsFeedbackChatCheckParm.java index 31ba47c..5c6d5d7 100644 --- a/cs-system/cs-system-api/src/main/java/com/njcn/cssystem/pojo/param/CsFeedbackChatCheckParm.java +++ b/cs-system/cs-system-api/src/main/java/com/njcn/cssystem/pojo/param/CsFeedbackChatCheckParm.java @@ -24,7 +24,7 @@ public class CsFeedbackChatCheckParm { private String id; @ApiModelProperty(value = "用户id") - @NotNull(message="用户id不能为空!") +// @NotNull(message="用户id不能为空!") private String userId; diff --git a/cs-system/cs-system-api/src/main/java/com/njcn/cssystem/pojo/param/CsFeedbackQueryParm.java b/cs-system/cs-system-api/src/main/java/com/njcn/cssystem/pojo/param/CsFeedbackQueryParm.java index 2a65770..6ae3a86 100644 --- a/cs-system/cs-system-api/src/main/java/com/njcn/cssystem/pojo/param/CsFeedbackQueryParm.java +++ b/cs-system/cs-system-api/src/main/java/com/njcn/cssystem/pojo/param/CsFeedbackQueryParm.java @@ -28,12 +28,12 @@ public class CsFeedbackQueryParm { @NotNull(message="显示条数不能为空!") @ApiModelProperty(value = "显示条数",name = "pageSize",dataType ="Integer",required = true) private Integer pageSize; - /** - * 用户id - */ - @ApiModelProperty(value = "用户id") - @NotNull(message="用户id不能为空!") - private String userId; +// /** +// * 用户id +// */ +// @ApiModelProperty(value = "用户id") +// @NotNull(message="用户id不能为空!") +// private String userId; /** * 问题类型(字典数据) diff --git a/cs-system/cs-system-boot/src/main/java/com/njcn/cssystem/service/impl/CsFeedbackChatServiceImpl.java b/cs-system/cs-system-boot/src/main/java/com/njcn/cssystem/service/impl/CsFeedbackChatServiceImpl.java index 03eb6d8..c1d61ca 100644 --- a/cs-system/cs-system-boot/src/main/java/com/njcn/cssystem/service/impl/CsFeedbackChatServiceImpl.java +++ b/cs-system/cs-system-boot/src/main/java/com/njcn/cssystem/service/impl/CsFeedbackChatServiceImpl.java @@ -7,6 +7,7 @@ import com.njcn.cssystem.pojo.param.CsFeedbackChatAddParm; import com.njcn.cssystem.pojo.param.CsFeedbackChatCheckParm; import com.njcn.cssystem.pojo.po.CsFeedbackChatPO; import com.njcn.cssystem.service.CsFeedbackChatService; +import com.njcn.web.utils.RequestUtil; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -28,6 +29,7 @@ public class CsFeedbackChatServiceImpl extends ServiceImpl returnpage = new Page<> (csFeedbackQueryParm.getPageNum ( ), csFeedbackQueryParm.getPageSize ( )); QueryWrapper queryWrapper = new QueryWrapper<> (); - queryWrapper.eq ("user_id",csFeedbackQueryParm.getUserId ()). + queryWrapper.eq ("user_id",RequestUtil.getUserIndex()). eq (StringUtils.isNotBlank (csFeedbackQueryParm.getType ()),"type",csFeedbackQueryParm.getType ()). eq (StringUtils.isNotBlank (csFeedbackQueryParm.getStatus ()),"status",csFeedbackQueryParm.getStatus ()); Page csFeedbackPOPage = this.getBaseMapper ( ).selectPage (page, queryWrapper);