|  |  |  | 
|---|
|  |  |  | package com.zy.acs.manager.core.service; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import com.zy.acs.common.domain.protocol.AGV_04_UP; | 
|---|
|  |  |  | import com.zy.acs.common.utils.GsonUtils; | 
|---|
|  |  |  | import com.zy.acs.framework.common.Cools; | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  | import com.zy.acs.manager.manager.service.VehFaultRecService; | 
|---|
|  |  |  | import lombok.extern.slf4j.Slf4j; | 
|---|
|  |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
|---|
|  |  |  | import org.springframework.scheduling.annotation.Async; | 
|---|
|  |  |  | import org.springframework.stereotype.Service; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import java.util.Date; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * Created by vincent on 8/19/2024 | 
|---|
|  |  |  | 
|---|
|  |  |  | private VehFaultRecService vehFaultRecService; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private SnowflakeIdWorker snowflakeIdWorker; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private AgvService agvService; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private AgvDetailService agvDetailService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Async | 
|---|
|  |  |  | public void execute(VehicleFaultDto dto) { | 
|---|
|  |  |  | public void execute(VehicleFaultDto<AGV_04_UP> dto) { | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | String vehicle = dto.getVehicle(); | 
|---|
|  |  |  | AGV_04_UP agv_04_up = dto.getT(); | 
|---|
|  |  |  | Date errorTime = new Date(dto.getTimestamp()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Agv agv = agvService.selectByUuid(vehicle); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | VehFaultRec vehFaultRec = new VehFaultRec(); | 
|---|
|  |  |  | vehFaultRec.setUuid(String.valueOf(snowflakeIdWorker.nextId()).substring(3)); | 
|---|
|  |  |  | //            vehFaultRec.setFaultHex(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | vehFaultRec.setAgvId(agv.getId()); | 
|---|
|  |  |  | vehFaultRec.setFaultNo(String.valueOf(agv_04_up.getFaultId())); | 
|---|
|  |  |  | vehFaultRec.setFaultHex(agv_04_up.getHexFaultId()); | 
|---|
|  |  |  | 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(errorTime); | 
|---|
|  |  |  | vehFaultRec.setProtocol(RadixTools.bytesToHexStr(agv_04_up.writeToBytes())); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (!vehFaultRecService.save(vehFaultRec)) { | 
|---|
|  |  |  | log.error("{}号车辆故障!记录故障信息失败......", dto.getVehicle()); | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public static void main(String[] args) { | 
|---|
|  |  |  | short ss = 8193; // 2001 | 
|---|
|  |  |  | byte[] bytes = RadixTools.shortToByte(ss); | 
|---|
|  |  |  | //        byte[] reverse = Utils.reverse(bytes); | 
|---|
|  |  |  | System.out.println(RadixTools.bytesToHexStr(bytes)); | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|