|  |  | 
 |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
 |  |  | import org.springframework.web.bind.annotation.PostMapping; | 
 |  |  | import org.springframework.web.bind.annotation.RequestBody; | 
 |  |  | import org.springframework.web.bind.annotation.RequestParam; | 
 |  |  | import org.springframework.web.bind.annotation.RestController; | 
 |  |  |  | 
 |  |  | import java.util.*; | 
 |  |  | import java.util.stream.Collectors; | 
 |  |  |  | 
 |  |  | /** | 
 |  |  |  * Created by vincent on 2022/3/26 | 
 |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private BasDevpService basDevpService; | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     @PostMapping("/out/pakout/orderDetlIds/auth") | 
 |  |  |     @ManagerAuth | 
 |  |  |     public R pakoutOrderDetlIds(@RequestParam Long orderId) throws InterruptedException { | 
 |  |  |         Thread.sleep(200); | 
 |  |  |         return R.ok().add(orderDetlService.selectByOrderId(orderId).stream().map(OrderDetl::getId).distinct().collect(Collectors.toList())); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @PostMapping("/out/pakout/preview/auth") | 
 |  |  |     @ManagerAuth | 
 |  |  |     public R pakoutPreview(@RequestBody List<Long> ids) { | 
 |  |  | 
 |  |  |         for (OrderDetl orderDetl : orderDetls) { | 
 |  |  |             double issued = Optional.of(orderDetl.getAnfme() - orderDetl.getQty()).orElse(0.0D); | 
 |  |  |             if (issued <= 0.0D) { continue; } | 
 |  |  |             List<LocDetl> locDetls = locDetlService.queryStock(orderDetl.getMatnr(), orderDetl.getBatch(), null); | 
 |  |  |             List<LocDetl> locDetls = locDetlService.queryStock(orderDetl.getMatnr(), orderDetl.getBatch(), null, exist); | 
 |  |  |             for (LocDetl locDetl : locDetls) { | 
 |  |  | //                if (exist.contains(locDetl.getLocNo())) { continue; } | 
 |  |  |                 if (issued > 0) { | 
 |  |  |                     LocDto locDto = new LocDto(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getMaktx(), locDetl.getBatch(), orderDetl.getOrderNo(), | 
 |  |  |                             issued >= locDetl.getAnfme() ? locDetl.getAnfme() : issued); |