| | |
| | | import com.zy.asrs.entity.param.FullStoreParam; |
| | | import com.zy.asrs.entity.param.LocDetlAdjustParam; |
| | | import com.zy.asrs.entity.param.StockOutParam; |
| | | import com.zy.asrs.mapper.LocMastMapper; |
| | | import com.zy.asrs.entity.result.FindLocNoAttributeVo; |
| | | import com.zy.asrs.service.*; |
| | | import com.zy.asrs.utils.OrderInAndOutUtil; |
| | |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.*; |
| | | import java.util.concurrent.TimeUnit; |
| | | import java.util.stream.Collectors; |
| | |
| | | |
| | | @Autowired |
| | | private ManLocDetlService manLocDetlService; |
| | | |
| | | @Resource |
| | | private LocMastMapper locMastMapper; |
| | | |
| | | @Override |
| | | @Transactional |
| | |
| | | } |
| | | } |
| | | if (!locDetlDtos.isEmpty()) { |
| | | // 库位号集合 |
| | | List<String> locNoList = param.getLocDetls().stream().map(StockOutParam.LocDetl::getLocNo).distinct().collect(Collectors.toList()); |
| | | String firstFrozenLocNo = locMastMapper.findFirstFrozenLocNo(locNoList); |
| | | if (firstFrozenLocNo != null) { |
| | | throw new CoolException(firstFrozenLocNo + "库位已被冻结!"); |
| | | } |
| | | LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetlDtos.get(0).getLocDetl().getLocNo())); |
| | | if (locMast.getLocSts().equals("F") || locMast.getLocSts().equals("D") ){ |
| | | // 启动出库开始 101.出库 |
| | |
| | | if (Cools.isEmpty(param.getOutSite())) { |
| | | throw new CoolException("站点不存在"); |
| | | } |
| | | |
| | | // 库位冻结不能出库 |
| | | String firstFrozenLocNo = locMastMapper.findFirstFrozenLocNo(param.getLocNos()); |
| | | if (firstFrozenLocNo != null) { |
| | | throw new CoolException(firstFrozenLocNo + "库位已被冻结!"); |
| | | } |
| | | |
| | | for (String locNo : param.getLocNos()) { |
| | | // 获取工作号 |
| | | int workNo = commonService.getWorkNo(WorkNoType.PAKOUT.type); |
| | |
| | | } |
| | | } |
| | | if (!locDetlDtos.isEmpty()) { |
| | | // 库位号集合 |
| | | List<String> locNoList = param.getLocDetls().stream().map(StockOutParam.LocDetl::getLocNo).distinct().collect(Collectors.toList()); |
| | | String firstFrozenLocNo = locMastMapper.findFirstFrozenLocNo(locNoList); |
| | | if (firstFrozenLocNo != null) { |
| | | throw new CoolException(firstFrozenLocNo + "库位已被冻结!"); |
| | | } |
| | | LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetlDtos.get(0).getLocDetl().getLocNo())); |
| | | if (locMast.getLocSts().equals("F")){ |
| | | // 启动出库开始 107.盘点出库 |
| | |
| | | if (Cools.isEmpty(loc)){ |
| | | throw new CoolException("未找到库位"); |
| | | } |
| | | // 判断库位是否冻结 |
| | | String sourceLocFrozen = locMastMapper.findFirstFrozenLocNo(Arrays.asList(sourceLoc.getLocNo(),loc.getLocNo())); |
| | | if (sourceLocFrozen != null) { |
| | | throw new CoolException(sourceLocFrozen + "库位已被冻结!"); |
| | | } |
| | | |
| | | // 判断库存是否冻结 |
| | | Optional<LocDetl> first = locDetls.stream().filter(locDetl -> locDetl.getFrozen() == 1).findFirst(); |
| | | if (first.isPresent()) { |
| | | LocDetl locDetl = first.get(); |
| | | throw new CoolException(locDetl.getLocNo() + "," + locDetl.getMatnr() + "," + locDetl.getBatch() + "库存明细已被冻结!"); |
| | | } |
| | | |
| | | if (!loc.getLocSts().equals("O") || (!sourceLoc.getLocSts().equals("F") && !sourceLoc.getLocSts().equals("D"))){ |
| | | throw new CoolException("库位状态已改变"); |
| | | } |