rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java
@@ -254,7 +254,7 @@ throw new CoolException("数据错误:主单不存在!!"); } //TODO /**收货数量累加,1. 会出超收情况 2. 会有收货不足情况*/ Double rcptedQty = Math.round((wkOrder.getQty() + receiptQty) * 100) / 100.0; Double rcptedQty = Math.round((wkOrder.getQty() + receiptQty) * 1000000) / 1000000.0; wkOrder.setQty(rcptedQty).setExceStatus(AsnExceStatus.ASN_EXCE_STATUS_EXCE_ING.val); if (!asnOrderMapper.updateById(wkOrder)) { throw new CoolException("已收货数量修改失败!!"); @@ -302,7 +302,7 @@ throw new CoolException("请输入正确的时间格式!!"); } Double itemRcptQty = Math.round((dto.getReceiptQty() + orderItem.getQty()) * 100) / 100.0; Double itemRcptQty = Math.round((dto.getReceiptQty() + orderItem.getQty()) * 1000000) / 1000000.0; Boolean allowOver = false; if (!Objects.isNull(config)) { if (Boolean.parseBoolean(config.getVal())) { @@ -415,7 +415,7 @@ if (!Objects.isNull(serviceOne)) { item.setId(serviceOne.getId()); Double anfme = Math.round((item.getAnfme() + serviceOne.getAnfme()) * 100) / 100.0; Double anfme = Math.round((item.getAnfme() + serviceOne.getAnfme()) * 1000000) / 1000000.0; item.setAnfme(anfme); } @@ -1149,7 +1149,7 @@ if (Objects.isNull(stockItem)) { detlsDto.setStockQty(0.0); } else { Double anfme = Math.round((stockItem.getAnfme() + stockItem.getWorkQty()) * 100) / 100.0; Double anfme = Math.round((stockItem.getAnfme() + stockItem.getWorkQty()) * 1000000) / 1000000.0; detlsDto.setStockQty(anfme); } rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/PdaOutStockServiceImpl.java
@@ -283,7 +283,7 @@ //taskItems为拣货明细,作参数上报 Double summed = items.stream().mapToDouble(TaskItem::getAnfme).sum(); //加上历史拣料数量 Double pickQty = Math.round((orderItem.getQty() + summed) * 100) / 100.0; Double pickQty = Math.round((orderItem.getQty() + summed) * 1000000) / 1000000.0; Config config = configService.getOne(new LambdaQueryWrapper<Config>().eq(Config::getFlag, GlobalConfigCode.ALLOW_OVER_CHANGE)); //判断是否允许超收,不允许超收添加拒收判断 if (!Objects.isNull(config)) { @@ -334,14 +334,17 @@ if (taskItem.getAnfme().compareTo(serviceOne.getAnfme()) > 0) { throw new CoolException("拣货数量超出当前票号库存数量!!"); } if (!Boolean.parseBoolean(config.getVal())) { if (item.getAnfme().compareTo(item.getQty() + taskItem.getAnfme()) < 0.0) { Double v = Math.round((item.getQty() + taskItem.getAnfme()) * 1000000) / 1000000.0; if (item.getAnfme().compareTo(v) < 0.0) { throw new CoolException("前当物料已超出可拣范围,请核对后再操作!!"); } } } Double picQty = Math.round((item.getQty() + taskItem.getAnfme()) * 100) / 100.0; Double picQty = Math.round((item.getQty() + taskItem.getAnfme()) * 1000000) / 1000000.0; item.setQty(picQty).setOrderId(order.getId()).setOrderItemId(orderItem.getId()); if (!taskItemService.updateById(item)) { throw new CoolException("状态完成失败!!"); @@ -360,7 +363,7 @@ List<WkOrderItem> orderItems = asnOrderItemService.list(new LambdaQueryWrapper<WkOrderItem>().eq(WkOrderItem::getOrderId, params.getOrderId())); Double total = orderItems.stream().mapToDouble(WkOrderItem::getQty).sum(); Double wkQty = orderItems.stream().mapToDouble(WkOrderItem::getWorkQty).sum(); double v = order.getWorkQty().compareTo(wkQty) < 0 ? 0.0 : Math.round((total - wkQty) * 100) / 100.0; double v = order.getWorkQty().compareTo(wkQty) < 0 ? 0.0 : Math.round((total - wkQty) * 1000000) / 1000000.0; order.setQty(total).setWorkQty(v); if (!asnOrderService.updateById(order)) { throw new CoolException("订单数量更新失败!!"); rsf-server/src/main/java/com/vincent/rsf/server/common/CodeBuilder.java
@@ -15,15 +15,15 @@ generator.frontendPrefixPath = "rsf-admin/"; generator.sqlOsType = SqlOsType.MYSQL; generator.url = "192.168.4.151:3306/rsf"; generator.url = "127.0.0.1:3306/rsf-xiri"; generator.username = "root"; generator.password = "34821015"; // generator.url="47.97.1.152:51433;databasename=jkasrs"; // generator.username="sa"; // generator.password="Zoneyung@zy56$"; generator.table = "view_stock_statistic"; generator.tableDesc = "日库存统计"; generator.table = "man_loc_item"; generator.tableDesc = "库存明细"; generator.packagePath = "com.vincent.rsf.server.manager"; generator.build(); rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/CheckDiffItem.java
@@ -224,7 +224,7 @@ if (checkQty.compareTo(0.0) <= 0) { return 0.0; } Double diffQty = Math.round((this.checkQty - this.anfme) * 100) / 100.0; Double diffQty = Math.round((this.checkQty - this.anfme) * 1000000) / 1000000.0; return diffQty; } rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/ReviseLogItem.java
@@ -252,7 +252,7 @@ } public Double getDiffQty() { return Math.round((this.reviseQty - this.anfme) * 100) / 100.0; return Math.round((this.reviseQty - this.anfme) * 1000000) / 1000000.0; } public String getUpdateBy$(){ rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/ScheduleJobs.java
@@ -214,7 +214,7 @@ WarehouseAreasItem serviceOne = warehouseAreasItemService.getOne(queryWrapper); if (!Objects.isNull(serviceOne)) { item.setId(serviceOne.getId()); Double anfme = Math.round((item.getAnfme() + serviceOne.getAnfme()) * 100) / 100.0; Double anfme = Math.round((item.getAnfme() + serviceOne.getAnfme()) * 1000000) / 1000000.0; item.setAnfme(anfme); } //未质检 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderServiceImpl.java
@@ -299,7 +299,7 @@ } PurchaseItem service = purchaseItemService.getById(item.getId()); Double qty = Math.round((service.getQty() + item.getAnfme()) * 100) / 100.0; Double qty = Math.round((service.getQty() + item.getAnfme()) * 1000000) / 1000000.0; if (qty.compareTo(service.getAnfme()) > 0) { throw new CoolException("新建单据数量不能大于计划数量!!"); } @@ -326,7 +326,7 @@ throw new CoolException("单据不存在!!"); } Double toQty = Math.round((purchaseItem.getQty() + item.getAnfme()) * 100) / 100.0; Double toQty = Math.round((purchaseItem.getQty() + item.getAnfme()) * 1000000) / 1000000.0; purchaseItem.setQty(toQty); if (!purchaseItemService.updateById(purchaseItem)) { throw new CoolException("PO单明细修改失败!!"); @@ -339,7 +339,7 @@ throw new CoolException(("Asn单据明细保存失败!!")); } //任务执行完成,修改已完成数量和PO单执行状态 Double qty = Math.round((sum + purchase.getQty()) * 100) / 100.0; Double qty = Math.round((sum + purchase.getQty()) * 1000000) / 1000000.0; purchase.setQty(qty) .setExceStatus(POExceStatus.PO_EXCE_STATUS_EXCE_ING.val); @@ -373,7 +373,7 @@ list.forEach(item -> { PurchaseItem purchaseItem = purchaseItemService.getById(item.getPoDetlId()); if (!Objects.isNull(purchaseItem)) { Double minusQty = Math.round((purchaseItem.getQty() - item.getAnfme()) * 100) / 100.0; Double minusQty = Math.round((purchaseItem.getQty() - item.getAnfme()) * 1000000) / 1000000.0; purchaseItem.setQty(minusQty); if (!purchaseItemService.updateById(purchaseItem)) { throw new CoolException("PO单明细更新失败!!"); rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java
@@ -232,7 +232,7 @@ } taskItems.add(taskItem); Double qty = Math.round((item.getWorkQty() + item.getOutQty()) * 100) / 100.0; Double qty = Math.round((item.getWorkQty() + item.getOutQty()) * 1000000) / 1000000.0; LocItem locItem = locItemService.getById(item.getId()); if (Objects.isNull(locItem)) { throw new CoolException("库存信息不存在!"); @@ -243,7 +243,7 @@ } if (locItem.getAnfme().compareTo(qty) < 0) { Double minusQty = Math.round((locItem.getAnfme() - locItem.getWorkQty()) * 100) / 100.0; Double minusQty = Math.round((locItem.getAnfme() - locItem.getWorkQty()) * 1000000) / 1000000.0; item.setWorkQty(minusQty); } else { item.setWorkQty(qty); rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java
@@ -134,7 +134,7 @@ for (WkOrderItem orderItem : orderItems) { if (!Objects.isNull(orderItem.getPoDetlId())) { DeliveryItem deliveryItem = deliveryItemService.getById(orderItem.getPoDetlId()); Double workQty = Math.round((deliveryItem.getWorkQty() - orderItem.getAnfme()) * 100) / 100.0; Double workQty = Math.round((deliveryItem.getWorkQty() - orderItem.getAnfme()) * 1000000) / 1000000.0; deliveryItem.setWorkQty(workQty.compareTo(0.0) >= 0 ? workQty : 0); if (!deliveryItemService.updateById(deliveryItem)) { throw new CoolException("DO单明细更新失败!!"); @@ -142,7 +142,7 @@ Delivery delivery = deliveryService.getOne(new LambdaQueryWrapper<Delivery>().eq(Delivery::getCode, orderItem.getPoCode())); if (!Objects.isNull(delivery)) { Double wkQty = Math.round((delivery.getWorkQty() - delivery.getAnfme()) * 100) / 100.0; Double wkQty = Math.round((delivery.getWorkQty() - delivery.getAnfme()) * 1000000) / 1000000.0; delivery.setWorkQty(wkQty.compareTo(0.0) >= 0 ? wkQty : 0).setExceStatus(POExceStatus.PO_EXCE_STATUS_UN_EXCE.val); if (!deliveryService.updateById(delivery)) { throw new CoolException("DO单据修改失败!!"); @@ -206,7 +206,7 @@ if (item.getAnfme().compareTo(0.0) <= 0) { throw new CoolException("出库数量不能小于或等于零!!"); } Double anfme = Math.round((deliveryItem.getAnfme() - item.getAnfme()) * 100) / 100.0; Double anfme = Math.round((deliveryItem.getAnfme() - item.getAnfme()) * 1000000) / 1000000.0; if (anfme.compareTo(0.0) < 0) { throw new CoolException("出库数量不足!!"); } @@ -254,7 +254,7 @@ exceStatus = AsnExceStatus.ASN_EXCE_STATUS_TASK_DONE.val; } Double wkQty = Math.round((delivery.getWorkQty() + sum) * 100) / 100.0; Double wkQty = Math.round((delivery.getWorkQty() + sum) * 1000000) / 1000000.0; if (!deliveryService.update(new LambdaUpdateWrapper<Delivery>() .set(Delivery::getExceStatus, exceStatus) .set(Delivery::getWorkQty, wkQty) @@ -286,7 +286,7 @@ } Double sum = orders.stream().mapToDouble(WkOrder::getAnfme).sum(); Double workQty = orders.stream().mapToDouble(WkOrder::getWorkQty).sum(); Double anfme = Math.round((sum - workQty) * 100) / 100.0; Double anfme = Math.round((sum - workQty) * 1000000) / 1000000.0; Wave wave = new Wave(); String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_WAVE_TYPE, null); if (StringUtils.isBlank(ruleCode)) { @@ -351,7 +351,7 @@ throw new CoolException("出库单执行数量修改失败!!"); } for (WkOrder order : orders) { Double wkQty = Math.round((order.getWorkQty() + order.getAnfme()) * 100) / 100.0; Double wkQty = Math.round((order.getWorkQty() + order.getAnfme()) * 1000000) / 1000000.0; if (!this.update(new LambdaUpdateWrapper<WkOrder>() .set(WkOrder::getWaveId, wave.getId()) .set(WkOrder::getWorkQty, wkQty) @@ -514,7 +514,7 @@ throw new CoolException(e.getMessage()); } Double workQty = Math.round((orderItem.getWorkQty() + locItem.getOutQty()) * 100) / 100.0; Double workQty = Math.round((orderItem.getWorkQty() + locItem.getOutQty()) * 1000000) / 1000000.0; orderItem.setUpdateBy(loginUserId).setUpdateTime(new Date()).setWorkQty(workQty); @@ -530,7 +530,7 @@ if (Objects.isNull(outOrder)) { throw new CoolException("出库单据不存在!!"); } Double workQty = Math.round((outOrder.getWorkQty() + sum) * 100) / 100.0; Double workQty = Math.round((outOrder.getWorkQty() + sum) * 1000000) / 1000000.0; outOrder.setWorkQty(workQty).setExceStatus(AsnExceStatus.OUT_STOCK_STATUS_TASK_CREATE.val); @@ -569,7 +569,7 @@ if (!items.isEmpty()) { for (WkOrderItem orderItem : items) { DeliveryItem deliveryItem = deliveryItemService.getById(orderItem.getPoDetlId()); Double workQty = Math.round((deliveryItem.getWorkQty() - orderItem.getAnfme()) * 100) / 100.0; Double workQty = Math.round((deliveryItem.getWorkQty() - orderItem.getAnfme()) * 1000000) / 1000000.0; deliveryItem.setWorkQty(workQty.compareTo(0.0) >= 0 ? workQty : 0); if (!deliveryItemService.updateById(deliveryItem)) { throw new CoolException("DO单明细更新失败!!"); @@ -577,7 +577,7 @@ Delivery delivery = deliveryService.getOne(new LambdaQueryWrapper<Delivery>().eq(Delivery::getCode, orderItem.getPoCode())); if (!Objects.isNull(delivery)) { Double wkQty = Math.round((delivery.getWorkQty() - delivery.getAnfme()) * 100) / 100.0; Double wkQty = Math.round((delivery.getWorkQty() - delivery.getAnfme()) * 1000000) / 1000000.0; delivery.setWorkQty(wkQty.compareTo(0.0) >= 0 ? wkQty : 0).setExceStatus(POExceStatus.PO_EXCE_STATUS_UN_EXCE.val); if (!deliveryService.updateById(delivery)) { throw new CoolException("DO单据修改失败!!"); @@ -685,7 +685,7 @@ private List<WaveItem> mergeWave(List<WkOrderItem> orderItems, Wave wave) { List<WaveItem> items = new ArrayList<>(); orderItems.forEach(order -> { Double anfme = Math.round((order.getAnfme() - order.getWorkQty()) * 100) / 100.0; Double anfme = Math.round((order.getAnfme() - order.getWorkQty()) * 1000000) / 1000000.0; WaveItem item = new WaveItem(); BeanUtils.copyProperties(order, item); item.setId(null) rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyIsptItemServiceImpl.java
@@ -190,7 +190,7 @@ } } } else { Double anfme = Math.round((orderItem.getAnfme() - sum) * 100) / 100.0; Double anfme = Math.round((orderItem.getAnfme() - sum) * 1000000) / 1000000.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
@@ -899,7 +899,7 @@ if (Objects.isNull(waveItem)) { throw new CoolException("波次明细不存在!!"); } Double workQty = Math.round((waveItem.getWorkQty() - item.getAnfme()) * 100) / 100.0; Double workQty = Math.round((waveItem.getWorkQty() - item.getAnfme()) * 1000000) / 1000000.0; waveItem.setWorkQty(workQty).setExceStatus(WaveItemExceStatus.WAVE_ITEM_EXCE_STATUS_UN.val); if (!waveItemService.updateById(waveItem)) { throw new CoolException("波次明细更新失败!!"); @@ -923,7 +923,7 @@ if (Objects.isNull(wkOrder)) { throw new CoolException("数据错误:单据已不存在!!"); } Double workQty = Math.round((wkOrder.getWorkQty() - item.getAnfme()) * 100) / 100.0; Double workQty = Math.round((wkOrder.getWorkQty() - item.getAnfme()) * 1000000) / 1000000.0; wkOrder.setExceStatus(AsnExceStatus.OUT_STOCK_STATUS_TASK_INIT.val) .setWorkQty(workQty.compareTo(0.00) > 0 ? workQty : 0.00) @@ -938,7 +938,7 @@ throw new CoolException("数据错误:单据明细已不存在!!"); } Double workItmQty = Math.round((orderItem.getWorkQty() - item.getAnfme()) * 100) / 100.0; Double workItmQty = Math.round((orderItem.getWorkQty() - item.getAnfme()) * 1000000) / 1000000.0; orderItem.setWorkQty(workItmQty); if (!outStockItemService.updateById(orderItem)) { @@ -1051,7 +1051,7 @@ if (taskItem.getFieldsIndex().equals(working.getFieldsIndex())) { Double minQty = taskItem.getAnfme(); if (!task.getTaskType().equals(TaskType.TASK_TYPE_CHECK_IN.type)) { minQty = Math.round((working.getAnfme() - taskItem.getQty()) * 100) / 100.0; minQty = Math.round((working.getAnfme() - taskItem.getQty()) * 1000000) / 1000000.0; } if (minQty.compareTo(0.0) >= 0) { taskItem.setAnfme(minQty); @@ -1310,7 +1310,7 @@ stock.setSourceId(waveItem.getId()).setType(OrderType.ORDER_OUT.type); } else if (!Objects.isNull(orderItem) && StringUtils.isNotBlank(orderItem.getId() + "")) { WkOrder wkOrder = asnOrderService.getById(orderItem.getOrderId()); Double qty = Math.round((wkOrder.getQty() + sum) * 100) / 100.0; Double qty = Math.round((wkOrder.getQty() + sum) * 1000000) / 1000000.0; wkOrder.setExceStatus(AsnExceStatus.OUT_STOCK_STATUS_TASK_WORKING.val) .setQty(qty); if (!asnOrderService.updateById(wkOrder)) { @@ -1634,8 +1634,8 @@ if (Objects.isNull(itemServiceOne)) { throw new CoolException("数据错误:请查看请货区库存是否存在!!"); } Double workQty = Math.round((itemServiceOne.getWorkQty() - pakinItem.getAnfme()) * 100) / 100.0; Double qty = Math.round((itemServiceOne.getQty() + pakinItem.getAnfme()) * 100) / 100.0; Double workQty = Math.round((itemServiceOne.getWorkQty() - pakinItem.getAnfme()) * 1000000) / 1000000.0; Double qty = Math.round((itemServiceOne.getQty() + pakinItem.getAnfme()) * 1000000) / 1000000.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
@@ -172,8 +172,8 @@ if (Objects.isNull(one)) { throw new CoolException("收货区数据错误!!"); } Double workQty = Math.round((one.getWorkQty() + pakinItem.getAnfme()) * 100) / 100.0; Double qty = Math.round((workQty + one.getQty()) * 100) / 100.0; Double workQty = Math.round((one.getWorkQty() + pakinItem.getAnfme()) * 1000000) / 1000000.0; Double qty = Math.round((workQty + one.getQty()) * 1000000) / 1000000.0; one.setWorkQty(workQty); if (qty.compareTo(one.getAnfme()) > 0) { throw new CoolException("组托数量不能大于收货数量!!"); @@ -231,12 +231,12 @@ if (item.getReceiptQty().compareTo(0.00) == 0) { throw new CoolException("解绑数量不能为零!!"); } Double reslt = Math.round((pakinItems.get(i1).getAnfme() - pakinItems.get(i1).getWorkQty() - pakinItems.get(i1).getQty()) * 100) / 100.0; Double reslt = Math.round((pakinItems.get(i1).getAnfme() - pakinItems.get(i1).getWorkQty() - pakinItems.get(i1).getQty()) * 1000000) / 1000000.0; if (item.getReceiptQty().compareTo(reslt) > 0) { throw new CoolException("解绑数量不能大于剩余可执行数!!"); } Double anfme = Math.round((pakinItems.get(i1).getAnfme() - item.getReceiptQty()) * 100) / 100.0; Double anfme = Math.round((pakinItems.get(i1).getAnfme() - item.getReceiptQty()) * 1000000) / 1000000.0; pakinItems.get(i1).setAnfme(anfme); if (!waitPakinItemService.updateById(pakinItems.get(i1))) { throw new CoolException("组托明细数量修改失败!!"); @@ -248,7 +248,7 @@ } for (int i = 0; i < warehouseAreasItems.size(); i++) { if (warehouseAreasItems.get(i).getId().equals(pakinItems.get(i1).getSource())) { double v = Math.round((warehouseAreasItems.get(i).getWorkQty() - item.getReceiptQty()) * 100) / 100.0; double v = Math.round((warehouseAreasItems.get(i).getWorkQty() - item.getReceiptQty()) * 1000000) / 1000000.0; warehouseAreasItems.get(i).setWorkQty(v); if (!warehouseAreasItemService.updateById(warehouseAreasItems.get(i))) { throw new CoolException("收货区数量修改失败!!"); @@ -266,7 +266,7 @@ throw new CoolException("组托删除失败!!"); } } else { Double anfme = Math.round((waitPakins.getAnfme() - anfmes) * 100) / 100.0; Double anfme = Math.round((waitPakins.getAnfme() - anfmes) * 1000000) / 1000000.0; waitPakins.setAnfme(anfme); if (!waitPakinService.updateById(waitPakins)) { throw new CoolException("组托数据修改失败!!"); @@ -311,7 +311,7 @@ continue; } double sum = pakin.stream().mapToDouble(WaitPakinItem::getAnfme).sum(); Double workQty = Math.round((item.getWorkQty() - sum) * 100) / 100.0; Double workQty = Math.round((item.getWorkQty() - sum) * 1000000) / 1000000.0; item.setWorkQty(workQty); if (!warehouseAreasItemService.updateById(item)) { throw new CoolException("收货区数据回滚失败!!"); rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaveServiceImpl.java
@@ -187,7 +187,7 @@ } for (TaskItem item : taskItems) { WaveItem waveItem = waveItemService.getById(item.getSource()); Double workQty = Math.round((waveItem.getWorkQty() + item.getAnfme()) * 100) / 100.0; Double workQty = Math.round((waveItem.getWorkQty() + item.getAnfme()) * 1000000) / 1000000.0; waveItem.setWorkQty(workQty); if (workQty.compareTo(waveItem.getAnfme()) < 0) { waveItem.setExceStatus(WaveExceStatus.WAVE_EXCE_STATUS_EXCING.val);