Quellcode durchsuchen

fix: database migrations

Muhammad Iqbal Afandi vor 3 Jahren
Ursprung
Commit
247b111bdb

+ 2
- 1
app/Models/Product.php Datei anzeigen

@@ -15,7 +15,8 @@ class Product extends Model
15 15
     protected $fillable = [
16 16
         'number',
17 17
         'name',
18
-        'unit'
18
+        'unit',
19
+        'profit'
19 20
     ];
20 21
 
21 22
     protected $hidden = ['created_at', 'updated_at'];

+ 1
- 0
database/migrations/2022_06_16_091344_create_products_table.php Datei anzeigen

@@ -18,6 +18,7 @@ return new class extends Migration
18 18
             $table->string('number')->unique();
19 19
             $table->string('name');
20 20
             $table->string('unit');
21
+            $table->unsignedTinyInteger('profit');
21 22
             $table->timestamps();
22 23
         });
23 24
     }

+ 1
- 1
database/migrations/2022_06_17_115154_create_sale_details_table.php Datei anzeigen

@@ -16,7 +16,7 @@ return new class extends Migration
16 16
         Schema::create('sale_details', function (Blueprint $table) {
17 17
             $table->id();
18 18
             $table->unsignedInteger('price');
19
-            $table->unsignedInteger('ppn');
19
+            $table->unsignedTinyInteger('ppn');
20 20
             $table->unsignedInteger('qty');
21 21
             $table->string('product_number');
22 22
             $table->string('sale_number');

+ 1
- 1
database/migrations/2022_06_17_115201_create_purchase_details_table.php Datei anzeigen

@@ -16,7 +16,7 @@ return new class extends Migration
16 16
         Schema::create('purchase_details', function (Blueprint $table) {
17 17
             $table->id();
18 18
             $table->unsignedInteger('price');
19
-            $table->unsignedInteger('ppn');
19
+            $table->unsignedTinyInteger('ppn');
20 20
             $table->unsignedInteger('qty');
21 21
             $table->string('purchase_number');
22 22
             $table->string('product_number');

+ 1
- 1
database/migrations/2022_06_27_105537_create_ppns_table.php Datei anzeigen

@@ -15,7 +15,7 @@ return new class extends Migration
15 15
     {
16 16
         Schema::create('ppns', function (Blueprint $table) {
17 17
             $table->id();
18
-            $table->unsignedInteger('ppn');
18
+            $table->unsignedTinyInteger('ppn');
19 19
             $table->timestamps();
20 20
         });
21 21
     }

+ 1
- 0
designs/diagrams/database.puml Datei anzeigen

@@ -32,6 +32,7 @@ entity Product {
32 32
   * number
33 33
   * name
34 34
   * unit
35
+  * profit
35 36
 }
36 37
 
37 38
 entity Supplier {

BIN
designs/diagrams/database/Database.png Datei anzeigen


+ 31
- 30
designs/diagrams/database/Database.svg Datei anzeigen

@@ -1,33 +1,33 @@
1
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="944px" preserveAspectRatio="none" style="width:787px;height:944px;background:#FFFFFF;" version="1.1" viewBox="0 0 787 944" width="787px" zoomAndPan="magnify"><defs/><g><!--MD5=[3fd616f346a44cd59a91eb10b19e157c]
2
-class User--><g id="elem_User"><rect codeLine="2" fill="#F1F1F1" height="152.5918" id="User" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="89" x="323.7" y="7"/><ellipse cx="351.3" cy="23" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M347.4406,28.5 L347.4406,17.2969 L355.4719,17.2969 L355.4719,19.1875 L349.8938,19.1875 L349.8938,21.8906 L354.9719,21.8906 L354.9719,23.7813 L349.8938,23.7813 L349.8938,26.6094 L355.8156,26.6094 L355.8156,28.5 L347.4406,28.5 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="29" x="368.1" y="28.0825">User</text><line style="stroke:#181818;stroke-width:0.5;" x1="324.7" x2="411.7" y1="39" y2="39"/><ellipse cx="334.7" cy="50" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="11" x="343.7" y="56.1318">id</text><line style="stroke:#181818;stroke-width:0.5;" x1="324.7" x2="411.7" y1="63.0986" y2="63.0986"/><ellipse cx="334.7" cy="74.0986" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="35" x="343.7" y="80.2305">name</text><ellipse cx="334.7" cy="90.1973" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="63" x="343.7" y="96.3291">username</text><ellipse cx="334.7" cy="106.2959" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="38" x="343.7" y="112.4277">status</text><ellipse cx="334.7" cy="122.3945" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="60" x="343.7" y="128.5264">password</text><line style="stroke:#181818;stroke-width:0.5;" x1="324.7" x2="411.7" y1="135.4932" y2="135.4932"/><ellipse cx="334.7" cy="146.4932" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="43" x="343.7" y="152.625">role_id</text></g><!--MD5=[a3638c1e5b65d287ecad7f06f5c0f212]
3
-class Role--><g id="elem_Role"><rect codeLine="13" fill="#F1F1F1" height="80.1973" id="Role" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="61" x="337.7" y="248"/><ellipse cx="352.7" cy="264" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M348.8406,269.5 L348.8406,258.2969 L356.8719,258.2969 L356.8719,260.1875 L351.2938,260.1875 L351.2938,262.8906 L356.3719,262.8906 L356.3719,264.7813 L351.2938,264.7813 L351.2938,267.6094 L357.2156,267.6094 L357.2156,269.5 L348.8406,269.5 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="29" x="366.7" y="269.0825">Role</text><line style="stroke:#181818;stroke-width:0.5;" x1="338.7" x2="397.7" y1="280" y2="280"/><ellipse cx="348.7" cy="291" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="11" x="357.7" y="297.1318">id</text><line style="stroke:#181818;stroke-width:0.5;" x1="338.7" x2="397.7" y1="304.0986" y2="304.0986"/><ellipse cx="348.7" cy="315.0986" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="35" x="357.7" y="321.2305">name</text></g><!--MD5=[2ce0c9fb7f55b1e256ab28a8ea6b25ec]
4
-class Customer--><g id="elem_Customer"><rect codeLine="19" fill="#F1F1F1" height="128.4932" id="Customer" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="93" x="105.7" y="19.5"/><ellipse cx="120.7" cy="35.5" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M116.8406,41 L116.8406,29.7969 L124.8719,29.7969 L124.8719,31.6875 L119.2937,31.6875 L119.2937,34.3906 L124.3719,34.3906 L124.3719,36.2813 L119.2937,36.2813 L119.2937,39.1094 L125.2156,39.1094 L125.2156,41 L116.8406,41 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="61" x="134.7" y="40.5825">Customer</text><line style="stroke:#181818;stroke-width:0.5;" x1="106.7" x2="197.7" y1="51.5" y2="51.5"/><ellipse cx="116.7" cy="62.5" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="11" x="125.7" y="68.6318">id</text><line style="stroke:#181818;stroke-width:0.5;" x1="106.7" x2="197.7" y1="75.5986" y2="75.5986"/><ellipse cx="116.7" cy="86.5986" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="35" x="125.7" y="92.7305">name</text><ellipse cx="116.7" cy="102.6973" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="51" x="125.7" y="108.8291">address</text><ellipse cx="116.7" cy="118.7959" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="40" x="125.7" y="124.9277">phone</text><ellipse cx="116.7" cy="134.8945" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="33" x="125.7" y="141.0264">npwp</text></g><!--MD5=[72136138052d025cffdce3c22fbd185f]
5
-class Product--><g id="elem_Product"><rect codeLine="28" fill="#F1F1F1" height="112.3945" id="Product" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="81" x="332.7" y="629"/><ellipse cx="347.7" cy="645" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M343.8406,650.5 L343.8406,639.2969 L351.8719,639.2969 L351.8719,641.1875 L346.2938,641.1875 L346.2938,643.8906 L351.3719,643.8906 L351.3719,645.7813 L346.2938,645.7813 L346.2938,648.6094 L352.2156,648.6094 L352.2156,650.5 L343.8406,650.5 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="49" x="361.7" y="650.0825">Product</text><line style="stroke:#181818;stroke-width:0.5;" x1="333.7" x2="412.7" y1="661" y2="661"/><ellipse cx="343.7" cy="672" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="11" x="352.7" y="678.1318">id</text><line style="stroke:#181818;stroke-width:0.5;" x1="333.7" x2="412.7" y1="685.0986" y2="685.0986"/><ellipse cx="343.7" cy="696.0986" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="48" x="352.7" y="702.2305">number</text><ellipse cx="343.7" cy="712.1973" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="35" x="352.7" y="718.3291">name</text><ellipse cx="343.7" cy="728.2959" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="23" x="352.7" y="734.4277">unit</text></g><!--MD5=[6f6af049516bc56aac6e320b3234ce97]
6
-class Supplier--><g id="elem_Supplier"><rect codeLine="36" fill="#F1F1F1" height="144.5918" id="Supplier" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="84" x="604.2" y="11"/><ellipse cx="619.2" cy="27" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M615.3406,32.5 L615.3406,21.2969 L623.3719,21.2969 L623.3719,23.1875 L617.7937,23.1875 L617.7937,25.8906 L622.8719,25.8906 L622.8719,27.7813 L617.7937,27.7813 L617.7937,30.6094 L623.7156,30.6094 L623.7156,32.5 L615.3406,32.5 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="52" x="633.2" y="32.0825">Supplier</text><line style="stroke:#181818;stroke-width:0.5;" x1="605.2" x2="687.2" y1="43" y2="43"/><ellipse cx="615.2" cy="54" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="11" x="624.2" y="60.1318">id</text><line style="stroke:#181818;stroke-width:0.5;" x1="605.2" x2="687.2" y1="67.0986" y2="67.0986"/><ellipse cx="615.2" cy="78.0986" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="35" x="624.2" y="84.2305">name</text><ellipse cx="615.2" cy="94.1973" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="51" x="624.2" y="100.3291">address</text><ellipse cx="615.2" cy="110.2959" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="40" x="624.2" y="116.4277">phone</text><ellipse cx="615.2" cy="126.3945" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="33" x="624.2" y="132.5264">email</text><ellipse cx="615.2" cy="142.4932" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="33" x="624.2" y="148.625">npwp</text></g><!--MD5=[ca228764f84c38a6bbd29bae3074bbc7]
7
-class Purchase--><g id="elem_Purchase"><rect codeLine="46" fill="#F1F1F1" height="136.4932" id="Purchase" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="95" x="501.7" y="220"/><ellipse cx="518.05" cy="236" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M514.1906,241.5 L514.1906,230.2969 L522.2219,230.2969 L522.2219,232.1875 L516.6438,232.1875 L516.6438,234.8906 L521.7219,234.8906 L521.7219,236.7813 L516.6438,236.7813 L516.6438,239.6094 L522.5656,239.6094 L522.5656,241.5 L514.1906,241.5 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="60" x="532.35" y="241.0825">Purchase</text><line style="stroke:#181818;stroke-width:0.5;" x1="502.7" x2="595.7" y1="252" y2="252"/><ellipse cx="512.7" cy="263" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="11" x="521.7" y="269.1318">id</text><line style="stroke:#181818;stroke-width:0.5;" x1="502.7" x2="595.7" y1="276.0986" y2="276.0986"/><ellipse cx="512.7" cy="287.0986" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="48" x="521.7" y="293.2305">number</text><ellipse cx="512.7" cy="303.1973" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="38" x="521.7" y="309.3291">status</text><line style="stroke:#181818;stroke-width:0.5;" x1="502.7" x2="595.7" y1="316.2959" y2="316.2959"/><ellipse cx="512.7" cy="327.2959" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="69" x="521.7" y="333.4277">supplier_id</text><ellipse cx="512.7" cy="343.3945" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="47" x="521.7" y="349.5264">user_id</text></g><!--MD5=[e0bd77868626c22cfc0c5aeed1b8d67f]
8
-class Sale--><g id="elem_Sale"><rect codeLine="56" fill="#F1F1F1" height="136.4932" id="Sale" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="103" x="150.7" y="220"/><ellipse cx="185.05" cy="236" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M181.1906,241.5 L181.1906,230.2969 L189.2219,230.2969 L189.2219,232.1875 L183.6437,232.1875 L183.6437,234.8906 L188.7219,234.8906 L188.7219,236.7813 L183.6437,236.7813 L183.6437,239.6094 L189.5656,239.6094 L189.5656,241.5 L181.1906,241.5 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="28" x="203.35" y="241.0825">Sale</text><line style="stroke:#181818;stroke-width:0.5;" x1="151.7" x2="252.7" y1="252" y2="252"/><ellipse cx="161.7" cy="263" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="11" x="170.7" y="269.1318">id</text><line style="stroke:#181818;stroke-width:0.5;" x1="151.7" x2="252.7" y1="276.0986" y2="276.0986"/><ellipse cx="161.7" cy="287.0986" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="48" x="170.7" y="293.2305">number</text><ellipse cx="161.7" cy="303.1973" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="38" x="170.7" y="309.3291">status</text><line style="stroke:#181818;stroke-width:0.5;" x1="151.7" x2="252.7" y1="316.2959" y2="316.2959"/><ellipse cx="161.7" cy="327.2959" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="77" x="170.7" y="333.4277">customer_id</text><ellipse cx="161.7" cy="343.3945" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="47" x="170.7" y="349.5264">user_id</text></g><!--MD5=[0cfc926ac851c171b4800cdea9975fdf]
9
-class StockProduct--><g id="elem_StockProduct"><rect codeLine="66" fill="#F1F1F1" height="136.4932" id="StockProduct" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="141" x="302.7" y="424.5"/><ellipse cx="328.95" cy="440.5" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M325.0906,446 L325.0906,434.7969 L333.1219,434.7969 L333.1219,436.6875 L327.5438,436.6875 L327.5438,439.3906 L332.6219,439.3906 L332.6219,441.2813 L327.5438,441.2813 L327.5438,444.1094 L333.4656,444.1094 L333.4656,446 L325.0906,446 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="84" x="345.45" y="445.5825">StockProduct</text><line style="stroke:#181818;stroke-width:0.5;" x1="303.7" x2="442.7" y1="456.5" y2="456.5"/><ellipse cx="313.7" cy="467.5" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="11" x="322.7" y="473.6318">id</text><line style="stroke:#181818;stroke-width:0.5;" x1="303.7" x2="442.7" y1="480.5986" y2="480.5986"/><ellipse cx="313.7" cy="491.5986" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="115" x="322.7" y="497.7305">purchase_number</text><ellipse cx="313.7" cy="507.6973" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="82" x="322.7" y="513.8291">sale_number</text><ellipse cx="313.7" cy="523.7959" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="19" x="322.7" y="529.9277">qty</text><line style="stroke:#181818;stroke-width:0.5;" x1="303.7" x2="442.7" y1="536.8945" y2="536.8945"/><ellipse cx="313.7" cy="547.8945" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="104" x="322.7" y="554.0264">product_number</text></g><!--MD5=[a40a7ac4b423335b0d34bf16cf36e547]
10
-class Price--><g id="elem_Price"><rect codeLine="76" fill="#F1F1F1" height="136.4932" id="Price" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="130" x="308.2" y="801"/><ellipse cx="352.95" cy="817" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M349.0906,822.5 L349.0906,811.2969 L357.1219,811.2969 L357.1219,813.1875 L351.5438,813.1875 L351.5438,815.8906 L356.6219,815.8906 L356.6219,817.7813 L351.5438,817.7813 L351.5438,820.6094 L357.4656,820.6094 L357.4656,822.5 L349.0906,822.5 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="32" x="373.45" y="822.0825">Price</text><line style="stroke:#181818;stroke-width:0.5;" x1="309.2" x2="437.2" y1="833" y2="833"/><ellipse cx="319.2" cy="844" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="11" x="328.2" y="850.1318">id</text><line style="stroke:#181818;stroke-width:0.5;" x1="309.2" x2="437.2" y1="857.0986" y2="857.0986"/><ellipse cx="319.2" cy="868.0986" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="31" x="328.2" y="874.2305">price</text><line style="stroke:#181818;stroke-width:0.5;" x1="309.2" x2="437.2" y1="881.1973" y2="881.1973"/><ellipse cx="319.2" cy="892.1973" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="104" x="328.2" y="898.3291">product_number</text><ellipse cx="319.2" cy="908.2959" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="77" x="328.2" y="914.4277">customer_id</text><ellipse cx="319.2" cy="924.3945" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="69" x="328.2" y="930.5264">supplier_id</text></g><!--MD5=[680168ab3c03721c8f7b2302070ae319]
11
-class SaleDetail--><g id="elem_SaleDetail"><rect codeLine="86" fill="#F1F1F1" height="152.5918" id="SaleDetail" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="130" x="137.2" y="416"/><ellipse cx="167.5" cy="432" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M163.6406,437.5 L163.6406,426.2969 L171.6719,426.2969 L171.6719,428.1875 L166.0938,428.1875 L166.0938,430.8906 L171.1719,430.8906 L171.1719,432.7813 L166.0938,432.7813 L166.0938,435.6094 L172.0156,435.6094 L172.0156,437.5 L163.6406,437.5 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="64" x="184.9" y="437.0825">SaleDetail</text><line style="stroke:#181818;stroke-width:0.5;" x1="138.2" x2="266.2" y1="448" y2="448"/><ellipse cx="148.2" cy="459" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="11" x="157.2" y="465.1318">id</text><line style="stroke:#181818;stroke-width:0.5;" x1="138.2" x2="266.2" y1="472.0986" y2="472.0986"/><ellipse cx="148.2" cy="483.0986" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="31" x="157.2" y="489.2305">price</text><ellipse cx="148.2" cy="499.1973" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="24" x="157.2" y="505.3291">ppn</text><ellipse cx="148.2" cy="515.2959" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="19" x="157.2" y="521.4277">qty</text><line style="stroke:#181818;stroke-width:0.5;" x1="138.2" x2="266.2" y1="528.3945" y2="528.3945"/><ellipse cx="148.2" cy="539.3945" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="82" x="157.2" y="545.5264">sale_number</text><ellipse cx="148.2" cy="555.4932" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="104" x="157.2" y="561.625">product_number</text></g><!--MD5=[3d9bec551640ffb4a026cc7c78c25b79]
12
-class PurchaseDetail--><g id="elem_PurchaseDetail"><rect codeLine="97" fill="#F1F1F1" height="152.5918" id="PurchaseDetail" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="141" x="478.7" y="416"/><ellipse cx="499.55" cy="432" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M495.6906,437.5 L495.6906,426.2969 L503.7219,426.2969 L503.7219,428.1875 L498.1438,428.1875 L498.1438,430.8906 L503.2219,430.8906 L503.2219,432.7813 L498.1438,432.7813 L498.1438,435.6094 L504.0656,435.6094 L504.0656,437.5 L495.6906,437.5 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="96" x="514.85" y="437.0825">PurchaseDetail</text><line style="stroke:#181818;stroke-width:0.5;" x1="479.7" x2="618.7" y1="448" y2="448"/><ellipse cx="489.7" cy="459" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="11" x="498.7" y="465.1318">id</text><line style="stroke:#181818;stroke-width:0.5;" x1="479.7" x2="618.7" y1="472.0986" y2="472.0986"/><ellipse cx="489.7" cy="483.0986" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="31" x="498.7" y="489.2305">price</text><ellipse cx="489.7" cy="499.1973" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="24" x="498.7" y="505.3291">ppn</text><ellipse cx="489.7" cy="515.2959" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="19" x="498.7" y="521.4277">qty</text><line style="stroke:#181818;stroke-width:0.5;" x1="479.7" x2="618.7" y1="528.3945" y2="528.3945"/><ellipse cx="489.7" cy="539.3945" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="115" x="498.7" y="545.5264">purchase_number</text><ellipse cx="489.7" cy="555.4932" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="104" x="498.7" y="561.625">product_number</text></g><!--MD5=[c26ae6d58060a6dc125b0061a9f99778]
13
-class Ppn--><g id="elem_Ppn"><rect codeLine="108" fill="#F1F1F1" height="80.1973" id="Ppn" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="57" x="723.7" y="43.5"/><ellipse cx="738.7" cy="59.5" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M734.8406,65 L734.8406,53.7969 L742.8719,53.7969 L742.8719,55.6875 L737.2937,55.6875 L737.2937,58.3906 L742.3719,58.3906 L742.3719,60.2813 L737.2937,60.2813 L737.2937,63.1094 L743.2156,63.1094 L743.2156,65 L734.8406,65 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="25" x="752.7" y="64.5825">Ppn</text><line style="stroke:#181818;stroke-width:0.5;" x1="724.7" x2="779.7" y1="75.5" y2="75.5"/><ellipse cx="734.7" cy="86.5" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="11" x="743.7" y="92.6318">id</text><line style="stroke:#181818;stroke-width:0.5;" x1="724.7" x2="779.7" y1="99.5986" y2="99.5986"/><ellipse cx="734.7" cy="110.5986" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="24" x="743.7" y="116.7305">ppn</text></g><!--MD5=[70c37dc9bfbc8656942103c36f1181e4]
14
-link User to Role--><g id="link_User_Role"><path codeLine="114" d="M368.2,168.28 C368.2,192.59 368.2,218.27 368.2,239.51 " fill="none" id="User-Role" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="368.2" x2="374.2" y1="239.72" y2="247.72"/><line style="stroke:#181818;stroke-width:1.0;" x1="368.2" x2="362.2" y1="239.72" y2="247.72"/><line style="stroke:#181818;stroke-width:1.0;" x1="368.2" x2="368.2" y1="239.72" y2="247.72"/><line style="stroke:#181818;stroke-width:1.0;" x1="372.2" x2="364.2" y1="237.72" y2="237.72"/><line style="stroke:#181818;stroke-width:1.0;" x1="364.2" x2="372.2" y1="164.19" y2="164.19"/><line style="stroke:#181818;stroke-width:1.0;" x1="364.2" x2="372.2" y1="167.19" y2="167.19"/><line style="stroke:#181818;stroke-width:1.0;" x1="368.2" x2="368.2" y1="168.19" y2="160.19"/></g><!--MD5=[474f0e405c986647f348979b3d9bac30]
15
-link User to Purchase--><g id="link_User_Purchase"><path codeLine="115" d="M418.19,140.42 C442.43,167.54 471.56,200.13 496.19,227.69 " fill="none" id="User-Purchase" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="502.0146" x2="496.0519" y1="228.2019" y2="233.5354"/><line style="stroke:#181818;stroke-width:1.0;" x1="500.0145" x2="494.0518" y1="225.9659" y2="231.2994"/><line style="stroke:#181818;stroke-width:1.0;" x1="496.3665" x2="501.7" y1="227.8873" y2="233.85"/><line style="stroke:#181818;stroke-width:1.0;" x1="418.0435" x2="408.238" y1="140.2627" y2="138.3001"/><line style="stroke:#181818;stroke-width:1.0;" x1="418.0435" x2="417.182" y1="140.2627" y2="130.2999"/><line style="stroke:#181818;stroke-width:1.0;" x1="418.0435" x2="412.71" y1="140.2627" y2="134.3"/><line style="stroke:#181818;stroke-width:1.0;" x1="416.3956" x2="422.3582" y1="144.4201" y2="139.0866"/></g><!--MD5=[fa16bf6141e1c24f8824fff3082d1ce7]
16
-link User to Sale--><g id="link_User_Sale"><path codeLine="116" d="M318.38,145.28 C299.64,168.14 278.19,194.3 258.87,217.87 " fill="none" id="User-Sale" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="259.3793" x2="253.1928" y1="223.5628" y2="218.4907"/><line style="stroke:#181818;stroke-width:1.0;" x1="261.2814" x2="255.0948" y1="221.2428" y2="216.1707"/><line style="stroke:#181818;stroke-width:1.0;" x1="258.8221" x2="253.75" y1="217.9334" y2="224.12"/><line style="stroke:#181818;stroke-width:1.0;" x1="318.4279" x2="318.8601" y1="145.2166" y2="135.2259"/><line style="stroke:#181818;stroke-width:1.0;" x1="318.4279" x2="328.1399" y1="145.2166" y2="142.8341"/><line style="stroke:#181818;stroke-width:1.0;" x1="318.4279" x2="323.5" y1="145.2166" y2="139.03"/><line style="stroke:#181818;stroke-width:1.0;" x1="314.0666" x2="320.2531" y1="144.2271" y2="149.2993"/></g><!--MD5=[4e61cc6c8c4df3951b5a0cc721e44351]
17
-link Supplier to Purchase--><g id="link_Supplier_Purchase"><path codeLine="117" d="M608.35,163.53 C600.62,179.66 592.51,196.59 584.86,212.56 " fill="none" id="Supplier-Purchase" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="586.7158" x2="579.5014" y1="217.9414" y2="214.4842"/><line style="stroke:#181818;stroke-width:1.0;" x1="588.0123" x2="580.7978" y1="215.236" y2="211.7788"/><line style="stroke:#181818;stroke-width:1.0;" x1="584.8372" x2="581.38" y1="212.6056" y2="219.82"/><line style="stroke:#181818;stroke-width:1.0;" x1="608.4128" x2="606.4592" y1="163.3944" y2="153.5871"/><line style="stroke:#181818;stroke-width:1.0;" x1="608.4128" x2="617.2808" y1="163.3944" y2="158.7729"/><line style="stroke:#181818;stroke-width:1.0;" x1="608.4128" x2="611.87" y1="163.3944" y2="156.18"/><line style="stroke:#181818;stroke-width:1.0;" x1="603.9413" x2="611.1557" y1="163.4694" y2="166.9266"/></g><!--MD5=[8dbb028c2b05e4025f5d42a599ab93b5]
18
-link Supplier to Price--><g id="link_Supplier_Price"><path codeLine="118" d="M663.13,163.25 C681,260.03 702.59,428.67 671.2,569 C652.76,651.46 647.22,678.64 590.2,741 C550.11,784.84 491.32,817.96 445.04,839.37 " fill="none" id="Supplier-Price" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="443.8914" x2="440.5637" y1="844.2837" y2="837.0086"/><line style="stroke:#181818;stroke-width:1.0;" x1="446.6195" x2="443.2919" y1="843.0359" y2="835.7608"/><line style="stroke:#181818;stroke-width:1.0;" x1="445.8651" x2="438.59" y1="838.9824" y2="842.31"/><line style="stroke:#181818;stroke-width:1.0;" x1="658.5922" x2="666.4562" y1="160.7862" y2="159.3178"/><line style="stroke:#181818;stroke-width:1.0;" x1="659.1428" x2="667.0069" y1="163.7353" y2="162.2669"/><line style="stroke:#181818;stroke-width:1.0;" x1="663.2584" x2="661.79" y1="163.9841" y2="156.12"/></g><!--MD5=[d458a1e609d20b4df6a1b1701aeabf58]
19
-link Customer to Sale--><g id="link_Customer_Sale"><path codeLine="119" d="M169.76,155.62 C174.26,173.83 179.11,193.47 183.65,211.88 " fill="none" id="Customer-Sale" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="183.6633" x2="191.4052" y1="211.913" y2="218.2425"/><line style="stroke:#181818;stroke-width:1.0;" x1="183.6633" x2="179.7548" y1="211.913" y2="221.1175"/><line style="stroke:#181818;stroke-width:1.0;" x1="183.6633" x2="185.58" y1="211.913" y2="219.68"/><line style="stroke:#181818;stroke-width:1.0;" x1="187.0676" x2="179.3006" y1="209.0129" y2="210.9296"/><line style="stroke:#181818;stroke-width:1.0;" x1="164.9033" x2="172.6669" y1="152.5869" y2="150.6567"/><line style="stroke:#181818;stroke-width:1.0;" x1="165.6271" x2="173.3907" y1="155.4983" y2="153.5681"/><line style="stroke:#181818;stroke-width:1.0;" x1="169.7502" x2="167.82" y1="155.5037" y2="147.74"/></g><!--MD5=[ae2c05453d21049e7a5e02ab04069fb0]
20
-link Customer to Price--><g id="link_Customer_Price"><path codeLine="120" d="M125.19,154.67 C79.86,285.46 6,568.8 141.2,741 C181.78,792.67 249.46,826.26 301.29,845.83 " fill="none" id="Customer-Price" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="305.8083" x2="303.0297" y1="843.2397" y2="850.7417"/><line style="stroke:#181818;stroke-width:1.0;" x1="302.995" x2="300.2165" y1="842.1978" y2="849.6998"/><line style="stroke:#181818;stroke-width:1.0;" x1="300.668" x2="308.17" y1="845.6015" y2="848.38"/><line style="stroke:#181818;stroke-width:1.0;" x1="122.4917" x2="130.0411" y1="150.2511" y2="152.8983"/><line style="stroke:#181818;stroke-width:1.0;" x1="121.4991" x2="129.0484" y1="153.0821" y2="155.7293"/><line style="stroke:#181818;stroke-width:1.0;" x1="124.9428" x2="127.59" y1="155.3493" y2="147.8"/></g><!--MD5=[1b8181cc673ea47d6cea814c6d86a94d]
21
-link Sale to SaleDetail--><g id="link_Sale_SaleDetail"><path codeLine="121" d="M202.2,363.39 C202.2,378.07 202.2,393.56 202.2,408.5 " fill="none" id="Sale-SaleDetail" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="206.2" x2="198.2" y1="411.79" y2="411.79"/><line style="stroke:#181818;stroke-width:1.0;" x1="206.2" x2="198.2" y1="408.79" y2="408.79"/><line style="stroke:#181818;stroke-width:1.0;" x1="202.2" x2="202.2" y1="407.79" y2="415.79"/><line style="stroke:#181818;stroke-width:1.0;" x1="198.2" x2="206.2" y1="360.15" y2="360.15"/><line style="stroke:#181818;stroke-width:1.0;" x1="198.2" x2="206.2" y1="363.15" y2="363.15"/><line style="stroke:#181818;stroke-width:1.0;" x1="202.2" x2="202.2" y1="364.15" y2="356.15"/></g><!--MD5=[fd58fb4015992d940e1d5ff8549f8c35]
22
-link Sale to Price--><g id="link_Sale_Price"><path codeLine="122" d="M146.77,358.24 C135.45,376.07 125.18,395.93 119.2,416 C99.8,481.17 95.75,505.17 119.2,569 C155.57,667.99 240.86,756.61 302.59,811.19 " fill="none" id="Sale-Price" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="307.7424" x2="302.4651" y1="810.3951" y2="816.4076"/><line style="stroke:#181818;stroke-width:1.0;" x1="305.4877" x2="300.2104" y1="808.4161" y2="814.4286"/><line style="stroke:#181818;stroke-width:1.0;" x1="302.0975" x2="308.11" y1="810.7627" y2="816.04"/><line style="stroke:#181818;stroke-width:1.0;" x1="145.1166" x2="151.8252" y1="353.4452" y2="357.8034"/><line style="stroke:#181818;stroke-width:1.0;" x1="143.4823" x2="150.1909" y1="355.961" y2="360.3192"/><line style="stroke:#181818;stroke-width:1.0;" x1="146.2918" x2="150.65" y1="358.9787" y2="352.27"/></g><!--MD5=[c0e5a52b16fbcef22495159b374d909e]
23
-link Purchase to PurchaseDetail--><g id="link_Purchase_PurchaseDetail"><path codeLine="123" d="M549.2,363.39 C549.2,378.07 549.2,393.56 549.2,408.5 " fill="none" id="Purchase-PurchaseDetail" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="553.2" x2="545.2" y1="411.79" y2="411.79"/><line style="stroke:#181818;stroke-width:1.0;" x1="553.2" x2="545.2" y1="408.79" y2="408.79"/><line style="stroke:#181818;stroke-width:1.0;" x1="549.2" x2="549.2" y1="407.79" y2="415.79"/><line style="stroke:#181818;stroke-width:1.0;" x1="545.2" x2="553.2" y1="360.15" y2="360.15"/><line style="stroke:#181818;stroke-width:1.0;" x1="545.2" x2="553.2" y1="363.15" y2="363.15"/><line style="stroke:#181818;stroke-width:1.0;" x1="549.2" x2="549.2" y1="364.15" y2="356.15"/></g><!--MD5=[9aab0b89b89995cf669aab5ed34799da]
24
-link Purchase to Price--><g id="link_Purchase_Price"><path codeLine="124" d="M601.19,348.16 C615.76,368.32 629.66,391.88 637.2,416 C657.49,480.9 661.26,505.4 637.2,569 C598.79,670.54 508.42,759.84 444.14,813.82 " fill="none" id="Purchase-Price" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="444.0242" x2="438.8963" y1="819.1163" y2="812.9758"/><line style="stroke:#181818;stroke-width:1.0;" x1="446.3268" x2="441.1989" y1="817.1933" y2="811.0529"/><line style="stroke:#181818;stroke-width:1.0;" x1="444.5304" x2="438.39" y1="813.4821" y2="818.61"/><line style="stroke:#181818;stroke-width:1.0;" x1="596.0189" x2="602.454" y1="347.894" y2="343.1411"/><line style="stroke:#181818;stroke-width:1.0;" x1="597.8012" x2="604.2363" y1="350.3071" y2="345.5543"/><line style="stroke:#181818;stroke-width:1.0;" x1="601.6128" x2="596.86" y1="348.7351" y2="342.3"/></g><!--MD5=[d9346253e56b18202ac3beab23dddd24]
25
-link Purchase to StockProduct--><g id="link_Purchase_StockProduct"><path codeLine="125" d="M496.18,350 C477.55,371.45 456.41,395.77 436.98,418.12 " fill="none" id="Purchase-StockProduct" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="436.7927" x2="436.082" y1="418.3273" y2="428.302"/><line style="stroke:#181818;stroke-width:1.0;" x1="436.7927" x2="427.018" y1="418.3273" y2="420.438"/><line style="stroke:#181818;stroke-width:1.0;" x1="436.7927" x2="431.55" y1="418.3273" y2="424.37"/><line style="stroke:#181818;stroke-width:1.0;" x1="441.1247" x2="435.082" y1="419.438" y2="414.1953"/><line style="stroke:#181818;stroke-width:1.0;" x1="495.9373" x2="501.98" y1="344.2" y2="349.4427"/><line style="stroke:#181818;stroke-width:1.0;" x1="493.9713" x2="500.014" y1="346.466" y2="351.7087"/><line style="stroke:#181818;stroke-width:1.0;" x1="496.3373" x2="501.58" y1="349.8427" y2="343.8"/></g><!--MD5=[cc8c2cf61c441007fd82fc98c1838a15]
26
-link SaleDetail to Product--><g id="link_SaleDetail_Product"><path codeLine="126" d="M272.76,572.11 C291.04,592.47 310.26,613.88 326.94,632.46 " fill="none" id="SaleDetail-Product" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="327.1585" x2="336.9667" y1="632.6944" y2="634.6439"/><line style="stroke:#181818;stroke-width:1.0;" x1="327.1585" x2="328.0333" y1="632.6944" y2="642.6561"/><line style="stroke:#181818;stroke-width:1.0;" x1="327.1585" x2="332.5" y1="632.6944" y2="638.65"/><line style="stroke:#181818;stroke-width:1.0;" x1="328.801" x2="322.8454" y1="628.5348" y2="633.8763"/><line style="stroke:#181818;stroke-width:1.0;" x1="267.0329" x2="272.9885" y1="571.7085" y2="566.3671"/><line style="stroke:#181818;stroke-width:1.0;" x1="269.036" x2="274.9916" y1="573.9419" y2="568.6004"/><line style="stroke:#181818;stroke-width:1.0;" x1="272.6815" x2="267.34" y1="572.0156" y2="566.06"/></g><!--MD5=[5a75ef0720b826a25eafd7a682d30a1b]
27
-link Sale to StockProduct--><g id="link_Sale_StockProduct"><path codeLine="127" d="M259.13,356.42 C275.83,376.19 294.17,397.91 311.17,418.04 " fill="none" id="Sale-StockProduct" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="311.2421" x2="320.9864" y1="418.1148" y2="420.3616"/><line style="stroke:#181818;stroke-width:1.0;" x1="311.2421" x2="311.8136" y1="418.1148" y2="428.0984"/><line style="stroke:#181818;stroke-width:1.0;" x1="311.2421" x2="316.4" y1="418.1148" y2="424.23"/><line style="stroke:#181818;stroke-width:1.0;" x1="313.0102" x2="306.895" y1="414.007" y2="419.1649"/><line style="stroke:#181818;stroke-width:1.0;" x1="253.2614" x2="259.3766" y1="355.6666" y2="350.5086"/><line style="stroke:#181818;stroke-width:1.0;" x1="255.1956" x2="261.3108" y1="357.9598" y2="352.8018"/><line style="stroke:#181818;stroke-width:1.0;" x1="258.8979" x2="253.74" y1="356.1452" y2="350.03"/></g><!--MD5=[636c4cbf2bb40ce634cacaf01a62e11c]
28
-link PurchaseDetail to Product--><g id="link_PurchaseDetail_Product"><path codeLine="128" d="M473.88,575.03 C455.33,595.1 436.01,616.01 419.32,634.08 " fill="none" id="PurchaseDetail-Product" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="419.191" x2="418.1655" y1="634.226" y2="644.1732"/><line style="stroke:#181818;stroke-width:1.0;" x1="419.191" x2="409.3545" y1="634.226" y2="636.0268"/><line style="stroke:#181818;stroke-width:1.0;" x1="419.191" x2="413.76" y1="634.226" y2="640.1"/><line style="stroke:#181818;stroke-width:1.0;" x1="423.4858" x2="417.6117" y1="635.4729" y2="630.042"/><line style="stroke:#181818;stroke-width:1.0;" x1="473.7375" x2="479.6115" y1="569.2815" y2="574.7125"/><line style="stroke:#181818;stroke-width:1.0;" x1="471.7009" x2="477.5749" y1="571.4843" y2="576.9153"/><line style="stroke:#181818;stroke-width:1.0;" x1="473.959" x2="479.39" y1="574.934" y2="569.06"/></g><!--MD5=[469537f6e6fbfad22558102ade648a2e]
29
-link StockProduct to Product--><g id="link_StockProduct_Product"><path codeLine="129" d="M373.2,568.85 C373.2,586.03 373.2,604.11 373.2,620.73 " fill="none" id="StockProduct-Product" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="373.2" x2="379.2" y1="620.76" y2="628.76"/><line style="stroke:#181818;stroke-width:1.0;" x1="373.2" x2="367.2" y1="620.76" y2="628.76"/><line style="stroke:#181818;stroke-width:1.0;" x1="373.2" x2="373.2" y1="620.76" y2="628.76"/><line style="stroke:#181818;stroke-width:1.0;" x1="377.2" x2="369.2" y1="618.76" y2="618.76"/><line style="stroke:#181818;stroke-width:1.0;" x1="369.2" x2="377.2" y1="564.66" y2="564.66"/><line style="stroke:#181818;stroke-width:1.0;" x1="369.2" x2="377.2" y1="567.66" y2="567.66"/><line style="stroke:#181818;stroke-width:1.0;" x1="373.2" x2="373.2" y1="568.66" y2="560.66"/></g><!--MD5=[5fa2e163e1a5922a0d0ebcb119c05bb7]
30
-link Product to Price--><g id="link_Product_Price"><path codeLine="130" d="M373.2,748.27 C373.2,762.84 373.2,778.51 373.2,793.55 " fill="none" id="Product-Price" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="377.2" x2="369.2" y1="796.88" y2="796.88"/><line style="stroke:#181818;stroke-width:1.0;" x1="377.2" x2="369.2" y1="793.88" y2="793.88"/><line style="stroke:#181818;stroke-width:1.0;" x1="373.2" x2="373.2" y1="792.88" y2="800.88"/><line style="stroke:#181818;stroke-width:1.0;" x1="369.2" x2="377.2" y1="745.1" y2="745.1"/><line style="stroke:#181818;stroke-width:1.0;" x1="369.2" x2="377.2" y1="748.1" y2="748.1"/><line style="stroke:#181818;stroke-width:1.0;" x1="373.2" x2="373.2" y1="749.1" y2="741.1"/></g><!--MD5=[63e112ec10337213cee8e8731547827f]
1
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="960px" preserveAspectRatio="none" style="width:789px;height:960px;background:#FFFFFF;" version="1.1" viewBox="0 0 789 960" width="789px" zoomAndPan="magnify"><defs/><g><!--MD5=[3fd616f346a44cd59a91eb10b19e157c]
2
+class User--><g id="elem_User"><rect codeLine="2" fill="#F1F1F1" height="152.5918" id="User" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="89" x="325.18" y="7"/><ellipse cx="352.78" cy="23" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M348.9206,28.5 L348.9206,17.2969 L356.9519,17.2969 L356.9519,19.1875 L351.3738,19.1875 L351.3738,21.8906 L356.4519,21.8906 L356.4519,23.7813 L351.3738,23.7813 L351.3738,26.6094 L357.2956,26.6094 L357.2956,28.5 L348.9206,28.5 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="29" x="369.58" y="28.0825">User</text><line style="stroke:#181818;stroke-width:0.5;" x1="326.18" x2="413.18" y1="39" y2="39"/><ellipse cx="336.18" cy="50" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="11" x="345.18" y="56.1318">id</text><line style="stroke:#181818;stroke-width:0.5;" x1="326.18" x2="413.18" y1="63.0986" y2="63.0986"/><ellipse cx="336.18" cy="74.0986" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="35" x="345.18" y="80.2305">name</text><ellipse cx="336.18" cy="90.1973" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="63" x="345.18" y="96.3291">username</text><ellipse cx="336.18" cy="106.2959" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="38" x="345.18" y="112.4277">status</text><ellipse cx="336.18" cy="122.3945" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="60" x="345.18" y="128.5264">password</text><line style="stroke:#181818;stroke-width:0.5;" x1="326.18" x2="413.18" y1="135.4932" y2="135.4932"/><ellipse cx="336.18" cy="146.4932" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="43" x="345.18" y="152.625">role_id</text></g><!--MD5=[a3638c1e5b65d287ecad7f06f5c0f212]
3
+class Role--><g id="elem_Role"><rect codeLine="13" fill="#F1F1F1" height="80.1973" id="Role" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="61" x="339.18" y="248"/><ellipse cx="354.18" cy="264" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M350.3206,269.5 L350.3206,258.2969 L358.3519,258.2969 L358.3519,260.1875 L352.7738,260.1875 L352.7738,262.8906 L357.8519,262.8906 L357.8519,264.7813 L352.7738,264.7813 L352.7738,267.6094 L358.6956,267.6094 L358.6956,269.5 L350.3206,269.5 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="29" x="368.18" y="269.0825">Role</text><line style="stroke:#181818;stroke-width:0.5;" x1="340.18" x2="399.18" y1="280" y2="280"/><ellipse cx="350.18" cy="291" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="11" x="359.18" y="297.1318">id</text><line style="stroke:#181818;stroke-width:0.5;" x1="340.18" x2="399.18" y1="304.0986" y2="304.0986"/><ellipse cx="350.18" cy="315.0986" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="35" x="359.18" y="321.2305">name</text></g><!--MD5=[2ce0c9fb7f55b1e256ab28a8ea6b25ec]
4
+class Customer--><g id="elem_Customer"><rect codeLine="19" fill="#F1F1F1" height="128.4932" id="Customer" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="93" x="107.18" y="19.5"/><ellipse cx="122.18" cy="35.5" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M118.3206,41 L118.3206,29.7969 L126.3519,29.7969 L126.3519,31.6875 L120.7738,31.6875 L120.7738,34.3906 L125.8519,34.3906 L125.8519,36.2813 L120.7738,36.2813 L120.7738,39.1094 L126.6956,39.1094 L126.6956,41 L118.3206,41 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="61" x="136.18" y="40.5825">Customer</text><line style="stroke:#181818;stroke-width:0.5;" x1="108.18" x2="199.18" y1="51.5" y2="51.5"/><ellipse cx="118.18" cy="62.5" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="11" x="127.18" y="68.6318">id</text><line style="stroke:#181818;stroke-width:0.5;" x1="108.18" x2="199.18" y1="75.5986" y2="75.5986"/><ellipse cx="118.18" cy="86.5986" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="35" x="127.18" y="92.7305">name</text><ellipse cx="118.18" cy="102.6973" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="51" x="127.18" y="108.8291">address</text><ellipse cx="118.18" cy="118.7959" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="40" x="127.18" y="124.9277">phone</text><ellipse cx="118.18" cy="134.8945" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="33" x="127.18" y="141.0264">npwp</text></g><!--MD5=[72136138052d025cffdce3c22fbd185f]
5
+class Product--><g id="elem_Product"><rect codeLine="28" fill="#F1F1F1" height="128.4932" id="Product" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="81" x="334.18" y="629"/><ellipse cx="349.18" cy="645" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M345.3206,650.5 L345.3206,639.2969 L353.3519,639.2969 L353.3519,641.1875 L347.7738,641.1875 L347.7738,643.8906 L352.8519,643.8906 L352.8519,645.7813 L347.7738,645.7813 L347.7738,648.6094 L353.6956,648.6094 L353.6956,650.5 L345.3206,650.5 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="49" x="363.18" y="650.0825">Product</text><line style="stroke:#181818;stroke-width:0.5;" x1="335.18" x2="414.18" y1="661" y2="661"/><ellipse cx="345.18" cy="672" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="11" x="354.18" y="678.1318">id</text><line style="stroke:#181818;stroke-width:0.5;" x1="335.18" x2="414.18" y1="685.0986" y2="685.0986"/><ellipse cx="345.18" cy="696.0986" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="48" x="354.18" y="702.2305">number</text><ellipse cx="345.18" cy="712.1973" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="35" x="354.18" y="718.3291">name</text><ellipse cx="345.18" cy="728.2959" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="23" x="354.18" y="734.4277">unit</text><ellipse cx="345.18" cy="744.3945" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="32" x="354.18" y="750.5264">profit</text></g><!--MD5=[6f6af049516bc56aac6e320b3234ce97]
6
+class Supplier--><g id="elem_Supplier"><rect codeLine="37" fill="#F1F1F1" height="144.5918" id="Supplier" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="84" x="605.68" y="11"/><ellipse cx="620.68" cy="27" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M616.8206,32.5 L616.8206,21.2969 L624.8519,21.2969 L624.8519,23.1875 L619.2738,23.1875 L619.2738,25.8906 L624.3519,25.8906 L624.3519,27.7813 L619.2738,27.7813 L619.2738,30.6094 L625.1956,30.6094 L625.1956,32.5 L616.8206,32.5 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="52" x="634.68" y="32.0825">Supplier</text><line style="stroke:#181818;stroke-width:0.5;" x1="606.68" x2="688.68" y1="43" y2="43"/><ellipse cx="616.68" cy="54" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="11" x="625.68" y="60.1318">id</text><line style="stroke:#181818;stroke-width:0.5;" x1="606.68" x2="688.68" y1="67.0986" y2="67.0986"/><ellipse cx="616.68" cy="78.0986" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="35" x="625.68" y="84.2305">name</text><ellipse cx="616.68" cy="94.1973" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="51" x="625.68" y="100.3291">address</text><ellipse cx="616.68" cy="110.2959" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="40" x="625.68" y="116.4277">phone</text><ellipse cx="616.68" cy="126.3945" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="33" x="625.68" y="132.5264">email</text><ellipse cx="616.68" cy="142.4932" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="33" x="625.68" y="148.625">npwp</text></g><!--MD5=[ca228764f84c38a6bbd29bae3074bbc7]
7
+class Purchase--><g id="elem_Purchase"><rect codeLine="47" fill="#F1F1F1" height="136.4932" id="Purchase" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="95" x="503.18" y="220"/><ellipse cx="519.53" cy="236" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M515.6706,241.5 L515.6706,230.2969 L523.7019,230.2969 L523.7019,232.1875 L518.1238,232.1875 L518.1238,234.8906 L523.2019,234.8906 L523.2019,236.7813 L518.1238,236.7813 L518.1238,239.6094 L524.0456,239.6094 L524.0456,241.5 L515.6706,241.5 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="60" x="533.83" y="241.0825">Purchase</text><line style="stroke:#181818;stroke-width:0.5;" x1="504.18" x2="597.18" y1="252" y2="252"/><ellipse cx="514.18" cy="263" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="11" x="523.18" y="269.1318">id</text><line style="stroke:#181818;stroke-width:0.5;" x1="504.18" x2="597.18" y1="276.0986" y2="276.0986"/><ellipse cx="514.18" cy="287.0986" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="48" x="523.18" y="293.2305">number</text><ellipse cx="514.18" cy="303.1973" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="38" x="523.18" y="309.3291">status</text><line style="stroke:#181818;stroke-width:0.5;" x1="504.18" x2="597.18" y1="316.2959" y2="316.2959"/><ellipse cx="514.18" cy="327.2959" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="69" x="523.18" y="333.4277">supplier_id</text><ellipse cx="514.18" cy="343.3945" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="47" x="523.18" y="349.5264">user_id</text></g><!--MD5=[e0bd77868626c22cfc0c5aeed1b8d67f]
8
+class Sale--><g id="elem_Sale"><rect codeLine="57" fill="#F1F1F1" height="136.4932" id="Sale" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="103" x="152.18" y="220"/><ellipse cx="186.53" cy="236" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M182.6706,241.5 L182.6706,230.2969 L190.7019,230.2969 L190.7019,232.1875 L185.1238,232.1875 L185.1238,234.8906 L190.2019,234.8906 L190.2019,236.7813 L185.1238,236.7813 L185.1238,239.6094 L191.0456,239.6094 L191.0456,241.5 L182.6706,241.5 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="28" x="204.83" y="241.0825">Sale</text><line style="stroke:#181818;stroke-width:0.5;" x1="153.18" x2="254.18" y1="252" y2="252"/><ellipse cx="163.18" cy="263" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="11" x="172.18" y="269.1318">id</text><line style="stroke:#181818;stroke-width:0.5;" x1="153.18" x2="254.18" y1="276.0986" y2="276.0986"/><ellipse cx="163.18" cy="287.0986" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="48" x="172.18" y="293.2305">number</text><ellipse cx="163.18" cy="303.1973" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="38" x="172.18" y="309.3291">status</text><line style="stroke:#181818;stroke-width:0.5;" x1="153.18" x2="254.18" y1="316.2959" y2="316.2959"/><ellipse cx="163.18" cy="327.2959" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="77" x="172.18" y="333.4277">customer_id</text><ellipse cx="163.18" cy="343.3945" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="47" x="172.18" y="349.5264">user_id</text></g><!--MD5=[0cfc926ac851c171b4800cdea9975fdf]
9
+class StockProduct--><g id="elem_StockProduct"><rect codeLine="67" fill="#F1F1F1" height="136.4932" id="StockProduct" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="141" x="304.18" y="424.5"/><ellipse cx="330.43" cy="440.5" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M326.5706,446 L326.5706,434.7969 L334.6019,434.7969 L334.6019,436.6875 L329.0238,436.6875 L329.0238,439.3906 L334.1019,439.3906 L334.1019,441.2813 L329.0238,441.2813 L329.0238,444.1094 L334.9456,444.1094 L334.9456,446 L326.5706,446 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="84" x="346.93" y="445.5825">StockProduct</text><line style="stroke:#181818;stroke-width:0.5;" x1="305.18" x2="444.18" y1="456.5" y2="456.5"/><ellipse cx="315.18" cy="467.5" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="11" x="324.18" y="473.6318">id</text><line style="stroke:#181818;stroke-width:0.5;" x1="305.18" x2="444.18" y1="480.5986" y2="480.5986"/><ellipse cx="315.18" cy="491.5986" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="115" x="324.18" y="497.7305">purchase_number</text><ellipse cx="315.18" cy="507.6973" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="82" x="324.18" y="513.8291">sale_number</text><ellipse cx="315.18" cy="523.7959" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="19" x="324.18" y="529.9277">qty</text><line style="stroke:#181818;stroke-width:0.5;" x1="305.18" x2="444.18" y1="536.8945" y2="536.8945"/><ellipse cx="315.18" cy="547.8945" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="104" x="324.18" y="554.0264">product_number</text></g><!--MD5=[a40a7ac4b423335b0d34bf16cf36e547]
10
+class Price--><g id="elem_Price"><rect codeLine="77" fill="#F1F1F1" height="136.4932" id="Price" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="130" x="309.68" y="817"/><ellipse cx="354.43" cy="833" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M350.5706,838.5 L350.5706,827.2969 L358.6019,827.2969 L358.6019,829.1875 L353.0238,829.1875 L353.0238,831.8906 L358.1019,831.8906 L358.1019,833.7813 L353.0238,833.7813 L353.0238,836.6094 L358.9456,836.6094 L358.9456,838.5 L350.5706,838.5 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="32" x="374.93" y="838.0825">Price</text><line style="stroke:#181818;stroke-width:0.5;" x1="310.68" x2="438.68" y1="849" y2="849"/><ellipse cx="320.68" cy="860" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="11" x="329.68" y="866.1318">id</text><line style="stroke:#181818;stroke-width:0.5;" x1="310.68" x2="438.68" y1="873.0986" y2="873.0986"/><ellipse cx="320.68" cy="884.0986" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="31" x="329.68" y="890.2305">price</text><line style="stroke:#181818;stroke-width:0.5;" x1="310.68" x2="438.68" y1="897.1973" y2="897.1973"/><ellipse cx="320.68" cy="908.1973" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="104" x="329.68" y="914.3291">product_number</text><ellipse cx="320.68" cy="924.2959" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="77" x="329.68" y="930.4277">customer_id</text><ellipse cx="320.68" cy="940.3945" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="69" x="329.68" y="946.5264">supplier_id</text></g><!--MD5=[680168ab3c03721c8f7b2302070ae319]
11
+class SaleDetail--><g id="elem_SaleDetail"><rect codeLine="87" fill="#F1F1F1" height="152.5918" id="SaleDetail" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="130" x="138.68" y="416"/><ellipse cx="168.98" cy="432" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M165.1206,437.5 L165.1206,426.2969 L173.1519,426.2969 L173.1519,428.1875 L167.5738,428.1875 L167.5738,430.8906 L172.6519,430.8906 L172.6519,432.7813 L167.5738,432.7813 L167.5738,435.6094 L173.4956,435.6094 L173.4956,437.5 L165.1206,437.5 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="64" x="186.38" y="437.0825">SaleDetail</text><line style="stroke:#181818;stroke-width:0.5;" x1="139.68" x2="267.68" y1="448" y2="448"/><ellipse cx="149.68" cy="459" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="11" x="158.68" y="465.1318">id</text><line style="stroke:#181818;stroke-width:0.5;" x1="139.68" x2="267.68" y1="472.0986" y2="472.0986"/><ellipse cx="149.68" cy="483.0986" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="31" x="158.68" y="489.2305">price</text><ellipse cx="149.68" cy="499.1973" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="24" x="158.68" y="505.3291">ppn</text><ellipse cx="149.68" cy="515.2959" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="19" x="158.68" y="521.4277">qty</text><line style="stroke:#181818;stroke-width:0.5;" x1="139.68" x2="267.68" y1="528.3945" y2="528.3945"/><ellipse cx="149.68" cy="539.3945" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="82" x="158.68" y="545.5264">sale_number</text><ellipse cx="149.68" cy="555.4932" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="104" x="158.68" y="561.625">product_number</text></g><!--MD5=[3d9bec551640ffb4a026cc7c78c25b79]
12
+class PurchaseDetail--><g id="elem_PurchaseDetail"><rect codeLine="98" fill="#F1F1F1" height="152.5918" id="PurchaseDetail" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="141" x="480.18" y="416"/><ellipse cx="501.03" cy="432" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M497.1706,437.5 L497.1706,426.2969 L505.2019,426.2969 L505.2019,428.1875 L499.6238,428.1875 L499.6238,430.8906 L504.7019,430.8906 L504.7019,432.7813 L499.6238,432.7813 L499.6238,435.6094 L505.5456,435.6094 L505.5456,437.5 L497.1706,437.5 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="96" x="516.33" y="437.0825">PurchaseDetail</text><line style="stroke:#181818;stroke-width:0.5;" x1="481.18" x2="620.18" y1="448" y2="448"/><ellipse cx="491.18" cy="459" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="11" x="500.18" y="465.1318">id</text><line style="stroke:#181818;stroke-width:0.5;" x1="481.18" x2="620.18" y1="472.0986" y2="472.0986"/><ellipse cx="491.18" cy="483.0986" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="31" x="500.18" y="489.2305">price</text><ellipse cx="491.18" cy="499.1973" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="24" x="500.18" y="505.3291">ppn</text><ellipse cx="491.18" cy="515.2959" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="19" x="500.18" y="521.4277">qty</text><line style="stroke:#181818;stroke-width:0.5;" x1="481.18" x2="620.18" y1="528.3945" y2="528.3945"/><ellipse cx="491.18" cy="539.3945" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="115" x="500.18" y="545.5264">purchase_number</text><ellipse cx="491.18" cy="555.4932" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="104" x="500.18" y="561.625">product_number</text></g><!--MD5=[c26ae6d58060a6dc125b0061a9f99778]
13
+class Ppn--><g id="elem_Ppn"><rect codeLine="109" fill="#F1F1F1" height="80.1973" id="Ppn" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="57" x="725.18" y="43.5"/><ellipse cx="740.18" cy="59.5" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M736.3206,65 L736.3206,53.7969 L744.3519,53.7969 L744.3519,55.6875 L738.7738,55.6875 L738.7738,58.3906 L743.8519,58.3906 L743.8519,60.2813 L738.7738,60.2813 L738.7738,63.1094 L744.6956,63.1094 L744.6956,65 L736.3206,65 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="25" x="754.18" y="64.5825">Ppn</text><line style="stroke:#181818;stroke-width:0.5;" x1="726.18" x2="781.18" y1="75.5" y2="75.5"/><ellipse cx="736.18" cy="86.5" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="11" x="745.18" y="92.6318">id</text><line style="stroke:#181818;stroke-width:0.5;" x1="726.18" x2="781.18" y1="99.5986" y2="99.5986"/><ellipse cx="736.18" cy="110.5986" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="24" x="745.18" y="116.7305">ppn</text></g><!--MD5=[70c37dc9bfbc8656942103c36f1181e4]
14
+link User to Role--><g id="link_User_Role"><path codeLine="115" d="M369.68,168.28 C369.68,192.59 369.68,218.27 369.68,239.51 " fill="none" id="User-Role" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="369.68" x2="375.68" y1="239.72" y2="247.72"/><line style="stroke:#181818;stroke-width:1.0;" x1="369.68" x2="363.68" y1="239.72" y2="247.72"/><line style="stroke:#181818;stroke-width:1.0;" x1="369.68" x2="369.68" y1="239.72" y2="247.72"/><line style="stroke:#181818;stroke-width:1.0;" x1="373.68" x2="365.68" y1="237.72" y2="237.72"/><line style="stroke:#181818;stroke-width:1.0;" x1="365.68" x2="373.68" y1="164.19" y2="164.19"/><line style="stroke:#181818;stroke-width:1.0;" x1="365.68" x2="373.68" y1="167.19" y2="167.19"/><line style="stroke:#181818;stroke-width:1.0;" x1="369.68" x2="369.68" y1="168.19" y2="160.19"/></g><!--MD5=[474f0e405c986647f348979b3d9bac30]
15
+link User to Purchase--><g id="link_User_Purchase"><path codeLine="116" d="M419.67,140.42 C443.91,167.54 473.04,200.13 497.67,227.69 " fill="none" id="User-Purchase" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="503.4946" x2="497.5319" y1="228.2019" y2="233.5354"/><line style="stroke:#181818;stroke-width:1.0;" x1="501.4945" x2="495.5318" y1="225.9659" y2="231.2994"/><line style="stroke:#181818;stroke-width:1.0;" x1="497.8465" x2="503.18" y1="227.8873" y2="233.85"/><line style="stroke:#181818;stroke-width:1.0;" x1="419.5235" x2="409.718" y1="140.2627" y2="138.3001"/><line style="stroke:#181818;stroke-width:1.0;" x1="419.5235" x2="418.662" y1="140.2627" y2="130.2999"/><line style="stroke:#181818;stroke-width:1.0;" x1="419.5235" x2="414.19" y1="140.2627" y2="134.3"/><line style="stroke:#181818;stroke-width:1.0;" x1="417.8756" x2="423.8382" y1="144.4201" y2="139.0866"/></g><!--MD5=[fa16bf6141e1c24f8824fff3082d1ce7]
16
+link User to Sale--><g id="link_User_Sale"><path codeLine="117" d="M319.86,145.28 C301.12,168.14 279.67,194.3 260.35,217.87 " fill="none" id="User-Sale" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="260.8593" x2="254.6728" y1="223.5628" y2="218.4907"/><line style="stroke:#181818;stroke-width:1.0;" x1="262.7614" x2="256.5748" y1="221.2428" y2="216.1707"/><line style="stroke:#181818;stroke-width:1.0;" x1="260.3021" x2="255.23" y1="217.9334" y2="224.12"/><line style="stroke:#181818;stroke-width:1.0;" x1="319.9079" x2="320.3401" y1="145.2166" y2="135.2259"/><line style="stroke:#181818;stroke-width:1.0;" x1="319.9079" x2="329.6199" y1="145.2166" y2="142.8341"/><line style="stroke:#181818;stroke-width:1.0;" x1="319.9079" x2="324.98" y1="145.2166" y2="139.03"/><line style="stroke:#181818;stroke-width:1.0;" x1="315.5466" x2="321.7331" y1="144.2271" y2="149.2993"/></g><!--MD5=[4e61cc6c8c4df3951b5a0cc721e44351]
17
+link Supplier to Purchase--><g id="link_Supplier_Purchase"><path codeLine="118" d="M609.83,163.53 C602.1,179.66 593.99,196.59 586.34,212.56 " fill="none" id="Supplier-Purchase" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="588.1958" x2="580.9814" y1="217.9414" y2="214.4842"/><line style="stroke:#181818;stroke-width:1.0;" x1="589.4923" x2="582.2778" y1="215.236" y2="211.7788"/><line style="stroke:#181818;stroke-width:1.0;" x1="586.3172" x2="582.86" y1="212.6056" y2="219.82"/><line style="stroke:#181818;stroke-width:1.0;" x1="609.8928" x2="607.9392" y1="163.3944" y2="153.5871"/><line style="stroke:#181818;stroke-width:1.0;" x1="609.8928" x2="618.7608" y1="163.3944" y2="158.7729"/><line style="stroke:#181818;stroke-width:1.0;" x1="609.8928" x2="613.35" y1="163.3944" y2="156.18"/><line style="stroke:#181818;stroke-width:1.0;" x1="605.4213" x2="612.6357" y1="163.4694" y2="166.9266"/></g><!--MD5=[8dbb028c2b05e4025f5d42a599ab93b5]
18
+link Supplier to Price--><g id="link_Supplier_Price"><path codeLine="119" d="M664.14,163.15 C681.54,259.82 702.67,428.36 672.68,569 C653.6,658.5 649.56,688.66 588.68,757 C549.71,800.75 491.97,833.79 446.29,855.19 " fill="none" id="Supplier-Price" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="445.232" x2="441.865" y1="860.075" y2="852.818"/><line style="stroke:#181818;stroke-width:1.0;" x1="447.9533" x2="444.5864" y1="858.8124" y2="851.5554"/><line style="stroke:#181818;stroke-width:1.0;" x1="447.177" x2="439.92" y1="854.763" y2="858.13"/><line style="stroke:#181818;stroke-width:1.0;" x1="659.6235" x2="667.4934" y1="160.6734" y2="159.2365"/><line style="stroke:#181818;stroke-width:1.0;" x1="660.1623" x2="668.0322" y1="163.6246" y2="162.1878"/><line style="stroke:#181818;stroke-width:1.0;" x1="664.2768" x2="662.84" y1="163.8899" y2="156.02"/></g><!--MD5=[d458a1e609d20b4df6a1b1701aeabf58]
19
+link Customer to Sale--><g id="link_Customer_Sale"><path codeLine="120" d="M171.24,155.62 C175.74,173.83 180.59,193.47 185.14,211.88 " fill="none" id="Customer-Sale" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="185.1433" x2="192.8852" y1="211.913" y2="218.2425"/><line style="stroke:#181818;stroke-width:1.0;" x1="185.1433" x2="181.2348" y1="211.913" y2="221.1175"/><line style="stroke:#181818;stroke-width:1.0;" x1="185.1433" x2="187.06" y1="211.913" y2="219.68"/><line style="stroke:#181818;stroke-width:1.0;" x1="188.5476" x2="180.7806" y1="209.0129" y2="210.9296"/><line style="stroke:#181818;stroke-width:1.0;" x1="166.3812" x2="174.1457" y1="152.5857" y2="150.6588"/><line style="stroke:#181818;stroke-width:1.0;" x1="167.1037" x2="174.8682" y1="155.4974" y2="153.5705"/><line style="stroke:#181818;stroke-width:1.0;" x1="171.2268" x2="169.3" y1="155.5045" y2="147.74"/></g><!--MD5=[ae2c05453d21049e7a5e02ab04069fb0]
20
+link Customer to Price--><g id="link_Customer_Price"><path codeLine="121" d="M127.01,154.51 C81.44,287.23 6,578.11 142.68,757 C182.72,809.4 250.84,842.97 302.95,862.36 " fill="none" id="Customer-Price" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="307.1648" x2="304.406" y1="859.626" y2="867.1352"/><line style="stroke:#181818;stroke-width:1.0;" x1="304.3488" x2="301.59" y1="858.5914" y2="866.1006"/><line style="stroke:#181818;stroke-width:1.0;" x1="302.0307" x2="309.54" y1="862.0012" y2="864.76"/><line style="stroke:#181818;stroke-width:1.0;" x1="124.3429" x2="131.9041" y1="150.0141" y2="152.6271"/><line style="stroke:#181818;stroke-width:1.0;" x1="123.363" x2="130.9243" y1="152.8496" y2="155.4626"/><line style="stroke:#181818;stroke-width:1.0;" x1="126.817" x2="129.43" y1="155.1012" y2="147.54"/></g><!--MD5=[1b8181cc673ea47d6cea814c6d86a94d]
21
+link Sale to SaleDetail--><g id="link_Sale_SaleDetail"><path codeLine="122" d="M203.68,363.39 C203.68,378.07 203.68,393.56 203.68,408.5 " fill="none" id="Sale-SaleDetail" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="207.68" x2="199.68" y1="411.79" y2="411.79"/><line style="stroke:#181818;stroke-width:1.0;" x1="207.68" x2="199.68" y1="408.79" y2="408.79"/><line style="stroke:#181818;stroke-width:1.0;" x1="203.68" x2="203.68" y1="407.79" y2="415.79"/><line style="stroke:#181818;stroke-width:1.0;" x1="199.68" x2="207.68" y1="360.15" y2="360.15"/><line style="stroke:#181818;stroke-width:1.0;" x1="199.68" x2="207.68" y1="363.15" y2="363.15"/><line style="stroke:#181818;stroke-width:1.0;" x1="203.68" x2="203.68" y1="364.15" y2="356.15"/></g><!--MD5=[fd58fb4015992d940e1d5ff8549f8c35]
22
+link Sale to Price--><g id="link_Sale_Price"><path codeLine="123" d="M148.25,358.24 C136.93,376.07 126.66,395.93 120.68,416 C101.28,481.17 98.05,504.88 120.68,569 C156.96,671.77 242.55,765.67 304.36,823.7 " fill="none" id="Sale-Price" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="309.3239" x2="303.8665" y1="822.8565" y2="828.7061"/><line style="stroke:#181818;stroke-width:1.0;" x1="307.1304" x2="301.673" y1="820.81" y2="826.6596"/><line style="stroke:#181818;stroke-width:1.0;" x1="303.6705" x2="309.52" y1="823.0526" y2="828.51"/><line style="stroke:#181818;stroke-width:1.0;" x1="146.5966" x2="153.3052" y1="353.4452" y2="357.8034"/><line style="stroke:#181818;stroke-width:1.0;" x1="144.9623" x2="151.6709" y1="355.961" y2="360.3192"/><line style="stroke:#181818;stroke-width:1.0;" x1="147.7718" x2="152.13" y1="358.9787" y2="352.27"/></g><!--MD5=[c0e5a52b16fbcef22495159b374d909e]
23
+link Purchase to PurchaseDetail--><g id="link_Purchase_PurchaseDetail"><path codeLine="124" d="M550.68,363.39 C550.68,378.07 550.68,393.56 550.68,408.5 " fill="none" id="Purchase-PurchaseDetail" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="554.68" x2="546.68" y1="411.79" y2="411.79"/><line style="stroke:#181818;stroke-width:1.0;" x1="554.68" x2="546.68" y1="408.79" y2="408.79"/><line style="stroke:#181818;stroke-width:1.0;" x1="550.68" x2="550.68" y1="407.79" y2="415.79"/><line style="stroke:#181818;stroke-width:1.0;" x1="546.68" x2="554.68" y1="360.15" y2="360.15"/><line style="stroke:#181818;stroke-width:1.0;" x1="546.68" x2="554.68" y1="363.15" y2="363.15"/><line style="stroke:#181818;stroke-width:1.0;" x1="550.68" x2="550.68" y1="364.15" y2="356.15"/></g><!--MD5=[9aab0b89b89995cf669aab5ed34799da]
24
+link Purchase to Price--><g id="link_Purchase_Price"><path codeLine="125" d="M602.67,348.16 C617.24,368.32 631.15,391.88 638.68,416 C658.97,480.9 661.92,505.09 638.68,569 C600.38,674.34 509.68,769.01 445.31,826.44 " fill="none" id="Purchase-Price" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="445.5965" x2="440.2927" y1="831.5327" y2="825.5435"/><line style="stroke:#181818;stroke-width:1.0;" x1="447.8424" x2="442.5386" y1="829.5438" y2="823.5546"/><line style="stroke:#181818;stroke-width:1.0;" x1="445.9392" x2="439.95" y1="825.8862" y2="831.19"/><line style="stroke:#181818;stroke-width:1.0;" x1="597.4989" x2="603.934" y1="347.894" y2="343.1411"/><line style="stroke:#181818;stroke-width:1.0;" x1="599.2812" x2="605.7163" y1="350.3071" y2="345.5543"/><line style="stroke:#181818;stroke-width:1.0;" x1="603.0928" x2="598.34" y1="348.7351" y2="342.3"/></g><!--MD5=[d9346253e56b18202ac3beab23dddd24]
25
+link Purchase to StockProduct--><g id="link_Purchase_StockProduct"><path codeLine="126" d="M497.67,350 C479.03,371.45 457.89,395.77 438.46,418.12 " fill="none" id="Purchase-StockProduct" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="438.2727" x2="437.562" y1="418.3273" y2="428.302"/><line style="stroke:#181818;stroke-width:1.0;" x1="438.2727" x2="428.498" y1="418.3273" y2="420.438"/><line style="stroke:#181818;stroke-width:1.0;" x1="438.2727" x2="433.03" y1="418.3273" y2="424.37"/><line style="stroke:#181818;stroke-width:1.0;" x1="442.6047" x2="436.562" y1="419.438" y2="414.1953"/><line style="stroke:#181818;stroke-width:1.0;" x1="497.4168" x2="503.4534" y1="344.1934" y2="349.4432"/><line style="stroke:#181818;stroke-width:1.0;" x1="495.4482" x2="501.4847" y1="346.4571" y2="351.7069"/><line style="stroke:#181818;stroke-width:1.0;" x1="497.8102" x2="503.06" y1="349.8365" y2="343.8"/></g><!--MD5=[cc8c2cf61c441007fd82fc98c1838a15]
26
+link SaleDetail to Product--><g id="link_SaleDetail_Product"><path codeLine="127" d="M274.24,575.41 C292.6,596.72 311.91,619.13 328.64,638.55 " fill="none" id="SaleDetail-Product" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="328.7678" x2="338.5318" y1="638.681" y2="640.8408"/><line style="stroke:#181818;stroke-width:1.0;" x1="328.7678" x2="329.4282" y1="638.681" y2="648.6592"/><line style="stroke:#181818;stroke-width:1.0;" x1="328.7678" x2="333.98" y1="638.681" y2="644.75"/><line style="stroke:#181818;stroke-width:1.0;" x1="330.4992" x2="324.4302" y1="634.5576" y2="639.7698"/><line style="stroke:#181818;stroke-width:1.0;" x1="268.4058" x2="274.4617" y1="574.7517" y2="569.5242"/><line style="stroke:#181818;stroke-width:1.0;" x1="270.3661" x2="276.422" y1="577.0226" y2="571.7951"/><line style="stroke:#181818;stroke-width:1.0;" x1="274.0475" x2="268.82" y1="575.1659" y2="569.11"/></g><!--MD5=[5a75ef0720b826a25eafd7a682d30a1b]
27
+link Sale to StockProduct--><g id="link_Sale_StockProduct"><path codeLine="128" d="M260.62,356.42 C277.31,376.19 295.65,397.91 312.65,418.04 " fill="none" id="Sale-StockProduct" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="312.7221" x2="322.4664" y1="418.1148" y2="420.3616"/><line style="stroke:#181818;stroke-width:1.0;" x1="312.7221" x2="313.2936" y1="418.1148" y2="428.0984"/><line style="stroke:#181818;stroke-width:1.0;" x1="312.7221" x2="317.88" y1="418.1148" y2="424.23"/><line style="stroke:#181818;stroke-width:1.0;" x1="314.4902" x2="308.375" y1="414.007" y2="419.1649"/><line style="stroke:#181818;stroke-width:1.0;" x1="254.7414" x2="260.8566" y1="355.6666" y2="350.5086"/><line style="stroke:#181818;stroke-width:1.0;" x1="256.6756" x2="262.7908" y1="357.9598" y2="352.8018"/><line style="stroke:#181818;stroke-width:1.0;" x1="260.3779" x2="255.22" y1="356.1452" y2="350.03"/></g><!--MD5=[636c4cbf2bb40ce634cacaf01a62e11c]
28
+link PurchaseDetail to Product--><g id="link_PurchaseDetail_Product"><path codeLine="129" d="M478.21,575.23 C458.75,597.19 438.24,620.32 420.65,640.16 " fill="none" id="PurchaseDetail-Product" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="420.5934" x2="419.7821" y1="640.2105" y2="650.1775"/><line style="stroke:#181818;stroke-width:1.0;" x1="420.5934" x2="410.7979" y1="640.2105" y2="642.2225"/><line style="stroke:#181818;stroke-width:1.0;" x1="420.5934" x2="415.29" y1="640.2105" y2="646.2"/><line style="stroke:#181818;stroke-width:1.0;" x1="424.914" x2="418.9244" y1="641.3648" y2="636.0614"/><line style="stroke:#181818;stroke-width:1.0;" x1="477.9936" x2="483.9831" y1="569.4531" y2="574.7564"/><line style="stroke:#181818;stroke-width:1.0;" x1="476.0048" x2="481.9943" y1="571.6991" y2="577.0025"/><line style="stroke:#181818;stroke-width:1.0;" x1="478.3366" x2="483.64" y1="575.0995" y2="569.11"/></g><!--MD5=[469537f6e6fbfad22558102ade648a2e]
29
+link StockProduct to Product--><g id="link_StockProduct_Product"><path codeLine="130" d="M374.68,568.81 C374.68,585.83 374.68,603.86 374.68,620.72 " fill="none" id="StockProduct-Product" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="374.68" x2="380.68" y1="620.89" y2="628.89"/><line style="stroke:#181818;stroke-width:1.0;" x1="374.68" x2="368.68" y1="620.89" y2="628.89"/><line style="stroke:#181818;stroke-width:1.0;" x1="374.68" x2="374.68" y1="620.89" y2="628.89"/><line style="stroke:#181818;stroke-width:1.0;" x1="378.68" x2="370.68" y1="618.89" y2="618.89"/><line style="stroke:#181818;stroke-width:1.0;" x1="370.68" x2="378.68" y1="564.7" y2="564.7"/><line style="stroke:#181818;stroke-width:1.0;" x1="370.68" x2="378.68" y1="567.7" y2="567.7"/><line style="stroke:#181818;stroke-width:1.0;" x1="374.68" x2="374.68" y1="568.7" y2="560.7"/></g><!--MD5=[5fa2e163e1a5922a0d0ebcb119c05bb7]
30
+link Product to Price--><g id="link_Product_Price"><path codeLine="131" d="M374.68,764.3 C374.68,779.09 374.68,794.73 374.68,809.66 " fill="none" id="Product-Price" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="378.68" x2="370.68" y1="812.93" y2="812.93"/><line style="stroke:#181818;stroke-width:1.0;" x1="378.68" x2="370.68" y1="809.93" y2="809.93"/><line style="stroke:#181818;stroke-width:1.0;" x1="374.68" x2="374.68" y1="808.93" y2="816.93"/><line style="stroke:#181818;stroke-width:1.0;" x1="370.68" x2="378.68" y1="761" y2="761"/><line style="stroke:#181818;stroke-width:1.0;" x1="370.68" x2="378.68" y1="764" y2="764"/><line style="stroke:#181818;stroke-width:1.0;" x1="374.68" x2="374.68" y1="765" y2="757"/></g><!--MD5=[64b2795114cf89c88947b63cdc960ebf]
31 31
 @startuml Database
32 32
 
33 33
 entity User {
@@ -62,6 +62,7 @@ entity Product {
62 62
   * number
63 63
   * name
64 64
   * unit
65
+  * profit
65 66
 }
66 67
 
67 68
 entity Supplier {