From 51470c59713232374fcacdb1e36e29388a27ba73 Mon Sep 17 00:00:00 2001 From: zhangzq Date: Thu, 16 Apr 2026 09:26:28 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E6=B5=8B=E8=AF=95=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../voice/controller/VoiceTaskController.java | 20 ++++++--- .../voice/service/VoiceTaskService.java | 24 ++++++----- .../service/util/tasks/StructMoveTask.java | 2 +- .../service/util/tasks/VehicleInTask.java | 2 +- .../service/util/tasks/VehicleOutTask.java | 41 +++++++++++++++---- 5 files changed, 64 insertions(+), 25 deletions(-) diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/gateway/voice/controller/VoiceTaskController.java b/nladmin-system/nlsso-server/src/main/java/org/nl/gateway/voice/controller/VoiceTaskController.java index 3ae3f78..0daed22 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/gateway/voice/controller/VoiceTaskController.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/gateway/voice/controller/VoiceTaskController.java @@ -11,6 +11,7 @@ import org.nl.gateway.voice.service.dto.MoveTaskRequest; import org.nl.gateway.voice.service.dto.OutboundTaskRequest; import org.nl.gateway.voice.service.dto.QueryBoundRequest; 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; @@ -39,29 +40,36 @@ public class VoiceTaskController { System.out.println("接收任务" + JSON.toJSONString(voiceDto)); String commandType = voiceDto.getString("commandType"); + JSONObject commandParam = voiceDto.getJSONObject("commandParam"); + JSONObject result; switch (commandType) { case "taskIssue": - String taskType = voiceDto.getString("taskType"); + final String taskType = commandParam.getString("taskType"); switch (taskType) { case "inbound": - InboundTaskRequest inboundRequest = JSON.toJavaObject(voiceDto, InboundTaskRequest.class); + InboundTaskRequest inboundRequest = JSON.toJavaObject(commandParam, InboundTaskRequest.class); result = voiceTaskService.handleInboundTask(inboundRequest); + break; case "move": - MoveTaskRequest moveRequest = JSON.toJavaObject(voiceDto, MoveTaskRequest.class); + MoveTaskRequest moveRequest = JSON.toJavaObject(commandParam, MoveTaskRequest.class); result = voiceTaskService.handleMoveTask(moveRequest); + break; case "outbound": - OutboundTaskRequest outboundRequest = JSON.toJavaObject(voiceDto, OutboundTaskRequest.class); + OutboundTaskRequest outboundRequest = JSON.toJavaObject(commandParam, OutboundTaskRequest.class); result = voiceTaskService.handleOutboundTask(outboundRequest); + break; default: throw new BadRequestException("未知的指令类型: " + commandType); - } + break; case "InventoryQuery": - QueryBoundRequest queryRequest = JSON.toJavaObject(voiceDto, QueryBoundRequest.class); + QueryBoundRequest queryRequest = JSON.toJavaObject(commandParam, QueryBoundRequest.class); result = voiceTaskService.handleQueryTask(queryRequest); + break; default: throw new BadRequestException("未知的指令类型: " + commandType); } + return new ResponseEntity<>(result, HttpStatus.OK); } } diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/gateway/voice/service/VoiceTaskService.java b/nladmin-system/nlsso-server/src/main/java/org/nl/gateway/voice/service/VoiceTaskService.java index 29d23af..4524bf3 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/gateway/voice/service/VoiceTaskService.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/gateway/voice/service/VoiceTaskService.java @@ -93,7 +93,7 @@ public class VoiceTaskService { GroupPlate groupDao = GroupPlate.builder() .group_id(IdUtil.getStringId()) - .material_id(meMaterialbase.getMaterial_code()) + .material_id(meMaterialbase.getMaterial_id()) .storagevehicle_code(one.getVehicle_code()) .pcsn("111") .qty_unit_id(meMaterialbase.getQty_unit_id()) @@ -134,6 +134,7 @@ public class VoiceTaskService { whereJson.put("point_code1", schBasePoint.getPoint_code()); //确定终点 whereJson.put("point_code2", attrDao.getStruct_code()); + whereJson.put("vehicle_code", one.getVehicle_code()); //创建任务 String taskId = applyTaskMap.get("VehicleInTask").create(whereJson); // 更新起点绑定id @@ -161,6 +162,7 @@ public class VoiceTaskService { whereJson.put("material_code", meMaterialbase.getMaterial_code()); whereJson.put("stor_code", "BGK"); whereJson.put("sect_code", "BG01"); + whereJson.put("siteCode", "CKD01"); StrategyMater mater = new StrategyMater(); mater.setQty(BigDecimal.valueOf(outboundTaskRequest.getQty())); mater.setMaterial_id(meMaterialbase.getMaterial_id()); @@ -181,12 +183,12 @@ public class VoiceTaskService { //创建任务 JSONObject taskForm = new JSONObject(); taskForm.put("task_type", IOSConstant.VEHICLE_OUT_TASK); - taskForm.put("config_code", IOSConstant.VEHICLE_IN_TASK); + taskForm.put("config_code", IOSConstant.VEHICLE_OUT_TASK); taskForm.put("TaskCode", CodeUtil.getNewCode("TASK_CODE")); taskForm.put("PickingLocation", r.getStruct_code()); taskForm.put("PlacedLocation", whereJson.getString("siteCode")); taskForm.put("vehicle_code", r.getStoragevehicle_code()); - applyTaskMap.get(IOSConstant.VEHICLE_OUT_TASK).create(whereJson); + applyTaskMap.get(IOSConstant.VEHICLE_OUT_TASK).create(taskForm); }); //更新组盘记录表 Set vehicleCodeSet = structList.stream() @@ -213,25 +215,27 @@ public class VoiceTaskService { return null; }; public JSONObject handleMoveTask(MoveTaskRequest moveTaskRequest){ - String taskId = applyTaskMap.get("VehicleInTask").create((JSONObject) JSONObject.toJSON(moveTaskRequest)); + String taskId = applyTaskMap.get("StructMoveTask").create((JSONObject) JSONObject.toJSON(moveTaskRequest)); return null; }; public JSONObject handleQueryTask(QueryBoundRequest queryBoundRequest){ List structCode = iStructattrService.collectVechicle(MapOf.of("struct_code", queryBoundRequest.getLocation(), "search", queryBoundRequest.getMaterial())); StringBuffer stringBuffer = new StringBuffer(); - stringBuffer.append("当前仓库库位") - .append(queryBoundRequest.getLocation()).append("有物料"); + stringBuffer.append("当前仓库物料有物料"); for (StructattrVechielDto vechielDtos : structCode) { - stringBuffer.append(vechielDtos.getMaterial_name()).append(vechielDtos.getQty()) - .append(vechielDtos.getQty_unit_name()); + stringBuffer.append(vechielDtos.getMaterial_name()).append("共计") + .append(vechielDtos.getQty()) + .append("个"); } String text = stringBuffer.toString(); try { - voiceService.speechTts(text); +// voiceService.speechTts(text); }catch (Exception ex){ ex.printStackTrace(); } - return null; + JSONObject result = new JSONObject(); + result.put("has",text); + return result ; }; } diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/StructMoveTask.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/StructMoveTask.java index 2454bb5..6ab94d3 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/StructMoveTask.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/StructMoveTask.java @@ -51,7 +51,7 @@ public class StructMoveTask extends AbstractTask { task.setTask_id(IdUtil.getStringId()); task.setTask_code(CodeUtil.getNewCode("TASK_CODE")); task.setTask_status(TaskStatus.CREATE.getCode()); - task.setConfig_code(json.getString("task_type")); + task.setConfig_code(this.getClass().getSimpleName()); task.setPoint_code1(moveTaskRequest.getLocationFrom()); task.setPoint_code2(moveTaskRequest.getLocationTo()); task.setVehicle_code(structattr.getStoragevehicle_code()); diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/VehicleInTask.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/VehicleInTask.java index fe3d4a5..6586cba 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/VehicleInTask.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/VehicleInTask.java @@ -56,7 +56,7 @@ public class VehicleInTask extends AbstractTask { task.setTask_id(IdUtil.getStringId()); task.setTask_code(CodeUtil.getNewCode("TASK_CODE")); task.setTask_status(TaskStatus.CREATE.getCode()); - task.setConfig_code(json.getString("config_code")); + task.setConfig_code(this.getClass().getSimpleName()); task.setPoint_code1(json.getString("point_code1")); task.setPoint_code2(json.getString("point_code2")); task.setVehicle_code(json.getString("vehicle_code")); diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/VehicleOutTask.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/VehicleOutTask.java index 2e56809..c4d40ad 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/VehicleOutTask.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/VehicleOutTask.java @@ -4,12 +4,18 @@ import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import org.nl.common.exception.BadRequestException; +import org.nl.common.utils.CodeUtil; import org.nl.common.utils.SecurityUtils; import org.nl.common.utils.IdUtil;; import org.nl.wms.basedata_manage.enums.BaseDataEnum; +import org.nl.wms.basedata_manage.service.IStructattrService; +import org.nl.wms.basedata_manage.service.dao.Structattr; import org.nl.wms.sch_manage.enums.TaskStatus; +import org.nl.wms.sch_manage.service.ISchBasePointService; import org.nl.wms.sch_manage.service.ISchBaseTaskService; +import org.nl.wms.sch_manage.service.dao.SchBasePoint; import org.nl.wms.sch_manage.service.dao.SchBaseTask; import org.nl.wms.sch_manage.service.util.AbstractTask; import org.nl.wms.sch_manage.service.util.AcsTaskDto; @@ -35,8 +41,17 @@ public class VehicleOutTask extends AbstractTask { @Autowired private ISchBaseTaskService taskService; - @Resource - private IOutBillService outBillService; + /** + * 点位服务 + */ + @Autowired + private ISchBasePointService iSchBasePointService; + + /** + * 仓位服务 + */ + @Autowired + private IStructattrService iStructattrService; @Resource private IOStorInvDisMapper ioStorInvDisMapper; @@ -45,9 +60,9 @@ public class VehicleOutTask extends AbstractTask { public String create(JSONObject json) { SchBaseTask task = new SchBaseTask(); task.setTask_id(IdUtil.getStringId()); - task.setTask_code(json.getString("TaskCode")); + task.setTask_code(CodeUtil.getNewCode("TASK_CODE")); task.setTask_status(TaskStatus.CREATE.getCode()); - task.setConfig_code(json.getString("task_type")); + task.setConfig_code(this.getClass().getSimpleName()); task.setPoint_code1(json.getString("PickingLocation")); task.setPoint_code2(json.getString("PlacedLocation")); task.setVehicle_code(json.getString("vehicle_code")); @@ -131,11 +146,23 @@ public class VehicleOutTask extends AbstractTask { @Transactional(rollbackFor = Exception.class) public void finishTask(SchBaseTask taskObj) { - // 任务完成 - taskObj.setTask_status(TaskStatus.FINISHED.getCode()); + iStructattrService.update( + new UpdateWrapper().lambda() + .eq(Structattr::getStruct_code, taskObj.getPoint_code1()) + .set(Structattr::getStoragevehicle_code, null) + .set(Structattr::getTask_code, null) + .set(Structattr::getLock_type, IOSEnum.LOCK_TYPE.code("未锁定")) + ); + // 更新终点 + iSchBasePointService.update( + new UpdateWrapper().lambda() + .eq(SchBasePoint::getPoint_code, taskObj.getPoint_code2()) + .set(SchBasePoint::getVehicle_code, taskObj.getVehicle_code()) + ); + // 更新任务 taskObj.setRemark("已完成"); + taskObj.setTask_status(TaskStatus.FINISHED.getCode()); taskService.updateById(taskObj); - outBillService.taskFinish(taskObj); } @Transactional(rollbackFor = Exception.class)