| | |
| | | package com.zy.common.model; |
| | | |
| | | import java.util.List; |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.core.common.Cools; |
| | | import com.core.common.SpringUtils; |
| | | import com.core.exception.CoolException; |
| | | import com.zy.asrs.entity.LocDetl; |
| | | import com.zy.asrs.service.LocDetlService; |
| | | import lombok.Data; |
| | | |
| | | import java.util.*; |
| | | |
| | | /** |
| | | * Created by vincent on 2020/6/17 |
| | | */ |
| | | @Data |
| | | public class OutLocDto { |
| | | |
| | | private String locNo; |
| | | |
| | | private List<LocDetlDto> locDetlDtos; |
| | | private List<LocDetlDto> locDetlDtos = new ArrayList<>(); |
| | | |
| | | public OutLocDto() { |
| | | } |
| | | |
| | | public OutLocDto(String locNo, List<LocDetlDto> locDetlDtos) { |
| | | public OutLocDto(String locNo, LocDetlDto locDetlDto) { |
| | | this.locNo = locNo; |
| | | this.locDetlDtos = locDetlDtos; |
| | | this.locDetlDtos.add(locDetlDto); |
| | | } |
| | | |
| | | public String getLocNo() { |
| | | return locNo; |
| | | public boolean isAll(){ |
| | | List<LocDetlDto> locDetlDtosCp = new ArrayList<>(this.locDetlDtos); |
| | | // 查询当前库位号所有的库存明细 |
| | | LocDetlService locDetlService = SpringUtils.getBean(LocDetlService.class); |
| | | List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", this.locNo)); |
| | | if (locDetls == null || locDetls.isEmpty()){ |
| | | throw new CoolException("检索库存明细失败,库位号=" + this.locNo); |
| | | } |
| | | int sameNumber = 0; |
| | | for (LocDetl locDetl : locDetls) { |
| | | Iterator<LocDetlDto> iterator = locDetlDtosCp.iterator(); |
| | | while (iterator.hasNext()) { |
| | | LocDetlDto next = iterator.next(); |
| | | if (!next.getLocDetl().getMatnr().equals(locDetl.getMatnr())) { |
| | | continue; |
| | | } |
| | | if (!Cools.eq(next.getLocDetl().getBatch(), locDetl.getBatch())) { |
| | | continue; |
| | | } |
| | | if (next.getCount() > locDetl.getAnfme()) { |
| | | throw new CoolException("服务器内部错误"); |
| | | } |
| | | if (next.getCount().equals(locDetl.getAnfme())) { |
| | | sameNumber++; |
| | | iterator.remove(); |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | return sameNumber == locDetls.size(); |
| | | } |
| | | |
| | | public void setLocNo(String locNo) { |
| | | this.locNo = locNo; |
| | | } |
| | | |
| | | public List<LocDetlDto> getLocDetlDtos() { |
| | | return locDetlDtos; |
| | | } |
| | | |
| | | public void setLocDetlDtos(List<LocDetlDto> locDetlDtos) { |
| | | this.locDetlDtos = locDetlDtos; |
| | | } |
| | | } |