diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/custompolicy/rest/CustomPolicyController.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/custompolicy/rest/CustomPolicyController.java index 41c23d3..f3e7c4c 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/custompolicy/rest/CustomPolicyController.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/custompolicy/rest/CustomPolicyController.java @@ -17,6 +17,7 @@ import org.springframework.http.ResponseEntity; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import java.util.List; import java.util.Map; @RestController @@ -82,4 +83,13 @@ public class CustomPolicyController { customPolicyService.updateOn(id,is_on); return new ResponseEntity<>(HttpStatus.OK); } + + + @GetMapping("/getStrategy") + @Log("自定义策略列表") + @ApiOperation("自定义策略列表") + public ResponseEntity updateOn(){ + List list = customPolicyService.findDeviceStrategyOption(); + return new ResponseEntity<>(list,HttpStatus.OK); + } } diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/custompolicy/server/CustomPolicyService.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/custompolicy/server/CustomPolicyService.java index 02b187b..67ca405 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/custompolicy/server/CustomPolicyService.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/custompolicy/server/CustomPolicyService.java @@ -8,6 +8,7 @@ import org.nl.acs.custompolicy.server.dto.CustomPolicyDTO; import org.nl.acs.custompolicy.server.vo.CustomPolicyPlantVO; import org.springframework.data.domain.Pageable; +import java.util.List; import java.util.Map; /** @@ -32,4 +33,5 @@ public interface CustomPolicyService extends CommonService { DeviceStrategy findByCode(String var1); + List findDeviceStrategyOption(); } diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/custompolicy/server/impl/CustomPolicyServiceImpl.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/custompolicy/server/impl/CustomPolicyServiceImpl.java index fee24c3..1c7ffb6 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/custompolicy/server/impl/CustomPolicyServiceImpl.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/custompolicy/server/impl/CustomPolicyServiceImpl.java @@ -159,16 +159,19 @@ public class CustomPolicyServiceImpl extends CommonServiceImpl findDeviceStrategyOption() { + public List findDeviceStrategyOption() { List strategys = this.findAllDeviceStrategy(); Map map = new HashMap(); + List strings = new ArrayList<>(); Iterator var3 = strategys.iterator(); while(var3.hasNext()) { DeviceStrategy strategy = (DeviceStrategy)var3.next(); - map.put(strategy.getCode(), strategy.getName()); + map.put("code",strategy.getCode()); + map.put("name",strategy.getName()); + strings.add(map); } - return map; + return strings; } } diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/service/impl/DeviceServiceImpl.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/service/impl/DeviceServiceImpl.java index b5cbffa..afc6b57 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/service/impl/DeviceServiceImpl.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/service/impl/DeviceServiceImpl.java @@ -852,6 +852,9 @@ public class DeviceServiceImpl extends CommonServiceImpl i String opc_server_id = parentForm.getString("opc_id"); String opc_plc_id = parentForm.getString("plc_id"); String address = form.getString("address"); + String form_x = form.getString("x"); + String form_z = form.getString("z"); + String form_y = form.getString("y"); String input_material = parentForm.getString("input_material"); String device_type = parentForm.getString("device_type"); String driver_code = parentForm.getString("driver_code"); diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/standard_stacker/StandardStackerDeviceDriver.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/standard_stacker/StandardStackerDeviceDriver.java index 15688de..f6f759b 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/standard_stacker/StandardStackerDeviceDriver.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/standard_stacker/StandardStackerDeviceDriver.java @@ -4,11 +4,15 @@ import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.Data; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.acs.device.domain.Device; +import org.nl.acs.device.domain.DeviceExtra; import org.nl.acs.device.enums.DeviceType; +import org.nl.acs.device.service.DeviceExtraService; +import org.nl.acs.device.service.impl.DeviceExtraServiceImpl; import org.nl.acs.device_driver.DeviceDriver; import org.nl.acs.device_driver.RouteableDeviceDriver; import org.nl.acs.device_driver.basedriver.belt_conveyor.BeltConveyorDeviceDriver; @@ -49,7 +53,8 @@ public class StandardStackerDeviceDriver extends AbstractOpcDeviceDriver impleme DeviceAppService deviceAppService = SpringContextHolder.getBean(DeviceAppServiceImpl.class); @Autowired RouteLineService routeLineService = SpringContextHolder.getBean(RouteLineServiceImpl.class); - + @Autowired + DeviceExtraService deviceExtraService = SpringContextHolder.getBean(DeviceExtraServiceImpl.class); //心跳 Integer heartbeat = 0; @@ -425,9 +430,18 @@ public class StandardStackerDeviceDriver extends AbstractOpcDeviceDriver impleme String next_device_code = instruction.getNext_device_code(); Device nextDevice = deviceAppService.findDeviceByCode(next_device_code); if (StrUtil.equals(nextDevice.getDevice_type(), DeviceType.conveyor.name())) { - map.put("to_z", nextDevice.getZ()); - map.put("to_x", nextDevice.getX()); - map.put("to_y", nextDevice.getY()); + List list = deviceExtraService.list(Wrappers.lambdaQuery(DeviceExtra.class).eq(DeviceExtra::getDevice_code, next_device_code)); + for (DeviceExtra deviceExtra : list) { + if("x".equals(deviceExtra.getExtra_code()) && StrUtil.isNotEmpty(deviceExtra.getExtra_value())){ + map.put("to_x", deviceExtra.getExtra_value()); + } + if("z".equals(deviceExtra.getExtra_code()) && StrUtil.isNotEmpty(deviceExtra.getExtra_value())){ + map.put("to_z", deviceExtra.getExtra_value()); + } + if("y".equals(deviceExtra.getExtra_code()) && StrUtil.isNotEmpty(deviceExtra.getExtra_value())){ + map.put("to_y", deviceExtra.getExtra_value()); + } + } } if (StrUtil.equals(nextDevice.getDevice_type(), DeviceType.storage.name())) { map.put("to_z", inst.getTo_z()); @@ -609,9 +623,18 @@ public class StandardStackerDeviceDriver extends AbstractOpcDeviceDriver impleme map.put("to_task", inst.getInstruction_code()); if (StrUtil.equals(startDevice.getDevice_type(), DeviceType.conveyor.name())) { - map.put("to_z", startDevice.getZ()); - map.put("to_x", startDevice.getX()); - map.put("to_y", startDevice.getY()); + List list = deviceExtraService.list(Wrappers.lambdaQuery(DeviceExtra.class).eq(DeviceExtra::getDevice_code, start_device_code)); + for (DeviceExtra deviceExtra : list) { + if("x".equals(deviceExtra.getExtra_code()) && StrUtil.isNotEmpty(deviceExtra.getExtra_value())){ + map.put("to_x", deviceExtra.getExtra_value()); + } + if("z".equals(deviceExtra.getExtra_code()) && StrUtil.isNotEmpty(deviceExtra.getExtra_value())){ + map.put("to_z", deviceExtra.getExtra_value()); + } + if("y".equals(deviceExtra.getExtra_code()) && StrUtil.isNotEmpty(deviceExtra.getExtra_value())){ + map.put("to_y", deviceExtra.getExtra_value()); + } + } } if (StrUtil.equals(startDevice.getDevice_type(), DeviceType.storage.name())) { map.put("to_z", inst.getFrom_z()); diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/instruction/service/impl/InstructionServiceImpl.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/instruction/service/impl/InstructionServiceImpl.java index ad2b03a..e02227d 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/instruction/service/impl/InstructionServiceImpl.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/instruction/service/impl/InstructionServiceImpl.java @@ -202,6 +202,7 @@ public class InstructionServiceImpl extends CommonServiceImpl instructionMybatis.like(InstructionMybatis::getStart_point_code,point_code).or().like(InstructionMybatis::getNext_point_code,point_code)); wrapper.eq(StringUtils.isNotBlank(instruction_type),InstructionMybatis::getInstruction_type,instruction_type); + wrapper.le(InstructionMybatis::getInstruction_status,1); if (!StrUtil.isEmpty(is_over)) { if (StrUtil.equals(is_over, "1")) { wrapper.ge(InstructionMybatis::getInstruction_status, InstructionStatusEnum.FINISHED.getIndex()); diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/service/impl/TaskServiceImpl.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/service/impl/TaskServiceImpl.java index 7743c0e..0353633 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/service/impl/TaskServiceImpl.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/service/impl/TaskServiceImpl.java @@ -27,6 +27,7 @@ import org.nl.acs.device_driver.RequestMethodEnum; import org.nl.acs.ext.wms.data.one.feedBackTaskStatus.FeedBackTaskStatusRequest; import org.nl.acs.ext.wms.service.AcsToWmsService; import org.nl.acs.instruction.domain.Instruction; +import org.nl.acs.instruction.domain.InstructionMybatis; import org.nl.acs.instruction.enums.InstructionStatusEnum; import org.nl.acs.instruction.service.InstructionService; import org.nl.acs.instruction.service.dto.InstructionDto; @@ -322,6 +323,7 @@ public class TaskServiceImpl extends CommonServiceImpl impleme wrapper.lt(Task::getTask_status,TaskStatusEnum.FINISHED.getIndex()); } } + wrapper.le(Task::getTask_status,1); IPage taskPage = taskMapper.selectPage(queryPage,wrapper); final JSONObject json = (JSONObject) JSON.toJSON(ConvertUtil.convertPage(taskPage, TaskDto.class)); return json; diff --git a/acs/nladmin-ui/src/api/acs/device/customPolicyType.js b/acs/nladmin-ui/src/api/acs/device/customPolicyType.js index 67a6d1e..3464a1f 100644 --- a/acs/nladmin-ui/src/api/acs/device/customPolicyType.js +++ b/acs/nladmin-ui/src/api/acs/device/customPolicyType.js @@ -10,7 +10,6 @@ export function updateConfig(plans, deviceCode, id) { data, method: 'post' }) - } export function selectById(id) { @@ -20,3 +19,11 @@ export function selectById(id) { }) } +export function findDeviceStrategyOption() { + return request({ + url: '/api/customPolicy/getStrategy', + method: 'get' + }) +} + +export default { findDeviceStrategyOption } diff --git a/acs/nladmin-ui/src/views/acs/device/driver/belt_conveyor.vue b/acs/nladmin-ui/src/views/acs/device/driver/belt_conveyor.vue index 7ecfb7d..24ecf90 100644 --- a/acs/nladmin-ui/src/views/acs/device/driver/belt_conveyor.vue +++ b/acs/nladmin-ui/src/views/acs/device/driver/belt_conveyor.vue @@ -63,7 +63,7 @@
指令相关:
- + + + + + + + + + + + + + + + + + + + + + + + @@ -324,7 +362,10 @@ export default { // 从父表单获取设备编码 this.device_id = this.$props.parentForm.device_id this.device_code = this.$props.parentForm.device_code - queryDriverConfig(this.device_id, this.$props.parentForm.driver_code).then(data => { + queryDriverConfig( + this.device_id, + this.$props.parentForm.driver_code + ).then((data) => { // 给表单赋值,并且属性不能为空 if (data.form) { const arr = Object.keys(data.form) @@ -347,15 +388,15 @@ export default { this.data2 = data.ws this.sliceItem() }) - selectPlcList().then(data => { + selectPlcList().then((data) => { this.dataOpcPlcs = data this.plc_id = this.$props.parentForm.opc_plc_id }) - selectOpcList().then(data => { + selectOpcList().then((data) => { this.dataOpcservers = data this.opc_id = this.$props.parentForm.opc_server_id }) - deviceCrud.selectDeviceList().then(data => { + deviceCrud.selectDeviceList().then((data) => { this.deviceList = data }) }) @@ -377,19 +418,36 @@ export default { } for (const val in this.data1) { if (this.data1[val].code.indexOf('mode') !== -1) { - this.data1[val].db = beforeStr + '.' + afterStr.substring(0, 1) + (parseInt(endNumber) + 0) + this.data1[val].db = + beforeStr + + '.' + + afterStr.substring(0, 1) + + (parseInt(endNumber) + 0) } if (this.data1[val].code.indexOf('move') !== -1) { - this.data1[val].db = beforeStr + '.' + afterStr.substring(0, 1) + (parseInt(endNumber) + 1) + this.data1[val].db = + beforeStr + + '.' + + afterStr.substring(0, 1) + + (parseInt(endNumber) + 1) } if (this.data1[val].code.indexOf('carrier_direction') !== -1) { - this.data1[val].db = beforeStr + '.' + afterStr.substring(0, 1) + (parseInt(endNumber) + 2) + this.data1[val].db = + beforeStr + + '.' + + afterStr.substring(0, 1) + + (parseInt(endNumber) + 2) } if (this.data1[val].code.indexOf('error') !== -1) { - this.data1[val].db = beforeStr + '.' + afterStr.substring(0, 1) + (parseInt(endNumber) + 4) + this.data1[val].db = + beforeStr + + '.' + + afterStr.substring(0, 1) + + (parseInt(endNumber) + 4) } if (this.data1[val].code.indexOf('task') !== -1) { - this.data1[val].db = beforeStr + '.' + 'D' + (parseInt(endNumber) + 8) + this.data1[val].db = + beforeStr + '.' + 'D' + (parseInt(endNumber) + 8) } } } @@ -411,40 +469,69 @@ export default { console.log(endNumber) for (const val in this.data2) { if (this.data2[val].code.indexOf('to_command') !== -1) { - this.data2[val].db = beforeStr + '.' + afterStr.substring(0, 1) + (parseInt(endNumber) + 0) + this.data2[val].db = + beforeStr + + '.' + + afterStr.substring(0, 1) + + (parseInt(endNumber) + 0) } if (this.data2[val].code.indexOf('to_target') !== -1) { - this.data2[val].db = beforeStr + '.' + afterStr.substring(0, 1) + (parseInt(endNumber) + 2) + this.data2[val].db = + beforeStr + + '.' + + afterStr.substring(0, 1) + + (parseInt(endNumber) + 2) } if (this.data2[val].code.indexOf('to_container_type') !== -1) { - this.data2[val].db = beforeStr + '.' + afterStr.substring(0, 1) + (parseInt(endNumber) + 4) + this.data2[val].db = + beforeStr + + '.' + + afterStr.substring(0, 1) + + (parseInt(endNumber) + 4) } if (this.data2[val].code.indexOf('to_task') !== -1) { - this.data2[val].db = beforeStr + '.' + 'D' + (parseInt(endNumber) + 6) + this.data2[val].db = + beforeStr + '.' + 'D' + (parseInt(endNumber) + 6) } if (this.data2[val].code.indexOf('to_strap_times') !== -1) { - this.data2[val].db = beforeStr + '.' + afterStr.substring(0, 1) + (parseInt(endNumber) + 10) + this.data2[val].db = + beforeStr + + '.' + + afterStr.substring(0, 1) + + (parseInt(endNumber) + 10) } if (this.data2[val].code.indexOf('to_length') !== -1) { - this.data2[val].db = beforeStr + '.' + afterStr.substring(0, 1) + (parseInt(endNumber) + 12) + this.data2[val].db = + beforeStr + + '.' + + afterStr.substring(0, 1) + + (parseInt(endNumber) + 12) } if (this.data2[val].code.indexOf('to_weight') !== -1) { - this.data2[val].db = beforeStr + '.' + afterStr.substring(0, 1) + (parseInt(endNumber) + 14) + this.data2[val].db = + beforeStr + + '.' + + afterStr.substring(0, 1) + + (parseInt(endNumber) + 14) } if (this.data2[val].code.indexOf('to_height') !== -1) { - this.data2[val].db = beforeStr + '.' + afterStr.substring(0, 1) + (parseInt(endNumber) + 16) + this.data2[val].db = + beforeStr + + '.' + + afterStr.substring(0, 1) + + (parseInt(endNumber) + 16) } } } }, changeOpc(val) { - this.dataOpcservers.forEach(item => { + this.dataOpcservers.forEach((item) => { if (item.opc_id === val) { this.opc_code = item.opc_code } }) - selectListByOpcID(val).then(data => { + selectListByOpcID(val).then((data) => { this.dataOpcPlcs = data this.plc_id = '' this.plc_code = '' @@ -456,7 +543,7 @@ export default { }) }, changePlc(val) { - this.dataOpcPlcs.forEach(item => { + this.dataOpcPlcs.forEach((item) => { if (item.plc_id === val) { this.plc_code = item.plc_code this.sliceItem() @@ -465,29 +552,35 @@ export default { }) }, test_read1() { - testRead(this.data1, this.opc_id).then(data => { - this.data1 = data - console.log(this.data1) - this.notify('操作成功!', 'success') - }).catch(err => { - console.log(err.response.data.message) - }) + testRead(this.data1, this.opc_id) + .then((data) => { + this.data1 = data + console.log(this.data1) + this.notify('操作成功!', 'success') + }) + .catch((err) => { + console.log(err.response.data.message) + }) }, test_write1() { - testwrite(this.data2, this.opc_id).then(data => { - this.notify('操作成功!', 'success') - }).catch(err => { - console.log(err.response.data.message) - }) + testwrite(this.data2, this.opc_id) + .then((data) => { + this.notify('操作成功!', 'success') + }) + .catch((err) => { + console.log(err.response.data.message) + }) }, test_read2() { - testRead(this.data2, this.opc_id).then(data => { - this.data2 = data - console.log(this.data2) - this.notify('操作成功!', 'success') - }).catch(err => { - console.log(err.response.data.message) - }) + testRead(this.data2, this.opc_id) + .then((data) => { + this.data2 = data + console.log(this.data2) + this.notify('操作成功!', 'success') + }) + .catch((err) => { + console.log(err.response.data.message) + }) }, doSubmit() { this.$refs['form'].validate((valid) => { @@ -498,35 +591,66 @@ export default { parentForm.is_route = true parentForm.plc_id = this.plc_id parentForm.opc_id = this.opc_id - updateConfig(parentForm, this.form, this.data1, this.data2).then(res => { - this.notify('保存成功', 'success') - this.configLoading = false - }).catch(err => { - this.configLoading = false - console.log(err.response.data.message) - }) + updateConfig(parentForm, this.form, this.data1, this.data2) + .then((res) => { + this.notify('保存成功', 'success') + this.configLoading = false + }) + .catch((err) => { + this.configLoading = false + console.log(err.response.data.message) + }) } }) }, - sliceItem() { // 拼接DB的Item值 - this.data1.forEach(item => { + sliceItem() { + // 拼接DB的Item值 + this.data1.forEach((item) => { const str = item.code // 是否包含. if (str.search('.') !== -1) { // 截取最后一位 - item.code = this.opc_code + '.' + this.plc_code + '.' + this.device_code + '.' + str.slice(str.lastIndexOf('.') + 1) + item.code = + this.opc_code + + '.' + + this.plc_code + + '.' + + this.device_code + + '.' + + str.slice(str.lastIndexOf('.') + 1) } else { - item.code = this.opc_code + '.' + this.plc_code + '.' + this.device_code + '.' + item.code + item.code = + this.opc_code + + '.' + + this.plc_code + + '.' + + this.device_code + + '.' + + item.code } }) - this.data2.forEach(item => { + this.data2.forEach((item) => { const str = item.code // 是否包含. if (str.search('.') !== -1) { // 截取最后一位 - item.code = this.opc_code + '.' + this.plc_code + '.' + this.device_code + '.' + str.slice(str.lastIndexOf('.') + 1) + item.code = + this.opc_code + + '.' + + this.plc_code + + '.' + + this.device_code + + '.' + + str.slice(str.lastIndexOf('.') + 1) } else { - item.code = this.opc_code + '.' + this.plc_code + '.' + this.device_code + '.' + item.code + item.code = + this.opc_code + + '.' + + this.plc_code + + '.' + + this.device_code + + '.' + + item.code } }) } @@ -535,5 +659,4 @@ export default { diff --git a/acs/nladmin-ui/src/views/acs/device/driver/standard_stacker.vue b/acs/nladmin-ui/src/views/acs/device/driver/standard_stacker.vue index 592e6d0..cd1bf8f 100644 --- a/acs/nladmin-ui/src/views/acs/device/driver/standard_stacker.vue +++ b/acs/nladmin-ui/src/views/acs/device/driver/standard_stacker.vue @@ -87,8 +87,12 @@ multiple placeholder="请选择" > - - + @@ -271,6 +275,7 @@ import { selectListByOpcID } from '@/api/acs/device/opcPlc' import crud from '@/mixins/crud' import deviceCrud from '@/api/acs/device/device' +import { findDeviceStrategyOption } from '@/api/acs/device/customPolicyType' export default { name: 'OvenGantryManipulator', @@ -294,6 +299,7 @@ export default { dataOpcservers: [], dataOpcPlcs: [], deviceList: [], + options: [], data1: [], data2: [], form: { @@ -354,6 +360,12 @@ export default { deviceCrud.selectDeviceList().then((data) => { this.deviceList = data }) + console.log('---------------') + findDeviceStrategyOption().then((data) => { + console.log(data) + this.options = data + }) + console.log('-----eeeeeeeeeeee----------') }) }, methods: {