|  |  |  | 
|---|
|  |  |  | private WrkDetlService wrkDetlService; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private WorkService workService; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private LocDetlService locDetlService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @RequestMapping(value = "/orderDetl/forOrderNo/auth") | 
|---|
|  |  |  | @ManagerAuth | 
|---|
|  |  |  | 
|---|
|  |  |  | return R.ok(orderDetlService.page(new Page<>(curr, limit), wrapper)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @RequestMapping(value = "/orderDetl/forOrderNo/auth/v1") | 
|---|
|  |  |  | @ManagerAuth | 
|---|
|  |  |  | public R forOrderNoV1(@RequestParam String orderNo,@RequestParam String locNo,@RequestParam String batch,@RequestParam String matnr) { | 
|---|
|  |  |  | LambdaQueryWrapper<LocDetl> locDetlLambdaQueryWrapper = new LambdaQueryWrapper<LocDetl>() | 
|---|
|  |  |  | .eq(LocDetl::getLocNo, locNo) | 
|---|
|  |  |  | .eq(LocDetl::getHostId, getHostId()) | 
|---|
|  |  |  | .eq(LocDetl::getMatnr, matnr); | 
|---|
|  |  |  | List<LocDetl> detls = locDetlService.list(locDetlLambdaQueryWrapper); | 
|---|
|  |  |  | if (Cools.isEmpty(detls)){ | 
|---|
|  |  |  | return R.error("未查询到库存数据"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (detls.size()>1){ | 
|---|
|  |  |  | return R.error("库存数据大于1条,为保证数据准确性,请用正常流程出库!!!"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | List<OrderDetl> orderDetlList = orderDetlService.list(new LambdaQueryWrapper<OrderDetl>() | 
|---|
|  |  |  | .eq(OrderDetl::getMatnr, matnr) | 
|---|
|  |  |  | .eq(OrderDetl::getHostId, getHostId()) | 
|---|
|  |  |  | .like(OrderDetl::getOrderNo, orderNo) | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | if (Cools.isEmpty(orderDetlList)){ | 
|---|
|  |  |  | return R.error("未查询到此订单此物料数据"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (orderDetlList.size()>1){ | 
|---|
|  |  |  | return R.error("此订单此物料数据数据大于1条,为保证数据准确性,请用正常流程出库!!!"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | ArrayList<OrderDetl> orderDetls = new ArrayList<>(); | 
|---|
|  |  |  | for(OrderDetl orderDetl:orderDetlList){ | 
|---|
|  |  |  | double count = orderDetl.getAnfme() - orderDetl.getWorkQty(); | 
|---|
|  |  |  | if (count <= 0D) { | 
|---|
|  |  |  | continue; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | orderDetl.setAnfme(count); | 
|---|
|  |  |  | orderDetls.add(orderDetl); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return R.ok(orderDetls); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @RequestMapping(value = "/orderDetl/forOrderNo/mergePakin/v1") | 
|---|
|  |  |  | @ManagerAuth | 
|---|
|  |  |  | public R forOrderNoMergePakinV1(@RequestParam String orderNo) { | 
|---|
|  |  |  | List<DocType> docTypes = docTypeService.list(new LambdaQueryWrapper<DocType>().eq(DocType::getPakin, 1)); | 
|---|
|  |  |  | ArrayList<Long> docTypeIds = new ArrayList<>(); | 
|---|
|  |  |  | for (DocType docType : docTypes) { | 
|---|
|  |  |  | docTypeIds.add(docType.getDocId()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (docTypeIds.isEmpty()) { | 
|---|
|  |  |  | return R.error("单据类型不存在"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | List<Order> orders = orderService.list(new LambdaQueryWrapper<Order>().in(Order::getDocType, docTypeIds).in(Order::getSettle, 0, 1, 2)); | 
|---|
|  |  |  | if (orders.isEmpty()) { | 
|---|
|  |  |  | return R.error("未查询到订单"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | ArrayList<Long> orderIds = new ArrayList<>(); | 
|---|
|  |  |  | for (Order order : orders) { | 
|---|
|  |  |  | orderIds.add(order.getId()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | List<OrderDetl> orderDetlList = orderDetlService.list(new LambdaQueryWrapper<OrderDetl>() | 
|---|
|  |  |  | .eq(OrderDetl::getHostId, getHostId()) | 
|---|
|  |  |  | .in(OrderDetl::getOrderId, orderIds) | 
|---|
|  |  |  | .like(OrderDetl::getOrderNo, orderNo) | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | if (Cools.isEmpty(orderDetlList)){ | 
|---|
|  |  |  | return R.error("未查询到此订单此物料数据"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | ArrayList<OrderDetl> orderDetls = new ArrayList<>(); | 
|---|
|  |  |  | for(OrderDetl orderDetl:orderDetlList){ | 
|---|
|  |  |  | double count = orderDetl.getAnfme() - orderDetl.getWorkQty(); | 
|---|
|  |  |  | if (count <= 0D) { | 
|---|
|  |  |  | continue; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | orderDetl.setAnfme(count); | 
|---|
|  |  |  | orderDetls.add(orderDetl); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return R.ok(orderDetls); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @RequestMapping(value = "/orderDetl/add/auth") | 
|---|
|  |  |  | @ManagerAuth | 
|---|