diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/agv/QueryAGVStatus.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/agv/QueryAGVStatus.java index 269e7a9..6e835d8 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/agv/QueryAGVStatus.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/agv/QueryAGVStatus.java @@ -4,11 +4,7 @@ import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.http.HttpRequest; import cn.hutool.http.HttpResponse; -import cn.hutool.http.HttpUtil; -import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.ObjectMapper; import lombok.extern.slf4j.Slf4j; import org.nl.acs.AcsConfig; import org.nl.acs.device.domain.Device; @@ -16,7 +12,6 @@ import org.nl.acs.device_driver.agv.xg_agv_car.XgAgvCarDeviceDriver; import org.nl.acs.instruction.domain.Instruction; import org.nl.acs.instruction.service.InstructionService; import org.nl.acs.opc.DeviceAppService; -import org.nl.acs.task.domain.Task; import org.nl.acs.task.enums.AgvActionTypeEnum; import org.nl.acs.task.enums.AgvSystemTypeEnum; import org.nl.acs.task.service.TaskService; @@ -80,7 +75,7 @@ public class QueryAGVStatus { instruction.setCarno(carNo); TaskDto task = new TaskDto(); instructionService.update(instruction); - task.setCarno(carNo); + task.setCar_no(carNo); task.setTask_id(instruction.getTask_id()); instructionService.update(instruction); taskService.update(task); diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/agv/server/impl/NDCAgvServiceImpl.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/agv/server/impl/NDCAgvServiceImpl.java index 273657c..dadd644 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/agv/server/impl/NDCAgvServiceImpl.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/agv/server/impl/NDCAgvServiceImpl.java @@ -1,12 +1,12 @@ package org.nl.acs.agv.server.impl; +import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.acs.AcsConfig; import org.nl.acs.agv.server.NDCAgvService; import org.nl.acs.agv.server.dto.AgvDto; -import org.nl.acs.auto.run.OneNDCSocketConnectionAutoRun; import org.nl.acs.auto.run.TwoNDCSocketConnectionAutoRun; import org.nl.acs.common.base.CommonFinalParam; import org.nl.acs.device.service.DeviceService; @@ -15,10 +15,9 @@ import org.nl.acs.ext.wms.service.AcsToWmsService; import org.nl.acs.instruction.domain.Instruction; import org.nl.acs.log.service.DeviceExecuteLogService; import org.nl.acs.opc.DeviceAppService; -import org.nl.acs.opc.DeviceAppServiceImpl; -import org.nl.system.service.param.ISysParamService; import org.nl.common.utils.CodeUtil; import org.nl.config.SpringContextHolder; +import org.nl.system.service.param.ISysParamService; import org.springframework.stereotype.Service; import java.util.HashMap; @@ -98,6 +97,13 @@ public class NDCAgvServiceImpl implements NDCAgvService { String str = "十进制下发:"; String str1 = "十六进制下发:"; + if (ObjectUtil.isNotEmpty(inst.getCarno())) { + int carNo = Integer.parseInt(inst.getCarno()); + byte agvnohigh = (byte) IntToHexHigh(carNo); + byte agvnolow = (byte) IntToHexLow(carNo); + str += "agv车号 /carNo:" + (carNo); + str1 += "agv车号 /carNo:" + hexToString(agvnolow & 0xFF); + } str += "任务号 ikey:" + (Integer.parseInt(instcode)); str1 += "任务号 ikey:" + hexToString(ikeyhigh & 0xFF) + hexToString(ikeylow & 0xFF); @@ -111,20 +117,41 @@ public class NDCAgvServiceImpl implements NDCAgvService { byte[] b = new byte[]{}; - b = new byte[]{(byte) 0X87, (byte) 0XCD, - (byte) 0X00, (byte) 0X08, - (byte) 0X00, (byte) 0X12, - (byte) 0X00, (byte) 0X01, - (byte) 0X00, (byte) 0X71, - (byte) 0X00, (byte) 0X0E, - (byte) 0X01, (byte) 0X80, - (byte) 0X00, (byte) 0X01, - (byte) ikeyhigh, (byte) ikeylow, - (byte) ikeyhigh, (byte) ikeylow, - (byte) typehigh, (byte) typelow, - (byte) qhdhigh, (byte) qhdlow, - (byte) fhdhigh, (byte) fhdlow, - }; + if (ObjectUtil.isNotEmpty(inst.getCarno())) { + int carNo = Integer.parseInt(inst.getCarno()); + byte agvnohigh = (byte) IntToHexHigh(carNo); + byte agvnolow = (byte) IntToHexLow(carNo); + b = new byte[]{(byte) 0X87, (byte) 0XCD, + (byte) 0X00, (byte) 0X08, + (byte) 0X00, (byte) 0X14, + (byte) 0X00, (byte) 0X01, + (byte) 0X00, (byte) 0X71, + (byte) 0X00, (byte) 0X10, + (byte) 0X01, (byte) 0X80, + (byte) 0X00, (byte) 0X01, + (byte) ikeyhigh, (byte) ikeylow, + (byte) ikeyhigh, (byte) ikeylow, + (byte) typehigh, (byte) typelow, + (byte) qhdhigh, (byte) qhdlow, + (byte) fhdhigh, (byte) fhdlow, + (byte) agvnohigh, (byte) agvnolow + }; + } else { + b = new byte[]{(byte) 0X87, (byte) 0XCD, + (byte) 0X00, (byte) 0X08, + (byte) 0X00, (byte) 0X12, + (byte) 0X00, (byte) 0X01, + (byte) 0X00, (byte) 0X71, + (byte) 0X00, (byte) 0X0E, + (byte) 0X01, (byte) 0X80, + (byte) 0X00, (byte) 0X01, + (byte) ikeyhigh, (byte) ikeylow, + (byte) ikeyhigh, (byte) ikeylow, + (byte) typehigh, (byte) typelow, + (byte) qhdhigh, (byte) qhdlow, + (byte) fhdhigh, (byte) fhdlow, + }; + } log.info("下发AGV作业指令 --{}", str1); log.info("下发AGV作业指令--{}", str); log.info("下发agv指令数据--{}", Bytes2HexString(b)); @@ -255,7 +282,7 @@ public class NDCAgvServiceImpl implements NDCAgvService { (byte) 0X00, (byte) 0X6D, (byte) 0X00, (byte) 0X06, (byte) indexhigh, (byte) indexlow, - (byte) 0X01, (byte) 0X10, + (byte) 0X01, (byte) 0X12, (byte) phasehigh, (byte) phaselow }; diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/auto/run/TwoNDCSocketConnectionAutoRun.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/auto/run/TwoNDCSocketConnectionAutoRun.java index c58e6d7..ff5f680 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/auto/run/TwoNDCSocketConnectionAutoRun.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/auto/run/TwoNDCSocketConnectionAutoRun.java @@ -1,18 +1,16 @@ package org.nl.acs.auto.run; -import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import lombok.extern.slf4j.Slf4j; import org.nl.acs.AcsConfig; import org.nl.acs.agv.server.NDCAgvService; +import org.nl.acs.common.base.CommonFinalParam; import org.nl.acs.device.domain.Device; import org.nl.acs.device.service.DeviceService; import org.nl.acs.device_driver.agv.ndcone.AgvNdcOneDeviceDriver; import org.nl.acs.device_driver.agv.ndctwo.AgvNdcTwoDeviceDriver; import org.nl.acs.device_driver.autodoor.standard_autodoor.StandardAutodoorDeviceDriver; -import org.nl.acs.device_driver.conveyor.standard_inspect_site.StandardInspectSiteDeviceDriver; -import org.nl.acs.device_driver.two_conveyor.oven_manipulator.OvenGantryManipulatorDeviceDriver; import org.nl.acs.ext.wms.service.AcsToWmsService; import org.nl.acs.ext.wms.service.impl.AcsToWmsServiceImpl; import org.nl.acs.instruction.domain.Instruction; @@ -20,8 +18,11 @@ import org.nl.acs.instruction.service.InstructionService; import org.nl.acs.instruction.service.impl.InstructionServiceImpl; import org.nl.acs.log.service.DeviceExecuteLogService; import org.nl.acs.opc.DeviceAppService; +import org.nl.acs.region.domain.Region; +import org.nl.acs.region.service.RegionService; import org.nl.config.SpringContextHolder; import org.nl.config.lucene.service.LuceneExecuteLogService; +import org.nl.config.lucene.service.dto.LuceneLogDto; import org.nl.system.service.param.ISysParamService; import org.nl.system.service.param.impl.SysParamServiceImpl; import org.springframework.beans.factory.annotation.Autowired; @@ -30,13 +31,9 @@ import org.springframework.stereotype.Component; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; -import java.lang.reflect.Field; import java.net.InetSocketAddress; import java.net.Socket; import java.util.Date; -import java.util.List; -import java.util.concurrent.atomic.AtomicInteger; -import java.util.concurrent.atomic.AtomicReference; import static org.nl.acs.agv.server.impl.NDCAgvServiceImpl.Bytes2HexString; @@ -93,6 +90,7 @@ public class TwoNDCSocketConnectionAutoRun extends AbstractAutoRunnable { InstructionService instructionService = SpringContextHolder.getBean(InstructionServiceImpl.class); AcsToWmsService acsToWmsService = SpringContextHolder.getBean(AcsToWmsServiceImpl.class); NDCAgvService ndcAgvService = SpringContextHolder.getBean(NDCAgvService.class); + RegionService regionService = SpringContextHolder.getBean(RegionService.class); DeviceAppService deviceAppService = SpringContextHolder.getBean(DeviceAppService.class); DeviceService deviceService = SpringContextHolder.getBean(DeviceService.class); DeviceExecuteLogService logServer = SpringContextHolder.getBean(DeviceExecuteLogService.class); @@ -244,18 +242,35 @@ public class TwoNDCSocketConnectionAutoRun extends AbstractAutoRunnable { if (ObjectUtil.isNotEmpty(device)) { if (device.getDeviceDriver() instanceof StandardAutodoorDeviceDriver) { standardAutodoorDeviceDriver = (StandardAutodoorDeviceDriver) device.getDeviceDriver(); - try { - standardAutodoorDeviceDriver.writing("to_open", "1"); - standardAutodoorDeviceDriver.writing("to_close", "0"); - } catch (Exception e) { - log.info("下发电气信号失败:" + e.getMessage()); - e.printStackTrace(); - } - if (standardAutodoorDeviceDriver.getOpen() == 1 && standardAutodoorDeviceDriver.getToOpen() == 1) { - log.info("下发开门信号值为:{},读取开门信号值为:{}", standardAutodoorDeviceDriver.getToOpen(), standardAutodoorDeviceDriver.getOpen()); - data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0); + String region_code = (String) device.getExtraValue().get("region"); + if (StrUtil.isNotEmpty(region_code)) { + Region region = regionService.findByCode(region_code); + if (StrUtil.equals(region.getIs_charge(), CommonFinalParam.ZERO)) { + data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0, 0, 0); + LuceneLogDto logDto = LuceneLogDto.builder() + .device_code(device_code) + .content("agvphase:" + phase + "反馈:" + data) + .build(); + logDto.setLog_level(4); + luceneExecuteLogService.deviceExecuteLog(logDto); + region.setIs_charge("1"); + region.setHas_agv("1"); + regionService.updateById(region); + } } else { - log.info("未下发NDC信号原因: 下发开门信号值为:{},读取开门信号值为:{}", standardAutodoorDeviceDriver.getToOpen(), standardAutodoorDeviceDriver.getToClose()); + try { + standardAutodoorDeviceDriver.writing("to_open", "1"); + standardAutodoorDeviceDriver.writing("to_close", "0"); + } catch (Exception e) { + log.info("下发电气信号失败:" + e.getMessage()); + e.printStackTrace(); + } + if (standardAutodoorDeviceDriver.getOpen() == 1 && standardAutodoorDeviceDriver.getToOpen() == 1) { + log.info("下发开门信号值为:{},读取开门信号值为:{}", standardAutodoorDeviceDriver.getToOpen(), standardAutodoorDeviceDriver.getOpen()); + data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0); + } else { + log.info("未下发NDC信号原因: 下发开门信号值为:{},读取开门信号值为:{}", standardAutodoorDeviceDriver.getToOpen(), standardAutodoorDeviceDriver.getToClose()); + } } } } else { @@ -270,18 +285,34 @@ public class TwoNDCSocketConnectionAutoRun extends AbstractAutoRunnable { if (ObjectUtil.isNotEmpty(device)) { if (device.getDeviceDriver() instanceof StandardAutodoorDeviceDriver) { standardAutodoorDeviceDriver = (StandardAutodoorDeviceDriver) device.getDeviceDriver(); - try { - standardAutodoorDeviceDriver.writing("to_close", "1"); - standardAutodoorDeviceDriver.writing("to_open", "0"); - } catch (Exception e) { - log.info("下发电气信号失败:" + e.getMessage()); - e.printStackTrace(); - } - if (standardAutodoorDeviceDriver.getClose() == 1) { - log.info("读取关门信号值为:{}", standardAutodoorDeviceDriver.getClose()); - data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0); + String region_code = (String) device.getExtraValue().get("region"); + if (StrUtil.isNotEmpty(region_code)) { + Region region = regionService.findByCode(region_code); + data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0, 0, 0); + LuceneLogDto logDto = LuceneLogDto.builder() + .device_code(device_code) + .content("agvphase:" + phase + "反馈:" + data) + .build(); + logDto.setLog_level(4); + luceneExecuteLogService.deviceExecuteLog(logDto); + region.setIs_charge("0"); + region.setHas_agv("0"); + regionService.updateById(region); } else { - log.info("未下发NDC信号原因: 读取关门信号值为:{}", standardAutodoorDeviceDriver.getClose()); + try { + standardAutodoorDeviceDriver.writing("to_close", "1"); + standardAutodoorDeviceDriver.writing("to_open", "0"); + } catch (Exception e) { + log.info("下发电气信号失败:" + e.getMessage()); + e.printStackTrace(); + } + if (standardAutodoorDeviceDriver.getClose() == 1) { + log.info("读取关门信号值为:{}", standardAutodoorDeviceDriver.getClose()); + data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0); + standardAutodoorDeviceDriver.writing("to_close", "0"); + } else { + log.info("未下发NDC信号原因: 读取关门信号值为:{}", standardAutodoorDeviceDriver.getClose()); + } } } } else { diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/agv/ndctwo/AgvNdcTwoDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/agv/ndctwo/AgvNdcTwoDeviceDriver.java index 49666c2..3b1b242 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/agv/ndctwo/AgvNdcTwoDeviceDriver.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/agv/ndctwo/AgvNdcTwoDeviceDriver.java @@ -15,15 +15,8 @@ import org.nl.acs.device.service.DeviceService; import org.nl.acs.device_driver.DeviceDriver; import org.nl.acs.device_driver.FeedLmsRealFailed; import org.nl.acs.device_driver.agv.utils.TwoAgvPhase; -import org.nl.acs.device_driver.conveyor.standard_inspect_site.StandardInspectSiteDeviceDriver; import org.nl.acs.device_driver.conveyor.standard_ordinary_site.StandardOrdinarySiteDeviceDriver; -import org.nl.acs.device_driver.paper_tube_pick_site.PaperTubePickSiteDeviceDriver; -import org.nl.acs.device_driver.storage.standard_storage.StandardStorageDeviceDriver; import org.nl.acs.device_driver.driver.AbstractDeviceDriver; -import org.nl.acs.device_driver.two_conveyor.hongxiang_conveyor.HongXiangStationDeviceDriver; -import org.nl.acs.device_driver.two_conveyor.manipulator_agv_station.ManipulatorAgvStationDeviceDriver; -import org.nl.acs.device_driver.two_conveyor.ranging_stations.RangingStationsDeviceDriver; -import org.nl.acs.device_driver.two_conveyor.waste_foil_weighing_station.WasteFoilWeighingStationDriver; import org.nl.acs.ext.wms.service.AcsToWmsService; import org.nl.acs.ext.wms.service.impl.AcsToWmsServiceImpl; import org.nl.acs.history.ErrorUtil; @@ -36,21 +29,16 @@ import org.nl.acs.instruction.service.impl.InstructionServiceImpl; import org.nl.acs.log.service.DeviceExecuteLogService; import org.nl.acs.monitor.DeviceStageMonitor; import org.nl.acs.opc.DeviceAppService; -import org.nl.acs.region.domain.Region; import org.nl.acs.region.service.RegionService; import org.nl.acs.task.service.TaskService; import org.nl.acs.task.service.dto.TaskDto; import org.nl.acs.task.service.impl.TaskServiceImpl; +import org.nl.config.SpringContextHolder; import org.nl.config.lucene.service.LuceneExecuteLogService; import org.nl.config.lucene.service.dto.LuceneLogDto; -import org.nl.config.thread.ThreadPoolExecutorUtil; import org.nl.system.service.param.ISysParamService; -import org.nl.config.SpringContextHolder; -import java.util.HashMap; -import java.util.LinkedHashMap; import java.util.Map; -import java.util.concurrent.ThreadPoolExecutor; /** @@ -226,26 +214,16 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic if (device.getDeviceDriver() instanceof StandardOrdinarySiteDeviceDriver) { standardOrdinarySiteDeviceDriver = (StandardOrdinarySiteDeviceDriver) device.getDeviceDriver(); - //放货确认 - if (standardOrdinarySiteDeviceDriver.getOption() == 1) { - data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0, 0, 0); - LuceneLogDto logDto = LuceneLogDto.builder() - .device_code(this.getDeviceCode()) - .content("agvphase:" + phase + "反馈:" + data) - .build(); - logDto.setLog_level(4); - luceneExecuteLogService.deviceExecuteLog(logDto); - standardOrdinarySiteDeviceDriver.setOption(0); - } else { - log.info("等待一体机进行放货确认,设备号{},option值{}", standardOrdinarySiteDeviceDriver.getDevice_code(), standardOrdinarySiteDeviceDriver.getOption()); - logServer.deviceExecuteLog(this.device_code, "", "", "等待一体机进行放货确认,设备号" + device.getDevice_code() + ",指令号" + ikey); - LuceneLogDto logDto = LuceneLogDto.builder() - .device_code(standardOrdinarySiteDeviceDriver.getDevice_code()) - .content("等待一体机进行放货确认,设备号" + standardOrdinarySiteDeviceDriver.getDevice_code() + ",option当前值" + standardOrdinarySiteDeviceDriver.getOption()) - .build(); - logDto.setLog_level(4); - luceneExecuteLogService.deviceExecuteLog(logDto); - } + data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0, 0, 0); + LuceneLogDto logDto = LuceneLogDto.builder() + .device_code(this.getDeviceCode()) + .content("agvphase:" + phase + "反馈:" + data) + .build(); + logDto.setLog_level(4); + luceneExecuteLogService.deviceExecuteLog(logDto); + standardOrdinarySiteDeviceDriver.setAgvphase(phase); + standardOrdinarySiteDeviceDriver.setIndex(index); + standardOrdinarySiteDeviceDriver.setInst(inst); } else { data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0, 0, 0); LuceneLogDto logDto = LuceneLogDto.builder() @@ -302,103 +280,45 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic log.info("未找到指令号{}对应的指令", ikey); return; } - if (ObjectUtil.isEmpty(inst.getCarno())) { - inst.setCarno(String.valueOf(carno)); - instructionService.update(inst); - } if (device.getDeviceDriver() instanceof StandardOrdinarySiteDeviceDriver) { standardOrdinarySiteDeviceDriver = (StandardOrdinarySiteDeviceDriver) device.getDeviceDriver(); - data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0, 0, 0); - LuceneLogDto logDto = LuceneLogDto.builder() - .device_code(this.getDeviceCode()) - .content("agvphase:" + phase + "反馈:" + data) - .build(); - logDto.setLog_level(4); - luceneExecuteLogService.deviceExecuteLog(logDto); - standardOrdinarySiteDeviceDriver.setAgvphase(phase); - standardOrdinarySiteDeviceDriver.setIndex(index); - standardOrdinarySiteDeviceDriver.setInst(inst); - } - } - - // 到达放货点 - //(Itype=1/2/3,需要WCS反馈) - else if (phase == 0x07) { - if (agvaddr == 0) { - agvaddr = agvaddr_copy; - } - if (agvaddr < 1) { - LuceneLogDto logDto = LuceneLogDto.builder() - .device_code(device_code) - .content("agv地址参数有误,phase:" + phase) - .build(); - logDto.setLog_level(4); - luceneExecuteLogService.deviceExecuteLog(logDto); - return; - } - if (agvaddr != 0) { - CommonFinalParam commonFinalParam = new CommonFinalParam(); - old_device_code = deviceService.queryDeviceCodeByAddress(agvaddr); - if (StrUtil.contains(old_device_code, commonFinalParam.getBARRE())) { - String[] point = old_device_code.split(commonFinalParam.getBARRE()); - device_code = point[0]; - } else if (StrUtil.contains(old_device_code, commonFinalParam.getPOINT())) { - String[] point = old_device_code.split("\\."); - device_code = point[0]; - emptyNum = point[1]; - } else { - device_code = old_device_code; - } - } - - device = deviceAppService.findDeviceByCode(device_code); - if (ObjectUtil.isEmpty(device_code)) { - log.info(agvaddr + "对应设备号为空!"); - return; - } - if (ObjectUtil.isEmpty(inst)) { - log.info("未找到指令号{}对应的指令", ikey); - return; - } - if (device.getDeviceDriver() instanceof StandardOrdinarySiteDeviceDriver) { - standardOrdinarySiteDeviceDriver = (StandardOrdinarySiteDeviceDriver) device.getDeviceDriver(); - //卸货确认 - if (standardOrdinarySiteDeviceDriver.getOption() == 2) { + //放货确认 + if (standardOrdinarySiteDeviceDriver.getOption() == 1) { + log.info("等待一体机进行放货确认,指令号{},设备号{},option值{}", inst, standardOrdinarySiteDeviceDriver.getDevice_code(), standardOrdinarySiteDeviceDriver.getOption()); data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0, 0, 0); LuceneLogDto logDto = LuceneLogDto.builder() - .device_code(this.getDeviceCode()) - .content("agvphase:" + phase + "反馈:" + data) + .instruct_code(inst.getInstruction_code()) + .device_code(standardOrdinarySiteDeviceDriver.getDevice_code()) + .content("等待一体机进行放货确认,指令号:" + inst.getInstruction_code() + ",设备号:" + standardOrdinarySiteDeviceDriver.getDevice_code() + ",option当前值:" + standardOrdinarySiteDeviceDriver.getOption()) .build(); logDto.setLog_level(4); luceneExecuteLogService.deviceExecuteLog(logDto); standardOrdinarySiteDeviceDriver.setOption(0); + LuceneLogDto logDto1 = LuceneLogDto.builder() + .instruct_code(inst.getInstruction_code()) + .device_code(standardOrdinarySiteDeviceDriver.getDevice_code()) + .content("等待一体机进行放货确认,指令号:" + inst.getInstruction_code() + ",设备号:" + standardOrdinarySiteDeviceDriver.getDevice_code() + ",option当前值:" + standardOrdinarySiteDeviceDriver.getOption()) + .build(); + logDto1.setLog_level(4); + luceneExecuteLogService.deviceExecuteLog(logDto1); } else { - log.info("等待一体机进行卸货确认,设备号{},option值{}", standardOrdinarySiteDeviceDriver.getDevice_code(), standardOrdinarySiteDeviceDriver.getOption()); - logServer.deviceExecuteLog(this.device_code, "", "", "等待一体机进行卸货确认,设备号" + device.getDevice_code() + ",指令号" + ikey); + log.info("等待一体机进行放货确认,指令号{},设备号{},option值{}", inst.getInstruction_code(), standardOrdinarySiteDeviceDriver.getDevice_code(), standardOrdinarySiteDeviceDriver.getOption()); + logServer.deviceExecuteLog(this.device_code, "", "", "等待一体机进行放货确认,设备号" + device.getDevice_code() + ",指令号" + ikey); LuceneLogDto logDto = LuceneLogDto.builder() + .instruct_code(inst.getInstruction_code()) .device_code(standardOrdinarySiteDeviceDriver.getDevice_code()) - .content("等待一体机进行卸货确认,设备号" + standardOrdinarySiteDeviceDriver.getDevice_code() + ",option当前值" + standardOrdinarySiteDeviceDriver.getOption()) + .content("等待一体机进行放货确认,指令号:" + inst.getInstruction_code() + ",设备号:" + standardOrdinarySiteDeviceDriver.getDevice_code() + ",option当前值:" + standardOrdinarySiteDeviceDriver.getOption()) .build(); logDto.setLog_level(4); luceneExecuteLogService.deviceExecuteLog(logDto); } - - } else { - data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0, 0, 0); - LuceneLogDto logDto = LuceneLogDto.builder() - .device_code(this.getDeviceCode()) - .content("agvphase:" + phase + "反馈:" + data) - .build(); - logDto.setLog_level(4); - luceneExecuteLogService.deviceExecuteLog(logDto); } } - - //放货完成 - //(Itype=1/2/3,需要WCS反馈) - else if (phase == 0x09) { + // 到达放货点 + //(Itype=1/2/3,需要WCS反馈) + else if (phase == 0x07) { if (agvaddr == 0) { agvaddr = agvaddr_copy; } @@ -447,11 +367,22 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic standardOrdinarySiteDeviceDriver.setAgvphase(phase); standardOrdinarySiteDeviceDriver.setIndex(index); standardOrdinarySiteDeviceDriver.setInst(inst); + + } else { + data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0, 0, 0); + LuceneLogDto logDto = LuceneLogDto.builder() + .device_code(this.getDeviceCode()) + .content("agvphase:" + phase + "反馈:" + data) + .build(); + logDto.setLog_level(4); + luceneExecuteLogService.deviceExecuteLog(logDto); } } - //todo 待完善 - else if (phase == 0x4D) { + + //放货完成 + //(Itype=1/2/3,需要WCS反馈) + else if (phase == 0x09) { if (agvaddr == 0) { agvaddr = agvaddr_copy; } @@ -488,80 +419,41 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic log.info("未找到指令号{}对应的指令", ikey); return; } - if (device.getDeviceDriver() instanceof StandardOrdinarySiteDeviceDriver) { - //通道1 - Region region = regionService.findByCode("1"); - if (StrUtil.equals(region.getIs_charge(), CommonFinalParam.ZERO)) { + standardOrdinarySiteDeviceDriver = (StandardOrdinarySiteDeviceDriver) device.getDeviceDriver(); + //卸货确认 + if (standardOrdinarySiteDeviceDriver.getOption() == 2) { + log.info("等待一体机进行卸货确认,指令号{},设备号{},option值{}", inst.getInstruction_code(), standardOrdinarySiteDeviceDriver.getDevice_code(), standardOrdinarySiteDeviceDriver.getOption()); data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0, 0, 0); LuceneLogDto logDto = LuceneLogDto.builder() - .device_code(this.getDeviceCode()) - .content("agvphase:" + phase + "反馈:" + data) + .instruct_code(inst.getInstruction_code()) + .device_code(standardOrdinarySiteDeviceDriver.getDevice_code()) + .content("等待一体机进行卸货确认,指令号:" + inst.getInstruction_code() + ",设备号:" + standardOrdinarySiteDeviceDriver.getDevice_code() + ",option当前值:" + standardOrdinarySiteDeviceDriver.getOption()) .build(); logDto.setLog_level(4); luceneExecuteLogService.deviceExecuteLog(logDto); - region.setIs_charge("1"); - region.setHas_agv("1"); - regionService.updateById(region); - } - } - } + standardOrdinarySiteDeviceDriver.setOption(0); + LuceneLogDto logDto1 = LuceneLogDto.builder() + .instruct_code(inst.getInstruction_code()) + .device_code(standardOrdinarySiteDeviceDriver.getDevice_code()) + .content("等待一体机进行卸货确认,指令号:" + inst.getInstruction_code() + ",设备号:" + standardOrdinarySiteDeviceDriver.getDevice_code() + ",option当前值:" + standardOrdinarySiteDeviceDriver.getOption()) + .build(); + logDto1.setLog_level(4); + luceneExecuteLogService.deviceExecuteLog(logDto1); - //todo 待完善 - else if (phase == 0x4E) { - if (agvaddr == 0) { - agvaddr = agvaddr_copy; - } - if (agvaddr < 1) { - LuceneLogDto logDto = LuceneLogDto.builder() - .device_code(device_code) - .content("agv地址参数有误,phase:" + phase) - .build(); - logDto.setLog_level(4); - luceneExecuteLogService.deviceExecuteLog(logDto); - return; - } - if (agvaddr != 0) { - CommonFinalParam commonFinalParam = new CommonFinalParam(); - old_device_code = deviceService.queryDeviceCodeByAddress(agvaddr); - if (StrUtil.contains(old_device_code, commonFinalParam.getBARRE())) { - String[] point = old_device_code.split(commonFinalParam.getBARRE()); - device_code = point[0]; - } else if (StrUtil.contains(old_device_code, commonFinalParam.getPOINT())) { - String[] point = old_device_code.split("\\."); - device_code = point[0]; - emptyNum = point[1]; } else { - device_code = old_device_code; + log.info("等待一体机进行卸货确认,指令号{},设备号{},option值{}", inst.getInstruction_code(), standardOrdinarySiteDeviceDriver.getDevice_code(), standardOrdinarySiteDeviceDriver.getOption()); + logServer.deviceExecuteLog(this.device_code, "", "", "等待一体机进行卸货确认,设备号" + device.getDevice_code() + ",指令号" + ikey); + LuceneLogDto logDto = LuceneLogDto.builder() + .instruct_code(inst.getInstruction_code()) + .device_code(standardOrdinarySiteDeviceDriver.getDevice_code()) + .content("等待一体机进行卸货确认,指令号:" + inst.getInstruction_code() + ",设备号:" + standardOrdinarySiteDeviceDriver.getDevice_code() + ",option当前值" + standardOrdinarySiteDeviceDriver.getOption()) + .build(); + logDto.setLog_level(4); + luceneExecuteLogService.deviceExecuteLog(logDto); } } - - device = deviceAppService.findDeviceByCode(device_code); - if (ObjectUtil.isEmpty(device_code)) { - log.info(agvaddr + "对应设备号为空!"); - return; - } - if (ObjectUtil.isEmpty(inst)) { - log.info("未找到指令号{}对应的指令", ikey); - return; - } - - if (device.getDeviceDriver() instanceof StandardOrdinarySiteDeviceDriver) { - Region region = regionService.findByCode("1"); - data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0, 0, 0); - LuceneLogDto logDto = LuceneLogDto.builder() - .device_code(this.getDeviceCode()) - .content("agvphase:" + phase + "反馈:" + data) - .build(); - logDto.setLog_level(4); - luceneExecuteLogService.deviceExecuteLog(logDto); - region.setIs_charge("0"); - region.setHas_agv("0"); - regionService.updateById(region); - } - } - - else if (phase == 0x70) { + } else if (phase == 0x70) { //x坐标 x = ikey; LuceneLogDto logDto = LuceneLogDto.builder() diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/conveyor/standard_ordinary_site/StandardOrdinarySiteDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/conveyor/standard_ordinary_site/StandardOrdinarySiteDeviceDriver.java index 749cbbf..1597ce7 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/conveyor/standard_ordinary_site/StandardOrdinarySiteDeviceDriver.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/conveyor/standard_ordinary_site/StandardOrdinarySiteDeviceDriver.java @@ -8,16 +8,13 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.acs.agv.server.NDCAgvService; import org.nl.acs.common.base.CommonFinalParam; -import org.nl.acs.device.domain.Device; import org.nl.acs.device.service.DeviceService; -import org.nl.acs.device.service.dto.DeviceDto; import org.nl.acs.device_driver.DeviceDriver; import org.nl.acs.device_driver.RouteableDeviceDriver; import org.nl.acs.device_driver.driver.AbstractDeviceDriver; import org.nl.acs.device_driver.driver.ExecutableDeviceDriver; import org.nl.acs.ext.wms.service.AcsToWmsService; import org.nl.acs.ext.wms.service.impl.AcsToWmsServiceImpl; -import org.nl.acs.history.ErrorUtil; import org.nl.acs.instruction.domain.Instruction; import org.nl.acs.instruction.service.InstructionService; import org.nl.acs.log.service.DeviceExecuteLogService; @@ -267,15 +264,7 @@ public class StandardOrdinarySiteDeviceDriver extends AbstractDeviceDriver imple move = LangProcess.msg("universal_two_yes"); jo.put("hasGoods", true); } - DeviceDto dto = deviceservice.findByCode(this.getDevice().getDevice_code()); - jo.put("zh_device_name", dto.getZh_device_name()); - jo.put("en_device_name", dto.getEn_device_name()); - jo.put("mode", mode); - jo.put("move", move); - jo.put("action", action); jo.put("isOnline", true); - jo.put("error", ErrorUtil.getDictDetail("error_type", String.valueOf(this.getError()))); - jo.put("isError", this.getIserror()); jo.put("option", option); jo.put("is_click", true); return jo; diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/region/service/impl/RegionServiceImpl.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/region/service/impl/RegionServiceImpl.java index b1e3e82..f6c3b93 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/region/service/impl/RegionServiceImpl.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/region/service/impl/RegionServiceImpl.java @@ -2,41 +2,35 @@ package org.nl.acs.region.service.impl; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.date.DateUtil; -import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; import lombok.AllArgsConstructor; -import org.nl.acs.auto.initial.ApplicationAutoInitial; import org.nl.acs.common.base.CommonFinalParam; import org.nl.acs.common.base.PageInfo; import org.nl.acs.common.base.impl.CommonServiceImpl; -import org.nl.acs.custompolicy.domain.CustomPolicy; -import org.nl.acs.custompolicy.server.dto.CustomPolicyDTO; -import org.nl.acs.device.domain.Device; import org.nl.acs.region.domain.Region; import org.nl.acs.region.service.RegionService; import org.nl.acs.region.service.dto.RegionDto; import org.nl.acs.region.service.mapper.RegionMapper; -import org.nl.acs.task.domain.Task; import org.nl.acs.utils.ConvertUtil; import org.nl.acs.utils.PageUtil; import org.nl.common.exception.BadRequestException; import org.nl.common.utils.SecurityUtils; import org.nl.config.language.LangProcess; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.context.annotation.Lazy; import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; -import java.util.*; +import java.util.Arrays; +import java.util.List; +import java.util.Map; @Service @AllArgsConstructor @@ -121,9 +115,10 @@ public class RegionServiceImpl extends CommonServiceImpl<RegionMapper,Region> im @Override @Transactional(rollbackFor = Exception.class) public void deleteAll(String[] ids) { - Set<String> idsSet = new HashSet<>(1); - idsSet.addAll(Arrays.asList(ids)); - regionMapper.upBatchIds(idsSet); + List<Region> list = regionMapper.selectBatchIds(Arrays.asList(ids)); + for (Region region : list) { + regionMapper.deleteById(region.getId()); + } } } diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/domain/Task.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/domain/Task.java index 6e77c6c..3e691ce 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/domain/Task.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/domain/Task.java @@ -1,24 +1,16 @@ package org.nl.acs.task.domain; -import org.nl.acs.common.base.CommonModel; -import com.baomidou.mybatisplus.annotation.TableName; -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.IdType; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.copier.CopyOptions; +import com.baomidou.mybatisplus.annotation.*; +import lombok.*; +import lombok.experimental.Accessors; +import org.nl.acs.common.base.CommonModel; -import javax.validation.constraints.*; -import java.math.BigDecimal; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; import java.io.Serializable; +import java.math.BigDecimal; /** * @author jiaolm @@ -196,6 +188,8 @@ public class Task extends CommonModel<Task> implements Serializable { private String empty_site; + private String car_no; + @NotBlank private String is_active; diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/service/dto/TaskDto.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/service/dto/TaskDto.java index 9a4639c..bd6585b 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/service/dto/TaskDto.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/service/dto/TaskDto.java @@ -57,7 +57,7 @@ public class TaskDto implements Serializable { /** * 车号 */ - private String carno; + private String car_no; /** * 复合任务 diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/service/impl/TaskServiceImpl.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/service/impl/TaskServiceImpl.java index e1b4e9d..d4e1b03 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/service/impl/TaskServiceImpl.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/service/impl/TaskServiceImpl.java @@ -21,6 +21,9 @@ import org.nl.acs.AcsConfig; import org.nl.acs.agv.server.XianGongAgvService; import org.nl.acs.auto.initial.ApplicationAutoInitial; import org.nl.acs.common.base.CommonFinalParam; +import org.nl.acs.common.base.PageInfo; +import org.nl.acs.common.base.QueryHelpMybatisPlus; +import org.nl.acs.common.base.impl.CommonServiceImpl; import org.nl.acs.device.domain.Device; import org.nl.acs.device.enums.DeviceType; import org.nl.acs.device.service.DeviceAssignedService; @@ -28,7 +31,6 @@ import org.nl.acs.device.service.DeviceService; import org.nl.acs.device.service.dto.DeviceAssignedDto; import org.nl.acs.device.service.impl.DeviceServiceImpl; import org.nl.acs.device_driver.DeviceDriverDefination; -import org.nl.acs.device_driver.conveyor.standard_ordinary_site.StandardOrdinarySiteDeviceDriver; import org.nl.acs.device_driver.storage.standard_storage.StandardStorageDeviceDriver; import org.nl.acs.ext.wms.service.AcsToWmsService; import org.nl.acs.instruction.domain.Instruction; @@ -42,35 +44,30 @@ import org.nl.acs.route.domain.RoutePlan; import org.nl.acs.route.service.RouteLineService; import org.nl.acs.route.service.dto.RouteLineDto; import org.nl.acs.route.service.mapper.RoutePlanMapper; +import org.nl.acs.task.domain.Task; import org.nl.acs.task.enums.AgvSystemTypeEnum; import org.nl.acs.task.enums.TaskStatusEnum; import org.nl.acs.task.enums.TaskTypeEnum; import org.nl.acs.task.service.TaskFeedbackService; -import org.nl.acs.common.base.PageInfo; -import org.nl.acs.common.base.QueryHelpMybatisPlus; -import org.nl.acs.common.base.impl.CommonServiceImpl; -import org.nl.acs.task.service.dto.TaskIdAndStatusDTO; -import org.nl.common.exception.BadRequestException; -import org.nl.acs.utils.ConvertUtil; -import org.nl.common.utils.FileUtil; -import org.nl.acs.utils.PageUtil; -import org.nl.acs.task.domain.Task; import org.nl.acs.task.service.TaskService; import org.nl.acs.task.service.dto.TaskDto; +import org.nl.acs.task.service.dto.TaskIdAndStatusDTO; import org.nl.acs.task.service.dto.TaskQueryParam; import org.nl.acs.task.service.mapper.TaskMapper; +import org.nl.acs.utils.ConvertUtil; +import org.nl.acs.utils.PageUtil; +import org.nl.common.exception.BadRequestException; +import org.nl.common.utils.CodeUtil; +import org.nl.common.utils.FileUtil; import org.nl.common.utils.SecurityUtils; +import org.nl.config.SpringContextHolder; import org.nl.config.language.LangProcess; import org.nl.system.service.param.ISysParamService; -import org.nl.common.utils.CodeUtil; - -import org.nl.config.SpringContextHolder; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.scheduling.annotation.Async; +import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; -import org.springframework.data.domain.Pageable; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @@ -551,6 +548,14 @@ public class TaskServiceImpl extends CommonServiceImpl<TaskMapper, Task> impleme dto.setTask_id(IdUtil.simpleUUID()); } String task_code = dto.getTask_code(); + if (StrUtil.isEmpty(dto.getCar_no())) { + if ((dto.getStart_device_code().equals("A3") && dto.getNext_device_code().equals("A2")) || (dto.getStart_device_code().equals("A3") && dto.getNext_device_code().equals("A1"))) { + dto.setCar_no("2"); + } + if (dto.getStart_device_code().equals("A3") && dto.getNext_device_code().equals("A4")) { + dto.setCar_no("1"); + } + } if (StrUtil.isEmpty(task_code)) { task_code = CodeUtil.getNewCode("TASK_NO"); task_code = CommonFinalParam.HYPHEN_ + task_code; @@ -1068,7 +1073,7 @@ public class TaskServiceImpl extends CommonServiceImpl<TaskMapper, Task> impleme map.put("路由方案编码", acsTask.getRoute_plan_code()); map.put("是否需要反馈上位系统", acsTask.getIs_needfeedback()); map.put("备注", acsTask.getRemark()); - map.put("agv车号", acsTask.getCarno()); + map.put("agv车号", acsTask.getCar_no()); map.put("是否启用", acsTask.getIs_active()); map.put("是否删除", acsTask.getIs_delete()); map.put("创建者", acsTask.getCreate_by()); @@ -1682,8 +1687,8 @@ public class TaskServiceImpl extends CommonServiceImpl<TaskMapper, Task> impleme if (ObjectUtil.isNotEmpty(entity.getWeight())) { feed_jo.put("weight", entity.getWeight()); } - if (ObjectUtil.isNotEmpty(entity.getCarno())) { - feed_jo.put("car_no", entity.getCarno()); + if (ObjectUtil.isNotEmpty(entity.getCar_no())) { + feed_jo.put("car_no", entity.getCar_no()); } JSONArray ja = new JSONArray(); ja.add(feed_jo); diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/hand/service/impl/PdaServiceImpl.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/hand/service/impl/PdaServiceImpl.java index 24c4e59..9baa885 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/hand/service/impl/PdaServiceImpl.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/hand/service/impl/PdaServiceImpl.java @@ -9,52 +9,36 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.StringUtils; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.acs.AcsConfig; import org.nl.acs.address.service.AddressService; import org.nl.acs.address.service.dto.AddressDto; -import org.nl.acs.common.base.CommonFinalParam; import org.nl.acs.device.domain.Device; import org.nl.acs.device.service.DeviceService; import org.nl.acs.device_driver.agv.ndctwo.AgvNdcTwoDeviceDriver; -import org.nl.acs.device_driver.conveyor.box_palletizing_manipulator.BoxPalletizingManipulatorDeviceDriver; import org.nl.acs.device_driver.conveyor.standard_ordinary_site.StandardOrdinarySiteDeviceDriver; -import org.nl.acs.device_driver.one_conveyor.fold_disc_site.FoldDiscSiteDeviceDriver; -import org.nl.acs.device_driver.one_manipulator.box_package_manipulator.BoxPackageManipulatorDeviceDriver; -import org.nl.acs.device_driver.paper_tube_device2.PaperTubeConveyor2DeviceDriver; -import org.nl.acs.device_driver.two_conveyor.blank_manipulator.BlankManipulatorDeviceDriver; -import org.nl.acs.device_driver.two_conveyor.hongxiang_device.HongXiangConveyorDeviceDriver; -import org.nl.acs.device_driver.two_conveyor.inflatable_shaft_library.InflatableShaftLibraryDeviceDriver; -import org.nl.acs.device_driver.two_conveyor.oven_manipulator.OvenGantryManipulatorDeviceDriver; -import org.nl.acs.device_driver.two_conveyor.subvolume_weighing_station.SubvolumeWeighingStationDriver; -import org.nl.acs.device_driver.two_conveyor.waste_foil_weighing_station.WasteFoilWeighingStationDriver; import org.nl.acs.instruction.domain.Instruction; import org.nl.acs.instruction.service.InstructionService; import org.nl.acs.opc.DeviceAppService; import org.nl.acs.region.domain.Region; import org.nl.acs.region.service.RegionService; -import org.nl.acs.storage_cell.domain.StorageCell; -import org.nl.acs.task.enums.TaskStatusEnum; import org.nl.acs.task.service.TaskService; import org.nl.acs.task.service.dto.TaskDto; import org.nl.acs.task.service.dto.TaskIdAndStatusDTO; import org.nl.common.exception.BadRequestException; import org.nl.config.language.LangProcess; +import org.nl.config.lucene.service.LuceneExecuteLogService; +import org.nl.config.lucene.service.dto.LuceneLogDto; import org.nl.hand.dto.HeadDto; -import org.nl.hand.dto.HeadTaskDto; -import org.nl.hand.service.HandService; import org.nl.hand.service.PdaService; import org.nl.system.service.dict.dao.Dict; import org.nl.system.service.dict.dao.mapper.SysDictMapper; import org.nl.system.service.param.ISysParamService; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.context.annotation.Lazy; import org.springframework.http.HttpStatus; import org.springframework.stereotype.Service; -import java.math.BigDecimal; import java.util.List; import java.util.Map; @@ -62,6 +46,9 @@ import java.util.Map; @RequiredArgsConstructor @Slf4j public class PdaServiceImpl implements PdaService { + + @Autowired + LuceneExecuteLogService luceneExecuteLogService; @Autowired private DeviceService deviceService; @@ -91,6 +78,7 @@ public class PdaServiceImpl implements PdaService { JSONArray data = new JSONArray(); //查询所有设备 List<Device> list = deviceService.lambdaQuery() + .eq(Device::getDriver_code, "standard_ordinary_site") .list(); if (CollectionUtil.isEmpty(list)) { throw new BadRequestException(LangProcess.msg("error_no_regional")); @@ -154,6 +142,12 @@ public class PdaServiceImpl implements PdaService { jo.put("task_type", "1"); jo.put("agv_system_type", "2"); jo.put("priority", "1"); + if ((start_device_code.equals("A3") && next_device_code.equals("A2"))|| (start_device_code.equals("A3") && next_device_code.equals("A1"))) { + jo.put("car_no", "2"); + } + if (start_device_code.equals("A3") && next_device_code.equals("A4")){ + jo.put("car_no", "1"); + } TaskDto task_dto = jo.toJavaObject(TaskDto.class); try { @@ -209,21 +203,27 @@ public class PdaServiceImpl implements PdaService { throw new BadRequestException("当前任务不存在!"); } JSONObject resultJson = new JSONObject(); - Instruction instruction = instructionService.findByTaskid(dto.getTask_id(), "instruction_status <2 "); - if (instruction != null) { - resultJson.put("message", "有指令未完成!"); + if (Integer.parseInt(dto.getTask_status()) == 0) { + TaskIdAndStatusDTO taskIdAndStatusDTO = new TaskIdAndStatusDTO(); + taskIdAndStatusDTO.setTask_id(dto.getTask_id()); + taskIdAndStatusDTO.setTask_status(dto.getTask_status()); + try { + taskserver.finish(taskIdAndStatusDTO); + } catch (Exception e) { + resultJson.put("message", e.getMessage()); + return resultJson; + } + resultJson.put("message", "强制完成成功"); return resultJson; } - TaskIdAndStatusDTO taskIdAndStatusDTO = new TaskIdAndStatusDTO(); - taskIdAndStatusDTO.setTask_id(dto.getTask_id()); - taskIdAndStatusDTO.setTask_status(TaskStatusEnum.FINISHED.getIndex()); try { - taskserver.finish(taskIdAndStatusDTO); + Instruction instruction = instructionService.findByTaskid(dto.getTask_id(), "1"); + instructionService.finish(instruction); } catch (Exception e) { resultJson.put("message", e.getMessage()); return resultJson; } - resultJson.put("message", "操作成功"); + resultJson.put("message", "强制完成成功"); return resultJson; } @@ -288,6 +288,12 @@ public class PdaServiceImpl implements PdaService { if (device_k.getDeviceDriver() instanceof StandardOrdinarySiteDeviceDriver) { standardOrdinarySiteDeviceDriver = (StandardOrdinarySiteDeviceDriver) device_k.getDeviceDriver(); standardOrdinarySiteDeviceDriver.setOption(Integer.parseInt(option)); + LuceneLogDto logDto = LuceneLogDto.builder() + .device_code(device_code) + .content("设备号:" + device_code + ",option当前值:" + standardOrdinarySiteDeviceDriver.getOption()) + .build(); + logDto.setLog_level(4); + luceneExecuteLogService.deviceExecuteLog(logDto); } JSONObject resultJson = new JSONObject(); if (ObjectUtil.isEmpty(errArr)) { @@ -327,7 +333,7 @@ public class PdaServiceImpl implements PdaService { @Override public Map<String, Object> queryDevice(String jsonObject) throws Exception { - JSONArray backja = new JSONArray(); + JSONObject resultJson = new JSONObject(); JSONArray datas = JSONArray.parseArray(jsonObject); //agv AgvNdcTwoDeviceDriver agvNdcTwoDeviceDriver; @@ -347,18 +353,18 @@ public class PdaServiceImpl implements PdaService { } if (device.getDeviceDriver() instanceof AgvNdcTwoDeviceDriver) { agvNdcTwoDeviceDriver = (AgvNdcTwoDeviceDriver) device.getDeviceDriver(); - jo.put("device_code", agvNdcTwoDeviceDriver.getDevice().getDevice_code()); jo.put("x", agvNdcTwoDeviceDriver.getX()); jo.put("y", agvNdcTwoDeviceDriver.getY()); jo.put("angle", agvNdcTwoDeviceDriver.getAngle()); - ja.put(agvNdcTwoDeviceDriver.getDevice().getDevice_code(), jo); + if (device_code.equals("1")) { + resultJson.put("one", jo); + } else { + resultJson.put("two", jo); + } } - backja.add(ja); } - JSONObject resultJson = new JSONObject(); resultJson.put("status", HttpStatus.OK.value()); resultJson.put("message", "操作成功"); - resultJson.put("data", backja); return resultJson; } } diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/quartz/task/AutoCreateInst.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/quartz/task/AutoCreateInst.java index 45c0d30..d95efff 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/quartz/task/AutoCreateInst.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/quartz/task/AutoCreateInst.java @@ -1,21 +1,14 @@ package org.nl.system.service.quartz.task; -import cn.hutool.core.collection.CollUtil; 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 com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.ObjectUtils; import org.nl.acs.common.base.CommonFinalParam; -import org.nl.acs.device.domain.Device; -import org.nl.acs.instruction.domain.InstructionMybatis; +import org.nl.acs.instruction.domain.Instruction; import org.nl.acs.instruction.enums.InstructionStatusEnum; import org.nl.acs.instruction.service.InstructionService; -import org.nl.acs.instruction.domain.Instruction; -import org.nl.acs.limit_regional.server.LimitRegionalService; -import org.nl.acs.limit_regional.server.dto.LimitRegionalDto; import org.nl.acs.opc.DeviceAppService; import org.nl.acs.opc.DeviceAppServiceImpl; import org.nl.acs.route.service.RouteLineService; @@ -86,6 +79,7 @@ public class AutoCreateInst { String route_plan_code = acsTask.getRoute_plan_code(); String vehicleType = acsTask.getVehicle_type(); String agv_system_type = acsTask.getAgv_system_type(); + String car_no = acsTask.getCar_no(); String start_height = acsTask.getStart_height(); String next_height = acsTask.getNext_height(); @@ -163,6 +157,7 @@ public class AutoCreateInst { instdto.setStart_height(start_height); instdto.setNext_height(next_height); instdto.setAgv_action_type(agvActionType); + instdto.setCarno(car_no); //判断agv系统 //1、1楼叉车系统 //2、2楼1区域AGV系统 diff --git a/acs2/nladmin-system/nlsso-server/src/main/resources/config/application-prod.yml b/acs2/nladmin-system/nlsso-server/src/main/resources/config/application-prod.yml index 3a9def5..a87d08e 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/resources/config/application-prod.yml +++ b/acs2/nladmin-system/nlsso-server/src/main/resources/config/application-prod.yml @@ -10,7 +10,7 @@ spring: driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy # url: jdbc:log4jdbc:mysql://${DB_HOST:192.168.81.252}:${DB_PORT:3306}/${DB_NAME:stand_acs}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true # url: jdbc:log4jdbc:mysql://${DB_HOST:47.111.78.178}:${DB_PORT:3306}/${DB_NAME:lzhl_two_acs}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true - url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:xlm_acs}?serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true + url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:jinbao}?serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true username: ${DB_USER:root} password: ${DB_PWD:123456} # password: ${DB_PWD:p@ssw0rd} diff --git a/acs2/nladmin-system/nlsso-server/src/main/resources/config/application.yml b/acs2/nladmin-system/nlsso-server/src/main/resources/config/application.yml index 6eb5a1c..709369d 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/resources/config/application.yml +++ b/acs2/nladmin-system/nlsso-server/src/main/resources/config/application.yml @@ -6,7 +6,7 @@ spring: freemarker: check-template-location: false profiles: - active: dev + active: prod jackson: time-zone: GMT+8 data: diff --git a/acs2/nladmin-system/nlsso-server/src/main/resources/language/monitor/universal/universal.properties b/acs2/nladmin-system/nlsso-server/src/main/resources/language/monitor/universal/universal.properties index 28f6d19..795b59a 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/resources/language/monitor/universal/universal.properties +++ b/acs2/nladmin-system/nlsso-server/src/main/resources/language/monitor/universal/universal.properties @@ -62,9 +62,9 @@ universal_notCreateInstMessage9=\u63D2\u62D4\u8F74\u5DE5\u4F4Dmode!=2\uFF0C\u65E universal_notCreateInstMessage10=\u63D2\u62D4\u8F74\u5DE5\u4F4Dmove!=0\uFF0C\u65E0\u6CD5\u751F\u6210\u6307\u4EE4! universal_notCreateInstMessage11=\u63D2\u62D4\u8F74\u5DE5\u4F4Daction!=2\uFF0C\u65E0\u6CD5\u751F\u6210\u6307\u4EE4! universal_notCreateInstMessage12=\u63D2\u62D4\u8F74\u5DE5\u4F4Daction!=1\uFF0C\u65E0\u6CD5\u751F\u6210\u6307\u4EE4! -universal_actionMessage1=\u4E0D\u5141\u8BB8\u53D6\u653E -universal_actionMessage2=\u5141\u8BB8\u53D6\u653E -universal_actionMessage3=\u5141\u8BB8\u79BB\u5F00 +universal_actionMessage1=\u5F85\u673A +universal_actionMessage2=\u653E\u8D27\u786E\u8BA4 +universal_actionMessage3=\u5378\u8D27\u786E\u8BA4 universal_actionMessage4=\u8BF7\u6C42\u52A8\u4F5C\u5DF2\u590D\u4F4D universal_actionMessage5=\u8BF7\u6C42\u52A8\u4F5C\u672A\u590D\u4F4D universal_actionMessage6=\u5141\u8BB8\u53D6 diff --git a/acs2/nladmin-system/nlsso-server/src/main/resources/language/monitor/universal/universal_zh_CN.properties b/acs2/nladmin-system/nlsso-server/src/main/resources/language/monitor/universal/universal_zh_CN.properties index e14f2c3..a72cb1a 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/resources/language/monitor/universal/universal_zh_CN.properties +++ b/acs2/nladmin-system/nlsso-server/src/main/resources/language/monitor/universal/universal_zh_CN.properties @@ -43,9 +43,9 @@ universal_feedMessage3=\u5149\u7535\u4FE1\u53F7(move)\u4E0D\u4E3A\u65E0\u8D27\u7 universal_feedMessage4=\u5F53\u524D\u4E0A\u62A5\u4EFB\u52A1\u53F7(task)\u4E0D\u5E94\u8BE5\u4E3A0 universal_feedMessage5=\u884C\u67B6\u673A\u68B0\u624B universal_feedMessage6=\u4EFB\u52A1\u5B8C\u6210 -universal_actionMessage1=\u4E0D\u5141\u8BB8\u53D6\u653E -universal_actionMessage2=\u5141\u8BB8\u53D6\u653E -universal_actionMessage3=\u5141\u8BB8\u79BB\u5F00 +universal_actionMessage1=\u5F85\u673A +universal_actionMessage2=\u653E\u8D27\u786E\u8BA4 +universal_actionMessage3=\u5378\u8D27\u786E\u8BA4 universal_actionMessage4=\u8BF7\u6C42\u52A8\u4F5C\u5DF2\u590D\u4F4D universal_actionMessage5=\u8BF7\u6C42\u52A8\u4F5C\u672A\u590D\u4F4D universal_actionMessage6=\u5141\u8BB8\u53D6 diff --git a/acs2/nladmin-system/nlsso-server/src/main/resources/log/AgvNdcTwoDeviceDriver.xml b/acs2/nladmin-system/nlsso-server/src/main/resources/log/AgvNdcTwoDeviceDriver.xml new file mode 100644 index 0000000..a603cb5 --- /dev/null +++ b/acs2/nladmin-system/nlsso-server/src/main/resources/log/AgvNdcTwoDeviceDriver.xml @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="UTF-8"?> +<included> +<springProperty scope="context" name="logPath" source="logging.file.path" defaultValue="logs"/> +<property name="LOG_HOME" value="${logPath}"/> +<!-- 按照每天生成日志文件 --> +<appender name="AgvNdcTwoDeviceDriver" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> + <!--日志文件输出的文件名--> + <FileNamePattern>${LOG_HOME}/ndc-agv请求/%d{yyyy-MM-dd}.%i.log</FileNamePattern> + <!--日志文件保留天数--> + <maxHistory>15</maxHistory> + <!--单个日志最大容量 至少10MB才能看得出来--> + <maxFileSize>50MB</maxFileSize> + <!--所有日志最多占多大容量--> + <totalSizeCap>2GB</totalSizeCap> + </rollingPolicy> + <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> + <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符--> + <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> + <charset>${log.charset}</charset> + </encoder> + +</appender> + +<!-- 打印sql --> +<logger name="org.nl.acs.device_driver.agv.ndctwo.AgvNdcTwoDeviceDriver" level="info" additivity="true"> + <appender-ref ref="AgvNdcTwoDeviceDriver"/> +</logger> +</included> + diff --git a/acs2/nladmin-system/nlsso-server/src/main/resources/logback-spring.xml b/acs2/nladmin-system/nlsso-server/src/main/resources/logback-spring.xml index 229eeef..c644794 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/resources/logback-spring.xml +++ b/acs2/nladmin-system/nlsso-server/src/main/resources/logback-spring.xml @@ -73,30 +73,6 @@ https://juejin.cn/post/6844903775631572999 <!-- <appender-ref ref="asyncFileAppender"/>--> <appender-ref ref="CONSOLE"/> </root> - <!-- <logger name="jdbc" level="ERROR" additivity="true"> - <appender-ref ref="asyncFileAppender"/> - </logger> - <logger name="org.springframework" level="ERROR" additivity="true"> - <appender-ref ref="asyncFileAppender"/> - </logger> - <logger name="org.hibernate" level="ERROR" additivity="true"> - <appender-ref ref="asyncFileAppender"/> - </logger> - <logger name="org.quartz" level="ERROR" additivity="true"> - <appender-ref ref="asyncFileAppender"/> - </logger> - <logger name="com.google" level="ERROR" additivity="true"> - <appender-ref ref="asyncFileAppender"/> - </logger> - <logger name="org.redisson" level="ERROR" additivity="true"> - <appender-ref ref="asyncFileAppender"/> - </logger> - <logger name="org.springframework.data" level="ERROR" additivity="true"> - <appender-ref ref="asyncFileAppender"/> - </logger> - <logger name="org.jinterop" level="ERROR" additivity="true"> - <appender-ref ref="asyncFileAppender"/> - </logger>--> </springProfile> <!--测试环境:打印控制台--> @@ -115,6 +91,7 @@ https://juejin.cn/post/6844903775631572999 <root level="info"> <appender-ref ref="asyncLuceneAppender"/> <appender-ref ref="asyncFileAppender"/> + <appender-ref ref="CONSOLE"/> </root> <logger name="jdbc" level="ERROR" additivity="true"> <appender-ref ref="asyncLuceneAppender"/> diff --git a/acs2/nladmin-system/nlsso-server/src/test/java/org/nl/ApplicationTest.java b/acs2/nladmin-system/nlsso-server/src/test/java/org/nl/ApplicationTest.java index a2797c3..82555da 100644 --- a/acs2/nladmin-system/nlsso-server/src/test/java/org/nl/ApplicationTest.java +++ b/acs2/nladmin-system/nlsso-server/src/test/java/org/nl/ApplicationTest.java @@ -8,8 +8,13 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.scheduling.annotation.Scheduled; -import java.util.Scanner; -import java.util.concurrent.*; +import java.util.Arrays; +import java.util.List; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.CompletionException; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.TimeoutException; +import java.util.stream.Collectors; /** * @Author: lyd @@ -25,23 +30,39 @@ public class ApplicationTest { @Test void contextLoads() { - Scanner scanner = new Scanner(System.in); - System.out.println("请输入第一个数:"); - int a = scanner.nextInt(); - System.out.println("请输入第一个数:"); - int b = scanner.nextInt(); - System.out.println("请输入第一个数:"); - int c = scanner.nextInt(); - //求最小值 - int min = (((a < b) ? a : b) < c) ? ((a < b) ? a : b) : c; - //求最大值 - int max = (((a > b) ? a : b) > c) ? ((a > b) ? a : b) : c; - //求中间值 - int mid = a + b + c - max - min; - //排序 - System.out.println("最小值为:" + min + "中间值为:" + mid + "最大值为:" + max); + List<String> list = Arrays.asList("a", "b", "c"); + long a = list.stream().filter(s -> s.contains("a")).count(); + System.out.println(a); + list.stream().filter(s -> s.contains("a")).forEach(System.out::println); + List<String> list1 = list.stream().collect(Collectors.toList()); + list1.forEach(System.out::println); + } + @Test + void test() { + Boolean b = true; + if (!b) + System.out.println(b); + } + @Test + void test1() { + int a = 1; + int b = 10; + b++; + int c = countSum(a,b); + System.out.println(c); + } + @Test + void test2() { + int sum = 0; + for (int i = 0; i < 50; i++) { + sum += i; + System.out.println(sum); + } + } + private int countSum(int a, int b) { + return a + b; } @Test diff --git a/acs2/nladmin-ui/src/assets/images/1.png b/acs2/nladmin-ui/src/assets/images/1.png new file mode 100644 index 0000000..266155f Binary files /dev/null and b/acs2/nladmin-ui/src/assets/images/1.png differ diff --git a/acs2/nladmin-ui/src/layout/components/Sidebar/Logo.vue b/acs2/nladmin-ui/src/layout/components/Sidebar/Logo.vue index ef5074c..9a1a8ec 100644 --- a/acs2/nladmin-ui/src/layout/components/Sidebar/Logo.vue +++ b/acs2/nladmin-ui/src/layout/components/Sidebar/Logo.vue @@ -14,7 +14,7 @@ </template> <script> -import Logo from '@/assets/images/newloge.png' +import Logo from '@/assets/images/1.png' import variables from '@/assets/styles/variables.scss' export default { name: 'SidebarLogo', @@ -26,7 +26,7 @@ export default { }, data() { return { - title: '山东金宝铜箔ACS系统', + title: '山东金宝ACS系统', logo: Logo, title_param: 'platform' } @@ -65,8 +65,8 @@ export default { width: 100%; & .sidebar-logo { - width: 55px; - height: 15px; + width: 75px; + height: 50px; vertical-align: middle; margin-right: 6px; } diff --git a/acs2/nladmin-ui/src/views/acs/device/driver/standard_autodoor.vue b/acs2/nladmin-ui/src/views/acs/device/driver/standard_autodoor.vue index a97ada6..63c8a0c 100644 --- a/acs2/nladmin-ui/src/views/acs/device/driver/standard_autodoor.vue +++ b/acs2/nladmin-ui/src/views/acs/device/driver/standard_autodoor.vue @@ -242,8 +242,7 @@ export default { rules: {}, region: [ { region_name: '区域一', region_number: '1' }, - { region_name: '区域二', region_number: '2' }, - { region_name: '区域三', region_number: '3' } + { region_name: '区域二', region_number: '2' } ] } }, diff --git a/acs2/nladmin-ui/src/views/acs/history/taskRecord/index.vue b/acs2/nladmin-ui/src/views/acs/history/taskRecord/index.vue index fb2964f..96fcc15 100644 --- a/acs2/nladmin-ui/src/views/acs/history/taskRecord/index.vue +++ b/acs2/nladmin-ui/src/views/acs/history/taskRecord/index.vue @@ -43,7 +43,7 @@ style="width: 190px" @change="crud.toQuery" > - <el-option v-for="item in materialList" :key="item.id" :label="item.label" :value="item.value" /> + <el-option v-for="item in materialList" :key="item.id" :label="item.label" :value="item.value"/> </el-select> </el-form-item> <el-form-item :label="$t('task.txt_box.Task_status')"> @@ -57,7 +57,7 @@ style="width: 190px" @change="crud.toQuery" > - <el-option v-for="item in dict.task_status" :key="item.id" :label="item.label" :value="item.value" /> + <el-option v-for="item in dict.task_status" :key="item.id" :label="item.label" :value="item.value"/> </el-select> </el-form-item> <el-form-item :label="$t('task.txt_box.Task_type')"> @@ -71,7 +71,7 @@ style="width: 190px" @change="crud.toQuery" > - <el-option v-for="item in dict.task_type" :key="item.id" :label="item.label" :value="item.value" /> + <el-option v-for="item in dict.task_type" :key="item.id" :label="item.label" :value="item.value"/> </el-select> </el-form-item> <el-form-item :label="$t('task.txt_box.Origin_or_destination')"> @@ -86,7 +86,7 @@ /> </el-form-item> <el-form-item :label="$t('task.txt_box.time')"> - <Search /> + <Search/> </el-form-item> </el-form> <!-- <el-input--> @@ -125,7 +125,7 @@ > <el-form ref="form" :model="form" :rules="rules" size="small" label-width="80px"> <el-form-item v-if="false" label="任务标识" prop="task_id"> - <el-input v-model="form.task_id" style="width: 370px;" /> + <el-input v-model="form.task_id" style="width: 370px;"/> </el-form-item> <el-form-item :label="$t('task.txt_box.Material_type')"> <el-select @@ -251,18 +251,21 @@ </el-select> </el-form-item> <el-form-item :label="$t('task.select.Priority')"> - <el-input v-model="form.priority" style="width: 370px;" /> + <el-input v-model="form.priority" style="width: 370px;"/> </el-form-item> <el-form-item :label="$t('task.select.Vehicle_number')"> - <el-input v-model="form.vehicle_code" style="width: 370px;" /> + <el-input v-model="form.vehicle_code" style="width: 370px;"/> </el-form-item> <el-form-item :label="$t('task.select.Description')" prop="description"> - <el-input v-model="form.remark" style="width: 380px;" rows="5" type="textarea" /> + <el-input v-model="form.remark" style="width: 380px;" rows="5" type="textarea"/> </el-form-item> </el-form> <div slot="footer" class="dialog-footer"> <el-button type="text" @click="crud.cancelCU">{{ $t('task.select.Cancel') }}</el-button> - <el-button :loading="crud.cu === 2" type="primary" @click="crud.submitCU">{{ $t('task.select.Confirm') }}</el-button> + <el-button :loading="crud.cu === 2" type="primary" @click="crud.submitCU">{{ + $t('task.select.Confirm') + }} + </el-button> </div> </el-dialog> <!--表格渲染--> @@ -274,13 +277,16 @@ style="width: 100%;" @selection-change="crud.selectionChangeHandler" > - <el-table-column v-if="false" prop="task_id" label="任务标识" /> - <el-table-column prop="task_code" :label="$t('task.txt_box.Task_code')" :min-width="flexWidth('task_code',crud.data,$t('task.txt_box.Task_code'))" /> - <el-table-column prop="vehicle_code" :label="$t('task.txt_box.Vehicle_number')" /> + <el-table-column v-if="false" prop="task_id" label="任务标识"/> + <el-table-column prop="task_code" :label="$t('task.txt_box.Task_code')" + :min-width="flexWidth('task_code',crud.data,$t('task.txt_box.Task_code'))"/> + <el-table-column prop="vehicle_code" :label="$t('task.txt_box.Vehicle_number')"/> <el-table-column prop="task_type" :label="$t('task.txt_box.Task_type')" width="100px"> debugger <template slot-scope="scope"> - <span v-if="scope.row.class_type!=null && scope.row.class_type.length===2 ">{{ dict.label.task_type[scope.row.class_type] }}</span> + <span v-if="scope.row.class_type!=null && scope.row.class_type.length===2 ">{{ + dict.label.task_type[scope.row.class_type] + }}</span> <span v-else>{{ dict.label.task_type[scope.row.task_type] }}</span> </template> </el-table-column> @@ -292,22 +298,30 @@ <span v-if="scope.row.task_status=='3' ">{{ $t('task.select.Cancel') }}</span> </template> </el-table-column> - <el-table-column prop="priority" :label="$t('TaskRecord.table.Priority')" :min-width="flexWidth('priority',crud.data,$t('TaskRecord.table.Priority'))" /> - <el-table-column prop="start_point_code" :label="$t('task.select.Start_point')" :min-width="flexWidth('start_point_code',crud.data,$t('task.select.Start_point'))" /> - <el-table-column prop="next_point_code" :label="$t('task.select.Destination')" :min-width="flexWidth('next_point_code',crud.data,$t('task.select.Destination'))" /> - <el-table-column prop="start_point_code2" :label="$t('TaskRecord.table.Starting_point_two')" :min-width="flexWidth('start_point_code2',crud.data,$t('TaskRecord.table.Starting_point_two'))" /> - <el-table-column prop="next_point_code2" :label="$t('TaskRecord.table.Endpoint_two')" :min-width="flexWidth('next_point_code2',crud.data,$t('TaskRecord.table.Endpoint_two'))" /> - <el-table-column prop="interaction_json" :label="$t('task.select.Interaction_json')" :show-overflow-tooltip="true" width="150px" /> - <el-table-column prop="matarial" :label="$t('TaskRecord.table.Material')" /> - <el-table-column prop="quantity" :label="$t('TaskRecord.table.Quantity')" /> - <el-table-column prop="remark" :label="$t('task.select.Remark')" /> - <el-table-column prop="create_by" :label="$t('task.select.Creator')" /> - <el-table-column prop="create_time" :label="$t('task.select.Create_time')" width="135" /> - <el-table-column prop="update_by" :label="$t('TaskRecord.table.Update_by')" :min-width="flexWidth('update_by',crud.data,$t('TaskRecord.table.Update_by'))" /> - <el-table-column prop="update_time" :label="$t('TaskRecord.table.Update_time')" :min-width="flexWidth('update_time',crud.data,$t('task.select.Update_time'))" /> + <el-table-column prop="priority" :label="$t('TaskRecord.table.Priority')" + :min-width="flexWidth('priority',crud.data,$t('TaskRecord.table.Priority'))"/> + <el-table-column prop="start_point_code" :label="$t('task.select.Start_point')" + :min-width="flexWidth('start_point_code',crud.data,$t('task.select.Start_point'))"/> + <el-table-column prop="next_point_code" :label="$t('task.select.Destination')" + :min-width="flexWidth('next_point_code',crud.data,$t('task.select.Destination'))"/> + <el-table-column prop="start_point_code2" :label="$t('TaskRecord.table.Starting_point_two')" + :min-width="flexWidth('start_point_code2',crud.data,$t('TaskRecord.table.Starting_point_two'))"/> + <el-table-column prop="next_point_code2" :label="$t('TaskRecord.table.Endpoint_two')" + :min-width="flexWidth('next_point_code2',crud.data,$t('TaskRecord.table.Endpoint_two'))"/> + <el-table-column prop="interaction_json" :label="$t('task.select.Interaction_json')" + :show-overflow-tooltip="true" width="150px"/> + <el-table-column prop="matarial" :label="$t('TaskRecord.table.Material')"/> + <el-table-column prop="quantity" :label="$t('TaskRecord.table.Quantity')"/> + <el-table-column prop="remark" :label="$t('task.select.Remark')"/> + <el-table-column prop="create_by" :label="$t('task.select.Creator')"/> + <el-table-column prop="create_time" :label="$t('task.select.Create_time')" width="135"/> + <el-table-column prop="update_by" :label="$t('TaskRecord.table.Update_by')" + :min-width="flexWidth('update_by',crud.data,$t('TaskRecord.table.Update_by'))"/> + <el-table-column prop="update_time" :label="$t('TaskRecord.table.Update_time')" + :min-width="flexWidth('update_time',crud.data,$t('task.select.Update_time'))"/> </el-table> <!--分页组件--> - <pagination /> + <pagination/> </div> </div> </template> @@ -315,14 +329,14 @@ <script> import Search from '@/views/lucene/time' import crudTask from '@/api/acs/task/task' -import CRUD, { crud, form, header, presenter } from '@crud/crud' +import CRUD, {crud, form, header, presenter} from '@crud/crud' import crudOperation from '@crud/CRUD.operation' import pagination from '@crud/Pagination' import deviceCrud from '@/api/acs/device/device' import routeCurd from '@/api/acs/route/routePlan' -import { getDicts } from '@/views/system/dict/dict' -import { download } from '@/api/data' -import { downloadFile } from '@/utils' +import {getDicts} from '@/views/system/dict/dict' +import {download} from '@/api/data' +import {downloadFile} from '@/utils' const defaultForm = { task_id: null, @@ -347,7 +361,7 @@ const defaultForm = { } export default { name: 'Task', - components: { pagination, crudOperation, Search }, + components: {pagination, crudOperation, Search}, dicts: ['task_status', 'task_type'], mixins: [presenter(), header(), form(defaultForm), crud()], cruds() { @@ -356,8 +370,8 @@ export default { url: 'api/task/getAll', idField: 'task_id', sort: 'task_id,desc', - query: { is_over: '1' }, - crudMethod: { ...crudTask }, + query: {is_over: '1'}, + crudMethod: {...crudTask}, optShow: {} }) }, @@ -424,28 +438,28 @@ export default { }, rules: { start_point_code: [ - { required: true, message: '起点不能为空', trigger: 'change' } + {required: true, message: '起点不能为空', trigger: 'change'} ], next_point_code: [ - { required: true, message: '终点不能为空', trigger: 'change' } + {required: true, message: '终点不能为空', trigger: 'change'} ], from_y: [ - { validator: checkFromY, trigger: 'change' } + {validator: checkFromY, trigger: 'change'} ], from_z: [ - { validator: checkFromZ, trigger: 'change' } + {validator: checkFromZ, trigger: 'change'} ], to_y: [ - { validator: checkToY, trigger: 'change' } + {validator: checkToY, trigger: 'change'} ], to_z: [ - { validator: checkToZ, trigger: 'change' } + {validator: checkToZ, trigger: 'change'} ] } } }, watch: { - rangeDate: function(newVal, oldVal) { + rangeDate: function (newVal, oldVal) { if (newVal !== null) { this.tableParams.beginDate = newVal[0] this.tableParams.endDate = newVal[1] @@ -495,9 +509,11 @@ export default { vehicle_code: this.query.vehicle_code, material_type: this.query.material_type, status: this.query.status, - point_code: this.crud.pointCode, - createTime: this.crud.createTime, - end_time: this.crud.endTime // 假设 this.crud.endTime 是你的结束时间 + point_code: this.query.point_code, + } + if (this.crud.query.createTime !== undefined) { + params.createTime = this.crud.query.createTime[0] + params.end_time = this.crud.query.createTime[1] } const url = 'api/task/downloadTaskLogging' download(url, params).then(result => { diff --git a/acs2/nladmin-ui/src/views/acs/task/index.vue b/acs2/nladmin-ui/src/views/acs/task/index.vue index ea7501d..341ec39 100644 --- a/acs2/nladmin-ui/src/views/acs/task/index.vue +++ b/acs2/nladmin-ui/src/views/acs/task/index.vue @@ -114,30 +114,12 @@ </el-button> </crudOperation> <!--表单组件--> - <el-dialog :close-on-click-modal="false" :visible.sync="formDia" :title="crud.status.title" width="1100px"> + <el-dialog :close-on-click-modal="false" :visible.sync="formDia" :title="crud.status.title" width="600px"> <el-form ref="form" :model="form" :rules="rules" size="small" label-width="135px"> <el-row> - <el-col :span="12"> - <div class="grid-content bg-purple"/> <el-form-item v-if="false" label="任务标识" prop="task_id"> <el-input v-model="form.task_id" style="width: 240px;"/> </el-form-item> - <el-form-item :label="$t('task.txt_box.Material_type')"> - <el-select - v-model="form.material" - style="width: 370px;" - filterable - :placeholder="$t('task.select.Placeholder')" - @change="isDisabled=false" - > - <el-option - v-for="item in dict.material_type" - :key="item.id" - :label="item.label" - :value="item.value" - /> - </el-select> - </el-form-item> <el-form-item :label="$t('task.txt_box.Task_type')"> <el-select v-model="form.task_type" @@ -188,23 +170,23 @@ </el-select> </el-form-item> - <el-form-item :label="$t('task.txt_box.agv_action_type')"> - <el-select - v-model="form.agv_action_type" - style="width: 370px;" - filterable - :placeholder="$t('task.select.Placeholder')" - default-first-option - @change="isDisabled=false" - > - <el-option - v-for="item in agvActionList" - :key="item.key" - :label="item.key" - :value="item.value" - /> - </el-select> - </el-form-item> + <el-form-item label="路由方案"> + <el-select + v-model="form.route_plan_code" + style="width: 370px;" + filterable + placeholder="请选择" + default-first-option + @change="isDisabled=false" + > + <el-option + v-for="item in routeList" + :key="item.plan_code" + :label="item.plan_name" + :value="item.plan_code" + /> + </el-select> + </el-form-item> <el-form-item :label="$t('task.select.Start_point')" prop="start_point_code"> <el-select v-model="form.start_point_code" @@ -304,11 +286,6 @@ /> </el-select> </el-form-item> - - </el-col> - <el-col :span="12"> - <div class="grid-content bg-purple-light"/> - <el-form-item v-show="start_flag" :label="$t('task.select.Starting_column')" prop="from_y2"> <el-select v-model="form.from_y2" @@ -381,9 +358,6 @@ <el-form-item :label="$t('task.txt_box.Vehicle_number')"> <el-input v-model="form.vehicle_code" style="width: 370px;" @change="isDisabled=false"/> </el-form-item> - - - </el-col> </el-row> </el-form> <div slot="footer" class="dialog-footer"> diff --git a/acs2/nladmin-ui/src/views/lucene/time.vue b/acs2/nladmin-ui/src/views/lucene/time.vue index 7d3a98c..210a764 100644 --- a/acs2/nladmin-ui/src/views/lucene/time.vue +++ b/acs2/nladmin-ui/src/views/lucene/time.vue @@ -10,6 +10,7 @@ :range-separator="$t('monitor.lucence.until')" :start-placeholder="$t('auto.common.startDate')" :end-placeholder="$t('auto.common.endDate')" + value-format="yyyy-MM-dd HH:mm:ss" align="right" /> <rrOperation />