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 list = invPlaceService.getPlaceDetailList(filterInvPlaceRequest); PageInfo 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 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 list = invPlaceService.getInvPlaceOrderList(filterInvPlaceRequest); PageInfo pageInfo = new PageInfo<>(list); return ResultVOUtils.page(pageInfo); } /** * 查询货架详情 * * @return */ @GetMapping("/spms/inv/product/getInvPlaceOrderDetailList") public BaseResponse getInvPlaceOrderDetailList(FilterInvPlaceOrderRequest filterInvPlaceOrderRequest) { List list = invPlaceOrderService.filterInvPlaceOrderDetailList(filterInvPlaceOrderRequest); PageInfo pageInfo = new PageInfo<>(list); return ResultVOUtils.page(pageInfo); } }