- 1Công văn 1552/BTTTT-THH năm 2022 hướng dẫn kỹ thuật triển khai Đề án 06 (phiên bản 1.0) do Bộ Thông tin và Truyền thông ban hành
- 2Chỉ thị 05/CT-TTg tiếp tục đẩy mạnh triển khai Đề án phát triển ứng dụng dữ liệu về dân cư, định danh và xác thực điện tử phục vụ chuyển đổi số quốc gia đoạn 2022-2025, tầm nhìn đến năm 2030 tại các bộ, ngành, địa phương năm 2023 và những năm tiếp theo do Thủ tướng Chính phủ ban hành
TỔ CÔNG TÁC TRIỂN KHAI ĐỀ ÁN PHÁT TRIỂN ỨNG DỤNG DỮ LIỆU VỀ DÂN CƯ, ĐỊNH DANH VÀ XÁC THỰC ĐIỆN TỬ | CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM |
Số: 2669/TCTTKĐA | Hà Nội, ngày 24 tháng 4 năm 2023 |
Kính gửi: | - Đ/c Thủ trưởng các Bộ, cơ quan ngang Bộ, cơ quan thuộc Chính phủ; |
Thực hiện Chỉ thị số 05/CT-TTg ngày 23/02/2023 về việc tiếp tục đẩy mạnh triển khai Đề án phát triển ứng dụng dữ liệu về dân cư, định danh và xác thực điện tử phục vụ chuyển đổi số quốc gia giai đoạn 2022 - 2025, tầm nhìn đến năm 2030 (Đề án 06/CP) tại các bộ, ngành, địa phương năm 2023 và những năm tiếp theo, Thư ký Tổ Công tác triển khai Đề án 06/CP xin trao đổi các Đồng chí một số nội dung, cụ thể như sau:
1. Đến nay, Cơ sở dữ liệu quốc gia về dân cư đã kết nối, chia sẻ dữ liệu với Hệ thống thông tin phục vụ giải quyết thủ tục hành chính của 63/63 UBND tỉnh, thành phố trực thuộc Trung ương (hiện còn tỉnh Quảng Ninh và Hà Tĩnh chưa đảm bảo an ninh, an toàn thông tin) và 13 Bộ, cơ quan ngang Bộ, cơ quan thuộc Chính PhủThông qua công tác kết nối, chia sẻ dữ liệu giữa Cơ sở dữ liệu quốc gia về dân cư và hệ thống thông tin giải quyết thủ tục hành chính của UBND các tỉnh, thành phố đã góp phần nâng cao hiệu quả công tác quản lý nhà nước trong việc việc chính thức bỏ sổ hộ khẩu từ ngày 01/01/2023. Hiện nay, một số địa phương đang sử dụng các giải pháp mềm như tường lửa cơ sở dữ liệu Oracle AVDF, cân bằng tải HA Proxy,...chưa bổ sung bản quyền cho một số giải pháp trong thời gian thực hiện các thủ tục đầu tư. Đây là các giải pháp tạm thời, không có tính lâu dài.
2. Để đảm bảo an ninh, an toàn thông tin và phục vụ kịp thời công tác của các đơn vị, địa phương, Thư ký Tổ Công tác triển khai Đề án đề nghị các Đồng chí một số nội dung, cụ thể như sau:
(1) Khẩn trương triển khai thực hiện đầu tư các thiết bị, giải pháp đảm bảo an ninh, an toàn thông tin.
(2) Đánh giá kết quả triển khai thực hiện kết nối, chia sẻ và khai thác dữ liệu với Cơ sở dữ liệu quốc gia về dân cư (về quy trình thực hiện đảm bảo an ninh, an toàn thông tin; về nhu cầu bổ sung và giải pháp đề xuất, nâng cao hiệu quả).
(3) Nêu các tồn tại, khó khăn, vướng mắc trong quá trình thực hiện, hướng dẫn theo Công văn số 1552/BTTTT-THH ngày 26/4/2023 của Bộ Thông tin và Truyền thông. Kiến nghị, đề xuất phương án tháo gỡ những khó khăn, vướng mắc về tiêu chuẩn thiết bị, về tích hợp với hệ thống hiện tại, về thủ tục đầu tư, mua sắm trong quá trình thực hiện kết nối, chia sẻ dữ liệu.
Kết quả triển khai, đánh giá của các đơn vị gửi về Bộ Công an (qua Cục Cảnh sát quản lý hành chính về trật tự xã hội) trước ngày 30/04/2023. Chi tiết đầu mối liên hệ xin trao đổi đồng chí Dương Văn Hùng, số điện thoại 0888.736.123.
Rất mong nhận được sự quan tâm, phối hợp của các Đồng chí./.
| THƯ KÝ TỔ CÔNG TÁC |
/g, '').replace(/\s*(<\/?[^>]+>)\s*/g, '$1').trim();
}
function checkAndWrap(element) {
// Đệ quy kiểm tra các phần tử .main-elem con bên trong trước
element.children('cttd, dctd, dctk').each(function() {
checkAndWrap($(this));
});
// Lấy HTML hiện tại của phần tử .main-elem và làm sạch nó
var currentHTML = cleanHTML(element.html());
// Log trạng thái HTML bên trong trước khi kiểm tra
//console.log('Before inner HTML:', currentHTML);
// Kiểm tra xem HTML có bao quanh bởi thẻ span không
if (!(currentHTML.startsWith(''))) {
// Nếu không, bao quanh toàn bộ nội dung bằng thẻ span
element.html('' + currentHTML + '');
currentHTML = cleanHTML(element.html());
//console.log('After inner HTML:', currentHTML);
} else {
//console.log('Giữ nguyên inner HTML:..........................');
}
}
$('cttd.chuthichtudong a.chuthichtudong').each(function() {
$(this).removeClass('chuthichtudong');
});
// Bắt đầu kiểm tra từ các phần tử .main-elem ngoài cùng
$('cttd.chuthichtudong, a.chuthichtudong, dctd, dctk').each(function() {
$(this).attr('id', 'rnd_' + random_string_id(20));
checkAndWrap($(this));
});
});
$(document).ready(function() {
$('cttd.chuthichtudong span, a.chuthichtudong span, dctk span, dctd span').click(function(e) {
e.preventDefault();
e.stopPropagation();
});
$('cttd.chuthichtudong > span, a.chuthichtudong > span, dctk > span, dctd > span').click(function(e) {
e.preventDefault();
e.stopPropagation();
if ($(document).width()<=768) {
return;
}
var $this = $(this);
//alert($this.position().top);
var clickedElement = $(this);
var level = 0;
var selectors = ['cttd.chuthichtudong > span', 'dctk > span', 'dctd > span'];
// Kiểm tra xem có ít nhất một cấp con thỏa mãn điều kiện không
var hasChild = selectors.some(function(selector) {
return clickedElement.closest(selector).find('span').length > 0;
});
if (!hasChild) {
//alert('chỉ có 1 cấp');
var totalSubLevels = 1;
}
else
{
function findMatchingParent(element) {
var parent = element.parent();
if (parent.length === 0) return null;
for (var i = 0; i < selectors.length; i++) {
if (parent.is(selectors[i])) {
return parent;
}
}
return findMatchingParent(parent);
}
var parentElement = findMatchingParent(clickedElement);
while (parentElement !== null) {
level++;
parentElement = findMatchingParent(parentElement);
}
var closestElement = clickedElement.closest(selectors.join(', '));
var nodeName = closestElement.prop('nodeName').toLowerCase();
var className = closestElement.attr('class');
var textContent = closestElement.text().trim();
var address = selectors.find(function(selector) {
return closestElement.is(selector);
});
// Đếm tổng số cấp dưới bao gồm cả cấp được click
var totalSubLevels = closestElement.find('span').length + 1; // +1 để bao gồm cả cấp được click
var parent_id = closestElement.parent().attr('id');
//alert('Clicked element level: ' + level + '\nAddress: ' + address + '\nText: ' + textContent + '\nparent_id: ' + parent_id);
var variableName = 'parent_id_' + level;
// Gán giá trị của parent_id cho biến động này
window[variableName] = parent_id;
}
if (totalSubLevels>1)
{
// Tạo đối tượng để lưu trữ các biến động
var dynamicVars = {};
// Tạo tên biến động dựa trên giá trị của level
var variableName = 'parent_id_' + level;
// Gán giá trị của parent_id cho biến động này
dynamicVars[variableName] = parent_id;
// Giờ gắn ngược lại biến buble_id = parent_id_{level}
var buble_id = dynamicVars[variableName];
}
else
{
buble_id = 'dc_' + $(this).parent().attr('id');
}
//alert('bat dau xu ly ' + buble_id);
// Nếu không có .pointer ngay sau .main-elem thì chèn thêm
if ($this.next('.pointy').length === 0) {
$this.after(' bên trong $pointer
if ($(e.target).closest('.list_tds').length > 0) {
// Người dùng đang chạm vào nội dung bên trong .scroll_2
// Cho phép hành vi cuộn và ngăn chặn di chuyển $pointer
e.stopPropagation();
return true;
}
// Người dùng không chạm vào nội dung bên trong $pointer
// Cho phép di chuyển $pointer
return false;
}
$pointer.on('touchstart', startDragging);
$pointer.on('touchmove', duringDragging);
$pointer.on('touchend', stopDragging);
// Hàm để cập nhật vị trí của pointer
var updatePointerPosition = function() {
var offset = $this.position();
//alert($this.position().top);
var windowHeight = $(window).height() - $('#nav-tab-vb').height()-20;
var pointerHeight = Math.max(250, Math.min(windowHeight * 0.8, 450));
var elementOffset = $this.position().top;
var newTop = elementOffset - (pointerHeight / 2);
// Đảm bảo pointer không ra khỏi màn hình
var maxTop = $(document).height() - pointerHeight;
newTop = Math.max(0, Math.min(newTop, maxTop));
$pointer.css({
left: $('#doc-left-col').width() + 50 + "px",
width: $('#doc-right-col').width() - 30,
height: pointerHeight,
top: newTop + "px"
});
//alert($pointer.position().top);
};
/*
*/
// Cập nhật vị trí pointer khi thay đổi kích thước hoặc xoay màn hình
$(window).on('resize orientationchange', function() {
updatePointerPosition();
//$canvas.css('top', $this.position().top+'px');
var cap_nhat_pointy_top = setInterval(function(){
if ($this.position().top-$this.parent().height()+10!=$pointer.prev('canvas.pointy').position().top) {
$pointer.prev('canvas.pointy').css({'top': $this.position().top-$this.parent().height()+10+'px'});
$this.trigger('pointy-update');
clearInterval(cap_nhat_pointy_top);
}
else
{
clearInterval(cap_nhat_pointy_top);
}
},50);
});
}
}
}
if ($pointer.is(':visible')) {
if (level==0) {
if (totalSubLevels==1) {
scrollTop_offset = $pointer.offset().top - $(window).height() / 4;
}
else
{
scrollTop_offset = $pointer.offset().top - $('#nav-tab-vb').height()-10;
}
$('html,body').animate({
scrollTop: scrollTop_offset
},
'slow');
}
}
}
$pointer.css('opacity', '1');
$('.pointy').click(function(e) {
e.preventDefault();
e.stopPropagation();
});
var parent = $(this).parent();
var dataCT = parent.attr('data-ct');
var dataDC = parent.attr('data-dc');
var dataTN = parent.attr('data-tn');
//if (dataCT) loai_buble = 'chuthich';
//if (dataDC) loai_buble = 'danchieu';;
//if (dataTN) loai_buble = 'thuatngu';
var loai_buble = parent.prop('nodeName').toLowerCase();
var text_html = $(this).text();
if (loai_buble=='cttd' || loai_buble=='a') {
pointer_html = '