{"version":3,"sources":["./src/app/components/public/market/company-top-popup/company-top-popup.component.html","./src/app/components/public/market/dialog-import-export/dialog-import-export.component.html","./src/app/components/public/market/domesticExport/domestic-export.component.html","./src/app/components/public/market/domesticImport/domestic-import.component.html","./src/app/components/public/market/domesticPrice/domestic-price.component.html","./src/app/components/public/market/domesticProduct/domestic-product.component.html","./src/app/components/public/market/foreignPrice/foreign-price.component.html","./src/app/components/public/market/company-top-popup/company-top-popup.component.ts","./src/app/components/public/market/dialog-import-export/dialog-import-export.component.ts","./src/app/components/public/market/domesticExport/domestic-export.component.ts","./src/app/components/public/market/domesticImport/domestic-import.component.ts","./src/app/components/public/market/domesticPrice/domestic-price.component.ts","./src/app/components/public/market/domesticProduct/domestic-product.component.ts","./src/app/components/public/market/foreignPrice/foreign-price.component.ts","./src/app/components/public/market/market-routing.module.ts","./src/app/components/public/market/market.module.ts"],"names":[],"mappings":"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","file":"components-public-market-market-module.js","sourcesContent":["export default \"\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{field}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Lọc dữ liệu\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
STT {{i + 1 +\\r\\n (paginator.pageIndex * paginator.pageSize)}} Tên doanh nghiệp {{element.ten_doanh_nghiep}} Công suất {{element.cong_suat | number:'1.0-4':'vi'}}\\r\\n Mã số thuế {{element.mst}} Địa chỉ {{element.dia_chi}} Điện thoại {{element.dien_thoai}} Chi tiết
Doanh nghiệp
\\r\\n search\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
\"","export default \"\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n show_chart\\r\\n  \\r\\n DỮ LIỆU TỔNG HỢP\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n business Sản phẩm:\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ten_san_pham}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n equalizer Tổng giá trị thực hiện tháng:\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{TongGiaTriThangThucHien | formatNumber }} (USD)\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n equalizer Tổng giá trị cộng dồn:\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{TongGiaTriCongDon | formatNumber }} (USD)\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n business Số quốc gia:\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{so_quoc_gia}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n folder_open\\r\\n  \\r\\n DỮ LIỆU CHI TIẾT\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
STT {{i+1}} Tên hàng {{element.ten_san_pham}} Thị trường chủ yếu\\r\\n {{element.thi_truong}} Ước thực hiện tháng\\r\\n báo cáo\\r\\n Cộng đồn từ đầu năm\\r\\n đến ngày báo cáo Lượng (Tấn) {{element.san_luong_thang}} Trị giá (USD) {{element.tri_gia_thang}} Lượng (Tấn) {{element.san_luong_cong_don}} Trị giá (USD) {{element.tri_gia_cong_don}}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n

Không có dữ liệu

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n show_chart\\r\\n  \\r\\n DỮ LIỆU TỔNG HỢP\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n business Số doanh nghiệp:\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{so_doanh_nghiep}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n equalizer Mặt hàng:\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ten_san_pham}}\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n business Kỳ dữ liệu Tháng:\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{currentmonth}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n folder_open\\r\\n  \\r\\n DỮ LIỆU CHI TIẾT\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n Lọc dữ liệu\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
STT {{i+1}}\\r\\n Tên doanh nghiệp {{element?.ten_doanh_nghiep}} Công suất \\r\\n {{element.cong_suat}} Địa chỉ {{element.dia_chi_day_du}} Chi tiết
Doanh nghiệp
\\r\\n search\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\"","export default \"\\r\\n \\r\\n \\r\\n \\r\\n THÔNG TIN VỀ TÌNH HÌNH XUẤT KHẨU\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Thời gian\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n Nguồn dữ liệu: \\r\\n \\r\\n \\r\\n {{ item.unit }}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
KHÔNG CÓ DỮ LIỆU TRONG THÁNG HIỆN TẠI\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
STT\\r\\n {{ i + 1 }}\\r\\n \\r\\n TT\\r\\n \\r\\n {{ element.tt }}\\r\\n \\r\\n Tên sản phẩm\\r\\n \\r\\n {{ element.ten_san_pham }}\\r\\n \\r\\n Đơn vị tính\\r\\n \\r\\n {{ element.don_vi_tinh }}\\r\\n Thời gian\\r\\n cập nhật {{element.thoi_gian_chinh_sua_cuoi | date:\\r\\n 'dd/MM/yyyy, h:mm a'}}\\r\\n \\r\\n Tháng {{month}}\\r\\n \\r\\n {{month}} Tháng\\r\\n Thực hiện tháng {{month}} (Triệu USD)\\r\\n {{ element.tri_gia_thang | formatNumber }}\\r\\n ƯTH\\r\\n so với tháng {{month}} cùng kỳ\\r\\n {{ element.uoc_thang_so_voi_ki_truoc | formatNumber }}\\r\\n ƯTH\\r\\n so với tháng trước\\r\\n {{ element.uoc_thang_so_voi_thang_truoc | formatNumber }}\\r\\n Thực hiện {{month}} tháng (Triệu USD)\\r\\n {{ element.tri_gia_cong_don | formatNumber }}\\r\\n ƯTH\\r\\n so với {{month}} tháng cùng kỳ\\r\\n {{ element.uoc_cong_don_so_voi_ki_truoc | formatNumber }}\\r\\n ƯTH\\r\\n so với kế hoạch năm\\r\\n {{ element.uoc_cong_don_so_voi_cong_don_truoc | formatNumber }}\\r\\n \\r\\n \\r\\n Doanh nghiệp xuất khẩu\\r\\n \\r\\n directions_boat\\r\\n \\r\\n \\r\\n Chi tiết xuất khẩu\\r\\n \\r\\n local_airport\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n Từ tháng\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n Đến tháng\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n Nguồn dữ liệu: \\r\\n \\r\\n \\r\\n {{ item.unit }}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n {{item.ten_san_pham}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
KHÔNG CÓ DỮ LIỆU TRONG KHOẢNG THỜI GIAN HIỆN\\r\\n TẠI
\\r\\n \\r\\n
\\r\\n
\\r\\n
\"","export default \"\\r\\n \\r\\n \\r\\n \\r\\n THÔNG TIN VỀ TÌNH HÌNH NHẬP KHẨU KHẨU\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Thời gian\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n Nguồn dữ liệu: \\r\\n \\r\\n \\r\\n {{ item.unit }}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
KHÔNG CÓ DỮ LIỆU TRONG THÁNG HIỆN TẠI\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
STT\\r\\n {{ i + 1 }}\\r\\n \\r\\n TT\\r\\n \\r\\n {{ element.tt }}\\r\\n \\r\\n Tên sản phẩm\\r\\n \\r\\n {{ element.ten_san_pham }}\\r\\n \\r\\n Đơn vị tính\\r\\n \\r\\n {{ element.don_vi_tinh }}\\r\\n Thời gian\\r\\n cập nhật {{element.thoi_gian_chinh_sua_cuoi | date:\\r\\n 'dd/MM/yyyy, h:mm a'}}\\r\\n \\r\\n Tháng {{month}}\\r\\n \\r\\n {{month}} Tháng\\r\\n Thực hiện tháng {{month}} (Triệu USD)\\r\\n {{ element.tri_gia_thang | formatNumber }}\\r\\n ƯTH\\r\\n so với tháng {{month}} cùng kỳ\\r\\n {{ element.uoc_thang_so_voi_ki_truoc | formatNumber }}\\r\\n ƯTH\\r\\n so với tháng trước\\r\\n {{ element.uoc_thang_so_voi_thang_truoc | formatNumber }}\\r\\n Thực hiện {{month}} tháng (Triệu USD)\\r\\n {{ element.tri_gia_cong_don | formatNumber }}\\r\\n ƯTH\\r\\n so với {{month}} tháng cùng kỳ\\r\\n {{ element.uoc_cong_don_so_voi_ki_truoc | formatNumber }}\\r\\n ƯTH\\r\\n so với kế hoạch năm\\r\\n {{ element.uoc_cong_don_so_voi_cong_don_truoc | formatNumber }}\\r\\n \\r\\n \\r\\n Doanh nghiệp nhập khẩu\\r\\n \\r\\n directions_boat\\r\\n \\r\\n \\r\\n Chi tiết nhập khẩu\\r\\n \\r\\n local_airport\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n Từ tháng\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n Đến tháng\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n Nguồn dữ liệu: \\r\\n \\r\\n \\r\\n {{ item.unit }}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n {{item.ten_san_pham}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
KHÔNG CÓ DỮ LIỆU TRONG KHOẢNG THỜI GIAN HIỆN\\r\\n TẠI
\\r\\n \\r\\n
\\r\\n
\\r\\n
\"","export default \"\\r\\n \\r\\n \\r\\n \\r\\n THÔNG TIN VỀ GIÁ CẢ TRONG NƯỚC\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Ngày cập nhật giá\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
STT \\r\\n {{i + 1 + (paginator.pageIndex * paginator.pageSize)}} ID Sản Phẩm {{element.id_san_pham}} Thông tin sản phẩm \\r\\n
{{element.ten_san_pham}}
\\r\\n
    \\r\\n
  • Đơn vị tính: {{element.don_vi_tinh1}}
  • \\r\\n
  • Giá: {{element.gia_ca | formatNumber}} đ
  • \\r\\n
\\r\\n
Nguồn số liệu {{element.nguon_so_lieu}} Ngày cập nhật {{element.ngay_cap_nhat }}
\\r\\n\\r\\n
KHÔNG CÓ DỮ LIỆU
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n Từ ngày\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n Đến ngày\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n {{item.ten_san_pham}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
KHÔNG CÓ DỮ LIỆU TRONG KHOẢNG THỜI GIAN HIỆN\\r\\n TẠI
\\r\\n \\r\\n
\\r\\n
\\r\\n
\"","export default \"\\r\\n \\r\\n \\r\\n \\r\\n THÔNG TIN VỀ TÌNH HÌNH SẢN XUẤT\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Thời gian\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
STT {{i+1}} ID Sản Phẩm {{element.id_san_pham}} Tên sản phẩm {{element.ten_san_pham}} Đơn vị tính {{element.don_vi_tinh2}} Sản lượng {{element.san_luong | number:\\r\\n '1.0-4':'vi'}}\\r\\n Trị giá (Nghìn USD) {{element.tri_gia | number:\\r\\n '1.0-4':'vi'}} TOP DN
Sản xuất
\\r\\n emoji_events\\r\\n
\\r\\n\\r\\n
KHÔNG CÓ DỮ LIỆU TRONG THÁNG HIỆN TẠI
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n Từ tháng\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n Đến tháng\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n {{item.ten_san_pham}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
KHÔNG CÓ DỮ LIỆU TRONG KHOẢNG THỜI GIAN HIỆN\\r\\n TẠI
\\r\\n \\r\\n
\\r\\n
\\r\\n
\"","export default \"\\r\\n \\r\\n \\r\\n \\r\\n THÔNG TIN VỀ GIÁ CẢ QUỐC TẾ\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Ngày cập nhật giá\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
STT {{i + 1 +\\r\\n (paginator.pageIndex * paginator.pageSize)}} ID Sản Phẩm {{element.id_san_pham}} Thông tin sản phẩm \\r\\n
{{element.ten_san_pham}}
\\r\\n
    \\r\\n
  • Đơn vị tính: {{ element.don_vi_tinh }}
  • \\r\\n
  • Giá: ${{element.gia_ca | number: '1.0-4':'vi'}}
  • \\r\\n
  • Nguồn: {{element.nguon_so_lieu}}
  • \\r\\n
\\r\\n
Thị trường {{element.thi_truong }} Ngày cập nhật {{element.ngay_cap_nhat }}
\\r\\n\\r\\n
KHÔNG CÓ DỮ LIỆU
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n Từ ngày\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n Đến ngày\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n {{item.ten_san_pham}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
KHÔNG CÓ DỮ LIỆU TRONG KHOẢNG THỜI GIAN HIỆN\\r\\n TẠI
\\r\\n \\r\\n
\\r\\n
\\r\\n
\"","import { Component, ViewChild, ElementRef, OnInit, Inject } from '@angular/core';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { Router } from '@angular/router';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\n\r\nimport { TopCompanyModel, ProductValueModel, ExportMarketModel, ImportMarketModel } from 'src/app/_models/APIModel/domestic-market.model';\r\n\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\nimport { SAVE } from 'src/app/_enums/save.enum';\r\nimport { InformationService } from 'src/app/shared/information/information.service';\r\nimport { ExcelService } from 'src/app/_services/excelUtil.service';\r\nimport { MarketServicePublic } from 'src/app/_services/APIService/market.service public';\r\nimport { FilterService } from 'src/app/_services/filter.service';\r\n\r\n@Component({\r\n selector: 'company-top-popup',\r\n\r\n templateUrl: 'company-top-popup.component.html',\r\n styleUrls: ['../../public_layout.scss'],\r\n})\r\n\r\nexport class CompanyTopPopup implements OnInit {\r\n @ViewChild('TABLE', { static: false }) table: ElementRef;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n\r\n dataSource: MatTableDataSource = new MatTableDataSource();\r\n public displayedColumns: string[] = ['index', 'ten_doanh_nghiep', 'cong_suat', 'mst', 'dia_chi', 'dien_thoai', 'chi_tiet_doanh_nghiep'];\r\n\r\n field: string;\r\n public product_data: ProductValueModel;\r\n public import_data: ImportMarketModel;\r\n public export_data: ExportMarketModel;\r\n typeOfSave: SAVE;\r\n\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n public dialogRef: MatDialogRef,\r\n public marketService: MarketServicePublic,\r\n public router: Router,\r\n public info: InformationService,\r\n public excelService: ExcelService,\r\n public filterService: FilterService\r\n ) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.field = this.data.message;\r\n this.product_data = this.data.product_data;\r\n this.import_data = this.data.import_data;\r\n this.export_data = this.data.export_data;\r\n\r\n this.typeOfSave = this.data.typeOfSave;\r\n switch (this.typeOfSave) {\r\n case SAVE.EXPORT:\r\n this.GetTopExport();\r\n break;\r\n case SAVE.IMPORT:\r\n this.GetTopImport();\r\n break;\r\n case SAVE.PRODUCT:\r\n this.GetTopProduct();\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n OpenDetailCompany(mst: string) {\r\n window.open('/#/public/partner/search/' + mst.trim(), \"_blank\");\r\n }\r\n\r\n public exportTOExcel(filename: string, sheetname: string) {\r\n this.excelService.exportDomTableAsExcelFile(filename, sheetname, this.table.nativeElement);\r\n }\r\n\r\n filtercompany: Array = new Array();\r\n filtercompany1: Array = new Array();\r\n\r\n public GetTopProduct() {\r\n this.marketService.GetProductValue(this.product_data.time_id).subscribe(\r\n allrecords => {\r\n this.filtercompany = allrecords.data[1]\r\n this.filtercompany1 = this.filtercompany.filter(x => x.id_san_pham == this.product_data.id_san_pham)\r\n\r\n this.dataSource = new MatTableDataSource(this.filtercompany1);\r\n this.dataSource.paginator = this.paginator;\r\n this.paginator._intl.itemsPerPageLabel = 'Số hàng';\r\n this.paginator._intl.firstPageLabel = \"Trang Đầu\";\r\n this.paginator._intl.lastPageLabel = \"Trang Cuối\";\r\n this.paginator._intl.previousPageLabel = \"Trang Trước\";\r\n this.paginator._intl.nextPageLabel = \"Trang Tiếp\";\r\n });\r\n }\r\n\r\n public GetTopExport() {\r\n this.marketService.GetExportValue(this.export_data.time_id).subscribe(\r\n allrecords => {\r\n this.filtercompany = allrecords.data[1]\r\n this.filtercompany1 = this.filtercompany.filter(x => x.id_san_pham == this.export_data.id_san_pham)\r\n\r\n this.dataSource = new MatTableDataSource(this.filtercompany1);\r\n this.dataSource.paginator = this.paginator;\r\n this.paginator._intl.itemsPerPageLabel = 'Số hàng';\r\n this.paginator._intl.firstPageLabel = \"Trang Đầu\";\r\n this.paginator._intl.lastPageLabel = \"Trang Cuối\";\r\n this.paginator._intl.previousPageLabel = \"Trang Trước\";\r\n this.paginator._intl.nextPageLabel = \"Trang Tiếp\";\r\n });\r\n }\r\n\r\n public GetTopImport() {\r\n this.marketService.GetImportValue(this.import_data.time_id).subscribe(\r\n allrecords => {\r\n this.filtercompany = allrecords.data[1]\r\n this.filtercompany1 = this.filtercompany.filter(x => x.id_san_pham == this.import_data.id_san_pham)\r\n\r\n this.dataSource = new MatTableDataSource(this.filtercompany1);\r\n this.dataSource.paginator = this.paginator;\r\n this.paginator._intl.itemsPerPageLabel = 'Số hàng';\r\n this.paginator._intl.firstPageLabel = \"Trang Đầu\";\r\n this.paginator._intl.lastPageLabel = \"Trang Cuối\";\r\n this.paginator._intl.previousPageLabel = \"Trang Trước\";\r\n this.paginator._intl.nextPageLabel = \"Trang Tiếp\";\r\n\r\n });\r\n }\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.dataSource.filterPredicate = (data, filter): boolean => {\r\n const dataStr = Object.keys(data).reduce((currentTerm: string, key: string) => {\r\n return (currentTerm + (data as { [key: string]: any })[key] + '◬');\r\n }, '').normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\").toLowerCase();\r\n \r\n const transformedFilter = filterValue.trim().normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\").toLowerCase();\r\n \r\n return dataStr.indexOf(transformedFilter) != -1;\r\n }\r\n\r\n this.dataSource.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n}","import { Component, ViewEncapsulation, ElementRef, Input, OnInit, OnDestroy, Inject, ViewChild } from '@angular/core';\r\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatTableDataSource, MatTable, MatAccordion, MatPaginator } from '@angular/material';\r\nimport { dialog_detail_model } from 'src/app/_models/APIModel/export-import.model';\r\nimport { District } from 'src/app/_models/district.model';\r\nimport { CompanyDetailModel } from 'src/app/_models/APIModel/domestic-market.model';\r\nimport { log } from 'util';\r\nimport { Route } from '@angular/compiler/src/core';\r\nimport { Router } from '@angular/router';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { formatDate } from '@angular/common';\r\n\r\nimport { ExcelService } from 'src/app/_services/excelUtil.service';\r\n\r\n@Component({\r\n selector: 'app-dialog-import-export',\r\n templateUrl: './dialog-import-export.component.html',\r\n styleUrls: ['../../public_layout.scss'],\r\n})\r\nexport class DialogImportExportComponent implements OnInit {\r\n public displayedColumns_business: string[] = ['index', 'ten_doanh_nghiep', 'cong_suat', 'dia_chi_day_du', 'chi_tiet_doanh_nghiep'];\r\n ten_san_pham: string = '';\r\n so_doanh_nghiep: number = 0;\r\n displayedColumns: string[] = ['index', 'ten_san_pham', 'thi_truong', 'luong_thang', 'gia_tri_thang', 'luong_cong_don', 'gia_tri_cong_don'];\r\n dataSource;\r\n dataDialog: any[] = [];\r\n years: number[] = [];\r\n months: number[] = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]\r\n sanLuongBanRa: number = 0;\r\n soLuongdoanhNghiep: number;\r\n isChecked: boolean;\r\n curentmonth: number = new Date().getMonth();\r\n currentmonth: string\r\n\r\n @ViewChild(\"table\", { static: false }) table: ElementRef;\r\n @ViewChild(\"table\", { static: false }) table1: ElementRef;\r\n @ViewChild(MatAccordion, { static: false }) accordion: MatAccordion;\r\n @ViewChild(MatPaginator, { static: false }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: false }) sort: MatSort;\r\n TongLuongThangThucHien: number = 0;\r\n TongGiaTriThangThucHien: number = 0;\r\n TongLuongCongDon: number = 0;\r\n TongGiaTriCongDon: number = 0;\r\n id: number = 1;\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n public router: Router,\r\n public excelService: ExcelService,\r\n ) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.handleData();\r\n this.currentmonth = this.getCurrentMonth();\r\n // console.log(this.data);\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n //Called after ngAfterContentInit when the component's view has been initialized. Applies to components only.\r\n //Add 'implements AfterViewInit' to the class.\r\n setTimeout(() => this.accordion.openAll(), 500)\r\n this.dataSource.paginator = this.paginator\r\n this.dataSource.sort = this.sort;\r\n }\r\n\r\n public getCurrentMonth(): string {\r\n let date = new Date;\r\n return formatDate(date, 'MM-yyyy', 'en-US');\r\n }\r\n\r\n so_quoc_gia: number = 0;\r\n handleData() {\r\n this.id = this.data['id'];\r\n // id = 1 => Export\r\n if (this.id === 1) {\r\n this.dataSource = new MatTableDataSource(this.data['data']);\r\n this.TongGiaTriThangThucHien = this.data['data'].length ? this.data['data'].map(item => item.tri_gia_thang).reduce((a, b) => a + b) : 0\r\n this.TongGiaTriCongDon = this.data['data'].length ? this.data['data'].map(item => item.tri_gia_cong_don).reduce((a, b) => a + b) : 0\r\n this.so_quoc_gia = this.data['data'].length;\r\n this.ten_san_pham = this.data.data.length ? this.data['data'][0]['ten_san_pham'] : '';\r\n } else {\r\n this.ten_san_pham = this.data.data.length ? this.data['data'][0]['ten_san_pham'] : '';\r\n this.so_doanh_nghiep = this.data['data'].length;\r\n if (this.data['data'].length)\r\n this.dataSource = new MatTableDataSource(this.data['data'])\r\n else\r\n this.dataSource = new MatTableDataSource()\r\n }\r\n }\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.dataSource.filter = filterValue.trim().toLowerCase();\r\n // debugger\r\n if (this.dataSource.paginator) {\r\n this.dataSource.paginator.firstPage();\r\n }\r\n }\r\n\r\n public OpenDetailCompany(mst: string) {\r\n let url = this.router.serializeUrl(\r\n this.router.createUrlTree(['/public/partner/search/' + mst]));\r\n window.open(url, \"_blank\");\r\n }\r\n\r\n public ExportTOExcel(filename: string, sheetname: string) {\r\n this.excelService.exportDomTableAsExcelFile(filename, sheetname, this.table.nativeElement);\r\n }\r\n\r\n}\r\n","import { Component, Injector, OnInit, ViewChild, ElementRef, AfterViewInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport {\r\n MatTableDataSource,\r\n MatAccordion,\r\n MatPaginator,\r\n MatDialog,\r\n MatDialogConfig,\r\n} from \"@angular/material\";\r\n\r\nimport { ExcelService } from 'src/app/_services/excelUtil.service';\r\nimport { SCTService } from \"src/app/_services/APIService/sct.service\";\r\nimport { ChartOptions, ChartDataSets, ChartType, Chart } from 'chart.js';\r\nimport { DashboardService } from 'src/app/_services/APIService/dashboard.service';\r\n\r\nimport { new_import_export_model, Task, data_detail_model } from \"src/app/_models/APIModel/export-import.model\";\r\nimport { exportimportchart, ProductModel } from 'src/app/_models/APIModel/domestic-market.model';\r\n\r\nimport { FormControl } from '@angular/forms';\r\nimport { ReplaySubject, Subject } from 'rxjs';\r\nimport { take, takeUntil } from 'rxjs/operators';\r\n\r\nimport { MatDatepicker } from '@angular/material/datepicker';\r\nimport { MomentDateAdapter, MAT_MOMENT_DATE_ADAPTER_OPTIONS } from '@angular/material-moment-adapter';\r\nimport { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core';\r\nimport _moment from 'moment';\r\nimport { defaultFormat as _rollupMoment, Moment } from 'moment';\r\nimport { BaseComponent } from 'src/app/components/specialized/base.component';\r\nimport { formatDate } from '@angular/common';\r\nimport { DialogImportExportComponent } from '../dialog-import-export/dialog-import-export.component';\r\n\r\nexport const MY_FORMATS = {\r\n parse: {\r\n dateInput: 'MM/YYYY',\r\n },\r\n display: {\r\n dateInput: 'MM/YYYY',\r\n monthYearLabel: 'MMM YYYY',\r\n dateA11yLabel: 'LL',\r\n monthYearA11yLabel: 'MMMM YYYY',\r\n },\r\n};\r\n\r\n@Component({\r\n selector: 'app-domestic-export',\r\n templateUrl: 'domestic-export.component.html',\r\n styleUrls: ['../../public_layout.scss'],\r\n providers: [\r\n {\r\n provide: DateAdapter,\r\n useClass: MomentDateAdapter,\r\n deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS]\r\n },\r\n\r\n { provide: MAT_DATE_FORMATS, useValue: MY_FORMATS },\r\n { provide: MAT_DATE_LOCALE, useValue: 'vi' },\r\n ],\r\n})\r\n\r\nexport class DomesticExportComponent extends BaseComponent {\r\n public dataSource: MatTableDataSource;\r\n\r\n constructor(\r\n public matDialog: MatDialog,\r\n public sctService: SCTService,\r\n private injector: Injector,\r\n public excelService: ExcelService,\r\n public router: Router,\r\n public dialog: MatDialog,\r\n public dashboardService: DashboardService) {\r\n super(injector);\r\n }\r\n\r\n public date = new FormControl();\r\n public newdate = new FormControl(_moment());\r\n public theYear: number;\r\n public theMonth: number;\r\n public stringmonth: string\r\n public time: string\r\n public timechange: number\r\n public month: string\r\n\r\n convertstringtodate(time: string): Date {\r\n let year = parseInt(time.substring(0, 4));\r\n let month = parseInt(time.substring(4, 6));\r\n let day = parseInt(time.substring(6, 8));\r\n\r\n let date = new Date(year, month - 1, day);\r\n return date\r\n }\r\n\r\n public chosenYearHandler(normalizedYear: Moment) {\r\n this.date = this.newdate\r\n const ctrlValue = this.date.value;\r\n ctrlValue.year(normalizedYear.year());\r\n this.date.setValue(ctrlValue);\r\n this.theYear = normalizedYear.year();\r\n }\r\n\r\n public chosenMonthHandler(normalizedMonth: Moment, datepicker: MatDatepicker) {\r\n const ctrlValue = this.date.value;\r\n ctrlValue.month(normalizedMonth.month());\r\n this.date.setValue(ctrlValue);\r\n this.theMonth = normalizedMonth.month() + 1;\r\n datepicker.close();\r\n\r\n if (this.theMonth >= 10) {\r\n this.stringmonth = this.theMonth.toString();\r\n }\r\n else {\r\n this.stringmonth = \"0\" + this.theMonth.toString()\r\n }\r\n this.time = this.theYear.toString() + this.stringmonth\r\n this.timechange = parseInt(this.time)\r\n\r\n if (this.dataTargetId == 1) {\r\n this.getDanhSachXuatKhau(this.timechange)\r\n }\r\n else {\r\n this.getDanhSachXuatKhauTC(this.timechange)\r\n }\r\n\r\n this.month = this.time.substring(4, 6)\r\n }\r\n\r\n dataTargets: any[] = [\r\n { id: 1, unit: \"Cục hải quan\" },\r\n { id: 2, unit: \"Tổng cục hải quan\" },\r\n ];\r\n dataTargetId = 1;\r\n dataTargetId1 = 1;\r\n\r\n displayedColumns = [\r\n // \"index\",\r\n \"tt\",\r\n \"ten_san_pham\",\r\n \"don_vi_tinh\",\r\n \"gia_tri_thang\",\r\n // \"uoc_th_so_cungky_tht\",\r\n // \"uoc_th_so_thg_truoc_tht\",\r\n\r\n \"gia_tri_cong_don\",\r\n // \"uoc_th_so_cungky_cong_don\",\r\n // \"uoc_th_so_thg_truoc_cong_don\",\r\n \"danh_sach_doanh_nghiep\",\r\n \"chi_tiet_doanh_nghiep\",\r\n ];\r\n displayRow1Header = [\r\n // \"index\",\r\n \"tt\",\r\n \"ten_san_pham\",\r\n \"don_vi_tinh\",\r\n \"thuc_hien_bao_cao_thang\",\r\n \"cong_don_den_ky_bao_cao\",\r\n\r\n \"danh_sach_doanh_nghiep\",\r\n \"chi_tiet_doanh_nghiep\",\r\n ];\r\n displaRow2Header = [\r\n \"gia_tri_thang\",\r\n \"uoc_th_so_cungky_tht\",\r\n \"uoc_th_so_thg_truoc_tht\",\r\n \"gia_tri_cong_don\",\r\n \"uoc_th_so_cungky_cong_don\",\r\n \"uoc_th_so_thg_truoc_cong_don\",\r\n ];\r\n\r\n public getCurrentMonth(): string {\r\n let date = new Date;\r\n return formatDate(date, 'yyyyMM', 'en-US');\r\n }\r\n\r\n ngOnInit() {\r\n this.GetProduct();\r\n this.defaultcode = 42\r\n this.tuthang = this.firstmonth.value\r\n this.denthang = this.presentmonth.value\r\n this.productcode = 42\r\n\r\n // this.month = this.getCurrentMonth().substring(4, 6)\r\n // this.timechange = parseInt(this.getCurrentMonth())\r\n this.getDanhSachXuatKhau(0);\r\n super.ngOnInit();\r\n\r\n this.profilter.valueChanges\r\n .pipe(takeUntil(this._onDestroy))\r\n .subscribe(() => {\r\n this.filterThuongnhan();\r\n });\r\n }\r\n\r\n public _onDestroy = new Subject();\r\n\r\n getDanhSachXuatKhau(time_id: number) {\r\n this.sctService.GetDanhSachXuatKhau(time_id).subscribe((result) => {\r\n this.setDataExport(result.data[0]);\r\n this.setDatabusiness(result.data[1]);\r\n this.setDataExportDetail(result.data[2]);\r\n\r\n if(time_id == 0){\r\n this.month = result.data[3][0].timechange.toString().substring(4, 6)\r\n this.date = new FormControl(_moment(this.convertstringtodate((result.data[3][0].timechange.toString() + '01'))))\r\n }\r\n });\r\n }\r\n\r\n getDanhSachXuatKhauTC(time_id: number) {\r\n this.sctService.GetDanhSachXuatKhauTC(time_id).subscribe((result) => {\r\n this.setDataExport(result.data[0]);\r\n this.setDatabusiness(result.data[1]);\r\n this.setDataExportDetail(result.data[2]);\r\n });\r\n }\r\n\r\n setDataExport(data) {\r\n this.dataSource = new MatTableDataSource(data);\r\n if (data.length) {\r\n this.dataSource.paginator = this.paginator;\r\n this.paginator._intl.itemsPerPageLabel = \"Số hàng\";\r\n this.paginator._intl.firstPageLabel = \"Trang Đầu\";\r\n this.paginator._intl.lastPageLabel = \"Trang Cuối\";\r\n this.paginator._intl.previousPageLabel = \"Trang Trước\";\r\n this.paginator._intl.nextPageLabel = \"Trang Tiếp\";\r\n }\r\n }\r\n\r\n setDataExportDetail(detail_export: any) {\r\n this.dataDialog = [...detail_export];\r\n }\r\n\r\n setDatabusiness(lsBusiness) {\r\n this.dataBusiness = lsBusiness;\r\n }\r\n\r\n applyDataTarget(event) {\r\n this.dataTargetId = event.value\r\n if (this.dataTargetId == 1) {\r\n this.getDanhSachXuatKhau(this.timechange)\r\n }\r\n else {\r\n this.getDanhSachXuatKhauTC(this.timechange)\r\n }\r\n }\r\n\r\n applyDataTarget1(event) {\r\n this.dataTargetId1 = event.value\r\n\r\n this.lineChart.config.data.datasets = []\r\n this.lineChartMethod(this.tuthang, this.denthang, this.productcode, this.dataTargetId1);\r\n }\r\n\r\n public ExportTOExcel(filename: string, sheetname: string) {\r\n this.excelService.exportDomTableAsExcelFile(filename, sheetname, this.table.nativeElement);\r\n }\r\n\r\n dataDialog: any[] = [];\r\n dataBusiness: any[] = [];\r\n\r\n handleDataDialog(id_mat_hang) {\r\n let data = this.dataDialog.filter(\r\n (item) => item.id_san_pham === id_mat_hang\r\n );\r\n return data;\r\n }\r\n\r\n openDialog(id_mat_hang) {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.data = {\r\n height: '70%',\r\n width: '70%',\r\n data: this.handleDataDialog(id_mat_hang),\r\n id: 1,\r\n };\r\n this.matDialog.open(DialogImportExportComponent, dialogConfig);\r\n }\r\n\r\n openDanh_sach_doanh_nghiep(id_san_pham) {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.data = {\r\n height: '70%',\r\n width: '70%',\r\n data: this.handleDataBusiness(id_san_pham),\r\n id: 2,\r\n };\r\n this.matDialog.open(DialogImportExportComponent, dialogConfig);\r\n }\r\n\r\n handleDataBusiness(id_san_pham) {\r\n let data = this.dataBusiness.filter(\r\n (item) => item.id_san_pham === id_san_pham\r\n );\r\n return data;\r\n }\r\n\r\n public firstmonth = new FormControl(_moment().startOf('year').format('yyyyMM'));\r\n public presentmonth = new FormControl(_moment().format('yyyyMM'));\r\n\r\n @ViewChild('lineCanvas', { static: false }) lineCanvas: ElementRef;\r\n lineChart: any;\r\n\r\n defaultcode: number\r\n tuthang: string\r\n denthang: string\r\n productcode: number\r\n\r\n timelist: string[]\r\n trigiathang: number[]\r\n trigiacongdon: number[]\r\n\r\n ngAfterViewInit(): void {\r\n this.lineChartMethod(this.tuthang, this.denthang, this.productcode, this.dataTargetId1);\r\n }\r\n\r\n exportchart: Array = new Array();\r\n\r\n lineChartMethod(tuthang: string, denthang: string, productcode: number, istongcuc: number) {\r\n let self = this;\r\n this.dashboardService.GetExportChart(tuthang, denthang, productcode, istongcuc).subscribe(\r\n all => {\r\n this.exportchart = all.data\r\n this.timelist = this.exportchart.map(x => this.Convertdate(x.time_id.toString()))\r\n this.trigiathang = this.exportchart.map(x => x.tri_gia_thang)\r\n this.trigiacongdon = this.exportchart.map(x => x.tri_gia_cong_don)\r\n\r\n this.lineChart = new Chart(this.lineCanvas.nativeElement, {\r\n type: 'line',\r\n data: {\r\n labels: this.timelist,\r\n datasets: [\r\n {\r\n label: 'Thực hiện tháng ' + self.month,\r\n fill: false,\r\n lineTension: 0.1,\r\n backgroundColor: 'rgb(255, 0, 0)',\r\n borderColor: 'rgb(255, 0, 0)',\r\n borderCapStyle: 'butt',\r\n borderDash: [],\r\n borderDashOffset: 0.0,\r\n borderJoinStyle: 'miter',\r\n pointBorderColor: 'rgb(255, 0, 0)',\r\n pointBackgroundColor: '#fff',\r\n pointBorderWidth: 1,\r\n pointHoverRadius: 5,\r\n pointHoverBackgroundColor: 'rgb(255, 0, 0)',\r\n pointHoverBorderColor: 'rgb(255, 0, 0)',\r\n pointHoverBorderWidth: 2,\r\n pointRadius: 1,\r\n pointHitRadius: 10,\r\n data: this.trigiathang,\r\n spanGaps: false,\r\n },\r\n {\r\n label: 'Thực hiện ' + self.month + ' tháng',\r\n fill: false,\r\n lineTension: 0.1,\r\n backgroundColor: 'rgb(0, 0, 255)',\r\n borderColor: 'rgb(0, 0, 255)',\r\n borderCapStyle: 'butt',\r\n borderDash: [],\r\n borderDashOffset: 0.0,\r\n borderJoinStyle: 'miter',\r\n pointBorderColor: 'rgb(0, 0, 255)',\r\n pointBackgroundColor: '#fff',\r\n pointBorderWidth: 1,\r\n pointHoverRadius: 5,\r\n pointHoverBackgroundColor: 'rgb(0, 0, 255)',\r\n pointHoverBorderColor: 'rgb(0, 0, 255)',\r\n pointHoverBorderWidth: 2,\r\n pointRadius: 1,\r\n pointHitRadius: 10,\r\n data: this.trigiacongdon,\r\n spanGaps: false,\r\n }\r\n ]\r\n },\r\n options: {\r\n scales: {\r\n yAxes: [{\r\n ticks: {\r\n callback: function(value, index, values) {\r\n return self.numberWithDot(value) + ' tr $';\r\n }\r\n },\r\n }],\r\n }\r\n }\r\n });\r\n },\r\n );\r\n }\r\n\r\n numberWithDot(x) {\r\n return x.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \".\");\r\n }\r\n\r\n products: Array = new Array();\r\n filterproducts: ReplaySubject = new ReplaySubject(1);\r\n GetProduct() {\r\n this.dashboardService.GetProductListAll().subscribe((allrecords) => {\r\n this.products = allrecords.data.filter(x => x.xnk == 1) as ProductModel[];\r\n this.filterproducts.next(this.products.slice());\r\n });\r\n }\r\n public profilter: FormControl = new FormControl();\r\n public filterThuongnhan() {\r\n if (!this.products) {\r\n return;\r\n }\r\n let search = this.profilter.value;\r\n if (!search) {\r\n this.filterproducts.next(this.products.slice());\r\n return;\r\n } else {\r\n search = search.toLowerCase();\r\n }\r\n this.filterproducts.next(\r\n this.products.filter(x => x.ten_san_pham.toLowerCase().indexOf(search) > -1)\r\n );\r\n }\r\n\r\n applyfilter(event) {\r\n this.productcode = event.value\r\n this.lineChart.config.data.datasets = []\r\n this.lineChartMethod(this.tuthang, this.denthang, this.productcode, this.dataTargetId1);\r\n }\r\n\r\n Convertdate(text: string): string {\r\n let date: string\r\n date = text.substr(4, 2) + \"/\" + text.substring(0, 4)\r\n return date\r\n }\r\n\r\n public date1 = new FormControl(_moment().startOf('year').format('yyyyMM'));\r\n public newdate1 = new FormControl(_moment());\r\n\r\n public chosenYearHandler1(normalizedYear: Moment) {\r\n this.date1 = this.newdate1\r\n const ctrlValue = this.date1.value;\r\n ctrlValue.year(normalizedYear.year());\r\n this.date1.setValue(ctrlValue);\r\n this.theYear = normalizedYear.year();\r\n }\r\n\r\n public chosenMonthHandler1(normalizedMonth: Moment, datepicker: MatDatepicker) {\r\n const ctrlValue = this.date1.value;\r\n ctrlValue.month(normalizedMonth.month());\r\n this.date1.setValue(ctrlValue);\r\n this.theMonth = normalizedMonth.month() + 1;\r\n datepicker.close();\r\n\r\n if (this.theMonth >= 10) {\r\n this.stringmonth = this.theMonth.toString();\r\n }\r\n else {\r\n this.stringmonth = \"0\" + this.theMonth.toString()\r\n }\r\n this.time = this.theYear.toString() + this.stringmonth\r\n\r\n this.tuthang = this.time\r\n this.lineChart.config.data.datasets = []\r\n this.lineChartMethod(this.tuthang, this.denthang, this.productcode, this.dataTargetId1);\r\n }\r\n\r\n public date2 = new FormControl(_moment());\r\n public newdate2 = new FormControl(_moment());\r\n\r\n public chosenYearHandler2(normalizedYear: Moment) {\r\n this.date2 = this.newdate2\r\n const ctrlValue = this.date2.value;\r\n ctrlValue.year(normalizedYear.year());\r\n this.date1.setValue(ctrlValue);\r\n this.theYear = normalizedYear.year();\r\n }\r\n\r\n public chosenMonthHandler2(normalizedMonth: Moment, datepicker: MatDatepicker) {\r\n const ctrlValue = this.date2.value;\r\n ctrlValue.month(normalizedMonth.month());\r\n this.date2.setValue(ctrlValue);\r\n this.theMonth = normalizedMonth.month() + 1;\r\n datepicker.close();\r\n\r\n if (this.theMonth >= 10) {\r\n this.stringmonth = this.theMonth.toString();\r\n }\r\n else {\r\n this.stringmonth = \"0\" + this.theMonth.toString()\r\n }\r\n this.time = this.theYear.toString() + this.stringmonth\r\n\r\n this.denthang = this.time\r\n this.lineChart.config.data.datasets = []\r\n this.lineChartMethod(this.tuthang, this.denthang, this.productcode, this.dataTargetId1);\r\n }\r\n}\r\n","import { Component, Injector, ViewChild, ElementRef } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport {\r\n MatTableDataSource,\r\n MatDialog,\r\n MatDialogConfig,\r\n} from \"@angular/material\";\r\n\r\nimport { FormControl } from '@angular/forms';\r\nimport { ReplaySubject, Subject } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\n\r\nimport { ExcelService } from 'src/app/_services/excelUtil.service';\r\nimport { SCTService } from \"src/app/_services/APIService/sct.service\";\r\nimport { Chart } from 'chart.js';\r\nimport { DashboardService } from 'src/app/_services/APIService/dashboard.service';\r\n\r\nimport { new_import_export_model } from \"src/app/_models/APIModel/export-import.model\";\r\nimport { exportimportchart, ProductModel } from 'src/app/_models/APIModel/domestic-market.model';\r\n\r\nimport { MatDatepicker } from '@angular/material/datepicker';\r\nimport { MomentDateAdapter, MAT_MOMENT_DATE_ADAPTER_OPTIONS } from '@angular/material-moment-adapter';\r\nimport { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core';\r\nimport _moment from 'moment';\r\nimport { defaultFormat as _rollupMoment, Moment } from 'moment';\r\nimport { BaseComponent } from 'src/app/components/specialized/base.component';\r\nimport { formatDate } from '@angular/common';\r\nimport { DialogImportExportComponent } from '../dialog-import-export/dialog-import-export.component';\r\n\r\nexport const MY_FORMATS = {\r\n parse: {\r\n dateInput: 'MM/YYYY',\r\n },\r\n display: {\r\n dateInput: 'MM/YYYY',\r\n monthYearLabel: 'MMM YYYY',\r\n dateA11yLabel: 'LL',\r\n monthYearA11yLabel: 'MMMM YYYY',\r\n },\r\n};\r\n\r\n@Component({\r\n selector: 'app-domestic-import',\r\n templateUrl: 'domestic-import.component.html',\r\n styleUrls: ['../../public_layout.scss'],\r\n providers: [\r\n {\r\n provide: DateAdapter,\r\n useClass: MomentDateAdapter,\r\n deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS]\r\n },\r\n\r\n { provide: MAT_DATE_FORMATS, useValue: MY_FORMATS },\r\n { provide: MAT_DATE_LOCALE, useValue: 'vi' },\r\n ],\r\n})\r\n\r\nexport class DomesticImportComponent extends BaseComponent {\r\n public dataSource: MatTableDataSource;\r\n\r\n constructor(\r\n public matDialog: MatDialog,\r\n public sctService: SCTService,\r\n private injector: Injector,\r\n public excelService: ExcelService,\r\n public router: Router,\r\n public dialog: MatDialog,\r\n public dashboardService: DashboardService) {\r\n super(injector);\r\n }\r\n\r\n public date = new FormControl();\r\n public newdate = new FormControl(_moment());\r\n public theYear: number;\r\n public theMonth: number;\r\n public stringmonth: string\r\n public time: string\r\n public timechange: number\r\n public month: string\r\n\r\n convertstringtodate(time: string): Date {\r\n let year = parseInt(time.substring(0, 4));\r\n let month = parseInt(time.substring(4, 6));\r\n let day = parseInt(time.substring(6, 8));\r\n\r\n let date = new Date(year, month - 1, day);\r\n return date\r\n}\r\n\r\n public chosenYearHandler(normalizedYear: Moment) {\r\n this.date = this.newdate\r\n const ctrlValue = this.date.value;\r\n ctrlValue.year(normalizedYear.year());\r\n this.date.setValue(ctrlValue);\r\n this.theYear = normalizedYear.year();\r\n }\r\n\r\n public chosenMonthHandler(normalizedMonth: Moment, datepicker: MatDatepicker) {\r\n const ctrlValue = this.date.value;\r\n ctrlValue.month(normalizedMonth.month());\r\n this.date.setValue(ctrlValue);\r\n this.theMonth = normalizedMonth.month() + 1;\r\n datepicker.close();\r\n\r\n if (this.theMonth >= 10) {\r\n this.stringmonth = this.theMonth.toString();\r\n }\r\n else {\r\n this.stringmonth = \"0\" + this.theMonth.toString()\r\n }\r\n this.time = this.theYear.toString() + this.stringmonth\r\n this.timechange = parseInt(this.time)\r\n\r\n if (this.dataTargetId == 1) {\r\n this.getDanhSachNhapKhau(this.timechange)\r\n }\r\n else {\r\n this.getDanhSachNhapKhauTC(this.timechange)\r\n }\r\n\r\n this.month = this.time.substring(4, 6)\r\n }\r\n\r\n dataTargets: any[] = [\r\n { id: 1, unit: \"Cục hải quan\" },\r\n { id: 2, unit: \"Tổng cục hải quan\" },\r\n ];\r\n dataTargetId = 1;\r\n dataTargetId1 = 1;\r\n\r\n displayedColumns = [\r\n // \"index\",\r\n \"tt\",\r\n \"ten_san_pham\",\r\n \"don_vi_tinh\",\r\n \"gia_tri_thang\",\r\n // \"uoc_th_so_cungky_tht\",\r\n // \"uoc_th_so_thg_truoc_tht\",\r\n\r\n \"gia_tri_cong_don\",\r\n // \"uoc_th_so_cungky_cong_don\",\r\n // \"uoc_th_so_thg_truoc_cong_don\",\r\n \"danh_sach_doanh_nghiep\",\r\n \"chi_tiet_doanh_nghiep\",\r\n ];\r\n displayRow1Header = [\r\n // \"index\",\r\n \"tt\",\r\n \"ten_san_pham\",\r\n \"don_vi_tinh\",\r\n \"thuc_hien_bao_cao_thang\",\r\n \"cong_don_den_ky_bao_cao\",\r\n\r\n \"danh_sach_doanh_nghiep\",\r\n \"chi_tiet_doanh_nghiep\",\r\n ];\r\n displaRow2Header = [\r\n \"gia_tri_thang\",\r\n \"uoc_th_so_cungky_tht\",\r\n \"uoc_th_so_thg_truoc_tht\",\r\n \"gia_tri_cong_don\",\r\n \"uoc_th_so_cungky_cong_don\",\r\n \"uoc_th_so_thg_truoc_cong_don\",\r\n ];\r\n\r\n public getCurrentMonth(): string {\r\n let date = new Date;\r\n return formatDate(date, 'yyyyMM', 'en-US');\r\n }\r\n\r\n ngOnInit() {\r\n this.GetProduct();\r\n this.defaultcode = 55\r\n this.tuthang = this.firstmonth.value\r\n this.denthang = this.presentmonth.value\r\n this.productcode = 55\r\n\r\n // this.month = this.getCurrentMonth().substring(4, 6)\r\n // this.timechange = parseInt(this.getCurrentMonth())\r\n this.getDanhSachNhapKhau(0);\r\n super.ngOnInit();\r\n\r\n this.profilter.valueChanges\r\n .pipe(takeUntil(this._onDestroy))\r\n .subscribe(() => {\r\n this.filterThuongnhan();\r\n });\r\n }\r\n\r\n public _onDestroy = new Subject();\r\n\r\n getDanhSachNhapKhau(time_id: number) {\r\n this.sctService.GetDanhSachNhapKhau(time_id).subscribe((result) => {\r\n this.setDataExport(result.data[0]);\r\n this.setDatabusiness(result.data[1]);\r\n this.setDataExportDetail(result.data[2]);\r\n if(time_id == 0){\r\n this.month = result.data[3][0].timechange.toString().substring(4, 6)\r\n this.date = new FormControl(_moment(this.convertstringtodate((result.data[3][0].timechange.toString() + '01'))))\r\n }\r\n });\r\n }\r\n\r\n getDanhSachNhapKhauTC(time_id: number) {\r\n this.sctService.GetDanhSachNhapKhauTC(time_id).subscribe((result) => {\r\n this.setDataExport(result.data[0]);\r\n this.setDatabusiness(result.data[1]);\r\n this.setDataExportDetail(result.data[2]);\r\n });\r\n }\r\n\r\n setDataExport(data) {\r\n this.dataSource = new MatTableDataSource(data);\r\n if (data.length) {\r\n this.dataSource.paginator = this.paginator;\r\n this.paginator._intl.itemsPerPageLabel = \"Số hàng\";\r\n this.paginator._intl.firstPageLabel = \"Trang Đầu\";\r\n this.paginator._intl.lastPageLabel = \"Trang Cuối\";\r\n this.paginator._intl.previousPageLabel = \"Trang Trước\";\r\n this.paginator._intl.nextPageLabel = \"Trang Tiếp\";\r\n }\r\n }\r\n\r\n setDataExportDetail(detail_export: any) {\r\n this.dataDialog = [...detail_export];\r\n }\r\n\r\n setDatabusiness(lsBusiness) {\r\n this.dataBusiness = lsBusiness;\r\n }\r\n\r\n applyDataTarget(event) {\r\n this.dataTargetId = event.value\r\n if (this.dataTargetId == 1) {\r\n this.getDanhSachNhapKhau(this.timechange)\r\n }\r\n else {\r\n this.getDanhSachNhapKhauTC(this.timechange)\r\n }\r\n }\r\n\r\n applyDataTarget1(event) {\r\n this.dataTargetId1 = event.value\r\n\r\n this.lineChart.config.data.datasets = []\r\n this.lineChartMethod(this.tuthang, this.denthang, this.productcode, this.dataTargetId1);\r\n }\r\n\r\n public ExportTOExcel(filename: string, sheetname: string) {\r\n this.excelService.exportDomTableAsExcelFile(filename, sheetname, this.table.nativeElement);\r\n }\r\n\r\n dataDialog: any[] = [];\r\n dataBusiness: any[] = [];\r\n\r\n handleDataDialog(id_mat_hang) {\r\n let data = this.dataDialog.filter(\r\n (item) => item.id_san_pham === id_mat_hang\r\n );\r\n return data;\r\n }\r\n\r\n openDialog(id_mat_hang) {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.data = {\r\n height: '70%',\r\n width: '70%',\r\n data: this.handleDataDialog(id_mat_hang),\r\n id: 1,\r\n };\r\n this.matDialog.open(DialogImportExportComponent, dialogConfig);\r\n }\r\n\r\n openDanh_sach_doanh_nghiep(id_san_pham) {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.data = {\r\n height: '70%',\r\n width: '70%',\r\n data: this.handleDataBusiness(id_san_pham),\r\n id: 2,\r\n };\r\n this.matDialog.open(DialogImportExportComponent, dialogConfig);\r\n }\r\n\r\n handleDataBusiness(id_san_pham) {\r\n let data = this.dataBusiness.filter(\r\n (item) => item.id_san_pham === id_san_pham\r\n );\r\n return data;\r\n }\r\n\r\n public firstmonth = new FormControl(_moment().startOf('year').format('yyyyMM'));\r\n public presentmonth = new FormControl(_moment().format('yyyyMM'));\r\n\r\n @ViewChild('lineCanvas', { static: false }) lineCanvas: ElementRef;\r\n lineChart: any;\r\n\r\n defaultcode: number\r\n tuthang: string\r\n denthang: string\r\n productcode: number\r\n\r\n timelist: string[]\r\n trigiathang: number[]\r\n trigiacongdon: number[]\r\n\r\n ngAfterViewInit(): void {\r\n this.lineChartMethod(this.tuthang, this.denthang, this.productcode, this.dataTargetId1);\r\n }\r\n\r\n importchart: Array = new Array();\r\n\r\n lineChartMethod(tuthang: string, denthang: string, productcode: number, istongcuc: number) {\r\n let self = this;\r\n this.dashboardService.GetImportChart(tuthang, denthang, productcode, istongcuc).subscribe(\r\n all => {\r\n this.importchart = all.data\r\n this.timelist = this.importchart.map(x => this.Convertdate(x.time_id.toString()))\r\n this.trigiathang = this.importchart.map(x => x.tri_gia_thang)\r\n this.trigiacongdon = this.importchart.map(x => x.tri_gia_cong_don)\r\n\r\n this.lineChart = new Chart(this.lineCanvas.nativeElement, {\r\n type: 'line',\r\n data: {\r\n labels: this.timelist,\r\n datasets: [\r\n {\r\n label: 'Thực hiện tháng ' + self.month,\r\n fill: false,\r\n lineTension: 0.1,\r\n backgroundColor: 'rgb(255, 0, 0)',\r\n borderColor: 'rgb(255, 0, 0)',\r\n borderCapStyle: 'butt',\r\n borderDash: [],\r\n borderDashOffset: 0.0,\r\n borderJoinStyle: 'miter',\r\n pointBorderColor: 'rgb(255, 0, 0)',\r\n pointBackgroundColor: '#fff',\r\n pointBorderWidth: 1,\r\n pointHoverRadius: 5,\r\n pointHoverBackgroundColor: 'rgb(255, 0, 0)',\r\n pointHoverBorderColor: 'rgb(255, 0, 0)',\r\n pointHoverBorderWidth: 2,\r\n pointRadius: 1,\r\n pointHitRadius: 10,\r\n data: this.trigiathang,\r\n spanGaps: false,\r\n },\r\n {\r\n label: 'Thực hiện ' + self.month + ' tháng',\r\n fill: false,\r\n lineTension: 0.1,\r\n backgroundColor: 'rgb(0, 0, 255)',\r\n borderColor: 'rgb(0, 0, 255)',\r\n borderCapStyle: 'butt',\r\n borderDash: [],\r\n borderDashOffset: 0.0,\r\n borderJoinStyle: 'miter',\r\n pointBorderColor: 'rgb(0, 0, 255)',\r\n pointBackgroundColor: '#fff',\r\n pointBorderWidth: 1,\r\n pointHoverRadius: 5,\r\n pointHoverBackgroundColor: 'rgb(0, 0, 255)',\r\n pointHoverBorderColor: 'rgb(0, 0, 255)',\r\n pointHoverBorderWidth: 2,\r\n pointRadius: 1,\r\n pointHitRadius: 10,\r\n data: this.trigiacongdon,\r\n spanGaps: false,\r\n }\r\n ]\r\n },\r\n options: {\r\n scales: {\r\n yAxes: [{\r\n ticks: {\r\n callback: function(value, index, values) {\r\n return self.numberWithDot(value) + ' tr $';\r\n }\r\n },\r\n }],\r\n }\r\n }\r\n });\r\n },\r\n );\r\n }\r\n\r\n numberWithDot(x) {\r\n return x.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \".\");\r\n }\r\n\r\n products: Array = new Array();\r\n filterproducts: ReplaySubject = new ReplaySubject(1);\r\n GetProduct() {\r\n this.dashboardService.GetProductListAll().subscribe((allrecords) => {\r\n this.products = allrecords.data.filter(x => x.xnk == 2) as ProductModel[];\r\n this.filterproducts.next(this.products.slice());\r\n });\r\n }\r\n public profilter: FormControl = new FormControl();\r\n public filterThuongnhan() {\r\n if (!this.products) {\r\n return;\r\n }\r\n let search = this.profilter.value;\r\n if (!search) {\r\n this.filterproducts.next(this.products.slice());\r\n return;\r\n } else {\r\n search = search.toLowerCase();\r\n }\r\n this.filterproducts.next(\r\n this.products.filter(x => x.ten_san_pham.toLowerCase().indexOf(search) > -1)\r\n );\r\n }\r\n\r\n applyfilter(event) {\r\n this.productcode = event.value\r\n this.lineChart.config.data.datasets = []\r\n this.lineChartMethod(this.tuthang, this.denthang, this.productcode, this.dataTargetId1);\r\n }\r\n\r\n Convertdate(text: string): string {\r\n let date: string\r\n date = text.substr(4, 2) + \"-\" + text.substring(0, 4)\r\n return date\r\n }\r\n\r\n public date1 = new FormControl(_moment().startOf('year').format('yyyyMM'));\r\n public newdate1 = new FormControl(_moment());\r\n\r\n public chosenYearHandler1(normalizedYear: Moment) {\r\n this.date1 = this.newdate1\r\n const ctrlValue = this.date1.value;\r\n ctrlValue.year(normalizedYear.year());\r\n this.date1.setValue(ctrlValue);\r\n this.theYear = normalizedYear.year();\r\n }\r\n\r\n public chosenMonthHandler1(normalizedMonth: Moment, datepicker: MatDatepicker) {\r\n const ctrlValue = this.date1.value;\r\n ctrlValue.month(normalizedMonth.month());\r\n this.date1.setValue(ctrlValue);\r\n this.theMonth = normalizedMonth.month() + 1;\r\n datepicker.close();\r\n\r\n if (this.theMonth >= 10) {\r\n this.stringmonth = this.theMonth.toString();\r\n }\r\n else {\r\n this.stringmonth = \"0\" + this.theMonth.toString()\r\n }\r\n this.time = this.theYear.toString() + this.stringmonth\r\n\r\n this.tuthang = this.time\r\n this.lineChart.config.data.datasets = []\r\n this.lineChartMethod(this.tuthang, this.denthang, this.productcode, this.dataTargetId1);\r\n }\r\n\r\n public date2 = new FormControl(_moment());\r\n public newdate2 = new FormControl(_moment());\r\n\r\n public chosenYearHandler2(normalizedYear: Moment) {\r\n this.date2 = this.newdate2\r\n const ctrlValue = this.date2.value;\r\n ctrlValue.year(normalizedYear.year());\r\n this.date1.setValue(ctrlValue);\r\n this.theYear = normalizedYear.year();\r\n }\r\n\r\n public chosenMonthHandler2(normalizedMonth: Moment, datepicker: MatDatepicker) {\r\n const ctrlValue = this.date2.value;\r\n ctrlValue.month(normalizedMonth.month());\r\n this.date2.setValue(ctrlValue);\r\n this.theMonth = normalizedMonth.month() + 1;\r\n datepicker.close();\r\n\r\n if (this.theMonth >= 10) {\r\n this.stringmonth = this.theMonth.toString();\r\n }\r\n else {\r\n this.stringmonth = \"0\" + this.theMonth.toString()\r\n }\r\n this.time = this.theYear.toString() + this.stringmonth\r\n\r\n this.denthang = this.time\r\n this.lineChart.config.data.datasets = []\r\n this.lineChartMethod(this.tuthang, this.denthang, this.productcode, this.dataTargetId1);\r\n }\r\n\r\n}\r\n","import { Component, Injector, ViewChild, ElementRef } from '@angular/core';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { ExcelService } from 'src/app/_services/excelUtil.service';\r\n\r\nimport { DomesticPriceModel } from 'src/app/_models/APIModel/domestic-market.model';\r\n\r\nimport { ChartOptions, ChartDataSets, ChartType, Chart } from 'chart.js';\r\nimport { DashboardService } from 'src/app/_services/APIService/dashboard.service';\r\nimport { domesticchart, ProductModel } from 'src/app/_models/APIModel/domestic-market.model';\r\nimport { formatDate } from '@angular/common';\r\nimport { numberWithDot } from 'src/app/_services/stringUtils.service';\r\n\r\nimport { FormControl } from '@angular/forms';\r\nimport { ReplaySubject, Subject } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\n\r\nimport { DatePipe } from '@angular/common';\r\nimport { MomentDateAdapter, MAT_MOMENT_DATE_ADAPTER_OPTIONS } from '@angular/material-moment-adapter';\r\nimport { DateAdapter, MAT_DATE_LOCALE, MAT_DATE_FORMATS } from '@angular/material';\r\nimport { defaultFormat as _rollupMoment } from 'moment';\r\n\r\nimport { MarketServicePublic } from 'src/app/_services/APIService/market.service public';\r\nimport { BaseComponent } from 'src/app/components/specialized/base.component';\r\n\r\nimport _moment from 'moment';\r\nconst moment = _rollupMoment || _moment;\r\nexport const DDMMYY_FORMAT = {\r\n parse: {\r\n dateInput: 'LL',\r\n },\r\n display: {\r\n dateInput: 'DD/MM/YYYY',\r\n monthYearLabel: 'YYYY',\r\n dateA11yLabel: 'LL',\r\n monthYearA11yLabel: 'YYYY',\r\n },\r\n};\r\n\r\n@Component({\r\n selector: 'app-domestic-price',\r\n templateUrl: 'domestic-price.component.html',\r\n styleUrls: ['../../public_layout.scss'],\r\n providers: [\r\n {\r\n provide: DateAdapter,\r\n useClass: MomentDateAdapter,\r\n deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS]\r\n },\r\n\r\n { provide: MAT_DATE_FORMATS, useValue: DDMMYY_FORMAT },\r\n { provide: MAT_DATE_LOCALE, useValue: 'vi-VN' },\r\n DatePipe\r\n ],\r\n})\r\n\r\nexport class DomesticPriceComponent extends BaseComponent {\r\n public displayedColumns: string[] = ['index', 'id_san_pham', 'ten_san_pham', 'nguon_so_lieu', 'ngay_cap_nhat'];\r\n public dataSource: MatTableDataSource;\r\n\r\n private getExposedTable() {\r\n let self = this;\r\n let exposedData = [];\r\n this.filteredDataSource.filteredData.forEach(function (record, index) {\r\n let data = {\r\n \"STT\": index + 1,\r\n \"Sản phẩm\": record[\"ten_san_pham\"],\r\n \"Đơn vị tính\": record[\"don_vi_tinh1\"],\r\n \"Giá cả\": numberWithDot(record[\"gia_ca\"]),\r\n \"Nguồn số liệu\": record[\"nguon_so_lieu\"],\r\n \"Ngày cập nhật\": record[\"ngay_cap_nhat\"],\r\n };\r\n exposedData.push(data);\r\n });\r\n return exposedData;\r\n }\r\n\r\n public ExportToExcel() {\r\n let filename = 'Thông tin về giá cả trong nước';\r\n let sheetname = 'Thông tin về giá cả trong nước';\r\n this.excelService.exportJsonAsExcelFile(filename, sheetname, this.getExposedTable());\r\n }\r\n\r\n constructor(\r\n private injector: Injector,\r\n public marketService: MarketServicePublic,\r\n public excelService: ExcelService,\r\n public datepipe: DatePipe,\r\n public dashboardService: DashboardService\r\n ) {\r\n super(injector);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n this.GetProduct();\r\n this.defaultcode = 1\r\n this.tungay = this.firstday.value\r\n this.denngay = this.presentday.value\r\n this.productcode = 1\r\n\r\n this.getDomesticMarketPriceByTime(this.pickedDate2.value._d);\r\n\r\n this.profilter.valueChanges\r\n .pipe(takeUntil(this._onDestroy))\r\n .subscribe(() => {\r\n this.filterThuongnhan();\r\n });\r\n }\r\n\r\n public _onDestroy = new Subject();\r\n\r\n public getDomesticMarketPriceByTime(time: Date) {\r\n let datepipe = this.datepipe.transform(time, 'yyyyMMdd')\r\n this.marketService.GetDomesticMarket(datepipe).subscribe(\r\n allrecords => {\r\n this.filteredDataSource.data = [];\r\n if (allrecords.data && allrecords.data.length > 0) {\r\n allrecords.data.forEach(row => {\r\n row.ngay_cap_nhat = this.Convertdate(row.ngay_cap_nhat)\r\n });\r\n this.dataSource = new MatTableDataSource(allrecords.data);\r\n this.filteredDataSource.data = [...this.dataSource.data];\r\n }\r\n this._prepareData();\r\n this.paginatorAgain();\r\n },\r\n error => this.errorMessage = error\r\n );\r\n }\r\n\r\n public firstday = new FormControl(_moment().startOf('year').format('yyyyMMDD'));\r\n public presentday = new FormControl(_moment().format('yyyyMMDD'));\r\n\r\n @ViewChild('lineCanvas', { static: false }) lineCanvas: ElementRef;\r\n lineChart: any;\r\n\r\n defaultcode: number\r\n tungay: string\r\n denngay: string\r\n productcode: number\r\n\r\n timelist: string[]\r\n giaca: number[]\r\n\r\n ngAfterViewInit(): void {\r\n this.lineChartMethod(this.tungay, this.denngay, this.productcode);\r\n }\r\n\r\n domesticchart: Array = new Array();\r\n\r\n lineChartMethod(tungay: string, denngay: string, productcode: number) {\r\n let self = this;\r\n this.dashboardService.GetDomesticChart(tungay, denngay, productcode).subscribe(\r\n all => {\r\n this.domesticchart = all.data\r\n this.timelist = this.domesticchart.map(x => this.Convertdate(x.ngay_cap_nhat.toString()))\r\n this.giaca = this.domesticchart.map(x => x.gia_ca)\r\n\r\n this.lineChart = new Chart(this.lineCanvas.nativeElement, {\r\n type: 'line',\r\n data: {\r\n labels: this.timelist,\r\n datasets: [\r\n {\r\n label: 'Giá cả',\r\n fill: false,\r\n lineTension: 0.1,\r\n backgroundColor: 'rgb(255, 0, 0)',\r\n borderColor: 'rgb(255, 0, 0)',\r\n borderCapStyle: 'butt',\r\n borderDash: [],\r\n borderDashOffset: 0.0,\r\n borderJoinStyle: 'miter',\r\n pointBorderColor: 'rgb(255, 0, 0)',\r\n pointBackgroundColor: '#fff',\r\n pointBorderWidth: 1,\r\n pointHoverRadius: 5,\r\n pointHoverBackgroundColor: 'rgb(255, 0, 0)',\r\n pointHoverBorderColor: 'rgb(255, 0, 0)',\r\n pointHoverBorderWidth: 2,\r\n pointRadius: 1,\r\n pointHitRadius: 10,\r\n data: this.giaca,\r\n spanGaps: false,\r\n }\r\n ]\r\n },\r\n options: {\r\n scales: {\r\n yAxes: [{\r\n ticks: {\r\n callback: function(value, index, values) {\r\n return numberWithDot(value) + ' đ';\r\n }\r\n },\r\n }],\r\n }\r\n }\r\n });\r\n },\r\n );\r\n }\r\n\r\n products: Array = new Array();\r\n filterproducts: ReplaySubject = new ReplaySubject(1);\r\n GetProduct() {\r\n this.dashboardService.GetProductList().subscribe((allrecords) => {\r\n this.products = allrecords.data.filter( x => x.id_field == 1) as ProductModel[];\r\n this.filterproducts.next(this.products.slice());\r\n });\r\n }\r\n public profilter: FormControl = new FormControl();\r\n public filterThuongnhan() {\r\n if (!this.products) {\r\n return;\r\n }\r\n let search = this.profilter.value;\r\n if (!search) {\r\n this.filterproducts.next(this.products.slice());\r\n return;\r\n } else {\r\n search = search.toLowerCase();\r\n }\r\n this.filterproducts.next(\r\n this.products.filter(x => x.ten_san_pham.toLowerCase().indexOf(search) > -1)\r\n );\r\n }\r\n\r\n applyfilter(event) {\r\n this.productcode = event.value\r\n this.lineChart.config.data.datasets = []\r\n this.lineChartMethod(this.tungay, this.denngay, this.productcode);\r\n }\r\n\r\n Convertdate(text: string): string {\r\n return text ? text.substring(6, 8) + \"/\" + text.substring(4, 6) + \"/\" + text.substring(0, 4) : \"\";\r\n }\r\n\r\n public pickedDate = new FormControl(_moment().startOf('year'));\r\n public pickedDate1 = new FormControl(_moment());\r\n public pickedDate2 = new FormControl(_moment());\r\n\r\n public onChange(param: any) {\r\n this.tungay = param.format('yyyyMMDD')\r\n this.lineChart.config.data.datasets = []\r\n this.lineChartMethod(this.tungay, this.denngay, this.productcode);\r\n }\r\n\r\n public onChange1(param: any) {\r\n this.denngay = param.format('yyyyMMDD')\r\n this.lineChart.config.data.datasets = []\r\n this.lineChartMethod(this.tungay, this.denngay, this.productcode);\r\n }\r\n\r\n public onChange2(param: any) {\r\n this.getDomesticMarketPriceByTime(param._d);\r\n }\r\n}\r\n\r\n","import { Component, Injector, ViewChild, ElementRef } from '@angular/core';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatDialog } from '@angular/material';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { Chart} from 'chart.js';\r\nimport { DashboardService } from 'src/app/_services/APIService/dashboard.service';\r\nimport { productchart, ProductModel } from 'src/app/_models/APIModel/domestic-market.model';\r\n\r\nimport { ProductValueModel } from 'src/app/_models/APIModel/domestic-market.model';\r\nimport { SAVE } from 'src/app/_enums/save.enum';\r\n\r\nimport { FormControl } from '@angular/forms';\r\nimport { ReplaySubject, Subject } from 'rxjs';\r\nimport { take, takeUntil } from 'rxjs/operators';\r\n\r\nimport { ExcelService } from 'src/app/_services/excelUtil.service';\r\nimport { CompanyTopPopup } from '../company-top-popup/company-top-popup.component';\r\n\r\nimport { MatDatepicker } from '@angular/material/datepicker';\r\nimport { MomentDateAdapter, MAT_MOMENT_DATE_ADAPTER_OPTIONS } from '@angular/material-moment-adapter';\r\nimport { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core';\r\nimport _moment from 'moment';\r\nimport { defaultFormat as _rollupMoment, Moment } from 'moment';\r\nimport { MarketServicePublic } from 'src/app/_services/APIService/market.service public';\r\nimport { BaseComponent } from 'src/app/components/specialized/base.component';\r\n\r\nconst moment = _rollupMoment || _moment;\r\nexport const MY_FORMATS = {\r\n parse: {\r\n dateInput: 'MM/YYYY',\r\n },\r\n display: {\r\n dateInput: 'MM/YYYY',\r\n monthYearLabel: 'MMM YYYY',\r\n dateA11yLabel: 'LL',\r\n monthYearA11yLabel: 'MMMM YYYY',\r\n },\r\n};\r\n\r\n@Component({\r\n selector: 'app-domestic-product',\r\n templateUrl: 'domestic-product.component.html',\r\n styleUrls: ['../../public_layout.scss'],\r\n providers: [\r\n {\r\n provide: DateAdapter,\r\n useClass: MomentDateAdapter,\r\n deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS]\r\n },\r\n\r\n { provide: MAT_DATE_FORMATS, useValue: MY_FORMATS },\r\n { provide: MAT_DATE_LOCALE, useValue: 'vi' },\r\n ],\r\n})\r\n\r\nexport class DomesticProductComponent extends BaseComponent {\r\n public displayedColumns: string[] = ['index', 'id_san_pham', 'ten_san_pham', 'don_vi_tinh2', 'san_luong', \r\n // 'tri_gia', 'top_san_xuat'\r\n];\r\n public dataSource: MatTableDataSource;\r\n\r\n public ExportTOExcel(filename: string, sheetname: string) {\r\n this.excelService.exportDomTableAsExcelFile(filename, sheetname, this.table.nativeElement);\r\n }\r\n\r\n constructor(\r\n private injector: Injector,\r\n public marketService: MarketServicePublic,\r\n public excelService: ExcelService,\r\n public router: Router,\r\n public dialog: MatDialog,\r\n public dashboardService: DashboardService) {\r\n super(injector);\r\n }\r\n\r\n ngOnInit() {\r\n this.GetProduct();\r\n this.defaultcode = 1\r\n this.tuthang = this.firstmonth.value\r\n this.denthang = this.presentmonth.value\r\n this.productcode = 1\r\n\r\n // this.getDomesticMarketProduct(this.currentTime.format('YYYYMM'));\r\n this.getDomesticMarketProduct('0')\r\n\r\n this.profilter.valueChanges\r\n .pipe(takeUntil(this._onDestroy))\r\n .subscribe(() => {\r\n this.filterThuongnhan();\r\n });\r\n }\r\n\r\n public _onDestroy = new Subject();\r\n\r\n public firstmonth = new FormControl(_moment().startOf('year').format('yyyyMM'));\r\n public presentmonth = new FormControl(_moment().format('yyyyMM'));\r\n\r\n public getDomesticMarketProduct(time: string) {\r\n this.marketService.GetProductValue(time).subscribe(\r\n allrecords => {\r\n if(time == '0'){\r\n this.date2 = new FormControl(_moment(this.convertstringtodate((allrecords.data[2][0].timechange.toString() + '01'))))\r\n }\r\n\r\n this.filteredDataSource.data = [];\r\n if (allrecords.data && allrecords.data.length > 0) {\r\n let data = allrecords.data[0];\r\n this.dataSource = new MatTableDataSource(data);\r\n this.filteredDataSource.data = [...this.dataSource.data];\r\n }\r\n this._prepareData();\r\n this.paginatorAgain();\r\n },\r\n error => this.errorMessage = error\r\n );\r\n }\r\n\r\n @ViewChild('lineCanvas', { static: false }) lineCanvas: ElementRef;\r\n lineChart: any;\r\n\r\n defaultcode: number\r\n tuthang: string\r\n denthang: string\r\n productcode: number\r\n\r\n timelist: string[]\r\n sanluong: number[]\r\n trigia: number[]\r\n\r\n ngAfterViewInit(): void {\r\n this.lineChartMethod(this.tuthang, this.denthang, this.productcode);\r\n }\r\n\r\n productchart: Array = new Array();\r\n\r\n lineChartMethod(tuthang: string, denthang: string, productcode: number) {\r\n let self = this;\r\n this.dashboardService.GetProductChart(tuthang, denthang, productcode).subscribe(\r\n all => {\r\n this.productchart = all.data\r\n this.timelist = this.productchart.map(x => this.Convertdate(x.time_id.toString()))\r\n this.sanluong = this.productchart.map(x => x.san_luong)\r\n this.trigia = this.productchart.map(x => x.tri_gia)\r\n\r\n this.lineChart = new Chart(this.lineCanvas.nativeElement, {\r\n type: 'line',\r\n data: {\r\n labels: this.timelist,\r\n datasets: [\r\n {\r\n label: 'Sản lượng',\r\n fill: false,\r\n lineTension: 0.1,\r\n backgroundColor: 'rgb(255, 0, 0)',\r\n borderColor: 'rgb(255, 0, 0)',\r\n borderCapStyle: 'butt',\r\n borderDash: [],\r\n borderDashOffset: 0.0,\r\n borderJoinStyle: 'miter',\r\n pointBorderColor: 'rgb(255, 0, 0)',\r\n pointBackgroundColor: '#fff',\r\n pointBorderWidth: 1,\r\n pointHoverRadius: 5,\r\n pointHoverBackgroundColor: 'rgb(255, 0, 0)',\r\n pointHoverBorderColor: 'rgb(255, 0, 0)',\r\n pointHoverBorderWidth: 2,\r\n pointRadius: 1,\r\n pointHitRadius: 10,\r\n data: this.sanluong,\r\n spanGaps: false,\r\n }\r\n // {\r\n // label: 'Trị giá',\r\n // fill: false,\r\n // lineTension: 0.1,\r\n // backgroundColor: 'rgb(0, 0, 255)',\r\n // borderColor: 'rgb(0, 0, 255)',\r\n // borderCapStyle: 'butt',\r\n // borderDash: [],\r\n // borderDashOffset: 0.0,\r\n // borderJoinStyle: 'miter',\r\n // pointBorderColor: 'rgb(0, 0, 255)',\r\n // pointBackgroundColor: '#fff',\r\n // pointBorderWidth: 1,\r\n // pointHoverRadius: 5,\r\n // pointHoverBackgroundColor: 'rgb(0, 0, 255)',\r\n // pointHoverBorderColor: 'rgb(0, 0, 255)',\r\n // pointHoverBorderWidth: 2,\r\n // pointRadius: 1,\r\n // pointHitRadius: 10,\r\n // data: this.trigia,\r\n // spanGaps: false,\r\n // }\r\n ]\r\n },\r\n options: {\r\n scales: {\r\n yAxes: [{\r\n ticks: {\r\n callback: function(value, index, values) {\r\n return self.numberWithDot(value) + ' k Tấn';\r\n }\r\n },\r\n }],\r\n }\r\n }\r\n });\r\n },\r\n );\r\n }\r\n\r\n numberWithDot(x) {\r\n return x.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \".\");\r\n }\r\n\r\n products: Array = new Array();\r\n filterproducts: ReplaySubject = new ReplaySubject(1);\r\n GetProduct() {\r\n this.dashboardService.GetProductList().subscribe((allrecords) => {\r\n this.products = allrecords.data.filter( x => x.id_field == 2) as ProductModel[];\r\n this.filterproducts.next(this.products.slice());\r\n });\r\n }\r\n public profilter: FormControl = new FormControl();\r\n public filterThuongnhan() {\r\n if (!this.products) {\r\n return;\r\n }\r\n let search = this.profilter.value;\r\n if (!search) {\r\n this.filterproducts.next(this.products.slice());\r\n return;\r\n } else {\r\n search = search.toLowerCase();\r\n }\r\n this.filterproducts.next(\r\n this.products.filter(x => x.ten_san_pham.toLowerCase().indexOf(search) > -1)\r\n );\r\n }\r\n\r\n applyfilter(event) {\r\n this.productcode = event.value\r\n this.lineChart.config.data.datasets = []\r\n this.lineChartMethod(this.tuthang, this.denthang, this.productcode);\r\n }\r\n\r\n Convertdate(text: string): string {\r\n let date: string\r\n date = text.substr(4, 2) + \"-\" + text.substring(0, 4)\r\n return date\r\n }\r\n\r\n public date = new FormControl(_moment().startOf('year').format('yyyyMM'));\r\n public newdate = new FormControl(_moment());\r\n public theYear: number;\r\n public theMonth: number;\r\n public stringmonth: string\r\n public time: string\r\n\r\n public chosenYearHandler(normalizedYear: Moment) {\r\n this.date = this.newdate\r\n const ctrlValue = this.date.value;\r\n ctrlValue.year(normalizedYear.year());\r\n this.date.setValue(ctrlValue);\r\n this.theYear = normalizedYear.year();\r\n }\r\n\r\n public chosenMonthHandler(normalizedMonth: Moment, datepicker: MatDatepicker) {\r\n const ctrlValue = this.date.value;\r\n ctrlValue.month(normalizedMonth.month());\r\n this.date.setValue(ctrlValue);\r\n this.theMonth = normalizedMonth.month() + 1;\r\n datepicker.close();\r\n\r\n if (this.theMonth >= 10) {\r\n this.stringmonth = this.theMonth.toString();\r\n }\r\n else {\r\n this.stringmonth = \"0\" + this.theMonth.toString()\r\n }\r\n this.time = this.theYear.toString() + this.stringmonth\r\n\r\n this.tuthang = this.time\r\n this.lineChart.config.data.datasets = []\r\n this.lineChartMethod(this.tuthang, this.denthang, this.productcode);\r\n }\r\n\r\n public date1 = new FormControl(_moment());\r\n public newdate1 = new FormControl(_moment());\r\n\r\n public chosenYearHandler1(normalizedYear: Moment) {\r\n this.date1 = this.newdate1\r\n const ctrlValue = this.date1.value;\r\n ctrlValue.year(normalizedYear.year());\r\n this.date1.setValue(ctrlValue);\r\n this.theYear = normalizedYear.year();\r\n }\r\n\r\n public chosenMonthHandler1(normalizedMonth: Moment, datepicker: MatDatepicker) {\r\n const ctrlValue = this.date1.value;\r\n ctrlValue.month(normalizedMonth.month());\r\n this.date1.setValue(ctrlValue);\r\n this.theMonth = normalizedMonth.month() + 1;\r\n datepicker.close();\r\n\r\n if (this.theMonth >= 10) {\r\n this.stringmonth = this.theMonth.toString();\r\n }\r\n else {\r\n this.stringmonth = \"0\" + this.theMonth.toString()\r\n }\r\n this.time = this.theYear.toString() + this.stringmonth\r\n\r\n this.denthang = this.time\r\n this.lineChart.config.data.datasets = []\r\n this.lineChartMethod(this.tuthang, this.denthang, this.productcode);\r\n }\r\n\r\n convertstringtodate(time: string): Date {\r\n let year = parseInt(time.substring(0, 4));\r\n let month = parseInt(time.substring(4, 6));\r\n let day = parseInt(time.substring(6, 8));\r\n\r\n let date = new Date(year, month - 1, day);\r\n return date\r\n}\r\n\r\n public date2 = new FormControl();\r\n public newdate2 = new FormControl(_moment());\r\n\r\n public chosenYearHandler2(normalizedYear: Moment) {\r\n this.date2 = this.newdate2\r\n const ctrlValue = this.date2.value;\r\n ctrlValue.year(normalizedYear.year());\r\n this.date2.setValue(ctrlValue);\r\n this.theYear = normalizedYear.year();\r\n }\r\n\r\n public chosenMonthHandler2(normalizedMonth: Moment, datepicker: MatDatepicker) {\r\n const ctrlValue = this.date2.value;\r\n ctrlValue.month(normalizedMonth.month());\r\n this.date2.setValue(ctrlValue);\r\n this.theMonth = normalizedMonth.month() + 1;\r\n datepicker.close();\r\n\r\n if (this.theMonth >= 10) {\r\n this.stringmonth = this.theMonth.toString();\r\n }\r\n else {\r\n this.stringmonth = \"0\" + this.theMonth.toString()\r\n }\r\n this.time = this.theYear.toString() + this.stringmonth\r\n\r\n this.getDomesticMarketProduct(this.time);\r\n }\r\n\r\n private sumSL: number = 0;\r\n private sumTG: number = 0;\r\n\r\n _prepareData() {\r\n let data = this.dataSource.data;\r\n this.sumSL = data.length ? data.map(item => item.san_luong).reduce((a, b) => a + b) : 0;\r\n this.sumTG = data.length ? data.map(item => item.tri_gia).reduce((a, b) => a + b) : 0;\r\n }\r\n\r\n public openCompanyTopPopup(data: any) {\r\n const dialogRef = this.dialog.open(CompanyTopPopup, {\r\n height: '70%',\r\n width: '70%',\r\n data: {\r\n message: 'Dữ liệu top doanh nghiệp sản xuất',\r\n product_data: data,\r\n typeOfSave: SAVE.PRODUCT,\r\n }\r\n });\r\n }\r\n}\r\n","import { Component, Injector, OnInit, ViewChild, ElementRef, AfterViewInit } from '@angular/core';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\n\r\nimport { ChartOptions, ChartDataSets, ChartType, Chart } from 'chart.js';\r\nimport { DashboardService } from 'src/app/_services/APIService/dashboard.service';\r\nimport { foreignchart, ProductModel } from 'src/app/_models/APIModel/domestic-market.model';\r\nimport { formatDate } from '@angular/common';\r\n\r\nimport { FormControl } from '@angular/forms';\r\nimport { ReplaySubject, Subject } from 'rxjs';\r\nimport { take, takeUntil } from 'rxjs/operators';\r\n\r\nimport { ExcelService } from 'src/app/_services/excelUtil.service';\r\nimport { numberWithDot } from 'src/app/_services/stringUtils.service';\r\nimport { ForeignMarketModel } from 'src/app/_models/APIModel/domestic-market.model';\r\nimport { DatePipe } from '@angular/common';\r\nimport { MomentDateAdapter, MAT_MOMENT_DATE_ADAPTER_OPTIONS } from '@angular/material-moment-adapter';\r\nimport { DateAdapter, MAT_DATE_LOCALE, MAT_DATE_FORMATS } from '@angular/material';\r\nimport { defaultFormat as _rollupMoment } from 'moment';\r\nimport { MarketServicePublic } from 'src/app/_services/APIService/market.service public';\r\nimport { BaseComponent } from 'src/app/components/specialized/base.component';\r\n\r\nimport _moment from 'moment';\r\nconst moment = _rollupMoment || _moment;\r\nexport const DDMMYY_FORMAT = {\r\n parse: {\r\n dateInput: 'LL',\r\n },\r\n display: {\r\n dateInput: 'DD/MM/YYYY',\r\n monthYearLabel: 'YYYY',\r\n dateA11yLabel: 'LL',\r\n monthYearA11yLabel: 'YYYY',\r\n },\r\n};\r\n\r\n@Component({\r\n selector: 'app-foreign-price',\r\n templateUrl: 'foreign-price.component.html',\r\n styleUrls: ['../../public_layout.scss'],\r\n providers: [\r\n {\r\n provide: DateAdapter,\r\n useClass: MomentDateAdapter,\r\n deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS]\r\n },\r\n\r\n { provide: MAT_DATE_FORMATS, useValue: DDMMYY_FORMAT },\r\n { provide: MAT_DATE_LOCALE, useValue: 'vi-VN' },\r\n DatePipe\r\n ],\r\n})\r\n\r\nexport class ForeignMarketPriceComponent extends BaseComponent {\r\n public displayedColumns: string[] = ['index', 'id_san_pham', 'ten_san_pham', 'thi_truong', 'ngay_cap_nhat'];\r\n public dataSource: MatTableDataSource;\r\n\r\n private getExposedTable() {\r\n let self = this;\r\n let exposedData = [];\r\n this.filteredDataSource.filteredData.forEach(function (record, index) {\r\n let data = {\r\n \"STT\": index + 1,\r\n \"Sản phẩm\": record[\"ten_san_pham\"],\r\n \"Đơn vị tính\": record[\"don_vi_tinh\"],\r\n \"Giá cả\": numberWithDot(record[\"gia_ca\"]),\r\n \"Nguồn số liệu\": record[\"nguon_so_lieu\"],\r\n \"Thị trường\": record[\"thi_truong\"],\r\n \"Ngày cập nhật\": record[\"ngay_cap_nhat\"],\r\n };\r\n exposedData.push(data);\r\n });\r\n return exposedData;\r\n }\r\n\r\n public ExportToExcel() {\r\n let filename = 'Thông tin về giá cả quốc tế';\r\n let sheetname = 'Thông tin về giá cả quốc tế';\r\n this.excelService.exportJsonAsExcelFile(filename, sheetname, this.getExposedTable());\r\n }\r\n\r\n constructor(\r\n private injector: Injector,\r\n public marketService: MarketServicePublic,\r\n public excelService: ExcelService,\r\n public datepipe: DatePipe,\r\n public dashboardService: DashboardService\r\n ) {\r\n super(injector);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n this.GetProduct();\r\n this.defaultcode = 1\r\n this.tungay = this.firstday.value\r\n this.denngay = this.presentday.value\r\n this.productcode = 1\r\n\r\n this.getForeignMarketPriceByTime(this.pickedDate2.value._d);\r\n\r\n this.profilter.valueChanges\r\n .pipe(takeUntil(this._onDestroy))\r\n .subscribe(() => {\r\n this.filterThuongnhan();\r\n });\r\n }\r\n\r\n public _onDestroy = new Subject();\r\n\r\n public getForeignMarketPriceByTime(time: Date) {\r\n let datepipe = this.datepipe.transform(time, 'yyyyMMdd');\r\n this.marketService.GetForeignMarket(datepipe).subscribe(\r\n allrecords => {\r\n this.filteredDataSource.data = [];\r\n if (allrecords.data && allrecords.data.length > 0) {\r\n allrecords.data.forEach(row => {\r\n row.ngay_cap_nhat = this.Convertdate(row.ngay_cap_nhat)\r\n });\r\n this.dataSource = new MatTableDataSource(allrecords.data);\r\n this.filteredDataSource.data = [...this.dataSource.data];\r\n }\r\n this._prepareData();\r\n this.paginatorAgain();\r\n },\r\n error => this.errorMessage = error\r\n );\r\n }\r\n\r\n public firstday = new FormControl(_moment().startOf('year').format('yyyyMMDD'));\r\n public presentday = new FormControl(_moment().format('yyyyMMDD'));\r\n\r\n @ViewChild('lineCanvas', { static: false }) lineCanvas: ElementRef;\r\n lineChart: any;\r\n\r\n defaultcode: number\r\n tungay: string\r\n denngay: string\r\n productcode: number\r\n\r\n timelist: string[]\r\n giaca: number[]\r\n\r\n ngAfterViewInit(): void {\r\n this.lineChartMethod(this.tungay, this.denngay, this.productcode);\r\n }\r\n\r\n foreignchart: Array = new Array();\r\n\r\n lineChartMethod(tungay: string, denngay: string, productcode: number) {\r\n this.dashboardService.GetForeignChart(tungay, denngay, productcode).subscribe(\r\n all => {\r\n this.foreignchart = all.data\r\n this.timelist = this.foreignchart.map(x => this.Convertdate(x.ngay_cap_nhat.toString()))\r\n this.giaca = this.foreignchart.map(x => x.gia_ca)\r\n\r\n this.lineChart = new Chart(this.lineCanvas.nativeElement, {\r\n type: 'line',\r\n data: {\r\n labels: this.timelist,\r\n datasets: [\r\n {\r\n label: 'Giá cả',\r\n fill: false,\r\n lineTension: 0.1,\r\n backgroundColor: 'rgb(255, 0, 0)',\r\n borderColor: 'rgb(255, 0, 0)',\r\n borderCapStyle: 'butt',\r\n borderDash: [],\r\n borderDashOffset: 0.0,\r\n borderJoinStyle: 'miter',\r\n pointBorderColor: 'rgb(255, 0, 0)',\r\n pointBackgroundColor: '#fff',\r\n pointBorderWidth: 1,\r\n pointHoverRadius: 5,\r\n pointHoverBackgroundColor: 'rgb(255, 0, 0)',\r\n pointHoverBorderColor: 'rgb(255, 0, 0)',\r\n pointHoverBorderWidth: 2,\r\n pointRadius: 1,\r\n pointHitRadius: 10,\r\n data: this.giaca,\r\n spanGaps: false,\r\n }\r\n ]\r\n },\r\n options: {\r\n scales: {\r\n yAxes: [{\r\n ticks: {\r\n callback: function(value, index, values) {\r\n return \"$\" + value;\r\n }\r\n },\r\n }],\r\n }\r\n }\r\n });\r\n },\r\n );\r\n }\r\n\r\n products: Array = new Array();\r\n filterproducts: ReplaySubject = new ReplaySubject(1);\r\n GetProduct() {\r\n this.dashboardService.GetProductList().subscribe((allrecords) => {\r\n this.products = allrecords.data.filter( x => x.id_field == 1) as ProductModel[];\r\n this.filterproducts.next(this.products.slice());\r\n });\r\n }\r\n public profilter: FormControl = new FormControl();\r\n public filterThuongnhan() {\r\n if (!this.products) {\r\n return;\r\n }\r\n let search = this.profilter.value;\r\n if (!search) {\r\n this.filterproducts.next(this.products.slice());\r\n return;\r\n } else {\r\n search = search.toLowerCase();\r\n }\r\n this.filterproducts.next(\r\n this.products.filter(x => x.ten_san_pham.toLowerCase().indexOf(search) > -1)\r\n );\r\n }\r\n\r\n applyfilter(event) {\r\n this.productcode = event.value\r\n this.lineChart.config.data.datasets = []\r\n this.lineChartMethod(this.tungay, this.denngay, this.productcode);\r\n }\r\n\r\n Convertdate(text: string): string {\r\n return text ? text.substring(6, 8) + \"/\" + text.substring(4, 6) + \"/\" + text.substring(0, 4) : \"\";\r\n }\r\n\r\n public pickedDate = new FormControl(_moment().startOf('year'));\r\n public pickedDate1 = new FormControl(_moment());\r\n public pickedDate2 = new FormControl(_moment());\r\n\r\n public onChange(param: any) {\r\n this.tungay = param.format('yyyyMMDD')\r\n this.lineChart.config.data.datasets = []\r\n this.lineChartMethod(this.tungay, this.denngay, this.productcode);\r\n }\r\n\r\n public onChange1(param: any) {\r\n this.denngay = param.format('yyyyMMDD')\r\n this.lineChart.config.data.datasets = []\r\n this.lineChartMethod(this.tungay, this.denngay, this.productcode);\r\n }\r\n\r\n public onChange2(param: any) {\r\n this.getForeignMarketPriceByTime(param._d);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\nimport { DomesticPriceComponent } from './domesticPrice/domestic-price.component';\r\nimport { DomesticExportComponent } from './domesticExport/domestic-export.component';\r\nimport { DomesticImportComponent } from './domesticImport/domestic-import.component';\r\nimport { DomesticProductComponent } from './domesticProduct/domestic-product.component';\r\nimport { ForeignMarketPriceComponent } from './foreignPrice/foreign-price.component';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n data: {\r\n title: 'Thông tin thị trường'\r\n },\r\n children: [\r\n {\r\n path: '',\r\n redirectTo: 'market'\r\n },\r\n {\r\n path: 'domestic',\r\n data: {\r\n title: 'Thị trường trong nước'\r\n },\r\n children: [\r\n {\r\n path: 'price',\r\n component: DomesticPriceComponent,\r\n data: {\r\n title: 'Giá cả trong nước',\r\n }\r\n },\r\n {\r\n path: 'export',\r\n component: DomesticExportComponent,\r\n data: {\r\n title: 'Thông tin xuất khẩu',\r\n }\r\n },\r\n {\r\n path: 'import',\r\n component: DomesticImportComponent,\r\n data: {\r\n title: 'Thông tin nhập khẩu',\r\n }\r\n },\r\n {\r\n path: 'product',\r\n component: DomesticProductComponent,\r\n data: {\r\n title: 'Thông tin nhập khẩu',\r\n }\r\n },\r\n ]\r\n },\r\n {\r\n path: 'foreign',\r\n component: ForeignMarketPriceComponent,\r\n data: {\r\n title: 'Thị trường quốc tế'\r\n }\r\n },\r\n ]\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class MarketRoutingModule { }\r\n","import { CommonModule } from '@angular/common';\r\nimport { registerLocaleData } from '@angular/common';\r\nimport localevi from '@angular/common/locales/vi';\r\nregisterLocaleData(localevi, 'vi');\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatNativeDateModule } from '@angular/material/core';\r\nimport { MAT_FORM_FIELD_DEFAULT_OPTIONS } from '@angular/material/form-field';\r\nimport { NgModule } from '@angular/core';\r\nimport { MatDialogModule } from \"@angular/material/dialog\";\r\nimport { MaterialModule } from 'src/app/material.module';\r\nimport { PipeModule } from 'src/app/pipe.module';\r\nimport { NgxMatSelectSearchModule } from 'ngx-mat-select-search';\r\nimport { CurrencyMaskInputMode, NgxCurrencyModule } from \"ngx-currency\";\r\n\r\nimport { MarketRoutingModule } from './market-routing.module';\r\nimport { DomesticPriceComponent } from './domesticPrice/domestic-price.component';\r\nimport { DomesticExportComponent } from './domesticExport/domestic-export.component';\r\nimport { DomesticImportComponent } from './domesticImport/domestic-import.component';\r\nimport { DomesticProductComponent } from './domesticProduct/domestic-product.component';\r\nimport { ForeignMarketPriceComponent } from './foreignPrice/foreign-price.component';\r\nimport { CompanyTopPopup } from './company-top-popup/company-top-popup.component';\r\nimport { DialogImportExportComponent } from './dialog-import-export/dialog-import-export.component';\r\n\r\nexport const customCurrencyMaskConfig = {\r\n align: \"right\",\r\n allowNegative: true,\r\n allowZero: true,\r\n decimal: \".\",\r\n precision: 0,\r\n prefix: \"\",\r\n suffix: \"\",\r\n thousands: \",\",\r\n nullable: true,\r\n min: null,\r\n max: 1000000000000,\r\n inputMode: CurrencyMaskInputMode.NATURAL\r\n};\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n MarketRoutingModule,\r\n MatNativeDateModule,\r\n MatDialogModule,\r\n MaterialModule,\r\n ReactiveFormsModule,\r\n PipeModule,\r\n NgxCurrencyModule.forRoot(customCurrencyMaskConfig),\r\n NgxMatSelectSearchModule\r\n ],\r\n exports: [\r\n ],\r\n declarations: [\r\n DomesticPriceComponent,\r\n DomesticExportComponent,\r\n DomesticImportComponent,\r\n DomesticProductComponent,\r\n ForeignMarketPriceComponent,\r\n CompanyTopPopup,\r\n DialogImportExportComponent\r\n ],\r\n providers: [\r\n { provide: MAT_FORM_FIELD_DEFAULT_OPTIONS, useValue: { appearance: 'fill' } },\r\n\r\n ],\r\n entryComponents: [CompanyTopPopup, DialogImportExportComponent]\r\n})\r\nexport class MarketModule { }\r\n"],"sourceRoot":"webpack:///"}