From 57f8d61700f514b003752e0e21f63c80fa1948e8 Mon Sep 17 00:00:00 2001 From: guo Date: Fri, 22 Dec 2023 18:35:08 +0800 Subject: [PATCH] =?UTF-8?q?bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../RtRiskInventoryTypeController.java | 17 +-- ...SecurityLibraryTypeConcreteController.java | 31 +++-- .../rt/controller/RtWorkTicketController.java | 15 +-- .../rt/entity/RtRiskInventoryType.java | 11 +- .../xmgl/modules/rt/entity/RtWorkTicket.java | 9 ++ .../rt/entity/RtWorkTicketToVideoItem.java | 61 ++++++++++ .../rt/mapper/RtRiskInventoryTypeMapper.java | 2 + ...TicketToRiskSecurityLibraryTypeMapper.java | 5 + .../mapper/RtWorkTicketToVideoItemMapper.java | 20 +++ .../mapper/xml/RtRiskInventoryTypeMapper.xml | 6 + .../rt/mapper/xml/RtWorkTicketMapper.xml | 28 +++-- ...kTicketToRiskSecurityLibraryTypeMapper.xml | 6 + .../xml/RtWorkTicketToVideoItemMapper.xml | 20 +++ .../service/IRtRiskInventoryTypeService.java | 2 + ...iskSecurityLibraryTypeConcreteService.java | 2 + .../rt/service/IRtWorkTicketService.java | 2 + .../impl/RtRiskInventoryTypeServiceImpl.java | 115 +++++++++++++++--- ...ecurityLibraryTypeConcreteServiceImpl.java | 23 ++++ .../service/impl/RtWorkTicketServiceImpl.java | 62 +++++++++- .../xmgl/modules/video/entity/VideoItem.java | 28 ++--- .../com/zhgd/xmgl/task/StandardDevTask.java | 6 +- .../com/zhgd/xmgl/util/StandardDevUtil.java | 26 ++-- ...库导入模板 .xlsx => 风险安全库导入模板.xlsx} | Bin 23 files changed, 395 insertions(+), 102 deletions(-) create mode 100644 src/main/java/com/zhgd/xmgl/modules/rt/entity/RtWorkTicketToVideoItem.java create mode 100644 src/main/java/com/zhgd/xmgl/modules/rt/mapper/RtWorkTicketToVideoItemMapper.java create mode 100644 src/main/java/com/zhgd/xmgl/modules/rt/mapper/xml/RtWorkTicketToVideoItemMapper.xml rename src/main/resources/excel/{风险安全库导入模板 .xlsx => 风险安全库导入模板.xlsx} (100%) diff --git a/src/main/java/com/zhgd/xmgl/modules/rt/controller/RtRiskInventoryTypeController.java b/src/main/java/com/zhgd/xmgl/modules/rt/controller/RtRiskInventoryTypeController.java index c74bdd604..7540c7129 100644 --- a/src/main/java/com/zhgd/xmgl/modules/rt/controller/RtRiskInventoryTypeController.java +++ b/src/main/java/com/zhgd/xmgl/modules/rt/controller/RtRiskInventoryTypeController.java @@ -1,5 +1,6 @@ package com.zhgd.xmgl.modules.rt.controller; +import com.zhgd.redis.lock.RedisRepository; import com.zhgd.xmgl.modules.rt.entity.RtRiskInventoryType; import com.zhgd.xmgl.modules.rt.service.IRtRiskInventoryTypeService; import io.swagger.annotations.Api; @@ -13,6 +14,7 @@ import java.io.OutputStream; import java.net.URLEncoder; import java.util.HashMap; +import org.apache.commons.lang3.StringUtils; import org.apache.poi.util.IOUtils; import org.springframework.core.io.ClassPathResource; import org.springframework.web.multipart.MultipartFile; @@ -119,19 +121,8 @@ public class RtRiskInventoryTypeController { @ApiImplicitParam(name = "id", value = "榕图-风险清册类型ID", paramType = "body", required = true, dataType = "String", example = "{\"id\":\"1\"}") @PostMapping(value = "/delete") public Result delete(@ApiIgnore @RequestBody HashMap map) { - String id = MapUtils.getString(map, "id"); - Result result = new Result(); - RtRiskInventoryType rtRiskInventoryType = rtRiskInventoryTypeService.getById(id); - if (rtRiskInventoryType == null) { - result.error500("未找到对应实体"); - } else { - boolean ok = rtRiskInventoryTypeService.removeById(id); - if (ok) { - result.success("删除成功!"); - } - } - - return result; + rtRiskInventoryTypeService.delete(map); + return Result.ok(); } /** diff --git a/src/main/java/com/zhgd/xmgl/modules/rt/controller/RtRiskSecurityLibraryTypeConcreteController.java b/src/main/java/com/zhgd/xmgl/modules/rt/controller/RtRiskSecurityLibraryTypeConcreteController.java index 5d175c49c..6f05b976b 100644 --- a/src/main/java/com/zhgd/xmgl/modules/rt/controller/RtRiskSecurityLibraryTypeConcreteController.java +++ b/src/main/java/com/zhgd/xmgl/modules/rt/controller/RtRiskSecurityLibraryTypeConcreteController.java @@ -133,23 +133,20 @@ public class RtRiskSecurityLibraryTypeConcreteController { } else { boolean ok = rtRiskSecurityLibraryTypeConcreteService.removeById(MapUtils.getString(map, "id")); if (ok) { - result.successMsg(MessageUtil.get("deleteSucess")); - } - } + result.successMsg(MessageUtil.get("deleteSucess")); + } + } - return result; - } + return result; + } + + @ApiOperation(value = "查询作业必备条件和作业过程风险控制措施", notes = "查询作业必备条件和作业过程风险控制措施", httpMethod = "POST") + @ApiImplicitParams({ + @ApiImplicitParam(name = "rtRiskSecurityLibraryTypeIdList", value = "榕图-风险安全库-作业类型、工序及部位idList", paramType = "body", required = true, dataType = "String"), + }) + @PostMapping(value = "/queryJobPrerequisite") + public Result queryJobPrerequisite(@RequestBody Map map) { + return Result.success(rtRiskSecurityLibraryTypeConcreteService.queryJobPrerequisite(map)); + } - @OperLog(operModul = "质量管理", operType = "批量修改榕图-风险安全库-作业风险及条件具体项启用禁用", operDesc = "批量修改榕图-风险安全库-作业风险及条件具体项启用禁用") - @ApiOperation(value = "批量修改榕图-风险安全库-作业风险及条件具体项启用禁用", notes = "批量修改榕图-风险安全库-作业风险及条件具体项启用禁用", httpMethod = "POST") - @ApiImplicitParams({ - @ApiImplicitParam(name = "projectSn", value = "项目唯一标识", paramType = "query", required = true, dataType = "String"), - @ApiImplicitParam(name = "idStr", value = "质量问题库子项ID组成字符串", paramType = "榕图-风险安全库-作业类型、工序及部位ID", required = true, dataType = "String"), - @ApiImplicitParam(name = "recordStatus", value = "记录状态,0 启用,1禁用", paramType = "query", required = true, dataType = "String"), - }) - @PostMapping(value = "/updateRtRiskSecurityLibraryTypeConcreteUsable") - public Result updateRtRiskSecurityLibraryTypeConcreteUsable(@RequestBody Map map) { - rtRiskSecurityLibraryTypeConcreteService.updateRtRiskSecurityLibraryTypeConcreteUsable(map); - return Result.ok(); - } } diff --git a/src/main/java/com/zhgd/xmgl/modules/rt/controller/RtWorkTicketController.java b/src/main/java/com/zhgd/xmgl/modules/rt/controller/RtWorkTicketController.java index 0d49cca10..5058a0dda 100644 --- a/src/main/java/com/zhgd/xmgl/modules/rt/controller/RtWorkTicketController.java +++ b/src/main/java/com/zhgd/xmgl/modules/rt/controller/RtWorkTicketController.java @@ -100,19 +100,8 @@ public class RtWorkTicketController { @ApiImplicitParam(name = "id", value = "榕图-工作票ID", paramType = "body", required = true, dataType = "String", example = "{\"id\":\"1\"}") @PostMapping(value = "/delete") public Result delete(@ApiIgnore @RequestBody HashMap map) { - String id = MapUtils.getString(map, "id"); - Result result = new Result(); - RtWorkTicket rtWorkTicket = rtWorkTicketService.getById(id); - if (rtWorkTicket == null) { - result.error500("未找到对应实体"); - } else { - boolean ok = rtWorkTicketService.removeById(id); - if (ok) { - result.success("删除成功!"); - } - } - - return result; + rtWorkTicketService.delete(map); + return Result.ok(); } /** diff --git a/src/main/java/com/zhgd/xmgl/modules/rt/entity/RtRiskInventoryType.java b/src/main/java/com/zhgd/xmgl/modules/rt/entity/RtRiskInventoryType.java index 23bce191f..263c3a064 100644 --- a/src/main/java/com/zhgd/xmgl/modules/rt/entity/RtRiskInventoryType.java +++ b/src/main/java/com/zhgd/xmgl/modules/rt/entity/RtRiskInventoryType.java @@ -32,12 +32,6 @@ public class RtRiskInventoryType implements Serializable { @TableId(type = IdType.ASSIGN_ID) @ApiModelProperty(value = "id") private java.lang.Long id; - /** - * 名称 - */ - @Excel(name = "名称", width = 15) - @ApiModelProperty(value = "名称") - private java.lang.String name; /** * 工序名称 */ @@ -119,6 +113,11 @@ public class RtRiskInventoryType implements Serializable { @Excel(name = "预防措施", width = 15) @ApiModelProperty(value = "预防措施") private java.lang.String precaution; + @ApiModelProperty(value = "前置任务id列表") + private java.lang.String predecessorIds; + @ApiModelProperty(value = "备注") + private java.lang.String remark; + @TableField(exist = false) @ApiModelProperty(value = "榕图-风险清册类型子集") diff --git a/src/main/java/com/zhgd/xmgl/modules/rt/entity/RtWorkTicket.java b/src/main/java/com/zhgd/xmgl/modules/rt/entity/RtWorkTicket.java index 9a211992e..06f27fe93 100644 --- a/src/main/java/com/zhgd/xmgl/modules/rt/entity/RtWorkTicket.java +++ b/src/main/java/com/zhgd/xmgl/modules/rt/entity/RtWorkTicket.java @@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; +import com.zhgd.xmgl.modules.project.entity.ProjectVideoConfig; +import com.zhgd.xmgl.modules.video.entity.VideoItem; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -196,4 +198,11 @@ public class RtWorkTicket implements Serializable { @TableField(exist = false) @ApiModelProperty(value = "榕图-风险安全库-作业类型、工序及部位idList") private List rtRiskSecurityLibraryTypeIdList; + @TableField(exist = false) + @ApiModelProperty(value = "视频设备列表") + private List videoList; + @ApiModelProperty(value = "视频配置") + @TableField(exist = false) + private ProjectVideoConfig projectVideoConfig; + } diff --git a/src/main/java/com/zhgd/xmgl/modules/rt/entity/RtWorkTicketToVideoItem.java b/src/main/java/com/zhgd/xmgl/modules/rt/entity/RtWorkTicketToVideoItem.java new file mode 100644 index 000000000..dfec0bfb2 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/rt/entity/RtWorkTicketToVideoItem.java @@ -0,0 +1,61 @@ +package com.zhgd.xmgl.modules.rt.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.zhgd.xmgl.modules.video.entity.VideoItem; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +/** + * @Description: 榕图-工作票和视频设备中间表 + * @author: pds + * @date: 2023-12-21 + * @version: V1.0 + */ +@Data +@TableName("rt_work_ticket_to_video_item") +@ApiModel(value = "RtWorkTicketToVideoItem实体类", description = "RtWorkTicketToVideoItem") +public class RtWorkTicketToVideoItem implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * id + */ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "id") + private Long id; + @ApiModelProperty(value = "榕图-工作票id") + private Long rtWorkTicketId; + @ApiModelProperty(value = "视频设备id") + private Long videoItemId; + + /** + * 创建时间 yyyy-MM-dd HH:mm:ss + */ + @Excel(name = "创建时间 yyyy-MM-dd HH:mm:ss", width = 20, format = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "创建时间 yyyy-MM-dd HH:mm:ss") + private Date createTime; + /** + * 更新时间 yyyy-MM-dd HH:mm:ss + */ + @Excel(name = "更新时间 yyyy-MM-dd HH:mm:ss", width = 20, format = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "更新时间 yyyy-MM-dd HH:mm:ss") + private Date updateTime; + + @TableField(exist = false) + List videoItems; +} diff --git a/src/main/java/com/zhgd/xmgl/modules/rt/mapper/RtRiskInventoryTypeMapper.java b/src/main/java/com/zhgd/xmgl/modules/rt/mapper/RtRiskInventoryTypeMapper.java index 7e12c185b..65c052234 100644 --- a/src/main/java/com/zhgd/xmgl/modules/rt/mapper/RtRiskInventoryTypeMapper.java +++ b/src/main/java/com/zhgd/xmgl/modules/rt/mapper/RtRiskInventoryTypeMapper.java @@ -23,4 +23,6 @@ public interface RtRiskInventoryTypeMapper extends BaseMapper queryList(@Param(Constants.WRAPPER) QueryWrapper queryWrapper); IPage queryList(Page page, @Param(Constants.WRAPPER) QueryWrapper queryWrapper); + + void deleteChild(String id); } diff --git a/src/main/java/com/zhgd/xmgl/modules/rt/mapper/RtWorkTicketToRiskSecurityLibraryTypeMapper.java b/src/main/java/com/zhgd/xmgl/modules/rt/mapper/RtWorkTicketToRiskSecurityLibraryTypeMapper.java index 4bea5bf6a..174db7e47 100644 --- a/src/main/java/com/zhgd/xmgl/modules/rt/mapper/RtWorkTicketToRiskSecurityLibraryTypeMapper.java +++ b/src/main/java/com/zhgd/xmgl/modules/rt/mapper/RtWorkTicketToRiskSecurityLibraryTypeMapper.java @@ -3,6 +3,9 @@ package com.zhgd.xmgl.modules.rt.mapper; import com.zhgd.xmgl.modules.rt.entity.RtWorkTicketToRiskSecurityLibraryType; import org.apache.ibatis.annotations.Mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * @Description: 榕图-工作票和风险安全库-作业类型、工序及部位中间表 @@ -12,5 +15,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; */ @Mapper public interface RtWorkTicketToRiskSecurityLibraryTypeMapper extends BaseMapper { + List selectTypeIdsStrByRtWorkTicketId(@Param("rtWorkTicketId") Long rtWorkTicketId); + } diff --git a/src/main/java/com/zhgd/xmgl/modules/rt/mapper/RtWorkTicketToVideoItemMapper.java b/src/main/java/com/zhgd/xmgl/modules/rt/mapper/RtWorkTicketToVideoItemMapper.java new file mode 100644 index 000000000..791b4b887 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/rt/mapper/RtWorkTicketToVideoItemMapper.java @@ -0,0 +1,20 @@ +package com.zhgd.xmgl.modules.rt.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.zhgd.xmgl.modules.rt.entity.RtMaterialOrder; +import com.zhgd.xmgl.modules.rt.entity.RtWorkTicketToVideoItem; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * @Description: 榕图-工作票和视频设备中间表 + * @author: pds + * @date: 2023-12-21 + * @version: V1.0 + */ +@Mapper +public interface RtWorkTicketToVideoItemMapper extends BaseMapper { + + List queryVideoItemList(List ids); +} diff --git a/src/main/java/com/zhgd/xmgl/modules/rt/mapper/xml/RtRiskInventoryTypeMapper.xml b/src/main/java/com/zhgd/xmgl/modules/rt/mapper/xml/RtRiskInventoryTypeMapper.xml index 496139f46..535b8b9d0 100644 --- a/src/main/java/com/zhgd/xmgl/modules/rt/mapper/xml/RtRiskInventoryTypeMapper.xml +++ b/src/main/java/com/zhgd/xmgl/modules/rt/mapper/xml/RtRiskInventoryTypeMapper.xml @@ -6,4 +6,10 @@ from rt_risk_inventory_type ${ew.customSqlSegment} + + + delete + from rt_risk_inventory_type + where find_in_set(#{id}, predecessor_ids) + diff --git a/src/main/java/com/zhgd/xmgl/modules/rt/mapper/xml/RtWorkTicketMapper.xml b/src/main/java/com/zhgd/xmgl/modules/rt/mapper/xml/RtWorkTicketMapper.xml index 03f97f0bb..577bb400d 100644 --- a/src/main/java/com/zhgd/xmgl/modules/rt/mapper/xml/RtWorkTicketMapper.xml +++ b/src/main/java/com/zhgd/xmgl/modules/rt/mapper/xml/RtWorkTicketMapper.xml @@ -1,20 +1,30 @@ - + - + + + + + - diff --git a/src/main/java/com/zhgd/xmgl/modules/rt/mapper/xml/RtWorkTicketToRiskSecurityLibraryTypeMapper.xml b/src/main/java/com/zhgd/xmgl/modules/rt/mapper/xml/RtWorkTicketToRiskSecurityLibraryTypeMapper.xml index 0bd20ee28..e02f244ec 100644 --- a/src/main/java/com/zhgd/xmgl/modules/rt/mapper/xml/RtWorkTicketToRiskSecurityLibraryTypeMapper.xml +++ b/src/main/java/com/zhgd/xmgl/modules/rt/mapper/xml/RtWorkTicketToRiskSecurityLibraryTypeMapper.xml @@ -1,4 +1,10 @@ + diff --git a/src/main/java/com/zhgd/xmgl/modules/rt/mapper/xml/RtWorkTicketToVideoItemMapper.xml b/src/main/java/com/zhgd/xmgl/modules/rt/mapper/xml/RtWorkTicketToVideoItemMapper.xml new file mode 100644 index 000000000..827ab5492 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/rt/mapper/xml/RtWorkTicketToVideoItemMapper.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + diff --git a/src/main/java/com/zhgd/xmgl/modules/rt/service/IRtRiskInventoryTypeService.java b/src/main/java/com/zhgd/xmgl/modules/rt/service/IRtRiskInventoryTypeService.java index e531cb05f..f7e609e93 100644 --- a/src/main/java/com/zhgd/xmgl/modules/rt/service/IRtRiskInventoryTypeService.java +++ b/src/main/java/com/zhgd/xmgl/modules/rt/service/IRtRiskInventoryTypeService.java @@ -28,4 +28,6 @@ public interface IRtRiskInventoryTypeService extends IService queryTreePageList(HashMap paramMap); void importExcelTemplate(MultipartFile excelFile, String projectSn) throws Exception; + + void delete(HashMap map); } diff --git a/src/main/java/com/zhgd/xmgl/modules/rt/service/IRtRiskSecurityLibraryTypeConcreteService.java b/src/main/java/com/zhgd/xmgl/modules/rt/service/IRtRiskSecurityLibraryTypeConcreteService.java index 234c35cac..e23cc6a74 100644 --- a/src/main/java/com/zhgd/xmgl/modules/rt/service/IRtRiskSecurityLibraryTypeConcreteService.java +++ b/src/main/java/com/zhgd/xmgl/modules/rt/service/IRtRiskSecurityLibraryTypeConcreteService.java @@ -19,4 +19,6 @@ public interface IRtRiskSecurityLibraryTypeConcreteService extends IService selectCompanyRtRiskSecurityLibraryTypeConcreteList(Map map); void updateRtRiskSecurityLibraryTypeConcreteUsable(Map map); + + RtRiskSecurityLibraryTypeConcrete queryJobPrerequisite(Map map); } diff --git a/src/main/java/com/zhgd/xmgl/modules/rt/service/IRtWorkTicketService.java b/src/main/java/com/zhgd/xmgl/modules/rt/service/IRtWorkTicketService.java index b4f0f7560..48d47b89b 100644 --- a/src/main/java/com/zhgd/xmgl/modules/rt/service/IRtWorkTicketService.java +++ b/src/main/java/com/zhgd/xmgl/modules/rt/service/IRtWorkTicketService.java @@ -22,4 +22,6 @@ public interface IRtWorkTicketService extends IService { void add(RtWorkTicket rtWorkTicket); void edit(RtWorkTicket rtWorkTicket); + + void delete(HashMap map); } diff --git a/src/main/java/com/zhgd/xmgl/modules/rt/service/impl/RtRiskInventoryTypeServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/rt/service/impl/RtRiskInventoryTypeServiceImpl.java index 3b0d61364..623713e37 100644 --- a/src/main/java/com/zhgd/xmgl/modules/rt/service/impl/RtRiskInventoryTypeServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/rt/service/impl/RtRiskInventoryTypeServiceImpl.java @@ -2,6 +2,7 @@ package com.zhgd.xmgl.modules.rt.service.impl; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -12,19 +13,19 @@ import com.zhgd.xmgl.modules.rt.entity.RtRiskInventoryType; import com.zhgd.xmgl.modules.rt.entity.RtRiskSecurityLibraryType; import com.zhgd.xmgl.modules.rt.mapper.RtRiskInventoryTypeMapper; import com.zhgd.xmgl.modules.rt.service.IRtRiskInventoryTypeService; -import com.zhgd.xmgl.util.*; +import com.zhgd.xmgl.util.ExcelUtils; +import com.zhgd.xmgl.util.MessageUtil; +import com.zhgd.xmgl.util.PageUtil; +import com.zhgd.xmgl.util.RefUtil; import org.apache.commons.collections.MapUtils; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; -import java.io.IOException; import java.io.InputStream; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; /** @@ -68,6 +69,14 @@ public class RtRiskInventoryTypeServiceImpl extends ServiceImpl() + .eq(RtRiskInventoryType::getId, rtRiskInventoryType.getParentId())); + rtRiskInventoryType.setPredecessorIds(tp.getPredecessorIds() + "," + rtRiskInventoryType.getParentId()); + } else { + //顶级 + rtRiskInventoryType.setPredecessorIds("0"); + } baseMapper.insert(rtRiskInventoryType); } @@ -105,18 +114,96 @@ public class RtRiskInventoryTypeServiceImpl extends ServiceImpl libraryObj = new HashMap<>(); - for (Map importInfo : list) { - //风险编号 工序 风险可能导致的后果 风险评定值D 风险级别 风险控制关键因素 预控措施 备注 - if (importInfo == null || importInfo.get("风险编号") == null || importInfo.get("风险编号").equals("")) { - continue; + List readTypeList = list.stream().map(m -> { + RtRiskInventoryType type = new RtRiskInventoryType(); + type.setProcessName(m.get("工序")); + //补零 + String x = m.get("风险编号"); + String z = "0"; + for (int i = 0; i < 8 - x.length(); i++) { + x = z + x; + } + String regex = "\\d{8}"; + if (!x.matches(regex)) { + throw new OpenAlertException("导入失败,风险编号不是8位数字类型"); + } + type.setCode(x); + type.setProjectSn(projectSn); + //type.setLevel(); + type.setRiskPossibleConsequence(m.get("风险可能导致的后果")); + type.setRiskAssessmentValueD(m.get("风险评定值D")); + type.setRiskLevel(m.get("风险级别")); + type.setKeyFactorsInRiskControl(m.get("风险控制关键因素")); + type.setPrecaution(m.get("预控措施")); + //type.setPredecessorIds(); + return type; + }).filter(rtRiskInventoryType -> StrUtil.isNotBlank(rtRiskInventoryType.getCode())).sorted((o1, o2) -> o1.getCode().compareTo(o2.getCode())).collect(Collectors.toList()); + for (RtRiskInventoryType t : readTypeList) { + // 查询编码是否存在,存在就更新,不存在就新增 + RtRiskInventoryType rtRiskInventoryType = rtRiskInventoryTypeMapper.selectOne(new LambdaQueryWrapper() + .eq(RtRiskInventoryType::getCode, t.getCode()) + .eq(RtRiskInventoryType::getProjectSn, projectSn) + ); + if (rtRiskInventoryType == null) { + String code = t.getCode(); + //去掉后面所有的0 + String c = code.replaceAll("0+$", ""); + String parentCode = c; + if (c.length() / 2 == 1) { + parentCode = StringUtils.chop(parentCode); + } else { + parentCode = StringUtils.chop(parentCode); + parentCode = StringUtils.chop(parentCode); + } + for (int i = parentCode.length(); i < 8; i++) { + parentCode += "0"; + } + if (parentCode.equals("00000000")) { + //最顶级 + t.setParentId(0L); + t.setPredecessorIds("0"); + } else { + RtRiskInventoryType parent = rtRiskInventoryTypeMapper.selectOne(new LambdaQueryWrapper() + .eq(RtRiskInventoryType::getCode, parentCode) + .eq(RtRiskInventoryType::getProjectSn, projectSn) + ); + //检查上级编码,不存在则报错; + if (parent == null) { + throw new OpenAlertException("编码" + code + "不存在父级"); + } + t.setParentId(parent.getId()); + t.setPredecessorIds(parent.getPredecessorIds() + "," + parent.getId()); + } + rtRiskInventoryTypeMapper.insert(t); + } else { + rtRiskInventoryTypeMapper.update(t, new LambdaQueryWrapper() + .eq(RtRiskInventoryType::getCode, t.getCode()) + .eq(RtRiskInventoryType::getProjectSn, projectSn) + ); } - String code = importInfo.get("编码").trim(); - String typeName = importInfo.get("作业类型、工序及部位"); - String newCode = CodeUtils.subCode(code); } + } + public static void main(String[] args) { + String input = "00000000"; + String regex = "\\d{8}"; + if (input.matches(regex)) { + System.out.println("字符串是一个8位数字。"); + } else { + System.out.println("字符串不是一个8位数字。"); + } + } + + @Override + public void delete(HashMap map) { + String id = MapUtils.getString(map, "id"); + RtRiskInventoryType taskProgress = getById(id); + if (taskProgress == null) { + throw new OpenAlertException("未找到对应实体"); + } + removeById(id); + baseMapper.deleteChild(id); } public List getParentChildList(HashMap paramMap) { diff --git a/src/main/java/com/zhgd/xmgl/modules/rt/service/impl/RtRiskSecurityLibraryTypeConcreteServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/rt/service/impl/RtRiskSecurityLibraryTypeConcreteServiceImpl.java index 3ab318eb5..4d186d891 100644 --- a/src/main/java/com/zhgd/xmgl/modules/rt/service/impl/RtRiskSecurityLibraryTypeConcreteServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/rt/service/impl/RtRiskSecurityLibraryTypeConcreteServiceImpl.java @@ -1,11 +1,13 @@ package com.zhgd.xmgl.modules.rt.service.impl; +import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.zhgd.xmgl.modules.rt.entity.RtRiskSecurityLibraryDisable; import com.zhgd.xmgl.modules.rt.entity.RtRiskSecurityLibraryTypeConcrete; import com.zhgd.xmgl.modules.rt.entity.RtRiskSecurityLibraryType; +import com.zhgd.xmgl.modules.rt.entity.RtWorkTicket; import com.zhgd.xmgl.modules.rt.mapper.RtRiskSecurityLibraryTypeConcreteMapper; import com.zhgd.xmgl.modules.rt.mapper.RtRiskSecurityLibraryTypeMapper; import com.zhgd.xmgl.modules.rt.service.IRtRiskSecurityLibraryTypeConcreteService; @@ -83,6 +85,27 @@ public class RtRiskSecurityLibraryTypeConcreteServiceImpl extends ServiceImpl map) { + Object idList = MapUtils.getObject(map, "rtRiskSecurityLibraryTypeIdList"); + List rtRiskSecurityLibraryTypeIdList = (List) idList; + RtRiskSecurityLibraryTypeConcrete rtWorkTicket = new RtRiskSecurityLibraryTypeConcrete(); + if (CollUtil.isNotEmpty(rtRiskSecurityLibraryTypeIdList)) { + List rtRiskSecurityLibraryTypes = rtRiskSecurityLibraryTypeConcreteMapper.selectList(new LambdaQueryWrapper() + .in(RtRiskSecurityLibraryTypeConcrete::getRtRiskSecurityLibraryTypeId, rtRiskSecurityLibraryTypeIdList)); + StringBuilder sb1 = new StringBuilder(); + StringBuilder sb2 = new StringBuilder(); + for (int i = 0; i < rtRiskSecurityLibraryTypes.size(); i++) { + RtRiskSecurityLibraryTypeConcrete concrete = rtRiskSecurityLibraryTypes.get(i); + sb1.append("(" + (i + 1) + ") " + concrete.getJobPrerequisite() + "\r\n"); + sb2.append("(" + (i + 1) + ") " + concrete.getOperationProcessRiskControlMeasure() + "\r\n"); + } + rtWorkTicket.setJobPrerequisite(sb1.toString()); + rtWorkTicket.setOperationProcessRiskControlMeasure(sb2.toString()); + } + return rtWorkTicket; + } + private void enableRtRiskSecurityLibraryType(String id) { RtRiskSecurityLibraryTypeConcrete rtRiskSecurityLibraryTypeConcrete = rtRiskSecurityLibraryTypeConcreteMapper.selectById(id); Long rtRiskSecurityLibraryTypeId = rtRiskSecurityLibraryTypeConcrete.getRtRiskSecurityLibraryTypeId(); diff --git a/src/main/java/com/zhgd/xmgl/modules/rt/service/impl/RtWorkTicketServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/rt/service/impl/RtWorkTicketServiceImpl.java index f6f3f3b43..c5e93e4d0 100644 --- a/src/main/java/com/zhgd/xmgl/modules/rt/service/impl/RtWorkTicketServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/rt/service/impl/RtWorkTicketServiceImpl.java @@ -8,16 +8,17 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.zhgd.jeecg.common.execption.OpenAlertException; import com.zhgd.jeecg.common.system.query.QueryGenerator; -import com.zhgd.xmgl.modules.rt.entity.RtRiskSecurityLibraryType; -import com.zhgd.xmgl.modules.rt.entity.RtWorkTicket; -import com.zhgd.xmgl.modules.rt.entity.RtWorkTicketToRiskSecurityLibraryType; -import com.zhgd.xmgl.modules.rt.mapper.RtRiskSecurityLibraryTypeMapper; -import com.zhgd.xmgl.modules.rt.mapper.RtWorkTicketMapper; -import com.zhgd.xmgl.modules.rt.mapper.RtWorkTicketToRiskSecurityLibraryTypeMapper; +import com.zhgd.xmgl.modules.project.mapper.ProjectVideoConfigMapper; +import com.zhgd.xmgl.modules.rt.entity.*; +import com.zhgd.xmgl.modules.rt.mapper.*; import com.zhgd.xmgl.modules.rt.service.IRtWorkTicketService; +import com.zhgd.xmgl.modules.video.entity.VideoItem; +import com.zhgd.xmgl.modules.video.mapper.VideoItemMapper; import com.zhgd.xmgl.util.PageUtil; import com.zhgd.xmgl.util.RefUtil; +import org.apache.commons.collections.MapUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -25,6 +26,10 @@ import org.springframework.transaction.annotation.Transactional; import java.util.HashMap; import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.function.Function; +import java.util.stream.Collectors; /** * @Description: 榕图-工作票 @@ -41,6 +46,15 @@ public class RtWorkTicketServiceImpl extends ServiceImpl queryPageList(HashMap paramMap) { @@ -65,6 +79,14 @@ public class RtWorkTicketServiceImpl extends ServiceImpl dealList(List list) { + List ids = list.stream().map(RtWorkTicket::getId).collect(Collectors.toList()); + if (CollUtil.isNotEmpty(ids)) { + List toVideoItems = rtWorkTicketToVideoItemMapper.queryVideoItemList(ids); + Map ticketMap = toVideoItems.stream().collect(Collectors.toMap(RtWorkTicketToVideoItem::getRtWorkTicketId, Function.identity())); + for (RtWorkTicket rtWorkTicket : list) { + rtWorkTicket.setVideoList(Optional.ofNullable(ticketMap.get(rtWorkTicket.getId())).map(RtWorkTicketToVideoItem::getVideoItems).orElse(null)); + } + } return list; } @@ -74,6 +96,20 @@ public class RtWorkTicketServiceImpl extends ServiceImpl videoList = rtWorkTicket.getVideoList(); + if (CollUtil.isNotEmpty(videoList)) { + for (VideoItem videoItem : videoList) { + RtWorkTicketToVideoItem entity = new RtWorkTicketToVideoItem(); + entity.setRtWorkTicketId(rtWorkTicket.getId()); + entity.setVideoItemId(videoItem.getItemId()); + rtWorkTicketToVideoItemMapper.insert(entity); + } + } } private void insertRelIf(RtWorkTicket rtWorkTicket) { @@ -122,5 +158,19 @@ public class RtWorkTicketServiceImpl extends ServiceImpl() + .eq(RtWorkTicketToVideoItem::getRtWorkTicketId, rtWorkTicket.getId())); + insertVideoItemIf(rtWorkTicket); + } + + @Override + public void delete(HashMap map) { + String id = MapUtils.getString(map, "id"); + RtWorkTicket taskProgress = getById(id); + if (taskProgress == null) { + throw new OpenAlertException("未找到对应实体"); + } + removeById(id); } } diff --git a/src/main/java/com/zhgd/xmgl/modules/video/entity/VideoItem.java b/src/main/java/com/zhgd/xmgl/modules/video/entity/VideoItem.java index fab0dec9b..0997324ad 100644 --- a/src/main/java/com/zhgd/xmgl/modules/video/entity/VideoItem.java +++ b/src/main/java/com/zhgd/xmgl/modules/video/entity/VideoItem.java @@ -123,6 +123,20 @@ public class VideoItem implements Serializable { @ApiModelProperty(value = "设备ip") private String ip; + @ApiModelProperty(value = "ylww-监控点编号") + private java.lang.String monitoringPointCode; + + @ApiModelProperty(value = "ylww-监控点位置(JKDWZ001:作业面,JKDWZ002:料场,JKDWZ003:车辆出入口,JKDWZ004:人员出入口,JKDWZ005:洗轮机,JKDWZ006:围墙,JKDWZ007:塔吊,JKDWZ008:其他)") + private java.lang.String monitoringPointLocation; + + /** + * 纬度 + */ + private String latitude; + /** + * 经度 + */ + private String longitude; /** * 项目sn */ @@ -173,18 +187,4 @@ public class VideoItem implements Serializable { @ApiModelProperty(value = "报警总数") private java.lang.Integer alarmCount; - @ApiModelProperty(value = "ylww-监控点编号") - private java.lang.String monitoringPointCode; - - @ApiModelProperty(value = "ylww-监控点位置(JKDWZ001:作业面,JKDWZ002:料场,JKDWZ003:车辆出入口,JKDWZ004:人员出入口,JKDWZ005:洗轮机,JKDWZ006:围墙,JKDWZ007:塔吊,JKDWZ008:其他)") - private java.lang.String monitoringPointLocation; - - /** - * 纬度 - */ - private String latitude; - /** - *经度 - */ - private String longitude; } diff --git a/src/main/java/com/zhgd/xmgl/task/StandardDevTask.java b/src/main/java/com/zhgd/xmgl/task/StandardDevTask.java index bc781ec71..bee0418e3 100644 --- a/src/main/java/com/zhgd/xmgl/task/StandardDevTask.java +++ b/src/main/java/com/zhgd/xmgl/task/StandardDevTask.java @@ -21,6 +21,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RestController; import java.text.DecimalFormat; import java.text.SimpleDateFormat; @@ -38,6 +40,7 @@ import java.util.stream.Collectors; **/ @Log4j @Component +@RestController public class StandardDevTask { @Autowired @@ -262,7 +265,8 @@ public class StandardDevTask { * 定时调用外部接口拉取设备实时数据 */ @Scheduled(cron = "0 0/2 * * * ?") - @SchedulerLock(name = "getStandardData", lockAtMostFor = 1000*60*2, lockAtLeastFor = 1000*60*1) + @SchedulerLock(name = "getStandardData", lockAtMostFor = 1000 * 60 * 2, lockAtLeastFor = 1000 * 60 * 1) + @GetMapping("/getStandardData") public void getStandardData(){ if (isGetStandardData) { try { diff --git a/src/main/java/com/zhgd/xmgl/util/StandardDevUtil.java b/src/main/java/com/zhgd/xmgl/util/StandardDevUtil.java index 3f9029aa3..456753cab 100644 --- a/src/main/java/com/zhgd/xmgl/util/StandardDevUtil.java +++ b/src/main/java/com/zhgd/xmgl/util/StandardDevUtil.java @@ -23,17 +23,24 @@ import java.util.Map; public class StandardDevUtil { //账户 - public static final String loginName = "t210127lekd"; + //public static final String loginName = "t210127lekd"; + public static final String loginName = "2023wenshiduceshi"; //密码 - public static final String password = "t210127lekd"; - public static final String url = "http://iot.0531yun.cn/wsjc"; + //public static final String password = "t210127lekd"; + public static final String password = "2023wenshiduceshi"; + //public static final String url = "http://iot.0531yun.cn/wsjc"; + public static final String url = "https://www.0531yun.com"; private static String userId = ""; public static String getLoginUserId() { Map param = new HashMap<>(); param.put("loginName", loginName); param.put("password", password); - String result = HttpUtil.post(url + "/app/Login", JSONUtil.toJsonStr(param)); + String urlString = url + "/app/Login"; + String body = JSONUtil.toJsonStr(param); + log.info("url:{},body:{}", urlString, body); + String result = HttpUtil.post(urlString, body); + log.info("result:{}", result); if (StringUtils.isNotEmpty(result)) { JSONObject object = JSONObject.parseObject(result); String code = String.valueOf(object.get("code").toString()); @@ -53,8 +60,10 @@ public class StandardDevUtil { param.put("groupId", groupId); Map headerMap = new HashMap<>(); headerMap.put("userId", userId); - String result = get(url + "/app/GetDeviceData", param, headerMap); - //log.info("result:"+result); + String urlString = url + "/app/GetDeviceData"; + log.info("url:{},param:{},headerMap:{}", urlString, param, headerMap); + String result = get(urlString, param, headerMap); + log.info("result:{}", result); if (StringUtils.isNotEmpty(result)) { log.info("------------获取标样室实时数据结果---------"); JSONObject object = JSONObject.parseObject(result); @@ -73,8 +82,7 @@ public class StandardDevUtil { } public static void main(String[] args) { - //log.info(getLoginUserId()); - //log.info(getDeviceData("").toJSONString()); - + getLoginUserId(); + getDeviceData(""); } } diff --git a/src/main/resources/excel/风险安全库导入模板 .xlsx b/src/main/resources/excel/风险安全库导入模板.xlsx similarity index 100% rename from src/main/resources/excel/风险安全库导入模板 .xlsx rename to src/main/resources/excel/风险安全库导入模板.xlsx