立库设备状态同步

This commit is contained in:
pangshenghao
2023-06-05 09:35:58 +08:00
parent f6d11509b7
commit dae1f739ea

View File

@@ -1,20 +1,15 @@
package org.nl.modules.quartz.task;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.http.HttpResponse;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import lombok.extern.slf4j.Slf4j;
import org.nl.acs.agv.server.AgvService;
import org.nl.acs.agv.server.ZheDaAgvService;
import org.nl.acs.device_driver.basedriver.device_status.DeviceStatusDeviceDriver;
import org.nl.acs.ext.wms.liKuData.DeviceStatusData;
import org.nl.acs.ext.wms.liKuData.DeviceStatusRequest;
import org.nl.acs.ext.wms.liKuData.DeviceStatusResponse;
import org.nl.acs.ext.wms.liKuData.Resp;
import org.nl.acs.ext.wms.service.AcsToLiKuService;
import org.nl.acs.instruction.service.InstructionService;
import org.nl.acs.instruction.service.dto.Instruction;
import org.nl.acs.opc.Device;
import org.nl.acs.opc.DeviceAppService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@@ -30,15 +25,52 @@ public class QueryLKDeviceStatus {
@Autowired
AcsToLiKuService acsToLiKuService;
@Autowired
DeviceAppService deviceAppService;
public void run() throws Exception {
DeviceStatusRequest deviceStatusRequest = new DeviceStatusRequest();
deviceStatusRequest.setDeviceId("0");
//车
Resp<DeviceStatusResponse> carResp = acsToLiKuService.queryCarDeviceStatus(deviceStatusRequest);
List<DeviceStatusData> deviceStatusDataList= JSONArray.parseArray(String.valueOf(carResp.getData()),DeviceStatusData.class);
for(int i=0;i<deviceStatusDataList.size();i++){
DeviceStatusData deviceStatusData=deviceStatusDataList.get(i);
String deviceId="RGV" + deviceStatusData.getDeviceId();
PackageDriver(deviceStatusData, deviceId);
}
//输送线
Resp<DeviceStatusResponse> ssxResp = acsToLiKuService.querySsxDeviceStatus(deviceStatusRequest);
deviceStatusDataList= JSONArray.parseArray(String.valueOf(ssxResp.getData()),DeviceStatusData.class);
for(int i=0;i<deviceStatusDataList.size();i++){
DeviceStatusData deviceStatusData=deviceStatusDataList.get(i);
String deviceId="LK" + deviceStatusData.getDeviceId();
PackageDriver(deviceStatusData, deviceId);
}
//提升机
Resp<DeviceStatusResponse> tsjResp = acsToLiKuService.queryTsjDeviceStatus(deviceStatusRequest);
deviceStatusDataList= JSONArray.parseArray(String.valueOf(tsjResp.getData()),DeviceStatusData.class);
for(int i=0;i<deviceStatusDataList.size();i++){
DeviceStatusData deviceStatusData=deviceStatusDataList.get(i);
String deviceId=deviceStatusData.getDeviceId();
PackageDriver(deviceStatusData, deviceId);
}
}
private void PackageDriver(DeviceStatusData deviceStatusData, String deviceId) {
Device device = deviceAppService.findDeviceByCode(deviceId);
if (device!=null&&device.getDeviceDriver() instanceof DeviceStatusDeviceDriver){
DeviceStatusDeviceDriver deviceStatusDeviceDriver=(DeviceStatusDeviceDriver)device.getDeviceDriver();
deviceStatusDeviceDriver.setDevice_id(deviceId);
deviceStatusDeviceDriver.setX(deviceStatusData.getX());
deviceStatusDeviceDriver.setY(deviceStatusData.getY());
deviceStatusDeviceDriver.setMap_id(deviceStatusData.getMapId());
deviceStatusDeviceDriver.setPower(deviceStatusData.getPower());
deviceStatusDeviceDriver.setPallet(deviceStatusData.getPallet());
deviceStatusDeviceDriver.setLoad(deviceStatusData.getLoad());
deviceStatusDeviceDriver.setAlarm(deviceStatusData.getAlarm());
deviceStatusDeviceDriver.setTask_id(deviceStatusData.getTaskId());
deviceStatusDeviceDriver.setIsonline(true);
}
}
}