zy-asrs-common/src/main/java/com/zy/asrs/common/openapi/entity/param/CombParam.java
@@ -49,6 +49,8 @@ // 规格 private String specs; private String zpallet; } } zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/OrderService.java
@@ -25,4 +25,5 @@ List<OrderNameListDto> selectAllorderNo(Long hostId); List<String> selectAllOutOrderNo(Long hostId); } zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/MobileServiceImpl.java
@@ -19,6 +19,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; import java.util.ArrayList; import java.util.Date; import java.util.Iterator; @@ -314,14 +315,71 @@ return R.error("该库位状态为:"+locMast.getLocSts()+",禁止出库"); } //查询库存数据 List<LocDetl> locDetls = locDetlService.list(new LambdaQueryWrapper<LocDetl>().eq(LocDetl::getZpallet, combParam.getBarcode()).eq(LocDetl::getLocNo, combParam.getLocno()).eq(LocDetl::getHostId, hostId)); if (Cools.isEmpty(locDetls)){ return R.error("未查询到库存数据"); } for (LocDetl locDetl: locDetls){ for (CombParam.CombMat combMat :combParam.getCombMats()){ LocDetl locDetl = locDetlService.getOne(new LambdaQueryWrapper<LocDetl>() .eq(LocDetl::getLocNo, combParam.getLocno()) .eq(LocDetl::getHostId, hostId) .eq(LocDetl::getZpallet, combMat.getZpallet()) .eq(LocDetl::getMatnr, combMat.getMatnr()) .eq(LocDetl::getBatch, combMat.getBatch()) ); if (Cools.isEmpty(locDetl)){ return R.error("未查询到库存数据"); } if (combMat.getAnfme() > locDetl.getAnfme()){ return R.error("下架数量错误,超出库存数量"); } try { //处理库存信息 if (combMat.getAnfme().equals(locDetl.getAnfme())){ //库存相等删除数据 locDetlService.removeById(locDetl); int count = locDetlService.count(new LambdaQueryWrapper<LocDetl>().eq(LocDetl::getLocNo,combParam.getLocno()).eq(LocDetl::getHostId, hostId)); if (count == 0){ LocMast locMast1 = locMastService.getOne(new LambdaQueryWrapper<LocMast>().eq(LocMast::getLocNo, combParam.getLocno()).eq(LocMast::getHostId, hostId)); locMast1.setLocSts("O"); locMastService.updateById(locMast1); } }else { BigDecimal subtract = BigDecimal.valueOf(locDetl.getAnfme()).subtract(BigDecimal.valueOf(combMat.getAnfme())); locDetl.setAnfme(subtract.doubleValue()); locDetlService.updateById(locDetl); } }catch (Exception e){ throw new CoolException("更新库存数据出错"+e.getMessage()); } if (!Cools.isEmpty(combParam.getOrderNo())){ Order order = orderService.selectByNo(combParam.getOrderNo(), hostId); if (Cools.isEmpty(order)){ continue; } OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), combMat.getMatnr(), combMat.getBatch(),hostId); if (Cools.isEmpty(orderDetl)){ continue; } if (orderDetl.getWorkQty() < orderDetl.getWorkQty()+combMat.getAnfme()){ throw new CoolException("下架数量出错"); } // 修改订单明细作业数量 if (!orderDetlService.increaseWorkQtyByOrderNo(combParam.getOrderNo(), combMat.getMatnr(), combMat.getBatch(), combMat.getAnfme(), hostId)) { throw new CoolException("修改单据明细工作数量失败"); } // 修改订单明细完成数量 if (!orderDetlService.increase(order.getId(), hostId, combMat.getMatnr(), combMat.getBatch(), combMat.getAnfme())) { throw new CoolException("修改单据明细完成数量失败"); } // 修改订单状态 作业中 ===>> 已完成 orderService.checkComplete(combParam.getOrderNo(), hostId); } } return R.ok(); } } zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/OrderServiceImpl.java
@@ -179,4 +179,23 @@ return orderNameListDtos; } @Override public List<String> selectAllOutOrderNo(Long hostId) { List<Order> list = list(new LambdaQueryWrapper<Order>().eq(Order::getHostId, hostId)); if (Cools.isEmpty(list)){ return null; } ArrayList<String> orderNameListDtos = new ArrayList<>(); for (Order order :list){ DocType docType = docTypeService.getOne(new LambdaQueryWrapper<DocType>().eq(DocType::getDocId, order.getDocType())); if (docType.getPakout() == 1){ orderNameListDtos.add(order.getOrderNo()); } } return orderNameListDtos; } } zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/LocDetlController.java
@@ -38,6 +38,23 @@ return R.ok(detls); } @RequestMapping(value = "/locDetl/forlocNo/auth") @ManagerAuth public R forlocNo(@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); if (!Cools.isEmpty(batch)){ locDetlLambdaQueryWrapper.eq(LocDetl::getBatch,batch); } List<LocDetl> detls = locDetlService.list(locDetlLambdaQueryWrapper); if (Cools.isEmpty(detls)){ return R.error("未查询到库存数据"); } return R.ok(detls); } @RequestMapping(value = "/locDetl/{id}/auth") @ManagerAuth public R get(@PathVariable("id") String id) { zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/OrderController.java
@@ -67,6 +67,12 @@ return R.ok(orderService.selectAllorderNo(getHostId())); } @RequestMapping(value = "/outOrder/list/all") @ManagerAuth public R orderOutList() { return R.ok(orderService.selectAllOutOrderNo(getHostId())); } @RequestMapping(value = "/order/{id}/auth") @ManagerAuth public R get(@PathVariable("id") String id) { zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/OrderDetlController.java
@@ -24,6 +24,12 @@ @Autowired private OrderDetlService orderDetlService; @RequestMapping(value = "/orderDetl/forOrderNo/auth") @ManagerAuth public R forOrderNo(@RequestParam String orderNo) { return R.ok(orderDetlService.list(new LambdaQueryWrapper<OrderDetl>().eq(OrderDetl::getOrderNo,orderNo).eq(OrderDetl::getHostId,getHostId()))); } @RequestMapping(value = "/orderDetl/{id}/auth") @ManagerAuth public R get(@PathVariable("id") String id) {