| | |
| | | import com.vincent.rsf.server.manager.controller.dto.OrderOutItemDto; |
| | | import com.vincent.rsf.server.manager.controller.params.WaveToLocParams; |
| | | import com.vincent.rsf.server.manager.entity.*; |
| | | import com.vincent.rsf.server.manager.enums.ContainerType; |
| | | import com.vincent.rsf.server.manager.enums.TaskType; |
| | | import com.vincent.rsf.server.manager.enums.WaveRuleType; |
| | | import com.vincent.rsf.server.manager.service.*; |
| | | import com.vincent.rsf.server.manager.enums.LocStsType; |
| | | import io.swagger.models.auth.In; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | |
| | | import javax.swing.*; |
| | | import java.math.BigDecimal; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | |
| | | |
| | | public static String getTargetLoc(Long areaId, Long containerType) { |
| | | Long locType = null; |
| | | if (!Objects.isNull(containerType)) { |
| | | LocTypeService locService = SpringUtils.getBean(LocTypeService.class); |
| | | if (containerType.equals(ContainerType.CONTAINER_TYPE_NORMAL.val)) { |
| | | LocType low = locService.getOne(new LambdaQueryWrapper<LocType>() |
| | | .eq(LocType::getCode, "L")); |
| | | if (Objects.isNull(low)) { |
| | | throw new CoolException("庫位類型不存在!!"); |
| | | } |
| | | locType = low.getId(); |
| | | } else { |
| | | LocType low = locService.getOne(new LambdaQueryWrapper<LocType>() |
| | | .eq(LocType::getCode, "H")); |
| | | if (Objects.isNull(low)) { |
| | | throw new CoolException("庫位類型不存在!!"); |
| | | } |
| | | locType = low.getId(); |
| | | } |
| | | } |
| | | // if (!Objects.isNull(containerType)) { |
| | | // LocTypeService locService = SpringUtils.getBean(LocTypeService.class); |
| | | // if (containerType.equals(ContainerType.CONTAINER_TYPE_NORMAL.val)) { |
| | | // LocType low = locService.getOne(new LambdaQueryWrapper<LocType>() |
| | | // .eq(LocType::getCode, "L")); |
| | | // if (Objects.isNull(low)) { |
| | | // throw new CoolException("庫位類型不存在!!"); |
| | | // } |
| | | // locType = low.getId(); |
| | | // } else { |
| | | // LocType low = locService.getOne(new LambdaQueryWrapper<LocType>() |
| | | // .eq(LocType::getCode, "H")); |
| | | // if (Objects.isNull(low)) { |
| | | // throw new CoolException("庫位類型不存在!!"); |
| | | // } |
| | | // locType = low.getId(); |
| | | // } |
| | | // } |
| | | //TODO 库位策略后续排期 |
| | | LocService locService = SpringUtils.getBean(LocService.class); |
| | | Loc loc = locService.getOne(new LambdaQueryWrapper<Loc>() |
| | |
| | | LambdaQueryWrapper<LocItem> locItemQueryWrapper = new LambdaQueryWrapper<>(); |
| | | locItemQueryWrapper.eq(LocItem::getMatnrCode, matnrCode); |
| | | locItemQueryWrapper.eq(StringUtils.isNotEmpty(splrBatch), LocItem::getBatch, splrBatch); |
| | | locItemQueryWrapper.orderByAsc(LocItem::getCreateTime); |
| | | //如果批次不为空,按批次先后出库 |
| | | if (StringUtils.isNotBlank(splrBatch)) { |
| | | locItemQueryWrapper.orderByAsc(LocItem::getBatch); |
| | | } else { |
| | | locItemQueryWrapper.orderByAsc(LocItem::getCreateTime); |
| | | } |
| | | String applySql = String.format( |
| | | "EXISTS (SELECT 1 FROM man_loc ml " + |
| | | "WHERE ml.use_status = '%s'" + |
| | |
| | | |
| | | orderOutItemDto.setSource(item.getItemId()) |
| | | .setSourceId(item.getWaveId()); |
| | | |
| | | list.add(orderOutItemDto); |
| | | |
| | | issued = issued.subtract(new BigDecimal(locItem.getAnfme().toString())); |