|
@ -9,8 +9,6 @@ import org.nl.acs.device.domain.Device; |
|
|
import org.nl.acs.device.service.DeviceService; |
|
|
import org.nl.acs.device.service.DeviceService; |
|
|
import org.nl.acs.device_driver.basedriver.agv.ndcone.AgvNdcOneDeviceDriver; |
|
|
import org.nl.acs.device_driver.basedriver.agv.ndcone.AgvNdcOneDeviceDriver; |
|
|
import org.nl.acs.device_driver.basedriver.standard_autodoor.StandardAutodoorDeviceDriver; |
|
|
import org.nl.acs.device_driver.basedriver.standard_autodoor.StandardAutodoorDeviceDriver; |
|
|
import org.nl.acs.ext.wms.service.AcsToWmsService; |
|
|
|
|
|
import org.nl.acs.ext.wms.service.impl.AcsToWmsServiceImpl; |
|
|
|
|
|
import org.nl.acs.instruction.domain.Instruction; |
|
|
import org.nl.acs.instruction.domain.Instruction; |
|
|
import org.nl.acs.instruction.service.InstructionService; |
|
|
import org.nl.acs.instruction.service.InstructionService; |
|
|
import org.nl.acs.instruction.service.impl.InstructionServiceImpl; |
|
|
import org.nl.acs.instruction.service.impl.InstructionServiceImpl; |
|
@ -31,7 +29,6 @@ import java.io.DataOutputStream; |
|
|
import java.io.IOException; |
|
|
import java.io.IOException; |
|
|
import java.net.Socket; |
|
|
import java.net.Socket; |
|
|
import java.util.Date; |
|
|
import java.util.Date; |
|
|
import java.util.List; |
|
|
|
|
|
|
|
|
|
|
|
import static org.nl.acs.agv.server.impl.NDCAgvServiceImpl.Bytes2HexString; |
|
|
import static org.nl.acs.agv.server.impl.NDCAgvServiceImpl.Bytes2HexString; |
|
|
|
|
|
|
|
@ -81,7 +78,6 @@ public class OneNDCSocketConnectionAutoRun extends AbstractAutoRunnable { |
|
|
System.out.println("NDCAgv链接开始"); |
|
|
System.out.println("NDCAgv链接开始"); |
|
|
ISysParamService ISysParamService = SpringContextHolder.getBean(SysParamServiceImpl.class); |
|
|
ISysParamService ISysParamService = SpringContextHolder.getBean(SysParamServiceImpl.class); |
|
|
InstructionService instructionService = SpringContextHolder.getBean(InstructionServiceImpl.class); |
|
|
InstructionService instructionService = SpringContextHolder.getBean(InstructionServiceImpl.class); |
|
|
AcsToWmsService acsToWmsService = SpringContextHolder.getBean(AcsToWmsServiceImpl.class); |
|
|
|
|
|
NDCAgvService NDCAgvService = SpringContextHolder.getBean(NDCAgvService.class); |
|
|
NDCAgvService NDCAgvService = SpringContextHolder.getBean(NDCAgvService.class); |
|
|
DeviceAppService deviceAppService = SpringContextHolder.getBean(DeviceAppService.class); |
|
|
DeviceAppService deviceAppService = SpringContextHolder.getBean(DeviceAppService.class); |
|
|
DeviceService deviceService = SpringContextHolder.getBean(DeviceService.class); |
|
|
DeviceService deviceService = SpringContextHolder.getBean(DeviceService.class); |
|
@ -131,16 +127,10 @@ public class OneNDCSocketConnectionAutoRun extends AbstractAutoRunnable { |
|
|
//车号
|
|
|
//车号
|
|
|
int carno = arr[20]; |
|
|
int carno = arr[20]; |
|
|
//充电桩站点号
|
|
|
//充电桩站点号
|
|
|
int station = arr[25]; |
|
|
int station=arr[25]; |
|
|
|
|
|
|
|
|
Instruction link_inst = null; |
|
|
Instruction link_inst = null; |
|
|
Instruction inst = null; |
|
|
Instruction inst = null; |
|
|
List<Instruction> insts = null; |
|
|
|
|
|
boolean link_flag = false; |
|
|
boolean link_flag = false; |
|
|
Device agv_device = null; |
|
|
|
|
|
if (carno != 0) { |
|
|
|
|
|
agv_device = deviceAppService.findDeviceByCode(String.valueOf(carno)); |
|
|
|
|
|
} |
|
|
|
|
|
if (ikey != 0) { |
|
|
if (ikey != 0) { |
|
|
inst = instructionService.findByCodeFromCache(String.valueOf(ikey)); |
|
|
inst = instructionService.findByCodeFromCache(String.valueOf(ikey)); |
|
|
if (ObjectUtil.isEmpty(inst)) { |
|
|
if (ObjectUtil.isEmpty(inst)) { |
|
@ -151,7 +141,7 @@ public class OneNDCSocketConnectionAutoRun extends AbstractAutoRunnable { |
|
|
link_flag = true; |
|
|
link_flag = true; |
|
|
} |
|
|
} |
|
|
log.info("接收agv上报信息:" + bs); |
|
|
log.info("接收agv上报信息:" + bs); |
|
|
log.info("接收agv上报信息:" + "phase--" + phase + " index--" + index + " ikey--" + ikey + " agvaddr--" + agvaddr + " carno--" + carno+" station--"+station); |
|
|
log.info("接收agv上报信息:" + "phase--" + phase + " index--" + index + " ikey--" + ikey + " agvaddr--" + agvaddr + " carno--" + carno); |
|
|
Device device = null; |
|
|
Device device = null; |
|
|
String device_code = null; |
|
|
String device_code = null; |
|
|
String old_device_code = null; |
|
|
String old_device_code = null; |
|
@ -244,24 +234,20 @@ public class OneNDCSocketConnectionAutoRun extends AbstractAutoRunnable { |
|
|
//(需要WCS反馈)
|
|
|
//(需要WCS反馈)
|
|
|
}else if (phase == 0xFF) { |
|
|
}else if (phase == 0xFF) { |
|
|
|
|
|
|
|
|
if (!ObjectUtil.isEmpty(inst)) { |
|
|
if (ObjectUtil.isNotEmpty(inst)) { |
|
|
if (!ObjectUtil.isEmpty(inst)) { |
|
|
instructionService.cancelNOSendAgv(inst.getInstruction_id()); |
|
|
instructionService.cancelNOSendAgv(inst.getInstruction_id()); |
|
|
taskService.cancel(inst.getTask_id()); |
|
|
taskService.cancel(inst.getTask_id()); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
} |
|
|
data = NDCAgvService.sendAgvOneModeInst(phase, index, 0, 0, 0, 0, 0); |
|
|
data = NDCAgvService.sendAgvOneModeInst(phase, index, 0, 0, 0, 0, 0); |
|
|
//充电任务下发成功上报
|
|
|
//充电任务下发成功上报
|
|
|
} else if (phase == 0x64){ |
|
|
} else if (phase == 0x64){ |
|
|
log.info("AGV车号{}反馈充电任务下发成功,锁定充电桩{}",agvaddr,station); |
|
|
log.info("AGV车号{}反馈充电任务下发成功,锁定充电桩{}",agvaddr,station); |
|
|
List<Dict> dictList= dictService.getDictByName("station"); |
|
|
Dict dict = dictService.getDictByName3("station",null,String.valueOf(station)); |
|
|
for(Dict dict : dictList){ |
|
|
if (ObjectUtil.isNotEmpty(dict)){ |
|
|
if (Integer.parseInt(dict.getPara1())==station){ |
|
|
dict.setValue("1"); |
|
|
dict.setValue("1"); |
|
|
dict.setPara2(String.valueOf(agvaddr)); |
|
|
dict.setPara2(String.valueOf(agvaddr)); |
|
|
dict.setPara3("下发成功"); |
|
|
dictService.updateDetail(dict); |
|
|
dictService.updateDetail(dict); |
|
|
break; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
} |
|
|
//充电成功
|
|
|
//充电成功
|
|
|
}else if (phase == 0x65){ |
|
|
}else if (phase == 0x65){ |
|
@ -269,14 +255,12 @@ public class OneNDCSocketConnectionAutoRun extends AbstractAutoRunnable { |
|
|
//充电取消上报
|
|
|
//充电取消上报
|
|
|
}else if (phase == 0x66){ |
|
|
}else if (phase == 0x66){ |
|
|
log.info("AGV车号{}反馈充电任务已取消,释放充电桩{}",agvaddr,station); |
|
|
log.info("AGV车号{}反馈充电任务已取消,释放充电桩{}",agvaddr,station); |
|
|
List<Dict> dictList= dictService.getDictByName("station"); |
|
|
Dict dict = dictService.getDictByName3("station",String.valueOf(agvaddr),String.valueOf(station)); |
|
|
for(Dict dict : dictList){ |
|
|
if (ObjectUtil.isNotEmpty(dict)){ |
|
|
if (Integer.parseInt(dict.getPara1())==station){ |
|
|
dict.setValue("0"); |
|
|
dict.setValue("0"); |
|
|
dict.setPara2(""); |
|
|
dict.setPara2(""); |
|
|
dict.setPara3(""); |
|
|
dictService.updateDetail(dict); |
|
|
dictService.updateDetail(dict); |
|
|
break; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -314,7 +298,6 @@ public class OneNDCSocketConnectionAutoRun extends AbstractAutoRunnable { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
} catch (Exception e) { |
|
|
} catch (Exception e) { |
|
|
System.out.println("OneAgv链接异常"); |
|
|
|
|
|
log.info("OneAgv链接异常"); |
|
|
log.info("OneAgv链接异常"); |
|
|
log.error("agv连接出现异常:{}", e); |
|
|
log.error("agv连接出现异常:{}", e); |
|
|
logServer.deviceExecuteLog("1", "", "", "agv异常" + e.getMessage()); |
|
|
logServer.deviceExecuteLog("1", "", "", "agv异常" + e.getMessage()); |
|
|