| | |
| | | import com.zy.acs.framework.common.RadixTools; |
| | | import com.zy.acs.framework.common.SnowflakeIdWorker; |
| | | import com.zy.acs.manager.core.domain.VehicleFaultDto; |
| | | import com.zy.acs.manager.manager.entity.Agv; |
| | | import com.zy.acs.manager.manager.entity.VehFaultRec; |
| | | import com.zy.acs.manager.manager.service.AgvDetailService; |
| | | import com.zy.acs.manager.manager.service.AgvService; |
| | |
| | | |
| | | AgvErrorType errorType = AgvErrorType.query(agv_04_up.getHexFaultId()); |
| | | |
| | | Agv agv = agvService.selectByUuid(vehicle); |
| | | Long agvId = agvService.getAgvId(vehicle); |
| | | VehFaultRec vehFaultRec = vehFaultRecService.getTopVehFaultRec(agvId, String.valueOf(agv_04_up.getFaultId())); |
| | | if (null == vehFaultRec) { |
| | | vehFaultRec = new VehFaultRec(); |
| | | vehFaultRec.setUuid(String.valueOf(snowflakeIdWorker.nextId()).substring(3)); |
| | | vehFaultRec.setAgvId(agvId); |
| | | vehFaultRec.setFaultNo(String.valueOf(agv_04_up.getFaultId())); |
| | | vehFaultRec.setFaultHex(agv_04_up.getHexFaultId()); |
| | | vehFaultRec.setFaultName(null != errorType ? errorType.desc : "undefined"); |
| | | vehFaultRec.setFaultLev(agv_04_up.getFaultLevel()); |
| | | vehFaultRec.setFaultData(GsonUtils.toJson(Cools.add("data1", agv_04_up.getData1()).add("data2", agv_04_up.getData2()))); |
| | | vehFaultRec.setHappenTime(new Date()); |
| | | vehFaultRec.setProtocol(RadixTools.bytesToHexStr(agv_04_up.writeToBytes())); |
| | | |
| | | VehFaultRec vehFaultRec = new VehFaultRec(); |
| | | vehFaultRec.setUuid(String.valueOf(snowflakeIdWorker.nextId()).substring(3)); |
| | | vehFaultRec.setAgvId(agv.getId()); |
| | | vehFaultRec.setFaultNo(String.valueOf(agv_04_up.getFaultId())); |
| | | vehFaultRec.setFaultHex(agv_04_up.getHexFaultId()); |
| | | vehFaultRec.setFaultName(null != errorType ? errorType.desc : "undefined"); |
| | | vehFaultRec.setFaultLev(agv_04_up.getFaultLevel()); |
| | | vehFaultRec.setFaultData(GsonUtils.toJson(Cools.add("data1", agv_04_up.getData1()).add("data2", agv_04_up.getData2()))); |
| | | vehFaultRec.setHappenTime(new Date()); |
| | | vehFaultRec.setProtocol(RadixTools.bytesToHexStr(agv_04_up.writeToBytes())); |
| | | |
| | | if (!vehFaultRecService.save(vehFaultRec)) { |
| | | log.error("{}号车辆故障!记录故障信息失败......", dto.getVehicle()); |
| | | if (!vehFaultRecService.save(vehFaultRec)) { |
| | | log.error("{}号车辆故障!记录故障信息失败......", dto.getVehicle()); |
| | | } |
| | | } else { |
| | | vehFaultRec.setUpdateTime(new Date()); |
| | | if (!vehFaultRecService.updateById(vehFaultRec)) { |
| | | log.error("{}号车辆故障!更新故障信息失败......", dto.getVehicle()); |
| | | } |
| | | } |
| | | |
| | | } catch (Exception e) { |
| | | log.error("FaultProcessor", e); |
| | | } |
| | | } |
| | | |
| | | @Async |
| | | public void reset(Long agvId) { |
| | | vehFaultRecService.resetError(agvId); |
| | | } |
| | | |
| | | |
| | | } |