From 6ac961b28645b42deabe0357fd05274b51940912 Mon Sep 17 00:00:00 2001 From: haozq <1611483981@qq.com> Date: Fri, 29 Mar 2024 15:22:45 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=89=E4=B8=89=E7=BB=B4=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/background/vo/AreaVo.java | 12 +- .../entity/system/SystemGlobal.java | 35 ++++- .../controller/EmergencyController.java | 9 +- .../controller/TbAreaController.java | 32 +++-- .../background/mapper/EmergencyMapper.java | 6 +- .../background/mapper/TbAreaMapper.java | 21 +++ .../background/service/TbAreaService.java | 24 ++++ .../service/impl/EmergencyServiceImpl.java | 24 +++- .../service/impl/TbAreaServiceImpl.java | 135 +++++++++++++++--- .../main/resources/mapper/EmergencyMapper.xml | 24 ++-- .../main/resources/mapper/TbAreaMapper.xml | 19 ++- 11 files changed, 288 insertions(+), 53 deletions(-) diff --git a/securitycontrol-commons/securitycontrol-commons-entity/src/main/java/com/securitycontrol/entity/background/vo/AreaVo.java b/securitycontrol-commons/securitycontrol-commons-entity/src/main/java/com/securitycontrol/entity/background/vo/AreaVo.java index d682827..9e5ba56 100644 --- a/securitycontrol-commons/securitycontrol-commons-entity/src/main/java/com/securitycontrol/entity/background/vo/AreaVo.java +++ b/securitycontrol-commons/securitycontrol-commons-entity/src/main/java/com/securitycontrol/entity/background/vo/AreaVo.java @@ -9,6 +9,8 @@ import javax.validation.constraints.NotBlank; */ @Data public class AreaVo { + + private String id; /** * 区域id */ @@ -56,9 +58,17 @@ public class AreaVo { */ private String gtName; /** - * 是否是有些爱你空间 + * 是否是有限空间 */ private String areaType; + /** + * 文件数量 + */ + private String fileNum; + /** + * 删除的文件id + */ + private String delFile; diff --git a/securitycontrol-commons/securitycontrol-commons-entity/src/main/java/com/securitycontrol/entity/system/SystemGlobal.java b/securitycontrol-commons/securitycontrol-commons-entity/src/main/java/com/securitycontrol/entity/system/SystemGlobal.java index f11ac49..f25470e 100644 --- a/securitycontrol-commons/securitycontrol-commons-entity/src/main/java/com/securitycontrol/entity/system/SystemGlobal.java +++ b/securitycontrol-commons/securitycontrol-commons-entity/src/main/java/com/securitycontrol/entity/system/SystemGlobal.java @@ -13,7 +13,40 @@ public class SystemGlobal { /** * 线路工程类型 */ - public final static String LINE_TYPE="1"; + public final static String LINE_TYPE="线路"; + /** + * 预案类型 + */ + public final static String EME_TYPE="1"; + + /** + * 预案类型 + */ + public final static String EME_TYPE2="2"; + + + /** + * 文件资源类型 + * 应急预案 + */ + public final static String YA_NAME="应急预案"; + + /** + * 文件资源类型 + * 应急流程 + */ + public final static String LC_NAME="应急流程"; + + /** + * 文件资源类型 + * 应急流程 + */ + public final static String SW_NAME="三维文件"; + + /** + * 预案类型 + */ + public final static String EME_TYPE3="3"; /** * 成功数据数量 */ diff --git a/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/controller/EmergencyController.java b/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/controller/EmergencyController.java index f94a6fe..c12a004 100644 --- a/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/controller/EmergencyController.java +++ b/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/controller/EmergencyController.java @@ -13,6 +13,7 @@ import com.securitycontrol.entity.background.vo.AreaVo; import com.securitycontrol.entity.background.vo.DeviceVo; import com.securitycontrol.entity.background.vo.EmergencyPlanVo; import com.securitycontrol.entity.file.FileExportVo; +import com.securitycontrol.entity.system.SystemGlobal; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -130,7 +131,7 @@ public class EmergencyController extends BaseController { @Log(title = "应急响应", menu = "应急响应->应急预案", grade = OperationType.ADD_BUSINESS, details = "新增预案", type = "业务日志") public Result addYaFile(@RequestParam(value = "file[]", required = false) MultipartFile[] files,EmergencyPlanVo dto ) { dto.setEmergencyType("2"); - dto.setSourceType("应急预案"); + dto.setSourceType(SystemGlobal.YA_NAME); return service.addYaFile(files, dto); } @@ -139,7 +140,7 @@ public class EmergencyController extends BaseController { @PostMapping("updateYaFile") @Log(title = "应急响应", menu = "应急响应->应急预案", grade = OperationType.ADD_BUSINESS, details = "新增预案", type = "业务日志") public Result updateYaFile(@RequestParam(value = "file[]", required = false) MultipartFile[] files,EmergencyPlanVo dto ) { - dto.setSourceType("应急预案"); + dto.setSourceType(SystemGlobal.YA_NAME); return service.updateYaFile(files, dto); } @@ -150,7 +151,7 @@ public class EmergencyController extends BaseController { @Log(title = "应急响应", menu = "应急响应->流程预案", grade = OperationType.ADD_BUSINESS, details = "新增流程预案", type = "业务日志") public Result addLcFile(@RequestParam(value = "file[]",required = false) MultipartFile[] files,EmergencyPlanVo dto ) { dto.setEmergencyType("3"); - dto.setSourceType("应急流程"); + dto.setSourceType(SystemGlobal.LC_NAME); return service.addYaFile(files, dto); } @@ -164,7 +165,7 @@ public class EmergencyController extends BaseController { @PostMapping("updateLcFile") @Log(title = "应急响应", menu = "应急响应->流程预案", grade = OperationType.ADD_BUSINESS, details = "修改流程预案", type = "业务日志") public Result updateLcFile(@RequestParam(value = "file[]", required = false) MultipartFile[] files,EmergencyPlanVo dto ) { - dto.setSourceType("应急流程"); + dto.setSourceType(SystemGlobal.LC_NAME); return service.updateYaFile(files, dto); } diff --git a/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/controller/TbAreaController.java b/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/controller/TbAreaController.java index 91e7955..4336825 100644 --- a/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/controller/TbAreaController.java +++ b/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/controller/TbAreaController.java @@ -1,8 +1,10 @@ package com.securitycontrol.background.controller; import com.securitycontrol.background.service.DeviceService; +import com.securitycontrol.background.service.EmergencyService; import com.securitycontrol.background.service.TbAreaService; import com.securitycontrol.common.core.domain.Result; +import com.securitycontrol.common.core.utils.WordUtils; import com.securitycontrol.common.core.web.controller.BaseController; import com.securitycontrol.common.core.web.page.TableDataInfo; import com.securitycontrol.common.log.annotation.Log; @@ -11,12 +13,17 @@ import com.securitycontrol.entity.background.dto.AreaDto; import com.securitycontrol.entity.background.dto.DeviceDto; import com.securitycontrol.entity.background.vo.AreaVo; import com.securitycontrol.entity.background.vo.DeviceVo; +import com.securitycontrol.entity.background.vo.EmergencyPlanVo; import com.securitycontrol.entity.background.vo.GtVo; +import com.securitycontrol.entity.file.FileExportVo; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; import java.util.ArrayList; import java.util.List; @@ -34,6 +41,9 @@ public class TbAreaController extends BaseController { @Autowired private TbAreaService service; + @Autowired + private EmergencyService emergencyService; + @ApiOperation(value = "获取设备列表") @GetMapping("getAreaList") @@ -157,8 +167,6 @@ public class TbAreaController extends BaseController { } - - @ApiOperation(value = "获取三维文件列表") @GetMapping("getSwList") @Log(title = "三维文件管理", menu = "基础管理->三维文件管理", grade = OperationType.QUERY_BUSINESS, details = "查询三维文件列表", type = "业务日志") @@ -173,15 +181,19 @@ public class TbAreaController extends BaseController { } } + @ApiOperation(value = "新增三维文件") + @PostMapping("addSwFile") + @Log(title = "三维管理", menu = "应急响应->三维管理", grade = OperationType.ADD_BUSINESS, details = "新增三维文件", type = "业务日志") + public Result addYaFile(@RequestParam(value = "file[]", required = false) MultipartFile[] files, AreaVo dto ) { + return service.addSwFile(files, dto); + } - - - - - - - - + @ApiOperation(value = "删除信息") + @PostMapping("deleteSwFile") + @Log(title = "三维管理", menu = "应急响应->三维管理", grade = OperationType.DELETE_BUSINESS, details = "删除三维文件", type = "业务日志") + public Result deleteSwFile(@RequestBody AreaVo dto ) { + return service.deleteSwFile(dto); + } } diff --git a/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/mapper/EmergencyMapper.java b/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/mapper/EmergencyMapper.java index 2037239..c2b4054 100644 --- a/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/mapper/EmergencyMapper.java +++ b/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/mapper/EmergencyMapper.java @@ -49,9 +49,9 @@ public interface EmergencyMapper { int deleteData(EmergencyPlanVo dto); /** - * - * @param vo + * 查询信息详情 + * @param dto * @return */ - List getSourceList(EmergencyPlanVo vo); + EmergencyPlanVo getDetail(EmergencyPlanVo dto); } diff --git a/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/mapper/TbAreaMapper.java b/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/mapper/TbAreaMapper.java index 33e859a..ac8653e 100644 --- a/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/mapper/TbAreaMapper.java +++ b/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/mapper/TbAreaMapper.java @@ -97,4 +97,25 @@ public interface TbAreaMapper { * @return */ List getSwList(AreaDto dto); + + /** + * 查询杆塔是否已存在 + * @param dto + * @return + */ + int getSwData(AreaVo dto); + + /** + * 新增三维文件 + * @param dto + * @return + */ + int addSwFile(AreaVo dto); + + /** + *删除数据 + * @param dto + * @return + */ + int deleteData(AreaVo dto); } diff --git a/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/service/TbAreaService.java b/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/service/TbAreaService.java index a0a5a90..33e6d28 100644 --- a/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/service/TbAreaService.java +++ b/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/service/TbAreaService.java @@ -5,6 +5,7 @@ import com.securitycontrol.common.core.domain.Result; import com.securitycontrol.entity.background.dto.AreaDto; import com.securitycontrol.entity.background.vo.AreaVo; import com.securitycontrol.entity.background.vo.GtVo; +import org.springframework.web.multipart.MultipartFile; import java.util.List; @@ -90,4 +91,27 @@ public interface TbAreaService { * @return */ List getSwList(AreaDto dto); + + /** + * 新增三维文件 + * @param files + * @param dto + * @return + */ + Result addSwFile(MultipartFile[] files, AreaVo dto); + + /** + * 修改三维文件 + * @param files + * @param dto + * @return + */ + Result updateSwFile(MultipartFile[] files, AreaVo dto); + + /** + * 删除三维文件 + * @param dto + * @return + */ + Result deleteSwFile( AreaVo dto); } diff --git a/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/service/impl/EmergencyServiceImpl.java b/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/service/impl/EmergencyServiceImpl.java index 2633928..d436cb3 100644 --- a/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/service/impl/EmergencyServiceImpl.java +++ b/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/service/impl/EmergencyServiceImpl.java @@ -5,6 +5,7 @@ import com.securitycontrol.background.service.EmergencyService; import com.securitycontrol.background.service.SourceFileService; import com.securitycontrol.common.core.constant.SecurityConstants; import com.securitycontrol.common.core.domain.Result; +import com.securitycontrol.common.core.utils.aes.ListHelper; import com.securitycontrol.common.core.utils.aes.StringHelper; import com.securitycontrol.entity.background.vo.DeviceVo; import com.securitycontrol.entity.background.vo.EmergencyPlanVo; @@ -56,7 +57,7 @@ public class EmergencyServiceImpl implements EmergencyService { @Override public List getList(EmergencyPlanVo dto) { List list= mapper.getList(dto); - if(!SystemGlobal.LINE_TYPE.equals(dto.getEmergencyType())){ + if(!SystemGlobal.EME_TYPE.equals(dto.getEmergencyType())){ list.forEach(vo->{ List source=sourceFileService.getSourceList(vo.getId(),dto.getSourceType()); vo.setSourceIds(source); @@ -123,6 +124,27 @@ public class EmergencyServiceImpl implements EmergencyService { if(StringHelper.isEmpty(dto.getId())){ return Result.fail("数据不存在"); } + EmergencyPlanVo vo=mapper.getDetail(dto); + String type=vo.getEmergencyType(); + if(!SystemGlobal.EME_TYPE.equals(type)){ + String sourceType=""; + if(SystemGlobal.EME_TYPE2.equals(type)){ + sourceType=SystemGlobal.YA_NAME; + }else{ + sourceType=SystemGlobal.LC_NAME; + } + + List fileId=sourceFileService.getSourceList(dto.getId(),sourceType); + if(ListHelper.isNotEmpty(fileId)){ + fileId.forEach(file->{ + //删除资源数据 + sourceFileService.deleteSource(file.getFileId()); + //删除文件 + remoteFileService.delFile(file.getFileId(),SecurityConstants.INNER); + }); + } + } + int num=mapper.deleteData(dto); if(num==1) { return Result.ok("删除成功","删除成功"); diff --git a/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/service/impl/TbAreaServiceImpl.java b/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/service/impl/TbAreaServiceImpl.java index ce932c6..f0bd894 100644 --- a/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/service/impl/TbAreaServiceImpl.java +++ b/securitycontrol-model/securitycontrol-background/src/main/java/com/securitycontrol/background/service/impl/TbAreaServiceImpl.java @@ -1,18 +1,25 @@ package com.securitycontrol.background.service.impl; import com.securitycontrol.background.mapper.TbAreaMapper; +import com.securitycontrol.background.service.SourceFileService; import com.securitycontrol.background.service.TbAreaService; +import com.securitycontrol.common.core.constant.SecurityConstants; import com.securitycontrol.common.core.domain.Result; +import com.securitycontrol.common.core.utils.aes.ListHelper; import com.securitycontrol.common.core.utils.aes.StringHelper; import com.securitycontrol.common.core.utils.uuid.IdUtils; import com.securitycontrol.entity.background.dto.AreaDto; import com.securitycontrol.entity.background.vo.AreaVo; import com.securitycontrol.entity.background.vo.GtVo; +import com.securitycontrol.entity.file.FileExportVo; import com.securitycontrol.entity.system.SystemGlobal; +import com.securitycontrol.system.api.RemoteFileService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; +import javax.annotation.Resource; import java.util.Arrays; import java.util.List; import java.util.concurrent.atomic.AtomicBoolean; @@ -25,7 +32,10 @@ import java.util.concurrent.atomic.AtomicBoolean; @Slf4j public class TbAreaServiceImpl implements TbAreaService { - + @Resource + private RemoteFileService remoteFileService; + @Resource + private SourceFileService sourceFileService; @Autowired private TbAreaMapper mapper; @@ -231,6 +241,87 @@ public class TbAreaServiceImpl implements TbAreaService { return mapper.getSwList(dto); } + @Override + public Result addSwFile(MultipartFile[] files, AreaVo dto) { + try{ + if(files==null || files.length<1){ + return Result.fail("三维文件未上传"); + } + String result=checkData(dto); + if(StringHelper.isNotEmpty(result)){ + return Result.fail(result); + } + //依据工程编码查询工程类型 + String proType=mapper.getProjectTypeByBidCode(dto.getBidCode()); + if (SystemGlobal.LINE_TYPE.equals(proType)){ + if(files.length>1){ + return Result.fail("一个杆塔只能上传一个三维文件"); + } + int num=mapper.getSwData(dto); + if(num>SystemGlobal.MIN_NUM){ + return Result.fail("该杆塔的三维文件已维护"); + } + } + int num=mapper.addSwFile(dto); + if(SystemGlobal.SUCCESS_NUM!=num){ + return Result.fail("新增失败"); + } + Result result1 = remoteFileService.mostUploadFile(files,SecurityConstants.INNER); + if(result1.getCode()!=SystemGlobal.SUCCESS_CODE){ + mapper.deleteData(dto); + Result.fail("文件服务未连接,文件上传失败"); + } + List list= (List) result1.getData(); + Result result2= sourceFileService.addSourceList(list, dto.getId(),"三维文件","0"); + if(result2.getCode()!=SystemGlobal.SUCCESS_CODE){ + return result2; + } + return Result.ok("新增成功","新增成功"); + }catch (Exception e){ + log.error(e.toString(),e); + return Result.fail("系统升级中,请稍后重试!"); + } + } + + /** + * 修改三维文件 + * @param files + * @param dto + * @return + */ + @Override + public Result updateSwFile(MultipartFile[] files, AreaVo dto) { + return null; + } + + /** + * 啥删除三维文件 + * @param dto + * @return + */ + @Override + public Result deleteSwFile( AreaVo dto) { + try{ + List fileId=sourceFileService.getSourceList(dto.getId(),SystemGlobal.SW_NAME); + if(ListHelper.isNotEmpty(fileId)){ + fileId.forEach(file->{ + //删除资源数据 + sourceFileService.deleteSource(file.getFileId()); + //删除文件 + remoteFileService.delFile(file.getFileId(),SecurityConstants.INNER); + }); + } + int num= mapper.deleteData(dto); + if (num==SystemGlobal.SUCCESS_NUM){ + return Result.ok("删除成功","删除成功"); + } + return Result.fail("删除失败,删除失败"); + }catch (Exception e){ + log.error(e.toString(),e); + return Result.fail("系统升级中,请稍后重试!"); + } + } + /** * 数据校验 * @param dto @@ -247,27 +338,27 @@ public class TbAreaServiceImpl implements TbAreaService { } /** - * 数据校验 - * @param dto - * @return - */ - public String checkData(AreaVo dto){ - if(StringHelper.isEmpty(dto.getAreaType())){ - dto.setAreaType("0"); + * 数据校验 + * @param dto + * @return + */ + public String checkData(AreaVo dto){ + if(StringHelper.isEmpty(dto.getAreaType())){ + dto.setAreaType("0"); + } + String bidCode=dto.getBidCode(); + if (StringHelper.isEmpty(bidCode)) { + return "请选择工程"; + } + //依据工程编码查询工程类型 + String proType=mapper.getProjectTypeByBidCode(bidCode); + //线路工程 + if(SystemGlobal.LINE_TYPE.equals(proType)){ + if(StringHelper.isEmpty(dto.getGtId())){ + return "线路工程必须要选择杆塔"; } - String bidCode=dto.getBidCode(); - if (StringHelper.isEmpty(bidCode)) { - return "请选择工程"; - } - //依据工程编码查询工程类型 - String proType=mapper.getProjectTypeByBidCode(bidCode); - //线路工程 - if(SystemGlobal.LINE_TYPE.equals(proType)){ - if(StringHelper.isEmpty(dto.getGtId())){ - return "线路工程必须要选择杆塔"; - } - } - return null; - } + } + return null; + } } diff --git a/securitycontrol-model/securitycontrol-background/src/main/resources/mapper/EmergencyMapper.xml b/securitycontrol-model/securitycontrol-background/src/main/resources/mapper/EmergencyMapper.xml index 1fd8a21..0cd6745 100644 --- a/securitycontrol-model/securitycontrol-background/src/main/resources/mapper/EmergencyMapper.xml +++ b/securitycontrol-model/securitycontrol-background/src/main/resources/mapper/EmergencyMapper.xml @@ -17,15 +17,15 @@ select tp.id, ANY_VALUE(tp.emerge_type) emergencyType, ANY_VALUE(tp.emerge_name) emergencyName, ANY_VALUE(tp.emerge_source) emergencySource,ANY_VALUE(create_time) createTime, ANY_VALUE(tp.update_time) updateTime,count(trf.file_id) fileNum - from tb_emergency_plan tp - left join tb_resource_file trf on trf.source_id=tp.id - and trf.source_type='应急预案' - and trf.source_type='应急流程' - WHERE tp.del_flag=0 AND tp.emerge_type=#{emergencyType} - - and INSTR(tp.emerge_name,#{emergencyName}) > 0 - - GROUP BY tp.id + from tb_emergency_plan tp + left join tb_resource_file trf on trf.source_id=tp.id and trf.del_flag=0 + and trf.source_type='应急预案' + and trf.source_type='应急流程' + WHERE tp.del_flag=0 AND tp.emerge_type=#{emergencyType} + + and INSTR(tp.emerge_name,#{emergencyName}) > 0 + + GROUP BY tp.id - + \ No newline at end of file diff --git a/securitycontrol-model/securitycontrol-background/src/main/resources/mapper/TbAreaMapper.xml b/securitycontrol-model/securitycontrol-background/src/main/resources/mapper/TbAreaMapper.xml index a8fdc7d..3c32930 100644 --- a/securitycontrol-model/securitycontrol-background/src/main/resources/mapper/TbAreaMapper.xml +++ b/securitycontrol-model/securitycontrol-background/src/main/resources/mapper/TbAreaMapper.xml @@ -25,6 +25,9 @@ #{gtId},#{gtName},#{gtCode},#{bidCode},#{lat},#{lon},0,now() ) + + insert into tb_sw_source (bid_code,gt_id,del_flag) value (#{bidCode},#{gtId},0) + update tb_area set area_name=#{areaName},bid_code=#{bidCode},remarks=#{remarks},gt_id=#{gtId}, area_code=#{areaCode},update_time=now(),area_type=#{areaType} @@ -40,6 +43,9 @@ update t_pro_gt set del_flag=1 where gt_id=#{gtId} + + delete from tb_sw_source where id=#{id} + +