fix:测试接口优化
This commit is contained in:
@@ -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.OutboundTaskRequest;
|
||||||
import org.nl.gateway.voice.service.dto.QueryBoundRequest;
|
import org.nl.gateway.voice.service.dto.QueryBoundRequest;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.http.HttpStatus;
|
||||||
import org.springframework.http.ResponseEntity;
|
import org.springframework.http.ResponseEntity;
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
@@ -39,29 +40,36 @@ public class VoiceTaskController {
|
|||||||
System.out.println("接收任务" + JSON.toJSONString(voiceDto));
|
System.out.println("接收任务" + JSON.toJSONString(voiceDto));
|
||||||
|
|
||||||
String commandType = voiceDto.getString("commandType");
|
String commandType = voiceDto.getString("commandType");
|
||||||
|
JSONObject commandParam = voiceDto.getJSONObject("commandParam");
|
||||||
|
|
||||||
JSONObject result;
|
JSONObject result;
|
||||||
switch (commandType) {
|
switch (commandType) {
|
||||||
case "taskIssue":
|
case "taskIssue":
|
||||||
String taskType = voiceDto.getString("taskType");
|
final String taskType = commandParam.getString("taskType");
|
||||||
switch (taskType) {
|
switch (taskType) {
|
||||||
case "inbound":
|
case "inbound":
|
||||||
InboundTaskRequest inboundRequest = JSON.toJavaObject(voiceDto, InboundTaskRequest.class);
|
InboundTaskRequest inboundRequest = JSON.toJavaObject(commandParam, InboundTaskRequest.class);
|
||||||
result = voiceTaskService.handleInboundTask(inboundRequest);
|
result = voiceTaskService.handleInboundTask(inboundRequest);
|
||||||
|
break;
|
||||||
case "move":
|
case "move":
|
||||||
MoveTaskRequest moveRequest = JSON.toJavaObject(voiceDto, MoveTaskRequest.class);
|
MoveTaskRequest moveRequest = JSON.toJavaObject(commandParam, MoveTaskRequest.class);
|
||||||
result = voiceTaskService.handleMoveTask(moveRequest);
|
result = voiceTaskService.handleMoveTask(moveRequest);
|
||||||
|
break;
|
||||||
case "outbound":
|
case "outbound":
|
||||||
OutboundTaskRequest outboundRequest = JSON.toJavaObject(voiceDto, OutboundTaskRequest.class);
|
OutboundTaskRequest outboundRequest = JSON.toJavaObject(commandParam, OutboundTaskRequest.class);
|
||||||
result = voiceTaskService.handleOutboundTask(outboundRequest);
|
result = voiceTaskService.handleOutboundTask(outboundRequest);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
throw new BadRequestException("未知的指令类型: " + commandType);
|
throw new BadRequestException("未知的指令类型: " + commandType);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
case "InventoryQuery":
|
case "InventoryQuery":
|
||||||
QueryBoundRequest queryRequest = JSON.toJavaObject(voiceDto, QueryBoundRequest.class);
|
QueryBoundRequest queryRequest = JSON.toJavaObject(commandParam, QueryBoundRequest.class);
|
||||||
result = voiceTaskService.handleQueryTask(queryRequest);
|
result = voiceTaskService.handleQueryTask(queryRequest);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
throw new BadRequestException("未知的指令类型: " + commandType);
|
throw new BadRequestException("未知的指令类型: " + commandType);
|
||||||
}
|
}
|
||||||
|
return new ResponseEntity<>(result, HttpStatus.OK);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -93,7 +93,7 @@ public class VoiceTaskService {
|
|||||||
|
|
||||||
GroupPlate groupDao = GroupPlate.builder()
|
GroupPlate groupDao = GroupPlate.builder()
|
||||||
.group_id(IdUtil.getStringId())
|
.group_id(IdUtil.getStringId())
|
||||||
.material_id(meMaterialbase.getMaterial_code())
|
.material_id(meMaterialbase.getMaterial_id())
|
||||||
.storagevehicle_code(one.getVehicle_code())
|
.storagevehicle_code(one.getVehicle_code())
|
||||||
.pcsn("111")
|
.pcsn("111")
|
||||||
.qty_unit_id(meMaterialbase.getQty_unit_id())
|
.qty_unit_id(meMaterialbase.getQty_unit_id())
|
||||||
@@ -134,6 +134,7 @@ public class VoiceTaskService {
|
|||||||
whereJson.put("point_code1", schBasePoint.getPoint_code());
|
whereJson.put("point_code1", schBasePoint.getPoint_code());
|
||||||
//确定终点
|
//确定终点
|
||||||
whereJson.put("point_code2", attrDao.getStruct_code());
|
whereJson.put("point_code2", attrDao.getStruct_code());
|
||||||
|
whereJson.put("vehicle_code", one.getVehicle_code());
|
||||||
//创建任务
|
//创建任务
|
||||||
String taskId = applyTaskMap.get("VehicleInTask").create(whereJson);
|
String taskId = applyTaskMap.get("VehicleInTask").create(whereJson);
|
||||||
// 更新起点绑定id
|
// 更新起点绑定id
|
||||||
@@ -161,6 +162,7 @@ public class VoiceTaskService {
|
|||||||
whereJson.put("material_code", meMaterialbase.getMaterial_code());
|
whereJson.put("material_code", meMaterialbase.getMaterial_code());
|
||||||
whereJson.put("stor_code", "BGK");
|
whereJson.put("stor_code", "BGK");
|
||||||
whereJson.put("sect_code", "BG01");
|
whereJson.put("sect_code", "BG01");
|
||||||
|
whereJson.put("siteCode", "CKD01");
|
||||||
StrategyMater mater = new StrategyMater();
|
StrategyMater mater = new StrategyMater();
|
||||||
mater.setQty(BigDecimal.valueOf(outboundTaskRequest.getQty()));
|
mater.setQty(BigDecimal.valueOf(outboundTaskRequest.getQty()));
|
||||||
mater.setMaterial_id(meMaterialbase.getMaterial_id());
|
mater.setMaterial_id(meMaterialbase.getMaterial_id());
|
||||||
@@ -181,12 +183,12 @@ public class VoiceTaskService {
|
|||||||
//创建任务
|
//创建任务
|
||||||
JSONObject taskForm = new JSONObject();
|
JSONObject taskForm = new JSONObject();
|
||||||
taskForm.put("task_type", IOSConstant.VEHICLE_OUT_TASK);
|
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("TaskCode", CodeUtil.getNewCode("TASK_CODE"));
|
||||||
taskForm.put("PickingLocation", r.getStruct_code());
|
taskForm.put("PickingLocation", r.getStruct_code());
|
||||||
taskForm.put("PlacedLocation", whereJson.getString("siteCode"));
|
taskForm.put("PlacedLocation", whereJson.getString("siteCode"));
|
||||||
taskForm.put("vehicle_code", r.getStoragevehicle_code());
|
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()
|
Set<String> vehicleCodeSet = structList.stream()
|
||||||
@@ -213,25 +215,27 @@ public class VoiceTaskService {
|
|||||||
return null;
|
return null;
|
||||||
};
|
};
|
||||||
public JSONObject handleMoveTask(MoveTaskRequest moveTaskRequest){
|
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;
|
return null;
|
||||||
};
|
};
|
||||||
|
|
||||||
public JSONObject handleQueryTask(QueryBoundRequest queryBoundRequest){
|
public JSONObject handleQueryTask(QueryBoundRequest queryBoundRequest){
|
||||||
List<StructattrVechielDto> structCode = iStructattrService.collectVechicle(MapOf.of("struct_code", queryBoundRequest.getLocation(), "search", queryBoundRequest.getMaterial()));
|
List<StructattrVechielDto> structCode = iStructattrService.collectVechicle(MapOf.of("struct_code", queryBoundRequest.getLocation(), "search", queryBoundRequest.getMaterial()));
|
||||||
StringBuffer stringBuffer = new StringBuffer();
|
StringBuffer stringBuffer = new StringBuffer();
|
||||||
stringBuffer.append("当前仓库库位")
|
stringBuffer.append("当前仓库物料有物料");
|
||||||
.append(queryBoundRequest.getLocation()).append("有物料");
|
|
||||||
for (StructattrVechielDto vechielDtos : structCode) {
|
for (StructattrVechielDto vechielDtos : structCode) {
|
||||||
stringBuffer.append(vechielDtos.getMaterial_name()).append(vechielDtos.getQty())
|
stringBuffer.append(vechielDtos.getMaterial_name()).append("共计")
|
||||||
.append(vechielDtos.getQty_unit_name());
|
.append(vechielDtos.getQty())
|
||||||
|
.append("个");
|
||||||
}
|
}
|
||||||
String text = stringBuffer.toString();
|
String text = stringBuffer.toString();
|
||||||
try {
|
try {
|
||||||
voiceService.speechTts(text);
|
// voiceService.speechTts(text);
|
||||||
}catch (Exception ex){
|
}catch (Exception ex){
|
||||||
ex.printStackTrace();
|
ex.printStackTrace();
|
||||||
}
|
}
|
||||||
return null;
|
JSONObject result = new JSONObject();
|
||||||
|
result.put("has",text);
|
||||||
|
return result ;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ public class StructMoveTask extends AbstractTask {
|
|||||||
task.setTask_id(IdUtil.getStringId());
|
task.setTask_id(IdUtil.getStringId());
|
||||||
task.setTask_code(CodeUtil.getNewCode("TASK_CODE"));
|
task.setTask_code(CodeUtil.getNewCode("TASK_CODE"));
|
||||||
task.setTask_status(TaskStatus.CREATE.getCode());
|
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_code1(moveTaskRequest.getLocationFrom());
|
||||||
task.setPoint_code2(moveTaskRequest.getLocationTo());
|
task.setPoint_code2(moveTaskRequest.getLocationTo());
|
||||||
task.setVehicle_code(structattr.getStoragevehicle_code());
|
task.setVehicle_code(structattr.getStoragevehicle_code());
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ public class VehicleInTask extends AbstractTask {
|
|||||||
task.setTask_id(IdUtil.getStringId());
|
task.setTask_id(IdUtil.getStringId());
|
||||||
task.setTask_code(CodeUtil.getNewCode("TASK_CODE"));
|
task.setTask_code(CodeUtil.getNewCode("TASK_CODE"));
|
||||||
task.setTask_status(TaskStatus.CREATE.getCode());
|
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_code1(json.getString("point_code1"));
|
||||||
task.setPoint_code2(json.getString("point_code2"));
|
task.setPoint_code2(json.getString("point_code2"));
|
||||||
task.setVehicle_code(json.getString("vehicle_code"));
|
task.setVehicle_code(json.getString("vehicle_code"));
|
||||||
|
|||||||
@@ -4,12 +4,18 @@ import cn.hutool.core.date.DateUtil;
|
|||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
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.exception.BadRequestException;
|
||||||
|
import org.nl.common.utils.CodeUtil;
|
||||||
import org.nl.common.utils.SecurityUtils;
|
import org.nl.common.utils.SecurityUtils;
|
||||||
import org.nl.common.utils.IdUtil;;
|
import org.nl.common.utils.IdUtil;;
|
||||||
import org.nl.wms.basedata_manage.enums.BaseDataEnum;
|
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.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.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.dao.SchBaseTask;
|
||||||
import org.nl.wms.sch_manage.service.util.AbstractTask;
|
import org.nl.wms.sch_manage.service.util.AbstractTask;
|
||||||
import org.nl.wms.sch_manage.service.util.AcsTaskDto;
|
import org.nl.wms.sch_manage.service.util.AcsTaskDto;
|
||||||
@@ -35,8 +41,17 @@ public class VehicleOutTask extends AbstractTask {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private ISchBaseTaskService taskService;
|
private ISchBaseTaskService taskService;
|
||||||
|
|
||||||
@Resource
|
/**
|
||||||
private IOutBillService outBillService;
|
* 点位服务
|
||||||
|
*/
|
||||||
|
@Autowired
|
||||||
|
private ISchBasePointService iSchBasePointService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 仓位服务
|
||||||
|
*/
|
||||||
|
@Autowired
|
||||||
|
private IStructattrService iStructattrService;
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private IOStorInvDisMapper ioStorInvDisMapper;
|
private IOStorInvDisMapper ioStorInvDisMapper;
|
||||||
@@ -45,9 +60,9 @@ public class VehicleOutTask extends AbstractTask {
|
|||||||
public String create(JSONObject json) {
|
public String create(JSONObject json) {
|
||||||
SchBaseTask task = new SchBaseTask();
|
SchBaseTask task = new SchBaseTask();
|
||||||
task.setTask_id(IdUtil.getStringId());
|
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.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_code1(json.getString("PickingLocation"));
|
||||||
task.setPoint_code2(json.getString("PlacedLocation"));
|
task.setPoint_code2(json.getString("PlacedLocation"));
|
||||||
task.setVehicle_code(json.getString("vehicle_code"));
|
task.setVehicle_code(json.getString("vehicle_code"));
|
||||||
@@ -131,11 +146,23 @@ public class VehicleOutTask extends AbstractTask {
|
|||||||
|
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void finishTask(SchBaseTask taskObj) {
|
public void finishTask(SchBaseTask taskObj) {
|
||||||
// 任务完成
|
iStructattrService.update(
|
||||||
taskObj.setTask_status(TaskStatus.FINISHED.getCode());
|
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.setRemark("已完成");
|
||||||
|
taskObj.setTask_status(TaskStatus.FINISHED.getCode());
|
||||||
taskService.updateById(taskObj);
|
taskService.updateById(taskObj);
|
||||||
outBillService.taskFinish(taskObj);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
|||||||
Reference in New Issue
Block a user