|  |  | 
 |  |  | package com.zy.common.model; | 
 |  |  |  | 
 |  |  | 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.List; | 
 |  |  | import java.util.*; | 
 |  |  |  | 
 |  |  | /** | 
 |  |  |  * Created by vincent on 2020/6/17 | 
 |  |  |  */ | 
 |  |  | @Data | 
 |  |  | public class OutLocDto { | 
 |  |  |  | 
 |  |  |     private String locNo; | 
 |  |  |  | 
 |  |  |     private List<LocDetl> locDetls; | 
 |  |  |     private List<LocDetlDto> locDetlDtos = new ArrayList<>(); | 
 |  |  |  | 
 |  |  |     public OutLocDto() { | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public OutLocDto(String locNo, List<LocDetl> locDetls) { | 
 |  |  |     public OutLocDto(String locNo, LocDetlDto locDetlDto) { | 
 |  |  |         this.locNo = locNo; | 
 |  |  |         this.locDetls = locDetls; | 
 |  |  |         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<LocDetl> getLocDetls() { | 
 |  |  |         return locDetls; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public void setLocDetls(List<LocDetl> locDetls) { | 
 |  |  |         this.locDetls = locDetls; | 
 |  |  |     } | 
 |  |  | } |