This commit is contained in:
huangzj
2023-07-13 16:11:17 +08:00
parent 595474ee10
commit b890c7b07a
9 changed files with 102 additions and 32 deletions

View File

@@ -40,9 +40,12 @@ public class AppTopologyDiagramAddParm {
* 拓扑图文件
*/
@ApiModelProperty(value = "拓扑图文件")
@NotNull(message="拓扑图文件不能为空!")
private MultipartFile file;
@ApiModelProperty(value = "拓扑图模板")
private String topoId;

View File

@@ -6,9 +6,9 @@ import com.njcn.common.pojo.enums.common.LogEnum;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil;
import com.njcn.csdevice.pojo.po.CsTopologyDiagramTemplate;
import com.njcn.csdevice.pojo.vo.CsTopologyDiagramTemplateVO;
import com.njcn.csdevice.service.CsTopologyDiagramTemplateService;
import com.njcn.minioss.bo.MinIoUploadResDTO;
import com.njcn.web.controller.BaseController;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
@@ -40,10 +40,10 @@ public class TopologyTemplateController extends BaseController {
@PostMapping("/uploadImage")
@ApiOperation("上传模板底图")
@ApiImplicitParam(name = "file", value = "底图文件", required = true)
public HttpResult<MinIoUploadResDTO> uploadImage(@RequestParam("file") MultipartFile issuesFile){
public HttpResult<CsTopologyDiagramTemplate> uploadImage(@RequestParam("file") MultipartFile issuesFile){
String methodDescribe = getMethodDescribe("uploadImage");
String filePath = csTopologyDiagramTemplateService.uploadImage(issuesFile);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS,new MinIoUploadResDTO(issuesFile.getOriginalFilename(),filePath), methodDescribe);
CsTopologyDiagramTemplate csTopologyDiagramTemplate = csTopologyDiagramTemplateService.uploadImage(issuesFile);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS,csTopologyDiagramTemplate, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/queryImage")
@@ -54,4 +54,14 @@ public class TopologyTemplateController extends BaseController {
List<CsTopologyDiagramTemplateVO> list = csTopologyDiagramTemplateService.queryImage();
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/deleteImage")
@ApiOperation("删除拓扑图模板")
public HttpResult<Boolean> deleteImage(@RequestParam("id") String id){
String methodDescribe = getMethodDescribe("deleteImage");
Boolean flag = csTopologyDiagramTemplateService.deleteImage(id);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, flag, methodDescribe);
}
}

View File

@@ -21,4 +21,5 @@ public interface CsLineTopologyTemplateService extends IService<CsLineTopologyTe
Boolean add(List<CsLineTopologyTemplateParm> csLineTopologyTemplateParms);
List<CsLineTopologyTemplateVO> queryByTopoId(String topoId);
Boolean deleteByTopoId(String topoId);
}

View File

@@ -18,7 +18,9 @@ import java.util.List;
public interface CsTopologyDiagramTemplateService extends IService<CsTopologyDiagramTemplate>{
String uploadImage(MultipartFile issuesFile);
CsTopologyDiagramTemplate uploadImage(MultipartFile issuesFile);
List<CsTopologyDiagramTemplateVO> queryImage();
Boolean deleteImage(String id);
}

View File

@@ -11,14 +11,19 @@ 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.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.vo.AppTopologyDiagramVO;
import com.njcn.csdevice.service.AppTopologyDiagramService;
import com.njcn.csdevice.service.CsLineTopologyTemplateService;
import com.njcn.oss.constant.OssPath;
import com.njcn.oss.utils.FileStorageUtil;
import lombok.RequiredArgsConstructor;
@@ -49,21 +54,32 @@ public class AppTopologyDiagramServiceImpl extends ServiceImpl<AppTopologyDiagra
private final AppProjectMapper appServiceMapper;
private final AppTopologyDiagramMapper appTopologyDiagramMapper;
private final CsTopologyDiagramTemplateMapper csTopologyDiagramTemplateMapper;
@Override
@Transactional(rollbackFor = {Exception.class})
public AppTopologyDiagramVO addAppTopologyDiagram(AppTopologyDiagramAddParm appTopologyDiagramAddParm) {
AppTopologyDiagramPO appTopologyDiagramPO = new AppTopologyDiagramPO();
MultipartFile file = appTopologyDiagramAddParm.getFile ( );
if(file.getSize()> DataParam.FILE_SIZE){
throw new BusinessException(AlgorithmResponseEnum.FILE_SIZE_ERROR);
//如何使用拓扑图模板则将拓扑图模板
if(StringUtils.isNotBlank(appTopologyDiagramAddParm.getTopoId()) ){
CsTopologyDiagramTemplate csTopologyDiagramTemplate = csTopologyDiagramTemplateMapper.selectById(appTopologyDiagramAddParm.getTopoId());
appTopologyDiagramPO.setFilePath (csTopologyDiagramTemplate.getFilePath());
appTopologyDiagramPO.setProjectId (appTopologyDiagramAddParm.getProjectId ()==null?"":appTopologyDiagramAddParm.getProjectId ());
appTopologyDiagramPO.setName (csTopologyDiagramTemplate.getName());
appTopologyDiagramPO.setStatus ("1");
}else{
MultipartFile file = appTopologyDiagramAddParm.getFile ( );
if(file.getSize()> DataParam.FILE_SIZE){
throw new BusinessException(AlgorithmResponseEnum.FILE_SIZE_ERROR);
}
String filePath = fileStorageUtil.uploadMultipart (file, OssPath.TOPOLOGY);
appTopologyDiagramPO.setFilePath (filePath);
appTopologyDiagramPO.setProjectId (appTopologyDiagramAddParm.getProjectId ()==null?"":appTopologyDiagramAddParm.getProjectId ());
appTopologyDiagramPO.setName (appTopologyDiagramAddParm.getTopologyDiagramName ());
appTopologyDiagramPO.setStatus ("1");
boolean save = this.save (appTopologyDiagramPO);
}
String filePath = fileStorageUtil.uploadMultipart (file, OssPath.TOPOLOGY);
appTopologyDiagramPO.setFilePath (filePath);
appTopologyDiagramPO.setProjectId (appTopologyDiagramAddParm.getProjectId ()==null?"":appTopologyDiagramAddParm.getProjectId ());
appTopologyDiagramPO.setName (appTopologyDiagramAddParm.getTopologyDiagramName ());
appTopologyDiagramPO.setStatus ("1");
boolean save = this.save (appTopologyDiagramPO);
AppTopologyDiagramVO vo = new AppTopologyDiagramVO();
BeanUtils.copyProperties(appTopologyDiagramPO, vo);
return vo;

View File

@@ -5,11 +5,15 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.csdevice.enums.AlgorithmResponseEnum;
import com.njcn.csdevice.mapper.CsDeviceUserPOMapper;
import com.njcn.csdevice.mapper.CsEquipmentDeliveryMapper;
import com.njcn.csdevice.mapper.CsLedgerMapper;
import com.njcn.csdevice.pojo.po.CsDeviceUserPO;
import com.njcn.csdevice.pojo.po.CsEquipmentDeliveryPO;
import com.njcn.csdevice.pojo.po.CsLedger;
import com.njcn.csdevice.pojo.vo.DevCountVO;
import com.njcn.csdevice.service.CsDeviceUserPOService;
import com.njcn.csdevice.service.CsEquipmentDeliveryService;
import com.njcn.csdevice.service.RoleEngineerDevService;
import com.njcn.cswarn.api.CsEquipmentAlarmFeignClient;
import com.njcn.cswarn.pojo.parm.CsEquipmentAlarmParm;
import com.njcn.cswarn.pojo.vo.CsEquipmentAlarmVO;
@@ -37,6 +41,8 @@ public class CsDeviceUserPOServiceImpl extends ServiceImpl<CsDeviceUserPOMapper,
private final CsLedgerMapper csLedgerMapper;
private final CsEquipmentAlarmFeignClient csEquipmentAlarmFeignClient;
private final CsEquipmentDeliveryMapper csEquipmentDeliveryMapper;
private final RoleEngineerDevService roleEngineerDevService;
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean add(String id) {
@@ -76,11 +82,25 @@ public class CsDeviceUserPOServiceImpl extends ServiceImpl<CsDeviceUserPOMapper,
@Override
public DevCountVO devCount(String id) {
DevCountVO devCountVO = new DevCountVO();
QueryWrapper<CsLedger> queryWrap = new QueryWrapper<>();
queryWrap.eq("level",1).eq("state",1).
like("pid",id);
Integer integer = csLedgerMapper.selectCount(queryWrap);
List<String> device = roleEngineerDevService.getDevice();
if(CollectionUtils.isEmpty(device)){
devCountVO.setOnLineCount(0);
devCountVO.setOffLineCount(0);
devCountVO.setAllDevCount(0);
}else {
devCountVO.setAllDevCount(device.size());
QueryWrapper<CsEquipmentDeliveryPO> queryWrapper = new QueryWrapper<>();
queryWrapper.in("id",device);
List<CsEquipmentDeliveryPO> csEquipmentDeliveryPOS = csEquipmentDeliveryMapper.selectList(queryWrapper);
long count = csEquipmentDeliveryPOS.stream().filter(temp -> temp.getRunStatus() == 1).count();
long count1 = csEquipmentDeliveryPOS.stream().filter(temp -> temp.getRunStatus() == 2).count();
devCountVO.setOnLineCount(Integer.valueOf(count1+""));
devCountVO.setOffLineCount(Integer.valueOf(count+""));
}
CsEquipmentAlarmParm csEquipmentAlarmPageParm = new CsEquipmentAlarmParm();
csEquipmentAlarmPageParm.setEngineerId(id);
@@ -91,11 +111,10 @@ public class CsDeviceUserPOServiceImpl extends ServiceImpl<CsDeviceUserPOMapper,
// csEquipmentAlarmPageParam.setEndTime();
List<CsEquipmentAlarmVO> data = csEquipmentAlarmFeignClient.queryList(csEquipmentAlarmPageParm).getData();
List<String> devIds = data.stream().map(CsEquipmentAlarmVO::getEquipmentId).distinct().collect(Collectors.toList());
devCountVO.setAlarmLineCount(devIds.size());
devCountVO.setAlarmEventCount(data.size());
devCountVO.setId(id);
devCountVO.setOnLineCount(integer);
//
devCountVO.setEventCount(0);
//todo重寫 offLineCount AlarmLineCount

View File

@@ -30,7 +30,7 @@ public class CsLineTopologyTemplateServiceImpl extends ServiceImpl<CsLineTopolog
public Boolean add(List<CsLineTopologyTemplateParm> csLineTopologyTemplateParms) {
List<CsLineTopologyTemplate> csLineTopologyTemplates = new ArrayList<>();
QueryWrapper<CsLineTopologyTemplate> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("",csLineTopologyTemplateParms.get(0).getTopoId());
queryWrapper.eq("topo_id",csLineTopologyTemplateParms.get(0).getTopoId());
this.remove(queryWrapper);
csLineTopologyTemplateParms.stream().forEach(csLineTopologyTemplateParm -> {
@@ -55,4 +55,12 @@ public class CsLineTopologyTemplateServiceImpl extends ServiceImpl<CsLineTopolog
}).collect(Collectors.toList());
return collect;
}
@Override
public Boolean deleteByTopoId(String topoId) {
QueryWrapper<CsLineTopologyTemplate> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("topo_id",topoId);
boolean remove = this.remove(queryWrapper);
return remove;
}
}

View File

@@ -38,7 +38,7 @@ public class CsTopologyDiagramTemplateServiceImpl extends ServiceImpl<CsTopology
private final CsLineTopologyTemplateService csLineTopologyTemplateService;
@Override
@Transactional(rollbackFor = {Exception.class})
public String uploadImage(MultipartFile issuesFile) {
public CsTopologyDiagramTemplate uploadImage(MultipartFile issuesFile) {
CsTopologyDiagramTemplate csTopologyDiagramTemplate = new CsTopologyDiagramTemplate();
if (issuesFile.getSize() > DataParam.FILE_SIZE) {
@@ -49,9 +49,9 @@ public class CsTopologyDiagramTemplateServiceImpl extends ServiceImpl<CsTopology
csTopologyDiagramTemplate.setName(issuesFile.getOriginalFilename());
csTopologyDiagramTemplate.setStatus("1");
boolean save = this.save(csTopologyDiagramTemplate);
AppTopologyDiagramVO vo = new AppTopologyDiagramVO();
String fileUrl = fileStorageUtil.getFileUrl(filePath);
return fileUrl;
csTopologyDiagramTemplate.setFilePath(fileUrl);
return csTopologyDiagramTemplate;
}
@Override
@@ -70,4 +70,12 @@ public class CsTopologyDiagramTemplateServiceImpl extends ServiceImpl<CsTopology
return collect;
}
@Override
@Transactional(rollbackFor = {Exception.class})
public Boolean deleteImage(String id) {
this.removeById(id);
csLineTopologyTemplateService.deleteByTopoId(id);
return true;
}
}

View File

@@ -80,13 +80,16 @@ public class CsConfigurationServiceImpl extends ServiceImpl<CsConfigurationMappe
}
BeanUtils.copyProperties(auditParm,csConfigurationPO);
List<String> engeeringIds = auditParm.getEngeeringIds();
if(CollectionUtils.isEmpty(engeeringIds)){
throw new BusinessException("请选择工程");
}
String engeerings = String.join(",", engeeringIds);
if(!CollectionUtils.isEmpty(engeeringIds)){
String engeerings = String.join(",", engeeringIds);
csConfigurationPO.setEngeeringIds(engeerings);
}
if(!Objects.isNull(auditParm.getOrderBy())){
csConfigurationPO.setOrderBy(auditParm.getOrderBy()==0?100:auditParm.getOrderBy());
}
csConfigurationPO.setEngeeringIds(engeerings);
csConfigurationPO.setOrderBy(auditParm.getOrderBy()==0?100:auditParm.getOrderBy());
if(!Objects.isNull(auditParm.getFileContent())){
String s = fileStorageUtil.uploadStream(writeJsonStringToInputStream(auditParm.getFileContent()), HarmonicConstant.CONFIGURATIONPATH, HarmonicConstant.CONFIGURATIONNAME);
csConfigurationPO.setImagePath(s);