0
Tải bản đầy đủ (.doc) (145 trang)

Hướng phỏt triển đề tài

Một phần của tài liệu XÂY DỰNG HỆ THỐNG THÔNG TIN QUẢN LÍ TÀI SẢN CỐ ĐỊNH TRONG NHNO&PTNT NAM HÀ NỘI (Trang 114 -145 )

III. ĐÁNH GIÁ CHƯƠNG TRèNH

3. Hướng phỏt triển đề tài

Trong ngành NH luụn đi đầu trong ứng dụng cụng nghệ thụng tin, quản lý TSCĐ là một trong những chương trỡnh cú tớnh thực tế cao và hiện nay NH đang cú kế hoạch sử dụng phần mềm tin học ứng dụng trong quản lý TSCĐ.

Chương trỡnh cú hệ thống bỏo cỏo chuẩn, chớnh xỏc rất hiệu qủa trong việc quản lý TSCĐ. Trong tương lai em sẽ khắc phục những nhược điểm, thờm những chức năng ưu việt và chỉnh sửa cho chương trỡnh trở nờn chuyờn nghiệp hơn. Hoàn thiện chương trỡnh để chương trỡnh cú tớnh khả thi cao, cú khả năng ỏp dụng rộng rói khụng chỉ trong ngành ngõn hàng.

KẾT LUẬN

Với những kiến thức đó học trong suốt bốn năm qua, đặc biệt là những kiến thức thực tế đó tớch lũy được trong thời gian thực tập cựng với sự hướng dẫn tận tỡnh của thầy P.GS-TS Hàn Viết Thuận và cỏn bộ hướng dẫn Nguyễn Danh Vận em đó chọn đề tài “ Xõy dựng hệ thống thụng tin Quản lớ tài sản cố định trong NHNo&PTNT Nam Hà Nội” và đó hoàn thành luận văn tốt nghiệp của mỡnh.

Ngõn hàng là một ngành cú tớnh chất đặc thự riờng, cụng nghệ thụng tin đó được ỏp dụng từ rất sớm và khỏ hoàn chỉnh và đồng bộ song việc quản lý TSCĐ vẫn cũn ỏp dụng một cỏch thủ cụng do vậy chương trỡnh này được ỏp dụng để quản lý TSCĐ đặc thự trong NHNo&PTNT Nam Hà Nội, nhằm giỳp cho quỏ trỡnh quản lý được hoàn thiện hơn, đem lại hiệu quả kinh doanh cao hơn

Khi thực hiện luận văn em đó cố gắng để hoàn thành nhữngmục tiờu đề ra ban đầu, song do khả năng cũn hạn chế và thời gian cú hạn nờn em khụng trỏnh khỏi những thiếu xút. Vỡ vậy em rất mong được sự chỉ bảo của cỏc thầy, cỏc cụ để luận văn được hoàn thiện và củng cố kiến thức của em trong tương lai.

Sau này khi cú điều kiện em sẽ phỏt triển chương trỡnh thành một phần mềm cú khả năng ỏp dụng cho cỏc chi nhỏnh ngõn hàng khỏc hoặc cỏc doanh nghiệp khỏc khụng phải ngành ngõn hàng.

Một lần nữa em xin cảm ơn thầy PGS.TS Hàn Viết Thuận, cỏc anh chị phũng KT-NQ trong NHNo&PTNT Nam Hà Nội, gia đỡnh, bạn bố đó giỳp em hoàn thành đề tài này.

Sinh viờn Đào Thị Lan Hương

TÀI LIỆU THAM KHẢO

1. Giỏo trỡnh cấu trỳc dữ liệu và giải thuật Tỏc giả: PGS.TS. Hàn Viết Thuận NXB : Thống kờ

Hà nội : 2005

2. Giỏo trỡnh Hệ thống thụng tin quản lý

Tỏc giả: TS Trương Văn Tỳ – TS Trần Thị Song Minh NXV : Thống kờ

Hà nội : 2000

3. Những bài thực hành Visual FoxPro

Biờn tập và biờn soạn:VN- GUIDE và kĩ sư tin học Đinh Lõm Xuõn NXV : Thống kờ

4. Phõn tớch thiết kế hệ thống thụng tin quản lý Tỏc giả: ThS Đinh Thế Hiển

NXV : Thống kờ 5. Cơ sở dữ liệu

Tỏc giả: Trần Cụng Uẩn NXB : Thống kờ

Hà nội : 2000

MỘT SỐ ĐOẠN CODE NGUỒN TIấU BIỂU Phần code gọi chương trỡnh main

*** Main chuong trinh, dung de goi cac chuong trinh thuc thi khac * Khoi tao moi truong

DO setenvi

* Khoi tao duong dan cho chuong trinh

PUBLIC M_root

CLEAR

_Prog = SYS(16)

_Vt = AT("\", _Prog,OCCURS("\", _Prog)) M_Root = SUBSTR(_Prog, 1, _Vt)

* Loai bo "Prog"

SET DEFA TO (M_Root)

* Khoi tao duong dan

DO Prog\p_setpath.prg

* Khoi tao cac bien he thong

DO (D_Prog + [p_setsysvar.prg])

DO khoitao IN (D_PROG+[p_setthongso])

* Khoi tao man hinh hien thi

WITH _Screen .CLOSABLE=.F. .ICON=(D_IMG+[program2.ico]) .ControlBox=.T. .MaxButton=.F. .MinButton=.T. .Height=600 .Width=800

.Caption='Quan ly tai san co dinh' .WindowState=2

.Picture=(D_IMG+[WINdowsXP.jpg])

ENDWITH CLEA

* Vao chuong trinh chinh

ON KEY LABEL ALT+Q DO End s_user=""

DO (D_PROG+[p_setmenu])

DO (D_PROG+[p_settoolbar])

DO FORM (D_FORM+[f_login])

* Ket thuc chuong trinh

READ EVENTS ON KEY LABEL ALT+Q

RETURN

*---

PROCEDURE ReleT

SET SYSMENU TO

IF WEXIST([Report controls]) HIDE WIND [Report controls]

ENDIF

IF WEXIST([Form Controls]) HIDE WIND [Form Controls]

ENDIF

HIDE WIND [Database Designer]

ENDIF

IF WEXIST([Form Designer]) HIDE WIND [Form Designer]

ENDIF

IF WEXIST([Color Palette]) HIDE WIND [Color Palette]

ENDIF

IF WEXIST([Layout]) HIDE WIND [Layout]

ENDIF

IF WEXIST([Report Designer]) HIDE WIND [Report Designer]

ENDIF

IF WEXIST([Query Designer]) HIDE WIND [Query Designer]

ENDIF

IF WEXIST([View Designer]) HIDE WIND [View Designer]

ENDIF

IF WEXIST([Standard]) HIDE WIND [Standard]

ENDIF RETURN

******************************

PROCEDURE setenvi

* Khoi tao gia tri moi truong

SET SAFETY OFF SET TALK OFF SET DATE DMY SET DELETED ON SET ESCAPE ON SET EXAC ON SET STATUS OFF SET CENTURY ON SET COLO TO B+/BG

SET STATUS BAR ON

DEFINE WINDOW WinBrw FROM 1, 0 TO FLOOR(SROWS()) - 1, FLOOR(SCOLS())

COLOR SCHEME 10;

CLOSE FLOAT GROW MINIMIZE ZOOM SYSTEM FONT [Vk sans serif],8

RETURN

***********************************

PROCEDURE End

SET Sysmenu TO DEFAULT CLEAR ALL

CLEAR EVENTS CLEAR

_vfp.StatusBar=""

_screen.Caption="Microsoft Visual Foxpro"

_screen.Picture=""

_screen.Icon=""

RETURN

Phần code để tạo menu tự động:

* Mo bang tb_menu

IF !USED('tb_menu')

ELSE

SELECT tb_menu

ENDIF

SELECT tb_menu

* Sap xep theo khoa chi so thu 3

INDEX on tb_menu.menu_id+tb_menu.menu_id0 TAG menuindex

SET ORDER TO menuindex

* Tao menu tu bang tb_menu, thuat toan su dung cmenu_id, neu cmenu_id khong co gia tri thi no la Pad

CLEAR

SET SYSMENU TO && Lam mat het cac muc trong menu hien thoi

GO TOP

i=1

SCAN

IF EMPTY(tb_menu.menu_id0) THEN

************** Xac dinh tieu de menu *************

pa_menu="p_"+ ALLTRIM(tb_menu.menu_id)

DEFINE PAD &pa_menu OF _mSYSmenu PROMPT ALLTRIM(tb_menu.bar) SKIP FOR s_user=""

ON PAD &pa_menu OF _mSysmenu ACTIVATE POPUP &pa_menu

DEFINE POPUP &pa_menu MARGIN RELATIVE ELSE

**************Xac dinh menu chi tiet***************

i=i+1

DEFINE BAR i OF &pa_menu PROMPT ALLTRIM(tb_menu.bar)

_Pro=ALLTRIM(tb_menu.procedure) ON SELECTION BAR i OF &pa_menu &_PRo ENDIF

ENDSCAN

Phần code để đăng nhập vào chương trỡnh

* Doan chuong trinh phuc vu dang nhap, quan ly nguoi su dung

PROCEDURE tb_user_open

IF !USED('tb_user')

SELECT 0

USE (D_SYS+[tb_user]) ALIAS tb_user

ELSE

SELECT tb_user

ENDIF ENDPROC

******************************************************** * Kiem tra trong danh muc co ton tai ten dang nhap khong

FUNCTION tb_user_login

* 1 ten nguoi dung khong ton tai, 2 Sai mat khau *3 Dang nhap thanh cong

PARAMETERS _user,_passw

DO tb_user_open

GO top

LOCATE FOR UPPER(ALLTRIM(cuser))==UPPER(ALLTRIM(_user))

IF FOUND() then

_right=cright

GO top

IF FOUND()

WAIT ' Ban da dang nhap thanh cong' WINDOW NOWAIT

*!* MESSAGEBOX(" Ban da dang nhap thanh cong",0,"Xin chao")

* Dua vao cac bien he thong

s_user=ALLTRIM(_user) S_right=ALLTRIM(_right) s_passw=ALLTRIM(_passw)

RETURN 3

ELSE

MESSAGEBOX("Ban da nhap sai mat khau")

RETURN 2

ENDIF ELSE

MESSAGEBOX("Khong co tai khoan nguoi dung nay, ban hay nhap lai")

RETURN 1

ENDIF RETURN

************************************************************* * THem nguoi dung moi vao trong danh sach

Function tb_user_Them

PARAMETERS _user,_passw1,_passw2

* kiem tra xem nguoi dung nhap vao co trong danh sach khong * 1, ten nguoi dung da bi trung, 2 mat khau khong khop nhau * 3 Them thanh cong

DO tb_user_open

GO TOP

SET ORDER TO 1

IF !SEEK(ALLTRIM(_user))

* Kiem tra ma co trung khong

IF ALLTRIM(_passw1)==ALLTRIM(_passw2)

MESSAGEBOX("Da them nguoi dung vao he thong",0,"Thong bao")

RETURN 3

ELSE

MESSAGEBOX("Hai mat khau khong khop nhau",0,"Thong bao")

RETURN 2

ENDIF ELSE

MESSAGEBOX("Da co nguoi dung nay trong danh sach")

RETURN 1

ENDIF ENDFUNC

*****************Doi mat khau***********************************

FUNCTION tb_user_SuaPass

PARAMETERS _passcu,_passw1,_passw2

* SO sanh voi S_Passw xem trung khong * 1 khong trung, 2 2 pass word khong khop * 3 Doi pass thanh cong

IF ALLTRIM(_passcu)==ALLTRIM(S_passw) then

IF ALLTRIM(_passw1)==ALLTRIM(_passw2)

MESSAGEBOX("Mat khau da duoc doi",0,"Thong bao") s_passw=ALLTRIM(_passw1)

RETURN 3

ELSE

MESSAGEBOX("Hai mat khau khong khop nhau",0,"Thong bao")

RETURN 2

ENDIF ELSE

MESSAGEBOX("Khong khop so voi mat khau cu")

RETURN 1

ENDIF RETURN

******************Xoa nguoi dung***************************** * Chi co nguoi co tai khoan loai Admin moi dc xoa nguoi su dung * S_right='Admin'

FUNCTION tb_user_xoa

* Khong dc xoa tai khoan co user la Admin, khong dc xoa tai khoan la chinh minh

* Combo box hien thi se luoc bo 2 nguoi nay

ENDFUNC

Phần code gọi danh mục và cập nhật, sửa xúa cho cỏc danh mục

Danh mục hợp đồng

* Program nhap 0them xoa sua cho danh muc khach hang * tham so neu la nhap moi

PROCEDURE tb_dmhd_Open

IF !USED("tb_dmhd")

use (D_DATA+[tb_dmhd]) ALIAS tb_dmhd IN 0

ELSE SELECT tb_dmhd ENDIF ENDPROC ********************************************** PROCEDURE tb_dmhd_init

* Khai bao bien

PUBLIC m.so_hd,m.loai_hd, _Moi_sua,_prompt,_recno,_macu

&&_MOI_SUA de luu trang thai X- xem, S-sua,M-them moi

STORE "" to m.so_hd,m.loai_hd,_prompt

ENDPROC

PROCEDURE tb_dmhd_F4

SELECT tb_dmhd

SCATTER memvar MEMO BLANK

_Moi_sua=[M]

_Prompt="Them mot ban ghi"

PUSH KEY Clear

do form (D_FORM+[f_dm1hd]) POP key ENDPROC ************************************************** PROCEDURE tb_dmhd_F3 SELECT tb_dmhd

SCATTER memvar Memo

_recno=RECNO() _macu=m.so_hd _Moi_Sua=[S]

_prompt="Sua mot ban ghi"

PUSH KEY Clear

do form (D_FORM+[f_dm1hd])

POP key ENDPROC

************************************************

PROCEDURE tb_dmhd_F8

SELECT tb_dmhd

IF MESSAGEBOX("Co chac muon xoa?",4,"Chu y")=6 then DELETE USE IN cur_dmhd Pack IF !EOF() SKIP ENDIF

IF EOF() and !BOF()

SKIP -1 ENDIF ENDIF ENDPROC *************************************************** PROCEDURE tb_dmhd_ESC CLOSE ALL

* Dong bang bang nut

ENDPROC *************************************************** FUNCTION tb_dmhd_nhan SELECT tb_dmhd SET ORDER TO 1 tm=.F.

* Kiem tra ma trong

IF EMPTY(m.so_hd) OR Empty(m.loai_hd) then

MESSAGEBOX("Ban da de trong truong ma hoac truong ten hoac truong ma nhom khach hang",0,"Chu y")

ELSE

* them cac kiem tra khac neu can * kiem tra ma trung

IF _Moi_sua=[M] then

IF SEEK(ALLTRIM(m.so_hd))

MESSAGEBOX("Ma da co trong danh muc")

ELSE

* Cap nhat vao bang

APPEND blank

GATHER memvar memo

tm=.T.

ENDIF ELSE

IF SEEK(ALLTRIM(m.so_hd)) and (_recno#RECNO())

MESSAGEBOX("Ma da co trong danh muc")

ELSE

GO _recno

GATHER memvar Memo

tm=.T. ENDIF ENDIF ENDIF return tm **************************************************** PROCEDURE tb_dmhd_huy ENDPROC *****************************************************

PROCEDURE tb_dmhd_Xem

SELECT tb_dmhd _moi_sua=[X] _recno=RECNO()

_prompt="Thong tin chi tiet mot ban ghi"

PUSH KEY CLEAR

DO FORM (D_FORM+[f_dm1hd]) POP KEY ENDPROC ***************************************************** PROCEDURE tb_dmhd_chitiet SELECT tb_dmhd ENDPROC

Danh muc phong ban

* Program nhap 0them xoa sua cho danh muc khach hang * tham so neu la nhap moi

PROCEDURE tb_dmpb_Open

IF !USED("tb_dmpb")

use (D_DATA+[tb_dmpb]) ALIAS tb_dmpb IN 0

ELSE SELECT tb_dmpb ENDIF ENDPROC ********************************************** PROCEDURE tb_dmpb_init

* Khai bao bien

PUBLIC m.ma_pb,m.ten_pb, _Moi_sua,_prompt,_recno,_macu

&&_MOI_SUA de luu trang thai X- xem, S-sua,M-them moi

STORE "" to m.ma_pb,m.ten_pb,_prompt

ENDPROC

PROCEDURE tb_dmpb_F4

SELECT tb_dmpb

SCATTER memvar MEMO BLANK

_Moi_sua=[M]

_Prompt="Them mot ban ghi"

PUSH KEY Clear

do form (D_FORM+[f_dm1pb]) POP key ENDPROC ************************************************** PROCEDURE tb_dmpb_F3 SELECT tb_dmpb

SCATTER memvar Memo

_recno=RECNO() _macu=m.ma_pb _Moi_Sua=[S]

_prompt="Sua mot ban ghi"

PUSH KEY Clear

do form (D_FORM+[f_dm1pb])

POP key ENDPROC

PROCEDURE tb_dmpb_F8

SELECT tb_dmpb

IF MESSAGEBOX("Co chac muon xoa?",4,"Chu y")=6 then DELETE USE IN cur_dmpb Pack IF !EOF() SKIP ENDIF

IF EOF() and !BOF()

SKIP -1 ENDIF ENDIF ENDPROC *************************************************** PROCEDURE tb_dmpb_ESC CLOSE ALL

* Dong bang bang nut

ENDPROC *************************************************** FUNCTION tb_dmpb_nhan SELECT tb_dmpb SET ORDER TO 1 tm=.F.

* Kiem tra ma trong

IF EMPTY(m.ma_pb) OR Empty(m.ten_pb) then

MESSAGEBOX("Ban da de trong truong ma hoac truong ten hoac truong ma nhom khach hang",0,"Chu y")

ELSE

* them cac kiem tra khac neu can * kiem tra ma trung

IF _Moi_sua=[M] then

IF SEEK(ALLTRIM(m.ma_pb))

MESSAGEBOX("Ma da co trong danh muc")

ELSE

* Cap nhat vao bang

APPEND blank

GATHER memvar memo

tm=.T.

ENDIF ELSE

IF SEEK(ALLTRIM(m.ma_pb)) and (_recno#RECNO())

MESSAGEBOX("Ma da co trong danh muc")

ELSE

GO _recno

GATHER memvar Memo

tm=.T. ENDIF ENDIF ENDIF return tm **************************************************** PROCEDURE tb_dmpb_huy ENDPROC ***************************************************** PROCEDURE tb_dmpb_Xem

SELECT tb_dmpb _moi_sua=[X] _recno=RECNO()

_prompt="Thong tin chi tiet mot ban ghi"

PUSH KEY CLEAR

DO FORM (D_FORM+[f_dm1pb]) POP KEY ENDPROC ***************************************************** PROCEDURE tb_dmpb_chitiet SELECT tb_dmpb ENDPROC

Phần code hiện danh mục người sử dụng

***************************************************************************** *************

* tb_dmts_F3 Sua or them moi tai san * tb_dmts_Nhan Luu nhan vien

* tb_dmts_F10 Sap xep danh muc tai san

SET SAFETY OFF SET DATE TO dmy CLOSE TABLES all

DO open_table WITH 'tb_dmnts','ma_nts'

DO open_table WITH 'tb_dmhd','so_hd'

DO open_table WITH 'tb_dmpb','ma_pb'

DO open_table WITH 'tb_dmnvon','ma_nvon'

DO open_table WITH 'tb_dmncc','ma_ncc'

DO open_table WITH 'tb_md_sd','ma_md_sd'

DO open_table WITH 'tb_dmts','ma_ts'

DO open_table WITH 'tb_tinh_trang','ma_tinh_tr'

PUBLIC m.ma_ts,m.ten_ts,m.ma_nts,m.so_hd,m.ma_ncc,m.Ma_pb,m.ma_md_sd,m.ma_tinh_tr,; m.Ngay_sd,m.Nguyen_gia,m.thoi_gian_sd,m.Nam_sx,m.nuoc_sx STORE "" TO m.ma_ts,m.ten_ts,m.ma_nts,m.so_hd,m.ma_ncc,m.Ma_pb,m.ma_md_sd,m.ma_tinh_tr,; m.Ngay_sd,m.Nguyen_gia,m.thoi_gian_sd,m.Nam_sx,m.nuoc_sx

ON KEY LABEL F3 DO tb_dmts_F3 with [S]

ON KEY LABEL F4 DO tb_dmts_F3 with [M]

ON KEY LABEL F8 DO tb_dmts_F8 ON KEY LABEL F9 DO tb_dmts_F9 ON KEY LABEL F10 do tb_dmts_F10 SELECT tb_dmts BROWSE FIELDS ma_ts :H = [Mã tài sản] :10,;

ten_ts :H = [Tên tài sản] :30,; ngay_sd :H = [Ngày sử dụng] :10,; nguyen_gia :H = [Nguyên giá] :15,;

thoi_gian_sd :H = [Thời gian sử dụng]:10,; nam_sx :H = [Năm sản xuất] :7,; nuoc_sx :H = [Nớc sản xuất] :15,; ma_nts :H = [Mã nhóm TS] :9,; ma_nvon :H = [Mã nguồn vốn] :9,; so_hd :H = [Số hợp đồng] :9,;

ma_ncc :H = [Mã nhà cc] :9,; Ma_pb :H = [Mã phòng ban] :9,;

ma_md_sd :H = [Mã md sd] :9,;

ma_tinh_tr: H = [Mã tình trạng]:9;

FONT [VK sans serif],9;

FOR ALLTRIM(Ma_tinh_tr)='DSD' ;

TITLE "F3-Sua, F4-Them moi,F8-Thay doi tinh trang, F9-Loc,F10-Sap xep ESC-Thoat" NOAPPEND NOMODIFY NODELETE WINDOW WinBrw

ON KEY LABEL F3 ON KEY LABEL F4 ON KEY LABEL F8 ON KEY LABEL F9 ON KEY LABEL F10 USE IN tb_dmnts USE in tb_dmhd USE in tb_dmpb USE IN tb_dmnvon USE IN tb_dmncc USE IN tb_md_sd USE IN tb_dmts USE IN tb_tinh_trang IF USED([Temp7]) USE IN Temp7 ENDIF ************************************ PROCEDURE tb_dmts_F3 ************************************** PROCEDURE tb_dmts_F3 LPARAMETERS _M_S _InSELECT = SELECT() _Recno = RECNO() STORE _M_S TO _Moi_Sua

PUSH KEY CLEAR

IF _Moi_Sua = [S] AND RECNO() > RECCOUNT([tb_dmts])

POP KEY SELECT (_InSELECT) RETURN ENDIF SELECT tb_dmts IF _Moi_Sua = [M]

SCATTER MEMVAR MEMO BLANK ELSE

GO _Recno

SCATTER MEMVAR MEMO ENDIF

M.ma_ts_old = M.ma_ts M.Ngay_td = DATE()

M.User_Id = ALLTRIM(S_user)

_Caption = IIF(_Moi_Sua = [M],"Them moi mot TSCD","Sua chua thong tin tscd")

* Tim kiem ten tron danh muc

=SEEK(M.ma_ncc,[tb_dmncc])

M.Ten_ncc=IIF(FOUND([tb_dmncc]),tb_dmncc.ten_ncc,[]) =SEEK(M.ma_nts,[tb_dmnts])

M.Ten_nts=IIF(FOUND([tb_dmnts]),tb_dmnts.ten_nts,[]) =SEEK(M.ma_md_sd,[tb_md_sd])

=SEEK(M.ma_nvon,[tb_dmnvon])

M.Ten_nvon=IIF(FOUND([tb_dmnvon]),tb_dmnvon.ten_nvon,[]) =SEEK(M.ma_pb,[tb_dmpb])

M.Ten_pb=IIF(FOUND([tb_dmpb]),tb_dmpb.ten_pb,[]) =SEEK(M.ma_tinh_tr,[tb_tinh_trang])

M.tinh_trang=IIF(FOUND([tb_tinh_trang]),tb_tinh_trang.tinh_trang,[])

ON KEY LABEL F9 KEYBOARD CHR(23)

DO FORM (D_FORM + [f_dmts_F3]) NAME _SCX LINKED ON KEY LABEL F9 POP KEY SELECT (_InSelect) RETURN ************************************ PROCEDURE _Nhan FUNCTION tb_dmts_F3_Nhan PARAMETERS M_Nhan SELECT tb_dmts IF LASTKEY()= 27 OR M_Nhan <> 1 IF _Recno<=RECCOUNT([tb_dmts]) GO _Recno _SCX = "" ENDIF _SCX = "" RETURN .T. ELSE IF M_Nhan = 1

* Luu gia tri vao cac bang

* Truong hop them moi, cac cong viec gom luu vao bang dmtscd, logfile va bang theo doi

If _Moi_Sua = [M]

*Chuan bi cac gia tri ve thoi gian, nguoi su dung trong bang log file

M.Ngay_td = m.Ngay_sd

M.User_Id = alltrim(s_user) m.ma_tdoi='TMTS'

m.stt="01"

m.ngay_bd=m.ngay_sd m.Ma_tinh_tr='DSD'

* Ghi vao cac bang

SELECT tB_dmts

APPEND BLANK

GATHER MEMVAR memo FLUSH

UNLOCK IN tb_dmts

DO open_table WITH 'logfile','ma_ts'

SELECT logfile

APPEND BLANK

GATHER MEMVAR memo FLUSH

UNLOCK IN logfile

DO open_table WITH 'theo_doi','ma_ts'

SELECT theo_doi

GATHER MEMVAR memo FLUSH

UNLOCK IN theo_doi

ELSE

*Truong hop sua chua thong tin trong bang danh muc tscd, phai ghi vao bang logfile

* va danh muc tscd

M.Ngay_td = DATE()

M.User_Id = alltrim(s_user) m.ma_tdoi='TDTT'

m.stt=stt_min('logfile',m.ma_ts) m.ngay_bd=m.ngay_sd

m.Ma_tinh_tr='DSD'

* Ghi thong tin vao bang dmts

SELECT tb_dmts

GO _Recno

GATHER MEMVAR memo FLUSH

UNLOCK IN tb_dmts

* Ghi thong tin vao bang logile

DO open_table WITH 'logfile','ma_ts'

SELECT logfile

APPEND BLANK

GATHER MEMVAR memo FLUSH UNLOCK IN logfile ENDIF _SCX = "" ENDIF ENDIF SELECT tb_dmts RETURN .T.

****************************************Function dua ra dc stt nho nhat theo ma_ts********

FUNCTION stt_min

PARAMETERS tablename,_ma_ts

DO open_table WITH tablename,'ma_ts' _max=0

SCAN FOR ma_ts=ALLTRIM(_ma_ts)

_max=IIF(_max<VAL(stt),VAL(stt),_max)

ENDSCAN

_max=_max+1

IF _MAX<10 then

RETURN ("0"+ALLTRIM(STR(_max)))

ELSE

RETURN ALLTRIM(STR(_max))

ENDIF RETURN .T. *!* *************************** PROCEDURE tb_dmts_F8 ************************************** PROCEDURE tb_dmts_F8 CLEAR

_recno=RECNO()

IF RECNO() > RECCOUNT([tb_dmts])

RETURN .T.

ENDIF

IF (MESSAGEBOX('Se dinh chi TSCD nay. Ban chac chan chu?',4+32+256,'Chu y') <> 6)

GO _Recno

RETURN ENDIF

_date=INPUTBOX(" Hay nhap ngay dinh chi su dung "," Nhap gia tri",DTOC(DATE()),15000,DTOC(DATE()),'0')

_date=CTOD(_date)

SELECT tb_dmts

GO _recno

SCATTER MEMVAR memo

m.ma_tinh_tr="KSD"

* Phai chuan bi tham so ngay thang va nguoi su dung them vao de ghi vao logfile

M.ngay_td = _date

M.User_Id = ALLTRIM(s_user) M.ma_tinh_tr="KSD"

M.stt=stt_min('logfile',m.ma_ts) m.ma_tdoi="DCTS"

* Thuc hien ghi vao logfile

DO open_table WITH 'logfile','ma_ts'

APPEND BLANK

GATHER MEMVAR memo

* Thuc hien ghi vao bang theo doi

DO open_table WITH 'theo_doi','ma_ts'

SELECT theo_doi

SCAN FOR ma_ts=ALLTRIM(m.ma_ts) _rn=RECNO()

ENDSCAN GO _rn

SCATTER MEMVAR memo

m.ngay_kt=_date

GATHER MEMVAR memo

* Cap nhat lai tinh trang vao bang dmts

SELECT tb_dmts GATHER MEMVAR RETURN .T. *!* ************************************ PROCEDURE tb_dmts_F9 ************************************** PROCEDURE tb_dmts_F9 PRIVATE _Form PUSH KEY

DO FORM (D_Form + [f_dmts_F9]) NAME _Form LINKED POP KEY

*************** ************Nhan cua F9****************************** PROCEDURE tb_dmts_F9_Nhan PARAMETERS _NhanHuy PRIVATE _key _key=".T." IF _NhanHuy <> 1 _Form = "" RETURN ENDIF _Form = "" SELECT tb_dmts

* Phan ten va ma, co chon lua nam trong hay bat dau

IF !EMPTY(ALLTRIM(M.ma_ts))

_key = "ma_ts = ALLTRIM(M.ma_ts)"

ENDIF

IF !EMPTY(ALLTRIM(M.ten_ts))

IF _c=1

_key = _key + ' AND ALLTRIM(M.ten_ts) $ ALLTRIM(ten_ts)'

ELSE

_key = _key + ' AND ten_ts =ALLTRIM(M.ten_ts)'

ENDIF ENDIF

* Phan ma cac bang ngoai lai

IF !EMPTY(ALLTRIM(M.Ma_nts))

_key = _key + ' AND Ma_nts=ALLTRIM(M.Ma_nts)'

ENDIF

IF !EMPTY(ALLTRIM(M.Ma_nvon))

_key = _key + ' AND Ma_nvon=ALLTRIM(M.Ma_nvon)'

ENDIF

IF !EMPTY(ALLTRIM(M.so_hd))

_key = _key + ' AND So_hd=ALLTRIM(M.So_hd)'

ENDIF

IF !EMPTY(ALLTRIM(M.Ma_ncc))

_key = _key + ' AND Ma_ncc=ALLTRIM(M.Ma_ncc)'

ENDIF

IF !EMPTY(ALLTRIM(M.Ma_pb))

_key = _key + ' AND Ma_pb=ALLTRIM(M.Ma_pb)'

ENDIF

IF !EMPTY(ALLTRIM(M.Ma_md_sd))

_key = _key + ' AND Ma_md_sd=ALLTRIM(M.Ma_md_sd)'

ENDIF

* Phan so sanh cac dieu kien <,>

IF !EMPTY(ALLTRIM(M.thoi_gian_sd))

_key = _key + ' AND thoi_gian_sd' + ptThoi_Gian_sd+'val(ALLTRIM(m.thoi_gian_sd))'

ENDIF

IF !EMPTY(ALLTRIM(M.Ngay_sd))

_key = _key + ' AND Ngay_sd' + ptNgay_sd+'ctoD(ALLTRIM(m.Ngay_sd))'

ENDIF

IF !EMPTY(ALLTRIM(M.Nguyen_gia))

_key = _key + ' AND Nguyen_gia' + ptNguyen_Gia+'val(ALLTRIM(m.Nguyen_gia))'

ENDIF

IF !EMPTY(ALLTRIM(M.Nam_sx))

_key = _key + ' AND Nam_sx' + ptNam_sx+'val(ALLTRIM(m.Nam_sx))'

SET FILTER TO &_key GO TOP RETURN ENDPROC *!* ************************************ PROCEDURE tb_dmts_F10 ************************************** PROCEDURE tb_dmts_F10 PRIVATE _Form PUSH KEY

DO FORM (D_FORM + [f_dmts_F10.scx]) NAME _form linked POP KEY RETURN *****************************Nhan F10************************** PROCEDURE tb_dmts_F10_nhan PARAMETERS _N_H,_sx,_c IF _N_H=0 THEN _form="" RETURN ENDIF _Form=""

***** _sx Nguon cua Combobox, _c Nguon cua option button

SELECT tb_dmts

DO CASE

* Theo ma ts

CASE _sx = [1] AND _c=1

SET ORDER TO ma_ts ASCENDING CASE _sx = [1] AND _c=2

SET ORDER TO ma_ts DESCENDING

* Theo ten ts

CASE _sx = [2] AND _c=1

SET ORDER TO ten_ts ASCENDING CASE _sx = [2] AND _c=2

SET ORDER TO ten_ts DESCENDING

* Theo Ma_nts

CASE _sx = [3] AND _c=1

SET ORDER TO ma_nts ASCENDING CASE _sx = [3] AND _c=2

SET ORDER TO ma_nts DESCENDING

* Theo ngay dua vao su dung

CASE _sx = [4] AND _c=1

SET ORDER TO Ngay_sd ASCENDING CASE _sx = [4] AND _c=2

SET ORDER TO Ngay_sd DESCENDING

* Theo nguyen gia

CASE _sx = [5] AND _c=1

SET ORDER TO Nguyen_gia ASCENDING CASE _sx = [5] AND _c=2

SET ORDER TO Nguyen_gia DESCENDING

* Theo thoi gian su dung

CASE _sx = [6] AND _c=1

SET ORDER TO thoi_gian_sd ASCENDING CASE _sx = [6] AND _c=2

SET ORDER TO thoi_gian_sd DESCENDING ENDCASE

RETURN

************************Prcocedure mo mot bang*************************

PROCEDURE open_table

Một phần của tài liệu XÂY DỰNG HỆ THỐNG THÔNG TIN QUẢN LÍ TÀI SẢN CỐ ĐỊNH TRONG NHNO&PTNT NAM HÀ NỘI (Trang 114 -145 )

×