You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
147 lines
5.0 KiB
Java
147 lines
5.0 KiB
Java
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.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.util.ArrayList;
|
|
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/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 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);
|
|
}
|
|
|
|
|
|
}
|