rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java
@@ -237,7 +237,7 @@ throw new CoolException("数据错误:主单不存在!!"); } //TODO /**收货数量累加,1. 会出超收情况 2. 会有收货不足情况*/ Double rcptedQty = asnOrder.getQty() + receiptQty; Double rcptedQty = Math.round((asnOrder.getQty() + receiptQty) * 10000) / 10000.0; asnOrder.setQty(rcptedQty).setExceStatus(AsnExceStatus.ASN_EXCE_STATUS_EXCE_ING.val); if (!asnOrderMapper.updateById(asnOrder)) { @@ -288,7 +288,7 @@ throw new CoolException("请输入正确的时间格式!!"); } Double itemRcptQty = dto.getReceiptQty() + orderItem.getQty(); Double itemRcptQty = Math.round((dto.getReceiptQty() + orderItem.getQty()) * 10000) / 10000.0; Boolean allowOver = false; if (!Objects.isNull(config)) { if (Boolean.parseBoolean(config.getVal())) { @@ -401,7 +401,8 @@ if (!Objects.isNull(serviceOne)) { item.setId(serviceOne.getId()); item.setAnfme(item.getAnfme() + serviceOne.getAnfme()); Double anfme = Math.round((item.getAnfme() + serviceOne.getAnfme()) * 10000) / 10000.0; item.setAnfme(anfme); } //未质检 @@ -1094,7 +1095,8 @@ if (Objects.isNull(stockItem)) { detlsDto.setStockQty(0.0); } else { detlsDto.setStockQty(stockItem.getAnfme() + stockItem.getWorkQty()); Double anfme = Math.round((stockItem.getAnfme() + stockItem.getWorkQty()) * 10000) / 10000.0; detlsDto.setStockQty(anfme); } if (!Objects.isNull(asnOrderItem.getPoDetlId())) { rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/ScheduleJobs.java
@@ -190,7 +190,8 @@ WarehouseAreasItem serviceOne = warehouseAreasItemService.getOne(queryWrapper); if (!Objects.isNull(serviceOne)) { item.setId(serviceOne.getId()); item.setAnfme(item.getAnfme() + serviceOne.getAnfme()); Double anfme = Math.round((item.getAnfme() + serviceOne.getAnfme()) * 10000) / 10000.0; item.setAnfme(anfme); } //未质检 if (!warehouseAreasItemService.saveOrUpdate(item)) { rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderServiceImpl.java
@@ -290,7 +290,7 @@ } PurchaseItem service = purchaseItemService.getById(item.getId()); Double qty = service.getQty() + item.getAnfme(); Double qty = Math.round((service.getQty() + item.getAnfme()) * 10000) / 10000.0; if (qty.compareTo(service.getAnfme()) > 0) { throw new CoolException("新建单据数量不能大于计划数量!!"); } @@ -316,7 +316,9 @@ if (Objects.isNull(purchaseItem)) { throw new CoolException("单据不存在!!"); } purchaseItem.setQty(purchaseItem.getQty() + item.getAnfme()); Double toQty = Math.round((purchaseItem.getQty() + item.getAnfme()) * 10000) / 10000.0; purchaseItem.setQty(toQty); if (!purchaseItemService.updateById(purchaseItem)) { throw new CoolException("PO单明细修改失败!!"); } @@ -328,7 +330,8 @@ throw new CoolException(("Asn单据明细保存失败!!")); } //任务执行完成,修改已完成数量和PO单执行状态 purchase.setQty(sum + purchase.getQty()) Double qty = Math.round((sum + purchase.getQty()) * 10000) / 10000.0; purchase.setQty(qty) .setExceStatus(POExceStatus.PO_EXCE_STATUS_EXCE_ING.val); if (!purchaseService.saveOrUpdate(purchase)) { @@ -361,7 +364,8 @@ list.forEach(item -> { PurchaseItem purchaseItem = purchaseItemService.getById(item.getPoDetlId()); if (!Objects.isNull(purchaseItem)) { purchaseItem.setQty(purchaseItem.getQty() - item.getAnfme()); Double minusQty = Math.round((purchaseItem.getQty() - item.getAnfme()) * 10000) / 10000.0; purchaseItem.setQty(minusQty); if (!purchaseItemService.updateById(purchaseItem)) { throw new CoolException("PO单明细更新失败!!"); } @@ -373,7 +377,8 @@ Purchase purchase = purchaseService.getOne(new LambdaQueryWrapper<Purchase>() .eq(Purchase::getCode, list.stream().findFirst().get().getPoCode())); if (!Objects.isNull(purchase)) { purchase.setQty(purchase.getQty() - sum) Double qty = Math.round((purchase.getQty() - sum) * 10000) / 10000.0; purchase.setQty(qty) .setExceStatus(POExceStatus.PO_EXCE_STATUS_EXCE_ING.val); if (!purchaseService.updateById(purchase)) { rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java
@@ -366,7 +366,7 @@ p1.getUnit(), p1.getTrackCode(), p1.getFieldsIndex(), p1.getAnfme() + p2.getAnfme(), Math.round((p1.getAnfme() + p2.getAnfme()) * 10000) / 10000.0, p1.getWorkQty(), p1.getTenantId(), p1.getStatus(), rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyIsptItemServiceImpl.java
@@ -190,7 +190,8 @@ } } } else { orderItem.setAnfme(orderItem.getAnfme() - sum); Double anfme = Math.round((orderItem.getAnfme() - sum) * 10000) / 10000.0; orderItem.setAnfme(anfme); if (!warehouseAreasItemService.updateById(orderItem)) { throw new CoolException("收货区库存明细更新失败!!"); } rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java
@@ -966,8 +966,8 @@ if (Objects.isNull(itemServiceOne)) { throw new CoolException("数据错误:请查看请货区库存是否存在!!"); } Double workQty = itemServiceOne.getWorkQty() - pakinItem.getAnfme(); Double qty = itemServiceOne.getQty() + pakinItem.getAnfme(); Double workQty = Math.round((itemServiceOne.getWorkQty() - pakinItem.getAnfme()) * 10000) / 10000.0; Double qty = Math.round((itemServiceOne.getQty() + pakinItem.getAnfme()) * 10000) / 10000.0; itemServiceOne.setWorkQty(workQty).setQty(qty); if (!waitPakinService.update(new LambdaUpdateWrapper<WaitPakin>() rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaitPakinServiceImpl.java
@@ -220,10 +220,13 @@ if (item.getReceiptQty().compareTo(0.00) == 0) { throw new CoolException("解绑数量不能为零!!"); } if (item.getReceiptQty().compareTo(pakinItems.get(i1).getAnfme() - pakinItems.get(i1).getWorkQty() - pakinItems.get(i1).getQty()) > 0) { Double reslt = Math.round((pakinItems.get(i1).getAnfme() - pakinItems.get(i1).getWorkQty() - pakinItems.get(i1).getQty()) * 10000) / 10000.0; if (item.getReceiptQty().compareTo(reslt) > 0) { throw new CoolException("解绑数量不能大于剩余可执行数!!"); } pakinItems.get(i1).setAnfme(pakinItems.get(i1).getAnfme() - item.getReceiptQty()); Double anfme = Math.round((pakinItems.get(i1).getAnfme() - item.getReceiptQty()) * 10000) / 10000.0; pakinItems.get(i1).setAnfme(anfme); if (!waitPakinItemService.updateById(pakinItems.get(i1))) { throw new CoolException("组托明细数量修改失败!!"); } @@ -234,7 +237,7 @@ } for (int i = 0; i < warehouseAreasItems.size(); i++) { if (warehouseAreasItems.get(i).getId().equals(pakinItems.get(i1).getSource())) { double v = warehouseAreasItems.get(i).getWorkQty() - item.getReceiptQty(); double v = Math.round((warehouseAreasItems.get(i).getWorkQty() - item.getReceiptQty()) * 10000) / 10000.0; warehouseAreasItems.get(i).setWorkQty(v); if (!warehouseAreasItemService.updateById(warehouseAreasItems.get(i))) { throw new CoolException("收货区数量修改失败!!"); @@ -252,7 +255,8 @@ throw new CoolException("组托删除失败!!"); } } else { waitPakins.setAnfme(waitPakins.getAnfme() - anfmes); Double anfme = Math.round((waitPakins.getAnfme() - anfmes) * 10000) / 10000.0; waitPakins.setAnfme(anfme); if (!waitPakinService.updateById(waitPakins)) { throw new CoolException("组托数据修改失败!!"); } @@ -296,7 +300,8 @@ continue; } double sum = pakin.stream().mapToDouble(WaitPakinItem::getAnfme).sum(); item.setWorkQty(item.getWorkQty() - sum); Double workQty = Math.round((item.getWorkQty() - sum) * 10000) / 10000.0; item.setWorkQty(workQty); if (!warehouseAreasItemService.updateById(item)) { throw new CoolException("收货区数据回滚失败!!"); }