Mờ s Usecase UC-53
Tớn Usecase Bõo h ng m t tăi s n Tõc nhđn Thănh viớn
Mụ t Thănh viớn cú quy n bõo h ng m t tăi s n
i u ki n b t đ u Thănh viớn đờ đ ng nh p
i u ki n k t thỳc
Lu ng c b n
1. măn hỡnh “Chi ti t thụng tin c p phõt”, ch n “Bõo
h ng”
2. H th ng đi u h ng đ n giao di n “Bõo h ng m t tăi s n”, nh p thụng tin c n thi t, ch n “G i”
3. H th ng bõo “G i thụng tin thănh cụng” vă quay l i măn hỡnh “Chi ti t thụng tin c p phõt”
Ngo i l 1.a. Ngo i l 1 Thụng tin b thi u, h th ng s –B c 2: thụng bõo “Vui lũng
nh p đ cõc thụng tin c n thi t” Lu ng thay th
Yớu c u phi ch c n ng
B ng 57: Usecase bõo h ng m t tăi s n
Mờ s Usecase UC-54
Tớn Usecase Chia s tăi s n đ c c p phõt Tõc nhđn Thănh viớn
Mụ t Thănh viớn cú quy n chia s quy n s d ng tăi s n v i m t thănh viớn khõc trong t ch c
i u ki n b t đ u Thănh viớn đờ đ ng nh p
i u ki n k t thỳc Lu ng c b n
1. măn hỡnh “Chi ti t thụng tin c p phõt”, ch n “Chia
s ”
2. H th ng hi n th giao di n “Ch n ng i mu n chia s ”,
56 3. H th ng bõo “Chia s thănh cụng” vă quay l i măn
hỡnh “Chi ti t thụng tin c p phõt” Ngo i l
Lu ng thay th
Yớu c u phi ch c n ng
B ng 58: Usecase Chia s tăi s n đ c c p phõt
Mờ s Usecase UC-55
Tớn Usecase Yớu c u gia h n th i gian c p phõt Tõc nhđn Thănh viớn
Mụ t Thănh viớn cú quy n g i yớu c u xin gia h n th i gian c p phõt tăi s n.
i u ki n b t đ u Thănh viớn đờ đ ng nh p
i u ki n k t thỳc Lu ng c b n
1. giao di n “Chi ti t thụng tin c p phõt”, nh n ch n
“Yớu c u gia h n”
2. H th ng chuy n sang giao di n “Yớu c u gia h n”
3. Thănh viớn ch n “Ngăy thu h i” mong mu n vă thớm
“Ghi chỳ” (n u cú), sau đú nh n “G i” đ hoăn t t Ngo i l
Lu ng thay th
Yớu c u phi ch c n ng
B ng 59: Usecase yớu c u gia h n th i gian c p phõt
Mờ s Usecase UC-56
Tớn Usecase Xem danh sõch tăi s n đ c phĩp m n Tõc nhđn Thănh viớn
Mụ t Thănh viớn thu c t ch c cú quy n xem danh sõch tăi sphĩp m n n đ c
i u ki n b t đ u Thănh viớn đờ đ ng nh p
i u ki n k t thỳc Lu ng c b n
1. thanh đi u h ng, nh n ch n “Tăi s n c a tụi”
2. Danh m c x xu ng, nh n ch n “Xin c p phõt”
3. H th ng chuy n sang giao di n hi n th danh sõch tăi s n đ c phĩp m n
Ngo i l
57 Yớu c u phi ch c n ng
B ng 60: Usecase Xem danh sõch tăi s n đ c phĩp m n
Mờ s Usecase UC-57
Tớn Usecase G i yớu c u c p phõt tăi s n Tõc nhđn Thănh viớn
Mụ t Thănh viớn thu c t ch c cú quy n g i yớu c u xin c p phõt tăi s n đ ph c v cho cụng vi c
i u ki n b t đ u Thănh viớn đờ đ ng nh p
i u ki n k t thỳc
Lu ng c b n
1. giao di n “Danh sõch tăi s n đ c phĩp m n”, nh n ch n văo tăi s n c n m n
2. H th ng chuy n sang giao di n hi n th chi ti t tăi s n, nh n ch n “Xin c p phõt”
3. H th ng chuy n sang giao di n “Yớu c u c p phõt”,
ch n ngăy c p phõt vă ngăy thu h i, sau đú nh n “G i yớu c u”đ hoăn t t
Ngo i l
Lu ng thay th
Yớu c u phi ch c n ng
B ng 61: Usecase G i yớu c u c p phõt tăi s n
Mờ s Usecase UC-58
Tớn Usecase G i đ xu t mua tăi s n Tõc nhđn Thănh viớn
Mụ t Thănh viớn thu c t ch c cú quy n g i khi cú nhu c u trong cụng vi c đ xu t mua m i tăi s n
i u ki n b t đ u Thănh viớn đờ đ ng nh p
i u ki n k t thỳc
Lu ng c b n
1. giao di n “Danh sõch tăi s n đ c phĩp m n”, nh n ch n “ xu t mua”
2. H th ng chuy n sang giao di n “ xu t mua tăi s n”,
nh p đ y đ thụng tin vă nh n “G i”
3. H th ng hi n thụng bõo “G i đ xu t thănh cụng” vă
quay l i măn hỡnh danh sõch Ngo i l
Lu ng thay th
Yớu c u phi ch c n ng
58 Mờ s Usecase UC-59
Tớn Usecase Xem yớu c u đờ g i Tõc nhđn Thănh viớn
Mụ t Thănh viớn cú quy n xem l i cõc yớu c u mă bg i lớn h th ng n thđn mỡnh đờ
i u ki n b t đ u Thănh viớn đờ đ ng nh p
i u ki n k t thỳc Lu ng c b n
1. thanh đi u h ng ch n Tăi s n c a tụi / Cõc yớu c u
đờ g i
2. H th ng chuy n sang giao di n “Danh sõch yớu c u”,
nh n ch n văo m t dũng khi c n xem chi ti t Ngo i l
Lu ng thay th
Yớu c u phi ch c n ng
B ng 63: Usecase xem yớu c u đờ g i
Mờ s Usecase UC-60
Tớn Usecase Xúa yớu c u đờ g i Tõc nhđn Thănh viớn
Mụ t Thănh viớn cú quy n xúa cõc yớu c u mă blớn h th ng v i đi u ki n yớu c u ch a đ c ngn thđn mỡnh đờ gi qu n lý i ph n h i
i u ki n b t đ u Thănh viớn đờ đ ng nh p
i u ki n k t thỳc Lu ng c b n
1. giao di n “Danh sõch yớu c u”, ch n “Xúa” cõc yớu
c u mong mu n 2. H th ng xõc nh n m t l n n a, ch n “OK” đ xõc nh n xúa Ngo i l 1. Ngo i l 1 –B c 2: c. N u yớu c u đờ đ c qu n lý ph n h i, hi n thụng
bõo “Thụng tin đờ đ c duy t, b n khụng cú quy n
xúa” Lu ng thay th
Yớu c u phi ch c n ng
59
4. THI T K H TH NG
4.1. Ki n trỳc h th ng
Hỡnh 7: Ki n trỳc t ng th c a h th ng
Cõc thănh ph n, l p trong ki n trỳc h th ng:
Reverse Proxy Server: Lă mõy ch y quy n đ đ m b o tớnh b o m t vă qu n lý. IIS cú th l y HTTP Request vă th c hi n m t s cõc x lý nh ghi log, l c request, rewrite-url tr c khi g i sang cho Kestrel.
Kestrel: lă m t web server đa n n t ng. Nú đ c phõt tri n đ ch y ng d ng ASP.NET Core trớn b t c n n t ng năo. Nú đ c thớm văo m c đnh trong ng d ng ASP.NET Core. Nhi m v c a Kestrel lă nh n request t Proxy Server vă đnh tuy n t i cõc Controller. Kestrel khụng ph i lă m t web server đ y đ tớnh n ng. Nh ng nú nhanh, tuy nhiớn nú khụng đ m nh đ ch y Kestrel m t mỡnh trớn mụi tr ng.
S d ng k t h p Kestrel v i c ISS s mang l i nh ng l i ớch nh :
• B o m t: Nú cú th h n ch vi c ph i ra ngoăi nh ng gỡ khụng c n thi t vă nú c ng cho chỳng ta cõc tựy ch n v c u hỡnh vă b o v ng d ng.
60 • Căi đ t SSL: Ch cõc mõy ch y quy n c n cõc ch ng ch SSL, cũn cõc server năy cú th lăm vi c v i ng d ng c a b n trớn m ng n i b s dựng HTTP thu n.
• L c cõc Request, ghi log vă rewrite-URL… • Nú cú th restart ng d ng n u b crash
L p Controller: lă thănh ph n đ u tiớn nh n request t ng i dung t kestrel. Khi ng i dựng truy c p URL qua trỡnh duy t, ASP.NET Core routing s map request đú văo controller c th . Controller thụng qua cõc d ch v t l p Domain Service Layer đ l y d li u t model, ho c c p nh t d li u c a model, cựng v i đú Controller s l y cõc UI component c n thi t t React App k t h p v i d li u t model đ g i v cho Client thụng qua cõc web server.
L p Business Logic Layer (BLL): Ch a t t c cõc nghi p v logic, cõc răng bu c đi u ki n, x lý d li u thụ t DAL g i lớn.
L p Data Access Layer (DAL): lă l p giao ti p v i c s d li u, s d ng Entity Frame Work Core vă LINQ ngay trớn mờ ngu n đ truy xu t d li u thay cho vi c vi t cõc hăm, th t c SQL truy n th ng.
4.2. Thi t k c s d li u
H th ng ASSETAPP đ c phõt tri n theo h ng Multi-Tenant, c th m i khõch hăng (t ch c) sau khi đ ng ký s cú cho mỡnh riớng m t schema tõch bi t v i cõc t ch c khõc. Vă m c đnh, cú schema public dựng chung cho h th ng, đđy s l u tr cõc th c th c đnh vă cú th tõi s d ng đ c nhi u l n nh t nh, thănh ph (Province), huy n, qu n (District), xờ, ph ng, th tr n (Ward) vă m t th c th l u thụng tin cõc m i khõch hăng (t ch c) lă Organization.
61
4.2.1. C s d li u dựng chung (Public Schema)
Hỡnh 8: L c đ quan h th c th c a cõc th c th dựng chung
• Th c th t ch c (Organization): Thu c tớnh Ki u d li u Mụ t OrganizationId int4 Mờ t ch c
Workspace varchar(20) Tớn mi n ph (subdomain) cho t ch c Username varchar(255) Tớn đ ng nh p cho admin t ch c Password text M t kh u cho admin t ch c Email varchar(100) Email c a t ch c
Name varchar(255) Tớn t ch c
Firstname varchar(255) H vă tớn đ m c a admin Lastname varchar(255) Tớn c a admin
62 ProvinceId int4 Mờ t nh/thănh ph
DistrictId int4 Mờ huy n/qu n WardId int4 Mờ xờ/ph ng
Address varchar(255) S nhă, tớn đ ng, khu ph Phone text S đi n tho i liớn l c c a t ch c ActiveType int4 Tr ng thõi ho t đ ng
RegisterDate timestamp Ngăy đ ng ký
ExpirationDate timestamp Ngăy h t h n
Modifiedby text Ng i ch nh s a g n nh t Modifieddate timestamp Ngăy ch nh s a g n nh t
B ng 65: Th c t t ch c
• Th c th t nh/thănh ph (Province) Thu c tớnh Ki u d li u Mụ t
ProvinceId int4 Mờ t nh/thănh ph Name text Tớn t nh/thănh ph
B ng 66: Th c th t nh/thănh ph
• Th c th huy n/qu n (District) Thu c tớnh Ki u d li u Mụ t
DistrictId int4 Mờ huy n/qu n Name text Tớn huy n/qu n ProvinceId int4 Mờ t nh/thănh ph
B ng 67: Th c th huy n/qu n
• Th c th xờ/ph ng (Ward)
Thu c tớnh Ki u d li u Mụ t
Id int4 Mờ xờ/ph ng Name text Tớn xờ/ph ng DistrictId int4 Mờ huy n/qu n
63
64
Hỡnh 9: L c đ quan h th c th c a m i khõch hăng (tenant)
• Th c th khu v c (Area):
Thu c tớnh Ki u d li u Mụ t AreaId int4 Mờ khu v c Name varchar(100) Tớn khu v c
IsHeadquarters varchar(255) Phđn c p khu v c (1/2/3) Description varchar(255) Mụ t chi ti t cho khu v c ProvinceId int4 Mờ t nh/thănh ph c a khu v c DistrictId int4 Mờ huy n/qu n c a khu v c WardId int4 Mờ xờ/ph ng c a khu v c Address varchar(255) a ch c a khu v c
Email varchar(100) Email c a khu v c
Phone text S đi n tho i liớn l c c a khu v c ActiveType int4 Tr ng thõi ho t đ ng
Image text L u đ ng liớn k t t i nh đ i di n khu v c Modified date timestamp Ngăy ch nh s a g n nh t
Modified user varchar(50) Ng i ch nh s a g n nh t
B ng 69: Th c th khu v c
• Th c th thănh viớn (Member): Thu c tớnh Ki u d li u Mụ t
MemberId int4 Mờ thănh viớn
Username varchar(50) Tớn đ ng nh p tăi kho n Password varchar(50) Tớn m t kh u đ ng nh p Email varchar(255) Email thănh viớn
Firstname varchar(255) H vă tớn đ m thănh viớn Lastname varchar(255) Tớn thănh viớn
Phone text S đi n tho i liớn l c Sex int4 Gi i tớnh
Department text Phũng băn
65 Birthday timestamp Ngăy sinh
Description varchar(255) Thụng tin gi i thi u ProvinceId int4 Mờ t nh/thănh ph DistrictId int4 Mờ huy n/qu n WartId int4 Mờ xờ/ph ng Address varchar(255) S nhă, tớn đ ng
Image text ng liớn k t t i nh đ i di n Lastlogin timestamp L n đ ng nh p g n nh t ActiveType int4 Tr ng thõi ho t đ ng Modifieddate timestamp Ngăy ch nh s a g n nh t Modifiedby int4 Ng i ch nh s a g n nh t isDeleted bool Thănh viớn đờ b xúa hay ch a
B ng 70: Th c th thănh viớn
• Th c th vai trũ (Role)
Thu c tớnh Ki u d li u Mụ t RoleId int4 Mờ vai trũ Name varchar(255) Tớn vai trũ Description text Thụng tin mụ t
Modifieddate timestamp Th i gian ch nh s a g n nh t Modifiedby int4 Ng i ch nh s a g n nh t isDeleted bool ờ xúa hay ch a
B ng 71: Th c th vai trũ
• Th c th quy n (permission)
Thu c tớnh Ki u d li u Mụ t PermissionId int4 Mờ quy n Name varchar(255) Tớn quy n Description text Thụng tin mụ t
B ng 72: Th c th quy n
• Th c th thănh viớn thu c khu v c (MemberArea) Thu c tớnh Ki u d li u Mụ t
66 MemberAreaId int4 Mờ thănh viớn thu c khu v c
MemberId int4 Mờ thănh viớn AreaId int4 Mờ khu v c RoleId int4 Mờ vai trũ
Modifiedby int4 Th i gian ch nh s a g n nh t Modifieddate timestamp Ng i ch nh s a g n nh t
B ng 73: Th c th thănh viớn thu c khu v c
• Th c th đ i tõc (Partner)
Thu c tớnh Ki u d li u Mụ t PartnerId int4 Mờ đ i tõc Name varchar(100) Tớn đ i tõc
TaxCode text Mờ s thu doanh nghi p Description varchar(255) Thụng tin mụ t
ProvinceId int4 Mờ t nh/thănh ph DistrictId int4 Mờ huy n/qu n WardId int4 Mờ xờ/ph ng Address varchar(255) S nhă, tớn đ ng Email varchar(100) a ch email đ i tõc
Phone text S đi n tho i liớn l c c a đ i tõc ActiveType int4 Tr ng thõi ho t đ ng
Image text ng liớn k t đ n nh đ i di n Modifieddate timestamp Th i gian ch nh s a g n nh t Modifiedby int4 Ng i ch nh s a g n nh t isDeleted bool ờ xúa hay ch a
B ng 74: Th c th đ i tõc
• Th c th lụ tăi s n (Batch)
Thu c tớnh Ki u d li u Mụ t BatchId int4 Mờ lụ tăi s n ItemId int4 Mờ m u tăi s n
67 UnitPrice float4 n giõ c a m i tăi s n
DateOfmanufacture timestamp Ngăy s n xu t
Description text Thụng tin chi ti t lụ tăi s n Modifieddate timestamp Th i gian ch nh s a g n nh t Modifiedby int4 Ng i ch nh s a g n nh t isDeleted bool ờ xúa hay ch a
B ng 75: Th c th lụ tăi s n
• Th c th tăi s n (Asset)
Thu c tớnh Ki u d li u Mụ t AssetId int4 Mờ tăi s n
BarCode text Mờ hăng húa (s mờ v ch) c a tăi s n BatchId int4 Mờ lụ tăi s n
AreaId int4 Mờ khu v c
Scope int4 M c b o m t c a tăi s n Quality int4 Ch t l ng tăi s n hi n t i Status int4 Tr ng thõi tăi s n hi n t i
Image text ng liớn k t đ n hỡnh nh tăi s n Description varchar(255) Thụng tin mụ t tăi s n
Createddate timestamp Ngăy đ c thớm Createdby int4 Ng i thớm tăi s n Deleteddate timestamp Ngăy tăi s n b xúa Deletedby int4 Ng i xúa tăi s n
Modifieddate timestamp Th i gian ch nh s a g n nh t Modifiedby int4 Ng i ch nh s a g n nh t isDeleted bool ờ xúa hay ch a
B ng 76: Th c th tăi s n
• Th c th giao d ch (Transaction) Thu c tớnh Ki u d li u Mụ t TransactionId int4 Mờ giao d ch Name varchar(255) Tớn giao d ch
68 PartnerId int4 Mờ đ i tõc
MemberId int4 Tớn ng i l p giao d ch
Type int4 Lo i giao dthanh lý, h p đch (húa đ n nh p mua, húa đ n ng b o trỡ, h p đ ng cho thuớ) TotalPrice float4 T ng thanh tõn cho giao d ch
Createddate timestamp Ngăy giao d ch đ c l p DateOfPayment timestamp Ngăy thanh tõn
Description varchar(255) Thụng tin chi ti t cho giao d ch Modifieddate timestamp Th i gian ch nh s a g n nh t Modifiedby int4 Ng i ch nh s a g n nh t isDeleted bool ờ xúa hay ch a
B ng 77: Th c th giao d ch
• Th c th húa đ n nh p mua (TransPurchase)