From e51f6c74dc8c24e1be14a85259360f246e01ee8b Mon Sep 17 00:00:00 2001 From: yanps Date: Wed, 7 Aug 2024 20:09:12 +0800 Subject: [PATCH] =?UTF-8?q?opt:=20=E4=BC=98=E5=8C=96connector=E4=BA=A4?= =?UTF-8?q?=E4=BA=92=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../agv/ndcone/AgvNdcOneDeviceDriver.java | 11 ++- .../agv/xg_agv/XgagvDeviceDriver.java | 20 ++-- .../main/java/org/nl/acs/ext/wms/LmsUtil.java | 2 - .../acs/ext/wms/rest/AcsToWmsController.java | 2 +- .../acs/ext/wms/rest/ConnectorController.java | 64 +++++++++++++ .../acs/ext/wms/service/AcsToWmsService.java | 2 +- .../wms/service/impl/AcsToWmsServiceImpl.java | 2 +- .../task/service/impl/TaskServiceImpl.java | 2 +- .../acs/controller/AcsToWmsController.java | 12 +++ .../wms/ext/acs/service/AcsToWmsService.java | 7 ++ .../acs/service/impl/AcsToWmsServiceImpl.java | 96 +++++++++++++------ .../controller/ConnectorToWmsController.java | 6 +- .../impl/ConnectorToWmsServiceImpl.java | 14 +-- .../dao/SchBaseVehiclematerialgroup.java | 4 +- .../SchBaseVehiclematerialgroupMapper.xml | 2 +- ...chBaseVehiclematerialgroupServiceImpl.java | 33 ++++++- .../task_manage/task/tasks/cnt/CNTTask.java | 6 +- .../task_manage/task/tasks/cnt/FTGTask.java | 13 ++- .../task_manage/task/tasks/tbx/TBXMLTask.java | 2 +- .../src/views/wms/sch/group/index.vue | 38 ++++---- 20 files changed, 252 insertions(+), 86 deletions(-) create mode 100644 acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/rest/ConnectorController.java diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/agv/ndcone/AgvNdcOneDeviceDriver.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/agv/ndcone/AgvNdcOneDeviceDriver.java index bbb863b..1451ad8 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/agv/ndcone/AgvNdcOneDeviceDriver.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/agv/ndcone/AgvNdcOneDeviceDriver.java @@ -42,6 +42,7 @@ import org.nl.config.SpringContextHolder; import org.nl.system.service.param.impl.SysParamServiceImpl; import java.util.List; +import java.util.Map; /** * NDC单工位AGV @@ -396,8 +397,12 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic } else if (device.getDeviceDriver() instanceof StandardOrdinarySiteDeviceDriver) { try { StandardOrdinarySiteDeviceDriver standar = (StandardOrdinarySiteDeviceDriver) device.getDeviceDriver(); - boolean is_empty = (boolean)standar.getDevice().getExtraValue().get("is_empty"); - data = feedBackStatus(data, index, 2, inst, task,1,false); + Map extraValue = standar.getDevice().getExtraValue(); + boolean is_empty = false; + if(ObjectUtil.isNotEmpty(extraValue.get("is_empty"))){ + is_empty = (boolean)extraValue.get("is_empty"); + } + data = feedBackStatus(data, index, 4, inst, task,1,is_empty); } catch (Exception e) { log.info("放货完成反馈AGV状态失败:{},", e.getMessage()); } @@ -482,7 +487,7 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic jo.put("task_code", inst.getTask_code()); jo.put("is_empty", is_empty); ja.add(jo); - HttpResponse httpResponse = acsToWmsService.feedAgvTaskStatus(ja); + HttpResponse httpResponse = acsToWmsService.feedAgvTaskStatus(jo); log.info("指令号:{},phase:{},acs反馈wms结果:{}", inst.getInstruction_code(), phase, httpResponse); if (ObjectUtil.isNotEmpty(httpResponse) && httpResponse.getStatus() == 200) { data = NDCAgvService.sendAgvOneModeInst(phase, index, 0, 0, 0, 0, 0); diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/agv/xg_agv/XgagvDeviceDriver.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/agv/xg_agv/XgagvDeviceDriver.java index dd11d91..5522441 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/agv/xg_agv/XgagvDeviceDriver.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/agv/xg_agv/XgagvDeviceDriver.java @@ -386,7 +386,7 @@ public class XgagvDeviceDriver extends AbstractOpcDeviceDriver implements Device .method("feedAgvTaskStatus") .build(); luceneExecuteLogService.deviceExecuteLog(reqlogDto); - HttpResponse resp = acsToWmsService.feedAgvTaskStatus(ja); + HttpResponse resp = acsToWmsService.feedAgvTaskStatus(jo); LuceneLogDto resplogDto = LuceneLogDto.builder() .device_code(device_code) .content("返回参数:"+resp.body()) @@ -427,7 +427,7 @@ public class XgagvDeviceDriver extends AbstractOpcDeviceDriver implements Device .method("feedAgvTaskStatus") .build(); luceneExecuteLogService.deviceExecuteLog(reqlogDto); - HttpResponse resp = acsToWmsService.feedAgvTaskStatus(ja); + HttpResponse resp = acsToWmsService.feedAgvTaskStatus(jo); LuceneLogDto resplogDto = LuceneLogDto.builder() .device_code(device_code) .content("返回参数:"+resp.body()) @@ -464,7 +464,7 @@ public class XgagvDeviceDriver extends AbstractOpcDeviceDriver implements Device .method("feedAgvTaskStatus") .build(); luceneExecuteLogService.deviceExecuteLog(reqlogDto); - HttpResponse resp = acsToWmsService.feedAgvTaskStatus(ja); + HttpResponse resp = acsToWmsService.feedAgvTaskStatus(jo); LuceneLogDto resplogDto = LuceneLogDto.builder() .device_code(device_code) .content("返回参数:"+resp.body()) @@ -499,7 +499,7 @@ public class XgagvDeviceDriver extends AbstractOpcDeviceDriver implements Device .method("feedAgvTaskStatus") .build(); luceneExecuteLogService.deviceExecuteLog(reqlogDto); - HttpResponse resp = acsToWmsService.feedAgvTaskStatus(ja); + HttpResponse resp = acsToWmsService.feedAgvTaskStatus(jo); LuceneLogDto resplogDto = LuceneLogDto.builder() .device_code(device_code) .content("返回参数:"+resp.body()) @@ -529,7 +529,7 @@ public class XgagvDeviceDriver extends AbstractOpcDeviceDriver implements Device .method("feedAgvTaskStatus") .build(); luceneExecuteLogService.deviceExecuteLog(reqlogDto); - HttpResponse resp = acsToWmsService.feedAgvTaskStatus(ja); + HttpResponse resp = acsToWmsService.feedAgvTaskStatus(jo); LuceneLogDto resplogDto = LuceneLogDto.builder() .device_code(device_code) .content("返回参数:"+resp.body()) @@ -550,7 +550,7 @@ public class XgagvDeviceDriver extends AbstractOpcDeviceDriver implements Device jo.put("status", "6"); jo.put("device_code", this.device_code); ja.add(jo); - HttpResponse resp = acsToWmsService.feedAgvTaskStatus(ja); + HttpResponse resp = acsToWmsService.feedAgvTaskStatus(jo); if (resp.getStatus() == 200) { writing("to_di_height", 0); writing("to_di_low", 0); @@ -563,7 +563,7 @@ public class XgagvDeviceDriver extends AbstractOpcDeviceDriver implements Device jo.put("status", "7"); jo.put("device_code", this.device_code); ja.add(jo); - HttpResponse resp = acsToWmsService.feedAgvTaskStatus(ja); + HttpResponse resp = acsToWmsService.feedAgvTaskStatus(jo); if (resp.getStatus() == 200) { writing("to_di_low", 0); } else { @@ -593,7 +593,7 @@ public class XgagvDeviceDriver extends AbstractOpcDeviceDriver implements Device .method("feedAgvTaskStatus") .build(); luceneExecuteLogService.deviceExecuteLog(reqlogDto); - HttpResponse resp = acsToWmsService.feedAgvTaskStatus(ja); + HttpResponse resp = acsToWmsService.feedAgvTaskStatus(jo); LuceneLogDto resplogDto = LuceneLogDto.builder() .device_code(device_code) .content("返回参数:"+resp.body()) @@ -614,7 +614,7 @@ public class XgagvDeviceDriver extends AbstractOpcDeviceDriver implements Device jo.put("status", "6"); jo.put("device_code", "A4"); ja.add(jo); - HttpResponse resp = acsToWmsService.feedAgvTaskStatus(ja); + HttpResponse resp = acsToWmsService.feedAgvTaskStatus(jo); if (resp.getStatus() == 200) { writing("to_di_height", 0); writing("to_di_low", 0); @@ -628,7 +628,7 @@ public class XgagvDeviceDriver extends AbstractOpcDeviceDriver implements Device jo.put("status", "7"); jo.put("device_code", "A4"); ja.add(jo); - HttpResponse resp = acsToWmsService.feedAgvTaskStatus(ja); + HttpResponse resp = acsToWmsService.feedAgvTaskStatus(jo); if (resp.getStatus() == 200) { writing("to_di_height", 0); } else { diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/LmsUtil.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/LmsUtil.java index 577086c..aec549f 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/LmsUtil.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/LmsUtil.java @@ -32,13 +32,11 @@ public class LmsUtil { } String liKu_wcs_url = paramService.findByCode("wmsurl").getValue(); try { -// log.info("请求LMS参数:{}", JSON.toJSONString(requestParam)); String body = HttpRequest .post(liKu_wcs_url + api).setConnectionTimeout(3000) .body(JSON.toJSONString(requestParam)) .execute() .body(); -// log.info("请求LMS参数返回参数:{}", body); return body; } catch (Exception e) { JSONObject result = new JSONObject(); diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/rest/AcsToWmsController.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/rest/AcsToWmsController.java index bee6056..44d14b3 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/rest/AcsToWmsController.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/rest/AcsToWmsController.java @@ -109,7 +109,7 @@ public class AcsToWmsController { @PostMapping("/feedAgvTaskStatus") @Log(value = "反馈AGV取放货状态") @ApiOperation("反馈AGV取放货状态") - public ResponseEntity feedAgvTaskStatus(@RequestBody JSONArray from) { + public ResponseEntity feedAgvTaskStatus(@RequestBody JSONObject from) { return new ResponseEntity<>(acstowmsService.feedAgvTaskStatus(from), HttpStatus.OK); } } diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/rest/ConnectorController.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/rest/ConnectorController.java new file mode 100644 index 0000000..6e1aec2 --- /dev/null +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/rest/ConnectorController.java @@ -0,0 +1,64 @@ +package org.nl.acs.ext.wms.rest; + +import cn.dev33.satoken.annotation.SaIgnore; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.nl.acs.ext.wms.liKuData.InStoreReportRequest; +import org.nl.common.logging.annotation.Log; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.HashMap; +import java.util.Map; + +@RestController +@RequiredArgsConstructor +@Api(tags = "connector") +@RequestMapping("/api/iot/agvtask") +@Slf4j +public class ConnectorController { + + + + @SaIgnore + @PostMapping + @Log(value = "立库反馈入库任务状态") + @ApiOperation("立库反馈入库任务状态") + public Map inStoreReport(@RequestBody JSONObject requestParam) throws Exception { + Map map = new HashMap(); + String msg = "[\n" + + "{\n" + + "\"ID\":\"C202404281545\",\n" + + "\"Jobname\":\"N319001\",\n" + + "\"PalletID\":\"N319001_1_3\",\n" + + "\"ProductID\":\"A7E44207473001_0B\",\n" + + "\"Currentqty\":\"36\",\n" + + "\"SizeX\":\"140.98\",\n" + + "\"SizeY\":\"642\",\n" + + "\"Angle\":\"90\",\n" + + "\"Thickness\":\"2\",\n" + + "\"PositionX\":\"-227.379\",\n" + + "\"PositionY\":\"60\",\n" + + "\"vehicle_code\":\"T0001\", \n" + + "\"ProductionOrder\":\"800032285176\",\n" + + "\"Finished\": \"Y\",\n" + + "\"NextOperation\": \"\",\n" + + "\"DueDate\": \"\"\n" + + "} \n" + + "]"; + JSONArray jo = JSONArray.parseArray(msg); + map.put("status",200); + map.put("message","请求成功"); + map.put("data",jo); + return map; + } + +} diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/service/AcsToWmsService.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/service/AcsToWmsService.java index 8b44737..741ea32 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/service/AcsToWmsService.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/service/AcsToWmsService.java @@ -111,7 +111,7 @@ public interface AcsToWmsService { * @param from * @return */ - HttpResponse feedAgvTaskStatus(JSONArray from); + HttpResponse feedAgvTaskStatus(JSONObject from); /** diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/service/impl/AcsToWmsServiceImpl.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/service/impl/AcsToWmsServiceImpl.java index 615322b..e7589a4 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/service/impl/AcsToWmsServiceImpl.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/service/impl/AcsToWmsServiceImpl.java @@ -531,7 +531,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { } @Override - public HttpResponse feedAgvTaskStatus(JSONArray from) { + public HttpResponse feedAgvTaskStatus(JSONObject from) { String wmsUrl = paramService.findByCode(AcsConfig.WMSURL).getValue(); AddressDto addressDto = addressService.findByCode("feedAgvTaskStatus"); 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 e4eab9e..34edec9 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 @@ -870,7 +870,7 @@ public class TaskServiceImpl extends CommonServiceImpl impleme FeedBackTaskStatusRequest request = new FeedBackTaskStatusRequest(); request.setTask_code(entity.getTask_code()); request.setTask_id(entity.getExt_task_id()); - request.setTask_status(entity.getTask_status()); + request.setTask_status(task.getTask_status()); request.setRequest_medthod_code(RequestMethodEnum.feedback_task_status.getCode()); request.setRequest_medthod_name(RequestMethodEnum.feedback_task_status.getName()); boolean flag = false; diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/controller/AcsToWmsController.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/controller/AcsToWmsController.java index aeba769..5278baa 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/controller/AcsToWmsController.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/controller/AcsToWmsController.java @@ -107,4 +107,16 @@ public class AcsToWmsController { public ResponseEntity feedAgvAgain(@RequestBody JSONObject param) { return new ResponseEntity<>(acsToWmsService.feedAgvAgain(param), HttpStatus.OK); } + + + + @PostMapping("/taskStatus") + @Log("acs反馈LMS任务状态") + @ApiOperation("acs反馈LMS任务状态") + @SaIgnore + @Deprecated + public ResponseEntity feedTaskStatus(@RequestBody JSONObject param) { + return new ResponseEntity<>(acsToWmsService.feedTaskStatus(param), HttpStatus.OK); + } + } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/AcsToWmsService.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/AcsToWmsService.java index 4882080..1202555 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/AcsToWmsService.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/AcsToWmsService.java @@ -42,4 +42,11 @@ public interface AcsToWmsService { * @return */ Object feedAgvAgain(JSONObject param); + + /** + * acs反馈LMS任务状态 + * @param param + * @return + */ + Object feedTaskStatus(JSONObject param); } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java index 132ace6..8fcd0de 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java @@ -19,6 +19,8 @@ import org.nl.common.exception.BadRequestException; import org.nl.system.service.notice.ISysNoticeService; import org.nl.wms.cockpit.service.dao.DasDeviceFault; import org.nl.wms.cockpit.service.mapper.CockpitMapper; +import org.nl.wms.database.material.service.IMdBaseMaterialService; +import org.nl.wms.database.material.service.dao.MdBaseMaterial; import org.nl.wms.database.vehicle.service.IMdBaseVehicleService; import org.nl.wms.database.vehicle.service.dao.MdBaseVehicle; import org.nl.wms.ext.acs.service.AcsToWmsService; @@ -95,6 +97,8 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { private WmsToSortingService sortingService; @Autowired private IMdBaseVehicleService iMdBaseVehicleService; + @Autowired + private IMdBaseMaterialService iMdBaseMaterialService; /** * 初始化反射方法 @@ -315,27 +319,58 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { @Override public Object feedAgvAgain(JSONObject param) { - if(ObjectUtil.isNotEmpty(param)){ + if (ObjectUtil.isNotEmpty(param)) { String task_id = param.getString("task_id"); String device_code = param.getString("device_code"); - if(StrUtil.isEmpty(task_id) || StrUtil.isEmpty(device_code)){ + if (StrUtil.isEmpty(task_id) || StrUtil.isEmpty(device_code)) { throw new BadRequestException("task_id或device_code为空!"); } SchBaseTask schBaseTask = taskService.getById(task_id); - if(ObjectUtil.isEmpty(schBaseTask)){ + if (ObjectUtil.isEmpty(schBaseTask)) { throw new BadRequestException("任务不存在!task_id:" + task_id); } - if(device_code.equals(schBaseTask.getPoint_code2())) throw new BadRequestException("设备号与任务设备不匹配!"); + if (device_code.equals(schBaseTask.getPoint_code2())) throw new BadRequestException("设备号与任务设备不匹配!"); //查询点位是否存在 SchBasePoint schBasePoint = pointService.selectByPointCode(device_code); - if(ObjectUtil.isEmpty(schBasePoint)) throw new BadRequestException("点位不存在!device_code:" + device_code); - SchBasePoint schBasePoint1 = pointService.selectByNextWaitPoint(device_code,schBaseTask.getVehicle_code()); - if(ObjectUtil.isEmpty(schBasePoint1)) throw new BadRequestException("未查询到可用点位!等待点位:"+device_code); + if (ObjectUtil.isEmpty(schBasePoint)) throw new BadRequestException("点位不存在!device_code:" + device_code); + SchBasePoint schBasePoint1 = pointService.selectByNextWaitPoint(device_code, schBaseTask.getVehicle_code()); + if (ObjectUtil.isEmpty(schBasePoint1)) throw new BadRequestException("未查询到可用点位!等待点位:" + device_code); return schBasePoint; } return null; } + @Override + public Object feedTaskStatus(JSONObject param) { + if(ObjectUtil.isNotEmpty(param)){ + String task_code = param.getString("task_code"); + String task_status = param.getString("task_status"); + if(StrUtil.isEmpty(task_code) || StrUtil.isEmpty(task_status)){ + throw new BadRequestException("task_code或task_status为空!"); + } + SchBaseTask schBaseTask = taskService.getOne(Wrappers.lambdaQuery(SchBaseTask.class) + .eq(SchBaseTask::getTask_code, task_code).in(SchBaseTask::getTask_status, TaskStatus.EXECUTING.getCode(), TaskStatus.ISSUED.getCode())); + if(ObjectUtil.isEmpty(schBaseTask)) throw new BadRequestException("任务不存在!task_code:" + task_code); + switch (task_status) { + case "1": + //执行中 + taskService.update(Wrappers.lambdaUpdate(SchBaseTask.class) + .set(SchBaseTask::getTask_status, TaskStatus.EXECUTING.getCode()) + .eq(SchBaseTask::getTask_code, task_code)); + break; + case "2": + //任务完成 + AbstractTask connectorTask = taskFactory.getTask(schBaseTask.getConfig_code()); + connectorTask.forceFinish(schBaseTask.getTask_code()); + break; + default: + break; + } + + } + return null; + } + /** * 放货完成 * @@ -372,8 +407,8 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { private void finishTask(String task_code, String point_code) { pointService.update(Wrappers.lambdaUpdate(SchBasePoint.class).eq(SchBasePoint::getPoint_code, point_code) .set(SchBasePoint::getIs_lock, false)); - taskService.update(Wrappers.lambdaUpdate(SchBaseTask.class).eq(SchBaseTask::getTask_code, task_code) - .set(SchBaseTask::getTask_status, TaskStatus.FINISHED.getCode())); + /*taskService.update(Wrappers.lambdaUpdate(SchBaseTask.class).eq(SchBaseTask::getTask_code, task_code) + .set(SchBaseTask::getTask_status, TaskStatus.FINISHED.getCode()));*/ } /** @@ -426,35 +461,34 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { private void requestPickup(SchBaseTask schBaseTask, String status, String is_connector) { if ("1".equals(is_connector)) { //反馈connector申请取货 - /*SchBaseTaskconfig schBaseTaskconfig = taskConfigService.selectByConfigCode(schBaseTask.getConfig_code());*/ JSONObject json = new JSONObject(); - // if (GoodsEnum.PICK_UP.getValue().equals(schBaseTaskconfig.getTask_qf_type())) { - // json.put("vehicle_code", schBaseTask.getVehicle_code()); - // json.put("status", status); - // json.put("device_code", schBaseTask.getPoint_code2()); - // json.put("task_code", schBaseTask.getTask_code()); - // } else if (GoodsEnum.DELIVER_GOODS.getValue().equals(schBaseTaskconfig.getTask_qf_type())) { json.put("vehicle_code", schBaseTask.getVehicle_code()); json.put("status", status); json.put("device_code", schBaseTask.getPoint_code1()); json.put("task_code", schBaseTask.getTask_code()); boolean flag = true; - while (flag) { - AcsResponse acsResponse = connectorService.feedAgvTaskStatus(json); - if (acsResponse.getStatus() == 200 && StrUtil.isNotEmpty(acsResponse.getData())) { - JSONArray objects = JSONObject.parseArray(acsResponse.getData()); - List connectorDtos = BeanUtil.copyToList(objects, ConnectorDto.class); - for (ConnectorDto connectorDto : connectorDtos) { - SchBaseVehiclematerialgroup schBaseVehiclematerialgroup = new SchBaseVehiclematerialgroup(); - schBaseVehiclematerialgroup.setVehicle_code(connectorDto.getVehicle_code()); - schBaseVehiclematerialgroup.setJob_name(connectorDto.getJobname()); - schBaseVehiclematerialgroup.setMaterial_id(connectorDto.getProductID()); - schBaseVehiclematerialgroup.setMaterial_qty(connectorDto.getCurrentqty()); - schBaseVehiclematerialgroup.setRegion_code(connectorDto.getProductionOrder()); - iSchBaseVehiclematerialgroupService.create(schBaseVehiclematerialgroup); + AcsResponse acsResponse = connectorService.feedAgvTaskStatus(json); + if (acsResponse.getStatus() == 200 && StrUtil.isNotEmpty(acsResponse.getData())) { + JSONArray objects = JSONObject.parseArray(acsResponse.getData()); + List connectorDtos = BeanUtil.copyToList(objects, ConnectorDto.class); + for (ConnectorDto connectorDto : connectorDtos) { + if (schBaseTask.getVehicle_code().equals(connectorDto.getVehicle_code())) { + //TODO:载具号不同 + } + MdBaseMaterial mdBaseMaterial = iMdBaseMaterialService.getOne(Wrappers.lambdaQuery(MdBaseMaterial.class) + .eq(MdBaseMaterial::getMaterial_code, connectorDto.getProductID())); + if (ObjectUtil.isEmpty(mdBaseMaterial)) { + //TODO:物料不存在 } - // vehiclematerialgroupService.updateByVehicleCode(schBaseTask.getVehicle_code(), acsResponse.getData()); - flag = false; + SchBaseVehiclematerialgroup schBaseVehiclematerialgroup = new SchBaseVehiclematerialgroup(); + schBaseVehiclematerialgroup.setVehicle_code(connectorDto.getVehicle_code()); + schBaseVehiclematerialgroup.setJob_name(connectorDto.getJobname()); + schBaseVehiclematerialgroup.setMaterial_id(connectorDto.getProductID()); + schBaseVehiclematerialgroup.setMaterial_qty(connectorDto.getCurrentqty()); + schBaseVehiclematerialgroup.setRegion_code(connectorDto.getNextOperation()); + schBaseVehiclematerialgroup.setExtend(connectorDto.toString()); + schBaseVehiclematerialgroup.setOrder_code(connectorDto.getProductionOrder()); + iSchBaseVehiclematerialgroupService.create(schBaseVehiclematerialgroup); } } } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/connector/controller/ConnectorToWmsController.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/connector/controller/ConnectorToWmsController.java index 68f92b9..59f7c01 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/connector/controller/ConnectorToWmsController.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/connector/controller/ConnectorToWmsController.java @@ -8,6 +8,8 @@ import lombok.extern.slf4j.Slf4j; import org.nl.common.logging.annotation.Log; import org.nl.wms.ext.connector.service.ConnectorToWmsService; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -28,9 +30,9 @@ public class ConnectorToWmsController { @ApiOperation("connector下发agv任务") @SaIgnore @PostMapping("/wms/task") - public Object createTaskByConnector(@RequestBody JSONArray jsonArray){ + public ResponseEntity createTaskByConnector(@RequestBody JSONArray jsonArray){ Object taskByConnector = connectorService.createTaskByConnector(jsonArray); - return taskByConnector; + return new ResponseEntity(connectorService.createTaskByConnector(jsonArray), HttpStatus.OK); } } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/connector/service/impl/ConnectorToWmsServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/connector/service/impl/ConnectorToWmsServiceImpl.java index b03138f..9b87615 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/connector/service/impl/ConnectorToWmsServiceImpl.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/connector/service/impl/ConnectorToWmsServiceImpl.java @@ -39,7 +39,7 @@ public class ConnectorToWmsServiceImpl implements ConnectorToWmsService { private TaskFactory taskFactory; @Override - public Object createTaskByConnector(JSONArray jsonArray) { + public Map createTaskByConnector(JSONArray jsonArray) { log.info("connector下发agv任务请求参数:{}", jsonArray); Map map = new HashMap(); com.alibaba.fastjson.JSONArray objects = new com.alibaba.fastjson.JSONArray(); @@ -47,7 +47,7 @@ public class ConnectorToWmsServiceImpl implements ConnectorToWmsService { map.put("status", HttpStatus.HTTP_INTERNAL_ERROR); map.put("message", "请求参数为空!"); objects.add(map); - return objects; + return map; } try { for (Object jsonObject : jsonArray) { @@ -96,19 +96,21 @@ public class ConnectorToWmsServiceImpl implements ConnectorToWmsService { param.put("remark", remark); param.put("ext_data", data); connectorTask.apply(param); - /*schBasePoint.setIs_lock(true); - schBasePointService.updateById(schBasePoint);*/ + schBasePoint.setIs_lock(true); + schBasePointService.updateById(schBasePoint); map1.put("task_code", task_code); map1.put("status", HttpStatus.HTTP_OK); map1.put("message", "操作成功!"); objects.add(map1); } + map.put("status", HttpStatus.HTTP_OK); + map.put("message", "操作成功!"); } catch (Exception e) { map.put("status", HttpStatus.HTTP_INTERNAL_ERROR); map.put("message", e.getMessage()); objects.add(map); - return objects; + return map; } - return objects; + return map; } } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/group/service/dao/SchBaseVehiclematerialgroup.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/group/service/dao/SchBaseVehiclematerialgroup.java index e8dfc6b..0fc62c5 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/group/service/dao/SchBaseVehiclematerialgroup.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/group/service/dao/SchBaseVehiclematerialgroup.java @@ -44,9 +44,11 @@ public class SchBaseVehiclematerialgroup implements Serializable { @ApiModelProperty(value = "来源载具编码") private String source_vehicle_code; + @TableField(exist = false) @ApiModelProperty(value = "点位编码") private String point_code; + @TableField(exist = false) @ApiModelProperty(value = "点位名称") private String point_name; @@ -72,7 +74,7 @@ public class SchBaseVehiclematerialgroup implements Serializable { private BigDecimal material_weight; @ApiModelProperty(value = "搬运工单编码") - private String workorder_code; + private String order_code; @ApiModelProperty(value = "组盘次数") private Integer group_number; diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/group/service/dao/mapper/SchBaseVehiclematerialgroupMapper.xml b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/group/service/dao/mapper/SchBaseVehiclematerialgroupMapper.xml index 8ccaf69..9d92ae2 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/group/service/dao/mapper/SchBaseVehiclematerialgroupMapper.xml +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/group/service/dao/mapper/SchBaseVehiclematerialgroupMapper.xml @@ -10,7 +10,7 @@ , po.region_name FROM sch_base_vehiclematerialgroup vg LEFT JOIN md_base_material ma ON vg.material_id = ma.material_id - LEFT JOIN sch_base_point po ON po.point_code = vg.point_code + LEFT JOIN sch_base_point po ON vg.region_code = po.region_code WHERE 1 = 1 AND vg.vehicle_code = #{query.vehicle_code} diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/group/service/impl/SchBaseVehiclematerialgroupServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/group/service/impl/SchBaseVehiclematerialgroupServiceImpl.java index f4eeff3..efd54f5 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/group/service/impl/SchBaseVehiclematerialgroupServiceImpl.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/group/service/impl/SchBaseVehiclematerialgroupServiceImpl.java @@ -3,6 +3,8 @@ package org.nl.wms.sch.group.service.impl; import cn.hutool.core.date.DateUtil; import cn.hutool.core.lang.Assert; import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -15,11 +17,14 @@ import org.apache.commons.lang3.StringUtils; import org.nl.common.domain.query.PageQuery; import org.nl.common.exception.BadRequestException; import org.nl.common.utils.SecurityUtils; +import org.nl.wms.database.material.service.IMdBaseMaterialService; +import org.nl.wms.database.material.service.dao.MdBaseMaterial; import org.nl.wms.sch.group.service.ISchBaseVehiclematerialgroupService; import org.nl.wms.sch.group.service.dao.mapper.SchBaseVehiclematerialgroupMapper; import org.nl.wms.sch.group.service.dao.SchBaseVehiclematerialgroup; import org.nl.wms.sch.group.service.dto.SchBaseVehiclematerialgroupQuery; import org.nl.wms.sch.point.service.ISchBasePointService; +import org.nl.wms.sch.point.service.dao.SchBasePoint; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -39,14 +44,38 @@ public class SchBaseVehiclematerialgroupServiceImpl extends ServiceImpl queryAll(SchBaseVehiclematerialgroupQuery whereJson, PageQuery page){ IPage pages = new Page<>(page.getPage() + 1, page.getSize()); - pages = vehiclematerialgroupMapper.selectPageLeftJoin(pages, whereJson); - return pages; + IPage schBaseVehiclematerialgroupIPage = vehiclematerialgroupMapper.selectPage(pages, Wrappers.lambdaQuery(SchBaseVehiclematerialgroup.class) + .eq(StrUtil.isNotBlank(whereJson.getVehicle_code()), SchBaseVehiclematerialgroup::getVehicle_code, whereJson.getVehicle_code()) + .eq(StrUtil.isNotBlank(whereJson.getWorkshop_code()), SchBaseVehiclematerialgroup::getWorkshop_code, whereJson.getWorkshop_code()) + .eq(StrUtil.isNotBlank(whereJson.getGroup_bind_material_status()), SchBaseVehiclematerialgroup::getGroup_bind_material_status, whereJson.getGroup_bind_material_status()) + .eq(StrUtil.isNotBlank(whereJson.getRegion_code()), SchBaseVehiclematerialgroup::getRegion_code, whereJson.getRegion_code())); + schBaseVehiclematerialgroupIPage.getRecords().forEach(item -> { + if(StrUtil.isNotBlank(item.getMaterial_id())) + { + MdBaseMaterial mdBaseMaterial = iMdBaseMaterialService.getOne(Wrappers.lambdaQuery(MdBaseMaterial.class) + .eq(MdBaseMaterial::getMaterial_code, item.getMaterial_id())); + if(ObjectUtil.isNotEmpty(mdBaseMaterial)){ + item.setMaterial_name(mdBaseMaterial.getMaterial_name()); + item.setMaterial_spec(mdBaseMaterial.getMaterial_spec()); + item.setMaterial_code(mdBaseMaterial.getMaterial_code()); + } + } + if(StrUtil.isNotBlank(item.getRegion_code())) + { + item.setRegion_name(pointService.list(Wrappers.lambdaQuery(SchBasePoint.class).eq(SchBasePoint::getRegion_code, item.getRegion_code())).get(0).getRegion_name()); + } + }); +// pages = vehiclematerialgroupMapper.selectPageLeftJoin(pages, whereJson); + return schBaseVehiclematerialgroupIPage; } @Override diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/cnt/CNTTask.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/cnt/CNTTask.java index 0bef331..e281b5c 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/cnt/CNTTask.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/cnt/CNTTask.java @@ -132,13 +132,15 @@ public class CNTTask extends AbstractTask { // 起点清空 if (ObjectUtil.isNotEmpty(schBasePoint)) { PointUtils.updateByIngTaskCode(schBasePoint); - pointService.updateById(schBasePoint); + pointService.update(Wrappers.lambdaUpdate(SchBasePoint.class).eq(SchBasePoint::getPoint_code, startPoint) + .set(SchBasePoint::getIs_lock, false).set(SchBasePoint::getVehicle_code, null)); } String point_code2 = taskObj.getPoint_code2(); SchBasePoint schBasePoint2 = pointService.selectByPointCode(point_code2); if (ObjectUtil.isNotEmpty(schBasePoint2)) { PointUtils.updateByIngTaskCode(schBasePoint2); - pointService.updateById(schBasePoint2); + pointService.update(Wrappers.lambdaUpdate(SchBasePoint.class).eq(SchBasePoint::getPoint_code, point_code2) + .set(SchBasePoint::getIs_lock, false).set(SchBasePoint::getVehicle_code, null)); } // 任务完成 taskObj.setTask_status(TaskStatus.FINISHED.getCode()); diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/cnt/FTGTask.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/cnt/FTGTask.java index bd2eb95..b719c1a 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/cnt/FTGTask.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/cnt/FTGTask.java @@ -3,6 +3,7 @@ package org.nl.wms.sch.task_manage.task.tasks.cnt; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.extern.slf4j.Slf4j; import org.nl.common.enums.GoodsEnum; import org.nl.common.enums.region.RegionEnum; @@ -26,6 +27,7 @@ import org.nl.wms.util.PointUtils; import org.nl.wms.util.TaskUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; import java.util.List; @@ -49,6 +51,7 @@ public class FTGTask extends AbstractTask { private ISchBaseVehiclematerialgroupService schBaseVehiclematerialgroupService; @Override + @Transactional(rollbackFor = Exception.class) protected void create() throws BadRequestException { // 获取任务 List tasks = taskService.findTasksByTaskStatus(TASK_CONFIG_CODE, TaskStatus.APPLY); @@ -68,10 +71,10 @@ public class FTGTask extends AbstractTask { continue; } - SchBaseVehiclematerialgroup schBaseVehiclematerialgroup = new SchBaseVehiclematerialgroup(); + /*SchBaseVehiclematerialgroup schBaseVehiclematerialgroup = new SchBaseVehiclematerialgroup(); schBaseVehiclematerialgroup.setVehicle_code(task.getVehicle_code()); schBaseVehiclematerialgroup.setPoint_code(schBasePoint.getPoint_code()); - schBaseVehiclematerialgroupService.create(schBaseVehiclematerialgroup); + schBaseVehiclematerialgroupService.create(schBaseVehiclematerialgroup);*/ // 设置终点并修改创建成功状态 task.setPoint_code1(schBasePoint.getPoint_code()); @@ -124,13 +127,15 @@ public class FTGTask extends AbstractTask { // 起点清空 if (ObjectUtil.isNotEmpty(schBasePoint)) { PointUtils.updateByIngTaskCode(schBasePoint); - pointService.updateById(schBasePoint); + pointService.update(Wrappers.lambdaUpdate(SchBasePoint.class).eq(SchBasePoint::getPoint_code, startPoint) + .set(SchBasePoint::getIs_lock, false).set(SchBasePoint::getVehicle_code, null)); } String point_code2 = taskObj.getPoint_code2(); SchBasePoint schBasePoint2 = pointService.selectByPointCode(point_code2); if (ObjectUtil.isNotEmpty(schBasePoint2)) { PointUtils.updateByIngTaskCode(schBasePoint2); - pointService.updateById(schBasePoint2); + pointService.update(Wrappers.lambdaUpdate(SchBasePoint.class).eq(SchBasePoint::getPoint_code, point_code2) + .set(SchBasePoint::getIs_lock, false).set(SchBasePoint::getVehicle_code, null)); } // 任务完成 taskObj.setTask_status(TaskStatus.FINISHED.getCode()); diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/tbx/TBXMLTask.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/tbx/TBXMLTask.java index b6b2ab6..291ff25 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/tbx/TBXMLTask.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/tbx/TBXMLTask.java @@ -318,7 +318,7 @@ public class TBXMLTask extends AbstractTask { groupEntity.setStanding_time(ObjectUtil.isNotEmpty(orderObject) ? orderObject.getStanding_time() : 0); - groupEntity.setWorkorder_code(ObjectUtil.isNotEmpty(orderObject) + groupEntity.setOrder_code(ObjectUtil.isNotEmpty(orderObject) ? orderObject.getWorkorder_code() : ""); groupEntity.setMaterial_qty(ObjectUtil.isNotEmpty(qty) && qty > 0 diff --git a/lms/nladmin-ui/src/views/wms/sch/group/index.vue b/lms/nladmin-ui/src/views/wms/sch/group/index.vue index 161f25f..9ebcc22 100644 --- a/lms/nladmin-ui/src/views/wms/sch/group/index.vue +++ b/lms/nladmin-ui/src/views/wms/sch/group/index.vue @@ -20,6 +20,7 @@ > @@ -33,6 +34,7 @@ > @@ -58,6 +60,7 @@ > @@ -184,6 +187,7 @@ > @@ -219,41 +223,41 @@ - + - - - + + + + + + + + - - + + - + - +