parent
commit
0fa9c0bec3

+ 18
- 4
app/Http/Controllers/SalesController.php Vedi File

@@ -12,6 +12,8 @@ use Illuminate\Support\Facades\DB;
12 12
 use Illuminate\Database\QueryException;
13 13
 use App\Http\Requests\Sales\StoreSaleRequest;
14 14
 use App\Http\Requests\Sales\UpdateSaleRequest;
15
+use App\Models\Company;
16
+use App\Services\SaleService;
15 17
 use Barryvdh\DomPDF\Facade\Pdf;
16 18
 
17 19
 class SalesController extends Controller
@@ -42,7 +44,7 @@ class SalesController extends Controller
42 44
                         "phone" => $sale->customer->phone,
43 45
                         "email" => $sale->customer->email,
44 46
                         "price" => HelperService::rupiahFormat(
45
-                            $sale->saleDetail->sum("price")
47
+                            SaleService::totalPrice($sale)
46 48
                         ),
47 49
                         "status" => $sale->status,
48 50
                     ]
@@ -74,7 +76,7 @@ class SalesController extends Controller
74 76
                         fn($stockProduct) => [
75 77
                             "number" => $stockProduct->product_number,
76 78
                             "name" => $stockProduct->product->name,
77
-                            "price" => $stockProduct->price,
79
+                            "price" => $stockProduct->getRawOriginal("price"),
78 80
                             "ppn" => $stockProduct->ppn,
79 81
                             "qty" => $stockProduct->qty,
80 82
                             "unit" => $stockProduct->product->unit,
@@ -202,14 +204,26 @@ class SalesController extends Controller
202 204
 
203 205
     public function invoice(Sale $sale)
204 206
     {
205
-        $pdf = Pdf::loadView("PDF.Sales.Invoice", compact("sale"));
207
+        $ppn = Ppn::first()->ppn;
208
+
209
+        $company = Company::first();
210
+
211
+        $pdf = Pdf::loadView(
212
+            "PDF.Sales.Invoice",
213
+            compact("sale", "company", "ppn")
214
+        );
215
+
206 216
         return $pdf->stream();
207 217
     }
208 218
 
209 219
     public function deliveryOrder(Sale $sale)
210 220
     {
211
-        $pdf = Pdf::loadView("PDF.Sales.Do", compact("sale"));
221
+        $company = Company::first();
222
+
223
+        $pdf = Pdf::loadView("PDF.Sales.Do", compact("sale", "company"));
224
+
212 225
         $pdf->setPaper("a3", "landscape");
226
+
213 227
         return $pdf->stream();
214 228
     }
215 229
 }

+ 2
- 0
app/Models/Sale.php Vedi File

@@ -13,6 +13,8 @@ class Sale extends Model
13 13
 
14 14
     protected $fillable = ["number", "ppn", "status", "customer_id", "user_id"];
15 15
 
16
+    protected $with = ["saleDetail.product", "customer"];
17
+
16 18
     protected function updatedAt(): Attribute
17 19
     {
18 20
         return Attribute::make(

+ 2
- 2
app/Models/SaleDetail.php Vedi File

@@ -20,8 +20,8 @@ class SaleDetail extends Model
20 20
                 $ppn = Ppn::first()->ppn;
21 21
 
22 22
                 return $this->sale->ppn
23
-                    ? HelperService::ppn($value, $ppn) * $this->qty
24
-                    : $value * $this->qty;
23
+                    ? HelperService::ppn($value, $ppn)
24
+                    : $value;
25 25
             }
26 26
         );
27 27
     }

+ 2
- 6
app/Services/SaleService.php Vedi File

@@ -10,12 +10,8 @@ class SaleService
10 10
 {
11 11
     public static function totalPrice(Sale $sale)
12 12
     {
13
-        return $sale->saleDetail->sum(function ($saleDetail) use ($sale) {
14
-            $ppn = Ppn::first()->ppn;
15
-
16
-            return $sale->ppn
17
-                ? HelperService::ppn($saleDetail->price, $ppn)
18
-                : $saleDetail->price;
13
+        return $sale->saleDetail->sum(function ($saleDetail) {
14
+            return $saleDetail->price * $saleDetail->qty;
19 15
         });
20 16
     }
21 17
 }

+ 2
- 2
resources/views/PDF/Purchases/Do.blade.php Vedi File

@@ -158,9 +158,9 @@
158 158
                 </tr>
159 159
             </thead>
160 160
             <tbody style="text-align: center;">
161
-                @foreach ($purchase->purchaseDetail as $purchaseDetail)
161
+                @foreach ($purchase->purchaseDetail as $key => $purchaseDetail)
162 162
                     <tr>
163
-                        <td style="border-left: 1px solid black;">1</td>
163
+                        <td style="border-left: 1px solid black;">{{ $key + 1 }}</td>
164 164
                         <td style="border-left: 1px solid black; text-align: left;">
165 165
                             {{ $purchaseDetail->product->name }}</td>
166 166
                         <td style="border-left: 1px solid black;">{{ $purchaseDetail->qty }}</td>

+ 4
- 4
resources/views/PDF/Purchases/Invoice.blade.php Vedi File

@@ -153,9 +153,9 @@
153 153
                 </tr>
154 154
             </thead>
155 155
             <tbody style="text-align: center;">
156
-                @foreach ($purchase->purchaseDetail as $purchaseDetail)
156
+                @foreach ($purchase->purchaseDetail as $key => $purchaseDetail)
157 157
                     <tr>
158
-                        <th>1</th>
158
+                        <th>{{ $key + 1 }}</th>
159 159
                         <td style="text-align: left;">{{ $purchaseDetail->product->name }}</td>
160 160
                         <td>{{ $purchaseDetail->qty }}</td>
161 161
                         <td>UNIT</td>
@@ -193,8 +193,8 @@
193 193
             </tfoot>
194 194
         </table>
195 195
 
196
-        <p style="margin: 0; font-size: x-small; font-weight: bold; text-align: right;">Semua produk dikenapan ppn
197
-            sebebar
196
+        <p style="margin: 0; font-size: x-small; font-weight: bold; text-align: right;">Semua produk dikenakan ppn
197
+            sebesar
198 198
             {{ $purchase->ppn ? $ppn : 0 }} %
199 199
         </p>
200 200
 

+ 13
- 12
resources/views/PDF/Sales/Do.blade.php Vedi File

@@ -72,10 +72,10 @@
72 72
                             <td style="padding: 0;">
73 73
                                 <table style="border-spacing: 0;">
74 74
                                     <tr>
75
-                                        <td>XXXXXXXXXXXX</td>
75
+                                        <td>{{ $sale->customer->name }}</td>
76 76
                                     </tr>
77 77
                                     <tr>
78
-                                        <td>XXXXXXXXXXXX</td>
78
+                                        <td>{{ $sale->customer->address }}</td>
79 79
                                     </tr>
80 80
                                 </table>
81 81
                             </td>
@@ -97,7 +97,7 @@
97 97
                             <td style="padding: 0">
98 98
                                 <table style="border-spacing: 0">
99 99
                                     <tr>
100
-                                        <td>XXXXXXXXXXXX</td>
100
+                                        <td>{{ $sale->customer->phone }}</td>
101 101
                                     </tr>
102 102
                                 </table>
103 103
                             </td>
@@ -117,12 +117,12 @@
117 117
                                     <tr>
118 118
                                         <td>DATE</td>
119 119
                                         <td>:</td>
120
-                                        <td>XXXXXXXXXXXX</td>
120
+                                        <td>{{ $sale->updated_at }}</td>
121 121
                                     </tr>
122 122
                                     <tr>
123 123
                                         <td>PO NO</td>
124 124
                                         <td>:</td>
125
-                                        <td>XXXXXXXXXXXX</td>
125
+                                        <td>{{ $sale->number }}</td>
126 126
                                     </tr>
127 127
                                     <tr>
128 128
                                         <td>TTB NO</td>
@@ -158,15 +158,16 @@
158 158
                 </tr>
159 159
             </thead>
160 160
             <tbody style="text-align: center;">
161
-                @for ($i = 0; $i < 150; $i++)
161
+                @foreach ($sale->saleDetail as $key => $saleDetail)
162 162
                     <tr>
163
-                        <td style="border-left: 1px solid black;">1</td>
164
-                        <td style="border-left: 1px solid black; text-align: left;">IMPORTA KURSI OFFICE</td>
165
-                        <td style="border-left: 1px solid black;">1</td>
163
+                        <td style="border-left: 1px solid black;">{{ $key + 1 }}</td>
164
+                        <td style="border-left: 1px solid black; text-align: left;">{{ $saleDetail->product->name }}
165
+                        </td>
166
+                        <td style="border-left: 1px solid black;">{{ $saleDetail->qty }}</td>
166 167
                         <td style="border-left: 1px solid black;">UNIT</td>
167 168
                         <td style="border-left: 1px solid black;"></td>
168 169
                     </tr>
169
-                @endfor
170
+                @endforeach
170 171
             </tbody>
171 172
         </table>
172 173
 
@@ -183,7 +184,7 @@
183 184
                                         <td></td>
184 185
                                         <td></td>
185 186
                                         <td colspan="1">
186
-                                            <p style="margin-bottom: 75px; margin-top: 70px;">XXXXXXXXXXXX</p>
187
+                                            <p style="margin-bottom: 75px; margin-top: 70px;">{{ $company->name }}</p>
187 188
                                         </td>
188 189
                                     </tr>
189 190
                                 </thead>
@@ -200,7 +201,7 @@
200 201
                                         </td>
201 202
                                         <td>
202 203
                                             <span
203
-                                                style="border-top: 1px solid black; width: 150px;display: inline-block; text-align: center;">XXXXXXXXXXXX</span>
204
+                                                style="border-top: 1px solid black; width: 150px;display: inline-block; text-align: center;"></span>
204 205
                                         </td>
205 206
                                     </tr>
206 207
                                 </tbody>

+ 29
- 15
resources/views/PDF/Sales/Invoice.blade.php Vedi File

@@ -72,10 +72,10 @@
72 72
                             <td style="padding: 0;">
73 73
                                 <table style="border-spacing: 0;">
74 74
                                     <tr>
75
-                                        <td>XXXXXXXXXXXX</td>
75
+                                        <td>{{ $sale->customer->name }}</td>
76 76
                                     </tr>
77 77
                                     <tr>
78
-                                        <td>XXXXXXXXXXXX</td>
78
+                                        <td>{{ $sale->customer->address }}</td>
79 79
                                     </tr>
80 80
                                 </table>
81 81
                             </td>
@@ -86,7 +86,7 @@
86 86
                             <td style="padding: 0">
87 87
                                 <table style="border-spacing: 0">
88 88
                                     <tr>
89
-                                        <td>XXXXXXXXXXXX</td>
89
+                                        <td>{{ $sale->customer->npwp }}</td>
90 90
                                     </tr>
91 91
                                 </table>
92 92
                             </td>
@@ -101,7 +101,7 @@
101 101
                                     <tr>
102 102
                                         <td>NPWP</td>
103 103
                                         <td>:</td>
104
-                                        <td>XXXXXXXXXXXXXXX</td>
104
+                                        <td>{{ $company->npwp }}</td>
105 105
                                     </tr>
106 106
                                     <tr>
107 107
                                         <td>Invoice No</td>
@@ -111,12 +111,12 @@
111 111
                                     <tr>
112 112
                                         <td>Date</td>
113 113
                                         <td>:</td>
114
-                                        <td>XXXXXXXXXXXX</td>
114
+                                        <td>{{ $sale->updated_at }}</td>
115 115
                                     </tr>
116 116
                                     <tr>
117 117
                                         <td>PO No</td>
118 118
                                         <td>:</td>
119
-                                        <td>XXXXXXXXXXXX</td>
119
+                                        <td>{{ $sale->number }}</td>
120 120
                                     </tr>
121 121
                                     <tr>
122 122
                                         <td>DO No</td>
@@ -153,19 +153,28 @@
153 153
                 </tr>
154 154
             </thead>
155 155
             <tbody style="text-align: center;">
156
-                @for ($i = 0; $i < 150; $i++)
156
+                @foreach ($sale->saleDetail as $key => $saleDetail)
157 157
                     <tr>
158
-                        <th>1</th>
159
-                        <td style="text-align: left;">IMPORT KURSI OFFICE</td>
160
-                        <td>1</td>
158
+                        <th>{{ $key + 1 }}</th>
159
+                        <td style="text-align: left;">{{ $saleDetail->product->name }}</td>
160
+                        <td>{{ $saleDetail->qty }}</td>
161 161
                         <td>UNIT</td>
162
-                        <td style="text-align: right;">800.000</td>
163
-                        <td style="text-align: right;">800.000</td>
162
+                        <td style="text-align: right;">
163
+                            {{ App\Services\HelperService::rupiahFormat($saleDetail->price) }}</td>
164
+                        <td style="text-align: right;">
165
+                            {{ App\Services\HelperService::rupiahFormat($saleDetail->price * $saleDetail->qty) }}
166
+                        </td>
164 167
                     </tr>
165
-                @endfor
168
+                @endforeach
166 169
             </tbody>
167 170
             <tfoot style="border-top: 1px solid black; border-bottom: 1px solid black; text-align: right;">
168 171
                 <tr>
172
+                    <td colspan="4"></td>
173
+                    <td>TOTAL</td>
174
+                    <td>{{ App\Services\HelperService::rupiahFormat(App\Services\SaleService::totalPrice($sale)) }}
175
+                    </td>
176
+                </tr>
177
+                {{-- <tr>
169 178
                     <td colspan="4"></td>
170 179
                     <td>SUB. TOTAL</td>
171 180
                     <td>800.000</td>
@@ -179,10 +188,15 @@
179 188
                     <td colspan="4"></td>
180 189
                     <td>TOTAL IDR</td>
181 190
                     <td>888.000</td>
182
-                </tr>
191
+                </tr> --}}
183 192
             </tfoot>
184 193
         </table>
185 194
 
195
+        <p style="margin: 0; font-size: x-small; font-weight: bold; text-align: right;">Semua produk dikenakan ppn
196
+            sebesar
197
+            {{ $sale->ppn ? $ppn : 0 }} %
198
+        </p>
199
+
186 200
         <div style="position: absolute; bottom: 0; left: 0; right: 0;">
187 201
             <table>
188 202
                 <tbody>
@@ -194,7 +208,7 @@
194 208
                                     <tr>
195 209
                                         <td></td>
196 210
                                         <td colspan="1">
197
-                                            <p style="margin-bottom: 75px; margin-top: 70px;">XXXXXXXXXXXX</p>
211
+                                            <p style="margin-bottom: 75px; margin-top: 70px;">{{ $company->name }}</p>
198 212
                                         </td>
199 213
                                     </tr>
200 214
                                 </thead>