Bài toán quản lý bán điện sinh hoạt năm 2024

  • 1. NGHIEÄP Trang 1 TRƢỜNG ĐẠI HỌC KỸ THUẬT KHOA CÔNG NGHỆ THÔNG TIN  LUẬN ÁN TỐT NGHIỆP Đề tài : Xây dựng mô hình quản lý CSDL hóa đơn tiền điện, thực hiện chƣơng trình quản lý hệ thống trên Oracle Nhiệm vụ đề tài : - Phân tích, xây dựng hệ thống CSDL hóa đơn - Thiết kế hệ thống trên hệ quản trị CSDL Oracle - Viết chƣơng trình tính hoá đơn tiền điện - Xây dựng chƣơng trình quản lý  Giáo viên hƣớng dẫn : Nguyễn Mạnh Thọ  Sinh viên : Thái Hoàng Trình – Trần Xuân Thảo  Lớp : KSII K6
  • 2. NGHIEÄP Trang 2 LỜI GIỚI THIỆU Công ty Điện lực Thành phố Hồ Chí Minh, là một công ty lớn trực thuộc Tổng Công ty Điện lực Việt Nam hiện có khoảng 700.000 khách hàng [điện kế] phục vụ phân phối và kinh doanh điện năng cho toàn bộ khu vực Thành phố Hồ Chí Minh. Với một số lượng khách hàng lớn sử dụng điện năng cho nhiều mục đích khác nhau, đồng thời bên cạnh đó còn có những tiêu thức kinh doanh đặc biệt để thống kê, phân tích hệ thống kinh doanh nhằm đánh giá hiệu quả mang lại theo chiều hướng có lợi nhất cho ngành Điện nói riêng và cho sự phát triển của toàn xã hội nói chung, đòi hỏi ngành Điện phải có một hệ thống quản lý quy cũ, chặt chẽ và thống nhất. Hiểu rõ nhiệm vụ quan trọng của công tác kinh doanh điện năng trong đó xây dựng một Mô hình quản trị Hệ thống cơ sở dữ liệu hóa đơn tiền điện đồ sộ về mặt thông tin là một việc làm rất cần thiết. Mô hình quản lý này chặt chẽ, thống nhất, tuân thủ các nguyên tắc chuẩn mực của một hệ cơ sở dữ liệu sẽ có ý nghĩa rất lớn cho công tác quản lý kinh doanh điện năng. Là sinh viên khoa Công nghệ Thông tin đồng thời là cán bộ trong ngành Điện, Chúng tôi rất mong muốn được mang kiến thức mình đã học ứng dụng vào thực tiễn, đây là một cơ hội và cũng là thử thách của chúng tôi. Chúng tôi xin chân thành cám ơn các Anh Chị Trung tâm Máy tính, Phòng Kinh doanh, Phòng Kỹ thuật Công ty Điện lực TP. HCM đã giúp đỡ thu nhập dữ liệu, đặc biệt Cô Nguyễn Ngô Bảo Trân người gợi ý đề tài, Thầy Nguyễn Mạnh Thọ người tận tình hướng dẫn chúng tôi. Nhóm đề tài THÁI HOÀNG TRÌNH – PHẠM XUÂN THẢO
  • 3. NGHIEÄP Trang 3 PHẦN 1 : MỞ ĐẦU
  • 4. NGHIEÄP Trang 4 Vai trò của hệ thống thông tin rất quan trọng. Đối với công tác kinh doanh điện năng, thông qua hệ thống thông tin khách hàng chúng ta có thể đánh giá hiệu quả kinh doanh mang lại. Những người đang trực tiếp làm việc trên hệ thống này cũng như những người truy xuất khai thác số liệu đều nhận thấy Hệ thống quản lý thông tin khách hàng hiện nay có nhiều hạn chế. Nguyên nhân chính là sự lệ thuộc vào cách thức quản lý thông tin theo kiểu cũ, do đó hàng loạt những ứng dụng phát triển dựa trên nền tảng CSDL của hệ thống này cũng bị ảnh hướng theo cách quản lý đó. Xuất phát từ lý do trên, chúng tôi đề ra một mô hình quản lý thông tin mới nhằm đáp ứng tốt các yêu cầu của công tác quản lý kinh doanh điện năng. Đồng thời đối với bản thân hệ thống thông tin, nó sẽ tuân thủ theo những nguyên tắc chuẩn mực của một hệ quản trị cơ sở dữ liệu, bên cạnh đó hệ thống đáp ứng tốt các yêu cầu thông tin của các hệ thống quản lý khác. 1. Lý do chọn đề tài : - Khối lượng thông tin đồ sộ do khách hàng ngành Điện lớn và gia tăng nhanh. - Bảo đảm ổn định của hệ thống trước những thay đổi của chính sách giá điện, thuế, quy hoạch dân cư… Giảm rủi ro về tính tin cậy của dữ liệu. - Là nền tảng để phát triển các ứng dụng trong hệ thống. - Là cơ sở để kết nối, chia sẻ tài nguyên với các hệ thống khác. 2. Mục đích : - Giảm các chi phí : bảo trì, vận hành, nâng cấp và phát triển hệ thống. - Bảo đảm độ tin cậy, tính nhất quán và bảo mật dữ liệu [mặt chất lượng] - Đa dạng hóa thông tin quản lý [mặt số lượng]. - Tạo nền tảng & cơ cở để phát triển các ứng dụng và liên kết với các hệ thống khác : GIS, DSM… - Nâng cao tính linh hoạt của hệ thống nhờ các phương pháp quản lý CSDL hiện đại [ngôn ngữ lập trình hướng đối tượng, ngôn ngữ vấn tin có cấu trúc] giảm bớt cách thể hiện bằng ngôn ngữ lập trình theo dạng thủ tục. 3. Ý nghĩa : - Đem lại sự thống nhất, quy củ chặt chẽ của CSDL làm nền tảng để nâng cấp, kết nối và phát triển của toàn hệ thống. Từ đó nâng cao hiệu quả của công tác quản lý & kinh doanh điện năng. - Tiếp cận & sử dụng công nghệ mới.
  • 5. NGHIEÄP Trang 5 PHẦN 2 : HIỆN TRẠNG HỆ THỐNG QUẢN LÝ HÓA ĐƠN TIỀN ĐIỆN
  • 6. NGHIEÄP Trang 6 I. KHAI THÁC, CẬP NHẬT & TỔ CHỨC HÓA ĐƠN TIỀN ĐIỆN : Yêu cầu phân bố khu vực ghi điện, thu tiền : Để quản lý khối lượng khách hàng lớn trong công tác cung ứng & sử dụng điện nói chung và quản lý kinh doanh nói riêng. Ngành điện phân khách hàng thành các khu vực ghi điện và thu tiền, các nhóm khách hàng nằm trong từng khu vực được chia ra gọi là khách hàng phiên. Đối với những khách hàng lớn [về tiêu thụ, doanh thu] được chia riêng thành những phiên đặc biệt. Việc ghi điện, thu tiền đối với những khách hàng lặp lại 1 chu kỳ khoảng 30 ngày [ 1] 1 lần [đối với những khách hàng lớn 3 đợt [phân kỳ] thu/ghi 1 tháng]. Từ phiên 1 đến phiên 24 : các khách hàng tư nhân thu lẻ. Phiên 25 và 26 : Các khách hàng cơ quan, xí nghiệp thu tập trung. Phiên 27 : Các khách hàng có mức tiêu thụ điện năng từ 10.000 đến dưới 50.000 kWh/tháng thu tiền 2 phân kỳ . Phiên 28 : Các khách hàng có mức tiêu thụ điện từ 50.000 kWh trở lên mỗi tháng thu 3 phân kỳ . Phiên 29 : Các khách hàng [lớn] được gắn điện kế nhiều giá [điện kế điện tử] thu 3 phân kỳ. Phiên 30 : Đèn đường dân lập [chiếu sáng ngõ hẻm] được tính khoán theo biên bản kiểm tra liên ngành Điện lực, Chiếu sáng Công cộng và Sở Tài Chính]. Trong ngành điện không sử dụng tháng hạch toán mà sử dụng kỳ. Ý nghĩa của kỳ và tháng là giống nhau tuy nhiên ngay mốc tính là khác nhau. Vì ngành điện không thể tập trung nhân lực để ghi điện vào một ngày mốc [đầu hay cuối tháng] cho toàn bộ điện kế hiện có, do đó không thể dùng tháng như một thời đoạn hạch toán cố định. Yêu cầu cập nhật dữ liệu : Do yêu cầu cập nhật dữ liệu biến động chỉ số từng ngày [phiên]. Tập tin phiên được sắp xếp theo phiên lộ trình và được nhân viên cập nhật số liệu chỉ số [chỉ số mới+mã ghi điện]. Các yêu cầu cập nhật dữ liệu khách hàng [địa chỉ, phiên lộ trình, mã giá biểu, mã ngành nghề, tỷ lệ giá …] được cập nhật trực tiếp lên CSDL hóa đơn : Yêu cầu kỹ thuật : phần cứng, phần mềm Yêu cầu về phần cứng : máy tính AS400 [IBM] sử dụng phần mềm [ngôn ngữ Cobol] dùng để tính toán hóa đơn dựa trên các thông tin kinh doanh về khách hàng, số liệu chỉ số cũ/mới… Ngoài ra một hệ thống máy tính PC dùng cho việc cập nhật và xử lý thông tin. Chương trình tính toán hóa đơn [Cobol] oộng với các thiết bị phần cứng AS400 IBM được chuyển giao từ Công ty Điện lực 2 cho Công ty Điện lực thành phố [kể từ khi Sở điện lực TP.HCM chuyển thành Công ty Điện lực TP.CHM hoạch toán độc lập – đầu năm 1995]. Tận dụng các thiết bị và phần mềm này TTMT thuộc Công ty Điện lực TPHCM đã hiệu chỉnh, sửa chữa nhằm đáp ứng các yêu cầu quản lý của công ty.
  • 7. NGHIEÄP Trang 7 Nhân viên được đào tạo chuyển giao và một số được đào tạo tại chỗ [các lớp tại chức, các khóa học]. Do nhu cầu về thông tin khách hàng ngày càng gia tăng về số lượng lẫn chất lượng [số lượng thông tin đa dạng] trong đó có những yêu cầu về quản lý kinh doanh mới : quản lý phụ tải, hiệu suất khu vực, thông tin địa lý [quận/ huyện, phường/xã…], thông tin ngân hàng, thuế… Chính vì thế khối lượng các field gia tăng nhanh chóng  mô hình quản lý CSDL hóa đơn tiền điện cũ đã sớm bộc lộ những khuyết điểm về các mặt : . Tốc độ truy cập . Lưu trữ không hiệu quả . Trùng lắp . Tính nhất quán của dữ liệu -> tính tin cậy dữ liệu : mất dữ liệu [do khóa chính bị sửa đổi cập nhật], không theo dõi biến động khách hàng qua từng kỳ. . Các mặt trong yêu cầu quản lý mới [GIS, DSM] . Những yêu cầu khác : [trình độ quản lý, sử dụng, hiệu quả kinh tế…] II. PHÂN TÍCH CẤU TRÚC CSDL CỦA HỆ THỐNG HÓA ĐƠN TIỀN ĐIỆN Các nhóm thông tin khách hàng trong CSDL hóa đơn tiền điện : 1. Thông tin địa lý : Thông tin bao gồm tên, họ, địa chỉ, phường xã, quận huyện… 2. Thông tin ngân hàng : Thông tin bao gồm mã cơ quan, ngân hàng, số tài khoản, cấp quản lý… 3. Thông tin kỹ thuật : Thông tin bao gồm danh số trạm, cấp điện áp, hệ số nhân, tỷ số TU, TI, số TU, TI, công suất máy biến thế… 4. Thông tin kinh doanh : Thông tin bao gồm : mã giá biểu, tỷ lệ DV, SH, SX, cấp điện áp, hệ số nhân, số hộ, nhóm nghề, thuê TUTI, thuê điện kế, thuê MBT… 5. Thông tin biến động chỉ số : Chỉ số mới, cũ, kWh truy thu, phạt… …. N. Ngoài ra còn có thể có các nhóm thông tin mới theo những yêu cầu phân tích khác : thông tin nhân khẩu, địa chỉ thư tín điện tử, các thông tin chi tiết khách hàng khác. Tất cả các thông tin trên được lưu trữ trong một database [dưới dạng tập tin]. Do đó chỉ số điện năng tiêu thụ được cập nhật qua các kỳ, các thông tin trên database này cũng được cập nhật theo. Quản lý theo phiên+lộ trình : Do tính chất kinh doanh của ngành điện, do đó CSDL được tổ chức theo các phiên. Phiên được hiểu như là một mốc thời điểm tính tiền điện cho một khu vực quản lý được qui định của Điện lực. Trong các phiên, lộ trình là chỉ số qui định lộ trình xuất phát cho ghi điện, thu ngân viên sao cho cách di chuyển của họ là hợp lý nhất.
  • 8. NGHIEÄP Trang 8 Phiên+lộ trình là khóa chính trong việc truy cập khai thác các thông tin liên quan [kể cả kỹ thuật]. Tập tin khai thác CSDL hóa đơn chính là các tập tin phxxXXYY.dbf [xx: số phiên; XX kỳ hay tháng hóa đơn; YY : năm hóa đơn]  dùng cho phiên 1-26 và 30, và PxXXYYZZ.dbf [x : phân kỳ hóa đơn; XX: số phiên; YY : kỳ hay tháng hóa đơn; ZZ : năm hóa đơn]  dùng cho phiên 27-29 là những phiên khách hàng tiêu thụ điện lớn phải tính hóa đơn nhiều phân kỳ trong tháng. Phiên 30 là đèn đường công lập. Cấu trúc DBF của tập tin hóa đơn : Structure for database: D:TRINHTHUNGRACP1270898.DBFNumber of data records: 5167Date of last update : 07/21/98Code Page : 0Field Field Name Type Width Dec Index Collate 1 TENDC Character 35 2 PH Character 2 3 Q Character 1 4 DS Character 8 5 PHIEN Character 3 6 LOTRINH Character 6 7 MSGB Character 1 8 TNCQ Character 1 9 CSDK Character 2 10 SOHO Numeric 4 11 COQUAN Character 3 12 CQL Character 1 13 NHOM Character 3 14 NGHE Character 2 15 CSMBT Character 4 16 CAPDA Character 1 17 RATIO Numeric 8 2 18 TYSOTU Character 1 19 TYSOTI Character 1 20 CSCU Numeric 6 21 CSMOI Numeric 6 22 DNTT Numeric 7 23 DMDV Numeric 3 24 DMSX Numeric 3
  • 9. NGHIEÄP Trang 9 25 DMCQ Numeric 3 26 DMSH Numeric 3 27 DNDENDUONG Numeric 3 28 DMTRBOM Numeric 3 29 DM420 Numeric 3 30 DM400 Numeric 3 31 DM360 Numeric 3 32 THUEDK Numeric 5 33 THUEMBT Numeric 7 34 THUETUTI Numeric 7 35 TIENDM Numeric 11 36 PHAT Numeric 9 37 LOAIT Character 1 38 BANK Character 3 39 BOSO Character 2 40 KWTRUYTHU Numeric 10 41 SOTU Numeric 1 42 SOTI Numeric 1 ** Total ** 191 Structure for database: D:TRINHTHUNGRACP3290898.DBFNumber of data records: 106Date of last update : 07/31/98Code Page : 0Field Field Name Type Width Dec Index Collate 1 TENDC Character 35 2 PH Character 2 3 Q Character 1 4 DS Character 8 5 PHIEN Character 3 6 LOTRINH Character 6 7 MSGB Character 1 8 TNCQ Character 1 9 CSDK Character 2 10 SOHO Numeric 4 11 COQUAN Character 3 12 CQL Character 1 13 NHOM Character 3 14 NGHE Character 2
  • 10. NGHIEÄP Trang 10 15 CSMBT Character 4 16 CAPDA Character 1 17 RATIO Numeric 8 2 18 TYSOTU Character 1 19 TYSOTI Character 1 20 CSCU Numeric 6 21 CSMOI Numeric 6 22 DNTT Numeric 7 23 DMDV Numeric 3 24 DMSX Numeric 3 25 DMCQ Numeric 3 26 DMSH Numeric 3 27 DNDENDUONG Numeric 3 28 DMTRBOM Numeric 3 29 DM420 Numeric 3 30 DM400 Numeric 3 31 DM360 Numeric 3 32 THUEDK Numeric 5 33 THUEMBT Numeric 7 34 THUETUTI Numeric 7 35 TIENDM Numeric 11 36 PHAT Numeric 9 37 LOAIT Character 1 38 BANK Character 3 39 BOSO Character 2 40 KWTRUYTHU Numeric 10 41 SOTU Numeric 1 42 SOTI Numeric 1 43 CSCU1 Numeric 6 44 CSCU2 Numeric 6 45 CSCU3 Numeric 6 46 CSMOI1 Numeric 6 47 CSMOI2 Numeric 6 48 CSMOI3 Numeric 6
  • 11. NGHIEÄP Trang 11 49 DNTT1 Numeric 7 50 DNTT2 Numeric 7 51 DNTT3 Numeric 7 52 TIENDM1 Numeric 11 53 TIENDM2 Numeric 11 54 TIENDM3 Numeric 11 55 KWTRUYTHU1 Numeric 10 56 KWTRUYTHU2 Numeric 10 57 KWTRUYTHU3 Numeric 10 ** Total ** 311 Như vậy một mẫu tin của hóa đơn tổng cộng 191 bytes, mẫu tin của phiên 29 [công tơ điện tử ba giá] mỗi mẫu tin 311 bytes. Mỗi phiên hóa đơn tính trung bình 20.000 mẫu tin. Tổng cộng có 30 phiên. Như vậy dung lượng để lưu trữ mỗi phiên khoảng : 191 x 20.000 = 3.820.000 bytes khoảng 3,7MB. Mỗi kỳ cần dung lượng khoảng 3,7 x 30 = 111 MB để lưu trữ [kỳ 08/98 = 118MB]. Tính toán dung lượng cần lưu trữ trong 1 năm hóa đơn : 111 x 12 = 1332 MB Các tập tin phiên hóa đơn trong từng kỳ được lưu trữ dưới dạng nén [self-extract .EXE] khi cần khai thác các tập tin này được chép qua mạng vào máy tính [workstation] để xử lý theo yêu cầu [xem sơ đồ tổ chức cấu trúc thư mục lưu trữ hóa đơn tiền điện trên máy tính chủ]
  • 12. NGHIEÄP Trang 12 Sơ đồ tổ chức cấu trúc thư mục lưu trữ hóa đơn tiền điện III. PHÂN TÍCH CÁC QUAN HỆ CSDL HÓA ĐƠN TIỀN ĐIỆN 1. Phân tích : Phiên+lộ trình được xem là tổ hợp khóa chính trong việc truy cập toàn bộ các thông tin được lưu trữ trên cùng một tập tin CSDL : - Cho nên việc cập nhật biến động chỉ số qua các kỳ của từng phiên không thể lưu cùng trên một tập tin của từng phiên do khối lượng thông tin từng kỳ quá lớn mà sẽ phân thành các tập tin cho từng kỳ hóa đơn. Thực chất vấn đề vẫn nằm ở chỗ là thông tin chẳng qua được phân rã [ngang] thành những tập tin nhỏ để quản lý trong khi các thông tin khác vẫn bị trùng lắp [ngoại trừ biến động chỉ số]. - Với cách lưu trữ thông tin này khóa tìm kiếm thông tin Phiên+lộ trình chỉ hoàn toàn đúng khi truy cập đến đúng kỳ mà nó hiện hữu [ví dụ : đối với bộ phận xóa nợ, khi tìm kiếm thông tin khách hàng về tên địa chỉ, mã số giá biểu… thì nó được dò tìm tại toàn bộ tập tin tại kỳ của phiên lộ trình đó. Những truy cập vào những kỳ sau hay trước đều không bảo đảm chính xác. Hiện tại có những quan hệ để xác định các thay đổi về khóa phiên lộ trình, tuy nhiên xét về mặt luận lý : khóa vừa đóng vai trò thuộc tính thuần nhất và vai trò khóa [phụ thuộc và định thuộc] theo thời gian sẽ làm phức tạp hóa các quan hệ, hơn nữa vai trò thuộc tính đôi khi còn ở dạng tham khảo hơn là ở dạng khoá ngoại, do đó không thể toàn vẹn thông tin tồn tại thông qua khóa phiên lộ trình. - CSDL hóa đơn tiền điện có dạng "gần" chuẩn 1 [DC1] quan hệ các thuộc tính là song ánh 1-1 nhất nguyên, thể hiện cụ thể qua 3 thao tác dữ liệu: . Xen [Insert] : khi thêm một khách hàng mới vào kỳ hóa đơn đó thì khách hàng chỉ hiện hữu đúng thời điểm đó. . Xóa [Delete] : khi xóa một thông tin khách hàng nào đó [do giải tỏa nhà…, chuyển phiên] thì chúng ta sẽ mất toàn bộ thông tin của khách hàng tại kỳ hóa đơn đó. . Sửa [Modify] : Khi thay đổi thông tin khách hàng các thông tin mới sẽ được cập nhật lên thông tin cũ [thông tin khách hàng cũ bị mất].  Khó xác định được thời điểm thay đổi của bất cứ một khách hàng [điện kế] . Truy cập thông tin tốn nhiều chi phí [thời gian, công sức] : tất cả các yêu cầu truy cập không có sự liên hệ và được giải quyết bằng các thao tác dữ liệu không đồng bộ. Hệ thống chậm đáp ứng khi thực hiện tích hợp thông tin từ nguồn lưu trữ phân tán. Để biết thông tin của 1 vài khách hàng [PLT] tiêu thụ điện qua các kỳ hóa đơn [từ vài năm trở lại] thì phải sẵn sàng cơ sở dữ liệu khá lớn cho việc lấy một vài thông tin nhỏ trong đó -> Tính đáp ứng hay sẵn sàng thấp [đây là vấn đề về vai trò của người quản trị hệ thống]. - Các quan hệ chưa đầy đủ : . Quan hệ về điều chỉnh hóa đơn . Quan hệ về lịch ghi điện . Quan hệ về giá điện
  • 13. NGHIEÄP Trang 13 … Tóm lại : . Khó xác định khóa chính trong toàn quan hệ . Quan hệ không được phân rã -> không tối ưu và khó thiết lập các ràng buộc toàn vẹn. . Quan hệ chưa đầy đủ. 2. Đánh giá : Ƣu điểm : - Đơn giản, dễ hiểu. - Giảm rủi ro do sự đặc thù của hệ thống. - Độ ổn định cao. Hạn chế : - Chưa đáp ứng được yêu cầu quản lý theo dòng thời gian. - Thông tin không có tính trực tuyến do cách quản lý hệ thống & nguồn dữ liệu phân tán riêng rẽ. - Tính linh hoạt của hệ thống trong việc nâng cấp, sửa đổi và kết nối với các hệ thống khác thấp. - Mức độ dữ liệu hóa thông tin quản lý thấp. - Dư thừa, trùng lắp dữ liệu - Độ tin cậy của dữ liệu.
  • 14. NGHIEÄP Trang 14 PHẦN 3 : XÂY DỰNG MÔ HÌNH QUẢN LÝ CSDL
  • 15. NGHIEÄP Trang 15 I. DIỄN GIẢI HỆ THỐNG : Hệ thống CSDL hóa đơn tiền điện là một hệ thống lớn, nhằm mục đích quản lý điện kế của khách hàng lẫn của ngành điện nhằm phục vụ cho công tác kinh doanh điện năng : điện năng thương phẩm thông qua điện kế khách hàng, điện năng đo đếm [giữa các điện lực] điện kế tổng, doanh thu, các biến động khách hàng và các yếu tố khác có liên quan đến điện kế khách hàng như : hiệu suất khu vực, phân bố điện kế, lập lịch ghi điện, lên phương án [lịch] cắt điện … Hóa đơn tiền điện ra hàng kỳ [1 năm có 12 kỳ hóa đơn] đối với khách hàng [điện kế] có mức tiêu thụ nhỏ và nhiều đợt trong kỳ đối với khách hàng có mức tiêu thụ lớn. Hệ thống hoạt động theo chu kỳ khép kín theo từng kỳ /đợt được tóm tắt như sau : Nhân viên ghi điện đọc các thông tin về điện kế từ khách hàng và những thông tin khác có liên quan đến điện kế, sau đó đưa bản ghi chỉ số + thông tin khác về Phòng kinh doanh của điện lực. Phòng kinh doanh nhận các yêu cầu lắp đặt điện kế từ khách hàng, lập hồ sơ, thông báo cho phòng kỹ thuật chuẩn bị tiến hành thi công. Sau khi thi công xong Phòng kỹ thuật báo cho Phòng kinh doanh để lập hồ sơ lên khoán ước. Phòng này nhập liệu toàn bộ lên máy tính, tạo số liệu, chứng từ rồi chuyển về Phòng Kinh doanh Cty và Trung tâm Máy tính [TTMT]. Tại TTMT tiến hành tổng hợp các số liệu, chứng từ từ các phòng kinh doanh điện lực, kiểm tra đối chiếu số liệu, nếu chưa hợp lý yêu cầu phòng kinh doanh điện lực kiểm tra hoặc gửi lại, nếu hợp lý cho tổng hợp lưu trữ. Tại Phòng KD Công ty cũng tiến hành kiểm tra đối chiếu rà soát từ kho CSDL, nếu đúng gửi yêu cầu tính toán và cho phép in hóa đơn đến TTMT và lưu trữ chứng từ, nếu sai yêu cầu kiểm tra và thực hiện việc chuyển lại số liệu, chứng từ. TTMT tiến hành tính toán nếu có yêu cầu tính toán và in hóa đơn từ Phòng KD, nếu hợp lý cho in hóa đơn và các chứng từ khác [bảng ghi chỉ số mới, bảng kê…], nếu chưa hợp lý cho kiểm tra đối chiếu lại và yêu cầu chuyển lại số liệu nếu cần. Điện lực nhận hóa đơn, chứng từ tiến hành thu tiền khách hàng. Nếu có xảy ra khiếu nại, khách hàng liên hệ với Phòng Kinh doanh điện lực để xem xét và xác minh, lập hồ sơ cần thiết chuyển về Phòng Kinh doanh công ty để báo cáo, rà soát rồi sau đó chuyển cho TTMT tiến hành ra hóa đơn điều chỉnh. Chức năng của các đơn vị có liên quan đến hệ thống quản lý hóa đơn : - TTMT quản lý CSDL hóa đơn, tính toán điện năng tiêu thụ + tiền thanh toán, in hóa đơn + bảng ghi chỉ số mới và chịu trách nhiệm phát hành hóa đơn. - Phòng Kinh doanh Công ty là nơi quản lý các Phòng Kinh doanh Điện lực, thống kê phân tích hoạch định các kế hoạch kinh doanh. - Phòng Kinh doanh Điện lực quản lý chứng từ hóa đơn, thu tiền, ghi chỉ số, lên khoán ước mới, giải quyết các khiếu nại, thực hiện các chế độ báo cáo về Phòng Kinh doanh Công ty, TTMT II. PHÂN TÍCH YÊU CẦU : - Đối với việc dữ liệu hóa thông tin : . Quản lý tất cả các yếu tố liên quan đến hệ thống CSDL khách hàng nhằm gia tăng tính linh hoạt, bảo đảm các thiết lập quan hệ đầy đủ tăng tính tin cậy : giá điện, bậc thang, giá thuê MBT, hóa đơn điều chỉnh, lịch ghi điện, tài khoản khách hàng…
  • 16. NGHIEÄP Trang 16 - Đối với người quản trị hệ thống CSDL khách hàng. Mô hình này đáp ứng các yêu cầu sau : . Quản trị đầu vào : Tất cả các thông tin cập nhật vào hệ thống [biến động khách hàng, biến động chỉ số, biến động giá, biến động vị trí địa lý hành chính, biến động các yếu tố khác có liên quan]. . Quản trị hoạt động của hệ thống : kiểm soát và bảo đảm về tính toàn vẹn dữ liệu. . Quản trị đầu ra : Tất cả các thông tin phục vụ cho công tác thống kê theo dõi của công tác kinh doanh điện năng và các yêu cầu quản lý hệ thống khác. - Đối với người sử dụng hệ thống có thể khai thác thông tin từ một nguồn thông tin nhất quán về mặt dữ liệu và đáng tin cậy. III. GIẢI THÍCH CÁC KHÁI NIỆM SỬ DỤNG Đứng trước những yêu cầu mới trong quản lý, những điểm mạnh yếu của hệ thống hiện tại. Chúng tôi đưa ra các khái niệm về những yếu tố quản lý trong hệ thống mới này và những nguyên tắc quản lý như sau : - Khách hàng là người chủ đứng tên trong hợp đồng mua bán điện. Họ là người có thể có nhiều điện kế. Họ có thể có nhiều địa chỉ và nhiều tài khoản khác nhau tại các ngân hàng khác nhau. - Đối với địa chỉ khách hàng : chúng ta sẽ quản lý địa chỉ theo mã đường phố và số nhà. Nhằm có thể phân tích thông tin theo danh mục này. - Về mặt kỹ thuật, một trạm cung cấp [hay phân phối] thuộc một điện lực khu vực và chỉ cung cấp điện cho các điện kế khách hàng trong khu vực quản lý của điện lực mà thôi. Không có trường hợp trạm cung cấp cho các điện kế thuộc điện lực này và đồng thời cho các điện kế thuộc điện lực khác quản lý. Một điện kế chỉ do một trạm cung cấp [khách hàng thuộc diện ưu tiên thì có ít nhất 2 điện kế từ 2 nguồn cung cấp] không xét đến trường hợp bất khả kháng phải sang tải từ trạm này sang trạm khác vì đây chỉ là tình huống sang tải tạm thời và rất ít đối với trạm cung cấp hạ thế trở xuống. - Đối với điện kế và trạm phân phối hạ thế do tính chất thay đổi thường xuyên về thông tin quan trọng, do đó chúng tôi sẽ quản lý theo ngày cập nhật thay đổi nhằm có thể tìm lai lịch của các điện kế hay trạm tại mọi thời điểm [hệ thống động]. Đồng thời để có thể tính toán chính xác các tiêu thức sử dụng trong hệ thống hạch toán kế toán. [điện kế : ngày ký hợp đồng, ngày hiệu lực; trạm phân phối : ngày cấy trạm, ngày hiệu lực trạm]. - Với cách quản lý trên ta có thể áp dụng cho giá điện. Tuy nhiên trong luận án chúng tôi xem như giá điện không thay đổi. IV. THIẾT KẾ MÔ HÌNH ERD Các thực thể : 1. Khách hàng : Mã khách hàng, họ tên, phái, năm sinh, số điện thoại. Khách hàng là người đứng tên trong hợp đồng mua bán điện với Điện lực - mã khách hàng dạng text 7 ký tự số.
  • 17. NGHIEÄP Trang 17 2. Đƣờng phố : Mã tên đường, tên đường. Mã tên đường 4 ký tự [char], tên đường phố khoảng 30 ký tự 3. Thực thể phƣờng xã: mã quận, mã phường, tên phường. Mã quận 1 ký tự chữ, mã phường : 2 ký tự - ký tự đầu là mã quận, ký tự thứ 2 là chữ hay dạng số [xem phụ lục]. 4. Thực thể quận : mã quận, tên quận [xem phụ lục] 5. Thực thể ngân hàng : mã ngân hàng, tên ngân hàng. Mã ngân hàng 3 ký tự. 6. Thực thể tài khoản khách hàng : mã ngân hàng, tài khoản, 7. Thực thể tài khoản điện lực : mã ngân hàng, tài khoản. 8. Thực thể điện lực : mã điện lực, tên điện lực, số điện thoại. Công ty điện lực TP.HCM có 11 điện lực khu vực với mã điện lực 1 ký tự text [xem phụ lục] 9. Thực thể trạm truyền tải : mã trạm truyền tải, tên trạm. Là trạm có cấp điện áp ở đầu thứ cấp 15 - 66 kV. Mã trạm truyền tải dạng text 1 ký tự [xem phụ lục]. 10. Thực thể trạm cắt : mã trạm cắt, tên trạm. Trạm cắt lấy điện từ lộ ra của các trạm truyền tải, mã trạm cắt 1 ký tự [xem phụ lục]. 11. Thực thể loại trạm : mã loại trạm, tên loại trạm, sở hữu. Mã phân loại trạm cung cấp thuộc sở hữu ngành điện hay khách hàng… , mã này 1 ký tự - mã sở hữu nhằm để xác định. 12. Thực thể trạm cung cấp [hay phân phối hạ thế] : mã trạm [mã điện lực+mã thứ tự trạm], ngày cấy trạm, ngày hiệu lực, công suất máy biến thế. Trạm hạ thế cung cấp điện cho khách hàng; ngày cấy trạm là ngày trạm được đưa vào vận hành. 13. Thực thể ngành nghề : mã nghe, tên nghề. Ngành nghề của khách hàng [Công nghiệp, phi công nghiệp, giao thông vận tải, nông nghiệp, ánh sáng sinh hoạt] sử dụng điện. Bao gồm 2 ký tự chữ [Xem phụ lục] 14. Thực thể công suất điện kế : mã công suất điện kế, mô tả. Mã công suất điện kế : 2 ký tự phân biệt loại điện kế và loại pha. 15. Thực thể điện kế : mã điện kế, ngày ký hợp đồng, ngày hiệu lực, ngày gửi phiếu thông báo, ngày kết thúc hợp đồng, phiên [thứ tự phiên 1-30], lộ trình, khoảng cách đến trạm cung cấp, khoảng cách đến lưới hạ thế, tỷ số TU, TI, hệ số nhân, số lượng TU, TI, số hộ, mã số thuế Mã điện kế 7 ký tự dạng số; Ngày ký hợp đồng là ngày ký kết hợp đồng mua bán sử dụng điện giữa Ngành điện và khách hàng [khi có thay đổi các thuộc tính của điện kế : hệ số nhân, mã giá biểu, … sẽ ký kết lại hợp đồng; Ngày hiệu lực là ngày thực tế lên khoán ước tính tiền mua điện khách hàng, [ngày hiệu lực còn được dùng khi thay đổi các thuộc tính liên quan đến điện kế mà không cần ký kết lại hợp đồng – thường sử dụng cho điều chỉnh hóa đơn].
  • 18. NGHIEÄP Trang 18 Ngày gửi phiếu thông báo là ngày điện lực chuyển phiếu thông báo lên khoán ước hay thay đổi hợp đồng. Phiên+lộ trình [đã giải thích ở phần phân tích hiện trạng hệ thống CSDL hóa đơn tiền điện]; Các khoảng cách .. dùng để tính tổn thất trên lưới khi cung cấp điện qua điện kế; tỷ số TU, TI biến dòng & biến áp dùng để tính hệ số nhân; hệ số nhân là hệ số nhân thực tế, số hộ là số hộ gia đình dùng chung điện kế. 16. Thực thể đối tƣợng giá : mã giá biểu [MSGB], tên đối tượng. Đối tượng sử dụng điện : Bệnh viện, sản xuất lương thực thực phẩm, quân đội, cơ quan trường học, công ty nước ngoài, cá nhân…. Xem phụ lục. 17. Thực thể thông tin định mức tiêu thụ : mã định mức [TL], tên định mức. Mã định mức SX, DV, CQ, SH. Dạng 2 ký tự chữ [xem phụ lục] 18. Thực thể cấp điện áp [kinh doanh] : mã cấp điện áp, mức điện áp. Cấp điện áp khách hàng mua điện của Công ty điện lực, xem phụ lục 19. Thực thể pha : pha. Loại 1 hay 3 pha, dạng số. 20. Thực thể Phiên : phiên. Phiên : 1->30. 21. Thực thể đợt : đợt. Đợt : 1->3. 22. Thực thể lịch ghi điện : phiên, đợt, kỳ, ngày đọc chỉ số, ngày gửi TTMT, ngày nhận hoá đơn, ngày thu tiền. 23. Thực thể mã truy thu : mã truy thu, mô tả. Xác định các loại truy thu : lập lại, khấu trừ, sai giá, câu điện bất hợp pháp, nhà giải tỏa. 24. Thực thể mã hủy bỏ : mã hủy bỏ, mô tả. Xác định : hủy bỏ hóa đơn hay hủy bỏ bồi hoàn. 25. Thực thể kỳ : kỳ, ngày đầu kỳ, ngày cuối kỳ Kỳ dạng 6 ký tự số [VD : 199901 – kỳ 01 năm 1999]. Ngày đầu kỳ, ngày cuối kỳ dạng date 26. Thực thể CSMBT [công suất máy biến thế] : CSMBT Dạng ký tự số. 27. Thực thể điện kế tổng : mã điện kế, ngày hiệu lực, hệ số nhân, số tu, ti, phiên, lộ trình [ghi điện] 28. Thực thể bậc : bậc, KWHLO, KWHHI, mô tả. Bậc dùng cho giá sinh hoạt bậc thang [5 bậc], ví dụ : khi sử dụng 100kWh đầu tính giá 500 đ/1 kWh, 50kWh tiếp theo tính giá 650 đ, 100kWh tiếp theo tính giá 900đ.. Bậc 0 sẽ không tính giá bậc thang : truy thu điện năng giá gốc, thắp sáng sinh hoạt nước ngoài và dùng cho các đối tượng không dùng điện cho mục đích thắp sáng sinh hoạt trong nước. KWHHI, KWHLO, dùng để xác định khoảng tính bậc cho điện năng tiêu thụ, ví dụ : BAC KWHLO KWHHI
  • 19. NGHIEÄP Trang 19 1 1 100 2 100 150 3 150 250 4 250 350 5 350 99999 0 1 99999 29. Thực thể điều chỉnh hóa đơn hủy bỏ : mã điện kế, ngày ký HĐ, ngày hiệu lực, kỳ, phiên, đợt, kỳ áp dụng, đợt áp dụng, KWHBH, tổng tiền, lý do điều chỉnh. 30. Thực thể điều chỉnh hóa đơn truy thu : mã điện kế, ngày ký HĐ, ngày hiệu lực, kỳ, phiên, đợt, kỳ áp dụng, đợt áp dụng, CSMOI, KWHPHAT, số tiền phạt, tổng tiền. 31. Thực thể lộ ra trạm truyền tải : mã Trạm TT, lộ raTT Một trạm truyền tải có nhiều lộ ra [phát tuyến] khác nhau. Qui định đánh thứ tự lộ ra tại một trạm truyền tải là A, B, C… 32. Thực thể lộ ra trạm cắt : mã trạm cắt, lộ ra. Tương tự trên trạm cắt cũng có nhiều lộ ra và đánh thứ tự A, B, C… 33. Thực thể định mức tiêu thụ : mã định mức [TL], bậc. Dựa trên mối quan hệ của các thực thể trong việc hình thành CSDL hóa đơn ta xây dựng các thực thể quan hệ liên kết : 1. Thực thể tài khoản khách hàng : có mối quan hệ n-1 với các thực thể sau . Thực thể khách hàng : một khách hàng có thể có nhiều tài khoản, một tài khoản chỉ có duy nhất một chủ tài khoản : bỏ khóa của thực thể khách hàng vào thực thể tài khoản. . Thực thể ngân hàng : một tài khoản thuộc 1 ngân hàng, một ngân hàng có nhiều tài khoản : bỏ khóa của ngân hàng vào thực thể tài khoản tài khoản. - Các thuộc tính : mã ngân hàng, tài khoản, mã khách hàng. 2. Thực thể tài khoản điện lực : có các mối quan hệ với các thực thể sau . Thực thể điện lực : một điện lực có thể có nhiều tài khoản, một tài khoản chỉ thuộc 1 điện lực : bỏ khóa điện lực vào thực thể tài khoản. . Thực thể ngân hàng : tương tự thực thể tài khoản khách hàng. - Các thuộc tính : Mã ngân hàng, tài khoản, mã điện lực 3. Thực thể địa chỉ khách hàng : được hình thành qua mối quan hệ 2 ngôi n-n từ 2 thực thể khách hàng và đường phố. Một khách hàng có thể cư ngụ tại nhiều vị trí trên nhiều con đường khác nhau, một con đường có thể có nhiều khách hàng cư ngụ. Tuy nhiên một khách hàng có thể cư ngụ tại nhiều vị trí khác nhau trên cùng một con đường do đó ta thêm một khóa số nhà – Thực ra đây là mối quan hệ 3 ngôi n-n-n [thêm 1 thực thể số nhà vì 1 khách hàng ở 1 đường phố có thể có nhiều số nhà, một khách hàng có số nhà ở nhiều đường khác nhau, một số nhà trên 1 đường có thể có nhiều khách hàng -> đây là trường
  • 20. NGHIEÄP Trang 20 hợp trùng số nhà. Tuy nhiên thực thể số nhà ta chưa cần quản lý nên tạm thời không tính thực thể số nhà này]. - Khoá của thực thể này là tổ hợp khóa của thực thể khách hàng, đường phố và khóa số nhà. - Các thuộc tính : Mã khách hàng mã tên đường, số nhà 4. Thực thể địa giới hành chính : được hình thành qua mối quan hệ 2 ngôi n-n từ 2 thực thể đường phố và thực thể phường xã. Một đường phố có thể thuộc nhiều phường và trong 1 phường có nhiều đường. - Khóa của thực thể này là tổ hợp khóa của thực thể đường phố và phường xã - Các thuộc tính : Mã đường phố, mã quận/phường. 5. Thực thể biến động chỉ số : được hình thành qua mối quan hệ 2 ngôi n-n từ 2 thực thể điện kế và lịch ghi điện. Một điện kế có nhiều lần ghi điện [hay ra hóa đơn], một lần ghi điện có nhiều điện kế. - Khóa thực thể này là tổ hợp gồm khóa của thực thể điện kế và khóa thực thể lịch ghi điện. - Các thuộc tính : mã điện kế, ngày ký hợp đồng, ngày hiệu lực, phiên, đợt, kỳ, ngày nhận hoá đơn, chỉ số mới, chỉ số ngưng [dùng cho các điện kế thay mới hay thay bảo trì - chỉ số ngưng này chỉ tính giá gốc] 6. Thực thể giá điện : được hình thành từ mối quan hệ 3 ngôi n-n-n từ 3 thực thể cấp điện áp, đối tượng giá và định mức điện kế. - Khóa của thực thể này là tổ hợp khóa của 3 thực thể trên - Các thuộc tính : Mã cấp điện áp, mã đối tượng giá [MSGB], mã định mức [TL], bậc, giá 7. Thực thể phiên-đợt : được hình thành từ mối quan hệ 2 ngôi n-n từ 2 thực thể phiên và đợt. Đợt 1->2 dùng cho phiên 27 và đợt 1->3 dùng cho các phiên 28, 29. Các phiên còn lại không có đợt, đánh mã 0. - Khóa của thực thể này là khóa của 2 thực thể phiên và đợt. - Các thuộc tính : phiên, đợt. 8. Thực thể Trạm phân phối [PP] có các mối quan hệ 2 ngôi n-1 với các thực thể sau: . Loại trạm : trạm PP có 1 thuộc tính loại trạm, 1 loại trạm có nhiều trạm PP -> bỏ khóa mã loại trạm vào thực thể trạm PP, khóa của thực thể trạm PP là mã trạm PP+ngày cấy trạm. . Cấp điện áp : mỗi trạm PP có 1 cấp điện áp riêng,có nhiều trạm có chung 1 cấp điện áp  bỏ khóa mã cấp điện áp vào thực thể trạm PP, khóa của thực thể trạm PP là mã trạm PP+ngày cấy trạm. . Điện lực : mỗi trạm phân phối thuộc 1 điện lực, một điện lực quản lý nhiều trạm phân phối -> bỏ khóa thực thể điện lực vào thực thể trạm. Khóa của thực thể trạm phân phối là mã trạm PP+ngày cấy trạm. . CSMBT : một máy biến thế có một công suất riêng, có thể có nhiều máy biến thế có cùng CSMBT -> bỏ khóa thực thể CSMBT vào thực thể trạm.
  • 21. NGHIEÄP Trang 21 . Lộ ra trạm cắt : một trạm phân phối hạ thế được “nuôi” từ một lộ ra củatrạm cắt một lộ ra trạm cắt có thể cung cấp điện cho nhiều trạm phân phối hạ thế -> bỏ khóa của thực thể Lộ ra trạm cắt vào trạm phân phối. . Lộ ra trạm truyền tải : nếu trạm hạ thế được “nuôi” thường xuyên bởi một lộ ra trạm truyền tải cố định, một lộ ra trạm truyền tải có thể cấp điện cho nhiều trạm phân phối hạ thế - > bỏ khóa của thực thể Lộ ra trạm truyền tải vào trạm phân phối - Các thuộc tính : mã trạm [mã điện lực+mã thứ tự trạm], ngày hiệu lực, ngày cấy trạm, công suất máy biến thế, mã trạm truyền tải, lộ ra truyền tải, mã trạm cắt, lộ ra trạm cắt, mã loại trạm, cấp điện áp. 9. Thực thể điện kế có các mối quan hệ 2 ngôi n-1 với các thực thể sau : . Khách hàng : khách hàng có thể nhiều điện kế, một điện kế chỉ có một khách hàng -> bỏ khóa khách hàng vào thực thể điện kế, khóa của thực thể điện kế là mã điện kế + ngày ký hợp đồng+ ngày hiệu lực. . Phường xã : trong phường thuộc quận có nhiều điện kế, một điện kế chỉ ở trong một quận phường -> bỏ khóa quận phường vào thực thể điện kế, khóa của thực thể điện kế là mã điện kế + ngày ký hợp đồng+ ngày hiệu lực. . Trạm phân phối : trạm phân phối cho một hoặc nhiều điện kế, một điện kế chỉ được cung cấp bởi một trạm -> bỏ mã trạm vào thực thể điện kế, khóa của thực thể điện kế là mã điện kế + ngày ký hợp đồng+ ngày hiệu lực. . Ngành nghề : có nhiều điện kế thuộc một loại ngành nghề, một điện kế chỉ thuộc 1 ngành nghề -> bỏ khóa mã nghề vào thực thể điện kế, khóa của thực thể điện kế là mã điện kế + ngày ký hợp đồng+ ngày hiệu lực. . Công suất điện kế : một điện kế có một công suất điện kế riêng, có nhiều điện kế có cùng một loại công suất điện kế -> bỏ khóa mã công suất điện kế vào thực thể điện kế, khóa của thực thể điện kế là mã điện kế + ngày ký hợp đồng+ ngày hiệu lực. . Phiên : một điện kế thuộc 1 phiên nhất định, một phiên có nhiều điện kế -> bỏ khóa của thực thể phiên vào thực thể điện kế, khóa của thực thể điện kế là mã điện kế + ngày ký hợp đồng+ ngày hiệu lực. . Đối tượng giá : một điện kế có một đối tượng giá, một đối tượng giá có nhiều điện kế -> khóa của thực thể đối tượng giá bỏ vào thực thể điện kế, khóa của thực thể điện kế là mã điện kế + ngày ký hợp đồng+ ngày hiệu lực. - Các thuộc tính : mã điện kế, ngày ký hợp đồng, ngày hiệu lực, ngày gửi phiếu thông báo, ngày kết thúc hợp đồng, phiên [thứ tự phiên 1-30], lộ trình, khoảng cách đến trạm cung cấp, khoảng cách đến lưới hạ thế, tỷ số TU, TI, hệ số nhân, số lượng TU, TI, số hộ, mã số thuế, mã khách hàng, mã quận/phường, mã nghề, mã công suất điện kế, mã trạm phân phối, ngày cấy trạm, ngày hiệu lực [trạm], mã giá biểu [MSGB]. 10. Thực thể phƣờng xã có mối quan hệ 2 ngôi n-1 với thực thể : . Quận huyện: một quận/huyện có nhiều phường/xã, 1 phường/xã thuộc 1 quận/huyện -> Bỏ mã quận vào thực thể phường xã. Khóa của thực thể phường xã là mã quận/phường. . Các thuộc tính : mã quận, mã phường, tên phường. 11. Thực thể điều chỉnh hóa đơn hủy bỏ có mối quan hệ n-1 với các thực thể sau :
  • 22. NGHIEÄP Trang 22 . Mã hủy bỏ : một mã hủy bỏ có thể áp dụng cho nhiều lần điều chỉnh, một lần điều chỉnh hủy bỏ qui định bởi 1 mã hủy bỏ -> bỏ khóa của mã hủy bỏ vào thực thể điều chỉnh hóa đơn hủy bỏ. . Điện kế : một điện kế có thể bị hủy bỏ hóa đơn nhiều lần nhiều lần, một lần hủy bỏ hóa đơn cho một điện kế -> bỏ khóa của điện kế vào thực thể điều chỉnh hóa đơn hủy bỏ. . Kỳ : một kỳ [thời điểm bắt đầu hạch toán vào hệ thống kế toán] có thể áp dụng cho nhiều hóa đơn điện kế cần điều chỉnh hủy bỏ, một hóa đơn điện kế điều chỉnh hủy bỏ được tính áp dụng trong một kỳ-> bỏ khóa của kỳ vào thực thể điều chỉnh hóa đơn hủy bỏ. . Lịch ghi điện : một lịch ghi điện có thể có nhiều hóa đơn điện kế bị hủy bỏ, một hóa đơn điện kế bị hủy duy nhất chỉ thuộc một lịch ghi điện-> bỏ khóa của lịch ghi điện vào thực thể điều chỉnh hóa đơn hủy bỏ. . Đợt : trong 1 đợt [thời điểm hạch toán tính cho hóa đơn phân kỳ] có thể áp dụng cho nhiều hóa đơn điều chỉnh hủy bỏ, một hóa đơn hủy bỏ chỉ được áp dụng trong một đợt nào đó-> bỏ khóa của đợt vào thực thể điều chỉnh hóa đơn hủy bỏ. - Các thuộc tính : mã điện kế, ngày ký HĐ, ngày hiệu lực, kỳ, phiên, đợt, kỳ áp dụng, đợt áp dụng, mã hủy bỏ, KWHBH, tổng tiền, lý do điều chỉnh. 12. Thực thể điều chỉnh hóa đơn truy thu : tương tự trên - Các thuộc tính : mã điện kế, ngày ký HĐ, ngày hiệu lực, kỳ, phiên, đợt, kỳ áp dụng, đợt áp dụng, mã truy thu, CSMOI, KWHPHAT, số tiền phạt, tổng tiền. 13. Thực thể lịch ghi điện có mối quan hệ n-1 với các thực thể : . Phiên : một phiên có nhiều lịch ghi điện, một lịch ghi điện có một phiên -> bỏ khoá thực thể phiên vào lịch ghi điện. . Đợt : một đợt của phiên có nhiều lịch ghi điện, một lịch ghi điện có 1 đợt phiên -> bỏ khóa thực thể đợt vào lịch ghi điện. . Kỳ : một lịch phiên ghi điện thuộc một kỳ, một kỳ có nhiều lịch phiên ghi điện -> bỏ khóa thực thể kỳ vào lịch ghi điện. - Các thuộc tính : phiên, đợt, kỳ, ngày đọc chỉ số, ngày gửi TTMT, ngày nhận hoá đơn, ngày thu tiền. 14. Thực thể điện kế tổng : có mối quan hệ n-1 với các thực thể sau . Thực thể công suất điện kế : một điện kế tổng chỉ có một loại CSĐK, nhiều điện kế tổng có thể gắn cùng một loại điện kế -> Bỏ khóa của thực thể CSĐK vào thực thể điện kế tổng. . Thực thể trạm PP : một trạm phân phối có thể có nhiều điện kế tổng, một điện kế tổng chỉ thuộc duy nhất một trạm -> bỏ khóa của thực thể trạm PP vào thực thể điện kế tổng. - Các thuộc tính : mã điện kế, ngày hiệu lực, hệ số nhân, số tu, ti, phiên, lộ trình [ghi điện], CSĐK, mã trạm, ngày hiệu lực [trạm], ngày cấy trạm. 15. Thực thể phiên kỳ được hình thành từ mối quan hệ 2 ngôi n-n giữa thực thể phiên và kỳ : một phiên có nhiều kỳ, một kỳ có nhiều phiên
  • 23. NGHIEÄP Trang 23 . Khóa là tổ hợp khóa của thực thể phiên và kỳ. - Các thuộc tính : phiên, kỳ 16. Thực thể định mức điện kế được hình thành từ mối quan hệ 2 ngôi n-n giữa thực thể điện kế và Thông tin định mức tiêu thụ : một điện kế có nhiều định mức tiêu thụ, một thông tin định mức tiêu thụ có nhiều điện kế. . Khóa của thực thể này là tổ hợp khóa của thực thể điện kế và thông tin định mức tiêu thụ. Bỏ thêm thuộc tính tỷ lệ vào thực thể này, đây chính là tỷ lệ % của các định mức có nghĩa là các điện kế [mã điện kế, ngày ký hợp đồng, ngày hiệu lực] có tổng các tỷ lệ bằng 100[%] – ràng buộc toàn vẹn. - Các thuộc tính : mã điện kế, ngày ký hợp đồng, ngày hiệu lực, mã định mức, tỷ lệ. 17. Thực thể giá thuê máy biến thế : được hình thành từ mối quan hệ 2 ngôi giữa các thực thể pha và CSMBT. - Các thuộc tính : loại pha, công suất máy biến thế, giá Giá thuê máy biến thế đối với khách hàng có công suất sử dụng điện lớn thuê máy biến thế của ngành điện [kể cả khách hàng mua điện trung hay hạ thế]. Giá tính đơn vị đồng / 1KVA. [xem phụ lục] 18. Thực thể Công suất điện kế có mối quan hệ n-1 với thực thể pha : một mã công suất điện kế có một loại pha và có thể có nhiều mã công suất điện kế mang cùng một loại pha -> bỏ khóa của thực thể pha vào thực thể CSĐK. - Các thuộc tính : mã công suất điện kế, pha, mô tả. 19. Thực thể định mức tiêu thụ có mối quan hệ n-1 với bậc : một định mức tiêu thụ có 1 bậc, 1 loại bậc có nhiều mã định mức tiêu thụ -> bỏ khóa của thực thể bậc vào thực thể định mức tiêu thụ. - Các thuộc tính : mã định mức [TL], bậc. 20. Thực thể biến động chỉ số điện kế tổng được sinh ra từ mối quan hệ n-n giữa Điện kế tổng và Lịch ghi điện : một điện kế tổng có nhiều lần [lịch] ghi điện và một lịch ghi điện có thể ghi nhiều điện kế tổng -> bỏ khóa của 2 thực thể vào dùng làm tổ hợp khóa. - Các thuộc tính : mã điện kế, ngày hiệu lực, phiên, đợt, kỳ, chỉ số mới, chỉ số ngưng. 21. Thực thể lộ ra truyền tải có mối quan hệ n-1 với thực thể trạm truyền tải : một trạm truyền tải có nhiều lộ ra, một lộ ra thuộc một trạm truyền tải. - Các thuộc tính : mã trạm truyền tải, lộ ra truyền tải. 22. Thực thể lộ ra trạm cắt : có mối quan hệ n-1 với thực thể trạm cắt : một trạm cắt có nhiều lộ ra, một lộ ra chỉ từ một trạm cắt. - Các thuộc tính : mã trạm cắt, lộ ra trạm cắt 23. Thực thể trạm cắt – lộ ra truyền tải được hình thành từ mối quan hệ n-n của 2 thực thể trạm cắt và lộ ra truyền tải. Một lộ ra truyền tải có thể đến nhiều trạm cắt, một trạm cắt có thể được “nuôi” từ nhiều lộ ra [nguồn] truyền tải khác nhau -> dùng khóa của cả hai thực thể làm tổ hợp khóa cho thực thể trạm cắt – lộ ra truyền tải. - Các thuộc tính : mã trạm truyền tải, lộ ra TT, mã trạm cắt
  • 24. NGHIEÄP Trang 24 Nhƣ vậy các thực thể và quan hệ của ERD là : 1. Khách hàng : Mã khách hàng, họ tên, phái, năm sinh, số điện thoại. 2. Đƣờng phố : Mã tên đường, tên đường. 3. Thực thể quận : mã quận, tên quận. 4. Thực thể ngân hàng : mã ngân hàng, tên ngân hàng. 5. Thực thể điện lực : mã điện lực, tên điện lực, số điện thoại. 6. Thực thể trạm truyền tải : mã trạm truyền tải, tên trạm. 7. Thực thể trạm cắt : mã trạm cắt, tên trạm. 8. Thực thể loại trạm : mã loại trạm, tên loại trạm, sở hữu. 9. Thực thể ngành nghề : mã nghe, tên nghề. 10. Thực thể công suất điện kế : mã công suất điện kế, pha, mô tả 11. Thực thể đối tƣợng giá : mã giá biểu [MSGB], tên đối tượng. 12. Thực thể thông tin định mức tiêu thụ : mã định mức , tên định mức. 13. Thực thể cấp điện áp [kinh doanh] : mã cấp điện áp, mức điện áp. 14. Thực thể giá thuê máy biến thế : loại pha, công suất máy biến thế, giá 15. Thực thể Phiên : phiên. 16. Thực thể đợt : đợt. 17. Thực thể lịch ghi điện : phiên, đợt, kỳ, ngày đọc chỉ số, ngày gửi TTMT, ngày thu tiền, ngày nhận hóa đơn. 18. Thực thể mã truy thu : mã truy thu, mô tả. 19. Thực thể mã hủy bỏ : mã hủy bỏ, mô tả. 20. Thực thể tài khoản khách hàng : mã ngân hàng, tài khoản, mã khách hàng. 21. Thực thể tài khoản điện lực : Mã ngân hàng, tài khoản, mã điện lực 22. Thực thể địa chỉ khách hàng : Mã khách hàng mã tên đường, số nhà. 23. Thực thể địa giới hành chính : Mã đường phố, mã quận/phường. 24. Thực thể biến động chỉ số : Mã điện kế, ngày ký hợp đồng, ngày hiệu lực, phiên, đợt, kỳ, chỉ số mới, chỉ số ngưng [dùng cho các điện kế thay mới hay thay bảo trì - chỉ số ngưng này chỉ tính giá gốc] 25. Thực thể giá điện : Mã cấp điện áp, mã đối tượng giá [MSGB], mã định mức [TL], bậc, giá. 26. Thực thể phiên đợt : Phiên, đợt. 27. Thực thể Trạm phân phối [PP] : Mã trạm [mã điện lực+mã thứ tự trạm], ngày cấy trạm, ngày hiệu lực, công suất máy biến thế, mã trạm truyền tải, mã trạm cắt, mã loại trạm, cấp điện áp, lộ ra TT, lộ ra trạm cắt.
  • 25. NGHIEÄP Trang 25 28. Thực thể điện kế mã điện kế, ngày ký hợp đồng, ngày hiệu lực, ngày gửi phiếu thông báo, ngày kết thúc hợp đồng, phiên [thứ tự phiên 1-30], lộ trình, khoảng cách đến trạm cung cấp, khoảng cách đến lưới hạ thế, tỷ số TU, TI, hệ số nhân, số lượng TU, TI, số hộ, mã số thuế, mã khách hàng, mã quận/phường, mã nghề, mã công suất điện kế, mã trạm phân phối, ngày cấy trạm, ngày hiệu lực [trạm], mã giá biểu [MSGB]. 29. Thực thể phƣờng xã : mã quận, mã phường, tên phường. 30. Thực thể điều chỉnh hóa đơn hủy bỏ : mã điện kế, ngày ký HĐ, ngày hiệu lực, kỳ, phiên, đợt, kỳ áp dụng, đợt áp dụng, mã hủy bỏ, KWHBH, tổng tiền, lý do điều chỉnh. 31. Thực thể điều chỉnh hóa đơn truy thu : mã điện kế, ngày ký HĐ, ngày hiệu lực, kỳ, phiên, đợt, kỳ áp dụng, đợt áp dụng, mã truy thu, CSMOI, KWHPHAT, số tiền phạt, tổng tiền. 32. Thực thể điện kế tổng : mã điện kế, ngày hiệu lực, mã trạm, ngày cấy trạm, ngày hiệu lực [trạm], phiên, lộ trình [ghiđiện], công suất điện kế. 33. Thực thể pha : pha 34. Thực thể CSMBT : CSMBT 35. Thực thể định mức điện kế : Mã điện kế, ngày ký hợp đồng, ngày hiệu lực, mã định mức, tỷ lệ 36. Thực thể phiên kỳ : Kỳ, Phiên . 37. Thực thể bậc : bậc, KWHLO, KWHHI, mô tả. 38. Thực thể kỳ : Kỳ, ngày đầu kỳ, ngày cuối kỳ. 39. Thực thể biến động chỉ số điện kế tổng : mã điện kế, ngày hiệu lực, phiên, đợt, kỳ chỉ số mới, chỉ số ngưng. 40. Thực thể lộ ra trạm truyền tải : mã Trạm TT, lộ raTT 41. Thực thể trạm cắt – lộ raTT : mã trạm truyền tải, lộ ra TT, mã trạm cắt 42. Thực thể lộ ra trạm cắt : mã trạm cắt, lộ ra. 43. Thực thể định mức tiêu thụ : mã định mức [TL], bậc.
  • 26. NGHIEÄP Trang 26 PHẦN 4 : CHƢƠNG TRÌNH QUẢN LÝ VÀ TÍNH TOÁN HÓA ĐƠN TIỀN ĐIỆN
  • 27. NGHIEÄP Trang 27 I. TÍNH TOÁN HÓA ĐƠN TIỀN ĐIỆN : Ở giai đoạn Thực tập tốt nghiệp, chúng tôi đã thực hiện Viết chương trình demo tính hóa đơn tiền điện bằng SQL Oracle và đã trình bày các nguyên tắc tính chủ yếu. Tuy nhiên ở giai đoạn đó chúng tôi chỉ đã đưa ra các giả thiết nhằm làm đơn giản hóa tính toán của hệ thống phục vụ cho demo chương trình. Ở giai đoạn luận án, một số giả thiết sẽ được loại bỏ nhằm tăng tính thực tế của hệ thống. Hóa đơn được tính toán theo các yêu cầu sau : - Áp dụng bậc thang và số hộ cho các điện kế thắp sáng sinh hoạt theo dòng thời gian. - Ap dụng tính truy thu chỉ số ngưng cho các điện kế thay bảo trì, hư cháy và các thay đổi khác - Tính toán có xét đến các trường hợp truy thu, hủy bỏ [không áp dụng cho tính hóa đơn mới] - Xét trường hợp qua tua điện kế. - Thời gian tính cho các điện kế xác định hiệu lực theo lịch ghi điện và các ngày hiệu lực khác [hệ thống động] 1. Giả thiết đƣa ra : - Xem như các dữ liệu là chính xác. - Chưa tính đến các điện kế điện tử [phiên 29] và đèn đường dân lập tính khoán [phiên 30]. - Nếu điện kế thay bảo trì thì chỉ số ngưng phải được cập nhật ngay kỳ sau. 2. Cách tính chi tiết : - Một hóa đơn sẽ luôn tính cho một điện kế tiêu dùng trong một kỳ mới nhất [VD: kỳ 04/1999 đợt 1 đối với phiên 1-26, đợt 2 đối với 27 và đợt 3 đối với 28, 29]. - Để xác định đơn giá 1 kWh cho một hóa đơn ta phải sử dụng các mã định mức, mã giá biểu, mã cấp điện áp và mã điện kế. - Điện năng tiêu thụ tính cho một hóa đơn sẽ bằng chỉ số mới ở kỳ cần tính trừ đi chỉ số mới – gọi là chỉ số bắt đầu - của kỳ trước đó [đối với điện kế 1 hóa đơn 1 kỳ], hay bằng chỉ số mới ở kỳ đợt tính trừ đi chỉ số mới ở kỳ đợt trước [vd : tính hóa đơn phiên 27 đợt 2 kỳ 02/1999 thì DNTT= CSMOI [phiên 27 đợt 2 kỳ 02/1999] – CSMOI [phiên 27 đợt 1 kỳ 02/1999]; nếu tính hóa đơn phiên 27 đợt 1 kỳ 02/1999 thì DNTT= CSMOI [phiên 27 đợt 1 kỳ 02/1999] – CSMOI [phiên 27 đợt 2 kỳ 01/1999] vì phiên 27 chỉ có 2 đợt [phân kỳ]. - Khi tính CSMOI của kỳ này và kỳ trước có xét đến chỉ số ngưng. Nếu chỉ số ngưng [CSNGUNG] khác null thì mỗi chỉ số thay đổi sẽ xét riêng theo ratio và thông số khác của từng loại : CSMOI : hiện tại; CSNGUNG kỳ này – CSMOI kỳ trước.
  • 28. NGHIEÄP Trang 28 - Đối với CSMOI kỳ này và CSNGUNG kỳ này là null hay chỉ số ngưng kỳ này nhỏ hơn CSMOI kỳ trước tức là trường hợp qua tua điện kế : ta lấy 10^length[CSMOI] kỳ trước – CSMOI kỳ trước + CSMOI hay CSNGUNG. - Đối với điều chỉnh truy thu hủy bỏ chỉ áp dụng khi tính chính xác [không theo chế độ hạch toán kế toán] thương phẩm và điện năng tiêu thụ của điện kế nào đó hay toàn bộ điện kế : truy thu [+] sẽ là xét chỉ số mới của nó với chỉ số mới kỳ trước của điện kế đó trong tập biến động chỉ số [BDCS], hủy bỏ [-] sẽ là không tính kết quả của lần tính trong tập BDCS. Chỉ số bắt đầu cho kỳ tiếp theo sẽ là CSMOI của truy thu trong trường hợp điện kế không thay bảo trì. - Số tiền phải trả của một định mức điện kế = đơn giá * điện năng tiêu thụ * hệ số nhân [ratio] * tỷ lệ [định mức]. Số tiền phải trả của một điện kế = Tổng số tiền phải trả của các định mức của điện kế đó * 1,1 [0,1 là VAT] VD : một điện kế sử dụng 60% cho mục đích sinh hoạt và 40% cho mục đích sản xuất tức là điện kế này có 2 định mức -> tiền phải trả = tổng của tiền tính cho 2 định mức trên * 1,1. a. TÍNH HÓA ĐƠN MỚI : - Nhập PHIEN, DOT, KY. - Kiểm tra PHIEN KY DOT hợp lệ trong lịch ghi điện. - Lọc Tab DIENKE theo PHIEN có max [NGAYHL] Tính điện năng tiêu thụ : Xét 3 trƣờng hợp : Trƣờng hợp không thay đổi DIENKE : - Lọc Tab BDCS theo khóa tab DIENKE va KY, DOT. [@] - Lọc Tab BDCS theo khóa tab DIENKE và: . KY-1, DOT : nếu phiên 27, 28, 29 . KY, DOT-1 : nếu = phiên 27, 28, 29 . KY-1, max[DOT] : phiên 27, 28, 29 DOT=1 [*] - Lọc Tab DCHDTT theo khóa tab DIENKE và . KY-1, DOT : nếu phiên 27, 28, 29 . KY, DOT-1 : nếu = phiên 27, 28, 29 . KY-1, max[DOT] : phiên 27, 28, 29 DOT=1 [**] - Tìm chỉ số thay đổi [CSTD] : . Nếu có CSNGUNG [@] : CSTD = CSMOI@+CSNGUNG[@]- A
  • 29. NGHIEÄP Trang 29 [với A : CSMOI [*] nếu không tìm thấy CSMOI trong [**], nếu tồn tại CSMOI trong [**] thì lấy CSMOI [**] nếu không thấy CSMOI trong [**] thì loại điện kế này ra] . Nếu không có CSNGUNG [@] : CSTD = CSMOI [@]- A [với A : CSMOI [*] nếu không tìm thấy CSMOI trong [**], nếu tồn tại CSMOI trong [**] thì lấy CSMOI [**] nếu không thấy CSMOI trong [**] thì loại điện kế này ra] Trƣờng hợp biến động DIENKE : - Thực hiện [@]. - Lọc Tab BDCS theo MADK và : . KY-1, DOT : nếu phiên 27, 28, 29 . KY, DOT-1 : nếu = phiên 27, 28, 29 . KY-1, max[DOT] : phiên 27, 28, 29 DOT=1 và không nằm trong [*]. [$] - Lọc Tab DCHDTT theo MADK và . KY-1, DOT : nếu phiên 27, 28, 29 . KY, DOT-1 : nếu = phiên 27, 28, 29 . KY-1, max[DOT] : phiên 27, 28, 29 DOT=1 và không nằm trong [**]. [$$] - Tìm chỉ số thay đổi [CSTD] : . Nếu có CSNGUNG [@] : CSTD sẽ tính CSTD1 : CSMOI[@][theo ratio và thông số khác mới nhất ] CSTD2 : CSNGUNG[@]- A [theo ratio và thông số khác kỳ trước] [với A : CSMOI [$] nếu không tìm thấy CSMOI trong [$$], nếu tồn tại CSMOI trong [$$] thì lấy CSMOI [$$] – tìm theo MADK nếu không tìm thấy thì loại điện kế này ra] . Nếu không có CSNGUNG [*] : CSTD : CSMOI- A [theo ratio và thông số khác mới nhất] [với A : CSMOI [*] nếu không tìm thấy CSMOI trong [**], nếu tồn tại CSMOI trong [**] thì lấy CSMOI [**]] Trƣờng hợp điện kế mới : - Thực hiện [@] lọc không nằm trong 2 trường hợp trên - Tìm chỉ số thay đổi CSTD : CSMOI
  • 30. NGHIEÄP Trang 30 Ghi chú : Gặp trường hợp điện kế qua tua tức là tính các CSTD phép trừ là âm thì : 10^length[CSMOI] kỳ trước – CSMOI kỳ trước + CSMOI hay CSNGUNG. - Nhân CSTD * ration [trong DIENKE] theo các trường hợp tương ứng để xác định DNTT. Lấy thông tin tính toán : - Lọc Tab CAPDA, DOITUONGGIA, DINHMUCDK theo các khóa tìm kiếm lấy ra CAPDA, MSGB và các tỷ lệ định mức cho các trường hợp trên. Tính toán giá bậc thang và số hộ cho phần có tỷ lệ sinh hoạt : - Dựa vào điện năng tiêu thụ ta xét : Trƣờng hợp 1 : - Trường hợp này không có truy thu chỉ số ngưng ta tính bậc thang như sau : Nếu mã số giá biểu [MSG] = “0” hay “M”: . Tại tab BAC : KWHLO * SOHO, KWHHI * SOHO cho bậc 1-5 . Kết bảng ĐK này với bảng bậc 1-5 và chọn bậc tại vị trí KWHLO * SOHO < DNTT < KWHHI * SOHO -> bậc cao nhất của điện kế này. . Kết bảng ĐK với bảng bậc 1->bậc cao nhất theo nguyên tắc tạo record : DNTT mới=KWHHI*SOHO-KWHLO*SOHO, BAC với đk bậc < bậc cao nhất . Đối với bậc cao nhất : DNTT mới = DNTT-KWHLO*SOHO, BAC Trƣờng hợp 2 : Đối với các trƣờng hợp khác 1 ta chỉ áp bậc 0 cho các điện kế thuộc dạng này. Ra hóa đơn : - Sau khi có đủ các thông tin cho tính toán ta xác định giá cho từng loại của từng điện kế. [Xem Source Code chương trình ở phần phụ lục] II. CHƢƠNG TRÌNH QUẢN LÝ 1. Giao diện chƣơng trình : 2. Các Form cập nhật thông tin :
  • 31. NGHIEÄP Trang 31 Form nhập biến động khách hàng : Đây là Form dùng để quản lý khách hàng - người chủ sở hữu của điện kế. Ở đây chúng ta có thể thêm, bớt, sửa các khách hàng, tìm kiếm và cập nhật địa chỉ, tài khoản nếu cần thiết.
  • 32. NGHIEÄP Trang 32 Đây là form dùng để quản lý địa chỉ khách hàng theo đường phố, quận huyện, phường xã, số nhà. Vì một khách hàng có thể cư trú tại nhiều vị trí khác nhau nên, chúng ta có thể tìm kiếm thông tin, cập nhật địa chỉ theo các bộ mã cho trước. Chương trình tự động kết xuất để quản lý địa giới hành chính phường xã và đường phố.
  • 33. NGHIEÄP Trang 33 Đây là Form dùng để cập nhật tài khoản khách hàng theo bộ mã tài khoản ngân hàng cho trước. Form nhập biến động điện kế :
  • 34. NGHIEÄP Trang 34 Đây là Form quản lý toàn bộ thông tin liên quan đến điện kế của khách hàng. Ở đây ta có thể tìn kiếm khách hàng theo họ tên, mã... Các thông tin : ngành nghề, phường xã [+quận huyện], công suất điện kế, đối tượng giá, điện lực, phiên theo các bộ mã quản lý và xuất hiện bằng mô tả gợi nhớ. Các thuộc tính khác là cập nhật bình thường. Một điện kế bắt buộc phải nhập định mức điện kế để tính toán áp giá khi có tiêu thụ điện năng.
  • 35. NGHIEÄP Trang 35 Thông tin định mức điện kế bao gồm 4 tỷ lệ định mức, ràng buộc các tỷ lệ định mức là tổng các tỷ lệ bằng 100. Thông tin định mức điện kế là bắt buộc nhập. Form nhập biến động chỉ số :
  • 36. NGHIEÄP Trang 36 Nhập lịch ghi điện, chỉ có người có thẩm quyền mới sắp xếp lịch ghi điện, nhập lịch ghi điện theo kỳ phiên đợt : ngày đọc chỉ số, ngày nhận hóa đơn sau ngày đọc chỉ số 7 ngày, ngày thanh toán sau ngày nhận hóa đơn 7 ngày, ngày gửi đến TTMT sau ngày đọc chỉ số 2 ngày. Tuy nhiên các con số này không phải là ràng buộc vì còn tùy thuộc vào các yếu tố liên quan đến lịch ghi điện.
  • 37. NGHIEÄP Trang 37 Nhập biến động chỉ số bao gồm các chỉ số mới và chỉ số ngưng của điện kế khách hàng theo kỳ phiên đợt. Khi cập nhật biến động cho từng điện kế này các thông tin được truy vấn và hiển thị để tham khảo. Form điều chỉnh hóa đơn Form Các Form khác : Lịch ghi điện, kỳ đợt... 3. Báo cáo : Hóa đơn tiền điện Báo cáo thương phẩm các đơn vị. 
  • 38. NGHIEÄP Trang 38 PHẦN 5 : PHỤ LỤC VÀ TÀI LIỆU THAM KHẢO I. CHƢƠNG TRÌNH TÍNH HÓA ĐƠN - SỬ DỤNG SQL : PROMPT Loc nhung dien ke duoc tinh trong ky phien dot /*Loc nhung dien ke duoc tinh trong ky phien dot */ CREATE TABLE DK_TINH [ MA_DK VARCHAR2[7], NGAY_HL_ DATE, NGAYKYHD_ DATE]; INSERT INTO DK_TINH [ MA_DK, NGAY_HL_,NGAYKYHD_]
  • 39. NGHIEÄP Trang 39 SELECT DK.DK_MA, MAX[DK.DK_NGAYHL], DK.DK_NGAYKYHD FROM DK DK WHERE DK.DK_NGAYHL0 AND CSTD-CSMOITBAC1.BAC; PROMPT KHONG TINH BAC /* KHONG TINH BAC */ CREATE VIEW TBAC2 [MADK,NGAYHL,CSMOI,CSNGUNG,DNTT,CSCU,KY,DOT, SOHO,MSGB,CAPDA,DMDK,TYLE,BAC,KWHLO_B,KWHHI_B] AS SELECT MADK,NGAYHL,CSMOI,CSNGUNG,DNTT,CSCU,KY,DOT,SOHO,MSGB,CAPDA,DM DK,TYLE, BAC, BAC.BAC_KWHLO*SOHO,BAC.BAC_KWHHI*SOHO FROM TBAC,BAC WHERE TBAC.BAC=BAC.BAC_BAC AND TBAC.BAC=0; CREATE VIEW T_O_BAC [ MADK,NGAYHL,CSMOI,CSNGUNG,DNTT,CSCU,KY,DOT,SOHO,MSGB,CAPDA,DM DK,TYLE,BAC] AS SELECT MADK,NGAYHL,CSMOI,CSNGUNG,DNTT,CSCU,KY,DOT,SOHO,MSGB,CAPDA,DM DK,TYLE, 0 FROM TINH2;
  • 58. NGHIEÄP Trang 58 /* BANG TONG HOP DE AP GIA */ PROMPT TONG HOP AP GIA CREATE TABLE THAG [ MADK VARCHAR2[7], NGAYHL DATE, CSMOI NUMBER[7], CSNGUNG NUMBER[7], DNTT NUMBER[12], CSCU NUMBER[7], KY VARCHAR[6], DOT NUMBER[3], SOHO NUMBER[3], MSGB VARCHAR2[2], CAPDA VARCHAR2[2], DMDK VARCHAR2[3], TYLE NUMBER[3], BAC NUMBER[3] ]; INSERT INTO THAG[MADK,NGAYHL,CSMOI,CSNGUNG,DNTT,CSCU,KY,DOT,SOHO,MSGB,CAP DA,DMDK,TYLE,BAC] SELECT MADK,NGAYHL,CSMOI,CSNGUNG,DNTT,CSCU,KY,DOT,SOHO,MSGB,CAPDA,DM DK,TYLE,BAC FROM TBAC1_CAONHAT; INSERT INTO THAG[MADK,NGAYHL,CSMOI,CSNGUNG,DNTT,CSCU,KY,DOT,SOHO,MSGB,CAP DA,DMDK,TYLE,BAC] SELECT MADK,NGAYHL,CSMOI,CSNGUNG,DNTT,CSCU,KY,DOT,SOHO,MSGB,CAPDA,DM DK,TYLE,BAC FROM TBAC1_DUOI; INSERT INTO THAG[MADK,NGAYHL,CSMOI,CSNGUNG,DNTT,CSCU,KY,DOT,SOHO,MSGB,CAP DA,DMDK,TYLE,BAC] SELECT MADK,NGAYHL,CSMOI,CSNGUNG,DNTT,CSCU,KY,DOT,SOHO,MSGB,CAPDA,DM DK,TYLE,BAC FROM TBAC2;
  • 59. NGHIEÄP Trang 59 INSERT INTO THAG[MADK,NGAYHL,CSMOI,CSNGUNG,DNTT,CSCU,KY,DOT,SOHO,MSGB,CAP DA,DMDK,TYLE,BAC] SELECT MADK,NGAYHL,CSMOI,CSNGUNG,DNTT,CSCU,KY,DOT,SOHO,MSGB,CAPDA,DM DK,TYLE,BAC FROM T_O_BAC; PROMPT AP GIA /* AP GIA */ CREATE VIEW TIEN [MADK,NGAYHL,CSMOI,CSNGUNG,DNTT,CSCU,KY,DOT,SOHO,MSGB,CAPDA,D MDK,TYLE,BAC,GIA] AS SELECT MADK,NGAYHL,CSMOI,CSNGUNG,DNTT,CSCU,KY,DOT,SOHO,MSGB,CAPDA,DM DK,TYLE,BAC, GD.GD_GIA FROM THAG, GD WHERE THAG.CAPDA = GD.GD_CDA_MA AND THAG.MSGB = GD.GD_DTG_MSGB AND THAG.BAC = GD.GD_DMTT_BAC_BAC AND THAG.DMDK = GD.GD_DMTT_MA; PROMPT LAY THONG TIN HOA DON /* LAY THONG TIN IN HOA DON */ CREATE VIEW KH_1 [MAKH,TENDC] AS SELECT KH.KH_MA, KH.KH_HOTEN FROM KH WHERE KH.KH_MA IN [SELECT DISTINCT KH_MA FROM KH MINUS SELECT DISTINCT DCKH_KH_MA FROM DCKH]; CREATE VIEW K_0 [MAKH,TEN,MADP,SONHA] AS SELECT KH.KH_MA, KH.KH_HOTEN,DCKH.DCKH_DP_MA,DCKH.DCKH_SONHA FROM KH,DCKH WHERE KH.KH_MA=DCKH.DCKH_KH_MA; CREATE VIEW K_0_ [MAKH,TEN,MADP,SONHA] AS
  • 60. NGHIEÄP Trang 60 SELECT MAKH,MAX[TEN],MAX[MADP],MAX[SONHA] FROM K_0 GROUP BY MAKH; CREATE VIEW KH_2 [MAKH,TEN,SONHA,TENDUONG] AS SELECT K_0_.MAKH,K_0_.TEN,K_0_.SONHA,DP.DP_TEN FROM K_0_,DP WHERE K_0_.MADP=DP.DP_MA; PROMPT TAO PROFILE KHACH HANG CREATE TABLE KH_ [ MAKH VARCHAR2[7], TENDC VARCHAR2[50]]; PROMPT Nhan phim de tiep tuc KH_ INSERT INTO KH_[MAKH,TENDC] SELECT MAKH,TENDC FROM KH_1; INSERT INTO KH_[MAKH,TENDC] SELECT MAKH,TEN||' '||SONHA||' '||TENDUONG FROM KH_2; PROMPT GOM KH TU TIEN CREATE VIEW K1 [MADK,NGAYHL] AS SELECT DISTINCT MADK, NGAYHL FROM TIEN; CREATE VIEW K2 [MADK,NGAYHL,LOTRINH,RATIO,NN,MAKH,MSTHUE,MADL] AS SELECT K1.MADK, K1.NGAYHL , DK.DK_LOTRINH, DK.DK_RATIO, DK.DK_NN_MA, DK.DK_KH_MA,DK.DK_MASOTHUE, DK.DK_TPP_DL_MA FROM K1,DK WHERE K1.MADK=DK.DK_MA AND K1.NGAYHL=DK.DK_NGAYHL; /* KQ */
  • 61. NGHIEÄP Trang 61 PROMPT TAO VIEW TTKH CREATE VIEW TTKH [MADK,NGAYHL,LOTRINH,RATIO,NN,TENDC,MSTHUE,MAKH,MADL] AS SELECT K2.MADK,K2.NGAYHL,K2.LOTRINH,K2.RATIO,K2.NN,KH_.TENDC,K2.MSTHUE,K 2.MAKH, K2.MADL FROM K2,KH_ WHERE K2.MAKH=KH_.MAKH; PROMPT TAO REPORT CREATE VIEW IN_ [MADK,NGAYHL,LOTRINH,RATIO,NN,TENDC,MSTHUE,MAKH,CSMOI,CSNGUNG ,DNTT,CSCU,KY,DOT,SOHO,MSGB,CAPDA,DMDK,TYLE,BAC,GIA,MADL] AS SELECT TTKH.MADK,TTKH.NGAYHL,TTKH.LOTRINH,TTKH.RATIO,TTKH.NN,TTKH.TEN DC,TTKH.MSTHUE,TTKH.MAKH,TIEN.CSMOI,TIEN.CSNGUNG,TIEN.DNTT,TIEN.C SCU,TIEN.KY,TIEN.DOT,TIEN.SOHO,TIEN.MSGB,TIEN.CAPDA,TIEN.DMDK,TIEN. TYLE,TIEN.BAC,TIEN.GIA, TTKH.MADL FROM TTKH,TIEN WHERE TTKH.MADK=TIEN.MADK AND TTKH.NGAYHL=TIEN.NGAYHL; /*-CO THE TAO REPORT */ CREATE TABLE INHOADON [ MADK VARCHAR2[7], NGAYHL DATE, LOTRINH VARCHAR2[6], RATIO NUMBER[7], NN VARCHAR2[2], TENDC VARCHAR2[50], MSTHUE VARCHAR2[20], MAKH VARCHAR2[7], CSMOI NUMBER[7], CSNGUNG NUMBER[7], DNTT NUMBER[12], CSCU NUMBER[7], SOHO NUMBER[3], MSGB VARCHAR2[2], CAPDA VARCHAR2[2], DMDK VARCHAR2[3], TYLE NUMBER[3], BAC NUMBER[3], GIA NUMBER[9,3], MADL VARCHAR2[1], TENDL VARCHAR2[15], DTHOAI VARCHAR2[15],
  • 62. NGHIEÄP Trang 62 PHIENTINH NUMBER[2], KYTINH VARCHAR2[6], DOTTINH VARCHAR2[1], KY VARCHAR2[2], NAM VARCHAR2[4], TYGIA NUMBER[8,3], DMDKIN VARCHAR2[2]]; INSERT INTO INHOADON [MADK,NGAYHL,LOTRINH,RATIO,NN,TENDC,MSTHUE,MAKH,CSMOI,CSNGUNG , DNTT,CSCU,SOHO,MSGB,CAPDA,DMDK,TYLE,BAC,GIA, MADL, TENDL, DTHOAI, PHIENTINH, KYTINH, DOTTINH, KY, NAM,TYGIA,DMDKIN] SELECT DISTINCT IN_.MADK,IN_.NGAYHL,IN_.LOTRINH,IN_.RATIO,IN_.NN,IN_.TENDC,IN_.MSTHU E,IN_.MAKH, IN_.CSMOI,IN_.CSNGUNG,IN_.DNTT,IN_.CSCU,IN_.SOHO,IN_.MSGB,IN_.CAPDA, IN_.DMDK,IN_.TYLE,IN_.BAC,IN_.GIA, IN_.MADL, DL.DL_TEN, DL.DL_SODIENTHOAI, &&PHIEN_,TO_CHAR[&&KY_], TO_CHAR[&&DOT_], SUBSTR[TO_CHAR[&&KY_],5,2], SUBSTR[TO_CHAR[&&KY_],1,4], &&TYGIA, SUBSTR[IN_.DMDK,1,2] FROM IN_, DL WHERE IN_.MADL=DL.DL_MA AND IN_.GIA1; /* ----- */
  • 63. NGHIEÄP Trang 63 PROMPT XOA BIEN UNDEFINE KY_; UNDEFINE PHIEN_; UNDEFINE DOT_; UNDEFINE TYGIA; COMMIT; PROMPT SQL Writen by THAI HOANG TRINH - PHAM XUAN THAO, July 1999. II. FORM CODE QUẢN LÝ ĐIỆN KẾ : --Kiem tra moi khi them hay sua doi dien ke thi dien ke do --phai duoc nhap Dinh muc dien ke va tong cua chung phai la 100% IF :SYSTEM.RECORD_STATUS = 'NEW' THEN COMMIT; END IF; IF :SYSTEM.RECORD_STATUS IN ['CHANGED','INSERT'] THEN DECLARE TONGTYLE NUMBER :=0; BEGIN SELECT SUM[DMDK_TYLE]INTO TONGTYLE FROM DMDK WHERE DMDK_DK_MA=:DK.DK_MA AND DMDK_DK_NGAYHL=:DK.DK_NGAYHL AND DMDK_DK_NGAYKYHD=:DK.DK_NGAYKYHD GROUP BY DMDK_DK_MA, DMDK_DK_NGAYHL, DMDK_DK_NGAYKYHD; IF TONGTYLE100 THEN MESSAGE['Xin bn hºy nhp li ˜M˜K - tng ca 1 ˜iƯn k lª 100% - Ban da nhap '||TO_CHAR[tongtyle]]; RAISE FORM_TRIGGER_FAILURE; END IF; Exception when no_data_found then BEGIN IF :DMDK.DMDK_TYLE100 THEN MESSAGE['Xin hay nhap lai Ty le =100']; GO_BLOCK['DMDK']; RAISE FORM_TRIGGER_FAILURE; END IF; END; COMMIT; END; COMMIT; END IF;
  • 64. NGHIEÄP Trang 64 GO_BLOCK['KH']; --Kiem tra phan dinh muc dien ke cho mot dien ke --tong cac ty le dung cua mot dien ke phai la 100% --MESSAGE[:SYSTEM.RECORD_STATUS]; DECLARE TYLE NUMBER :=0; BEGIN SELECT SUM[DMDK_TYLE]INTO TYLE FROM DMDK WHERE DMDK_DK_MA=:DK.DK_MA AND DMDK_DK_NGAYHL=:DK.DK_NGAYHL AND DMDK_DK_NGAYKYHD=:DK.DK_NGAYKYHD GROUP BY DMDK_DK_MA, DMDK_DK_NGAYHL, DMDK_DK_NGAYKYHD; IF :SYSTEM.RECORD_STATUS ='NEW' THEN SELECT TYLE-DMDK.DMDK_TYLE+:DMDK.DMDK_TYLE INTO TYLE FROM DMDK WHERE DMDK_DK_MA=:DK.DK_MA AND DMDK_DK_NGAYHL=:DK.DK_NGAYHL AND DMDK_DK_NGAYKYHD=:DK.DK_NGAYKYHD AND DMDK_TTDM_MA=:TTDM.TTDM_MA; ELSE SELECT TYLE-DMDK.DMDK_TYLE+:DMDK.DMDK_TYLE INTO TYLE FROM DMDK WHERE DMDK_DK_MA=:DK.DK_MA AND DMDK_DK_NGAYHL=:DK.DK_NGAYHL AND DMDK_DK_NGAYKYHD=:DK.DK_NGAYKYHD AND DMDK_TTDM_MA=:TTDM.TTDM_MA; END IF; IF TYLE100 THEN MESSAGE['Xin bn hºy nhp li ˜M˜K - tng ca 1 ˜iƯn k lª 100%- BAN MOI NHAP DUOC' || TO_CHAR[TYLE]]; RAISE FORM_TRIGGER_FAILURE; END IF; EXCEPTION WHEN NO_DATA_FOUND THEN BEGIN IF :DMDK.DMDK_TYLE>100 THEN MESSAGE['Xin hay nhap lai Ty le

Chủ Đề