package com.zy.asrs.wms.asrs.controller;
|
|
import com.zy.asrs.framework.common.R;
|
import com.zy.asrs.wms.asrs.controller.req.IdReq;
|
import com.zy.asrs.wms.asrs.controller.req.OutReq;
|
import com.zy.asrs.wms.asrs.entity.LocDetl;
|
import com.zy.asrs.wms.asrs.manage.OutManage;
|
import com.zy.asrs.wms.system.controller.BaseController;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RestController;
|
|
import java.util.List;
|
import java.util.Map;
|
|
/**
|
* 这里处理所有的出库流程的接口
|
* 出库逻辑主要在查询匹配的库存信息,
|
* 1. 获取库存,根据条件(灵活配置)查询库存,返回给前端供用户选择(返回时,每条库存记录要携带loc_detl表的主键id,这样立即出库,只要传递loc_detl表id+数量,就可以明确出库出哪些数据了,不需要二次匹配)
|
* 2. 出库(只需要一个接口(即/out/start接口),只要库位详情的id和出库数量以及出库到哪个站点)(以及涉及到移库)
|
*/
|
@RestController
|
@RequestMapping("/api")
|
public class OutController extends BaseController {
|
|
@Autowired
|
private OutManage outManage;
|
|
|
/**
|
* 获取库存
|
*
|
* @param map
|
* @return
|
*/
|
@PostMapping("/out/getStock")
|
public R getStock(@RequestBody Map<String, Object> map) {
|
List<LocDetl> suitableMat = outManage.listSuitableMat(map);
|
return R.ok(suitableMat);
|
}
|
|
/**
|
* 获取库存
|
*
|
* @param order
|
* @return
|
*/
|
@PostMapping("/out/getStockByOrder")
|
public R getStockByOrder(@RequestBody IdReq order) {
|
List<LocDetl> suitableMat = outManage.listSuitableMatByOrder(order.getId());
|
return R.ok(suitableMat);
|
}
|
|
/**
|
* 获取库存
|
*
|
* @param wave
|
* @return
|
*/
|
@PostMapping("/out/getStockByWave")
|
public R getStockByWave(@RequestBody IdReq wave) {
|
List<LocDetl> suitableMat = outManage.listSuitableMatByWave(wave.getId());
|
return R.ok(suitableMat);
|
}
|
|
/**
|
* 出库
|
* 出库只需要一个接口,只要出到哪个站点,库位出多少数量,即OutReq对象
|
*
|
* @param outReq 出库列表
|
* @return
|
*/
|
@PostMapping("/out/start")
|
public R start(@RequestBody OutReq outReq) {
|
outManage.out(outReq);
|
return R.ok();
|
}
|
}
|