Commit 93d06420 authored by litengwei's avatar litengwei

Merge remote-tracking branch 'origin/develop_dl_plan6' into develop_dl_plan6

parents 63c83664 755498ac
......@@ -8,12 +8,15 @@ import java.util.List;
import javax.servlet.http.HttpServletRequest;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.connection.RedisConnection;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.bind.annotation.*;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
......@@ -309,7 +312,14 @@ public class DataDictionaryController extends BaseController {
Collection<DataDictionary> list = null;
List<Menu> menus = null;
if ("YJLDDW".equals(type)) {
list = dataDictionaryMapper.getNoInLinkUnit();
String bizOrgCode = "";
ReginParams reginParam = JSON.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
if (null != reginParam) {
bizOrgCode = reginParam.getPersonIdentity().getBizOrgCode();
}
list = dataDictionaryMapper.getNoInLinkUnit(bizOrgCode);
// 数据字典生成树方法 原先通过getCode做主键 现修改为 getSequenceNbr 后期数据字典parent字段保存id 而不要保存code by
// kongfm 2021-09-08
// 数据字典还原 by kongfm 2021-09-09
......@@ -399,4 +409,13 @@ public class DataDictionaryController extends BaseController {
}
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@GetMapping(value = "/getUserGroupByType")
@ApiOperation(httpMethod = "GET", value = "根据字典类型type查询字典列表", notes = "根据字典类型type查询字典列表")
public ResponseModel<List<DataDictionary>> getUserGroupByType(@RequestParam(value = "type") String type){
QueryWrapper<DataDictionary> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("type", type);
List<DataDictionary> list = iDataDictionaryService.list(queryWrapper);
return ResponseHelper.buildResponse(list);
}
}
......@@ -4,6 +4,7 @@ import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.boot.biz.common.entity.DataDictionary;
import org.apache.ibatis.annotations.Param;
/**
* 数据字典 Mapper 接口
......@@ -21,7 +22,7 @@ public interface DataDictionaryMapper extends BaseMapper<DataDictionary> {
* 获取包含联动单位的联动单位树信息
* @return
*/
public List<DataDictionary> getNoInLinkUnit();
public List<DataDictionary> getNoInLinkUnit(@Param("bizOrgCode") String bizOrgCode);
/**
* 根据code值查询
......
......@@ -44,6 +44,7 @@ GROUP BY
FROM
cb_linkage_unit
WHERE is_delete = 0
and biz_org_code like concat(#{bizOrgCode}, '%')
GROUP BY
emergency_linkage_unit_code
) elink ON elink.emergency_linkage_unit_code = cbb.`code`
......
package com.yeejoin.amos.boot.module.common.api.dto;
import com.yeejoin.amos.boot.biz.common.entity.DataDictionary;
import com.yeejoin.amos.boot.module.common.api.entity.Firefighters;
import com.yeejoin.amos.boot.module.common.api.entity.FirefightersContacts;
import com.yeejoin.amos.boot.module.common.api.entity.OrgUsrAgencyUser;
......
......@@ -3,10 +3,13 @@ package com.yeejoin.amos.boot.module.common.api.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import com.yeejoin.amos.boot.biz.common.entity.DataDictionary;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.util.List;
/**
* 单位人员平台人员关系表
*
......@@ -64,4 +67,10 @@ public class OrgUsrAgencyUser extends BaseEntity {
@TableField(exist = false)
private String upAmosUser;
@TableField(exist = false)
private List<String> groupIdsCode;
@TableField(exist = false)
private List<DataDictionary> dataDictionaryList;
}
......@@ -219,4 +219,8 @@ public class EquipmentSpecificAlarmLog extends BaseEntity {
*/
@TableField(value = "emergency_level_describe")
private String emergencyLevelDescribe;
@ApiModelProperty(value = "是否是缺陷提交确认", notes = "是否是缺陷提交确认")
@TableField(exist = false)
private boolean addDefect;
}
......@@ -3,6 +3,7 @@ package com.yeejoin.amos.boot.module.common.biz.controller;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
......@@ -11,10 +12,7 @@ import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.biz.common.dao.mapper.DataDictionaryMapper;
import com.yeejoin.amos.boot.biz.common.entity.DataDictionary;
import com.yeejoin.amos.boot.biz.common.service.impl.DataDictionaryServiceImpl;
import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
import com.yeejoin.amos.boot.biz.common.utils.Menu;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.biz.common.utils.TreeParser;
import com.yeejoin.amos.boot.biz.common.utils.*;
import com.yeejoin.amos.boot.module.common.api.dto.FireExpertsDto;
import com.yeejoin.amos.boot.module.common.api.entity.FireExperts;
import com.yeejoin.amos.boot.module.common.api.entity.OrgUsr;
......@@ -23,11 +21,13 @@ import com.yeejoin.amos.boot.module.common.api.mapper.OrgUsrMapper;
import com.yeejoin.amos.boot.module.common.biz.service.impl.FireExpertsServiceImpl;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
......@@ -181,6 +181,13 @@ public class FireExpertsController extends BaseController {
public ResponseModel<IPage<FireExpertsDto>> queryForPage(@RequestParam(value = "current") int current,
@RequestParam(value = "size") int size,
FireExpertsDto fireExpertsDto) throws Exception {
ReginParams reginParam = JSON.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
if ( null == reginParam || StringUtils.isEmpty(reginParam.getPersonIdentity().getBizOrgCode())) {
return ResponseHelper.buildResponse(null);
}
fireExpertsDto.setBizOrgCode(reginParam.getPersonIdentity().getBizOrgCode());
Page<FireExpertsDto> page = new Page<>();
page.setCurrent(current);
page.setSize(size);
......@@ -233,6 +240,13 @@ public class FireExpertsController extends BaseController {
// queryWrapper.eq("type", type);
// queryWrapper.orderByAsc("sort_num");
ReginParams reginParam = JSON.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
if ( null == reginParam || StringUtils.isEmpty(reginParam.getPersonIdentity().getBizOrgCode())) {
return ResponseHelper.buildResponse(null);
}
if (StringUtils.isEmpty(bizOrgCode)) {
bizOrgCode = reginParam.getPersonIdentity().getBizOrgCode();
}
Collection<DataDictionary> list = dataDictionaryService.getDataDictionaryAndCount(bizOrgCode);
list.forEach(i->{
i.setName(i.getName()+" ("+i.getCount()+")");
......
......@@ -2,7 +2,10 @@ package com.yeejoin.amos.boot.module.common.biz.controller;
import java.util.List;
import com.alibaba.fastjson.JSON;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.common.api.entity.OrgUsr;
import com.yeejoin.amos.boot.module.common.api.mapper.OrgUsrMapper;
import org.apache.commons.lang3.ObjectUtils;
......@@ -17,6 +20,7 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
......@@ -53,6 +57,9 @@ public class LinkageUnitController extends BaseController {
@Autowired
private OrgUsrMapper orgUsrMapper;
@Autowired
RedisUtils redisUtils;
/**
* 新增联动单位
*
......@@ -148,12 +155,19 @@ public class LinkageUnitController extends BaseController {
(value = "size") int size, String unitName,String linkageUnitTypeCode, String linkageUnitType, String inAgreement, String emergencyLinkageUnitCode,
@RequestParam(required = false) String bizOrgCode,
@RequestParam(required = false) String companyCode) {
if (StringUtils.isNotEmpty(companyCode)) {
ReginParams reginParam = JSON.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
if ( null == reginParam || StringUtils.isEmpty(reginParam.getPersonIdentity().getBizOrgCode())) {
return ResponseHelper.buildResponse(null);
}
if (StringUtils.isNotEmpty(companyCode) && StringUtils.isEmpty(bizOrgCode)) {
OrgUsr orgUsr = orgUsrMapper.queryByCompanyCode(companyCode);
if (ObjectUtils.isNotEmpty(orgUsr)) {
bizOrgCode = orgUsr.getBizOrgCode();
}
}
if (StringUtils.isEmpty(bizOrgCode)) {
bizOrgCode = reginParam.getPersonIdentity().getBizOrgCode();
}
Page<LinkageUnitDto> page = new Page<LinkageUnitDto>();
page.setCurrent(current);
page.setSize(size);
......
package com.yeejoin.amos.boot.module.common.biz.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.biz.common.entity.DataDictionary;
import com.yeejoin.amos.boot.biz.common.service.impl.DataDictionaryServiceImpl;
import com.yeejoin.amos.boot.module.common.api.entity.OrgUsrAgencyUser;
import com.yeejoin.amos.boot.module.common.api.service.IOrgUsrAgencyUserService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
......@@ -16,6 +20,10 @@ import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
/**
* 部门信息修改
*
......@@ -30,6 +38,8 @@ public class OrgUsrAgencyUserController extends BaseController {
@Autowired
IOrgUsrAgencyUserService orgUsrAgencyUserService;
@Autowired
DataDictionaryServiceImpl iDataDictionaryService;
/**
* 查询关联的amos账号信息
......@@ -46,6 +56,16 @@ public class OrgUsrAgencyUserController extends BaseController {
orgUsrAgencyUser.setUpAmosUser("0");
return ResponseHelper.buildResponse(orgUsrAgencyUser);
}
if (!StringUtils.isEmpty(agencyUser.getGroupIds())) {
List<String> list1 = Arrays.asList(agencyUser.getGroupIds().split(","));
QueryWrapper<DataDictionary> queryWrapper = new QueryWrapper<>();
queryWrapper.in("type", list1);
queryWrapper.eq("code", "CB_USER_GROUP");
List<DataDictionary> list = iDataDictionaryService.list(queryWrapper);
orgUsrAgencyUser.setDataDictionaryList(list);
List<String> collect = list.stream().map(DataDictionary::getCode).collect(Collectors.toList());
orgUsrAgencyUser.setGroupIdsCode(collect);
}
return ResponseHelper.buildResponse(agencyUser);
}
}
\ No newline at end of file
......@@ -12,6 +12,7 @@ import com.yeejoin.amos.boot.module.common.api.mapper.OrgUsrMapper;
import com.yeejoin.amos.component.feign.model.Page;
import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.feign.privilege.model.RoleModel;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
......@@ -240,7 +241,9 @@ public class FirefightersServiceImpl extends BaseService<FirefightersDto, Firefi
//删除之前所在用户组
OrgUsrAgencyUser orgUsrAgencyUser = orgUsrAgencyUserMapper.selectOne(new QueryWrapper<OrgUsrAgencyUser>().eq("org_usr_id", id));
if (!ValidationUtil.isEmpty(orgUsrAgencyUser) && amosUser != null ) {
String groupIds = orgUsrAgencyUser.getGroupIds();
List<String> groupIdsList = peopleInfoDto.getOrgUsrAgencyUser().getDataDictionaryList().stream().map(DataDictionary::getCode).distinct().collect(Collectors.toList());
String groupIds = String.join(",", groupIdsList);
if (!"".equals(groupIds) && null != groupIds) {
String[] ids = groupIds.split(",");
for (String gId : ids) {
......
......@@ -3028,10 +3028,13 @@ public class OrgUsrServiceImpl extends BaseService<OrgUsrDto, OrgUsr, OrgUsrMapp
Map<Long, List<RoleModel>> orgRoles = new HashMap<>();
FeignClientResult<List<RoleModel>> roleListResult = Privilege.roleClient.queryRoleList(null, null);
List<RoleModel> allRoleList = roleListResult.getResult();
DataDictionary unitType = dataDictionaryMapper.selectOne(new LambdaQueryWrapper<DataDictionary>().eq(DataDictionary::getCode, "default"));
List<RoleModel> userRoleList = allRoleList.stream().filter(r -> r.getRoleName().equals(unitType.getName()))
List<String> groupIdsList = peopleInfoDto.getOrgUsrAgencyUser().getDataDictionaryList().stream().map(DataDictionary::getCode).distinct().collect(Collectors.toList());
List<String> roleNameList = peopleInfoDto.getOrgUsrAgencyUser().getDataDictionaryList().stream().map(DataDictionary::getExtend).distinct().collect(Collectors.toList());
String groupIdsString = String.join(",", groupIdsList);
String roleNameString = String.join(",", roleNameList);
List<RoleModel> userRoleList = allRoleList.stream().filter(r -> roleNameString.contains(r.getRoleName()))
.collect(Collectors.toList());
String appCode = unitType.getTypeDesc() != null ? unitType.getTypeDesc() : "";
String appCode = "";
String[] appCodes = appCode.split(",");
Collections.addAll(appCodesSet, appCodes);
userRoleList.forEach(r -> {
......@@ -3077,10 +3080,9 @@ public class OrgUsrServiceImpl extends BaseService<OrgUsrDto, OrgUsr, OrgUsrMapp
userResult = Privilege.agencyUserClient.update(agencyUserModel, peopleInfoDto.getOrgUsrAgencyUser().getAmosUserId()).getResult();
}
//绑定用户组
String groupIds = peopleInfoDto.getOrgUsrAgencyUser().getGroupIds();
if (!"".equals(groupIds) && null != groupIds) {
if (!"".equals(groupIdsString) && null != groupIdsString) {
String[] userIds = {userResult.getUserId()};
String[] ids = groupIds.split(",");
String[] ids = groupIdsString.split(",");
for (String id : ids) {
Long groupId = Long.valueOf(id);
Privilege.groupUserClient.create(groupId, Arrays.asList(userIds)).getResult();
......
......@@ -70,6 +70,7 @@ import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.foundation.utils.Bean;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
......@@ -612,7 +613,17 @@ public class FireFightingSystemController extends AbstractBaseController {
@ApiOperation(value = "消防系统列表查询(不分页)", notes = "下拉使用")
@GetMapping(value = "/list")
public List<FireFightingSystemEntity> listAll() {
return fireFightingSystemService.list();
ReginParams reginParams = getSelectedOrgInfo();
ReginParams.PersonIdentity personIdentity = reginParams.getPersonIdentity();
if (!ValidationUtil.isEmpty(personIdentity)) {
String bizOrgCode = personIdentity.getBizOrgCode();
if (StringUtils.isNotBlank(bizOrgCode)) {
QueryWrapper<FireFightingSystemEntity> qw = new QueryWrapper<>();
qw.lambda().likeRight(FireFightingSystemEntity::getBizOrgCode, bizOrgCode);
return fireFightingSystemService.list(qw);
}
}
return new ArrayList<>();
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
......
......@@ -34,6 +34,7 @@ import org.springframework.util.ObjectUtils;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import java.text.SimpleDateFormat;
import java.util.*;
@Service
......@@ -209,15 +210,37 @@ public class ConfirmAlarmServiceImpl extends ServiceImpl<ConfirmAlarmMapper, Equ
ent.setUpdateDate(new Date());
ent.setConfirmDate(new Date());
int i = 0 ;
if (ent.getIsBatch() == 0){
i = equipmentSpecificAlarmLogMapper.updateById(ent);
}else {
LambdaUpdateWrapper<EquipmentSpecificAlarmLog> updateWrapper = new LambdaUpdateWrapper<EquipmentSpecificAlarmLog>().
eq(EquipmentSpecificAlarmLog::getEquipmentSpecificId,ent.getEquipmentSpecificId()).
eq(EquipmentSpecificAlarmLog::getEquipmentSpecificIndexKey,ent.getEquipmentSpecificIndexKey())
.isNull(EquipmentSpecificAlarmLog::getConfirmDate);
i = equipmentSpecificAlarmLogMapper.update(ent, updateWrapper);
ent.setConfirmTypeName(ConfirmAlamEnum.getTypeByCode(ent.getConfirmType()));
if (!ent.isAddDefect()) {
if (ent.getIsBatch() == 0){
i = equipmentSpecificAlarmLogMapper.updateById(ent);
}else {
LambdaUpdateWrapper<EquipmentSpecificAlarmLog> updateWrapper = new LambdaUpdateWrapper<EquipmentSpecificAlarmLog>().
eq(EquipmentSpecificAlarmLog::getEquipmentSpecificId,ent.getEquipmentSpecificId()).
eq(EquipmentSpecificAlarmLog::getEquipmentSpecificIndexKey,ent.getEquipmentSpecificIndexKey())
.isNull(EquipmentSpecificAlarmLog::getConfirmDate);
i = equipmentSpecificAlarmLogMapper.update(ent, updateWrapper);
}
} else {
// 自动确警处理
EquipmentSpecific specific = equipmentSpecificMapper.selectById(ent.getEquipmentSpecificId());
Date date = new Date();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateString = formatter.format(date);
ent.setTraceId(null);
String equipmentName = StringUtil.isNotEmpty(specific.getCode()) ? specific.getName() + "(" + specific.getCode() + ")" : specific.getName();
if (ent.getConfirmType().equals(AlarmTypeEnum.PB.getCode())) {
ent.setAlarmReason(equipmentName + "频繁故障/误报,将设备报警信息屏蔽。");
} else {
ent.setAlarmReason(equipmentName + "引起设备报警");
}
ent.setResolveResult(dateString + "系统收到设备复归(已消除)信号,系统自动处理。");
ent.setConfirmUser("");
ent.setConfirmUserName("系统自动处理");
ent.setConfirmDate(date);
equipmentSpecificAlarmLogService.updateById(ent);
}
//int i = confirmAlarmMapper.confirmAlam(ent);
if (i > 0) {
......
......@@ -593,71 +593,32 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
public void afterCommit() {
// 组态大屏消息推送,设备表实时指标修改
// intePageSysDataRefresh(equipmentSpecificIndexList, topicEntity);
mqttSendGateway.sendToMqtt(TopicEnum.EQXXTJ.getTopic(), "");
mqttSendGateway.sendToMqtt(TopicEnum.EQXXTJ.getTopic(), String.valueOf(System.currentTimeMillis()));
}
});
}
public static List<EquipmentSpecificAlarmLog> upAlarmLogStatus(String iotCode, String equipmentSpecificIndexKey,
String traceId, IEquipmentSpecificAlarmLogService equipmentSpecificAlarmLogService, boolean flag) {
String traceId, IEquipmentSpecificAlarmLogService equipmentSpecificAlarmLogService,
boolean flag) {
LambdaQueryWrapper<EquipmentSpecificAlarmLog> queryWrapper = new LambdaQueryWrapper();
queryWrapper.eq(EquipmentSpecificAlarmLog::getIotCode, iotCode);
queryWrapper.eq(EquipmentSpecificAlarmLog::getEquipmentSpecificIndexKey, equipmentSpecificIndexKey);
queryWrapper.ne(EquipmentSpecificAlarmLog::getStatus, AlarmStatusEnum.HF.getCode());
List<EquipmentSpecificAlarmLog> logs = equipmentSpecificAlarmLogService.getBaseMapper()
.selectList(queryWrapper);
if (0 < logs.size()) {
EquipmentSpecificAlarmLog log = logs.get(0);
String cleanType = equipmentSpecificMapper.getEquipmentBySpecificId(log.getEquipmentSpecificId());
EquipmentSpecific specific = equipmentSpecificMapper.selectById(log.getEquipmentSpecificId());
Date date = new Date();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateString = formatter.format(date);
logs.forEach(x -> {
x.setCleanTime(new Date());
x.setStatus(AlarmStatusEnum.HF.getCode());
x.setEquipmentSpecificIndexValue(TrueOrFalseEnum.fake.value);
if (!StringUtils.isEmpty(traceId)) {
x.setTraceId(traceId);
}
// 自动确警处理
if (StringUtil.isNotEmpty(cleanType) && AlarmCleanTypeEnum.ZDXC.getCode().equals(cleanType)){
x.setConfirmType(x.getType());
x.setConfirmTypeName(ConfirmAlamEnum.getTypeByCode(x.getType()));
String equipmentName = StringUtil.isNotEmpty(specific.getCode()) ? specific.getName() + "(" + specific.getCode() + ")" : specific.getName();
if (x.getType().equals(AlarmTypeEnum.PB.getCode())) {
x.setAlarmReason(equipmentName + "频繁故障/误报,将设备报警信息屏蔽。");
} else {
x.setAlarmReason(equipmentName + "引起设备报警");
}
x.setResolveResult(dateString + "系统收到设备复归(已消除)信号,系统自动处理。");
x.setConfirmUser("");
x.setConfirmUserName("系统自动处理");
x.setConfirmDate(date);
}
});
if (jcsSwitch && AlarmTypeEnum.HZGJ.getCode().equals(log.getType())) {
Token token = remoteSecurityService.getServerToken();
String toke = token.getToke();
String appKey = token.getAppKey();
String product = token.getProduct();
String userId = remoteSecurityService.getAgencyUser().getUserId();
// 确警消息发送
if (org.apache.commons.lang3.StringUtils.isNotBlank(userId)) {
new Thread(new Runnable() {
@Override
public void run() {
try {
ConfirmAlarmServiceImpl.sendIotSystemAlarm(log, userId, appKey, product, toke);
} catch (Exception e) {
e.printStackTrace();
}
}
}).start();
}
List<EquipmentSpecificAlarmLog> logs = equipmentSpecificAlarmLogService.getBaseMapper().selectList(queryWrapper);
logs.forEach(x -> {
x.setCleanTime(new Date());
x.setStatus(AlarmStatusEnum.HF.getCode());
x.setEquipmentSpecificIndexValue(TrueOrFalseEnum.fake.value);
if (!StringUtils.isEmpty(traceId)) {
x.setTraceId(traceId);
}
});
if (!logs.isEmpty()) {
equipmentSpecificAlarmLogService.updateBatchById(logs);
}
if (flag) {
List<EquipmentSpecificIndex> indexList = equipmentSpecificIndexService.getEquipmentSpeIndexBySpeIotCode(iotCode);
publishDataToCanvas(indexList);
......@@ -1198,7 +1159,7 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
*/
public void intePageSysDataRefresh(List<EquipmentSpecificIndex> equipmentSpecificIndexList,
TopicEntityVo topicEntity) {
mqttSendGateway.sendToMqtt(TopicEnum.EQXXTJ.getTopic(), "");
mqttSendGateway.sendToMqtt(TopicEnum.EQXXTJ.getTopic(), String.valueOf(System.currentTimeMillis()));
iEquipmentSpecificSerivce.integrationPageSysDataRefresh(topicEntity.getCode());
}
......
......@@ -25,33 +25,19 @@ public class SupervisionVideoServiceImpl extends ServiceImpl<SupervisionVideoMap
@Autowired
SupervisionVideoMapper supervisionVideoMapper;
@Value("${window.vedioFormat}")
@Value("${window.vedioFormat.video}")
String vedioFormat;
@Autowired
private IVideoService videoService;
@Override
public List<List<AlamVideoVO>> queryVideoList(String bizOrgCode) {
List<List<AlamVideoVO>> resList = new ArrayList<>();
public List<AlamVideoVO> queryVideoList(String bizOrgCode) {
List<AlamVideoVO> list = supervisionVideoMapper.getVideoByCompany(bizOrgCode);
list.forEach(action -> {
action.setVedioFormat(vedioFormat);
action.setUrl(videoService.getVideoUrl(action.getName(), action.getPresetPosition(), action.getUrl(), action.getCode()));
});
List<AlamVideoVO> mapList = new ArrayList<>();
for (int i = 0; i < list.size(); i++) {
if (list.size() > 1 && ((i+1) % 2) - 1 != 0 && i != 0) {
mapList.add(list.get(i));
resList.add(mapList);
mapList = new ArrayList<>();
} else {
mapList.add(list.get(i));
if (i == list.size() - 1) {
resList.add(mapList);
}
}
}
return resList;
return list;
}
......
......@@ -72,7 +72,7 @@ public class TemplateCellWriteHandlerDate implements SheetWriteHandler {
// 设置下拉单元格的首行 末行 首列 末列
CellRangeAddressList rangeList = new CellRangeAddressList(1, 65536, k, k);
// 如果下拉值总数大于100,则使用一个新sheet存储,避免生成的导入模板下拉值获取不到
if (v.length > LIMIT_NUMBER) {
if (v.length >= LIMIT_NUMBER) {
//定义sheet的名称
//1.创建一个隐藏的sheet 名称为 hidden + k
String sheetName = "hidden" + k;
......
......@@ -82,6 +82,7 @@ param.system.online.date = 2019-02-12
# 视频转码服务开关 hls(关)/flv(开),默认关闭,数字换流站使用时开启
window.vedioFormat = hls
window.vedioFormat.video = flv
# 航天视频服务地址
param.htvideo.url=http://192.168.4.174:9001;
# 南瑞视频转码服务地址
......
......@@ -251,4 +251,15 @@
REPLACE INTO `wl_form_group_column`(`id`, `field_name`, `field_label`, `data_type`, `group_id`, `query_strategy`, `not_null`, `group_code`, `creator_id`, `create_date`) VALUES (133000000356, 'maxFlow', '最高报警流量(L/S)', 'inputNumber', 132828674827, 'eq', b'0', '92010700', 2581805, '2022-10-09 09:24:40');
</sql>
</changeSet>
<changeSet author="tym" id="202210131720">
<preConditions onFail="MARK_RAN">
<tableExists tableName="cb_water_resource_pool"/>
</preConditions>
<comment>修改液位显示装置id和name字段长度</comment>
<sql>
ALTER TABLE `cb_water_resource_pool`
MODIFY COLUMN `level_device_id` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '水池液位显示装置id',
MODIFY COLUMN `level_device_name` varchar(1500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '水池液位显示装置名称';
</sql>
</changeSet>
</databaseChangeLog>
\ No newline at end of file
......@@ -1335,6 +1335,7 @@
<select id="fireAlarmLogPage" resultType="java.util.HashMap">
SELECT
`wlesal`.id as alarmLogId,
equipment_specific_index_name,
equipment_specific_name,
DATE_FORMAT(`wlesal`.`create_date`,'%m-%d %H:%i:%s') alarm_time,
......@@ -1487,6 +1488,6 @@
`d`.`click_date` = `result`.`click_date`
)))
ORDER BY
`result`.`click_date` DESC
`result`.`click_date`
</select>
</mapper>
\ No newline at end of file
......@@ -9,8 +9,7 @@
wv.name as name,
wv.url,
wv.code,
wv.preset_position as presetPosition,
wv.name
wv.preset_position as presetPosition
from wl_supervision_video wsv left join wl_video wv on wsv.camera_id = wv.id
where wsv.biz_org_code like concat(#{bizOrgCode},'%');
</select>
......
......@@ -3458,5 +3458,28 @@
ALTER TABLE `cb_water_resource_pool` MODIFY COLUMN `level_device_id` varchar(255) NULL DEFAULT NULL COMMENT '水池液位显示装置id';
</sql>
</changeSet>
<changeSet author="tym" id="202210131748">
<preConditions onFail="MARK_RAN">
<tableExists tableName="cb_water_resource_pool"/>
</preConditions>
<comment>修改液位显示装置id和name字段长度</comment>
<sql>
ALTER TABLE `cb_water_resource_pool`
MODIFY COLUMN `level_device_id` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '水池液位显示装置id',
MODIFY COLUMN `level_device_name` varchar(1500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '水池液位显示装置名称';
</sql>
</changeSet>
<changeSet author="zs" id="202210131517">
<preConditions onFail="MARK_RAN">
<sqlCheck expectedResult="0">select count(*) from cb_data_dictionary where sequence_nbr = 1800</sqlCheck>
</preConditions>
<comment>add data_dictionary 角色用户租 </comment>
<sql>
INSERT INTO `cb_data_dictionary` (`sequence_nbr`, `code`, `name`, `type`, `extend`, `type_desc`, `parent`, `rec_user_name`, `rec_user_id`, `rec_date`, `is_delete`, `sort_num`) VALUES (1800, '1580450171962032130', '管理员', 'CB_USER_GROUP', '治理人,验证人,延期治理审批人,延迟治理人,隐患填报人,default', NULL, NULL, NULL, NULL, NULL, b'0', 1);
INSERT INTO `cb_data_dictionary` (`sequence_nbr`, `code`, `name`, `type`, `extend`, `type_desc`, `parent`, `rec_user_name`, `rec_user_id`, `rec_date`, `is_delete`, `sort_num`) VALUES (1801, '1569613155653419009', '运维人员', 'CB_USER_GROUP', '治理人,验证人,延期治理审批人,延迟治理人,隐患填报人,default', NULL, NULL, NULL, NULL, NULL, b'0', 1);
INSERT INTO `cb_data_dictionary` (`sequence_nbr`, `code`, `name`, `type`, `extend`, `type_desc`, `parent`, `rec_user_name`, `rec_user_id`, `rec_date`, `is_delete`, `sort_num`) VALUES (1802, '1580479144087552002', '专职消防队', 'CB_USER_GROUP', '治理人,验证人,延期治理审批人,延迟治理人,隐患填报人,default', NULL, NULL, NULL, NULL, NULL, b'0', 1);
</sql>
</changeSet>
</databaseChangeLog>
package com.yeejoin.amos.boot.module.tdc.api.enums;
import java.util.HashMap;
import java.util.Map;
public enum TableIdEnum {
idx_biz_lvbc("idx_biz_lvbc","65f78cc7-aeda-45f7-9146-5393efa9ebdb"),
idx_biz_5lba("idx_biz_5lba","698a6023-1ef9-4fff-97dc-9efa2d1b4f1a");
String idxTableName;
String TableId;
TableIdEnum(String idxTableName, String tableId) {
this.idxTableName = idxTableName;
TableId = tableId;
}
public String getIdxTableName() {
return idxTableName;
}
public void setIdxTableName(String idxTableName) {
this.idxTableName = idxTableName;
}
public String getTableId() {
return TableId;
}
public void setTableId(String tableId) {
TableId = tableId;
}
public static Map<String,String> map = new HashMap<>();
static{
for(TableIdEnum TableIdEnum: TableIdEnum.values()){
map.put(TableIdEnum.getIdxTableName(),TableIdEnum.getTableId());
}
}
}
......@@ -8,6 +8,7 @@ import com.yeejoin.amos.boot.module.tdc.api.dto.CheckModelDto;
import com.yeejoin.amos.boot.module.tdc.api.entity.CheckModel;
import org.mapstruct.Mapper;
import java.util.List;
import java.util.Map;
/**
......@@ -21,4 +22,6 @@ public interface CheckModelMapper extends BaseMapper<CheckModel> {
String saveModel(JSONObject jsonObject);
Boolean modifyModel(JSONObject jsonObject);
}
......@@ -59,11 +59,15 @@ public interface CheckModelService extends IService<CheckModel> {
JSONArray getDataTree();
List<Object> getRule(String project);
List<JSONObject> getRule(String project);
List<Object> getCompanyName();
String saveModel(JSONObject jsonObject);
Boolean modifyModel(JSONObject jsonObject);
}
......@@ -5,10 +5,16 @@
<select id="selectByOrgCode" resultType="com.yeejoin.amos.boot.module.tdc.api.dto.CheckModelDto">
select `*`,'●' as circle from tdc_model
<where>
<if test = "amosOrgCode != null and amosOrgCode != ''">
<if test = "amosOrgCode != null and amosOrgCode != '' and amosOrgCode != '50' ">
and amos_org_code=#{amosOrgCode}
</if>
</where>
</select>
<update id="modifyModel">
update tdc_model set model_name=#{model_name},amos_org_code=#{amos_org_code},idx_table_name=#{idx_table_name},
model_rule=#{modelRule} where sequence_nbr=#{sequenceNbr}
</update>
</mapper>
......@@ -48,6 +48,17 @@ public class CheckModelController extends BaseController {
* return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@GetMapping(value = "selectBySequenceNbr")
@ApiOperation(httpMethod = "GET",value = "根据amosOrgCode查询模型列表", notes = "根据amosOrgCode查询模型列表")
public ResponseModel<CheckModel> selectBySequenceNbr(String sequenceNbr) {
return ResponseHelper.buildResponse(checkModelService.getById(sequenceNbr));
}
/**
* 根据amosOrgCode查询
* return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@GetMapping(value = "selectOneByDate")
@ApiOperation(httpMethod = "GET",value = "根据code查询最后一次校验模型", notes = "查询code最后一次校验模型")
public ResponseModel<CheckModel> selectOneByDate(String amosOrgCode) {
......@@ -95,7 +106,7 @@ public class CheckModelController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@GetMapping(value = "/getRule")
@ApiOperation(httpMethod = "GET", value = "关联规则", notes = "关联规则")
public ResponseModel<List<Object>> getRule(String project) {
public ResponseModel<List<JSONObject>> getRule(String project) {
return ResponseHelper.buildResponse(checkModelService.getRule(project));
}
......@@ -112,9 +123,14 @@ public class CheckModelController extends BaseController {
public ResponseModel<String> saveModel(@RequestBody JSONObject jsonObject ){
return ResponseHelper.buildResponse(checkModelService.saveModel(jsonObject));
}
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@PostMapping(value = "/modifyModel")
@ApiOperation(httpMethod = "POST", value = "根据sequenceNbr修改模型校验表单", notes = "根据sequenceNbr修改模型校验表单")
public ResponseModel<Boolean> modifyModel(@RequestBody JSONObject jsonObject) {
// checkModelService.updateById(checkModel);
return ResponseHelper.buildResponse(checkModelService.modifyModel(jsonObject));
}
}
......@@ -5,14 +5,17 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yeejoin.amos.boot.module.tdc.api.dto.CheckModelDto;
import com.yeejoin.amos.boot.module.tdc.api.entity.CheckModel;
import com.yeejoin.amos.boot.module.tdc.api.entity.CheckResult;
import com.yeejoin.amos.boot.module.tdc.api.enums.ModeNameProjectIdEnum;
import com.yeejoin.amos.boot.module.tdc.api.enums.ModelNameEnum;
import com.yeejoin.amos.boot.module.tdc.api.enums.TableIdEnum;
import com.yeejoin.amos.boot.module.tdc.api.feign.IdxFeignService;
import com.yeejoin.amos.boot.module.tdc.api.feign.PrivilegeFeignService;
import com.yeejoin.amos.boot.module.tdc.api.feign.UruleFeignService;
......@@ -207,14 +210,21 @@ public class CheckModelImpl extends ServiceImpl<CheckModelMapper, CheckModel> im
}
@Override
public List<Object> getRule(String project) {
public List<JSONObject> getRule(String project) {
List result = uruleFeignService.getRule(project).getResult();
List<Object> objectList = new ArrayList<>();
List<JSONObject> objectList = new ArrayList<>();
for(Object object: result){
JSONArray array = JSONObject.parseObject(JSON.toJSONString(object)).getJSONArray("resourceItems");
for(Object object1: array){
objectList.add(object1);
JSONObject jsonObject = JSON.parseObject(JSON.toJSONString(object1));
String modelRule = jsonObject.getString("path");
if(!ValidationUtil.isEmpty(modelRule)){
modelRule = modelRule.substring(modelRule.indexOf("/")+1,modelRule.indexOf("."));
}
jsonObject.put("path",modelRule);
objectList.add(jsonObject);
}
}
return objectList;
......@@ -242,6 +252,7 @@ public class CheckModelImpl extends ServiceImpl<CheckModelMapper, CheckModel> im
}
@Override
public String saveModel(JSONObject jsonObject){
......@@ -252,22 +263,24 @@ public class CheckModelImpl extends ServiceImpl<CheckModelMapper, CheckModel> im
// String amosOrgCode = text.substring(0,text.indexOf("$"));
// 截取$之后的所有字符串
// String amosOrgName = text.substring(text.indexOf("$")+1);
String url = jsonObject.getString("url");
String url = jsonObject.getString("idx_table_name");
// 截取$之前的所有字符串
String tableId = url.substring(0,url.indexOf("$"));
// 截取$之后的所有字符串
String idxTableName = url.substring(url.indexOf("$")+1);
JSONArray modelPictureUrl = jsonObject.getJSONArray("model_picture_url");
String pictureUrl = "";
for (Object o : modelPictureUrl) {
JSONObject jo = JSON.parseObject(JSON.toJSONString(o));
pictureUrl = jo.getString("url");
break;
if(!ValidationUtil.isEmpty(modelPictureUrl)){
for (Object o : modelPictureUrl) {
JSONObject jo = JSON.parseObject(JSON.toJSONString(o));
pictureUrl = jo.getString("url");
break;
}
}
String modelRule = jsonObject.getString("model_rule");
if(!ValidationUtil.isEmpty(modelRule)){
modelRule = modelRule.substring(modelRule.indexOf("/"),modelRule.indexOf("."));
}
// if(!ValidationUtil.isEmpty(modelRule)){
// modelRule = modelRule.substring(modelRule.indexOf("/")+1,modelRule.indexOf("."));
// }
JSONArray modelFile = jsonObject.getJSONArray("model_file");
String fileUrl = "";
Iterator iterator = modelFile.iterator();
......@@ -279,6 +292,7 @@ public class CheckModelImpl extends ServiceImpl<CheckModelMapper, CheckModel> im
fileUrl = fileUrl + ",";
}
}
JSONArray jsonArray = jsonObject.getJSONArray("amos_org_code");
for (Object o:jsonArray){
CheckModel checkModel = new CheckModel();
......@@ -297,8 +311,72 @@ public class CheckModelImpl extends ServiceImpl<CheckModelMapper, CheckModel> im
}
checkModelService.saveBatch(checkModelList);
// .saveBatch(checkModelList);
return null;
}
@Override
public Boolean modifyModel(JSONObject jsonObject){
String modelName = jsonObject.getString("modelName");
String idxTableName = jsonObject.getString("idxTableName");
// String tableId = url.substring(0,url.indexOf("$"));
// 截取$之后的所有字符串
// String idxTableName = url.substring(url.indexOf("$")+1);
JSONArray PictureUrl = jsonObject.getJSONArray("modelPictureUrl");
String modelPictureUrl = "";
if(!ValidationUtil.isEmpty(PictureUrl)){
for (Object o : PictureUrl) {
JSONObject jo = JSON.parseObject(JSON.toJSONString(o));
modelPictureUrl = jo.getString("url");
break;
}
}
String modelRule = jsonObject.getString("modelRule");
// if(!ValidationUtil.isEmpty(modelRule)){
// modelRule = modelRule.substring(modelRule.indexOf("/"),modelRule.indexOf("."));
// }
// String modelFile = jsonObject.getString("modelFile");
JSONArray modelFile1 = jsonObject.getJSONArray("modelFile");
String modelFile = "";
Iterator iterator = modelFile1.iterator();
if(iterator.hasNext()){
Object o = iterator.next();
JSONObject jo = JSON.parseObject(JSON.toJSONString(o));
modelFile = modelFile+jo.getString("url");
if(iterator.hasNext()){
modelFile = modelFile + ",";
}
}
String amosOrgCode = jsonObject.getString("amosOrgCode");
CheckModel checkModel = this.getById(jsonObject.getString("sequenceNbr"));
checkModel.setAmosOrgCode(amosOrgCode);
checkModel.setModelName(modelName);
checkModel.setIdxTableName(idxTableName);
checkModel.setModelPictureUrl(modelPictureUrl);
checkModel.setModelRule(modelRule);
checkModel.setModelFile(modelFile);
checkModel.setTableId(TableIdEnum.map.get(idxTableName));
checkModel.setAmosOrgName(ModelNameEnum.map.get(amosOrgCode));
checkModel.setProjectId(ModeNameProjectIdEnum.map.get(ModelNameEnum.map.get(amosOrgCode)));
checkModelService.updateById(checkModel);
return null;
// checkModelMapper.modifyModel(jsonObject);
}
......
......@@ -27,7 +27,7 @@
<springcloud.version>Hoxton.SR8</springcloud.version>
<maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
<tyboot-version>1.1.23-SNAPSHOT</tyboot-version>
<amos.version>1.7.10-SNAPSHOT</amos.version>
<amos.version>1.7.13-SNAPSHOT</amos.version>
<rule.version>1.7.9-SNAPSHOT</rule.version>
<itext.version>7.1.1</itext.version>
<elasticsearch.version>7.15.2</elasticsearch.version>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment