Để sử dụng toàn bộ tiện ích nâng cao của Hệ Thống Pháp Luật vui lòng lựa chọn và đăng ký gói cước.
| BỘ XÂY DỰNG | CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM |
| Số: 2245/BXD-KTXD | Hà Nội, ngày 01 tháng 6 năm 2023 |
Kính gửi: Sở Xây dựng tỉnh Bình Định
Trong thời gian vừa qua, Bộ Xây dựng đã nhận được ý kiến của một số địa phương và Sở Xây dựng tỉnh Bình Định1. Định mức công tác vận chuyển đất ban hành kèm theo Thông tư số 12/2021/TT-BXD được quy định cụ thể như sau:
- Định mức công tác vận chuyển đất bằng ô tô tự đổ (mã hiệu AB.41000, AB.42000) quy định tại Chương II, Phụ lục II áp dụng cho công tác vận chuyển đất đào nguyên thổ từ máy đào đổ lên phương tiện, vận chuyển đến nơi đắp hoặc đổ đi bằng ôtô tự đổ, phù hợp với dây chuyền thi công đào. Việc áp dụng định mức vận chuyển này theo tải trọng của phương tiện vận chuyển, phù hợp với khối lượng cần vận chuyển, điều kiện thi công và gắn với dây chuyền thi công đào, xúc, vận chuyển đất để đắp hoặc đổ đi.
- Định mức công tác vận chuyển đất bằng ô tô tự đổ (mã hiệu AM.2321 đến AM.2324) quy định tại Chương XII, Phụ lục II áp dụng cho công tác vận chuyển đất bằng ô tô tự đổ đến địa điểm tập kết tương ứng với loại ô tô và cự ly vận chuyển tính cho 1m3 đất đo trên ô tô tự đổ và không bao gồm hao phí bốc, xếp lên và xuống phương tiện vận chuyển. Công tác vận chuyển đất bằng ô tô tự đổ được định mức cho việc vận chuyển vật liệu rời, sẵn có từ các cơ sở cung ứng, kinh doanh vật liệu xây dựng về công trình.
2. Ngày 26/10/2022, Bộ Xây dựng đã có Văn bản số 4795/BXD-KTXD gửi các Bộ quản lý công trình xây dựng chuyên ngành, Ủy ban nhân dân các tỉnh thành phố trực thuộc Trung ương đề nghị báo cáo, tổng hợp, phân tích, đánh giá các khó khăn, vướng mắc trong áp dụng định mức ban hành tại Thông tư số 12/2021/TT-BXD, trong đó có việc áp dụng định mức vận chuyển đất bằng ô tô tự đổ (mã hiệu AB.41000, AM.23000) và kiến nghị, đề xuất cụ thể các nội dung điều chỉnh.
Tuy nhiên, báo cáo của các Bộ, ngành, địa phương (trong đó có tỉnh Bình Định) chưa phân tích, đánh giá hoặc cung cấp dữ liệu, số liệu về các trường hợp vận chuyển đất trong thực tế. Do đó, Bộ Xây dựng chưa đủ cơ sở để thực hiện điều chỉnh các định mức vận chuyển này. Hiện nay, Bộ Xây dựng đã giao các cơ quan chuyên môn nghiên cứu, rà soát, tổ chức khảo sát, thu thập dữ liệu, số liệu, kiểm chứng thực tế để sửa đổi, hiệu chỉnh và xem xét ban hành định mức khi có đủ điều kiện.
3. Trường hợp sử dụng các định mức vận chuyển đất bằng ô tô tự đổ (mã hiệu AB.41000, AM.23000) chưa phù hợp với điều kiện cụ thể tại địa phương, đề nghị Sở Xây dựng tỉnh Bình Định hướng dẫn chủ đầu tư các dự án/công trình của địa phương xác định chi phí vận chuyển theo báo giá, cước vận chuyển, giá tương tự ở công trình đã thực hiện theo quy định về xác định đơn giá xây dựng công trình tại Thông tư số 11/2021/TT-BXD ngày 31/8/2021 của Bộ Xây dựng hướng dẫn một số nội dung xác định và quản lý chi phí đầu tư xây dựng.
Trên đây là ý kiến của Bộ Xây dựng, đề nghị Sở Xây dựng tỉnh Bình Định nghiên cứu, hướng dẫn các chủ đầu tư lập dự toán xây dựng công trình theo các quy định nêu trên cho phù hợp./.
|
Nơi nhận: | TL. BỘ TRƯỞNG |
.buble_cttd .badge-phan-tich, .buble_cttd .menu-button-phan-tich, .noi_dung_box_chuthich .badge-phan-tich, .noi_dung_box_chuthich .menu-button-phan-tich { display: none !important; }');
// ========== CẤU HÌNH ==========
// Bật/tắt nút 3 chấm dọc (true = hiện trên mọi thiết bị, false = chỉ hiện trên touch device)
const USE_THREE_DOTS_BUTTON = true; // Mặc định: true - luôn hiện nút 3 chấm
let cac_cau_hinh = {
loai_noi_dung: ['docs'],
vb_ids: ['c61c68661152322d52d27facb5892301']
};
const maxConcurrentRequests = 10;
let pendingRequests = 0;
const requestQueue = [];
let allow_sub_p = false; // Cho phép gửi lồng nhau (bên trong) hay không
const memberID = 0;
const isVIP = false;
const vbID = 'c61c68661152322d52d27facb5892301';
const unlockAllPhanTich = true;
// State management cho phân tích
let isAnalyzing = false; // Có đang phân tích không
let currentAnalyzingAddress = null; // Address đang được phân tích
let currentAnalyzingElement = null; // Element đang được phân tích
let currentAnalyzingBadge = null; // Badge của element đang phân tích
let isPanelOpen = false; // Panel phân tích có đang mở không
// Typing effect state
let typingTimerId = null;
let typingCancelled = false;
// Thinking GIF state
let thinkingGifIntervalId = null;
let thinkingGifActive = false;
let thinkingGifCurrent = 0; // chỉ số GIF hiện tại 1..10
// Countdown timer state (cho retry lỗi 500)
let countdownTimerId = null;
// Detect touch device - chỉ true khi thiết bị CHÍNH sử dụng touch (không có mouse chính xác)
const isTouchDevice = () => {
// Nếu USE_THREE_DOTS_BUTTON = true, luôn trả về true (hiện trên mọi thiết bị)
if (USE_THREE_DOTS_BUTTON === true) return true;
// Ưu tiên: Kiểm tra pointer: coarse (thiết bị chính sử dụng touch, không có mouse/trackpad)
if (window.matchMedia) {
// pointer: coarse = thiết bị chính sử dụng touch (mobile/tablet)
// pointer: fine = thiết bị có mouse/trackpad chính xác (desktop/laptop)
const hasCoarsePointer = window.matchMedia('(pointer: coarse)').matches;
if (hasCoarsePointer) return true;
}
// Fallback: Kiểm tra touch support (không chính xác lắm vì laptop cũng có thể có touch)
// Chỉ dùng khi không support matchMedia
if (!window.matchMedia) {
return (('ontouchstart' in window) ||
(navigator.maxTouchPoints > 0) ||
(navigator.msMaxTouchPoints > 0));
}
return false;
};
const isTouch = isTouchDevice();
// State for dropdown menu on touch devices
let currentOpenDropdown = null;
function isInViewportAndTabNoiDung(element) {
const rect = element.getBoundingClientRect();
const buffer = 1500; // Buffer to preload content below the viewport (approx. 50+ lines)
const viewHeight = window.innerHeight || document.documentElement.clientHeight;
const isInViewport = rect.top < viewHeight + buffer && rect.bottom >= 0;
const isInTabNoiDung = $(element).closest('#tab_noi_dung_vb').length > 0;
return isInViewport && isInTabNoiDung;
}
function getAddress(element) {
const validTags = ['trichyeu', 'cancu', 'phan', 'chuong', 'muc', 'tieumuc', 'dieu', 'khoan', 'diem'];
const $parent = $(element).closest(validTags.join(','));
if (!$parent.length) {
return null;
}
let addr = $parent.attr('address');
if (!addr && $parent.prop('tagName').toLowerCase() === 'trichyeu') {
addr = 'trichyeu';
$parent.attr('address', addr);
}
return addr || null;
}
function processTnplClasses($element) {
const tnplKeysInLine = new Set(); // key = slug hoặc text (thường là slug)
$element.find('tnpl').each(function () {
const $tnpl = $(this);
const tnplSlug = ($tnpl.attr('slug') || '').trim().toLowerCase();
const tnplKey = tnplSlug || $tnpl.text().trim().toLowerCase();
// Đã xử lý trong cùng dòng => bỏ
if (tnplKeysInLine.has(tnplKey)) {
return;
}
tnplKeysInLine.add(tnplKey);
let tnplExists = false;
// Chỉ duyệt các tnpl đã được tô màu (class on)
$('tnpl.on').each(function () {
const $existingTnpl = $(this);
const existingSlug = ($existingTnpl.attr('slug') || '').trim().toLowerCase();
const existingKey = existingSlug || $existingTnpl.text().trim().toLowerCase();
if (
existingKey === tnplKey &&
isInViewportAndTabNoiDung($existingTnpl[0])
) {
tnplExists = true;
return false; // break each
}
});
if (!tnplExists) {
$tnpl.addClass('on');
}
});
}
function processQueue() {
while (pendingRequests < maxConcurrentRequests && requestQueue.length > 0) {
const task = requestQueue.shift();
pendingRequests++;
task()
.always(() => {
pendingRequests--;
processQueue();
});
}
}
function processVisibleParagraphs() {
try {
$('#tab_noi_dung_vb p:not([is-posted="1"])').each(function () {
let $element = $(this);
if (isInViewportAndTabNoiDung(this)) {
$element.attr('is-posted', '1');
$element.addClass('loading-content');
let p_innerHTML = $element.html();
let address = null;
if (cac_cau_hinh.loai_noi_dung.includes('docs')) {
address = getAddress($element);
}
const isSubP = $element.parents('p').length > 0;
// Check in_bubble robustly
const in_bubble = ($element.closest('.buble_cttd').length > 0 || $element.closest('.noi_dung_box_chuthich').length > 0 || $element.closest('[id^="chu_thich_bubble_"]').length > 0) ? 1 : 0;
if (isSubP && !allow_sub_p) {
$element.removeClass('loading-content');
return; // Không gửi nếu không cho phép
}
const postData = { p_content: p_innerHTML, cac_cau_hinh, address, vb_ngaybanhanh: '2023-06-01 00:00:00 AM', in_bubble: in_bubble };
if (isSubP && allow_sub_p) {
postData.sub_p = 1;
}
requestQueue.push(() =>
$.ajax({
url: '//tnpl' + (Math.floor(Math.random() * 10) + 1) + '.hethongphapluat.com/tien-ich/tim.tien.ich.php',
type: 'POST',
data: postData,
success: function(response) {
$element.html(response);
processTnplClasses($element);
// Đợi CTTD và các tiện ích load xong rồi mới attach badge/menu
if (!in_bubble && ((unlockAllPhanTich) || memberID === 4 || memberID === 3 || memberID === 2) && typeof attachPhanTichBadge === 'function') {
setTimeout(function() {
// $element chính là thẻ p, kiểm tra và attach badge/menu trực tiếp
const $parent = $element.closest('phan, chuong, muc, tieumuc, dieu, khoan, diem');
if ($parent.length > 0) {
const address = $parent.attr('address');
const parentType = getParentTypeName($parent.prop('tagName').toLowerCase());
const extraClass = (unlockAllPhanTich && memberID <= 0) ? ' upgrade-require' : '';
if (isTouch) {
// Touch device: Thêm nút 3 chấm (append vào body)
if ($('body').find('.menu-button-phan-tich[data-for="' + address + '"]').length === 0) {
const $menuButton = $(' ' + message + ' ' + para.replace(/\n/g, ' Hệ thống sẽ tự động thử lại sau ${countdown} giây... Đang phân tích...$1
');
html = html.replace(/^## (.*$)/gim, '$1
');
html = html.replace(/^# (.*$)/gim, '$1
');
// Bold
html = html.replace(/\*\*(.*?)\*\*/g, '$1');
// Italic
html = html.replace(/\*(.*?)\*/g, '$1');
// Blockquote
html = html.replace(/^> (.*$)/gim, '$1
');
html = html.replace(/^> (.*$)/gim, '$1
');
// Lists (unordered)
html = html.replace(/^\- (.*$)/gim, '$1
');
// Lists (ordered)
html = html.replace(/^\d+\. (.*$)/gim, '
') + '\
' + escapeHtml(response.ten_van_ban) + '
';
if (response.so_hieu) {
html += 'Số hiệu: ' + escapeHtml(response.so_hieu) + '
';
}
html += 'Điều khoản: ' + escapeHtml(response.address) + '';
if (response.from_cache) {
html += ' Cache';
}
html += '
Vui lòng thử lại sau.
Chi tiết: ${escapeHtml(errorMsg)}
${escapeHtml(errorMsg)}
' + escapeHtml(response.ten_van_ban) + '
';
if (response.so_hieu) {
html += 'Số hiệu: ' + escapeHtml(response.so_hieu) + '
';
}
html += 'Điều khoản: ' + escapeHtml(response.address) + '';
html += '
Vui lòng thử lại sau.
Chi tiết: ${escapeHtml(errorMsg)}
