fix:测试接口优化

This commit is contained in:
zhangzq
2026-04-16 09:26:28 +08:00
parent 9c8358c8ff
commit 51470c5971
5 changed files with 64 additions and 25 deletions

View File

@@ -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);
}
}

View File

@@ -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<String> 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<StructattrVechielDto> 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 ;
};
}

View File

@@ -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());

View File

@@ -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"));

View File

@@ -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<Structattr>().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<SchBasePoint>().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)