Commit 0d73c3df authored by chenzhao's avatar chenzhao

赋码消码

parent e3daa23e
package com.yeejoin.equipmanage.common.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yeejoin.equipmanage.common.entity.publics.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
@Data
@TableName("wl_equip_qrcode_record")
@ApiModel(value = "装备二维码报警及消除记录", description = "装备二维码报警及消除记录")
public class EquipQrcodeRecord extends BaseEntity {
@ApiModelProperty(value = "设备id")
@TableField("equip_id")
private Long equipid;
@ApiModelProperty(value = "消除时间")
@TableField("clean_time")
private Date cleanTime;
@ApiModelProperty(value = "告警时间")
@TableField("alarm_time")
private Date alarmTime;
@ApiModelProperty(value = "来源")
@TableField("source")
private String source;
@ApiModelProperty(value = "来源id alarm表或p_check_input")
@TableField("source_id")
private Long sourceId;
@ApiModelProperty(value = "状态(0:绿码,1:黄码,2:红码)")
@TableField("status")
private String status;
@ApiModelProperty(value = "状态(0:绿码,1:黄码,2:红码)")
@TableField("biz_org_code")
private String bizOrgCode;
@ApiModelProperty(value = "状态(0:绿码,1:黄码,2:红码)")
@TableField("biz_org_name")
private String bizOrgName;
@ApiModelProperty(value = "状态(0:绿码,1:黄码,2:红码)")
@TableField("system_code")
private String systemCode;
}
package com.yeejoin.equipmanage.controller; package com.yeejoin.equipmanage.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams; import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.equipmanage.common.dto.EquipmentSpecificDto; import com.yeejoin.equipmanage.common.dto.EquipmentSpecificDto;
import com.yeejoin.equipmanage.common.entity.EquipQrcodeRecord;
import com.yeejoin.equipmanage.common.entity.EquipmentDetail; import com.yeejoin.equipmanage.common.entity.EquipmentDetail;
import com.yeejoin.equipmanage.common.entity.EquipmentSpecific; import com.yeejoin.equipmanage.common.entity.EquipmentSpecific;
import com.yeejoin.equipmanage.common.entity.dto.EquipmentSpecificDTO; import com.yeejoin.equipmanage.common.entity.dto.EquipmentSpecificDTO;
...@@ -12,11 +14,13 @@ import com.yeejoin.equipmanage.common.entity.vo.ComplementCodeVO; ...@@ -12,11 +14,13 @@ import com.yeejoin.equipmanage.common.entity.vo.ComplementCodeVO;
import com.yeejoin.equipmanage.common.entity.vo.EquiplistSpecificBySystemVO; import com.yeejoin.equipmanage.common.entity.vo.EquiplistSpecificBySystemVO;
import com.yeejoin.equipmanage.common.entity.vo.IotIndexInfoVo; import com.yeejoin.equipmanage.common.entity.vo.IotIndexInfoVo;
import com.yeejoin.equipmanage.common.entity.vo.SourceNameByEquipSpeIdVO; import com.yeejoin.equipmanage.common.entity.vo.SourceNameByEquipSpeIdVO;
import com.yeejoin.equipmanage.common.enums.EquipQrcodeColorEnum;
import com.yeejoin.equipmanage.common.utils.CommonResponseUtil; import com.yeejoin.equipmanage.common.utils.CommonResponseUtil;
import com.yeejoin.equipmanage.common.utils.StringUtil; import com.yeejoin.equipmanage.common.utils.StringUtil;
import com.yeejoin.equipmanage.common.vo.EquipmentOnCarVo; import com.yeejoin.equipmanage.common.vo.EquipmentOnCarVo;
import com.yeejoin.equipmanage.common.vo.VideoOnEquipmentSpecificVo; import com.yeejoin.equipmanage.common.vo.VideoOnEquipmentSpecificVo;
import com.yeejoin.equipmanage.fegin.IotFeign; import com.yeejoin.equipmanage.fegin.IotFeign;
import com.yeejoin.equipmanage.mapper.EquipQrcodeRecordMapper;
import com.yeejoin.equipmanage.mapper.EquipmentSpecificMapper; import com.yeejoin.equipmanage.mapper.EquipmentSpecificMapper;
import com.yeejoin.equipmanage.service.IEquipmentDetailService; import com.yeejoin.equipmanage.service.IEquipmentDetailService;
import com.yeejoin.equipmanage.service.IEquipmentSpecificSerivce; import com.yeejoin.equipmanage.service.IEquipmentSpecificSerivce;
...@@ -56,6 +60,9 @@ public class EquipmentSpecificController extends AbstractBaseController { ...@@ -56,6 +60,9 @@ public class EquipmentSpecificController extends AbstractBaseController {
EquipmentSpecificMapper equipmentSpecificMapper; EquipmentSpecificMapper equipmentSpecificMapper;
@Autowired @Autowired
EquipQrcodeRecordMapper equipQrcodeRecordMapper;
@Autowired
IEquipmentDetailService equipmentDetailService; IEquipmentDetailService equipmentDetailService;
@Value("${systemctl.sync.switch}") @Value("${systemctl.sync.switch}")
...@@ -409,8 +416,26 @@ public class EquipmentSpecificController extends AbstractBaseController { ...@@ -409,8 +416,26 @@ public class EquipmentSpecificController extends AbstractBaseController {
@GetMapping(value = "/status/equip") @GetMapping(value = "/status/equip")
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "修改装备二维码状态", notes = "修改装备二维码状态") @ApiOperation(httpMethod = "GET", value = "修改装备二维码状态", notes = "修改装备二维码状态")
public ResponseModel updateEquipSpecificStatus( String status, String id){ public ResponseModel updateEquipSpecificStatus( String status, String id,String sourceId,String source){
equipmentSpecificSerivce.updateEquipSpecificStatus(status, id);
EquipmentSpecific spec = equipmentSpecificSerivce.getBaseMapper().selectById(id);
int oldStatus = Integer.valueOf(spec.getEquipStatus());
int newStatus = Integer.valueOf(status);
if (oldStatus >= newStatus){
//保存 wl_equip_qrcode_record 二维码记录
EquipQrcodeRecord equipQrcodeRecord = new EquipQrcodeRecord();
equipQrcodeRecord.setEquipid(Long.valueOf(id));
equipQrcodeRecord.setSource(source);
equipQrcodeRecord.setAlarmTime(new Date());
equipQrcodeRecord.setStatus(status);
equipQrcodeRecord.setSourceId(Long.valueOf(sourceId));
equipQrcodeRecord.setBizOrgCode(spec.getBizOrgCode());
equipQrcodeRecord.setBizOrgName(spec.getBizOrgName());
equipQrcodeRecord.setSystemCode(spec.getSystemId());
equipQrcodeRecordMapper.insert(equipQrcodeRecord);
}else {
equipmentSpecificSerivce.updateEquipSpecificStatus(status, id);
}
return CommonResponseUtil.success(); return CommonResponseUtil.success();
} }
...@@ -420,8 +445,14 @@ public class EquipmentSpecificController extends AbstractBaseController { ...@@ -420,8 +445,14 @@ public class EquipmentSpecificController extends AbstractBaseController {
public ResponseModel updateEquipSpecificStatusByCheckInput( String id){ public ResponseModel updateEquipSpecificStatusByCheckInput( String id){
//查询 巡检项所绑定装备 //查询 巡检项所绑定装备
String equipId = equipmentSpecificSerivce.updateEquipSpecificStatusByCheckInput(id); String equipId = equipmentSpecificSerivce.updateEquipSpecificStatusByCheckInput(id);
//修改装备二维码状态为合格 此处为0代表绿色 是idx只有在合格是才会触发此接口 LambdaQueryWrapper<EquipQrcodeRecord> query = new LambdaQueryWrapper<>();
equipmentSpecificSerivce.updateEquipSpecificStatus("0", equipId); query.eq(EquipQrcodeRecord::getEquipid,equipId);
query.isNull(EquipQrcodeRecord::getCleanTime);
List<EquipQrcodeRecord> equipQrcodeRecords = equipQrcodeRecordMapper.selectList(query);
if (equipQrcodeRecords.size() == 0) { //如果记录表中此装备无未消除的故障等 则恢复绿码
//修改装备二维码状态为合格 此处为0代表绿色 是idx只有在合格是才会触发此接口
equipmentSpecificSerivce.updateEquipSpecificStatus("0", equipId);
}
return CommonResponseUtil.success(); return CommonResponseUtil.success();
} }
......
package com.yeejoin.equipmanage.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.equipmanage.common.entity.EquipQrcodeRecord;
public interface EquipQrcodeRecordMapper extends BaseMapper<EquipQrcodeRecord> {
}
...@@ -93,6 +93,9 @@ public class MqttReceiveServiceImpl implements MqttReceiveService { ...@@ -93,6 +93,9 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
EquipmentSpecificAlarmMapper equipmentSpecificAlarmMapper; EquipmentSpecificAlarmMapper equipmentSpecificAlarmMapper;
@Autowired @Autowired
EquipQrcodeRecordMapper equipQrcodeRecordMapper;
@Autowired
EquipmentSpecificAlarmLogMapper equipmentSpecificAlarmLogMapper; EquipmentSpecificAlarmLogMapper equipmentSpecificAlarmLogMapper;
@Autowired @Autowired
...@@ -523,17 +526,50 @@ public class MqttReceiveServiceImpl implements MqttReceiveService { ...@@ -523,17 +526,50 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
action.setAlamContent(action.getEquipmentSpecificName() + action.getEquipmentSpecificIndexName()); action.setAlamContent(action.getEquipmentSpecificName() + action.getEquipmentSpecificIndexName());
} }
specific.setEquipStatus(EquipQrcodeColorEnum.RED.getCode()); specific.setEquipStatus(EquipQrcodeColorEnum.RED.getCode());
//保存 wl_equip_qrcode_record 二维码记录
EquipQrcodeRecord equipQrcodeRecord = new EquipQrcodeRecord();
equipQrcodeRecord.setEquipid(action.getEquipmentSpecificId());
equipQrcodeRecord.setSource("equip");
equipQrcodeRecord.setAlarmTime(new Date());
equipQrcodeRecord.setStatus(EquipQrcodeColorEnum.RED.getCode());
equipQrcodeRecord.setSourceId(action.getId());
equipQrcodeRecord.setBizOrgCode(action.getBizOrgCode());
equipQrcodeRecord.setBizOrgName(action.getBizOrgName());
equipQrcodeRecord.setSystemCode(action.getSystemIds());
equipQrcodeRecordMapper.insert(equipQrcodeRecord);
isAlarm = Boolean.TRUE; isAlarm = Boolean.TRUE;
mqttSendGateway.sendToMqtt(TopicEnum.EQDQR.getTopic(), JSONArray.toJSON(action).toString()); mqttSendGateway.sendToMqtt(TopicEnum.EQDQR.getTopic(), JSONArray.toJSON(action).toString());
iEquipmentSpecificSerivce.updateEquipSpecificStatus(specific.getEquipStatus(), String.valueOf(specific.getId()));
} else { } else {
//恢复后修改 wl_equip_qrcode_record中对应记录
LambdaQueryWrapper<EquipQrcodeRecord> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(EquipQrcodeRecord::getEquipid,action.getEquipmentSpecificId());
wrapper.eq(EquipQrcodeRecord::getSourceId,action.getId());
EquipQrcodeRecord equipQrcodeRecord = equipQrcodeRecordMapper.selectOne(wrapper);
equipQrcodeRecord.setCleanTime(new Date());
equipQrcodeRecordMapper.updateById(equipQrcodeRecord);
specific.setEquipStatus(EquipQrcodeColorEnum.GREEN.getCode()); specific.setEquipStatus(EquipQrcodeColorEnum.GREEN.getCode());
isAlarm = Boolean.FALSE; isAlarm = Boolean.FALSE;
alarmLogs.addAll(upAlarmLogStatus(action.getIotCode(), action.getEquipmentSpecificIndexKey(), action.getTraceId(), alarmLogs.addAll(upAlarmLogStatus(action.getIotCode(), action.getEquipmentSpecificIndexKey(), action.getTraceId(),
equipmentSpecificAlarmLogService, false)); equipmentSpecificAlarmLogService, false));
mqttSendGateway.sendToMqtt(TopicEnum.EQYQR.getTopic(), JSONArray.toJSON(action).toString()); mqttSendGateway.sendToMqtt(TopicEnum.EQYQR.getTopic(), JSONArray.toJSON(action).toString());
bool = Boolean.TRUE; bool = Boolean.TRUE;
LambdaQueryWrapper<EquipQrcodeRecord> query = new LambdaQueryWrapper<>();
query.eq(EquipQrcodeRecord::getEquipid,action.getEquipmentSpecificId());
query.isNull(EquipQrcodeRecord::getCleanTime);
List<EquipQrcodeRecord> equipQrcodeRecords = equipQrcodeRecordMapper.selectList(query);
if (equipQrcodeRecords.size() > 0){ //如果记录表中还存在未消除的巡检故障 则先修改为黄码
iEquipmentSpecificSerivce.updateEquipSpecificStatus(equipQrcodeRecords.get(0).getStatus(), String.valueOf(specific.getId()));
}else {
iEquipmentSpecificSerivce.updateEquipSpecificStatus(specific.getEquipStatus(), String.valueOf(specific.getId()));
}
} }
iEquipmentSpecificSerivce.updateEquipSpecificStatus(specific.getEquipStatus(), String.valueOf(specific.getId()));
}); });
// 直流中心消息推送刷新 // 直流中心消息推送刷新
......
...@@ -284,8 +284,8 @@ public class CheckController extends AbstractBaseController { ...@@ -284,8 +284,8 @@ public class CheckController extends AbstractBaseController {
*/ */
public void publishDataToMessage(List<Map<String, Object>> checkInputItems) { public void publishDataToMessage(List<Map<String, Object>> checkInputItems) {
for (Map<String, Object> map : checkInputItems) { for (Map<String, Object> map : checkInputItems) {
if (map.containsKey("equipId")){ if (map.containsKey("equipId") && !map.get("input_value").equals("合格") ){
equipFeign.updateEquipSpecificStatus(String.valueOf(map.get("input_value")).equals("合格")? "0":"1",map.get("equipId").toString()); equipFeign.updateEquipSpecificStatus("1",map.get("equipId").toString(),map.get("traceId").toString(),"patrol");
} }
SendToMsgRiskDetailVo detailVo = new SendToMsgRiskDetailVo(); SendToMsgRiskDetailVo detailVo = new SendToMsgRiskDetailVo();
SendToMsgRiskEquipInfoVo equipInfoVo = new SendToMsgRiskEquipInfoVo(); SendToMsgRiskEquipInfoVo equipInfoVo = new SendToMsgRiskEquipInfoVo();
......
...@@ -47,7 +47,7 @@ public interface EquipFeign { ...@@ -47,7 +47,7 @@ public interface EquipFeign {
FeignClientResult getBuildingTreeOne(@RequestParam(value = "instanceId", required = true) String instanceId); FeignClientResult getBuildingTreeOne(@RequestParam(value = "instanceId", required = true) String instanceId);
@RequestMapping(value = "${equip.fegin.prefix}"+"/equipSpecific/status/equip", method = RequestMethod.GET ,consumes="application/json") @RequestMapping(value = "${equip.fegin.prefix}"+"/equipSpecific/status/equip", method = RequestMethod.GET ,consumes="application/json")
FeignClientResult updateEquipSpecificStatus(@RequestParam(value = "status", required = true) String status,@RequestParam(value = "id", required = true) String id); FeignClientResult updateEquipSpecificStatus(@RequestParam(value = "status", required = false) String status,@RequestParam(value = "id", required = false) String id,@RequestParam(value = "sourceId", required = false) String sourceId,@RequestParam(value = "source", required = false) String source);
} }
...@@ -2194,7 +2194,8 @@ ...@@ -2194,7 +2194,8 @@
ii.biz_org_code, ii.biz_org_code,
ii.biz_org_name, ii.biz_org_name,
ci.score , ci.score ,
ci.id as traceId ci.id as traceId,
ppc.equipment_id as equipId
FROM FROM
p_check c p_check c
LEFT JOIN p_check_input ci ON ci.check_id = c.id LEFT JOIN p_check_input ci ON ci.check_id = c.id
......
...@@ -38,5 +38,10 @@ ...@@ -38,5 +38,10 @@
"code": "patrol", "code": "patrol",
"emqTopic": "emq.patrol.created", "emqTopic": "emq.patrol.created",
"akkaTopic": "JKXT2BP-XFYY-Topic" "akkaTopic": "JKXT2BP-XFYY-Topic"
},
{
"code": "equipQrcode",
"emqTopic": "emq.mcb.zxj",
"akkaTopic": "JKXT2BP-XFYY-Topic"
} }
] ]
\ No newline at end of file
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