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 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/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 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 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 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); } /** * 查询库存摆放记录 * * @return */ @GetMapping("/spms/inv/product/selectPlaceList") public BaseResponse selectPlaceList(FilterInvPlaceRequest filterInvPlaceRequest) { List invPlaceDetailResponseList=new ArrayStack(); if(StrUtil.isNotBlank(filterInvPlaceRequest.getCode())){ List 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 pageInfo = new PageInfo<>(invPlaceDetailResponseList); return ResultVOUtils.page(pageInfo); } }