Merge remote-tracking branch 'origin/master'

This commit is contained in:
2024-07-02 19:38:30 +08:00
10 changed files with 142 additions and 141 deletions

View File

@@ -243,34 +243,6 @@ public class TwoNDCSocketConnectionAutoRun extends AbstractAutoRunnable {
if (ObjectUtil.isNotEmpty(device)) {
if (device.getDeviceDriver() instanceof StandardAutodoorDeviceDriver) {
standardAutodoorDeviceDriver = (StandardAutodoorDeviceDriver) device.getDeviceDriver();
// String region = (String) standardAutodoorDeviceDriver.getDevice().getExtraValue().get("region");
// if (StrUtil.isNotEmpty(region) && !(" ".equals(region))) {
// String linkDeviceCode = (String) standardAutodoorDeviceDriver.getDevice().getExtraValue().get("link_device_code");
// Device deviceByCode = deviceAppService.findDeviceByCode(linkDeviceCode);
// if (ObjectUtil.isNotEmpty(deviceByCode) && deviceByCode.getDeviceDriver() instanceof OvenGantryManipulatorDeviceDriver) {
// OvenGantryManipulatorDeviceDriver hxhj = (OvenGantryManipulatorDeviceDriver) deviceByCode.getDeviceDriver();
// String s = Integer.parseInt(region) == 1 ? "one" : Integer.parseInt(region) == 2 ?
// "two" : Integer.parseInt(region) == 3 ? "three" : null;
// Class<? extends OvenGantryManipulatorDeviceDriver> aClass = hxhj.getClass();
// String regionCode = "region_" + s;
// String s1 = Integer.parseInt(region) == 1 ? "2" : Integer.parseInt(region) == 2 ?
// "6" : Integer.parseInt(region) == 3 ? "8" : null;
// if (StrUtil.isNotEmpty(s) && ((Integer) aClass.getField(regionCode).get(hxhj) == 0)) {
// hxhj.writing("to_"+regionCode, s1);
// log.info("下发AGV进入区域{}信号值为:{}", region, s1);
// } else {
// log.info("区域{}信号{}未清除,导致不满足下发AGV进入区域信号", region, regionCode);
// }
// if (hxhj.getMode() == 2 && StrUtil.isNotEmpty(s1) && ((Integer) aClass.getField(regionCode).get(hxhj) == 2)) {
// data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0);
// requireSucessRegion = true;
// } else {
// log.error("AGV进入区域{}信号{}行架未接收{},请检查;或行架正在执行中:{}", region, regionCode,s1, hxhj.getMode());
// }
// } else {
// log.error("未设置关联设备或关联的不是烘箱行架设备{}导致信号未反馈", linkDeviceCode);
// }
// } else {
try {
standardAutodoorDeviceDriver.writing("to_open", "1");
standardAutodoorDeviceDriver.writing("to_close", "0");
@@ -298,37 +270,6 @@ public class TwoNDCSocketConnectionAutoRun extends AbstractAutoRunnable {
if (ObjectUtil.isNotEmpty(device)) {
if (device.getDeviceDriver() instanceof StandardAutodoorDeviceDriver) {
standardAutodoorDeviceDriver = (StandardAutodoorDeviceDriver) device.getDeviceDriver();
// String region = (String) standardAutodoorDeviceDriver.getDevice().getExtraValue().get("region");
// if (StrUtil.isNotEmpty(region) && !(" ".equals(region))) {
// String linkDeviceCode = (String) standardAutodoorDeviceDriver.getDevice().getExtraValue().get("link_device_code");
// if(requireSucessTake || requireSucessPut){
// Device deviceByCode = deviceAppService.findDeviceByCode(linkDeviceCode);
// if (ObjectUtil.isNotEmpty(deviceByCode) && deviceByCode.getDeviceDriver() instanceof OvenGantryManipulatorDeviceDriver) {
// OvenGantryManipulatorDeviceDriver hxhj = (OvenGantryManipulatorDeviceDriver) deviceByCode.getDeviceDriver();
// String s = Integer.parseInt(region) == 1 ? "one" : Integer.parseInt(region) == 2 ?
// "two" : Integer.parseInt(region) == 3 ? "three" : null;
// Class<? extends OvenGantryManipulatorDeviceDriver> aClass = hxhj.getClass();
// String regionCode = "region_" + s;
// if (StrUtil.isNotEmpty(s) && ((Integer) aClass.getField(regionCode).get(hxhj) != 0)) {
// hxhj.writing("to_"+regionCode, "0");
// log.info("下发AGV离开区域{}信号值为:{}", region, 0);
// } else {
// log.info("区域{}信号{}为0,不需要下发AGV离开区域信号", region, regionCode);
// }
// if (hxhj.getMode() == 2 && ((Integer) aClass.getField(regionCode).get(hxhj) == 0)) {
// data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0);
// requireSucessPut = false;
// requireSucessTake = false;
// } else {
// log.error("AGV离开区域{}信号{}行架未接收0,请检查;或行架正在执行中:{}", region, regionCode, hxhj.getMode());
// }
// } else {
// log.error("未设置关联设备或关联的不是烘箱行架设备{}导致信号未反馈", linkDeviceCode);
// }
// }else{
// data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0);
// }
// } else {
try {
standardAutodoorDeviceDriver.writing("to_close", "1");
standardAutodoorDeviceDriver.writing("to_open", "0");
@@ -355,13 +296,6 @@ public class TwoNDCSocketConnectionAutoRun extends AbstractAutoRunnable {
if (device.getDeviceDriver() instanceof AgvNdcTwoDeviceDriver) {
agvNdcTwoDeviceDriver = (AgvNdcTwoDeviceDriver) device.getDeviceDriver();
agvNdcTwoDeviceDriver.processSocket(arr);
if(phase == 0x05 && "3".equals(inst.getInstruction_type()) && requireSucessRegion){
requireSucessPut = true;
requireSucessRegion = false;
}else if(phase == 0x0E && "8".equals(inst.getInstruction_type()) && requireSucessRegion){
requireSucessTake = true;
requireSucessRegion = false;
}
} else if (device.getDeviceDriver() instanceof AgvNdcOneDeviceDriver) {
agvNdcOneDeviceDriver = (AgvNdcOneDeviceDriver) device.getDeviceDriver();
agvNdcOneDeviceDriver.processSocket(arr);

View File

@@ -867,9 +867,9 @@ public class DeviceServiceImpl extends CommonServiceImpl<DeviceMapper, Device> i
celldto.setY("0");
celldto.setZ("0");
celldto.setAddress(Integer.parseInt(CodeUtil.getNewCode("NDCADDRESS_NO")));
celldto.setCreate_by("init");
celldto.setCreate_time(SecurityUtils.getCurrentNickName());
// wo.insert((JSONObject) JSONObject.toJSON(celldto));
celldto.setCreate_by(SecurityUtils.getCurrentNickName());
String now = DateUtil.now();
celldto.setCreate_time(now);
StorageCell entity = ConvertUtil.convert(celldto, StorageCell.class);
storageCellMapper.insert(entity);
}
@@ -888,9 +888,9 @@ public class DeviceServiceImpl extends CommonServiceImpl<DeviceMapper, Device> i
celldto.setY("0");
celldto.setZ("0");
celldto.setAddress(Integer.parseInt(CodeUtil.getNewCode("NDCADDRESS_NO")));
celldto.setCreate_by("init");
celldto.setCreate_time(SecurityUtils.getCurrentNickName());
// wo.insert((JSONObject) JSONObject.toJSON(celldto));
celldto.setCreate_by(SecurityUtils.getCurrentNickName());
String now = DateUtil.now();
celldto.setCreate_time(now);
StorageCell entity = ConvertUtil.convert(celldto, StorageCell.class);
storageCellMapper.insert(entity);
}

View File

@@ -232,16 +232,16 @@ public class XgAgvCarDeviceDriver extends AbstractDeviceDriver implements Device
map.put("errors", isError);
map.put("upload_scene_status", upload_scene_status);
map.put("procBusiness", procBusiness ? "": "");
map.put("current_order", current_order);
// map.put("current_order", current_order);
map.put("connection_status", "1".equals(connection_status) ? "连接上" : "断连");
map.put("dispatchable", dispatchable ? "可接单" : "不可接单");
map.put("dispatchable_status", dispatchable_status == 1?"设置可接单" : dispatchable_status == 2?"设置不可接单(小车占用资源)" : dispatchable_status == 3?"设置不可接单(小车不占用资源)" : "未知");
map.put("current_map_invalid", !current_map_invalid ? "机器人不在地图场景中": "机器人在地图场景中");
map.put("disconnect", !disconnect ? "机器人断连" : "机器人连接上");
map.put("low_battery", !low_battery ? "低电量": "正常");
map.put("suspended", !suspended ? "订单被暂停,需要人工手动恢复": "正常");
map.put("current_map_invalid", current_map_invalid ? "机器人不在地图场景中": "机器人在地图场景中");
map.put("disconnect", disconnect ? "机器人断连" : "机器人连接上");
map.put("low_battery", low_battery ? "低电量": "正常");
map.put("suspended", suspended ? "订单被暂停,需要人工手动恢复": "正常");
map.put("message", message);
map.put("unconfirmed_reloc", !unconfirmed_reloc ? "未确认定位" : "正常");
map.put("unconfirmed_reloc", unconfirmed_reloc ? "未确认定位" : "正常");
map.put("unlock", unlock == 0 ? "控制权在core手上" : unlock == 1 ? "控制权被其他人抢走" : unlock == 2 ?"控制权没有被抢占" : "未知");
JSONObject jo = new JSONObject(map);
return jo;

View File

@@ -223,6 +223,8 @@ public class InflatableShaftLibraryDeviceDriver extends AbstractOpcDeviceDriver
jo.put("isOnline", this.getIsonline());
jo.put("error", ErrorUtil.getDictDetail("error_type", String.valueOf(this.getError())));
jo.put("isError", this.getIserror());
jo.put("qty", this.getQty());
jo.put("type", this.getType() == 3 ? "三寸": this.getType() == 6 ? "六寸" : "未知");
jo.put("driver_type", "siemens_conveyor");
jo.put("is_click", true);
return jo;

View File

@@ -124,8 +124,22 @@ export default {
'barcode_length': 'Vehicle length',
'last_container': 'Last vehicle number',
'applySucess': 'Request task flag',
'requireSucess': 'Request instruction mark'
'requireSucess': 'Request instruction mark',
'number_of_air_shafts': 'Number of air shafts',
'control': 'Control',
'positioning_confirmation': 'Positioning confirmation',
'The_status_of_the_waybill': 'The status of the waybill',
'The_state_of_the_robots_battery_level': 'The state of the robots battery level',
'Whether_or_not_the_connection_is_disconnected': 'Whether or not the connection is disconnected',
'Whether_or_not_in_the_scene': 'Whether or not in the scene',
'Whether_the_order_can_be_accepted': 'Whether the order can be accepted',
'Connection_status': 'Connection status',
'Whether_it_is_being_executed': 'Whether or not the waybill placed by the user is being executed',
'Whether_to_push_the_scenario_waybill': 'Whether to push the scenario waybill',
'Core_error_identifier': 'Core error identifier',
'Current_command_information': 'Current command information',
'The_signal_is_successfully_marked': 'The signal is successfully marked',
'Complement_information': 'Complement information'
}
}
}

View File

@@ -124,8 +124,22 @@ export default {
'barcode_length': 'Perjalanan panjang',
'last_container': 'Nomor muatan terakhir',
'applySucess': 'Meminta tanda tugas',
'requireSucess': 'Kode aplikasicomment'
'requireSucess': 'Kode aplikasicomment',
'number_of_air_shafts': 'Jumlah poros udara',
'control': 'Menguasai',
'positioning_confirmation': 'Konfirmasi posisi',
'The_status_of_the_waybill': 'Status waybill',
'The_state_of_the_robots_battery_level': 'Keadaan tingkat baterai robot',
'Whether_or_not_the_connection_is_disconnected': 'Apakah koneksi terputus atau tidak',
'Whether_or_not_in_the_scene': 'Apakah di tempat kejadian atau tidak',
'Whether_the_order_can_be_accepted': 'Apakah pesanan dapat diterima',
'Connection_status': 'Status koneksi',
'Whether_it_is_being_executed': 'Apakah waybill yang ditempatkan oleh pengguna sedang dieksekusi atau tidak',
'Whether_to_push_the_scenario_waybill': 'Apakah akan mendorong waybill skenario',
'Core_error_identifier': 'Pengenal kesalahan inti',
'Current_command_information': 'Informasi perintah saat ini',
'The_signal_is_successfully_marked': 'Sinyal berhasil ditandai',
'Complement_information': 'Informasi pelengkap'
}
}
}

View File

@@ -124,7 +124,22 @@ export default {
'barcode_length': '载具长度',
'last_container': '上次载具号',
'applySucess': '请求任务标记',
'requireSucess': '申请指令标记'
'requireSucess': '申请指令标记',
'number_of_air_shafts': '气涨轴数量',
'control': '控制权',
'positioning_confirmation': '定位确认',
'The_status_of_the_waybill': '运单状态',
'The_state_of_the_robots_battery_level': '机器人电量状态',
'Whether_or_not_the_connection_is_disconnected': '是否断连',
'Whether_or_not_in_the_scene': '是否在场景',
'Whether_the_order_can_be_accepted': '是否可接单',
'Connection_status': '连接状态',
'Whether_it_is_being_executed': '是否在执行用户下的运单',
'Whether_to_push_the_scenario_waybill': '是否推送场景运单',
'Core_error_identifier': 'Core出错标识位',
'Current_command_information': '当前指令信息',
'The_signal_is_successfully_marked': '信号成功标记',
'Complement_information': '补码信息'
}
}
}

View File

@@ -168,7 +168,7 @@
<el-option
v-for="item in deviceList"
:key="item.device_code"
:label="item.device_name"
:label="item.device_code"
:value="item.device_code"
/>
</el-select>
@@ -177,42 +177,43 @@
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="关联设备异常时取货点" prop="device_code" label-width="200">
<el-select
v-model="form.error_get_device_code"
multiple
filterable
reserve-keyword
placeholder="请选择"
>
<el-option
v-for="item in deviceList"
:label="item.device_name"
:value="item.device_code"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="关联设备异常时放货点" prop="device_code" label-width="200">
<el-select
v-model="form.error_put_device_code"
filterable
reserve-keyword
multiple
placeholder="请选择"
>
<el-option
v-for="item in deviceList"
:key="item.device_code"
:label="item.device_name"
:value="item.device_code"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-col :span="8">
<el-form-item label="关联设备异常时取货点" prop="device_code" label-width="200">
<el-select
v-model="form.error_get_device_code"
multiple
filterable
reserve-keyword
placeholder="请选择"
>
<el-option
v-for="item in deviceList"
:key="item.device_code"
:label="item.device_name"
:value="item.device_code"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="关联设备异常时放货点" prop="device_code" label-width="200">
<el-select
v-model="form.error_put_device_code"
filterable
reserve-keyword
multiple
placeholder="请选择"
>
<el-option
v-for="item in deviceList"
:key="item.device_code"
:label="item.device_name"
:value="item.device_code"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-card>

View File

@@ -698,7 +698,7 @@ export default {
const obj = { name: i18n.t('monitor.click.request_success_flag'), value: data[val] }
this.arr.push(obj)
} else if (val === 'requireActionSucess') {
const obj = { name: '信号成功标记', value: data[val] }
const obj = { name: i18n.t('monitor.click.delivery_completed'), value: data[val] }
this.arr.push(obj)
} else if (val === 'applySucess') {
const obj = { name: 'applySucess', value: data[val] }
@@ -710,7 +710,7 @@ export default {
const obj = { name: i18n.t('monitor.click.inventory_quantity'), value: data[val] }
this.arr.push(obj)
} else if (val === 'hand_barcode') {
const obj = { name: '补码信息', value: data[val] }
const obj = { name: i18n.t('monitor.click.Complement_information'), value: data[val] }
this.arr.push(obj)
} else if (val === 'hand_barcode1') {
const obj = { name: i18n.t('monitor.click.the_subvolume_number'), value: data[val] }
@@ -755,49 +755,49 @@ export default {
const obj = { name: i18n.t('monitor.click.command'), value: data[val] }
this.arr.push(obj)
} else if (val === 'material_barcode') {
const obj = { name: '子卷编号', value: data[val] }
const obj = { name: i18n.t('monitor.click.the_subvolume_number'), value: data[val] }
this.arr.push(obj)
} else if (val === 'inst_message') {
const obj = { name: '当前指令信息', value: data[val] }
const obj = { name: i18n.t('monitor.click.Current_command_information'), value: data[val] }
this.arr.push(obj)
} else if (val === 'errors') {
const obj = { name: 'Core出错标识位', value: data[val] }
const obj = { name: i18n.t('monitor.click.Core_error_identifier'), value: data[val] }
this.arr.push(obj)
} else if (val === 'upload_scene_status') {
const obj = { name: '是否推送场景运单', value: data[val] }
const obj = { name: i18n.t('monitor.click.Whether_to_push_the_scenario_waybill'), value: data[val] }
this.arr.push(obj)
} else if (val === 'procBusiness') {
const obj = { name: '是否在执行用户下的运单', value: data[val] }
this.arr.push(obj)
} else if (val === 'current_order') {
const obj = { name: '机器人当前运单', value: data[val] }
const obj = { name: i18n.t('monitor.click.Whether_it_is_being_executed'), value: data[val] }
this.arr.push(obj)
} else if (val === 'connection_status') {
const obj = { name: '机器人连接状态', value: data[val] }
this.arr.push(obj)
} else if (val === 'dispatchable') {
const obj = { name: '机器人可接单状态', value: data[val] }
const obj = { name: i18n.t('monitor.click.Connection_status'), value: data[val] }
this.arr.push(obj)
} else if (val === 'dispatchable_status') {
const obj = { name: '是否可接单', value: data[val] }
const obj = { name: i18n.t('monitor.click.Whether_the_order_can_be_accepted'), value: data[val] }
this.arr.push(obj)
} else if (val === 'current_map_invalid') {
const obj = { name: '机器人是否在场景', value: data[val] }
const obj = { name: i18n.t('monitor.click.Whether_or_not_in_the_scene'), value: data[val] }
this.arr.push(obj)
} else if (val === 'disconnect') {
const obj = { name: '机器人是否断连', value: data[val] }
const obj = { name: i18n.t('monitor.click.Whether_or_not_the_connection_is_disconnected'), value: data[val] }
this.arr.push(obj)
} else if (val === 'low_battery') {
const obj = { name: '机器人电量状态', value: data[val] }
const obj = { name: i18n.t('monitor.click.The_state_of_the_robots_battery_level'), value: data[val] }
this.arr.push(obj)
} else if (val === 'suspended') {
const obj = { name: '暂停运单', value: data[val] }
const obj = { name: i18n.t('monitor.click.The_status_of_the_waybill'), value: data[val] }
this.arr.push(obj)
} else if (val === 'unconfirmed_reloc') {
const obj = { name: '定位确认', value: data[val] }
const obj = { name: i18n.t('monitor.click.positioning_confirmation'), value: data[val] }
this.arr.push(obj)
} else if (val === 'unlock') {
const obj = { name: '控制权', value: data[val] }
const obj = { name: i18n.t('monitor.click.control'), value: data[val] }
this.arr.push(obj)
} else if (val === 'qty') {
const obj = { name: i18n.t('monitor.click.number_of_air_shafts'), value: data[val] }
this.arr.push(obj)
} else if (val === 'type') {
const obj = { name: i18n.t('opc.table_title.type'), value: data[val] }
this.arr.push(obj)
}
}