更新
This commit is contained in:
@@ -478,6 +478,7 @@ public class AgvServiceImpl implements AgvService {
|
|||||||
.timeout(20000)//超时,毫秒
|
.timeout(20000)//超时,毫秒
|
||||||
.execute();
|
.execute();
|
||||||
System.out.println("查询agv状态数据:" + result.body());
|
System.out.println("查询agv状态数据:" + result.body());
|
||||||
|
log.info("查询agv状态数据:" + result.body());
|
||||||
if (result.getStatus() == 200) {
|
if (result.getStatus() == 200) {
|
||||||
JSONArray ja = JSONArray.fromObject(result.body());
|
JSONArray ja = JSONArray.fromObject(result.body());
|
||||||
for (int i = 0; i < ja.size(); i++) {
|
for (int i = 0; i < ja.size(); i++) {
|
||||||
@@ -486,16 +487,16 @@ public class AgvServiceImpl implements AgvService {
|
|||||||
String state = jo.getString("state");
|
String state = jo.getString("state");
|
||||||
String energyLevel = jo.getString("energyLevel");
|
String energyLevel = jo.getString("energyLevel");
|
||||||
String transportOrder = jo.getString("transportOrder");
|
String transportOrder = jo.getString("transportOrder");
|
||||||
String positionAngle = jo.getString("positionAngle");
|
// String positionAngle = jo.getString("positionAngle");
|
||||||
String positionX = jo.getString("positionX");
|
// String positionX = jo.getString("positionX");
|
||||||
String positionY = jo.getString("positionY");
|
// String positionY = jo.getString("positionY");
|
||||||
AgvDto dto = new AgvDto();
|
AgvDto dto = new AgvDto();
|
||||||
dto.setName(name);
|
dto.setName(name);
|
||||||
dto.setEnergyLevel(energyLevel);
|
dto.setEnergyLevel(energyLevel);
|
||||||
dto.setState(state);
|
dto.setState(state);
|
||||||
dto.setPositionAngle(positionAngle);
|
// dto.setPositionAngle(positionAngle);
|
||||||
dto.setPositionX(positionX);
|
// dto.setPositionX(positionX);
|
||||||
dto.setPositionY(positionY);
|
// dto.setPositionY(positionY);
|
||||||
dto.setTransportOrder(transportOrder);
|
dto.setTransportOrder(transportOrder);
|
||||||
|
|
||||||
if (AGVDeviceStatus.containsKey(name)) {
|
if (AGVDeviceStatus.containsKey(name)) {
|
||||||
|
|||||||
@@ -97,20 +97,20 @@ public class ElectricFenceDeviceDriver extends AbstractOpcDeviceDriver implement
|
|||||||
}
|
}
|
||||||
|
|
||||||
int agvidletime = Integer.parseInt(acsConfigService.findConfigFromCache().get(AcsConfig.BUSINESSTYPE));
|
int agvidletime = Integer.parseInt(acsConfigService.findConfigFromCache().get(AcsConfig.BUSINESSTYPE));
|
||||||
if (start_time == last_start_time) {
|
// if (start_time == last_start_time) {
|
||||||
last_start_time = start_time;
|
// last_start_time = start_time;
|
||||||
}
|
// }
|
||||||
if ((start_time.getTime() - last_start_time.getTime())/(60*1000) >= agvidletime) {
|
// if ((start_time.getTime() - last_start_time.getTime())/(60*1000) >= agvidletime) {
|
||||||
List<Device> allDevice = appService.findAllDevice();
|
// List<Device> allDevice = appService.findAllDevice();
|
||||||
WeighingSiteDeviceDriver weighingSiteDeviceDriver;
|
// WeighingSiteDeviceDriver weighingSiteDeviceDriver;
|
||||||
for (int i = 0; i < allDevice.size(); i++) {
|
// for (int i = 0; i < allDevice.size(); i++) {
|
||||||
Device device = allDevice.get(i);
|
// Device device = allDevice.get(i);
|
||||||
if (device.getDeviceDriver() instanceof WeighingSiteDeviceDriver){
|
// if (device.getDeviceDriver() instanceof WeighingSiteDeviceDriver){
|
||||||
weighingSiteDeviceDriver = (WeighingSiteDeviceDriver) device.getDeviceDriver();
|
// weighingSiteDeviceDriver = (WeighingSiteDeviceDriver) device.getDeviceDriver();
|
||||||
weighingSiteDeviceDriver.setNowMode("0");
|
// weighingSiteDeviceDriver.setNowMode("0");
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
last_action = action;
|
last_action = action;
|
||||||
last_mode = mode;
|
last_mode = mode;
|
||||||
last_error = error;
|
last_error = error;
|
||||||
|
|||||||
@@ -55,16 +55,16 @@ public class ItemProtocol {
|
|||||||
|
|
||||||
public static List<ItemDto> getReadableItemDtos() {
|
public static List<ItemDto> getReadableItemDtos() {
|
||||||
ArrayList list = new ArrayList();
|
ArrayList list = new ArrayList();
|
||||||
list.add(new ItemDto(item_heartbeat, "心跳", "DB51.B0"));
|
list.add(new ItemDto(item_heartbeat, "心跳", "DB600.B0"));
|
||||||
list.add(new ItemDto(item_mode, "工作状态", "DB51.B1", Boolean.valueOf(true)));
|
list.add(new ItemDto(item_mode, "工作状态", "DB600.B1", Boolean.valueOf(true)));
|
||||||
list.add(new ItemDto(item_action, "动作信号", "DB51.B2"));
|
list.add(new ItemDto(item_action, "动作信号", "DB600.B2"));
|
||||||
list.add(new ItemDto(item_error, "报警信号", "DB51.B4"));
|
list.add(new ItemDto(item_error, "报警信号", "DB600.B4"));
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static List<ItemDto> getWriteableItemDtos() {
|
public static List<ItemDto> getWriteableItemDtos() {
|
||||||
ArrayList list = new ArrayList();
|
ArrayList list = new ArrayList();
|
||||||
list.add(new ItemDto(item_to_command, "作业命令", "DB52.W2", Boolean.valueOf(true)));
|
list.add(new ItemDto(item_to_command, "作业命令", "DB601.W2", Boolean.valueOf(true)));
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ import org.nl.acs.device_driver.RouteableDeviceDriver;
|
|||||||
import org.nl.acs.device_driver.driver.AbstractOpcDeviceDriver;
|
import org.nl.acs.device_driver.driver.AbstractOpcDeviceDriver;
|
||||||
import org.nl.acs.device_driver.driver.ExecutableDeviceDriver;
|
import org.nl.acs.device_driver.driver.ExecutableDeviceDriver;
|
||||||
import org.nl.acs.device_driver.standard_ordinary_site.StandardOrdinarySiteDeviceDriver;
|
import org.nl.acs.device_driver.standard_ordinary_site.StandardOrdinarySiteDeviceDriver;
|
||||||
|
import org.nl.acs.device_driver.weighing_site.WeighingSiteDeviceDriver;
|
||||||
import org.nl.acs.instruction.service.InstructionService;
|
import org.nl.acs.instruction.service.InstructionService;
|
||||||
import org.nl.acs.instruction.service.dto.Instruction;
|
import org.nl.acs.instruction.service.dto.Instruction;
|
||||||
import org.nl.acs.opc.Device;
|
import org.nl.acs.opc.Device;
|
||||||
@@ -356,6 +357,18 @@ public class NdxySpecialTwoDeviceDriver extends AbstractOpcDeviceDriver implemen
|
|||||||
String taskcode = CodeUtil.getNewCode("TASK_NO");
|
String taskcode = CodeUtil.getNewCode("TASK_NO");
|
||||||
dto.setTask_code("-" + taskcode);
|
dto.setTask_code("-" + taskcode);
|
||||||
|
|
||||||
|
List<Device> allDevice = appService.findAllDevice();
|
||||||
|
WeighingSiteDeviceDriver weighingSiteDeviceDriver;
|
||||||
|
for (int i = 0; i < allDevice.size(); i++) {
|
||||||
|
Device device = allDevice.get(i);
|
||||||
|
if (device.getDeviceDriver() instanceof WeighingSiteDeviceDriver){
|
||||||
|
weighingSiteDeviceDriver = (WeighingSiteDeviceDriver) device.getDeviceDriver();
|
||||||
|
if (weighingSiteDeviceDriver.getNowMode().equals("0")) {
|
||||||
|
throw new RuntimeException("当前为非生产模式");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
WQLObject wo = WQLObject.getWQLObject("acs_task");
|
WQLObject wo = WQLObject.getWQLObject("acs_task");
|
||||||
JSONObject json = JSONObject.fromObject(dto);
|
JSONObject json = JSONObject.fromObject(dto);
|
||||||
wo.insert(json);
|
wo.insert(json);
|
||||||
|
|||||||
@@ -293,7 +293,7 @@ public class TaskServiceImpl implements TaskService, ApplicationAutoInitial {
|
|||||||
if (device.getDeviceDriver() instanceof WeighingSiteDeviceDriver){
|
if (device.getDeviceDriver() instanceof WeighingSiteDeviceDriver){
|
||||||
weighingSiteDeviceDriver = (WeighingSiteDeviceDriver) device.getDeviceDriver();
|
weighingSiteDeviceDriver = (WeighingSiteDeviceDriver) device.getDeviceDriver();
|
||||||
if (weighingSiteDeviceDriver.getNowMode().equals("0")) {
|
if (weighingSiteDeviceDriver.getNowMode().equals("0")) {
|
||||||
throw new RuntimeException("当前为非工作模式");
|
throw new RuntimeException("当前为非生产模式");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,10 +16,7 @@ import org.nl.modules.system.service.UserService;
|
|||||||
import org.springframework.http.HttpStatus;
|
import org.springframework.http.HttpStatus;
|
||||||
import org.springframework.http.ResponseEntity;
|
import org.springframework.http.ResponseEntity;
|
||||||
import org.springframework.security.crypto.password.PasswordEncoder;
|
import org.springframework.security.crypto.password.PasswordEncoder;
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
|
||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
@@ -148,6 +145,14 @@ public class NdxyHandTwoController {
|
|||||||
return new ResponseEntity<>(HandService.queryMaterial(), HttpStatus.OK);
|
return new ResponseEntity<>(HandService.queryMaterial(), HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PostMapping("/mode")
|
||||||
|
@Log("查询工作模式")
|
||||||
|
@ApiOperation("查询工作模式")
|
||||||
|
//@PreAuthorize("@el.check('sect:list')")
|
||||||
|
public ResponseEntity<Object> queryMode() {
|
||||||
|
return new ResponseEntity<>(HandService.queryMode(), HttpStatus.OK);
|
||||||
|
}
|
||||||
|
|
||||||
@AnonymousPostMapping("/task2")
|
@AnonymousPostMapping("/task2")
|
||||||
@Log("创建普通任务")
|
@Log("创建普通任务")
|
||||||
@ApiOperation("创建普通任务")
|
@ApiOperation("创建普通任务")
|
||||||
@@ -156,12 +161,12 @@ public class NdxyHandTwoController {
|
|||||||
return new ResponseEntity<>(HandService.createTask2(whereJson), HttpStatus.OK);
|
return new ResponseEntity<>(HandService.createTask2(whereJson), HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping("/mode")
|
@PostMapping("/updateMode")
|
||||||
@Log("修改工作模式")
|
@Log("修改工作模式")
|
||||||
@ApiOperation("修改工作模式")
|
@ApiOperation("修改工作模式")
|
||||||
//@PreAuthorize("@el.check('sect:list')")
|
//@PreAuthorize("@el.check('sect:list')")
|
||||||
public ResponseEntity<Object> updateMode(@RequestBody String mode) {
|
public ResponseEntity<Object> updateMode(@RequestBody JSONObject json) throws Exception {
|
||||||
return new ResponseEntity<>(HandService.updateMode(mode), HttpStatus.OK);
|
return new ResponseEntity<>(HandService.updateMode(json), HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -114,6 +114,13 @@ public interface NdxyTwoHandService {
|
|||||||
*/
|
*/
|
||||||
Map<String, Object> queryMaterial();
|
Map<String, Object> queryMaterial();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询工作模式
|
||||||
|
*
|
||||||
|
* @return Map<String, Object>
|
||||||
|
*/
|
||||||
|
Map<String, Object> queryMode();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 创建普通任务
|
* 创建普通任务
|
||||||
*
|
*
|
||||||
@@ -126,5 +133,5 @@ public interface NdxyTwoHandService {
|
|||||||
*
|
*
|
||||||
* @return Map<String, String>
|
* @return Map<String, String>
|
||||||
*/
|
*/
|
||||||
Map<String, Object> updateMode(String mode);
|
Map<String, Object> updateMode(JSONObject json) throws Exception;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -55,6 +55,7 @@ import org.springframework.stereotype.Service;
|
|||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@@ -76,10 +77,6 @@ public class NdxyTwoHandServiceImpl implements NdxyTwoHandService {
|
|||||||
private final RouteLineService routelineserver;
|
private final RouteLineService routelineserver;
|
||||||
private final TaskService taskService;
|
private final TaskService taskService;
|
||||||
|
|
||||||
@Autowired
|
|
||||||
AcsConfigController acsConfigService;
|
|
||||||
InstructionService instructionService = null;
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<String, Object> queryArea(Map map) {
|
public Map<String, Object> queryArea(Map map) {
|
||||||
@@ -557,12 +554,12 @@ public class NdxyTwoHandServiceImpl implements NdxyTwoHandService {
|
|||||||
resultJson.put("result", "");
|
resultJson.put("result", "");
|
||||||
return resultJson;
|
return resultJson;
|
||||||
}
|
}
|
||||||
if (StrUtil.equals(material_type, "") || StrUtil.equals(quantity, "")) {
|
// if (StrUtil.equals(material_type, "") || StrUtil.equals(quantity, "")) {
|
||||||
resultJson.put("code", "2");
|
// resultJson.put("code", "2");
|
||||||
resultJson.put("desc", "请填写物料信息!");
|
// resultJson.put("desc", "请填写物料信息!");
|
||||||
resultJson.put("result", "");
|
// resultJson.put("result", "");
|
||||||
return resultJson;
|
// return resultJson;
|
||||||
}
|
// }
|
||||||
dto.setStart_device_code(start_device_code);
|
dto.setStart_device_code(start_device_code);
|
||||||
dto.setStart_point_code(start_device_code);
|
dto.setStart_point_code(start_device_code);
|
||||||
dto.setNext_device_code(next_device_code);
|
dto.setNext_device_code(next_device_code);
|
||||||
@@ -626,6 +623,22 @@ public class NdxyTwoHandServiceImpl implements NdxyTwoHandService {
|
|||||||
|
|
||||||
DeviceAppService appService = SpringContextHolder.getBean(DeviceAppServiceImpl.class);
|
DeviceAppService appService = SpringContextHolder.getBean(DeviceAppServiceImpl.class);
|
||||||
Device device = appService.findDeviceByCode(device_code);
|
Device device = appService.findDeviceByCode(device_code);
|
||||||
|
|
||||||
|
//判断当前如果为生产模式,那么设备状态不可修改
|
||||||
|
// List<Device> allDevice = deviceAppService.findAllDevice();
|
||||||
|
// WeighingSiteDeviceDriver weighingSiteDeviceDriver;
|
||||||
|
// for (int i = 0; i < allDevice.size(); i++) {
|
||||||
|
// Device deviceBycode = allDevice.get(i);
|
||||||
|
// if (deviceBycode.getDeviceDriver() instanceof WeighingSiteDeviceDriver){
|
||||||
|
// weighingSiteDeviceDriver = (WeighingSiteDeviceDriver) deviceBycode.getDeviceDriver();
|
||||||
|
// if (weighingSiteDeviceDriver.getNowMode().equals("0")) {
|
||||||
|
// resultJson.put("code", "2");
|
||||||
|
// resultJson.put("desc", "当前为非生产模式!");
|
||||||
|
// resultJson.put("result", "");
|
||||||
|
// return resultJson;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
//普通站点
|
//普通站点
|
||||||
StandardOrdinarySiteDeviceDriver standardOrdinarySiteDeviceDriver;
|
StandardOrdinarySiteDeviceDriver standardOrdinarySiteDeviceDriver;
|
||||||
if (StrUtil.equals(status,"3")) {
|
if (StrUtil.equals(status,"3")) {
|
||||||
@@ -916,6 +929,29 @@ public class NdxyTwoHandServiceImpl implements NdxyTwoHandService {
|
|||||||
return jo;
|
return jo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Map<String, Object> queryMode() {
|
||||||
|
String nowMode = "";
|
||||||
|
List<Device> allDevice = deviceAppService.findAllDevice();
|
||||||
|
WeighingSiteDeviceDriver weighingSiteDeviceDriver;
|
||||||
|
for (int i = 0; i < allDevice.size(); i++) {
|
||||||
|
Device device = allDevice.get(i);
|
||||||
|
if (device.getDeviceDriver() instanceof WeighingSiteDeviceDriver){
|
||||||
|
weighingSiteDeviceDriver = (WeighingSiteDeviceDriver) device.getDeviceDriver();
|
||||||
|
nowMode = weighingSiteDeviceDriver.getNowMode();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
JSONObject json = new JSONObject();
|
||||||
|
json.put("mode",nowMode);
|
||||||
|
|
||||||
|
JSONObject jo = new JSONObject();
|
||||||
|
jo.put("code", "1");
|
||||||
|
jo.put("desc", "查询成功");
|
||||||
|
jo.put("result", json);
|
||||||
|
return jo;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<String, Object> createTask2(JSONObject whereJson) {
|
public Map<String, Object> createTask2(JSONObject whereJson) {
|
||||||
JSONArray array = (JSONArray) whereJson.get("start_devicecode");
|
JSONArray array = (JSONArray) whereJson.get("start_devicecode");
|
||||||
@@ -956,17 +992,19 @@ public class NdxyTwoHandServiceImpl implements NdxyTwoHandService {
|
|||||||
resultJson.put("result", "");
|
resultJson.put("result", "");
|
||||||
return resultJson;
|
return resultJson;
|
||||||
}
|
}
|
||||||
if (StrUtil.equals(material_type, "") || StrUtil.equals(quantity, "")) {
|
// if (StrUtil.equals(material_type, "") || StrUtil.equals(quantity, "")) {
|
||||||
resultJson.put("code", "2");
|
// resultJson.put("code", "2");
|
||||||
resultJson.put("desc", "请填写物料信息!");
|
// resultJson.put("desc", "请填写物料信息!");
|
||||||
resultJson.put("result", "");
|
// resultJson.put("result", "");
|
||||||
return resultJson;
|
// return resultJson;
|
||||||
}
|
// }
|
||||||
dto.setStart_device_code(device_code);
|
dto.setStart_device_code(device_code);
|
||||||
dto.setStart_point_code(device_code);
|
dto.setStart_point_code(device_code);
|
||||||
dto.setNext_device_code(next_device_code);
|
dto.setNext_device_code(next_device_code);
|
||||||
dto.setNext_point_code(next_device_code);
|
dto.setNext_point_code(next_device_code);
|
||||||
dto.setQuantity(new BigDecimal(quantity));
|
if (StrUtil.isNotEmpty(quantity)) {
|
||||||
|
dto.setQuantity(new BigDecimal(quantity));
|
||||||
|
}
|
||||||
dto.setRemark(remark);
|
dto.setRemark(remark);
|
||||||
dto.setMaterial(material_type);
|
dto.setMaterial(material_type);
|
||||||
try {
|
try {
|
||||||
@@ -985,7 +1023,8 @@ public class NdxyTwoHandServiceImpl implements NdxyTwoHandService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<String, Object> updateMode(String mode) {
|
public Map<String, Object> updateMode(JSONObject json) throws Exception {
|
||||||
|
String mode = json.getString("mode");
|
||||||
List<Device> allDevice = deviceAppService.findAllDevice();
|
List<Device> allDevice = deviceAppService.findAllDevice();
|
||||||
WeighingSiteDeviceDriver weighingSiteDeviceDriver;
|
WeighingSiteDeviceDriver weighingSiteDeviceDriver;
|
||||||
for (int i = 0; i < allDevice.size(); i++) {
|
for (int i = 0; i < allDevice.size(); i++) {
|
||||||
@@ -995,6 +1034,27 @@ public class NdxyTwoHandServiceImpl implements NdxyTwoHandService {
|
|||||||
weighingSiteDeviceDriver.setNowMode(mode);
|
weighingSiteDeviceDriver.setNowMode(mode);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
List<String> list = new ArrayList<>();
|
||||||
|
List<TaskDto> tasks = taskService.findAllTaskFromCache();
|
||||||
|
if (mode.equals("0")) {
|
||||||
|
InstructionService instructionService = SpringContextHolder.getBean(InstructionServiceImpl.class);
|
||||||
|
for (int i = 0; i < tasks.size(); i++) {
|
||||||
|
TaskDto taskDto = tasks.get(i);
|
||||||
|
InstructionDto instdto = instructionService.findByTaskid(taskDto.getTask_id(), "instruction_status < 2 ");
|
||||||
|
if (ObjectUtil.isEmpty(instdto)) {
|
||||||
|
list.add(taskDto.getTask_id());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (int i = 0; i < list.size(); i++) {
|
||||||
|
String task_id = list.get(i);
|
||||||
|
TaskDto taskDto = taskService.findById(task_id);
|
||||||
|
taskService.finish(task_id);
|
||||||
|
Device startDevice = deviceAppService.findDeviceByCode(taskDto.getStart_device_code());
|
||||||
|
Device nextDevice = deviceAppService.findDeviceByCode(taskDto.getNext_point_code());
|
||||||
|
nextDevice.setIslock("false");
|
||||||
|
startDevice.setIslock("false");
|
||||||
|
}
|
||||||
JSONObject resultJson = new JSONObject();
|
JSONObject resultJson = new JSONObject();
|
||||||
resultJson.put("code", "1");
|
resultJson.put("code", "1");
|
||||||
resultJson.put("desc", "更新成功");
|
resultJson.put("desc", "更新成功");
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import net.sf.json.JSONArray;
|
|||||||
import net.sf.json.JSONObject;
|
import net.sf.json.JSONObject;
|
||||||
import org.nl.acs.agv.server.AgvService;
|
import org.nl.acs.agv.server.AgvService;
|
||||||
import org.nl.acs.device_driver.electric_fence.ElectricFenceDeviceDriver;
|
import org.nl.acs.device_driver.electric_fence.ElectricFenceDeviceDriver;
|
||||||
|
import org.nl.acs.device_driver.weighing_site.WeighingSiteDeviceDriver;
|
||||||
import org.nl.acs.instruction.service.InstructionService;
|
import org.nl.acs.instruction.service.InstructionService;
|
||||||
import org.nl.acs.opc.Device;
|
import org.nl.acs.opc.Device;
|
||||||
import org.nl.acs.opc.DeviceAppService;
|
import org.nl.acs.opc.DeviceAppService;
|
||||||
@@ -42,19 +43,32 @@ public class QueryMagicAgvDeviceStatus {
|
|||||||
DeviceAppService appService = SpringContextHolder.getBean(DeviceAppServiceImpl.class);
|
DeviceAppService appService = SpringContextHolder.getBean(DeviceAppServiceImpl.class);
|
||||||
|
|
||||||
Date now = new Date();
|
Date now = new Date();
|
||||||
|
String mode = "";
|
||||||
|
List<Device> allDevice = appService.findAllDevice();
|
||||||
|
WeighingSiteDeviceDriver weighingSiteDeviceDriver;
|
||||||
|
for (int z = 0; z < allDevice.size(); z++) {
|
||||||
|
Device deviceBycode = allDevice.get(z);
|
||||||
|
if (deviceBycode.getDeviceDriver() instanceof WeighingSiteDeviceDriver) {
|
||||||
|
weighingSiteDeviceDriver = (WeighingSiteDeviceDriver) deviceBycode.getDeviceDriver();
|
||||||
|
mode = weighingSiteDeviceDriver.getNowMode();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
ElectricFenceDeviceDriver electricFenceDeviceDriver;
|
ElectricFenceDeviceDriver electricFenceDeviceDriver;
|
||||||
List<Device> deviceAll = appService.findDevice(DeviceType.safetydoor);
|
List<Device> deviceAll = appService.findDevice(DeviceType.safetydoor);
|
||||||
for (int j = 0; j < deviceAll.size(); j++) {
|
for (int j = 0; j < deviceAll.size(); j++) {
|
||||||
Device device = deviceAll.get(i);
|
Device device = deviceAll.get(j);
|
||||||
if (device.getDeviceDriver() instanceof ElectricFenceDeviceDriver) {
|
if (device.getDeviceDriver() instanceof ElectricFenceDeviceDriver) {
|
||||||
electricFenceDeviceDriver = (ElectricFenceDeviceDriver) device.getDeviceDriver();
|
electricFenceDeviceDriver = (ElectricFenceDeviceDriver) device.getDeviceDriver();
|
||||||
if (jo.optString("state").equals("IDLE")) {
|
if (jo.optString("state").equals("IDLE") && mode.equals("0")) {
|
||||||
electricFenceDeviceDriver.setStart_time(now);
|
electricFenceDeviceDriver.setStart_time(now);
|
||||||
|
|
||||||
electricFenceDeviceDriver.writing(1);
|
electricFenceDeviceDriver.writing(0);
|
||||||
} else if (jo.optString("state").equals("EXECUTING")) {
|
} else if (jo.optString("state").equals("EXECUTING")) {
|
||||||
electricFenceDeviceDriver.writing(2);
|
electricFenceDeviceDriver.writing(1);
|
||||||
|
}
|
||||||
|
if (mode.equals("1")) {
|
||||||
|
electricFenceDeviceDriver.writing(1);
|
||||||
}
|
}
|
||||||
if (!jo.optString("state").equals("IDLE")) {
|
if (!jo.optString("state").equals("IDLE")) {
|
||||||
electricFenceDeviceDriver.setStart_time(now);
|
electricFenceDeviceDriver.setStart_time(now);
|
||||||
|
|||||||
Reference in New Issue
Block a user