项目初始化
This commit is contained in:
@@ -0,0 +1,474 @@
|
||||
package com.ruoyi.pda.controller;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.ruoyi.bas.cargoSpace.domain.BasCargoSpace;
|
||||
import com.ruoyi.bas.cargoSpace.service.IBasCargoSpaceService;
|
||||
import com.ruoyi.bas.container.domain.BasContainer;
|
||||
import com.ruoyi.bas.warehouse.domain.BasWarehouse;
|
||||
import com.ruoyi.bas.warehouse.service.IBasWarehouseService;
|
||||
import com.ruoyi.common.annotation.Log;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.common.core.domain.entity.SysDictData;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.common.utils.MessageUtils;
|
||||
import com.ruoyi.in.stockin.domain.InStockin;
|
||||
import com.ruoyi.in.stockin.service.IInStockinService;
|
||||
import com.ruoyi.in.stockindetail.domain.InStockinDetail;
|
||||
import com.ruoyi.in.stockindetail.service.IInStockinDetailService;
|
||||
import com.ruoyi.job.mydojob.domain.MydoJob;
|
||||
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.domain.OutStockout;
|
||||
import com.ruoyi.out.outStockout.service.IOutStockoutService;
|
||||
import com.ruoyi.pda.domain.TrayCodeMakeSure;
|
||||
import com.ruoyi.pda.domain.TrayCodeMsg;
|
||||
import com.ruoyi.pda.service.PdaService;
|
||||
import com.ruoyi.pda.trayMsg.domain.TrayMsg;
|
||||
import com.ruoyi.pda.trayMsg.service.ITrayMsgService;
|
||||
import com.ruoyi.stock.stock.domain.BasStock;
|
||||
import com.ruoyi.stock.stock.service.IBasStockService;
|
||||
import com.ruoyi.system.service.ISysDictTypeService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
@Controller
|
||||
@RequestMapping("/pda")
|
||||
@Slf4j
|
||||
public class PdaController extends BaseController {
|
||||
|
||||
@Autowired
|
||||
private PdaService pdaService;
|
||||
@Autowired
|
||||
private IInStockinDetailService inStockinDetailService;
|
||||
@Autowired
|
||||
private IBasStockService basStockService;
|
||||
@Autowired
|
||||
private IBasWarehouseService basWarehouseService;
|
||||
@Autowired
|
||||
private ITrayMsgService trayMsgService;
|
||||
@Autowired
|
||||
private IBasCargoSpaceService basCargoSpaceService;
|
||||
@Autowired
|
||||
private IMydoJobService mydoJobService;
|
||||
@Autowired
|
||||
private IMydoJobDetailService mydoJobDetailService;
|
||||
@Autowired
|
||||
private IInStockinService inStockinService;
|
||||
@Autowired
|
||||
private IOutStockoutService outStockoutService;
|
||||
@Autowired
|
||||
private ISysDictTypeService dictTypeService;
|
||||
|
||||
/**
|
||||
* 空托盘入库
|
||||
*
|
||||
* @param trayCodeMsg
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping("/emptyTrayIn")
|
||||
@ResponseBody
|
||||
public AjaxResult emptyTrayIn(@RequestBody TrayCodeMsg trayCodeMsg) {
|
||||
BasWarehouse basWarehouse = basWarehouseService.selectBasWarehouseByWarehouseId(trayCodeMsg.getWarehouseId());
|
||||
if (basWarehouse == null) {
|
||||
log.error("仓库不存在");
|
||||
return AjaxResult.error(MessageUtils.message("error.message18"));
|
||||
}
|
||||
if ("1".equals(basWarehouse.getWarehouseType()) && StrUtil.isEmpty(trayCodeMsg.getCargoSpaceId())) {
|
||||
log.error("请选择高架库货位");
|
||||
return AjaxResult.error(MessageUtils.message("error.message19"));
|
||||
}
|
||||
if ("2".equals(basWarehouse.getWarehouseType())) {
|
||||
BasCargoSpace basCargoSpace = new BasCargoSpace();
|
||||
basCargoSpace.setWarehouseId(trayCodeMsg.getWarehouseId());
|
||||
basCargoSpace.setStatus("1");
|
||||
List<BasCargoSpace> basCargoSpaces = basCargoSpaceService.selectBasCargoSpaceList(basCargoSpace);
|
||||
if (basCargoSpaces.isEmpty()) {
|
||||
log.error("此仓库没有空余货位");
|
||||
return AjaxResult.error(MessageUtils.message("error.message20"));
|
||||
} else {
|
||||
trayCodeMsg.setCargoSpaceId(basCargoSpaces.get(0).getCargoSpaceId());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return pdaService.emptyTrayIn(trayCodeMsg);
|
||||
}
|
||||
|
||||
// /**
|
||||
// * 空料箱入库
|
||||
// */
|
||||
// @RequestMapping("/emptyBoxIn")
|
||||
// @ResponseBody
|
||||
// public AjaxResult emptyBoxIn(@RequestBody TrayCodeMsg trayCodeMsg) {
|
||||
// AjaxResult ajaxResult = pdaService.emptyBoxIn(trayCodeMsg);
|
||||
// return ajaxResult;
|
||||
// }
|
||||
|
||||
/**
|
||||
* 空托盘库存查询
|
||||
*
|
||||
* @param warehouseId
|
||||
* @return
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('pda:selectKTPStcok:list')")
|
||||
@RequestMapping("/selectKTPStcok")
|
||||
@ResponseBody
|
||||
public AjaxResult selectKTPStcok(String warehouseId) {
|
||||
BasStock basStock = new BasStock();
|
||||
basStock.setWarehouseId(warehouseId);
|
||||
List<BasStock> basStockList = basStockService.selectKtpStock(basStock);
|
||||
|
||||
if (!basStockList.isEmpty()) {
|
||||
return AjaxResult.success(basStockList);
|
||||
} else {
|
||||
log.error("此区域没有空托盘库存");
|
||||
return AjaxResult.error(MessageUtils.message("error.message25"));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 空托盘出库
|
||||
*
|
||||
* @param
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping("/emptyTrayOut")
|
||||
@ResponseBody
|
||||
@Log(title = "空托盘出库", businessType = BusinessType.INSERT)
|
||||
public AjaxResult emptyTrayOut(@RequestBody TrayCodeMsg trayCodeMsg) {
|
||||
BasWarehouse basWarehouse = basWarehouseService.selectBasWarehouseByWarehouseId(trayCodeMsg.getWarehouseId());
|
||||
if (basWarehouse == null) {
|
||||
log.error("仓库不存在");
|
||||
return AjaxResult.error(MessageUtils.message("error.message18"));
|
||||
}
|
||||
if ("1".equals(basWarehouse.getWarehouseType()) && StrUtil.isEmpty(trayCodeMsg.getCargoSpaceId())) {
|
||||
log.error("请选择高架库货位");
|
||||
return AjaxResult.error(MessageUtils.message("error.message19"));
|
||||
}
|
||||
if ("2".equals(basWarehouse.getWarehouseType()) && StrUtil.isEmpty(trayCodeMsg.getExitId())) {
|
||||
log.error("请选择出口");
|
||||
return AjaxResult.error(MessageUtils.message("error.message22"));
|
||||
}
|
||||
if("2".equals(basWarehouse.getWarehouseType())){
|
||||
BasStock basStock = new BasStock();
|
||||
basStock.setWarehouseId(trayCodeMsg.getWarehouseId());
|
||||
List<BasStock> basStockList = basStockService.selectKtpStock(basStock);
|
||||
if(basStockList.isEmpty()){
|
||||
log.warn("此区域没有空托盘库存或此用户没有该区域权限");
|
||||
return AjaxResult.error(MessageUtils.message("error.message26"));
|
||||
}else{
|
||||
trayCodeMsg.setCargoSpaceId(basStockList.get(0).getCargoSpaceId());
|
||||
}
|
||||
}
|
||||
|
||||
return pdaService.emptyTrayOut(trayCodeMsg);
|
||||
}
|
||||
|
||||
// /**
|
||||
// * 空料箱出库
|
||||
// *
|
||||
// * @param trayCodeMsg
|
||||
// * @return
|
||||
// */
|
||||
// @RequestMapping("/emptyBoxOut")
|
||||
// @ResponseBody
|
||||
// public AjaxResult emptyBoxOut(@RequestBody TrayCodeMsg trayCodeMsg) {
|
||||
// return pdaService.emptyBoxOut(trayCodeMsg);
|
||||
// }
|
||||
/**
|
||||
* 查询平库入库单
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('pda:inoderList:list')")
|
||||
@RequestMapping("/inorder/list")
|
||||
@ResponseBody
|
||||
public List<InStockin> inoderList(@RequestBody InStockin inStockin) {
|
||||
inStockin.setTypeData(Arrays.asList("3"));
|
||||
List<InStockin> inStockins = inStockinService.selectInStockinList(inStockin);
|
||||
return inStockins;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 绑盘查询入库单详情
|
||||
*
|
||||
* @param stockinDetailId
|
||||
* @return
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('pda:inoderList:list')")
|
||||
@RequestMapping("/inorder/detail")
|
||||
@ResponseBody
|
||||
public InStockinDetail inoderList(String stockinDetailId) {
|
||||
InStockinDetail inStockinDetail1 = new InStockinDetail();
|
||||
inStockinDetail1.setStockinDetailId(stockinDetailId);
|
||||
InStockinDetail inStockinDetail = inStockinDetailService.selectStockinByDetailById(inStockinDetail1);
|
||||
return inStockinDetail;
|
||||
}
|
||||
|
||||
/**
|
||||
* 绑定托盘物料
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('pda:bindTrayMsg:submit')")
|
||||
@RequestMapping("/bindTrayMsg")
|
||||
@Log(title = "手持机绑定物料", businessType = BusinessType.INSERT)
|
||||
@ResponseBody
|
||||
public AjaxResult bindTrayMsg(@RequestBody TrayCodeMsg trayCodeMsg) {
|
||||
return pdaService.bindTrayMsg(trayCodeMsg);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询托盘已绑定物料
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('pda:bindMsg:list')")
|
||||
@RequestMapping("/bindMsg")
|
||||
@ResponseBody
|
||||
public AjaxResult bindMsg(String trayCode) {
|
||||
TrayMsg trayMsg = new TrayMsg();
|
||||
trayMsg.setTrayCode(trayCode);
|
||||
List<TrayMsg> trayMsgs = trayMsgService.selectTrayMsgList(trayMsg);
|
||||
return AjaxResult.success(trayMsgs);
|
||||
}
|
||||
|
||||
/**
|
||||
* 确认入库
|
||||
*/
|
||||
@RequestMapping("/addInJob")
|
||||
@Log(title = "手持机确认入库", businessType = BusinessType.INSERT)
|
||||
@ResponseBody
|
||||
public AjaxResult addInJob(@RequestBody TrayCodeMsg trayCodeMsg) {
|
||||
BasWarehouse basWarehouse = basWarehouseService.selectBasWarehouseByWarehouseId(trayCodeMsg.getWarehouseId());
|
||||
if (basWarehouse == null) {
|
||||
log.error("仓库不存在");
|
||||
return AjaxResult.error(MessageUtils.message("error.message18"));
|
||||
}
|
||||
if ("1".equals(basWarehouse.getWarehouseType()) && StrUtil.isEmpty(trayCodeMsg.getCargoSpaceId())) {
|
||||
log.error("请选择高架库货位");
|
||||
return AjaxResult.error(MessageUtils.message("error.message19"));
|
||||
}
|
||||
if ("2".equals(basWarehouse.getWarehouseType())) {
|
||||
BasCargoSpace basCargoSpace = new BasCargoSpace();
|
||||
basCargoSpace.setWarehouseId(trayCodeMsg.getWarehouseId());
|
||||
basCargoSpace.setStatus("1");
|
||||
List<BasCargoSpace> basCargoSpaces = basCargoSpaceService.selectBasCargoSpaceList(basCargoSpace);
|
||||
if (basCargoSpaces.isEmpty()) {
|
||||
log.error("此仓库没有空余货位");
|
||||
return AjaxResult.error(MessageUtils.message("error.message20"));
|
||||
} else {
|
||||
trayCodeMsg.setCargoSpaceId(basCargoSpaces.get(0).getCargoSpaceId());
|
||||
}
|
||||
}
|
||||
|
||||
return pdaService.addInJob(trayCodeMsg);
|
||||
}
|
||||
|
||||
/**
|
||||
* 出库确认
|
||||
*
|
||||
* @param trayCodeMakeSure 托盘信息
|
||||
* @return
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('pda:out:outMakeSure')")
|
||||
@PostMapping("/outMakeSure")
|
||||
@Log(title = "手持机出库确认", businessType = BusinessType.INSERT)
|
||||
@ResponseBody
|
||||
public AjaxResult outMakeSure(@RequestBody TrayCodeMakeSure trayCodeMakeSure) {
|
||||
return pdaService.outMakeSure(trayCodeMakeSure);
|
||||
}
|
||||
|
||||
/**
|
||||
* 出货异常流程
|
||||
* @param trayCodeMakeSure
|
||||
* @return
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('pda:out:exception')")
|
||||
@PostMapping("/outException")
|
||||
@ResponseBody
|
||||
public AjaxResult outException(@RequestBody TrayCodeMakeSure trayCodeMakeSure) {
|
||||
return pdaService.outException(trayCodeMakeSure);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 盘点出库确认
|
||||
* @param trayCodeMakeSure 托盘信息
|
||||
* @return
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('pda:check:checkMakeSure')")
|
||||
@PostMapping("/checkMakeSure")
|
||||
@Log(title = "手持机盘点出库确认", businessType = BusinessType.INSERT)
|
||||
@ResponseBody
|
||||
public AjaxResult checkMakeSure(@RequestBody TrayCodeMakeSure trayCodeMakeSure) {
|
||||
return pdaService.checkMakeSure(trayCodeMakeSure);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询所有待处理任务
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('pda:taskList:list')")
|
||||
@RequestMapping("/taskList")
|
||||
@ResponseBody
|
||||
public AjaxResult taskList(@RequestBody TrayCodeMsg trayCodeMsg) {
|
||||
List<BasWarehouse> basWarehouses = basWarehouseService.selectBasWarehouseList(new BasWarehouse());
|
||||
List<MydoJob> mydoJobArrayList = new ArrayList<>();
|
||||
if(!basWarehouses.isEmpty()){
|
||||
|
||||
for(BasWarehouse basWarehouse : basWarehouses){
|
||||
//高架库
|
||||
if("1".equals(basWarehouse.getWarehouseType())){
|
||||
MydoJob mydoJob = new MydoJob();
|
||||
mydoJob.setWarehouseId(basWarehouse.getWarehouseId());
|
||||
mydoJob.setTrayCode(trayCodeMsg.getTrayCode());
|
||||
mydoJob.setInOut(trayCodeMsg.getInOut());
|
||||
// if("1".equals(trayCodeMsg.getInOut())){
|
||||
mydoJob.setStatus("1");
|
||||
// }
|
||||
List<MydoJob> mydoJobs = mydoJobService.selectMydoJobList(mydoJob);
|
||||
//将mydoJob添加进mydoJobArrayList
|
||||
mydoJobArrayList.addAll(mydoJobs);
|
||||
}
|
||||
//ctu库
|
||||
if("2".equals(basWarehouse.getWarehouseType()) && !"1".equals(trayCodeMsg.getInOut())){
|
||||
MydoJob mydoJob = new MydoJob();
|
||||
if("4".equals(trayCodeMsg.getInOut())){
|
||||
mydoJob.setInOut("4");
|
||||
}else if("2".equals(trayCodeMsg.getInOut())){
|
||||
mydoJob.setInOut("2");
|
||||
}else{
|
||||
List<String> list = new ArrayList<>(Arrays.asList("21", "22", "23","24","25","26"));
|
||||
mydoJob.setInOutIds(list);
|
||||
}
|
||||
mydoJob.setWarehouseId(basWarehouse.getWarehouseId());
|
||||
mydoJob.setTrayCode(trayCodeMsg.getTrayCode());
|
||||
mydoJob.setStatus("3");
|
||||
List<MydoJob> mydoJobs2 = mydoJobService.selectMydoJobList(mydoJob);
|
||||
mydoJobArrayList.addAll(mydoJobs2);
|
||||
}
|
||||
}
|
||||
}
|
||||
return AjaxResult.success(mydoJobArrayList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 用托盘条码查询子作业数据
|
||||
*/
|
||||
@RequestMapping("/selectDetailByTray")
|
||||
@ResponseBody
|
||||
public AjaxResult selectDetailByTray(@RequestBody TrayCodeMsg trayCodeMsg) {
|
||||
MydoJob mydoJob = new MydoJob();
|
||||
mydoJob.setTrayCode(trayCodeMsg.getTrayCode());
|
||||
mydoJob.setStatus(trayCodeMsg.getStatus());
|
||||
mydoJob.setInOut(trayCodeMsg.getInOut());
|
||||
List<MydoJob> mydoJobs = mydoJobService.selectMydoJobList(mydoJob);
|
||||
if(mydoJobs.isEmpty()){
|
||||
log.error("此托盘没有作业");
|
||||
return AjaxResult.error();
|
||||
}
|
||||
MydoJobDetail mydoJobDetail = new MydoJobDetail();
|
||||
mydoJobDetail.setJobId(mydoJobs.get(0).getJobId());
|
||||
List<MydoJobDetail> mydoJobDetails = mydoJobDetailService.selectMydoJobDetailList(mydoJobDetail);
|
||||
|
||||
return AjaxResult.success(mydoJobDetails);
|
||||
}
|
||||
/**
|
||||
* 平库入库
|
||||
*/
|
||||
@RequestMapping("/pkIn")
|
||||
@ResponseBody
|
||||
public AjaxResult pkIn(@RequestBody TrayCodeMsg trayCodeMsg) {
|
||||
return pdaService.pkIn(trayCodeMsg);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询平库出库单
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('pda:outoderList:list')")
|
||||
@RequestMapping("/outorder/list")
|
||||
@ResponseBody
|
||||
public List<OutStockout> outoderList(@RequestBody OutStockout outStockout) {
|
||||
outStockout.setTypeData(Arrays.asList("3"));
|
||||
List<OutStockout> outStockouts = outStockoutService.selectOutStockoutList(outStockout);
|
||||
return outStockouts;
|
||||
}
|
||||
|
||||
/**
|
||||
* 平库出库
|
||||
*/
|
||||
@RequestMapping("/pkout")
|
||||
@ResponseBody
|
||||
public AjaxResult pkout(@RequestBody TrayCodeMsg trayCodeMsg) {
|
||||
return pdaService.pkout(trayCodeMsg);
|
||||
}
|
||||
/**
|
||||
* 调用wcs接口调用agv
|
||||
*/
|
||||
@RequestMapping("/agvRequest")
|
||||
@ResponseBody
|
||||
public AjaxResult agvRequest(@RequestBody BasContainer basContainer) {
|
||||
if(basContainer.getDetails().isEmpty()){
|
||||
log.error("该料架无物料信息");
|
||||
return AjaxResult.error();
|
||||
}
|
||||
return pdaService.agvRequest(basContainer);
|
||||
}
|
||||
|
||||
/**
|
||||
* 手持机获取货位分析数据
|
||||
*/
|
||||
@RequestMapping("/cargoSpaceAnalysis")
|
||||
@ResponseBody
|
||||
public AjaxResult cargoSpaceAnalysis(@RequestParam("warehouseId") String warehouseId){
|
||||
return success(pdaService.cargoSpaceAnalysis(warehouseId));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 绑定料架
|
||||
* @param trayCodeMakeSure
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/bindContainer")
|
||||
@ResponseBody
|
||||
public AjaxResult bindContainer(@RequestBody TrayCodeMakeSure trayCodeMakeSure) {
|
||||
return pdaService.bindContainer(trayCodeMakeSure);
|
||||
}
|
||||
/**
|
||||
* 手持机获取入出库作业数量
|
||||
*/
|
||||
@RequestMapping("/getAisleStatisticsData")
|
||||
@ResponseBody
|
||||
public AjaxResult getAisleStatisticsData(@RequestParam("warehouseId") String warehouseId){
|
||||
return success(pdaService.getAisleStatisticsData(warehouseId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 绑定料架
|
||||
*/
|
||||
@RequestMapping("/bindShelf")
|
||||
@ResponseBody
|
||||
public AjaxResult bindShelf(@RequestBody TrayCodeMakeSure trayCodeMakeSure) {
|
||||
return pdaService.bindShelf(trayCodeMakeSure);
|
||||
}
|
||||
|
||||
@RequestMapping("/selectDictData")
|
||||
@ResponseBody
|
||||
public List<SysDictData> selectDictData(@RequestParam("dictType") String dictType) {
|
||||
List<SysDictData> list = dictTypeService.selectDictDataByType(dictType);
|
||||
return list;
|
||||
}
|
||||
|
||||
@RequestMapping("/movePoint")
|
||||
@ResponseBody
|
||||
public AjaxResult movePoint(String startPoint, String endPoint) {
|
||||
return pdaService.movePoint(startPoint,endPoint);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user