无货上报lms优化与输送线指令初始化
This commit is contained in:
@@ -4,6 +4,7 @@ import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.http.HttpResponse;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
@@ -162,7 +163,7 @@ public class SiemensConveyorDeviceDriver extends AbstractOpcDeviceDriver impleme
|
||||
inst_message = null;
|
||||
this.clearWrite();
|
||||
}
|
||||
if (move == 0 && last_move == 1 && mode != 0) {
|
||||
if (move == 0 && last_move == 1) {
|
||||
this.requiresShipDeviceUpdate = false;
|
||||
}
|
||||
logServer.deviceItemValue(this.device_code, "move", String.valueOf(move));
|
||||
@@ -268,8 +269,10 @@ public class SiemensConveyorDeviceDriver extends AbstractOpcDeviceDriver impleme
|
||||
if (move > 0 && !requireSucess) {
|
||||
instruction_require();
|
||||
}
|
||||
if (!requiresShipDeviceUpdate) {
|
||||
if (!requiresShipDeviceUpdate && move == 0) {
|
||||
this.shipDeviceUpdate();
|
||||
} else {
|
||||
this.requiresShipDeviceUpdate = true;
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
@@ -321,9 +324,10 @@ public class SiemensConveyorDeviceDriver extends AbstractOpcDeviceDriver impleme
|
||||
put("device_code", device_code);
|
||||
}};
|
||||
|
||||
acsToWmsService.shipDeviceUpdate(param);
|
||||
|
||||
this.requiresShipDeviceUpdate = true;
|
||||
HttpResponse response = acsToWmsService.shipDeviceUpdate(param);
|
||||
if (response == null || response.getStatus() == 200) {
|
||||
this.requiresShipDeviceUpdate = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -5,8 +5,6 @@ import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import org.nl.acs.ext.wms.data.*;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
public interface AcsToWmsService {
|
||||
|
||||
/**
|
||||
@@ -105,5 +103,5 @@ public interface AcsToWmsService {
|
||||
UpdateLKTaskResponse updateLKTaskRequest(UpdateLKTaskRequest updateLKTaskRequest);
|
||||
|
||||
// 输送线有货变成无货时向lms请求
|
||||
void shipDeviceUpdate(JSONObject param);
|
||||
HttpResponse shipDeviceUpdate(JSONObject param);
|
||||
}
|
||||
|
||||
@@ -18,15 +18,11 @@ import org.nl.acs.ext.wms.service.AcsToWmsService;
|
||||
import org.nl.acs.log.service.DeviceExecuteLogService;
|
||||
import org.nl.acs.task.service.TaskService;
|
||||
import org.nl.acs.task.service.dto.TaskDto;
|
||||
import org.nl.modules.common.exception.BadRequestException;
|
||||
import org.nl.modules.system.service.ParamService;
|
||||
import org.slf4j.MDC;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
@Slf4j
|
||||
@@ -502,7 +498,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void shipDeviceUpdate(JSONObject param) {
|
||||
public HttpResponse shipDeviceUpdate(JSONObject param) {
|
||||
try {
|
||||
MDC.put(log_file_type, log_type);
|
||||
log.info("shipDeviceUpdate-----输入参数{}", param);
|
||||
@@ -511,7 +507,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
AddressDto addressDto = addressService.findByCode("shipDeviceUpdate");
|
||||
String methods_url = addressDto.getMethods_url();
|
||||
String url = wmsUrl + methods_url;
|
||||
HttpRequest
|
||||
return HttpRequest
|
||||
.post(url)
|
||||
.body(param.toString())
|
||||
.execute();
|
||||
@@ -521,5 +517,6 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
} finally {
|
||||
MDC.remove(log_file_type);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -145,4 +145,12 @@ public class InstructionController {
|
||||
public ResponseEntity<Object> queryByTaskId(@RequestBody String taskId) {
|
||||
return new ResponseEntity<>(instructionService.getByTaskId(taskId), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Log("初始化")
|
||||
@ApiOperation("初始化")
|
||||
@PostMapping(value = "/init/{id}")
|
||||
public ResponseEntity<Object> init(@RequestBody String id) throws Exception {
|
||||
instructionService.init(id);
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -275,4 +275,5 @@ public interface InstructionService {
|
||||
boolean createLkInst(String type,Instruction inst);
|
||||
|
||||
|
||||
void init(String id);
|
||||
}
|
||||
|
||||
@@ -17,8 +17,10 @@ import org.nl.acs.agv.server.*;
|
||||
import org.nl.acs.auto.initial.ApplicationAutoInitial;
|
||||
import org.nl.acs.device.service.DeviceService;
|
||||
import org.nl.acs.device.service.impl.DeviceServiceImpl;
|
||||
import org.nl.acs.device_driver.DeviceDriver;
|
||||
import org.nl.acs.device_driver.basedriver.cargo_lift_conveyor.CargoLiftConveyorDeviceDriver;
|
||||
import org.nl.acs.device_driver.basedriver.hongxiang_device.HongXiangConveyorDeviceDriver;
|
||||
import org.nl.acs.device_driver.basedriver.siemens_conveyor.SiemensConveyorDeviceDriver;
|
||||
import org.nl.acs.device_driver.basedriver.standard_conveyor_control_with_scanner.StandardCoveyorControlWithScannerDeviceDriver;
|
||||
import org.nl.acs.device_driver.basedriver.standard_inspect_site.StandardInspectSiteDeviceDriver;
|
||||
import org.nl.acs.device_driver.basedriver.standard_storage.StandardStorageDeviceDriver;
|
||||
@@ -1361,4 +1363,36 @@ public class InstructionServiceImpl implements InstructionService, ApplicationAu
|
||||
Pattern pattern = Pattern.compile("^[-\\+]?[\\d]*$");
|
||||
return pattern.matcher(str).matches();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void init(String id) {
|
||||
Instruction inst = this.findById(id);
|
||||
if (inst == null) {
|
||||
throw new BadRequestException("指令不存在或已删除");
|
||||
}
|
||||
if ("2".equals(inst.getInstruction_status())) {
|
||||
throw new BadRequestException("指令已经完成");
|
||||
}
|
||||
|
||||
Device startDevice = deviceAppService.findDeviceByCode(inst.getStart_device_code());
|
||||
DeviceDriver startDeviceDriver = startDevice.getDeviceDriver();
|
||||
if (startDeviceDriver instanceof SiemensConveyorDeviceDriver) {
|
||||
Device nextDevice = deviceAppService.findDeviceByCode(inst.getNext_device_code());
|
||||
|
||||
List<Map<String, String>> list = new ArrayList<>();
|
||||
Map<String, String> map = new HashMap<>();
|
||||
map.put("code", "to_target");
|
||||
map.put("value", nextDevice.getExtraValue().get("address").toString());
|
||||
list.add(map);
|
||||
Map<String, String> map2 = new HashMap<>();
|
||||
map2.put("code", "to_task");
|
||||
map2.put("value", inst.getInstruction_code());
|
||||
list.add(map2);
|
||||
Map<String, String> map3 = new HashMap<>();
|
||||
map3.put("code", "to_command");
|
||||
map3.put("value", "1");
|
||||
list.add(map3);
|
||||
((SiemensConveyorDeviceDriver) startDeviceDriver).writing(list);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user