Explorar el Código

fix: database migrations

Muhammad Iqbal Afandi hace 3 años
padre
commit
e1fff884db

+ 0
- 1
app/Http/Controllers/ProductController.php Ver fichero

@@ -6,7 +6,6 @@ use App\Http\Requests\Product\StoreProductRequest;
6 6
 use App\Http\Requests\Product\UpdateProductRequest;
7 7
 use App\Models\Product;
8 8
 use App\Services\ProductService;
9
-use Inertia\Inertia;
10 9
 
11 10
 class ProductController extends Controller
12 11
 {

+ 3
- 3
database/migrations/2022_06_16_092657_create_stock_products_table.php Ver fichero

@@ -15,9 +15,9 @@ return new class extends Migration
15 15
     {
16 16
         Schema::create('stock_products', function (Blueprint $table) {
17 17
             $table->id();
18
-            $table->string('purchase_number');
19
-            $table->string('sale_number');
20
-            $table->integer('amount');
18
+            $table->string('purchase_number')->nullable();
19
+            $table->string('sale_number')->nullable();
20
+            $table->integer('qty');
21 21
             $table->string('product_number');
22 22
             $table->foreign('product_number')->references('number')->on('products');
23 23
             $table->timestamps();

+ 2
- 2
database/migrations/2022_06_17_115146_create_prices_table.php Ver fichero

@@ -18,8 +18,8 @@ return new class extends Migration
18 18
             $table->unsignedBigInteger('price');
19 19
             $table->string('product_number');
20 20
             $table->foreign('product_number')->references('number')->on('products');
21
-            $table->foreignId('customer_id')->constrained();
22
-            $table->foreignId('supplier_id')->constrained();
21
+            $table->foreignId('customer_id')->nullable()->constrained();
22
+            $table->foreignId('supplier_id')->nullable()->constrained();
23 23
             $table->timestamps();
24 24
         });
25 25
     }

+ 24
- 12
designs/diagrams/database.puml Ver fichero

@@ -7,7 +7,7 @@ entity User {
7 7
   * username
8 8
   * status
9 9
   * password
10
-  _
10
+  __
11 11
   * role_id
12 12
 }
13 13
 
@@ -54,7 +54,7 @@ entity Purchase {
54 54
   * user_id
55 55
 }
56 56
 
57
-entity Sales {
57
+entity Sale {
58 58
   * id
59 59
   __
60 60
   * number
@@ -69,7 +69,7 @@ entity StockProduct {
69 69
   __
70 70
   * purchase_number
71 71
   * sale_number
72
-  * amount
72
+  * qty
73 73
   __
74 74
   * product_number
75 75
 }
@@ -106,14 +106,26 @@ entity PurchaseDetail {
106 106
   * product_number
107 107
 }
108 108
 
109
-User ||--|{ Role
110
-Purchase ||--|{ Supplier
111
-Purchase ||--|{ User
112
-Sales ||--|{ Customer
113
-Sales ||--|{ User
114
-StockProduct ||--|{ Product
115
-PurchaseDetail ||--|{ Purchase
116
-PurchaseDetail ||--|{ Product
117
-SaleDetail ||--|| Sales
109
+entity Ppn {
110
+  * id
111
+  __
112
+  * ppn
113
+}
114
+
115
+Role }|--|| User
116
+User }|--|| Purchase
117
+User }|--|| Sale
118
+Supplier }|--|| Purchase
119
+Supplier ||--|| Price
120
+Customer ||--|{ Sale
121
+Customer ||--|| Price
122
+Sale }|--|| SaleDetail
123
+Sale ||--|| Price
124
+Purchase }|--|| PurchaseDetail
125
+Purchase ||--|| Price
126
+PurchaseDetail ||--|{ StockProduct
118 127
 SaleDetail ||--|{ Product
128
+SaleDetail ||--|{ StockProduct
129
+PurchaseDetail ||--|{ Product
130
+StockProduct ||--|{ Product
119 131
 Product ||--|| Price

BIN
designs/diagrams/database/Database.png Ver fichero


+ 54
- 35
designs/diagrams/database/Database.svg Ver fichero

@@ -1,26 +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="724px" preserveAspectRatio="none" style="width:573px;height:724px;background:#FFFFFF;" version="1.1" viewBox="0 0 573 724" width="573px" zoomAndPan="magnify"><defs/><g><!--MD5=[3fd616f346a44cd59a91eb10b19e157c]
2
-class User--><g id="elem_User"><rect codeLine="2" fill="#F1F1F1" height="160.6904" id="User" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="89" x="349" y="416"/><ellipse cx="376.6" cy="432" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M372.7406,437.5 L372.7406,426.2969 L380.7719,426.2969 L380.7719,428.1875 L375.1938,428.1875 L375.1938,430.8906 L380.2719,430.8906 L380.2719,432.7813 L375.1938,432.7813 L375.1938,435.6094 L381.1156,435.6094 L381.1156,437.5 L372.7406,437.5 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="29" x="393.4" y="437.0825">User</text><line style="stroke:#181818;stroke-width:0.5;" x1="350" x2="437" y1="448" y2="448"/><ellipse cx="360" 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="369" y="465.1318">id</text><line style="stroke:#181818;stroke-width:0.5;" x1="350" x2="437" y1="472.0986" y2="472.0986"/><ellipse cx="360" 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="35" x="369" y="489.2305">name</text><ellipse cx="360" 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="63" x="369" y="505.3291">username</text><ellipse cx="360" 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="38" x="369" y="521.4277">status</text><ellipse cx="360" cy="531.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="369" y="537.5264">password</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="8" x="369" y="553.625">_</text><ellipse cx="360" cy="563.5918" 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="369" y="569.7236">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="363" y="637"/><ellipse cx="378" cy="653" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M374.1406,658.5 L374.1406,647.2969 L382.1719,647.2969 L382.1719,649.1875 L376.5938,649.1875 L376.5938,651.8906 L381.6719,651.8906 L381.6719,653.7813 L376.5938,653.7813 L376.5938,656.6094 L382.5156,656.6094 L382.5156,658.5 L374.1406,658.5 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="29" x="392" y="658.0825">Role</text><line style="stroke:#181818;stroke-width:0.5;" x1="364" x2="423" y1="669" y2="669"/><ellipse cx="374" cy="680" 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="383" y="686.1318">id</text><line style="stroke:#181818;stroke-width:0.5;" x1="364" x2="423" y1="693.0986" y2="693.0986"/><ellipse cx="374" cy="704.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="383" y="710.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="473" y="432.5"/><ellipse cx="488" cy="448.5" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M484.1406,454 L484.1406,442.7969 L492.1719,442.7969 L492.1719,444.6875 L486.5938,444.6875 L486.5938,447.3906 L491.6719,447.3906 L491.6719,449.2813 L486.5938,449.2813 L486.5938,452.1094 L492.5156,452.1094 L492.5156,454 L484.1406,454 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="61" x="502" y="453.5825">Customer</text><line style="stroke:#181818;stroke-width:0.5;" x1="474" x2="565" y1="464.5" y2="464.5"/><ellipse cx="484" cy="475.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="493" y="481.6318">id</text><line style="stroke:#181818;stroke-width:0.5;" x1="474" x2="565" y1="488.5986" y2="488.5986"/><ellipse cx="484" cy="499.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="493" y="505.7305">name</text><ellipse cx="484" cy="515.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="493" y="521.8291">address</text><ellipse cx="484" cy="531.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="493" y="537.9277">phone</text><ellipse cx="484" 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="33" x="493" y="554.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="98" y="232"/><ellipse cx="113" cy="248" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M109.1406,253.5 L109.1406,242.2969 L117.1719,242.2969 L117.1719,244.1875 L111.5938,244.1875 L111.5938,246.8906 L116.6719,246.8906 L116.6719,248.7813 L111.5938,248.7813 L111.5938,251.6094 L117.5156,251.6094 L117.5156,253.5 L109.1406,253.5 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="49" x="127" y="253.0825">Product</text><line style="stroke:#181818;stroke-width:0.5;" x1="99" x2="178" y1="264" y2="264"/><ellipse cx="109" cy="275" 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="118" y="281.1318">id</text><line style="stroke:#181818;stroke-width:0.5;" x1="99" x2="178" y1="288.0986" y2="288.0986"/><ellipse cx="109" cy="299.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="118" y="305.2305">number</text><ellipse cx="109" cy="315.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="118" y="321.3291">name</text><ellipse cx="109" cy="331.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="118" y="337.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="229.5" y="424"/><ellipse cx="244.5" cy="440" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M240.6406,445.5 L240.6406,434.2969 L248.6719,434.2969 L248.6719,436.1875 L243.0938,436.1875 L243.0938,438.8906 L248.1719,438.8906 L248.1719,440.7813 L243.0938,440.7813 L243.0938,443.6094 L249.0156,443.6094 L249.0156,445.5 L240.6406,445.5 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="52" x="258.5" y="445.0825">Supplier</text><line style="stroke:#181818;stroke-width:0.5;" x1="230.5" x2="312.5" y1="456" y2="456"/><ellipse cx="240.5" cy="467" 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="249.5" y="473.1318">id</text><line style="stroke:#181818;stroke-width:0.5;" x1="230.5" x2="312.5" y1="480.0986" y2="480.0986"/><ellipse cx="240.5" cy="491.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="249.5" y="497.2305">name</text><ellipse cx="240.5" cy="507.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="249.5" y="513.3291">address</text><ellipse cx="240.5" cy="523.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="249.5" y="529.4277">phone</text><ellipse cx="240.5" 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="33" x="249.5" y="545.5264">email</text><ellipse cx="240.5" 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="33" x="249.5" y="561.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="224" y="220"/><ellipse cx="240.35" cy="236" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M236.4906,241.5 L236.4906,230.2969 L244.5219,230.2969 L244.5219,232.1875 L238.9438,232.1875 L238.9438,234.8906 L244.0219,234.8906 L244.0219,236.7813 L238.9438,236.7813 L238.9438,239.6094 L244.8656,239.6094 L244.8656,241.5 L236.4906,241.5 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="60" x="254.65" y="241.0825">Purchase</text><line style="stroke:#181818;stroke-width:0.5;" x1="225" x2="318" y1="252" y2="252"/><ellipse cx="235" 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="244" y="269.1318">id</text><line style="stroke:#181818;stroke-width:0.5;" x1="225" x2="318" y1="276.0986" y2="276.0986"/><ellipse cx="235" 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="244" y="293.2305">number</text><ellipse cx="235" 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="244" y="309.3291">status</text><line style="stroke:#181818;stroke-width:0.5;" x1="225" x2="318" y1="316.2959" y2="316.2959"/><ellipse cx="235" 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="244" y="333.4277">supplier_id</text><ellipse cx="235" 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="244" y="349.5264">user_id</text></g><!--MD5=[b6587b47cb08bf742060086bd1cd0b7e]
8
-class Sales--><g id="elem_Sales"><rect codeLine="56" fill="#F1F1F1" height="136.4932" id="Sales" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="103" x="373" y="220"/><ellipse cx="404.2" cy="236" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M400.3406,241.5 L400.3406,230.2969 L408.3719,230.2969 L408.3719,232.1875 L402.7938,232.1875 L402.7938,234.8906 L407.8719,234.8906 L407.8719,236.7813 L402.7938,236.7813 L402.7938,239.6094 L408.7156,239.6094 L408.7156,241.5 L400.3406,241.5 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="35" x="421.8" y="241.0825">Sales</text><line style="stroke:#181818;stroke-width:0.5;" x1="374" x2="475" y1="252" y2="252"/><ellipse cx="384" 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="393" y="269.1318">id</text><line style="stroke:#181818;stroke-width:0.5;" x1="374" x2="475" y1="276.0986" y2="276.0986"/><ellipse cx="384" 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="393" y="293.2305">number</text><ellipse cx="384" 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="393" y="309.3291">status</text><line style="stroke:#181818;stroke-width:0.5;" x1="374" x2="475" y1="316.2959" y2="316.2959"/><ellipse cx="384" 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="393" y="333.4277">customer_id</text><ellipse cx="384" 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="393" 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="7" y="15.5"/><ellipse cx="33.25" cy="31.5" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M29.3906,37 L29.3906,25.7969 L37.4219,25.7969 L37.4219,27.6875 L31.8438,27.6875 L31.8438,30.3906 L36.9219,30.3906 L36.9219,32.2813 L31.8438,32.2813 L31.8438,35.1094 L37.7656,35.1094 L37.7656,37 L29.3906,37 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="84" x="49.75" y="36.5825">StockProduct</text><line style="stroke:#181818;stroke-width:0.5;" x1="8" x2="147" y1="47.5" y2="47.5"/><ellipse cx="18" cy="58.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="27" y="64.6318">id</text><line style="stroke:#181818;stroke-width:0.5;" x1="8" x2="147" y1="71.5986" y2="71.5986"/><ellipse cx="18" cy="82.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="27" y="88.7305">purchase_number</text><ellipse cx="18" cy="98.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="27" y="104.8291">sale_number</text><ellipse cx="18" cy="114.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="47" x="27" y="120.9277">amount</text><line style="stroke:#181818;stroke-width:0.5;" x1="8" x2="147" y1="127.8945" y2="127.8945"/><ellipse cx="18" cy="138.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="27" y="145.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="64.5" y="428.5"/><ellipse cx="109.25" cy="444.5" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M105.3906,450 L105.3906,438.7969 L113.4219,438.7969 L113.4219,440.6875 L107.8438,440.6875 L107.8438,443.3906 L112.9219,443.3906 L112.9219,445.2813 L107.8438,445.2813 L107.8438,448.1094 L113.7656,448.1094 L113.7656,450 L105.3906,450 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="32" x="129.75" y="449.5825">Price</text><line style="stroke:#181818;stroke-width:0.5;" x1="65.5" x2="193.5" y1="460.5" y2="460.5"/><ellipse cx="75.5" cy="471.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="84.5" y="477.6318">id</text><line style="stroke:#181818;stroke-width:0.5;" x1="65.5" x2="193.5" y1="484.5986" y2="484.5986"/><ellipse cx="75.5" cy="495.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="31" x="84.5" y="501.7305">price</text><line style="stroke:#181818;stroke-width:0.5;" x1="65.5" x2="193.5" y1="508.6973" y2="508.6973"/><ellipse cx="75.5" cy="519.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="104" x="84.5" y="525.8291">product_number</text><ellipse cx="75.5" cy="535.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="77" x="84.5" y="541.9277">customer_id</text><ellipse cx="75.5" cy="551.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="69" x="84.5" y="558.0264">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="359.5" y="7"/><ellipse cx="389.8" cy="23" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M385.9406,28.5 L385.9406,17.2969 L393.9719,17.2969 L393.9719,19.1875 L388.3938,19.1875 L388.3938,21.8906 L393.4719,21.8906 L393.4719,23.7813 L388.3938,23.7813 L388.3938,26.6094 L394.3156,26.6094 L394.3156,28.5 L385.9406,28.5 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="64" x="407.2" y="28.0825">SaleDetail</text><line style="stroke:#181818;stroke-width:0.5;" x1="360.5" x2="488.5" y1="39" y2="39"/><ellipse cx="370.5" 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="379.5" y="56.1318">id</text><line style="stroke:#181818;stroke-width:0.5;" x1="360.5" x2="488.5" y1="63.0986" y2="63.0986"/><ellipse cx="370.5" 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="31" x="379.5" y="80.2305">price</text><ellipse cx="370.5" 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="24" x="379.5" y="96.3291">ppn</text><ellipse cx="370.5" 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="19" x="379.5" y="112.4277">qty</text><line style="stroke:#181818;stroke-width:0.5;" x1="360.5" x2="488.5" y1="119.3945" y2="119.3945"/><ellipse cx="370.5" cy="130.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="379.5" y="136.5264">sale_number</text><ellipse cx="370.5" 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="104" x="379.5" y="152.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="183" y="7"/><ellipse cx="203.85" cy="23" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M199.9906,28.5 L199.9906,17.2969 L208.0219,17.2969 L208.0219,19.1875 L202.4438,19.1875 L202.4438,21.8906 L207.5219,21.8906 L207.5219,23.7813 L202.4438,23.7813 L202.4438,26.6094 L208.3656,26.6094 L208.3656,28.5 L199.9906,28.5 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="96" x="219.15" y="28.0825">PurchaseDetail</text><line style="stroke:#181818;stroke-width:0.5;" x1="184" x2="323" y1="39" y2="39"/><ellipse cx="194" 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="203" y="56.1318">id</text><line style="stroke:#181818;stroke-width:0.5;" x1="184" x2="323" y1="63.0986" y2="63.0986"/><ellipse cx="194" 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="31" x="203" y="80.2305">price</text><ellipse cx="194" 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="24" x="203" y="96.3291">ppn</text><ellipse cx="194" 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="19" x="203" y="112.4277">qty</text><line style="stroke:#181818;stroke-width:0.5;" x1="184" x2="323" y1="119.3945" y2="119.3945"/><ellipse cx="194" cy="130.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="203" y="136.5264">purchase_number</text><ellipse cx="194" 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="104" x="203" y="152.625">product_number</text></g><!--MD5=[70c37dc9bfbc8656942103c36f1181e4]
13
-link User to Role--><g id="link_User_Role"><path codeLine="108" d="M393.5,585.34 C393.5,600.24 393.5,615.19 393.5,628.53 " fill="none" id="User-Role" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="393.5" x2="399.5" y1="628.62" y2="636.62"/><line style="stroke:#181818;stroke-width:1.0;" x1="393.5" x2="387.5" y1="628.62" y2="636.62"/><line style="stroke:#181818;stroke-width:1.0;" x1="393.5" x2="393.5" y1="628.62" y2="636.62"/><line style="stroke:#181818;stroke-width:1.0;" x1="397.5" x2="389.5" y1="626.62" y2="626.62"/><line style="stroke:#181818;stroke-width:1.0;" x1="389.5" x2="397.5" y1="581.09" y2="581.09"/><line style="stroke:#181818;stroke-width:1.0;" x1="389.5" x2="397.5" y1="584.09" y2="584.09"/><line style="stroke:#181818;stroke-width:1.0;" x1="393.5" x2="393.5" y1="585.09" y2="577.09"/></g><!--MD5=[47449b9f044e3634f406bd4441e700dd]
14
-link Purchase to Supplier--><g id="link_Purchase_Supplier"><path codeLine="109" d="M271.5,364.28 C271.5,380.97 271.5,398.73 271.5,415.61 " fill="none" id="Purchase-Supplier" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="271.5" x2="277.5" y1="415.81" y2="423.81"/><line style="stroke:#181818;stroke-width:1.0;" x1="271.5" x2="265.5" y1="415.81" y2="423.81"/><line style="stroke:#181818;stroke-width:1.0;" x1="271.5" x2="271.5" y1="415.81" y2="423.81"/><line style="stroke:#181818;stroke-width:1.0;" x1="275.5" x2="267.5" y1="413.81" y2="413.81"/><line style="stroke:#181818;stroke-width:1.0;" x1="267.5" x2="275.5" y1="360.04" y2="360.04"/><line style="stroke:#181818;stroke-width:1.0;" x1="267.5" x2="275.5" y1="363.04" y2="363.04"/><line style="stroke:#181818;stroke-width:1.0;" x1="271.5" x2="271.5" y1="364.04" y2="356.04"/></g><!--MD5=[908832567ff15e3f47de674b99e285bc]
15
-link Purchase to User--><g id="link_Purchase_User"><path codeLine="110" d="M315.39,363.29 C324.89,379.38 335,396.49 344.68,412.87 " fill="none" id="Purchase-User" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="344.7282" x2="353.9647" y1="412.9537" y2="416.7862"/><line style="stroke:#181818;stroke-width:1.0;" x1="344.7282" x2="343.6353" y1="412.9537" y2="422.8938"/><line style="stroke:#181818;stroke-width:1.0;" x1="344.7282" x2="348.8" y1="412.9537" y2="419.84"/><line style="stroke:#181818;stroke-width:1.0;" x1="347.1534" x2="340.2672" y1="409.1963" y2="413.268"/><line style="stroke:#181818;stroke-width:1.0;" x1="309.7027" x2="316.589" y1="361.519" y2="357.4473"/><line style="stroke:#181818;stroke-width:1.0;" x1="311.2297" x2="318.1159" y1="364.1014" y2="360.0296"/><line style="stroke:#181818;stroke-width:1.0;" x1="315.1818" x2="311.11" y1="362.9263" y2="356.04"/></g><!--MD5=[77820080b9be6acfb6e8a381a1a0e9b8]
16
-link Sales to Customer--><g id="link_Sales_Customer"><path codeLine="111" d="M458.82,363.6 C468,383.56 477.9,405.08 486.99,424.82 " fill="none" id="Sales-Customer" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="487.073" x2="495.8696" y1="425.0338" y2="429.7897"/><line style="stroke:#181818;stroke-width:1.0;" x1="487.073" x2="484.9704" y1="425.0338" y2="434.8103"/><line style="stroke:#181818;stroke-width:1.0;" x1="487.073" x2="490.42" y1="425.0338" y2="432.3"/><line style="stroke:#181818;stroke-width:1.0;" x1="489.8693" x2="482.6031" y1="421.5438" y2="424.8908"/><line style="stroke:#181818;stroke-width:1.0;" x1="453.3765" x2="460.6451" y1="361.3451" y2="358.0035"/><line style="stroke:#181818;stroke-width:1.0;" x1="454.6296" x2="461.8982" y1="364.0709" y2="360.7293"/><line style="stroke:#181818;stroke-width:1.0;" x1="458.6816" x2="455.34" y1="363.3087" y2="356.04"/></g><!--MD5=[b90679fcd0158477e65aabd182e1535f]
17
-link Sales to User--><g id="link_Sales_User"><path codeLine="112" d="M413.21,364.2 C411.08,378.37 408.84,393.31 406.66,407.83 " fill="none" id="Sales-User" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="406.6453" x2="411.3938" y1="407.9283" y2="416.729"/><line style="stroke:#181818;stroke-width:1.0;" x1="406.6453" x2="399.5262" y1="407.9283" y2="414.951"/><line style="stroke:#181818;stroke-width:1.0;" x1="406.6453" x2="405.46" y1="407.9283" y2="415.84"/><line style="stroke:#181818;stroke-width:1.0;" x1="410.8975" x2="402.9858" y1="406.543" y2="405.3577"/><line style="stroke:#181818;stroke-width:1.0;" x1="409.8915" x2="417.8032" y1="359.4032" y2="360.5885"/><line style="stroke:#181818;stroke-width:1.0;" x1="409.447" x2="417.3587" y1="362.3701" y2="363.5554"/><line style="stroke:#181818;stroke-width:1.0;" x1="413.2547" x2="414.44" y1="363.9517" y2="356.04"/></g><!--MD5=[469537f6e6fbfad22558102ade648a2e]
18
-link StockProduct to Product--><g id="link_StockProduct_Product"><path codeLine="113" d="M100.05,159.36 C106.46,180.65 113.38,203.61 119.56,224.11 " fill="none" id="StockProduct-Product" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="119.5694" x2="127.6243" y1="224.1809" y2="230.1071"/><line style="stroke:#181818;stroke-width:1.0;" x1="119.5694" x2="116.1357" y1="224.1809" y2="233.5729"/><line style="stroke:#181818;stroke-width:1.0;" x1="119.5694" x2="121.88" y1="224.1809" y2="231.84"/><line style="stroke:#181818;stroke-width:1.0;" x1="122.8213" x2="115.1623" y1="221.1109" y2="223.4214"/><line style="stroke:#181818;stroke-width:1.0;" x1="95.0557" x2="102.7148" y1="156.6348" y2="154.3243"/><line style="stroke:#181818;stroke-width:1.0;" x1="95.9222" x2="103.5813" y1="159.507" y2="157.1964"/><line style="stroke:#181818;stroke-width:1.0;" x1="100.0406" x2="97.73" y1="159.3091" y2="151.65"/></g><!--MD5=[875e56a13740a855aedfd46d8ab63ed6]
19
-link PurchaseDetail to Purchase--><g id="link_PurchaseDetail_Purchase"><path codeLine="114" d="M260.97,168.51 C262.24,182.78 263.55,197.52 264.79,211.56 " fill="none" id="PurchaseDetail-Purchase" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="264.806" x2="271.4961" y1="211.7619" y2="219.1945"/><line style="stroke:#181818;stroke-width:1.0;" x1="264.806" x2="259.5439" y1="211.7619" y2="220.2655"/><line style="stroke:#181818;stroke-width:1.0;" x1="264.806" x2="265.52" y1="211.7619" y2="219.73"/><line style="stroke:#181818;stroke-width:1.0;" x1="268.6116" x2="260.6435" y1="209.4129" y2="210.1269"/><line style="stroke:#181818;stroke-width:1.0;" x1="256.603" x2="264.571" y1="164.531" y2="163.817"/><line style="stroke:#181818;stroke-width:1.0;" x1="256.8707" x2="264.8388" y1="167.5191" y2="166.8051"/><line style="stroke:#181818;stroke-width:1.0;" x1="260.944" x2="260.23" y1="168.1581" y2="160.19"/></g><!--MD5=[636c4cbf2bb40ce634cacaf01a62e11c]
20
-link PurchaseDetail to Product--><g id="link_PurchaseDetail_Product"><path codeLine="115" d="M206.52,167.22 C195.6,186.46 184.14,206.63 173.82,224.81 " fill="none" id="PurchaseDetail-Product" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="173.7253" x2="174.9854" y1="224.9862" y2="234.9064"/><line style="stroke:#181818;stroke-width:1.0;" x1="173.7253" x2="164.5546" y1="224.9862" y2="228.9736"/><line style="stroke:#181818;stroke-width:1.0;" x1="173.7253" x2="169.77" y1="224.9862" y2="231.94"/><line style="stroke:#181818;stroke-width:1.0;" x1="178.191" x2="171.2372" y1="225.2253" y2="221.2701"/><line style="stroke:#181818;stroke-width:1.0;" x1="205.0578" x2="212.0178" y1="161.6978" y2="165.6422"/><line style="stroke:#181818;stroke-width:1.0;" x1="203.5786" x2="210.5386" y1="164.3077" y2="168.2522"/><line style="stroke:#181818;stroke-width:1.0;" x1="206.5655" x2="210.51" y1="167.15" y2="160.19"/></g><!--MD5=[4a0d2ccf57382988e84e92c9568ebf50]
21
-link SaleDetail to Sales--><g id="link_SaleDetail_Sales"><path codeLine="116" d="M424.5,167.58 C424.5,182.5 424.5,197.96 424.5,212.61 " fill="none" id="SaleDetail-Sales" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="428.5" x2="420.5" y1="215.73" y2="215.73"/><line style="stroke:#181818;stroke-width:1.0;" x1="428.5" x2="420.5" y1="212.73" y2="212.73"/><line style="stroke:#181818;stroke-width:1.0;" x1="424.5" x2="424.5" y1="211.73" y2="219.73"/><line style="stroke:#181818;stroke-width:1.0;" x1="420.5" x2="428.5" y1="164.19" y2="164.19"/><line style="stroke:#181818;stroke-width:1.0;" x1="420.5" x2="428.5" y1="167.19" y2="167.19"/><line style="stroke:#181818;stroke-width:1.0;" x1="424.5" x2="424.5" y1="168.19" y2="160.19"/></g><!--MD5=[cc8c2cf61c441007fd82fc98c1838a15]
22
-link SaleDetail to Product--><g id="link_SaleDetail_Product"><path codeLine="117" d="M353.05,151.95 C349.23,154.77 345.37,157.48 341.5,160 C286.51,195.88 260.76,183.03 206.5,220 C199.26,224.93 192.12,230.68 185.34,236.7 " fill="none" id="SaleDetail-Product" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="185.135" x2="183.2598" y1="236.9036" y2="246.7262"/><line style="stroke:#181818;stroke-width:1.0;" x1="185.135" x2="175.1802" y1="236.9036" y2="237.8538"/><line style="stroke:#181818;stroke-width:1.0;" x1="185.135" x2="179.22" y1="236.9036" y2="242.29"/><line style="stroke:#181818;stroke-width:1.0;" x1="189.3069" x2="183.9206" y1="238.5145" y2="232.5996"/><line style="stroke:#181818;stroke-width:1.0;" x1="353.845" x2="358.686" y1="146.316" y2="152.685"/><line style="stroke:#181818;stroke-width:1.0;" x1="351.4566" x2="356.2976" y1="148.1314" y2="154.5004"/><line style="stroke:#181818;stroke-width:1.0;" x1="353.081" x2="359.45" y1="151.921" y2="147.08"/></g><!--MD5=[5fa2e163e1a5922a0d0ebcb119c05bb7]
23
-link Product to Price--><g id="link_Product_Price"><path codeLine="118" d="M135.79,351.17 C134.83,373.27 133.73,398.37 132.73,421.37 " fill="none" id="Product-Price" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="136.5876" x2="128.5949" y1="424.6149" y2="424.2724"/><line style="stroke:#181818;stroke-width:1.0;" x1="136.7161" x2="128.7234" y1="421.6177" y2="421.2751"/><line style="stroke:#181818;stroke-width:1.0;" x1="132.7625" x2="132.42" y1="420.4473" y2="428.44"/><line style="stroke:#181818;stroke-width:1.0;" x1="131.9243" x2="139.9162" y1="347.8862" y2="348.2457"/><line style="stroke:#181818;stroke-width:1.0;" x1="131.7894" x2="139.7813" y1="350.8831" y2="351.2427"/><line style="stroke:#181818;stroke-width:1.0;" x1="135.7404" x2="136.1" y1="352.0619" y2="344.07"/></g><!--MD5=[fd06bb28534d550caae1666c04278413]
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="1280px" preserveAspectRatio="none" style="width:568px;height:1280px;background:#FFFFFF;" version="1.1" viewBox="0 0 568 1280" width="568px" 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="263.5" y="147"/><ellipse cx="291.1" cy="163" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M287.2406,168.5 L287.2406,157.2969 L295.2719,157.2969 L295.2719,159.1875 L289.6938,159.1875 L289.6938,161.8906 L294.7719,161.8906 L294.7719,163.7813 L289.6938,163.7813 L289.6938,166.6094 L295.6156,166.6094 L295.6156,168.5 L287.2406,168.5 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="29" x="307.9" y="168.0825">User</text><line style="stroke:#181818;stroke-width:0.5;" x1="264.5" x2="351.5" y1="179" y2="179"/><ellipse cx="274.5" cy="190" 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="283.5" y="196.1318">id</text><line style="stroke:#181818;stroke-width:0.5;" x1="264.5" x2="351.5" y1="203.0986" y2="203.0986"/><ellipse cx="274.5" cy="214.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="283.5" y="220.2305">name</text><ellipse cx="274.5" cy="230.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="283.5" y="236.3291">username</text><ellipse cx="274.5" cy="246.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="283.5" y="252.4277">status</text><ellipse cx="274.5" cy="262.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="283.5" y="268.5264">password</text><line style="stroke:#181818;stroke-width:0.5;" x1="264.5" x2="351.5" y1="275.4932" y2="275.4932"/><ellipse cx="274.5" cy="286.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="283.5" y="292.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="277.5" y="7"/><ellipse cx="292.5" cy="23" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M288.6406,28.5 L288.6406,17.2969 L296.6719,17.2969 L296.6719,19.1875 L291.0938,19.1875 L291.0938,21.8906 L296.1719,21.8906 L296.1719,23.7813 L291.0938,23.7813 L291.0938,26.6094 L297.0156,26.6094 L297.0156,28.5 L288.6406,28.5 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="29" x="306.5" y="28.0825">Role</text><line style="stroke:#181818;stroke-width:0.5;" x1="278.5" x2="337.5" y1="39" y2="39"/><ellipse cx="288.5" 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="297.5" y="56.1318">id</text><line style="stroke:#181818;stroke-width:0.5;" x1="278.5" x2="337.5" y1="63.0986" y2="63.0986"/><ellipse cx="288.5" 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="297.5" y="80.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="79.5" y="159.5"/><ellipse cx="94.5" cy="175.5" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M90.6406,181 L90.6406,169.7969 L98.6719,169.7969 L98.6719,171.6875 L93.0938,171.6875 L93.0938,174.3906 L98.1719,174.3906 L98.1719,176.2813 L93.0938,176.2813 L93.0938,179.1094 L99.0156,179.1094 L99.0156,181 L90.6406,181 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="61" x="108.5" y="180.5825">Customer</text><line style="stroke:#181818;stroke-width:0.5;" x1="80.5" x2="171.5" y1="191.5" y2="191.5"/><ellipse cx="90.5" cy="202.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="99.5" y="208.6318">id</text><line style="stroke:#181818;stroke-width:0.5;" x1="80.5" x2="171.5" y1="215.5986" y2="215.5986"/><ellipse cx="90.5" cy="226.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="99.5" y="232.7305">name</text><ellipse cx="90.5" cy="242.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="99.5" y="248.8291">address</text><ellipse cx="90.5" cy="258.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="99.5" y="264.9277">phone</text><ellipse cx="90.5" cy="274.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="99.5" y="281.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="242.5" y="965"/><ellipse cx="257.5" cy="981" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M253.6406,986.5 L253.6406,975.2969 L261.6719,975.2969 L261.6719,977.1875 L256.0938,977.1875 L256.0938,979.8906 L261.1719,979.8906 L261.1719,981.7813 L256.0938,981.7813 L256.0938,984.6094 L262.0156,984.6094 L262.0156,986.5 L253.6406,986.5 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="49" x="271.5" y="986.0825">Product</text><line style="stroke:#181818;stroke-width:0.5;" x1="243.5" x2="322.5" y1="997" y2="997"/><ellipse cx="253.5" cy="1008" 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="262.5" y="1014.1318">id</text><line style="stroke:#181818;stroke-width:0.5;" x1="243.5" x2="322.5" y1="1021.0986" y2="1021.0986"/><ellipse cx="253.5" cy="1032.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="262.5" y="1038.2305">number</text><ellipse cx="253.5" cy="1048.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="262.5" y="1054.3291">name</text><ellipse cx="253.5" cy="1064.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="262.5" y="1070.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="416" y="151"/><ellipse cx="431" cy="167" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M427.1406,172.5 L427.1406,161.2969 L435.1719,161.2969 L435.1719,163.1875 L429.5938,163.1875 L429.5938,165.8906 L434.6719,165.8906 L434.6719,167.7813 L429.5938,167.7813 L429.5938,170.6094 L435.5156,170.6094 L435.5156,172.5 L427.1406,172.5 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="52" x="445" y="172.0825">Supplier</text><line style="stroke:#181818;stroke-width:0.5;" x1="417" x2="499" y1="183" y2="183"/><ellipse cx="427" cy="194" 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="436" y="200.1318">id</text><line style="stroke:#181818;stroke-width:0.5;" x1="417" x2="499" y1="207.0986" y2="207.0986"/><ellipse cx="427" cy="218.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="436" y="224.2305">name</text><ellipse cx="427" cy="234.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="436" y="240.3291">address</text><ellipse cx="427" cy="250.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="436" y="256.4277">phone</text><ellipse cx="427" cy="266.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="436" y="272.5264">email</text><ellipse cx="427" cy="282.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="436" y="288.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="349.5" y="360"/><ellipse cx="365.85" cy="376" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M361.9906,381.5 L361.9906,370.2969 L370.0219,370.2969 L370.0219,372.1875 L364.4438,372.1875 L364.4438,374.8906 L369.5219,374.8906 L369.5219,376.7813 L364.4438,376.7813 L364.4438,379.6094 L370.3656,379.6094 L370.3656,381.5 L361.9906,381.5 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="60" x="380.15" y="381.0825">Purchase</text><line style="stroke:#181818;stroke-width:0.5;" x1="350.5" x2="443.5" y1="392" y2="392"/><ellipse cx="360.5" cy="403" 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="369.5" y="409.1318">id</text><line style="stroke:#181818;stroke-width:0.5;" x1="350.5" x2="443.5" y1="416.0986" y2="416.0986"/><ellipse cx="360.5" cy="427.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="369.5" y="433.2305">number</text><ellipse cx="360.5" cy="443.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="369.5" y="449.3291">status</text><line style="stroke:#181818;stroke-width:0.5;" x1="350.5" x2="443.5" y1="456.2959" y2="456.2959"/><ellipse cx="360.5" cy="467.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="369.5" y="473.4277">supplier_id</text><ellipse cx="360.5" cy="483.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="369.5" y="489.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="105.5" y="360"/><ellipse cx="139.85" cy="376" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M135.9906,381.5 L135.9906,370.2969 L144.0219,370.2969 L144.0219,372.1875 L138.4438,372.1875 L138.4438,374.8906 L143.5219,374.8906 L143.5219,376.7813 L138.4438,376.7813 L138.4438,379.6094 L144.3656,379.6094 L144.3656,381.5 L135.9906,381.5 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="28" x="158.15" y="381.0825">Sale</text><line style="stroke:#181818;stroke-width:0.5;" x1="106.5" x2="207.5" y1="392" y2="392"/><ellipse cx="116.5" cy="403" 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.5" y="409.1318">id</text><line style="stroke:#181818;stroke-width:0.5;" x1="106.5" x2="207.5" y1="416.0986" y2="416.0986"/><ellipse cx="116.5" cy="427.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="125.5" y="433.2305">number</text><ellipse cx="116.5" cy="443.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="125.5" y="449.3291">status</text><line style="stroke:#181818;stroke-width:0.5;" x1="106.5" x2="207.5" y1="456.2959" y2="456.2959"/><ellipse cx="116.5" cy="467.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="125.5" y="473.4277">customer_id</text><ellipse cx="116.5" cy="483.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="125.5" y="489.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="212.5" y="769"/><ellipse cx="238.75" cy="785" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M234.8906,790.5 L234.8906,779.2969 L242.9219,779.2969 L242.9219,781.1875 L237.3438,781.1875 L237.3438,783.8906 L242.4219,783.8906 L242.4219,785.7813 L237.3438,785.7813 L237.3438,788.6094 L243.2656,788.6094 L243.2656,790.5 L234.8906,790.5 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="84" x="255.25" y="790.0825">StockProduct</text><line style="stroke:#181818;stroke-width:0.5;" x1="213.5" x2="352.5" y1="801" y2="801"/><ellipse cx="223.5" cy="812" 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="232.5" y="818.1318">id</text><line style="stroke:#181818;stroke-width:0.5;" x1="213.5" x2="352.5" y1="825.0986" y2="825.0986"/><ellipse cx="223.5" cy="836.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="115" x="232.5" y="842.2305">purchase_number</text><ellipse cx="223.5" cy="852.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="82" x="232.5" y="858.3291">sale_number</text><ellipse cx="223.5" cy="868.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="232.5" y="874.4277">qty</text><line style="stroke:#181818;stroke-width:0.5;" x1="213.5" x2="352.5" y1="881.3945" y2="881.3945"/><ellipse cx="223.5" cy="892.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="104" x="232.5" y="898.5264">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="218" y="1137"/><ellipse cx="262.75" cy="1153" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M258.8906,1158.5 L258.8906,1147.2969 L266.9219,1147.2969 L266.9219,1149.1875 L261.3438,1149.1875 L261.3438,1151.8906 L266.4219,1151.8906 L266.4219,1153.7813 L261.3438,1153.7813 L261.3438,1156.6094 L267.2656,1156.6094 L267.2656,1158.5 L258.8906,1158.5 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="32" x="283.25" y="1158.0825">Price</text><line style="stroke:#181818;stroke-width:0.5;" x1="219" x2="347" y1="1169" y2="1169"/><ellipse cx="229" cy="1180" 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="238" y="1186.1318">id</text><line style="stroke:#181818;stroke-width:0.5;" x1="219" x2="347" y1="1193.0986" y2="1193.0986"/><ellipse cx="229" cy="1204.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="238" y="1210.2305">price</text><line style="stroke:#181818;stroke-width:0.5;" x1="219" x2="347" y1="1217.1973" y2="1217.1973"/><ellipse cx="229" cy="1228.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="238" y="1234.3291">product_number</text><ellipse cx="229" cy="1244.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="238" y="1250.4277">customer_id</text><ellipse cx="229" cy="1260.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="238" y="1266.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="130" y="556"/><ellipse cx="160.3" cy="572" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M156.4406,577.5 L156.4406,566.2969 L164.4719,566.2969 L164.4719,568.1875 L158.8938,568.1875 L158.8938,570.8906 L163.9719,570.8906 L163.9719,572.7813 L158.8938,572.7813 L158.8938,575.6094 L164.8156,575.6094 L164.8156,577.5 L156.4406,577.5 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="64" x="177.7" y="577.0825">SaleDetail</text><line style="stroke:#181818;stroke-width:0.5;" x1="131" x2="259" y1="588" y2="588"/><ellipse cx="141" cy="599" 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="150" y="605.1318">id</text><line style="stroke:#181818;stroke-width:0.5;" x1="131" x2="259" y1="612.0986" y2="612.0986"/><ellipse cx="141" cy="623.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="150" y="629.2305">price</text><ellipse cx="141" cy="639.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="150" y="645.3291">ppn</text><ellipse cx="141" cy="655.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="150" y="661.4277">qty</text><line style="stroke:#181818;stroke-width:0.5;" x1="131" x2="259" y1="668.3945" y2="668.3945"/><ellipse cx="141" cy="679.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="150" y="685.5264">sale_number</text><ellipse cx="141" cy="695.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="150" y="701.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="295.5" y="556"/><ellipse cx="316.35" cy="572" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M312.4906,577.5 L312.4906,566.2969 L320.5219,566.2969 L320.5219,568.1875 L314.9438,568.1875 L314.9438,570.8906 L320.0219,570.8906 L320.0219,572.7813 L314.9438,572.7813 L314.9438,575.6094 L320.8656,575.6094 L320.8656,577.5 L312.4906,577.5 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="96" x="331.65" y="577.0825">PurchaseDetail</text><line style="stroke:#181818;stroke-width:0.5;" x1="296.5" x2="435.5" y1="588" y2="588"/><ellipse cx="306.5" cy="599" 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="315.5" y="605.1318">id</text><line style="stroke:#181818;stroke-width:0.5;" x1="296.5" x2="435.5" y1="612.0986" y2="612.0986"/><ellipse cx="306.5" cy="623.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="315.5" y="629.2305">price</text><ellipse cx="306.5" cy="639.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="315.5" y="645.3291">ppn</text><ellipse cx="306.5" cy="655.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="315.5" y="661.4277">qty</text><line style="stroke:#181818;stroke-width:0.5;" x1="296.5" x2="435.5" y1="668.3945" y2="668.3945"/><ellipse cx="306.5" cy="679.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="315.5" y="685.5264">purchase_number</text><ellipse cx="306.5" cy="695.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="315.5" y="701.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="373.5" y="7"/><ellipse cx="388.5" cy="23" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M384.6406,28.5 L384.6406,17.2969 L392.6719,17.2969 L392.6719,19.1875 L387.0938,19.1875 L387.0938,21.8906 L392.1719,21.8906 L392.1719,23.7813 L387.0938,23.7813 L387.0938,26.6094 L393.0156,26.6094 L393.0156,28.5 L384.6406,28.5 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="25" x="402.5" y="28.0825">Ppn</text><line style="stroke:#181818;stroke-width:0.5;" x1="374.5" x2="429.5" y1="39" y2="39"/><ellipse cx="384.5" 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="393.5" y="56.1318">id</text><line style="stroke:#181818;stroke-width:0.5;" x1="374.5" x2="429.5" y1="63.0986" y2="63.0986"/><ellipse cx="384.5" 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="24" x="393.5" y="80.2305">ppn</text></g><!--MD5=[0f3988949cdddc01f83f72a0d5066643]
14
+link Role to User--><g id="link_Role_User"><path codeLine="114" d="M308,95.27 C308,108.72 308,123.79 308,138.72 " fill="none" id="Role-User" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="312" x2="304" y1="142.99" y2="142.99"/><line style="stroke:#181818;stroke-width:1.0;" x1="312" x2="304" y1="139.99" y2="139.99"/><line style="stroke:#181818;stroke-width:1.0;" x1="308" x2="308" y1="138.99" y2="146.99"/><line style="stroke:#181818;stroke-width:1.0;" x1="308" x2="302" y1="95.16" y2="87.16"/><line style="stroke:#181818;stroke-width:1.0;" x1="308" x2="314" y1="95.16" y2="87.16"/><line style="stroke:#181818;stroke-width:1.0;" x1="308" x2="308" y1="95.16" y2="87.16"/><line style="stroke:#181818;stroke-width:1.0;" x1="304" x2="312" y1="97.16" y2="97.16"/></g><!--MD5=[474f0e405c986647f348979b3d9bac30]
15
+link User to Purchase--><g id="link_User_Purchase"><path codeLine="115" d="M344.51,307.58 C351.01,322.36 357.74,337.68 364.13,352.21 " fill="none" id="User-Purchase" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="369.4865" x2="362.1602" y1="354.4602" y2="357.6735"/><line style="stroke:#181818;stroke-width:1.0;" x1="368.2815" x2="360.9552" y1="351.7128" y2="354.9261"/><line style="stroke:#181818;stroke-width:1.0;" x1="364.2167" x2="367.43" y1="352.4037" y2="359.73"/><line style="stroke:#181818;stroke-width:1.0;" x1="344.4833" x2="335.7753" y1="307.5163" y2="302.6"/><line style="stroke:#181818;stroke-width:1.0;" x1="344.4833" x2="346.7647" y1="307.5163" y2="297.78"/><line style="stroke:#181818;stroke-width:1.0;" x1="344.4833" x2="341.27" y1="307.5163" y2="300.19"/><line style="stroke:#181818;stroke-width:1.0;" x1="341.6235" x2="348.9498" y1="310.9545" y2="307.7412"/></g><!--MD5=[fa16bf6141e1c24f8824fff3082d1ce7]
16
+link User to Sale--><g id="link_User_Sale"><path codeLine="116" d="M258.49,290.9 C243.62,310.84 227.22,332.83 212.02,353.21 " fill="none" id="User-Sale" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="212.728" x2="206.316" y1="358.956" y2="354.172"/><line style="stroke:#181818;stroke-width:1.0;" x1="214.522" x2="208.11" y1="356.5515" y2="351.7675"/><line style="stroke:#181818;stroke-width:1.0;" x1="211.914" x2="207.13" y1="353.358" y2="359.77"/><line style="stroke:#181818;stroke-width:1.0;" x1="258.526" x2="258.501" y1="290.842" y2="280.842"/><line style="stroke:#181818;stroke-width:1.0;" x1="258.526" x2="268.119" y1="290.842" y2="288.018"/><line style="stroke:#181818;stroke-width:1.0;" x1="258.526" x2="263.31" y1="290.842" y2="284.43"/><line style="stroke:#181818;stroke-width:1.0;" x1="254.124" x2="260.536" y1="290.053" y2="294.837"/></g><!--MD5=[4e61cc6c8c4df3951b5a0cc721e44351]
17
+link Supplier to Purchase--><g id="link_Supplier_Purchase"><path codeLine="117" d="M434.05,304.02 C429.31,319.74 424.35,336.2 419.66,351.77 " fill="none" id="Supplier-Purchase" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="422.2216" x2="414.5598" y1="357.1398" y2="354.8384"/><line style="stroke:#181818;stroke-width:1.0;" x1="423.0846" x2="415.4228" y1="354.2666" y2="351.9652"/><line style="stroke:#181818;stroke-width:1.0;" x1="419.5414" x2="417.24" y1="352.1582" y2="359.82"/><line style="stroke:#181818;stroke-width:1.0;" x1="434.0955" x2="430.6666" y1="303.8379" y2="294.4441"/><line style="stroke:#181818;stroke-width:1.0;" x1="434.0955" x2="442.1534" y1="303.8379" y2="297.9159"/><line style="stroke:#181818;stroke-width:1.0;" x1="434.0955" x2="436.41" y1="303.8379" y2="296.18"/><line style="stroke:#181818;stroke-width:1.0;" x1="429.6879" x2="437.3458" y1="304.5951" y2="306.9096"/></g><!--MD5=[8dbb028c2b05e4025f5d42a599ab93b5]
18
+link Supplier to Price--><g id="link_Supplier_Price"><path codeLine="118" d="M490.18,302.97 C520.4,383.86 561,514.35 561,631.5 C561,631.5 561,631.5 561,838 C561,974.75 436.4,1092.44 354.03,1155.3 " fill="none" id="Supplier-Price" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="353.7835" x2="348.9549" y1="1160.5049" y2="1154.1265"/><line style="stroke:#181818;stroke-width:1.0;" x1="356.1754" x2="351.3468" y1="1158.6941" y2="1152.3157"/><line style="stroke:#181818;stroke-width:1.0;" x1="354.5584" x2="348.18" y1="1154.9013" y2="1159.73"/><line style="stroke:#181818;stroke-width:1.0;" x1="485.3116" x2="492.8009" y1="301.4209" y2="298.6084"/><line style="stroke:#181818;stroke-width:1.0;" x1="486.3664" x2="493.8556" y1="304.2294" y2="301.4168"/><line style="stroke:#181818;stroke-width:1.0;" x1="490.4626" x2="487.65" y1="303.7593" y2="296.27"/></g><!--MD5=[d458a1e609d20b4df6a1b1701aeabf58]
19
+link Customer to Sale--><g id="link_Customer_Sale"><path codeLine="119" d="M136.93,295.89 C139.68,313.88 142.65,333.24 145.43,351.42 " fill="none" id="Customer-Sale" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="145.4746" x2="152.6204" y1="351.7729" y2="358.7685"/><line style="stroke:#181818;stroke-width:1.0;" x1="145.4746" x2="140.7596" y1="351.7729" y2="360.5915"/><line style="stroke:#181818;stroke-width:1.0;" x1="145.4746" x2="146.69" y1="351.7729" y2="359.68"/><line style="stroke:#181818;stroke-width:1.0;" x1="149.1243" x2="141.2172" y1="349.1884" y2="350.4038"/><line style="stroke:#181818;stroke-width:1.0;" x1="132.3329" x2="140.2404" y1="292.3004" y2="291.0871"/><line style="stroke:#181818;stroke-width:1.0;" x1="132.7879" x2="140.6953" y1="295.2657" y2="294.0524"/><line style="stroke:#181818;stroke-width:1.0;" x1="136.8932" x2="135.68" y1="295.6475" y2="287.74"/></g><!--MD5=[ae2c05453d21049e7a5e02ab04069fb0]
20
+link Customer to Price--><g id="link_Customer_Price"><path codeLine="120" d="M92.14,294.23 C56.65,373.86 6,508.97 6,631.5 C6,631.5 6,631.5 6,838 C6,974.38 129.8,1091.99 211.87,1154.97 " fill="none" id="Customer-Price" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="216.9511" x2="212.1043" y1="1153.8043" y2="1160.1689"/><line style="stroke:#181818;stroke-width:1.0;" x1="214.5644" x2="209.7176" y1="1151.9867" y2="1158.3513"/><line style="stroke:#181818;stroke-width:1.0;" x1="211.3454" x2="217.71" y1="1154.5631" y2="1159.41"/><line style="stroke:#181818;stroke-width:1.0;" x1="89.8114" x2="97.1077" y1="289.6577" y2="292.9386"/><line style="stroke:#181818;stroke-width:1.0;" x1="88.5811" x2="95.8774" y1="292.3938" y2="295.6747"/><line style="stroke:#181818;stroke-width:1.0;" x1="91.8191" x2="95.1" y1="294.9463" y2="287.65"/></g><!--MD5=[1b8181cc673ea47d6cea814c6d86a94d]
21
+link Sale to SaleDetail--><g id="link_Sale_SaleDetail"><path codeLine="121" d="M171.13,504.31 C173.79,518.5 176.59,533.41 179.3,547.83 " fill="none" id="Sale-SaleDetail" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="183.9854" x2="176.1221" y1="551.1221" y2="552.5946"/><line style="stroke:#181818;stroke-width:1.0;" x1="183.4331" x2="175.5698" y1="548.1733" y2="549.6459"/><line style="stroke:#181818;stroke-width:1.0;" x1="179.3174" x2="180.79" y1="547.9267" y2="555.79"/><line style="stroke:#181818;stroke-width:1.0;" x1="171.0838" x2="163.7041" y1="504.0112" y2="497.2628"/><line style="stroke:#181818;stroke-width:1.0;" x1="171.0838" x2="175.4959" y1="504.0112" y2="495.0372"/><line style="stroke:#181818;stroke-width:1.0;" x1="171.0838" x2="169.6" y1="504.0112" y2="496.15"/><line style="stroke:#181818;stroke-width:1.0;" x1="167.5241" x2="175.3853" y1="506.7184" y2="505.2346"/></g><!--MD5=[fd58fb4015992d940e1d5ff8549f8c35]
22
+link Sale to Price--><g id="link_Sale_Price"><path codeLine="122" d="M126.09,502.84 C120.25,519.99 115.03,538.4 112,556 C100.48,623.02 102.25,641.7 112,709 C134.52,864.47 204.54,1035.56 247.68,1130.37 " fill="none" id="Sale-Price" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="252.5936" x2="245.3123" y1="1131.4823" y2="1134.7964"/><line style="stroke:#181818;stroke-width:1.0;" x1="251.3508" x2="244.0695" y1="1128.7518" y2="1132.066"/><line style="stroke:#181818;stroke-width:1.0;" x1="247.2959" x2="250.61" y1="1129.4987" y2="1136.78"/><line style="stroke:#181818;stroke-width:1.0;" x1="123.3581" x2="130.9143" y1="498.5343" y2="501.1619"/><line style="stroke:#181818;stroke-width:1.0;" x1="122.3728" x2="129.929" y1="501.3679" y2="503.9954"/><line style="stroke:#181818;stroke-width:1.0;" x1="125.8225" x2="128.45" y1="503.6262" y2="496.07"/></g><!--MD5=[c0e5a52b16fbcef22495159b374d909e]
23
+link Purchase to PurchaseDetail--><g id="link_Purchase_PurchaseDetail"><path codeLine="123" d="M385.47,504.31 C383.3,518.5 381.02,533.41 378.81,547.83 " fill="none" id="Purchase-PurchaseDetail" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="382.1504" x2="374.2429" y1="552.4429" y2="551.2296"/><line style="stroke:#181818;stroke-width:1.0;" x1="382.6053" x2="374.6979" y1="549.4776" y2="548.2643"/><line style="stroke:#181818;stroke-width:1.0;" x1="378.8032" x2="377.59" y1="547.8825" y2="555.79"/><line style="stroke:#181818;stroke-width:1.0;" x1="385.5068" x2="380.7894" y1="504.0575" y2="495.2401"/><line style="stroke:#181818;stroke-width:1.0;" x1="385.5068" x2="392.6506" y1="504.0575" y2="497.0599"/><line style="stroke:#181818;stroke-width:1.0;" x1="385.5068" x2="386.72" y1="504.0575" y2="496.15"/><line style="stroke:#181818;stroke-width:1.0;" x1="381.2497" x2="389.1572" y1="505.4277" y2="506.641"/></g><!--MD5=[9aab0b89b89995cf669aab5ed34799da]
24
+link Purchase to Price--><g id="link_Purchase_Price"><path codeLine="124" d="M436.36,502.78 C443.66,519.8 450.18,538.16 454,556 C468.24,622.49 462.31,641.51 454,709 C434.81,864.92 363.63,1035.85 319.38,1130.51 " fill="none" id="Purchase-Price" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="321.6908" x2="314.4493" y1="1134.9893" y2="1131.5892"/><line style="stroke:#181818;stroke-width:1.0;" x1="322.9658" x2="315.7243" y1="1132.2737" y2="1128.8736"/><line style="stroke:#181818;stroke-width:1.0;" x1="319.7701" x2="316.37" y1="1129.6685" y2="1136.91"/><line style="stroke:#181818;stroke-width:1.0;" x1="431.3685" x2="438.6918" y1="501.3518" y2="498.1315"/><line style="stroke:#181818;stroke-width:1.0;" x1="432.5761" x2="439.8994" y1="504.098" y2="500.8777"/><line style="stroke:#181818;stroke-width:1.0;" x1="436.6403" x2="433.42" y1="503.4032" y2="496.08"/></g><!--MD5=[94795bd4cafbfd185826e83926e5e28e]
25
+link PurchaseDetail to StockProduct--><g id="link_PurchaseDetail_StockProduct"><path codeLine="125" d="M331.76,717.04 C325.75,731.7 319.53,746.88 313.63,761.28 " fill="none" id="PurchaseDetail-StockProduct" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="313.6002" x2="316.1229" y1="761.3261" y2="771.0026"/><line style="stroke:#181818;stroke-width:1.0;" x1="313.6002" x2="305.0171" y1="761.3261" y2="766.4574"/><line style="stroke:#181818;stroke-width:1.0;" x1="313.6002" x2="310.57" y1="761.3261" y2="768.73"/><line style="stroke:#181818;stroke-width:1.0;" x1="318.0597" x2="310.6558" y1="760.9902" y2="757.96"/><line style="stroke:#181818;stroke-width:1.0;" x1="329.7593" x2="337.1582" y1="711.3682" y2="714.4107"/><line style="stroke:#181818;stroke-width:1.0;" x1="328.6184" x2="336.0173" y1="714.1428" y2="717.1852"/><line style="stroke:#181818;stroke-width:1.0;" x1="331.9376" x2="334.98" y1="716.5889" y2="709.19"/></g><!--MD5=[cc8c2cf61c441007fd82fc98c1838a15]
26
+link SaleDetail to Product--><g id="link_SaleDetail_Product"><path codeLine="126" d="M181.39,717.02 C175.71,771.9 174.5,844.47 195,905 C203.62,930.46 220.4,954.72 237.01,974.33 " fill="none" id="SaleDetail-Product" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="237.1373" x2="246.912" y1="974.4873" y2="976.598"/><line style="stroke:#181818;stroke-width:1.0;" x1="237.1373" x2="237.848" y1="974.4873" y2="984.462"/><line style="stroke:#181818;stroke-width:1.0;" x1="237.1373" x2="242.38" y1="974.4873" y2="980.53"/><line style="stroke:#181818;stroke-width:1.0;" x1="238.848" x2="232.8053" y1="970.3553" y2="975.598"/><line style="stroke:#181818;stroke-width:1.0;" x1="177.8483" x2="185.8008" y1="712.6008" y2="713.4717"/><line style="stroke:#181818;stroke-width:1.0;" x1="177.5217" x2="185.4742" y1="715.5829" y2="716.4539"/><line style="stroke:#181818;stroke-width:1.0;" x1="181.3891" x2="182.26" y1="717.0125" y2="709.06"/></g><!--MD5=[14568f368dad8dc98a8cb2dbe8f153bd]
27
+link SaleDetail to StockProduct--><g id="link_SaleDetail_StockProduct"><path codeLine="127" d="M231.1,716.58 C237.53,731.36 244.18,746.68 250.5,761.21 " fill="none" id="SaleDetail-StockProduct" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="250.5859" x2="259.2743" y1="761.3909" y2="766.342"/><line style="stroke:#181818;stroke-width:1.0;" x1="250.5859" x2="248.2657" y1="761.3909" y2="771.118"/><line style="stroke:#181818;stroke-width:1.0;" x1="250.5859" x2="253.77" y1="761.3909" y2="768.73"/><line style="stroke:#181818;stroke-width:1.0;" x1="253.4594" x2="246.1204" y1="757.9641" y2="761.1482"/><line style="stroke:#181818;stroke-width:1.0;" x1="225.8125" x2="233.1516" y1="714.4516" y2="711.2675"/><line style="stroke:#181818;stroke-width:1.0;" x1="227.0065" x2="234.3456" y1="717.2037" y2="714.0196"/><line style="stroke:#181818;stroke-width:1.0;" x1="231.0741" x2="227.89" y1="716.5291" y2="709.19"/></g><!--MD5=[636c4cbf2bb40ce634cacaf01a62e11c]
28
+link PurchaseDetail to Product--><g id="link_PurchaseDetail_Product"><path codeLine="128" d="M381.89,717.02 C388.89,771.89 391.51,844.46 371,905 C362.38,930.46 345.6,954.72 328.99,974.33 " fill="none" id="PurchaseDetail-Product" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="328.8627" x2="328.152" y1="974.4873" y2="984.462"/><line style="stroke:#181818;stroke-width:1.0;" x1="328.8627" x2="319.088" y1="974.4873" y2="976.598"/><line style="stroke:#181818;stroke-width:1.0;" x1="328.8627" x2="323.62" y1="974.4873" y2="980.53"/><line style="stroke:#181818;stroke-width:1.0;" x1="333.1947" x2="327.152" y1="975.598" y2="970.3553"/><line style="stroke:#181818;stroke-width:1.0;" x1="377.3937" x2="385.3236" y1="713.5436" y2="712.4863"/><line style="stroke:#181818;stroke-width:1.0;" x1="377.7902" x2="385.7201" y1="716.5173" y2="715.4599"/><line style="stroke:#181818;stroke-width:1.0;" x1="381.8873" x2="380.83" y1="716.9798" y2="709.05"/></g><!--MD5=[469537f6e6fbfad22558102ade648a2e]
29
+link StockProduct to Product--><g id="link_StockProduct_Product"><path codeLine="129" d="M283,913.62 C283,928 283,942.9 283,956.84 " fill="none" id="StockProduct-Product" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="283" x2="289" y1="956.93" y2="964.93"/><line style="stroke:#181818;stroke-width:1.0;" x1="283" x2="277" y1="956.93" y2="964.93"/><line style="stroke:#181818;stroke-width:1.0;" x1="283" x2="283" y1="956.93" y2="964.93"/><line style="stroke:#181818;stroke-width:1.0;" x1="287" x2="279" y1="954.93" y2="954.93"/><line style="stroke:#181818;stroke-width:1.0;" x1="279" x2="287" y1="909.25" y2="909.25"/><line style="stroke:#181818;stroke-width:1.0;" x1="279" x2="287" y1="912.25" y2="912.25"/><line style="stroke:#181818;stroke-width:1.0;" x1="283" x2="283" y1="913.25" y2="905.25"/></g><!--MD5=[5fa2e163e1a5922a0d0ebcb119c05bb7]
30
+link Product to Price--><g id="link_Product_Price"><path codeLine="130" d="M283,1084.27 C283,1098.84 283,1114.51 283,1129.55 " fill="none" id="Product-Price" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="287" x2="279" y1="1132.88" y2="1132.88"/><line style="stroke:#181818;stroke-width:1.0;" x1="287" x2="279" y1="1129.88" y2="1129.88"/><line style="stroke:#181818;stroke-width:1.0;" x1="283" x2="283" y1="1128.88" y2="1136.88"/><line style="stroke:#181818;stroke-width:1.0;" x1="279" x2="287" y1="1081.1" y2="1081.1"/><line style="stroke:#181818;stroke-width:1.0;" x1="279" x2="287" y1="1084.1" y2="1084.1"/><line style="stroke:#181818;stroke-width:1.0;" x1="283" x2="283" y1="1085.1" y2="1077.1"/></g><!--MD5=[4a3bc86eeb5bae94f4f8f0636a52b586]
24 31
 @startuml Database
25 32
 
26 33
 entity User {
@@ -30,7 +37,7 @@ entity User {
30 37
   * username
31 38
   * status
32 39
   * password
33
-  _
40
+  __
34 41
   * role_id
35 42
 }
36 43
 
@@ -77,7 +84,7 @@ entity Purchase {
77 84
   * user_id
78 85
 }
79 86
 
80
-entity Sales {
87
+entity Sale {
81 88
   * id
82 89
   __
83 90
   * number
@@ -92,7 +99,7 @@ entity StockProduct {
92 99
   __
93 100
   * purchase_number
94 101
   * sale_number
95
-  * amount
102
+  * qty
96 103
   __
97 104
   * product_number
98 105
 }
@@ -129,16 +136,28 @@ entity PurchaseDetail {
129 136
   * product_number
130 137
 }
131 138
 
132
-User ||- -|{ Role
133
-Purchase ||- -|{ Supplier
134
-Purchase ||- -|{ User
135
-Sales ||- -|{ Customer
136
-Sales ||- -|{ User
137
-StockProduct ||- -|{ Product
138
-PurchaseDetail ||- -|{ Purchase
139
-PurchaseDetail ||- -|{ Product
140
-SaleDetail ||- -|| Sales
139
+entity Ppn {
140
+  * id
141
+  __
142
+  * ppn
143
+}
144
+
145
+Role }|- -|| User
146
+User }|- -|| Purchase
147
+User }|- -|| Sale
148
+Supplier }|- -|| Purchase
149
+Supplier ||- -|| Price
150
+Customer ||- -|{ Sale
151
+Customer ||- -|| Price
152
+Sale }|- -|| SaleDetail
153
+Sale ||- -|| Price
154
+Purchase }|- -|| PurchaseDetail
155
+Purchase ||- -|| Price
156
+PurchaseDetail ||- -|{ StockProduct
141 157
 SaleDetail ||- -|{ Product
158
+SaleDetail ||- -|{ StockProduct
159
+PurchaseDetail ||- -|{ Product
160
+StockProduct ||- -|{ Product
142 161
 Product ||- -|| Price
143 162
 @end
144 163