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.
udi-wms-java/src/main/java/com/glxp/api/controller/inv/InvPlaceController.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);
}
}