huminmin
16 小时以前 174c4a75e9dac46cf42399646bf49283583a43f5
src/main/java/com/ruoyi/procurementrecord/utils/StockUtils.java
@@ -45,6 +45,7 @@
        stockUninventoryDto.setRecordType(String.valueOf(recordType));
        stockUninventoryDto.setQualitity(quantity);
        stockUninventoryDto.setProductModelId(productModelId);
        stockUninventoryDto.setType(resolveUninventoryType(recordType));
        stockUninventoryService.addStockInRecordOnly(stockUninventoryDto);
    }
@@ -63,6 +64,7 @@
        stockUninventoryDto.setQualitity(quantity);
        stockUninventoryDto.setProductModelId(productModelId);
        stockUninventoryDto.setBatchNo(batchNo);
        stockUninventoryDto.setType(resolveUninventoryType(recordType));
        stockUninventoryService.addStockInRecordOnly(stockUninventoryDto);
    }
@@ -80,6 +82,7 @@
        stockUninventoryDto.setRecordType(String.valueOf(recordType));
        stockUninventoryDto.setQualitity(quantity);
        stockUninventoryDto.setProductModelId(productModelId);
        stockUninventoryDto.setType("unqualified");
        stockUninventoryService.subtractStockUninventory(stockUninventoryDto);
    }
@@ -211,16 +214,33 @@
    //删除出库记录
    public void deleteStockOutRecord(Long recordId, String recordType) {
        StockOutRecord one = stockOutRecordService.getOne(new QueryWrapper<StockOutRecord>()
        java.util.List<StockOutRecord> list = stockOutRecordService.list(new QueryWrapper<StockOutRecord>()
                .lambda().eq(StockOutRecord::getRecordId, recordId)
                .eq(StockOutRecord::getRecordType, recordType), false);
        if (ObjectUtils.isNotEmpty(one)) {
            if (ReviewStatusEnum.APPROVED.getCode().equals(one.getApprovalStatus())) {
                stockOutRecordService.batchDelete(Collections.singletonList(one.getId()));
            } else {
                stockOutRecordService.removeById(one.getId());
                .eq(StockOutRecord::getRecordType, recordType));
        if (ObjectUtils.isNotEmpty(list)) {
            java.util.List<Long> approvedIds = new java.util.ArrayList<>();
            java.util.List<Long> pendingIds = new java.util.ArrayList<>();
            for (StockOutRecord stockOutRecord : list) {
                if (ReviewStatusEnum.APPROVED.getCode().equals(stockOutRecord.getApprovalStatus())) {
                    approvedIds.add(stockOutRecord.getId());
                } else {
                    pendingIds.add(stockOutRecord.getId());
                }
            }
            if (!approvedIds.isEmpty()) {
                stockOutRecordService.batchDelete(approvedIds);
            }
            if (!pendingIds.isEmpty()) {
                stockOutRecordService.removeByIds(pendingIds);
            }
        }
    }
    private String resolveUninventoryType(String recordType) {
        if (com.ruoyi.common.enums.StockInQualifiedRecordTypeEnum.PRODUCTION_SCRAP.getCode().equals(recordType)) {
            return "waste";
        }
        return "unqualified";
    }
}