电子标签亮灯 灭灯逻辑

This commit is contained in:
liuhanqing
2025-07-14 15:35:40 +08:00
parent 745ba9e49d
commit 96299038eb
16 changed files with 1719 additions and 5 deletions

View File

@@ -14,6 +14,8 @@ public class WmsJobRequest {
private String taskNo;
//托盘编码
private String trayCode;
//拣选输送机
private String pickSsj;
//料架编码
private String containerCode;
//起点

View File

@@ -10,11 +10,18 @@ import com.ruoyi.api.service.IToWmsService;
import com.ruoyi.bas.cargoSpace.mapper.BasCargoSpaceMapper;
import com.ruoyi.bas.container.domain.BasContainer;
import com.ruoyi.bas.container.service.IBasContainerService;
import com.ruoyi.bas.tag.domain.BasTag;
import com.ruoyi.bas.tag.service.IBasTagService;
import com.ruoyi.bas.taskNo.service.IBasTaskNoService;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.job.mydojob.domain.MydoJob;
import com.ruoyi.job.mydojob.mapper.MydoJobMapper;
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.tagTask.domain.TagTask;
import com.ruoyi.out.tagTask.service.ITagTaskService;
import org.aspectj.weaver.loadtime.Aj;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
@@ -33,8 +40,17 @@ public class ToWmsServiceImpl implements IToWmsService {
@Autowired
private IMydoJobService mydoJobService;
@Autowired
private IMydoJobDetailService mydoJobDetailService;
@Autowired
private IBasContainerService basContainerService;
@Autowired
private ITagTaskService tagTaskService;
@Autowired
private IBasTaskNoService basTaskNoService;
@Autowired
private IBasTagService iBasTagService;
@Override
public AjaxResult inJob(MydoJob mydoJob) {
@@ -50,6 +66,12 @@ public class ToWmsServiceImpl implements IToWmsService {
MydoJob mydoJobParam = new MydoJob();
switch (wmsJobRequest.getWmsType()){
case "1":
if (StrUtil.isEmpty(wmsJobRequest.getTrayCode())){
return AjaxResult.error("托盘码不能为空");
}
if (StrUtil.isEmpty(wmsJobRequest.getTaskNo())){
return AjaxResult.error("作业号不能为空");
}
//入库
mydoJobParam.setTaskNo(wmsJobRequest.getTaskNo());
mydoJobParam.setTrayCode(wmsJobRequest.getTrayCode());
@@ -61,6 +83,15 @@ public class ToWmsServiceImpl implements IToWmsService {
mydoJobService.manualCompleted(inMydoJob);
break;
case "2":
if (StrUtil.isEmpty(wmsJobRequest.getTrayCode())){
return AjaxResult.error("托盘码不能为空");
}
if (StrUtil.isEmpty(wmsJobRequest.getPickSsj())){
return AjaxResult.error("拣选工位不能为空");
}
if (StrUtil.isEmpty(wmsJobRequest.getTaskNo())){
return AjaxResult.error("作业号不能为空");
}
//出库
mydoJobParam.setTaskNo(wmsJobRequest.getTaskNo());
mydoJobParam.setTrayCode(wmsJobRequest.getTrayCode());
@@ -69,10 +100,42 @@ public class ToWmsServiceImpl implements IToWmsService {
return AjaxResult.error("没有该作业 taskNo: {}", wmsJobRequest.getTaskNo());
}
//mydoJobService.OuthandFinish(outMydoJobs.stream().map(MydoJob::getJobId).toArray(String[]::new));
//todo 同步电子标签
//查询拣选工位绑定的电子标签
BasTag tagParam = new BasTag();
tagParam.setPickAdd(wmsJobRequest.getPickSsj());
List<BasTag> tags = iBasTagService.selectBasTagList(tagParam);
if (tags.isEmpty()){
return AjaxResult.error("没有该拣选工位绑定的电子标签");
}
BasTag basTag = tags.get(0);
basTag.setTrayCode(wmsJobRequest.getTrayCode());
iBasTagService.updateBasTag(basTag);
//同步电子标签
MydoJobDetail param = new MydoJobDetail();
param.setJobId(outMydoJobs.get(0).getJobId());
List<MydoJobDetail> mydoJobDetails = mydoJobDetailService.selectMydoJobDetailList(param);
for (MydoJobDetail mydoJobDetail : mydoJobDetails) {
TagTask tagTask = new TagTask();
tagTask.setTagId(basTag.getId());
tagTask.setJobDetailId(mydoJobDetail.getJobDetailId());
tagTask.setProductId(mydoJobDetail.getProductId());
tagTask.setNum(mydoJobDetail.getOutQuantity());
tagTask.setStatus("0");
tagTask.setColor("0");
tagTask.setFloor("0");
tagTaskService.insertTagTask(tagTask);
}
break;
case "3":
if (StrUtil.isEmpty(wmsJobRequest.getContainerCode())){
return AjaxResult.error("容器码不能为空");
}
if (StrUtil.isEmpty(wmsJobRequest.getPositionCode1())){
return AjaxResult.error("起始点位不能为空");
}
if (StrUtil.isEmpty(wmsJobRequest.getPositionCode2())){
return AjaxResult.error("目标点位不能为空");
}
//agv搬运作业
//绑定料架和点位
BasContainer basContainerParam = new BasContainer();
@@ -90,6 +153,6 @@ public class ToWmsServiceImpl implements IToWmsService {
default:
return AjaxResult.error("作业类型错误");
}
return null;
return AjaxResult.success();
}
}