接口记录表 wcs对外接口 绑定料架接口
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
package com.ruoyi.api.controller;
|
||||
|
||||
import com.ruoyi.api.domain.WmsJobRequest;
|
||||
import com.ruoyi.api.service.IToWmsService;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.job.mydojob.domain.MydoJob;
|
||||
import com.ruoyi.job.mydojob.service.IMydoJobService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
/**
|
||||
* 作业统计 Controller
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/api2wms")
|
||||
public class ToWmsApiController {
|
||||
|
||||
@Autowired
|
||||
private IToWmsService toWmsService;
|
||||
|
||||
/**
|
||||
* 入库任务请求
|
||||
*/
|
||||
@PostMapping("/inJob")
|
||||
public AjaxResult inJob(@RequestBody MydoJob mydoJob) {
|
||||
return toWmsService.inJob(mydoJob);
|
||||
}
|
||||
|
||||
/**
|
||||
* 入库、出库 任务完成回传
|
||||
* Map<String, String>
|
||||
* "wmsType": "任务类型" 1-入库 2-出库 3-agv搬运,
|
||||
* taskNo:出库 入库任务号
|
||||
* trayCode:托盘码
|
||||
* positionCode1:起点
|
||||
* positionCode2:终点
|
||||
* containerCode:容器编码
|
||||
*
|
||||
*/
|
||||
@PostMapping("/jobFinish")
|
||||
public AjaxResult jobFinish(@RequestBody WmsJobRequest wmsJobRequest) {
|
||||
return toWmsService.jobFinish(wmsJobRequest);
|
||||
}
|
||||
|
||||
/**
|
||||
* 放货有货,重新分配货位
|
||||
*/
|
||||
@GetMapping("/reAssign")
|
||||
public AjaxResult reAssign(MydoJob mydoJob) {
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 取货无货,重新分配物料
|
||||
*/
|
||||
@GetMapping("/reMaterial")
|
||||
public AjaxResult reMaterial(MydoJob mydoJob) {
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package com.ruoyi.api.domain;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class WmsJobRequest {
|
||||
//wms任务类型 1 入库 2-出库 3-agv任务
|
||||
private String wmsType;
|
||||
//wms任务号
|
||||
private String taskNo;
|
||||
//托盘编码
|
||||
private String trayCode;
|
||||
//料架编码
|
||||
private String containerCode;
|
||||
//起点
|
||||
private String positionCode1;
|
||||
//终点
|
||||
private String positionCode2;
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.ruoyi.api.service;
|
||||
|
||||
import com.ruoyi.api.domain.WmsJobRequest;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.job.mydojob.domain.MydoJob;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 作业统计 Service 接口
|
||||
*/
|
||||
public interface IToWmsService {
|
||||
|
||||
AjaxResult inJob(MydoJob mydoJob);
|
||||
|
||||
AjaxResult jobFinish(WmsJobRequest wmsJobRequest);
|
||||
}
|
||||
@@ -0,0 +1,95 @@
|
||||
package com.ruoyi.api.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.ListUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.http.HttpUtil;
|
||||
import com.ruoyi.api.domain.WmsJobRequest;
|
||||
import com.ruoyi.api.mapper.JobStatisticsMapper;
|
||||
import com.ruoyi.api.service.IJobStatisticsService;
|
||||
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.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 org.aspectj.weaver.loadtime.Aj;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 作业统计 Service 实现
|
||||
*/
|
||||
@Service
|
||||
public class ToWmsServiceImpl implements IToWmsService {
|
||||
@Autowired
|
||||
private IMydoJobService mydoJobService;
|
||||
@Autowired
|
||||
private IBasContainerService basContainerService;
|
||||
|
||||
|
||||
@Override
|
||||
public AjaxResult inJob(MydoJob mydoJob) {
|
||||
List<MydoJob> mydoJobs = mydoJobService.selectMydoJobList(mydoJob);
|
||||
if(mydoJobs.isEmpty()){
|
||||
return AjaxResult.error("此托盘没有作业");
|
||||
}
|
||||
return AjaxResult.success(mydoJobs.get(0));
|
||||
}
|
||||
|
||||
@Override
|
||||
public AjaxResult jobFinish(WmsJobRequest wmsJobRequest) {
|
||||
MydoJob mydoJobParam = new MydoJob();
|
||||
switch (wmsJobRequest.getWmsType()){
|
||||
case "1":
|
||||
//入库
|
||||
mydoJobParam.setTaskNo(wmsJobRequest.getTaskNo());
|
||||
mydoJobParam.setTrayCode(wmsJobRequest.getTrayCode());
|
||||
List<MydoJob> inMydoJobs = mydoJobService.selectMydoJobList(mydoJobParam);
|
||||
if (inMydoJobs.isEmpty()){
|
||||
return AjaxResult.error("没有该作业 taskNo: {}", wmsJobRequest.getTaskNo());
|
||||
}
|
||||
MydoJob inMydoJob = inMydoJobs.get(0);
|
||||
mydoJobService.manualCompleted(inMydoJob);
|
||||
break;
|
||||
case "2":
|
||||
//出库
|
||||
mydoJobParam.setTaskNo(wmsJobRequest.getTaskNo());
|
||||
mydoJobParam.setTrayCode(wmsJobRequest.getTrayCode());
|
||||
List<MydoJob> outMydoJobs = mydoJobService.selectMydoJobList(mydoJobParam);
|
||||
if (outMydoJobs.isEmpty()){
|
||||
return AjaxResult.error("没有该作业 taskNo: {}", wmsJobRequest.getTaskNo());
|
||||
}
|
||||
//mydoJobService.OuthandFinish(outMydoJobs.stream().map(MydoJob::getJobId).toArray(String[]::new));
|
||||
//todo 同步电子标签
|
||||
|
||||
break;
|
||||
case "3":
|
||||
//agv搬运作业
|
||||
//绑定料架和点位
|
||||
BasContainer basContainerParam = new BasContainer();
|
||||
basContainerParam.setContainerId(wmsJobRequest.getContainerCode());
|
||||
basContainerParam.setPortName(wmsJobRequest.getPositionCode1());
|
||||
List<BasContainer> basContainers = basContainerService.selectBasContainerList(basContainerParam);
|
||||
if (basContainers.isEmpty()){
|
||||
return AjaxResult.error("没有该料架 {}", wmsJobRequest.getContainerCode());
|
||||
}
|
||||
//修改绑定点位
|
||||
BasContainer basContainer = basContainers.get(0);
|
||||
basContainer.setPortName(wmsJobRequest.getPositionCode2());
|
||||
basContainerService.updateBasContainer(basContainer);
|
||||
break;
|
||||
default:
|
||||
return AjaxResult.error("作业类型错误");
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user