add 数字孪生
This commit is contained in:
@@ -12,6 +12,7 @@ import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.acs.AcsConfig;
|
||||
import org.nl.acs.agv.server.NDCAgvService;
|
||||
import org.nl.acs.auto.run.OneNDCSocketConnectionAutoRun;
|
||||
import org.nl.acs.common.StandardOrdinarySiteDevice;
|
||||
import org.nl.acs.device.domain.Device;
|
||||
import org.nl.acs.device.service.DeviceService;
|
||||
import org.nl.acs.device_driver.DeviceDriver;
|
||||
@@ -115,17 +116,18 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
|
||||
String emptyNum = null;
|
||||
String device_code = null;
|
||||
|
||||
if (phase == 0x67) {
|
||||
//故障信息
|
||||
if (arr[18] * 256 + arr[19] == 0) {
|
||||
|
||||
}
|
||||
FeedBackTaskStatusRequest request = new FeedBackTaskStatusRequest();
|
||||
request.setDevice_code(this.device_code);
|
||||
request.setState("故障");
|
||||
acsToWmsService.notify(request);
|
||||
data = NDCAgvService.sendAgvOneModeInst(phase, index, 0, 0, 0, 0, 0);
|
||||
}
|
||||
// if (phase == 0x67) {
|
||||
// //故障信息
|
||||
// if (arr[18] * 256 + arr[19] == 0) {
|
||||
//
|
||||
// }
|
||||
// FeedBackTaskStatusRequest request = new FeedBackTaskStatusRequest();
|
||||
// request.setDevice_code(this.device_code);
|
||||
// request.setType("3");
|
||||
// request.setState("故障");
|
||||
// acsToWmsService.notify(request);
|
||||
// data = NDCAgvService.sendAgvOneModeInst(phase, index, 0, 0, 0, 0, 0);
|
||||
// }
|
||||
TaskDto task = new TaskDto();
|
||||
|
||||
if(ObjectUtil.isNotEmpty(inst)){
|
||||
@@ -187,6 +189,7 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
|
||||
//取货完毕
|
||||
//(需要WCS反馈)
|
||||
} else if (phase == 0x05) {
|
||||
|
||||
if (agvaddr == 0) {
|
||||
agvaddr = agvaddr_copy;
|
||||
}
|
||||
@@ -207,8 +210,12 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
|
||||
device_code = old_device_code;
|
||||
}
|
||||
}
|
||||
device_code = deviceService.queryDeviceCodeByAddress(agvaddr);
|
||||
device = deviceAppService.findDeviceByCode(device_code);
|
||||
|
||||
if (device.getDeviceDriver() instanceof StandardOrdinarySiteDeviceDriver) {
|
||||
log.info("起点设备名称是{}",device_code);
|
||||
// acsToWmsService.ghsmlqhfinish(task);
|
||||
}
|
||||
if (ObjectUtil.isEmpty(device_code)) {
|
||||
log.info(agvaddr + "对应设备号为空!");
|
||||
logServer.deviceExecuteLog(this.device_code, "", "", "对应设备号为空" + device_code);
|
||||
|
||||
@@ -164,10 +164,11 @@ public class SiteDeviceDriver extends AbstractOpcDeviceDriver implements DeviceD
|
||||
acsToWmsService.notify(request);
|
||||
}
|
||||
}
|
||||
if (error != last_error &&error!=0) {
|
||||
if (error != last_error ) {
|
||||
FeedBackTaskStatusRequest request = new FeedBackTaskStatusRequest();
|
||||
request.setDevice_code(this.device_code);
|
||||
request.setState("故障");
|
||||
request.setType("3");
|
||||
request.setState(String.valueOf(error));
|
||||
acsToWmsService.notify(request);
|
||||
}
|
||||
} catch (Exception var17) {
|
||||
|
||||
@@ -4,6 +4,7 @@ import cn.hutool.http.HttpResponse;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import org.nl.acs.ext.wms.data.*;
|
||||
import org.nl.acs.task.service.dto.TaskDto;
|
||||
|
||||
public interface AcsToWmsService {
|
||||
|
||||
@@ -135,4 +136,9 @@ public interface AcsToWmsService {
|
||||
* 任务阶段反馈最新点位
|
||||
*/
|
||||
String feedbackState(BaseRequest request);
|
||||
|
||||
/**
|
||||
* 根据指令号找到任务号后将start_point_code为固化室出口的任务id反馈给lms
|
||||
*/
|
||||
public String ghsmlqhfinish(TaskDto task);
|
||||
}
|
||||
|
||||
@@ -607,4 +607,31 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
MDC.remove(log_file_type);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String ghsmlqhfinish(TaskDto task) {
|
||||
String wmsurl = paramService.findByCode(AcsConfig.WMSURL).getValue();
|
||||
JSONObject jo = new JSONObject();
|
||||
jo.put("task_id", task.getExt_task_id());
|
||||
String result2 = null;
|
||||
|
||||
AddressDto addressDto = addressService.findByCode("ghsmlqhfinish");
|
||||
String methods_url = addressDto.getMethods_url();
|
||||
String url = wmsurl + methods_url;
|
||||
log.info("ghsmlqhfinish----请求参数{}", jo);
|
||||
|
||||
try {
|
||||
result2 = HttpRequest.post(url)
|
||||
.body(String.valueOf(jo))
|
||||
.execute().body();
|
||||
//System.out.println(result2);
|
||||
log.info("ghsmlqhfinish----返回参数{}", result2);
|
||||
} catch (Exception e) {
|
||||
String msg = e.getMessage();
|
||||
//网络不通
|
||||
//System.out.println(msg);
|
||||
|
||||
}
|
||||
return result2;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -312,6 +312,7 @@ public class TaskServiceImpl extends CommonServiceImpl<TaskMapper, Task> impleme
|
||||
wrapper.lt(Task::getTask_status,2);
|
||||
}
|
||||
}
|
||||
wrapper.orderByDesc(Task::getCreate_time);
|
||||
IPage<Task> taskPage = taskMapper.selectPage(queryPage,wrapper);
|
||||
final JSONObject json = (JSONObject) JSON.toJSON(ConvertUtil.convertPage(taskPage, TaskDto.class));
|
||||
return json;
|
||||
@@ -419,6 +420,7 @@ public class TaskServiceImpl extends CommonServiceImpl<TaskMapper, Task> impleme
|
||||
if (!StrUtil.isEmpty(create_time) && !StrUtil.isEmpty(end_time)) {
|
||||
wrapper.between(Task::getCreate_time,create_time,end_time);
|
||||
}
|
||||
wrapper.orderByDesc(Task::getCreate_time);
|
||||
IPage<Task> taskPage = taskMapper.selectPage(queryPage,wrapper);
|
||||
final JSONObject json = (JSONObject) JSON.toJSON(ConvertUtil.convertPage(taskPage, TaskDto.class));
|
||||
JSONArray array = json.getJSONArray("content");
|
||||
|
||||
@@ -253,6 +253,7 @@ public class HandServiceImpl implements HandService {
|
||||
inst.put("priority",list.get(i).getPriority());
|
||||
inst.put("create_time",list.get(i).getCreate_time());
|
||||
inst.put("carno",list.get(i).getCarno()==null?"":list.get(i).getCarno());
|
||||
inst.put("send_status",list.get(i).getSend_status());
|
||||
data.add(inst);
|
||||
}
|
||||
JSONObject resultJson = new JSONObject();
|
||||
|
||||
@@ -71,21 +71,33 @@ public class SyncDeviceStatus {
|
||||
for (Device device : deviceList) {
|
||||
if (device.getDeviceDriver() instanceof BaoshijianSiteDeviceDriver) {
|
||||
BaoshijianSiteDeviceDriver baoshijianSiteDeviceDriver=(BaoshijianSiteDeviceDriver)device.getDeviceDriver();
|
||||
JSONObject json2 = new JSONObject();
|
||||
json2.put("device_code", baoshijianSiteDeviceDriver.getDeviceCode());
|
||||
json2.put("mode",baoshijianSiteDeviceDriver.getX0());
|
||||
baoshijian.add(json2);
|
||||
JSONObject json = new JSONObject();
|
||||
json.put("device_code", baoshijianSiteDeviceDriver.getDeviceCode()+"DJW01");
|
||||
json.put("move",baoshijianSiteDeviceDriver.getX1());
|
||||
json.put("mode",baoshijianSiteDeviceDriver.getX0());
|
||||
baoshijian.add(json);
|
||||
json.put("device_code", baoshijianSiteDeviceDriver.getDeviceCode()+"DJW02");
|
||||
json.put("move",baoshijianSiteDeviceDriver.getX2()==1?0:1);
|
||||
baoshijian.add(json);
|
||||
JSONObject json1 = new JSONObject();
|
||||
json1.put("device_code", baoshijianSiteDeviceDriver.getDeviceCode()+"DJW02");
|
||||
json1.put("move",baoshijianSiteDeviceDriver.getX2()==1?0:1);
|
||||
json.put("mode",baoshijianSiteDeviceDriver.getX0());
|
||||
baoshijian.add(json1);
|
||||
} else if (device.getDeviceDriver() instanceof GuhuashiSiteDeviceDriver) {
|
||||
GuhuashiSiteDeviceDriver guhuashiSiteDeviceDriver=(GuhuashiSiteDeviceDriver)device.getDeviceDriver();
|
||||
JSONObject json = new JSONObject();
|
||||
json.put("device_code", guhuashiSiteDeviceDriver.getDeviceCode());
|
||||
//温度设定
|
||||
json.put("temperature_setting", guhuashiSiteDeviceDriver.getVW7010());
|
||||
//温度显示
|
||||
json.put("temperature", guhuashiSiteDeviceDriver.getVW7012());
|
||||
//湿度设定
|
||||
json.put("humidity_setting", guhuashiSiteDeviceDriver.getVW7014());
|
||||
//湿度显示
|
||||
json.put("humidity", guhuashiSiteDeviceDriver.getVW7016());
|
||||
//阶段累加时间
|
||||
json.put("total_running_time", guhuashiSiteDeviceDriver.getVW7038());
|
||||
json.put("current_stage", guhuashiSiteDeviceDriver.getVW7042());
|
||||
json.put("executing_stage_num", guhuashiSiteDeviceDriver.getVW7044());
|
||||
@@ -93,6 +105,8 @@ public class SyncDeviceStatus {
|
||||
json.put("front_door", guhuashiSiteDeviceDriver.getVW70004()==0?1:0);
|
||||
json.put("back_door", guhuashiSiteDeviceDriver.getVW7010());
|
||||
json.put("error", guhuashiSiteDeviceDriver.getVD7046());
|
||||
//正在执行的阶段数 0-固化;1-干燥;
|
||||
json.put("current_stage",guhuashiSiteDeviceDriver.getVW7036());
|
||||
guhuashi.add(json);
|
||||
} else if (device.getDeviceDriver() instanceof SiteStatusDeviceDriver) {
|
||||
SiteStatusDeviceDriver siteStatusDeviceDriver=(SiteStatusDeviceDriver)device.getDeviceDriver();
|
||||
|
||||
@@ -44,7 +44,7 @@ https://juejin.cn/post/6844903775631572999
|
||||
<!--日志文件保留天数-->
|
||||
<maxHistory>15</maxHistory>
|
||||
<!--单个日志最大容量 至少10MB才能看得出来-->
|
||||
<maxFileSize>50MB</maxFileSize>
|
||||
<maxFileSize>100MB</maxFileSize>
|
||||
<!--所有日志最多占多大容量-->
|
||||
<totalSizeCap>20GB</totalSizeCap>
|
||||
</rollingPolicy>
|
||||
|
||||
Reference in New Issue
Block a user