取货无货接口 放货有货接口

This commit is contained in:
liuhanqing
2025-09-25 16:40:42 +08:00
parent 4561892929
commit 5ef1851f03
2 changed files with 4 additions and 159 deletions

View File

@@ -21,7 +21,7 @@ public interface IToWmsService {
/**
* 入库、出库 任务完成回传
* Map<String, String>
* "wmsType": "任务类型" 1-入库 2-出库 3-agv搬运,
* "wmsType": "任务类型" 1-入库 2-出库
* taskNo:出库 入库任务号
* trayCode:托盘码
* positionCode1:起点
@@ -38,16 +38,5 @@ public interface IToWmsService {
* 取货无货,重新分配物料
*/
AjaxResult reMaterial(ReMaterialParam reMaterialParam);
/**
* 小车接收开始信号
*/
AjaxResult startSignal(RequestEnter requestEnter);
/**
* ctu取完箱子反馈
* @param map{
* "lljCode"
* }
* @return
*/
AjaxResult takeCompleted(Map<String, Object> map);
}

View File

@@ -24,10 +24,8 @@ import com.ruoyi.bas.roadway.service.IBasRoadwayService;
import com.ruoyi.bas.tag.domain.BasTag;
import com.ruoyi.bas.tag.service.IBasTagService;
import com.ruoyi.bas.taskNo.service.IBasTaskNoService;
import com.ruoyi.bas.warehouse.domain.BasWarehouse;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.MessageUtils;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.device.agv.domain.AgvContainerTask;
import com.ruoyi.device.agv.service.IAgvContainerTaskService;
import com.ruoyi.in.erp.domain.TransferBillCallback;
@@ -41,9 +39,7 @@ import com.ruoyi.job.mydojob.service.IMydoJobService;
import com.ruoyi.job.mydojobdetail.domain.MydoJobDetail;
import com.ruoyi.job.mydojobdetail.service.IMydoJobDetailService;
import com.ruoyi.out.outStockout.service.IOutStockoutService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -279,8 +275,6 @@ public class ToWmsServiceImpl implements IToWmsService {
/**
* todo 根据包装方式 主要包装方式 描述 长 宽 高 包装材积获取大小
*
* @param basProduct
* @return
*/
private int getSize(BasProduct basProduct) {
String remark = basProduct.getRemark();
@@ -368,67 +362,10 @@ public class ToWmsServiceImpl implements IToWmsService {
return AjaxResult.error(MessageUtils.message("warn.message"));
}
MydoJob outJob = outMydoJobs.get(0);
//料箱出库 需同步电子标签
if ("23".equals(outJob.getInOrOut())) {
//查询拣选工位绑定的电子标签
BasTag tagParam = new BasTag();
tagParam.setPickAdd(wmsJobRequest.getPickSsj());
tagParam.setSpare3("1");
List<BasTag> tags = iBasTagService.selectBasTagList(tagParam);
if (tags.isEmpty()) {
return AjaxResult.error(MessageUtils.message("error.message4"));
}
BasTag basTag = tags.get(0);
basTag.setTrayCode(outJob.getTrayCode());
iBasTagService.updateBasTag(basTag);
//同步电子标签
MydoJobDetail param = new MydoJobDetail();
param.setJobId(outMydoJobs.get(0).getJobId());
List<MydoJobDetail> mydoJobDetails = mydoJobDetailService.selectMydoJobDetailList(param);
//开启线程
//new Thread(new TagOutReadThread(basTag.getIp())).start();
}
outJob.setExecutionPhase("2");
mydoJobService.updateMydoJob(outJob);
break;
case "3":
if (StrUtil.isEmpty(wmsJobRequest.getContainerCode())) {
return AjaxResult.error(MessageUtils.message("error.message5"));
}
if (StrUtil.isEmpty(wmsJobRequest.getPositionCode1())) {
return AjaxResult.error(MessageUtils.message("error.message6"));
}
if (StrUtil.isEmpty(wmsJobRequest.getPositionCode2())) {
return AjaxResult.error(MessageUtils.message("error.message7"));
}
//agv搬运作业
//绑定料架和点位
BasContainer basContainerParam = new BasContainer();
basContainerParam.setContainerId(wmsJobRequest.getContainerCode());
//basContainerParam.setPortName(wmsJobRequest.getPositionCode2());
List<BasContainer> basContainers = basContainerService.selectBasContainerList(basContainerParam);
if (basContainers.isEmpty()) {
log.error("没有该料架 {}", wmsJobRequest.getContainerCode());
return AjaxResult.error(MessageUtils.message("error.message11"));
}
//修改绑定点位
BasContainer basContainer = basContainers.get(0);
basContainer.setPortName(wmsJobRequest.getPositionCode2());
basContainerService.updateBasContainer(basContainer);
//删除agv任务
AgvContainerTask agvContainerTaskParam = new AgvContainerTask();
agvContainerTaskParam.setContainer(basContainer.getContainerId());
List<AgvContainerTask> agvContainerTasks = agvContainerTaskService.selectAgvContainerTaskList(agvContainerTaskParam);
if (CollUtil.isNotEmpty(agvContainerTasks)) {
for (AgvContainerTask agvContainerTask : agvContainerTasks) {
agvContainerTask.setStatus("2");
agvContainerTask.setFinishTime(DateUtil.formatDateTime(new Date()));
agvContainerTaskService.updateAgvContainerTask(agvContainerTask);
agvContainerTaskService.insertHistory(agvContainerTask.getId());
agvContainerTaskService.deleteAgvContainerTaskById(agvContainerTask.getId());
}
}
break;
default:
log.error("作业类型错误");
return AjaxResult.error(MessageUtils.message("error.message12"));
@@ -470,86 +407,5 @@ public class ToWmsServiceImpl implements IToWmsService {
return outStockoutService.autoAllot(stockOutId);
}
/**
* 小车接收开始信号
*/
@Override
public AjaxResult startSignal(RequestEnter requestEnter) {
/*switch (requestEnter.getWmsType()) {
case "1":
case "2":
MydoJob mydoJobParam = new MydoJob();
mydoJobParam.setTaskNo(requestEnter.getTaskNo());
List<MydoJob> mydoJobs = mydoJobService.selectMydoJobListApi(mydoJobParam);
if (mydoJobs.isEmpty()) {
return AjaxResult.error();
}
for (MydoJob mydoJob1 : mydoJobs) {
mydoJob1.setStatus("3");
mydoJob1.setStartTime(DateUtil.formatDateTime(DateUtil.date()));
mydoJobService.updateMydoJob(mydoJob1);
}
return AjaxResult.success();
case "3":
AgvContainerTask agvContainerTaskParam = new AgvContainerTask();
agvContainerTaskParam.setTaskNo(requestEnter.getTaskNo());
List<AgvContainerTask> agvContainerTasks = agvContainerTaskService.selectAgvContainerTaskList(agvContainerTaskParam);
if (CollUtil.isEmpty(agvContainerTasks)) {
return AjaxResult.error();
}
for (AgvContainerTask agvContainerTask : agvContainerTasks) {
agvContainerTask.setStatus("2");
agvContainerTask.setStartTime(DateUtil.formatDateTime(DateUtil.date()));
agvContainerTaskService.updateAgvContainerTask(agvContainerTask);
}
return AjaxResult.success();
default:
return AjaxResult.error();
}*/
return AjaxResult.success();
}
/**
* ctu取完箱子反馈
*
* @param map{ "portCode"
* "wmsType"
* }
* @return
*/
@Override
public AjaxResult takeCompleted(Map<String, Object> map) {
String wmsType = Convert.toStr(map.get("wmsType"));
switch (wmsType) {
case "1":
//流利架入库
String lljCode = Convert.toStr(map.get("portCode"));
BasTag basTagParam = new BasTag();
basTagParam.setPickAdd(lljCode);
List<BasTag> basTags = iBasTagService.selectBasTagList(basTagParam);
for (BasTag basTag : basTags) {
basTag.setSpare2("2");
iBasTagService.updateBasTag(basTag);
}
case "2":
break;
case "3":
//小车搬运料架
String startPoint = Convert.toStr(map.get("portCode"));
BasContainer basContainerParam = new BasContainer();
basContainerParam.setPortName(startPoint);
List<BasContainer> basContainers = basContainerService.selectBasContainerList(basContainerParam);
for (BasContainer basContainer : basContainers) {
basContainer.setPortName("");
basContainerService.updateBasContainer(basContainer);
}
break;
default:
throw new RuntimeException("wmsType错误");
}
return AjaxResult.success();
}
}