src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/common/model/DetlDto.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/common/model/TaskDto.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -273,6 +273,7 @@ // 获取库位 LocMast locMast = locMastService.selectById(taskDto.getLocNo()); // 获取路径 Integer ioType = taskDto.isAll() ? 101 : 103; Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>() .eq("type_no", ioType) .eq("stn_no", staNo.getDevNo()) src/main/java/com/zy/common/model/DetlDto.java
@@ -4,6 +4,7 @@ import com.zy.asrs.entity.OrderDetl; import lombok.Data; import java.util.List; import java.util.Set; /** @@ -58,7 +59,24 @@ return false; } public static DetlDto find(Set<DetlDto> detlDtos, String matnr, String batch) { public static boolean has(List<DetlDto> detlDtos, DetlDto detlDto) { for (DetlDto dto : detlDtos) { if (Cools.isEmpty(dto.getBatch()) && Cools.isEmpty(detlDto.getBatch())) { if (dto.getMatnr().equals(detlDto.getMatnr())) { return true; } } else { if (!Cools.isEmpty(dto.getBatch()) && !Cools.isEmpty(detlDto.getBatch())) { if (dto.getMatnr().equals(detlDto.getMatnr()) && dto.getBatch().equals(detlDto.getBatch())) { return true; } } } } return false; } public static DetlDto find(List<DetlDto> detlDtos, String matnr, String batch) { if (Cools.isEmpty(matnr)) { return null; } src/main/java/com/zy/common/model/TaskDto.java
@@ -1,10 +1,17 @@ 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.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; /** * Created by vincent on 2022/3/28 @@ -63,4 +70,37 @@ return null; } public boolean isAll(){ // 汇总不考虑批号 List<DetlDto> detlDtos = new ArrayList<>(); for (LocDto locDto : this.getLocDtos()) { DetlDto dto = new DetlDto(locDto.getMatnr(), null, locDto.getAnfme()); if (DetlDto.has(detlDtos, dto)) { DetlDto detlDto = DetlDto.find(detlDtos, locDto.getMatnr(), null); assert detlDto != null; detlDto.setAnfme(detlDto.getAnfme() + locDto.getAnfme()); } else { detlDtos.add(new DetlDto(locDto.getMatnr(), null, locDto.getAnfme())); } } // 查询当前库位号所有的库存明细 LocDetlService locDetlService = SpringUtils.getBean(LocDetlService.class); // todo 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) { for (DetlDto detlDto : detlDtos) { if (detlDto.getLocDetl().getMatnr().equals(locDetl.getMatnr()) && dto.getCount().equals(locDetl.getAnfme())) { sameNumber++; break; } } } return sameNumber == locDetls.size(); } }