123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- package com.ruoyi.ams.xuankuang.service;
- import cn.hutool.core.collection.CollectionUtil;
- import cn.hutool.core.util.ObjectUtil;
- import com.ruoyi.ams.inv.domain.vo.InvLotLocIdLotattVO;
- import com.ruoyi.ams.inv.service.IInvLotLocIdService;
- import com.ruoyi.base.constant.Constant;
- import com.ruoyi.base.domain.BaseLocationInfo;
- import com.ruoyi.base.domain.vo.BaseLocationLotattDTO;
- import com.ruoyi.base.domain.vo.LotattVO;
- import com.ruoyi.base.service.IBaseLocationInfoService;
- import com.ruoyi.common.constant.Constants;
- import com.ruoyi.common.utils.ConvertUtils;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import java.util.List;
- import java.util.stream.Collectors;
- /**
- * @author HuKang
- * @version 1.0
- * @date 2023/3/30 15:42
- */
- @Slf4j
- @Service("bucketWcsToWmsApiService")
- public class BucketWcsToWmsApiService extends WcsToWmsApiService {
- @Autowired
- private IBaseLocationInfoService baseLocationInfoService;
- @Autowired
- private WcsToWmsApiService wcsToWmsApiService;
- @Autowired
- private IInvLotLocIdService invLotLocIdService;
- /**
- * 入库分配库位
- * @return
- * TODO 李卫
- */
- @Override
- protected BaseLocationInfo selectLocationInfo(){
- //4,5,6
- List<BaseLocationInfo> locationInfoList =
- baseLocationInfoService.selectLocationInfoList(Constants.EMPTY_PALLET_INV, Constant.PALLET_TYPE,
- Boolean.TRUE, Constant.STOCK_STATUS.STOCK00.getValue());
- //获得库存表的排序 orderby
- //1,2,3,4,5,6
- List<Long> bucketLocationIdList = wcsToWmsApiService.getBucketLocationIdList(Constants.EMPTY_PALLET_INV_SORT);
- List<BaseLocationInfo> finalLocationInfoList = bucketLocationIdList.stream().map(id ->
- locationInfoList.stream().filter(info -> id.equals(info.getId())).findFirst().orElseGet(() -> null)
- ).filter(ObjectUtil::isNotNull).collect(Collectors.toList());
- //4
- return CollectionUtil.getFirst(finalLocationInfoList);
- }
- /**
- * 出库分配库存
- * @return
- * TODO 李卫
- */
- protected BaseLocationLotattDTO allocateLocationInfo(){
- //1,2,3
- List<BaseLocationInfo> locationInfoList =
- baseLocationInfoService.selectLocationInfoList(Constants.EMPTY_PALLET_INV, Constant.PALLET_TYPE,
- Boolean.FALSE, Constant.STOCK_STATUS.STOCK00.getValue());
- //获得库存表的排序 orderby
- //1,2,3,4,5,6
- List<Long> bucketLocationIdList = wcsToWmsApiService.getBucketLocationIdList(Constants.EMPTY_PALLET_INV_SORT);
- List<BaseLocationInfo> finalLocationInfoList = bucketLocationIdList.stream().map(id ->
- locationInfoList.stream().filter(info -> id.equals(info.getId())).findFirst().orElseGet(() -> null)
- ).filter(ObjectUtil::isNotNull).collect(Collectors.toList());
- //3
- BaseLocationInfo baseLocationInfo = CollectionUtil.getLast(finalLocationInfoList);
- List<InvLotLocIdLotattVO> invLotLocIdLotattVOS = invLotLocIdService.selectInvLocIdLotattByLocationId(baseLocationInfo.getId());
- BaseLocationLotattDTO baseLocationLotatt = ConvertUtils.sourceToTarget(baseLocationInfo, BaseLocationLotattDTO.class);
- LotattVO lotattVO = new LotattVO();
- lotattVO.setLotatt07(invLotLocIdLotattVOS.get(0).getLotatt07());
- baseLocationLotatt.setLotattVO(lotattVO);
- return baseLocationLotatt;
- }
- }
|