bug修复
This commit is contained in:
parent
9e548566e7
commit
57f8d61700
@ -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<RtRiskInventoryType> delete(@ApiIgnore @RequestBody HashMap<String, Object> map) {
|
||||
String id = MapUtils.getString(map, "id");
|
||||
Result<RtRiskInventoryType> result = new Result<RtRiskInventoryType>();
|
||||
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();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -140,16 +140,13 @@ public class RtRiskSecurityLibraryTypeConcreteController {
|
||||
return result;
|
||||
}
|
||||
|
||||
@OperLog(operModul = "质量管理", operType = "批量修改榕图-风险安全库-作业风险及条件具体项启用禁用", operDesc = "批量修改榕图-风险安全库-作业风险及条件具体项启用禁用")
|
||||
@ApiOperation(value = "批量修改榕图-风险安全库-作业风险及条件具体项启用禁用", notes = "批量修改榕图-风险安全库-作业风险及条件具体项启用禁用", httpMethod = "POST")
|
||||
@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"),
|
||||
@ApiImplicitParam(name = "rtRiskSecurityLibraryTypeIdList", value = "榕图-风险安全库-作业类型、工序及部位idList", paramType = "body", required = true, dataType = "String"),
|
||||
})
|
||||
@PostMapping(value = "/updateRtRiskSecurityLibraryTypeConcreteUsable")
|
||||
public Result updateRtRiskSecurityLibraryTypeConcreteUsable(@RequestBody Map<String, Object> map) {
|
||||
rtRiskSecurityLibraryTypeConcreteService.updateRtRiskSecurityLibraryTypeConcreteUsable(map);
|
||||
return Result.ok();
|
||||
@PostMapping(value = "/queryJobPrerequisite")
|
||||
public Result<RtRiskSecurityLibraryTypeConcrete> queryJobPrerequisite(@RequestBody Map<String, Object> map) {
|
||||
return Result.success(rtRiskSecurityLibraryTypeConcreteService.queryJobPrerequisite(map));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -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<RtWorkTicket> delete(@ApiIgnore @RequestBody HashMap<String, Object> map) {
|
||||
String id = MapUtils.getString(map, "id");
|
||||
Result<RtWorkTicket> result = new Result<RtWorkTicket>();
|
||||
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();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -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 = "榕图-风险清册类型子集")
|
||||
|
||||
@ -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<String> rtRiskSecurityLibraryTypeIdList;
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "视频设备列表")
|
||||
private List<VideoItem> videoList;
|
||||
@ApiModelProperty(value = "视频配置")
|
||||
@TableField(exist = false)
|
||||
private ProjectVideoConfig projectVideoConfig;
|
||||
|
||||
}
|
||||
|
||||
@ -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<VideoItem> videoItems;
|
||||
}
|
||||
@ -23,4 +23,6 @@ public interface RtRiskInventoryTypeMapper extends BaseMapper<RtRiskInventoryTyp
|
||||
List<RtRiskInventoryType> queryList(@Param(Constants.WRAPPER) QueryWrapper<RtRiskInventoryType> queryWrapper);
|
||||
|
||||
IPage<RtRiskInventoryType> queryList(Page<RtRiskInventoryType> page, @Param(Constants.WRAPPER) QueryWrapper<RtRiskInventoryType> queryWrapper);
|
||||
|
||||
void deleteChild(String id);
|
||||
}
|
||||
|
||||
@ -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<RtWorkTicketToRiskSecurityLibraryType> {
|
||||
List<String> selectTypeIdsStrByRtWorkTicketId(@Param("rtWorkTicketId") Long rtWorkTicketId);
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -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<RtWorkTicketToVideoItem> {
|
||||
|
||||
List<RtWorkTicketToVideoItem> queryVideoItemList(List<Long> ids);
|
||||
}
|
||||
@ -6,4 +6,10 @@
|
||||
from rt_risk_inventory_type
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
<delete id="deleteChild">
|
||||
delete
|
||||
from rt_risk_inventory_type
|
||||
where find_in_set(#{id}, predecessor_ids)
|
||||
</delete>
|
||||
</mapper>
|
||||
|
||||
@ -1,20 +1,30 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.zhgd.xmgl.modules.rt.mapper.RtWorkTicketMapper">
|
||||
<resultMap id="queryListResultMap" type="com.zhgd.xmgl.modules.rt.entity.RtWorkTicket">
|
||||
<resultMap id="queryListResultMap" type="com.zhgd.xmgl.modules.rt.entity.RtWorkTicket" autoMapping="true">
|
||||
<id column="id" jdbcType="BIGINT" property="id"/>
|
||||
<collection property="rtRiskSecurityLibraryTypeIdList" column="id" ofType="string"
|
||||
select="queryRtWorkTicketToRiskSecurityLibraryTypeId"/>
|
||||
<association property="projectVideoConfig" javaType="com.zhgd.xmgl.modules.project.entity.ProjectVideoConfig"
|
||||
columnPrefix="pvc_" autoMapping="true">
|
||||
<id column="pvc_id" property="id"/>
|
||||
</association>
|
||||
<collection property="rtRiskSecurityLibraryTypeIdList" column="id" ofType="java.lang.String"
|
||||
select="com.zhgd.xmgl.modules.rt.mapper.RtWorkTicketToRiskSecurityLibraryTypeMapper.selectTypeIdsStrByRtWorkTicketId">
|
||||
</collection>
|
||||
</resultMap>
|
||||
<select id="queryList" resultMap="queryListResultMap">
|
||||
select rwt.*
|
||||
select rwt.*,
|
||||
pvc.id as pvc_id,
|
||||
pvc.project_sn as pvc_project_sn,
|
||||
pvc.video_type as pvc_video_type,
|
||||
pvc.is_enable as pvc_is_enable,
|
||||
pvc.account as pvc_account,
|
||||
pvc.`password` as pvc_password ,
|
||||
pvc.app_id as pvc_app_id,
|
||||
pvc.app_secret as pvc_app_secret,
|
||||
pvc.play_type as pvc_play_type
|
||||
from rt_work_ticket rwt
|
||||
left join project_video_config pvc on pvc.project_sn=rwt.project_sn and is_enable=1
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
<select id="queryRtWorkTicketToRiskSecurityLibraryTypeId" resultType="java.lang.String">
|
||||
SELECT CONCAT(rt_risk_security_library_type_id) rt_work_ticket_to_risk_security_library_type_id
|
||||
FROM rt_work_ticket_to_risk_security_library_type
|
||||
WHERE rt_work_ticket_id = #{rtWorkTicketId}
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
@ -1,4 +1,10 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.zhgd.xmgl.modules.rt.mapper.RtWorkTicketToRiskSecurityLibraryTypeMapper">
|
||||
<select id="selectTypeIdsStrByRtWorkTicketId" resultType="java.lang.String">
|
||||
select
|
||||
rt_risk_security_library_type_id
|
||||
from rt_work_ticket_to_risk_security_library_type
|
||||
where rt_work_ticket_id=#{rtWorkTicketId}
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.zhgd.xmgl.modules.rt.mapper.RtWorkTicketToVideoItemMapper">
|
||||
<resultMap id="queryVideoItemListRm" type="com.zhgd.xmgl.modules.rt.entity.RtWorkTicketToVideoItem"
|
||||
autoMapping="true">
|
||||
<id column="rt_work_ticket_id" property="rtWorkTicketId"/>
|
||||
<collection property="videoItems" ofType="com.zhgd.xmgl.modules.video.entity.VideoItem" autoMapping="true">
|
||||
<id property="itemId" column="item_id"/>
|
||||
</collection>
|
||||
</resultMap>
|
||||
<select id="queryVideoItemList" resultMap="queryVideoItemListRm">
|
||||
select rwttvi.rt_work_ticket_id,vi.* from rt_work_ticket_to_video_item rwttvi
|
||||
join video_item vi on rwttvi.video_item_id = vi.item_id
|
||||
where rwttvi.rt_work_ticket_id in
|
||||
<foreach item="item" index="index" collection="list"
|
||||
open="(" separator="," close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
</select>
|
||||
</mapper>
|
||||
@ -28,4 +28,6 @@ public interface IRtRiskInventoryTypeService extends IService<RtRiskInventoryTyp
|
||||
IPage<RtRiskInventoryType> queryTreePageList(HashMap<String, Object> paramMap);
|
||||
|
||||
void importExcelTemplate(MultipartFile excelFile, String projectSn) throws Exception;
|
||||
|
||||
void delete(HashMap<String, Object> map);
|
||||
}
|
||||
|
||||
@ -19,4 +19,6 @@ public interface IRtRiskSecurityLibraryTypeConcreteService extends IService<RtRi
|
||||
List<RtRiskSecurityLibraryTypeConcrete> selectCompanyRtRiskSecurityLibraryTypeConcreteList(Map<String, Object> map);
|
||||
|
||||
void updateRtRiskSecurityLibraryTypeConcreteUsable(Map<String, Object> map);
|
||||
|
||||
RtRiskSecurityLibraryTypeConcrete queryJobPrerequisite(Map<String, Object> map);
|
||||
}
|
||||
|
||||
@ -22,4 +22,6 @@ public interface IRtWorkTicketService extends IService<RtWorkTicket> {
|
||||
void add(RtWorkTicket rtWorkTicket);
|
||||
|
||||
void edit(RtWorkTicket rtWorkTicket);
|
||||
|
||||
void delete(HashMap<String, Object> map);
|
||||
}
|
||||
|
||||
@ -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<RtRiskInventoryT
|
||||
@Override
|
||||
public void add(RtRiskInventoryType rtRiskInventoryType) {
|
||||
rtRiskInventoryType.setId(null);
|
||||
if (!Objects.equals(rtRiskInventoryType.getParentId(), 0L)) {
|
||||
RtRiskInventoryType tp = baseMapper.selectOne(new LambdaQueryWrapper<RtRiskInventoryType>()
|
||||
.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<RtRiskInventoryT
|
||||
if (list == null || list.size() == 0) {
|
||||
throw new OpenAlertException(MessageUtil.get("excelNotDataErr"));
|
||||
}
|
||||
Map<String, RtRiskSecurityLibraryType> libraryObj = new HashMap<>();
|
||||
for (Map<String, String> importInfo : list) {
|
||||
//风险编号 工序 风险可能导致的后果 风险评定值D 风险级别 风险控制关键因素 预控措施 备注
|
||||
if (importInfo == null || importInfo.get("风险编号") == null || importInfo.get("风险编号").equals("")) {
|
||||
continue;
|
||||
List<RtRiskInventoryType> 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<RtRiskInventoryType>()
|
||||
.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<RtRiskInventoryType>()
|
||||
.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<RtRiskInventoryType>()
|
||||
.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<String, Object> map) {
|
||||
String id = MapUtils.getString(map, "id");
|
||||
RtRiskInventoryType taskProgress = getById(id);
|
||||
if (taskProgress == null) {
|
||||
throw new OpenAlertException("未找到对应实体");
|
||||
}
|
||||
removeById(id);
|
||||
baseMapper.deleteChild(id);
|
||||
}
|
||||
|
||||
public List<RtRiskInventoryType> getParentChildList(HashMap<String, Object> paramMap) {
|
||||
|
||||
@ -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<Rt
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public RtRiskSecurityLibraryTypeConcrete queryJobPrerequisite(Map<String, Object> map) {
|
||||
Object idList = MapUtils.getObject(map, "rtRiskSecurityLibraryTypeIdList");
|
||||
List<String> rtRiskSecurityLibraryTypeIdList = (List<String>) idList;
|
||||
RtRiskSecurityLibraryTypeConcrete rtWorkTicket = new RtRiskSecurityLibraryTypeConcrete();
|
||||
if (CollUtil.isNotEmpty(rtRiskSecurityLibraryTypeIdList)) {
|
||||
List<RtRiskSecurityLibraryTypeConcrete> rtRiskSecurityLibraryTypes = rtRiskSecurityLibraryTypeConcreteMapper.selectList(new LambdaQueryWrapper<RtRiskSecurityLibraryTypeConcrete>()
|
||||
.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();
|
||||
|
||||
@ -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<RtWorkTicketMapper, RtW
|
||||
private RtWorkTicketToRiskSecurityLibraryTypeMapper rtWorkTicketToRiskSecurityLibraryTypeMapper;
|
||||
@Autowired
|
||||
private RtRiskSecurityLibraryTypeMapper rtRiskSecurityLibraryTypeMapper;
|
||||
@Autowired
|
||||
private RtWorkTicketToVideoItemMapper rtWorkTicketToVideoItemMapper;
|
||||
@Autowired
|
||||
private VideoItemMapper videoItemMapper;
|
||||
@Autowired
|
||||
private ProjectVideoConfigMapper projectVideoConfigMapper;
|
||||
@Autowired
|
||||
private RtRiskSecurityLibraryTypeConcreteMapper rtRiskSecurityLibraryTypeConcreteMapper;
|
||||
|
||||
|
||||
@Override
|
||||
public IPage<RtWorkTicket> queryPageList(HashMap<String, Object> paramMap) {
|
||||
@ -65,6 +79,14 @@ public class RtWorkTicketServiceImpl extends ServiceImpl<RtWorkTicketMapper, RtW
|
||||
}
|
||||
|
||||
private List<RtWorkTicket> dealList(List<RtWorkTicket> list) {
|
||||
List<Long> ids = list.stream().map(RtWorkTicket::getId).collect(Collectors.toList());
|
||||
if (CollUtil.isNotEmpty(ids)) {
|
||||
List<RtWorkTicketToVideoItem> toVideoItems = rtWorkTicketToVideoItemMapper.queryVideoItemList(ids);
|
||||
Map<Long, RtWorkTicketToVideoItem> 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<RtWorkTicketMapper, RtW
|
||||
setRtRiskSecurityLibraryTypeStrIf(rtWorkTicket);
|
||||
baseMapper.insert(rtWorkTicket);
|
||||
insertRelIf(rtWorkTicket);
|
||||
insertVideoItemIf(rtWorkTicket);
|
||||
|
||||
}
|
||||
|
||||
private void insertVideoItemIf(RtWorkTicket rtWorkTicket) {
|
||||
List<VideoItem> 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<RtWorkTicketMapper, RtW
|
||||
.eq(RtWorkTicketToRiskSecurityLibraryType::getRtWorkTicketId, rtWorkTicket.getId()));
|
||||
insertRelIf(rtWorkTicket);
|
||||
baseMapper.updateById(rtWorkTicket);
|
||||
//中间表
|
||||
rtWorkTicketToVideoItemMapper.delete(new LambdaQueryWrapper<RtWorkTicketToVideoItem>()
|
||||
.eq(RtWorkTicketToVideoItem::getRtWorkTicketId, rtWorkTicket.getId()));
|
||||
insertVideoItemIf(rtWorkTicket);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void delete(HashMap<String, Object> map) {
|
||||
String id = MapUtils.getString(map, "id");
|
||||
RtWorkTicket taskProgress = getById(id);
|
||||
if (taskProgress == null) {
|
||||
throw new OpenAlertException("未找到对应实体");
|
||||
}
|
||||
removeById(id);
|
||||
}
|
||||
}
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
@ -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 {
|
||||
|
||||
@ -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<String, String> 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<String, String> 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("");
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user