|
|
|
package com.glxp.api.controller.inv;
|
|
|
|
|
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
|
import com.github.pagehelper.PageInfo;
|
|
|
|
import com.glxp.api.common.enums.ResultEnum;
|
|
|
|
import com.glxp.api.common.res.BaseResponse;
|
|
|
|
import com.glxp.api.common.util.ResultVOUtils;
|
|
|
|
import com.glxp.api.dao.inv.InvPlaceOrderDetailDao;
|
|
|
|
import com.glxp.api.entity.inv.InvPlaceOrderDetailEntity;
|
|
|
|
import com.glxp.api.req.inv.FilterInvPlaceOrderRequest;
|
|
|
|
import com.glxp.api.req.inv.FilterInvPlaceRequest;
|
|
|
|
import com.glxp.api.res.inout.IoOrderResponse;
|
|
|
|
import com.glxp.api.res.inv.BindInvSpaceRequest;
|
|
|
|
import com.glxp.api.res.inv.InvPlaceDetailResponse;
|
|
|
|
import com.glxp.api.res.inv.InvPlaceOrderDetailResponse;
|
|
|
|
import com.glxp.api.service.inv.InvPlaceOrderService;
|
|
|
|
import com.glxp.api.service.inv.InvPlaceService;
|
|
|
|
import org.apache.commons.collections.ArrayStack;
|
|
|
|
import org.springframework.web.bind.annotation.GetMapping;
|
|
|
|
import org.springframework.web.bind.annotation.PostMapping;
|
|
|
|
import org.springframework.web.bind.annotation.RequestBody;
|
|
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
|
import javax.validation.Valid;
|
|
|
|
import java.lang.reflect.Array;
|
|
|
|
import java.util.ArrayList;
|
|
|
|
import java.util.Arrays;
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 库存摆放接口
|
|
|
|
*/
|
|
|
|
@RestController
|
|
|
|
public class InvPlaceController {
|
|
|
|
|
|
|
|
@Resource
|
|
|
|
private InvPlaceService invPlaceService;
|
|
|
|
@Resource
|
|
|
|
private InvPlaceOrderService invPlaceOrderService;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 查询库存摆放记录
|
|
|
|
*
|
|
|
|
* @return
|
|
|
|
*/
|
|
|
|
@GetMapping("/spms/inv/product/getPlaceDetailList")
|
|
|
|
public BaseResponse getPlaceDetailList(FilterInvPlaceRequest filterInvPlaceRequest) {
|
|
|
|
List<InvPlaceDetailResponse> list = invPlaceService.getPlaceDetailList(filterInvPlaceRequest);
|
|
|
|
PageInfo<InvPlaceDetailResponse> pageInfo = new PageInfo<>(list);
|
|
|
|
return ResultVOUtils.page(pageInfo);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 绑定货位接口
|
|
|
|
*
|
|
|
|
* @param bindInvSpaceRequest
|
|
|
|
* @return
|
|
|
|
*/
|
|
|
|
@PostMapping("/spms/inv/product/bindInvSpace")
|
|
|
|
public BaseResponse bindInvSpace(@RequestBody BindInvSpaceRequest bindInvSpaceRequest) {
|
|
|
|
if (null == bindInvSpaceRequest) {
|
|
|
|
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
|
|
|
|
}
|
|
|
|
return invPlaceService.bindInvSpace(bindInvSpaceRequest);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 绑定货位接口
|
|
|
|
*
|
|
|
|
* @param bindInvSpaceRequest
|
|
|
|
* @return
|
|
|
|
*/
|
|
|
|
@PostMapping("/spms/inv/product/bindInvOrderSpace")
|
|
|
|
public BaseResponse bindInvOrderSpace(@RequestBody BindInvSpaceRequest bindInvSpaceRequest) {
|
|
|
|
if (null == bindInvSpaceRequest) {
|
|
|
|
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
|
|
|
|
}
|
|
|
|
return invPlaceService.bindInvOrderSpace(bindInvSpaceRequest);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 变更货位绑定货位接口
|
|
|
|
*
|
|
|
|
* @param bindInvSpaceRequest
|
|
|
|
* @return
|
|
|
|
*/
|
|
|
|
@PostMapping("/spms/inv/product/bindCheckInvSpace")
|
|
|
|
public BaseResponse bindCheckInvSpace(@RequestBody BindInvSpaceRequest bindInvSpaceRequest) {
|
|
|
|
if (null == bindInvSpaceRequest) {
|
|
|
|
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
|
|
|
|
}
|
|
|
|
return invPlaceService.bindInvSpace(bindInvSpaceRequest);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 下架货位接口
|
|
|
|
*
|
|
|
|
* @param bindInvSpaceRequest
|
|
|
|
* @return
|
|
|
|
*/
|
|
|
|
@PostMapping("/spms/inv/product/unbindInvOrderSpace")
|
|
|
|
public BaseResponse unbindInvOrderSpace(@RequestBody BindInvSpaceRequest bindInvSpaceRequest) {
|
|
|
|
if (null == bindInvSpaceRequest) {
|
|
|
|
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
|
|
|
|
}
|
|
|
|
return invPlaceService.unbindInvOrderSpace(bindInvSpaceRequest);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 更换货位接口
|
|
|
|
*
|
|
|
|
* @param bindInvSpaceRequest
|
|
|
|
* @return
|
|
|
|
*/
|
|
|
|
@PostMapping("/spms/inv/product/changeInvSpace")
|
|
|
|
public BaseResponse changeInvSpace(@RequestBody @Valid BindInvSpaceRequest bindInvSpaceRequest) {
|
|
|
|
if (null == bindInvSpaceRequest) {
|
|
|
|
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
|
|
|
|
}
|
|
|
|
return invPlaceService.bindInvSpace(bindInvSpaceRequest);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 校验库存详情绑定货位信息
|
|
|
|
*
|
|
|
|
* @param bindInvSpaceRequest
|
|
|
|
* @return
|
|
|
|
*/
|
|
|
|
@PostMapping("/spms/inv/product/checkCodeSpace")
|
|
|
|
public BaseResponse checkCodeSpace(@RequestBody BindInvSpaceRequest bindInvSpaceRequest) {
|
|
|
|
if (null == bindInvSpaceRequest || StrUtil.isBlank(bindInvSpaceRequest.getInvCode()) || StrUtil.isBlank(bindInvSpaceRequest.getInvSpaceCode()) || StrUtil.isBlank(bindInvSpaceRequest.getCode())) {
|
|
|
|
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
|
|
|
|
}
|
|
|
|
return invPlaceService.checkCodeSpace(bindInvSpaceRequest);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 按物资
|
|
|
|
*
|
|
|
|
* @param bindInvSpaceRequest
|
|
|
|
* @return
|
|
|
|
*/
|
|
|
|
@GetMapping("/spms/inv/product/getInvProductInfo")
|
|
|
|
private BaseResponse getInvProductInfo(BindInvSpaceRequest bindInvSpaceRequest) {
|
|
|
|
List<InvPlaceDetailResponse> list = new ArrayList<>();
|
|
|
|
//判断有没有库存
|
|
|
|
String msg=invPlaceService.checkCount(bindInvSpaceRequest);
|
|
|
|
if(StrUtil.isEmpty(msg)){
|
|
|
|
//有库存做插入货位号
|
|
|
|
return invPlaceOrderService.bindInvSpaceOne(bindInvSpaceRequest);
|
|
|
|
}else{
|
|
|
|
return ResultVOUtils.error(500, msg);
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 按单号
|
|
|
|
*
|
|
|
|
* @param bindInvSpaceRequest
|
|
|
|
* @return
|
|
|
|
*/
|
|
|
|
@GetMapping("/spms/inv/product/getInvProductOrderInfo")
|
|
|
|
private BaseResponse getInvProductOrderInfo(BindInvSpaceRequest bindInvSpaceRequest) {
|
|
|
|
return invPlaceOrderService.bindInvSpaceAll(bindInvSpaceRequest);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 变更货位
|
|
|
|
*
|
|
|
|
* @param bindInvSpaceRequest
|
|
|
|
* @return
|
|
|
|
*/
|
|
|
|
@GetMapping("/spms/inv/product/getCheckInvProductInfo")
|
|
|
|
private BaseResponse getCheckInvProductInfo(BindInvSpaceRequest bindInvSpaceRequest) {
|
|
|
|
//判断有没有库存
|
|
|
|
String msg=invPlaceService.checkCount(bindInvSpaceRequest);
|
|
|
|
if(StrUtil.isEmpty(msg)){
|
|
|
|
//有库存做插入货位号
|
|
|
|
return invPlaceOrderService.bindInvSpaceOne(bindInvSpaceRequest);
|
|
|
|
}else{
|
|
|
|
return ResultVOUtils.error(500, msg);
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 下架
|
|
|
|
*
|
|
|
|
* @param bindInvSpaceRequest
|
|
|
|
* @return
|
|
|
|
*/
|
|
|
|
@GetMapping("/spms/inv/product/getInvProductOutInfo")
|
|
|
|
private BaseResponse getInvProductOutInfo(BindInvSpaceRequest bindInvSpaceRequest) {
|
|
|
|
List<InvPlaceDetailResponse> list = new ArrayList<>();
|
|
|
|
//判断有没有库存
|
|
|
|
String msg=invPlaceService.checkOutCount(bindInvSpaceRequest);
|
|
|
|
if(StrUtil.isEmpty(msg)){
|
|
|
|
//有库存做插入货位号
|
|
|
|
return invPlaceOrderService.unbindInvSpaceOne(bindInvSpaceRequest);
|
|
|
|
}else{
|
|
|
|
return ResultVOUtils.error(500, msg);
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 从库存详情查询单据列表
|
|
|
|
*
|
|
|
|
* @param filterInvPlaceRequest
|
|
|
|
* @return
|
|
|
|
*/
|
|
|
|
@GetMapping("/spms/inv/product/getInvPlaceOrderList")
|
|
|
|
public BaseResponse getInvPlaceOrderList(FilterInvPlaceRequest filterInvPlaceRequest) {
|
|
|
|
if (null == filterInvPlaceRequest || StrUtil.isBlank(filterInvPlaceRequest.getInvCode())) {
|
|
|
|
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
|
|
|
|
}
|
|
|
|
List<IoOrderResponse> list = invPlaceService.getInvPlaceOrderList(filterInvPlaceRequest);
|
|
|
|
PageInfo<IoOrderResponse> pageInfo = new PageInfo<>(list);
|
|
|
|
return ResultVOUtils.page(pageInfo);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 查询货架详情
|
|
|
|
*
|
|
|
|
* @return
|
|
|
|
*/
|
|
|
|
@GetMapping("/spms/inv/product/getInvPlaceOrderDetailList")
|
|
|
|
public BaseResponse getInvPlaceOrderDetailList(FilterInvPlaceOrderRequest filterInvPlaceOrderRequest) {
|
|
|
|
List<InvPlaceOrderDetailResponse> list = invPlaceOrderService.filterInvPlaceOrderDetailList(filterInvPlaceOrderRequest);
|
|
|
|
PageInfo<InvPlaceOrderDetailResponse> pageInfo = new PageInfo<>(list);
|
|
|
|
return ResultVOUtils.page(pageInfo);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 查询库存摆放记录
|
|
|
|
*
|
|
|
|
* @return
|
|
|
|
*/
|
|
|
|
@GetMapping("/spms/inv/product/selectPlaceList")
|
|
|
|
public BaseResponse selectPlaceList(FilterInvPlaceRequest filterInvPlaceRequest) {
|
|
|
|
List<InvPlaceDetailResponse> invPlaceDetailResponseList=new ArrayStack();
|
|
|
|
if(StrUtil.isNotBlank(filterInvPlaceRequest.getCode())){
|
|
|
|
List<String> list= Arrays.asList(filterInvPlaceRequest.getCode().split("#"));
|
|
|
|
if(list!=null && list.size()>=3){
|
|
|
|
if(list.get(2) !=null && !list.get(2).equals("null")){
|
|
|
|
//用产品查询
|
|
|
|
filterInvPlaceRequest.setCode(list.get(2));
|
|
|
|
invPlaceDetailResponseList= invPlaceOrderService.filterProductList(filterInvPlaceRequest);
|
|
|
|
}else if(list.get(0) !=null && list.get(1)!=null && !list.get(0).equals("null") && !list.get(1).equals("null") ){
|
|
|
|
//用货位查询
|
|
|
|
filterInvPlaceRequest.setInvCode(list.get(0));
|
|
|
|
filterInvPlaceRequest.setInvSpaceCode(list.get(1));
|
|
|
|
filterInvPlaceRequest.setCode(null);
|
|
|
|
invPlaceDetailResponseList= invPlaceOrderService.filterSpaceList(filterInvPlaceRequest);
|
|
|
|
}else{
|
|
|
|
return ResultVOUtils.error(999,"扫码错误!");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
PageInfo<InvPlaceDetailResponse> pageInfo = new PageInfo<>(invPlaceDetailResponseList);
|
|
|
|
return ResultVOUtils.page(pageInfo);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|