zc
8 小时以前 438c1612a0b0b212e21d25249ccdebac6a326842
小数点保留后两位
16个文件已修改
120 ■■■■ 已修改文件
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/PdaOutStockServiceImpl.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReportMsgServiceImpl.java 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/CheckDiffItem.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/ReviseLogItem.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/AutoRunSchedules.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/ScheduleJobs.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderServiceImpl.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyIsptItemServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/ReviseLogServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaitPakinServiceImpl.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaveServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java
@@ -251,7 +251,7 @@
            throw new CoolException("数据错误:主单不存在!!");
        }
        //TODO /**收货数量累加,1. 会出超收情况 2. 会有收货不足情况*/
        Double rcptedQty = Math.round((wkOrder.getQty() + receiptQty) * 10000) / 10000.0;
        Double rcptedQty = Math.round((wkOrder.getQty() + receiptQty) * 100) / 100.0;
        wkOrder.setQty(rcptedQty).setExceStatus(AsnExceStatus.ASN_EXCE_STATUS_EXCE_ING.val);
        if (!asnOrderMapper.updateById(wkOrder)) {
            throw new CoolException("已收货数量修改失败!!");
@@ -299,7 +299,7 @@
                throw new CoolException("请输入正确的时间格式!!");
            }
            Double itemRcptQty = Math.round((dto.getReceiptQty() + orderItem.getQty()) * 10000) / 10000.0;
            Double itemRcptQty = Math.round((dto.getReceiptQty() + orderItem.getQty()) * 100) / 100.0;
            Boolean allowOver = false;
            if (!Objects.isNull(config)) {
                if (Boolean.parseBoolean(config.getVal())) {
@@ -412,7 +412,7 @@
        if (!Objects.isNull(serviceOne)) {
            item.setId(serviceOne.getId());
            Double anfme = Math.round((item.getAnfme() + serviceOne.getAnfme()) * 10000) / 10000.0;
            Double anfme = Math.round((item.getAnfme() + serviceOne.getAnfme()) * 100) / 100.0;
            item.setAnfme(anfme);
        }
@@ -1120,7 +1120,7 @@
            if (Objects.isNull(stockItem)) {
                detlsDto.setStockQty(0.0);
            } else {
                Double anfme = Math.round((stockItem.getAnfme() + stockItem.getWorkQty()) * 10000) / 10000.0;
                Double anfme = Math.round((stockItem.getAnfme() + stockItem.getWorkQty()) * 100) / 100.0;
                detlsDto.setStockQty(anfme);
            }
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/PdaOutStockServiceImpl.java
@@ -271,7 +271,7 @@
            }
            Double summed = items.stream().mapToDouble(TaskItem::getAnfme).sum();
            //加上历史拣料数量
            Double pickQty = Math.round((orderItem.getQty() + summed) * 10000) / 10000.0;
            Double pickQty = Math.round((orderItem.getQty() + summed) * 100) / 100.0;
            if (pickQty.compareTo(orderItem.getAnfme()) > 0.0) {
                throw new CoolException("播种数量不能超出订单需求数量");
            }
@@ -335,11 +335,6 @@
        return R.ok();
    }
    private void saveOrderToStock(Order order) {
    }
    /**
     * @author Ryan
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReportMsgServiceImpl.java
@@ -317,6 +317,7 @@
                        .setItemCode(orderItem.getMatnrCode())
                        .setEditUser(nickName)
                        .setEditDate(order.getUpdateTime())
                        .setZone(stocks.getLocCode())
                        .setGoodsNO(fields.get("crushNo"))
                        .setMemoDtl(order.getMemo());
@@ -363,7 +364,6 @@
                    param.setOutQty(orderItem.getQty());
                }
                reportData.add(param);
                params.setData(reportData);
                try {
@@ -415,11 +415,11 @@
                            //采购入库单
                            params.setOrderType("PO_Instock").setAction("Update");
                            //获取指定查询字段CrushNo 票号
                            param.setInQty(orderItem.getQty());
                            param.setInQty(items.getQty());
                        } else if (order.getWkType().equals(OrderWorkType.ORDER_WORK_TYPE_PURCHASE_RETURN.type)) {
                            //采购退货
                            params.setOrderType("PR_Outstock").setAction("Update");
                            param.setOutQty(orderItem.getQty());
                            param.setOutQty(items.getQty());
                        } else if (order.getWkType().equals(OrderWorkType.ORDER_WORK_TYPE_OTHER_TERANSFER_IN.type)) {
                            //调拔入库单
                            params.setOrderType("Mv_Instock").setAction("Update");
@@ -429,27 +429,27 @@
                        } else if (order.getWkType().equals(OrderWorkType.ORDER_WORK_TYPE_PURCHASE.type)) {
                            //生产退料
                            params.setOrderType("WR_Instock").setAction("Update");
                            param.setInQty(orderItem.getQty());
                            param.setInQty(items.getQty());
                        } else if (order.getWkType().equals(OrderWorkType.ORDER_WORK_TYPE_RETURN_ORDER.type)) {
                            //生产领料
                            params.setOrderType("WO_Outstock").setAction("Update");
                            param.setOutQty(orderItem.getQty());
                            param.setOutQty(items.getQty());
                        } else if (order.getWkType().equals(OrderWorkType.ORDER_WORK_TYPE_PROD_ADDITION.type)) {
                            //生产补料
                            params.setOrderType("WR_Instock_BL").setAction("Update");
                            param.setOutQty(orderItem.getQty());
                            param.setOutQty(items.getQty());
                        } else if (order.getWkType().equals(OrderWorkType.ORDER_WORK_TYPE_FIX_OUT.type)) {
                            params.setOrderType("WO_Outstock_WR").setAction("Update");
                            param.setOutQty(orderItem.getQty());
                            param.setOutQty(items.getQty());
                        } else if (order.getWkType().equals(OrderWorkType.ORDER_WORK_TYPE_OTHER_IN.type)) {
                            //其它入库单/手动入库单
                            params.setOrderType("In_Instock").setAction("Update");
                            param.setInQty(orderItem.getQty());
                            param.setInQty(items.getQty());
                        } else if (order.getWkType().equals(OrderWorkType.ORDER_WORK_TYPE_OTHER.type)) {
                            //其它出库单/手动出库单
                            params.setOrderType("Io_Outstock").setAction("Update");
                            param.setOutQty(orderItem.getQty());
                            param.setOutQty(items.getQty());
                        }
                        dataParams.add(param);
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) * 1000) / 1000.0;
        Double diffQty = Math.round((this.checkQty - this.anfme) * 100) / 100.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) * 10000) / 10000.0;
        return Math.round((this.reviseQty - this.anfme) * 100) / 100.0;
    }
    public String getUpdateBy$(){
rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/AutoRunSchedules.java
@@ -101,7 +101,7 @@
     * @description: 自动完成盘点功能
     * @version 1.0
     */
    @Scheduled(cron = "0/25 * * * * ?")
//    @Scheduled(cron = "0/25 * * * * ?")
    @Transactional(rollbackFor = Exception.class)
    public void autoCheckComplete() {
        //获取任务列表中,为盘点出库的任务
rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/ScheduleJobs.java
@@ -198,7 +198,7 @@
        WarehouseAreasItem serviceOne = warehouseAreasItemService.getOne(queryWrapper);
        if (!Objects.isNull(serviceOne)) {
            item.setId(serviceOne.getId());
            Double anfme = Math.round((item.getAnfme() + serviceOne.getAnfme()) * 10000) / 10000.0;
            Double anfme = Math.round((item.getAnfme() + serviceOne.getAnfme()) * 100) / 100.0;
            item.setAnfme(anfme);
        }
        //未质检
rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java
@@ -240,7 +240,7 @@
    /**
     * 非光电站点任务下发
     */
    @Scheduled(cron = "0/5 * * * * ?  ")
    @Scheduled(cron = "0/25 * * * * ?  ")
    @Transactional(rollbackFor = Exception.class)
    public void pubTaskToWcs() {
        Long loginUserId = SystemAuthUtils.getLoginUserId();
@@ -512,7 +512,8 @@
                        }
                    });
                } else {
                    throw new CoolException("任务下发失败!!");
                    log.error(JSONObject.toJSONString(result));
//                    throw new CoolException("任务下发失败!!");
                }
            } catch (JsonProcessingException e) {
                throw new CoolException(e.getMessage());
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()) * 10000) / 10000.0;
            Double qty = Math.round((service.getQty() + item.getAnfme()) * 100) / 100.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()) * 10000) / 10000.0;
            Double toQty = Math.round((purchaseItem.getQty() + item.getAnfme()) * 100) / 100.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()) * 10000) / 10000.0;
        Double qty = Math.round((sum + purchase.getQty()) * 100) / 100.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()) * 10000) / 10000.0;
                    Double minusQty = Math.round((purchaseItem.getQty() - item.getAnfme()) * 100) / 100.0;
                    purchaseItem.setQty(minusQty);
                    if (!purchaseItemService.updateById(purchaseItem)) {
                        throw new CoolException("PO单明细更新失败!!");
@@ -386,7 +386,7 @@
            Purchase purchase = purchaseService.getOne(new LambdaQueryWrapper<Purchase>()
                    .eq(Purchase::getCode, list.stream().findFirst().get().getPoCode()));
            if (!Objects.isNull(purchase)) {
                Double qty = Math.round((purchase.getQty() - sum) * 10000) / 10000.0;
                Double qty = Math.round((purchase.getQty() - sum) * 100) / 100.0;
                purchase.setQty(qty)
                        .setExceStatus(POExceStatus.PO_EXCE_STATUS_EXCE_ING.val);
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()) * 10000) / 10000.0;
                Double qty = Math.round((item.getWorkQty() + item.getOutQty()) * 100) / 100.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()) * 10000) / 10000.0;
                    Double minusQty = Math.round((locItem.getAnfme() - locItem.getWorkQty()) * 100) / 100.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()) * 10000) / 10000.0;
                    Double workQty = Math.round((deliveryItem.getWorkQty() - orderItem.getAnfme()) * 100) / 100.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()) * 10000) / 10000.0;
                        Double wkQty = Math.round((delivery.getWorkQty() - delivery.getAnfme()) * 100) / 100.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()) * 10000) / 10000.0;
                Double anfme = Math.round((deliveryItem.getAnfme() - item.getAnfme()) * 100) / 100.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) * 10000) / 10000.0;
            Double wkQty = Math.round((delivery.getWorkQty() + sum) * 100) / 100.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) * 10000) / 10000.0;
        Double anfme = Math.round((sum - workQty) * 100) / 100.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()) * 10000) / 10000.0;
            Double wkQty = Math.round((order.getWorkQty() + order.getAnfme()) * 100) / 100.0;
            if (!this.update(new LambdaUpdateWrapper<WkOrder>()
                    .set(WkOrder::getWaveId, wave.getId())
                    .set(WkOrder::getWorkQty, wkQty)
@@ -515,7 +515,7 @@
                }
                Double workQty = Math.round((orderItem.getWorkQty() + locItem.getOutQty()) * 10000) / 10000.0;
                Double workQty = Math.round((orderItem.getWorkQty() + locItem.getOutQty()) * 100) / 100.0;
                orderItem.setUpdateBy(loginUserId).setUpdateTime(new Date()).setWorkQty(workQty);
@@ -531,7 +531,7 @@
        if (Objects.isNull(outOrder)) {
            throw new CoolException("出库单据不存在!!");
        }
        Double workQty = Math.round((outOrder.getWorkQty() + sum) * 10000) / 10000.0;
        Double workQty = Math.round((outOrder.getWorkQty() + sum) * 100) / 100.0;
        outOrder.setWorkQty(workQty).setExceStatus(AsnExceStatus.OUT_STOCK_STATUS_TASK_CREATE.val);
@@ -570,7 +570,7 @@
            if (!items.isEmpty()) {
                for (WkOrderItem orderItem : items) {
                    DeliveryItem deliveryItem = deliveryItemService.getById(orderItem.getPoDetlId());
                    Double workQty = Math.round((deliveryItem.getWorkQty() - orderItem.getAnfme()) * 10000) / 10000.0;
                    Double workQty = Math.round((deliveryItem.getWorkQty() - orderItem.getAnfme()) * 100) / 100.0;
                    deliveryItem.setWorkQty(workQty.compareTo(0.0) >= 0 ? workQty : 0);
                    if (!deliveryItemService.updateById(deliveryItem)) {
                        throw new CoolException("DO单明细更新失败!!");
@@ -578,7 +578,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()) * 10000) / 10000.0;
                        Double wkQty = Math.round((delivery.getWorkQty() - delivery.getAnfme()) * 100) / 100.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单据修改失败!!");
@@ -686,7 +686,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()) * 10000) / 10000.0;
            Double anfme = Math.round((order.getAnfme() - order.getWorkQty()) * 100) / 100.0;
            WaveItem item = new WaveItem();
            BeanUtils.copyProperties(order, item);
                item.setId(null)
@@ -712,7 +712,7 @@
                        p1.getUnit(),
                        p1.getTrackCode(),
                        p1.getFieldsIndex(),
                        Math.round((p1.getAnfme() + p2.getAnfme()) * 10000) / 10000.0,
                        Math.round((p1.getAnfme() + p2.getAnfme()) * 100) / 100.0,
                        p1.getWorkQty(),
                        p1.getTenantId(),
                        p1.getStatus(),
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) * 10000) / 10000.0;
            Double anfme = Math.round((orderItem.getAnfme() - sum) * 100) / 100.0;
            orderItem.setAnfme(anfme);
            if (!warehouseAreasItemService.updateById(orderItem)) {
                throw new CoolException("收货区库存明细更新失败!!");
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/ReviseLogServiceImpl.java
@@ -86,7 +86,7 @@
            Double sum = locItems.stream().mapToDouble(LocItem::getAnfme).sum();
            locRevise.setAnfme(Math.round((sum + locRevise.getAnfme()) * 10000) / 10000.0);
            locRevise.setAnfme(Math.round((sum + locRevise.getAnfme()) * 100) / 100.0);
        });
        locRevise.setExceStatus(CommonExceStatus.COMMON_EXCE_STATUS_UN_EXCE.val);
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java
@@ -868,7 +868,7 @@
                            if (Objects.isNull(waveItem)) {
                                throw new CoolException("波次明细不存在!!");
                            }
                            Double workQty = Math.round((waveItem.getWorkQty() - item.getAnfme()) * 10000) / 10000.0;
                            Double workQty = Math.round((waveItem.getWorkQty() - item.getAnfme()) * 100) / 100.0;
                            waveItem.setWorkQty(workQty).setExceStatus(WaveItemExceStatus.WAVE_ITEM_EXCE_STATUS_UN.val);
                            if (!waveItemService.updateById(waveItem)) {
                                throw new CoolException("波次明细更新失败!!");
@@ -892,7 +892,7 @@
                            if (Objects.isNull(wkOrder)) {
                                throw new CoolException("数据错误:单据已不存在!!");
                            }
                            Double workQty = Math.round((wkOrder.getWorkQty() - item.getAnfme()) * 10000) / 10000.0;
                            Double workQty = Math.round((wkOrder.getWorkQty() - item.getAnfme()) * 100) / 100.0;
                            wkOrder.setExceStatus(AsnExceStatus.OUT_STOCK_STATUS_TASK_INIT.val)
                                    .setWorkQty(workQty.compareTo(0.00) > 0 ? workQty : 0.00)
@@ -907,7 +907,7 @@
                                throw new CoolException("数据错误:单据明细已不存在!!");
                            }
                            Double workItmQty = Math.round((orderItem.getWorkQty() - item.getAnfme()) * 10000) / 10000.0;
                            Double workItmQty = Math.round((orderItem.getWorkQty() - item.getAnfme()) * 100) / 100.0;
                            orderItem.setWorkQty(workItmQty);
                            if (!outStockItemService.updateById(orderItem)) {
@@ -1020,7 +1020,7 @@
                if (taskItem.getMatnrId().equals(working.getMatnrId())) {
                    Double minQty = taskItem.getAnfme();
                    if (!task.getTaskType().equals(TaskType.TASK_TYPE_CHECK_IN.type)) {
                        minQty = Math.round((working.getAnfme() - taskItem.getAnfme()) * 10000) / 10000.0;
                        minQty = Math.round((working.getAnfme() - taskItem.getAnfme()) * 100) / 100.0;
                    }
                    if (minQty.compareTo(0.0) > 0) {
                        taskItem.setAnfme(minQty);
@@ -1029,7 +1029,7 @@
                        }
                    } else {
                        if (!taskItemService.removeById(taskItem)) {
                            throw new CoolException("任务明细修改失败!!");
                            log.error("任务明细修改失败!!");
                        }
                    }
                }
@@ -1269,7 +1269,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) * 10000) / 10000.0;
            Double qty = Math.round((wkOrder.getQty() + sum) * 100) / 100.0;
            wkOrder.setExceStatus(AsnExceStatus.OUT_STOCK_STATUS_TASK_WORKING.val)
                    .setQty(qty);
            if (!asnOrderService.updateById(wkOrder)) {
@@ -1393,8 +1393,8 @@
        if (Objects.isNull(itemServiceOne)) {
            throw new CoolException("数据错误:请查看请货区库存是否存在!!");
        }
        Double workQty = Math.round((itemServiceOne.getWorkQty() - pakinItem.getAnfme()) * 10000) / 10000.0;
        Double qty = Math.round((itemServiceOne.getQty() + pakinItem.getAnfme()) * 10000) / 10000.0;
        Double workQty = Math.round((itemServiceOne.getWorkQty() - pakinItem.getAnfme()) * 100) / 100.0;
        Double qty = Math.round((itemServiceOne.getQty() + pakinItem.getAnfme()) * 100) / 100.0;
        itemServiceOne.setWorkQty(workQty).setQty(qty);
        if (!waitPakinService.update(new LambdaUpdateWrapper<WaitPakin>()
@@ -1453,7 +1453,7 @@
                        .setType(taskItem.getOrderType());
                locItems.add(item);
            } else {
                locItem.setAnfme(Math.round((locItem.getAnfme() + taskItem.getAnfme()) * 10000) / 10000.0)
                locItem.setAnfme(Math.round((locItem.getAnfme() + taskItem.getAnfme()) * 100) / 100.0)
                        .setUpdateTime(new Date());
                locItems.add(locItem);
            }
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaitPakinServiceImpl.java
@@ -156,8 +156,8 @@
            if (Objects.isNull(one)) {
                throw new CoolException("收货区数据错误!!");
            }
            Double workQty = Math.round((one.getWorkQty() + pakinItem.getAnfme()) * 10000) / 10000.0;
            Double qty = Math.round((workQty + one.getQty()) * 10000) / 10000.0;
            Double workQty = Math.round((one.getWorkQty() + pakinItem.getAnfme()) * 100) / 100.0;
            Double qty = Math.round((workQty + one.getQty()) * 100) / 100.0;
            one.setWorkQty(workQty);
            if (qty.compareTo(one.getAnfme()) > 0) {
                throw new CoolException("组托数量不能大于收货数量!!");
@@ -220,7 +220,7 @@
                                throw new CoolException("解绑数量不能大于剩余可执行数!!");
                            }
                            Double anfme = Math.round((pakinItems.get(i1).getAnfme() - item.getReceiptQty()) * 10000) / 10000.0;
                            Double anfme = Math.round((pakinItems.get(i1).getAnfme() - item.getReceiptQty()) * 100) / 100.0;
                           pakinItems.get(i1).setAnfme(anfme);
                           if (!waitPakinItemService.updateById(pakinItems.get(i1))) {
                               throw new CoolException("组托明细数量修改失败!!");
@@ -232,7 +232,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()) * 10000) / 10000.0;
                                double v = Math.round((warehouseAreasItems.get(i).getWorkQty() - item.getReceiptQty()) * 100) / 100.0;
                                warehouseAreasItems.get(i).setWorkQty(v);
                                if (!warehouseAreasItemService.updateById(warehouseAreasItems.get(i))) {
                                    throw new CoolException("收货区数量修改失败!!");
@@ -250,7 +250,7 @@
                    throw new CoolException("组托删除失败!!");
                }
            } else {
                Double anfme = Math.round((waitPakins.getAnfme() - anfmes) * 10000) / 10000.0;
                Double anfme = Math.round((waitPakins.getAnfme() - anfmes) * 100) / 100.0;
                waitPakins.setAnfme(anfme);
                if (!waitPakinService.updateById(waitPakins)) {
                    throw new CoolException("组托数据修改失败!!");
@@ -295,7 +295,7 @@
                    continue;
                }
                double sum = pakin.stream().mapToDouble(WaitPakinItem::getAnfme).sum();
                Double workQty = Math.round((item.getWorkQty() - sum) * 10000) / 10000.0;
                Double workQty = Math.round((item.getWorkQty() - sum) * 100) / 100.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()) * 10000) / 10000.0;
                Double workQty = Math.round((waveItem.getWorkQty() + item.getAnfme()) * 100) / 100.0;
                waveItem.setWorkQty(workQty);
                if (workQty.compareTo(waveItem.getAnfme()) < 0) {
                    waveItem.setExceStatus(WaveExceStatus.WAVE_EXCE_STATUS_EXCING.val);