21 Commits

Author SHA1 Message Date
105295350b Merge pull request 'corrected alignment for item pdf' (#836) from ranjith-dev into master
All checks were successful
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 15s
Reviewed-on: #836
2026-07-17 06:20:52 +00:00
dhanabalan
41d31fcf3d corrected alignment for item pdf
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 15s
Gemini PR Review / Gemini PR Review (pull_request) Failing after 16s
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Successful in 16s
Laravel Pint / pint (pull_request) Successful in 2m24s
Laravel Larastan / larastan (pull_request) Failing after 4m18s
2026-07-17 11:50:38 +05:30
ac1ca537ef Merge pull request 'changed logic in order pdf' (#835) from ranjith-dev into master
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Has been cancelled
Reviewed-on: #835
2026-07-17 06:16:02 +00:00
dhanabalan
5e86a51fa5 changed logic in order pdf
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 16s
Gemini PR Review / Gemini PR Review (pull_request) Failing after 19s
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Successful in 16s
Laravel Larastan / larastan (pull_request) Failing after 4m45s
Laravel Pint / pint (pull_request) Successful in 3m52s
2026-07-17 11:45:47 +05:30
207527491e Merge pull request 'reversed logic in production order pdf' (#834) from ranjith-dev into master
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Has been cancelled
Reviewed-on: #834
2026-07-17 06:11:37 +00:00
dhanabalan
188cfdac4d reversed logic in production order pdf
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 15s
Gemini PR Review / Gemini PR Review (pull_request) Failing after 17s
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Successful in 16s
Laravel Pint / pint (pull_request) Successful in 4m22s
Laravel Larastan / larastan (pull_request) Failing after 7m3s
2026-07-17 11:41:21 +05:30
7aa244886b Merge pull request 'Adjusted align issue in print blade file' (#833) from ranjith-dev into master
All checks were successful
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 15s
Reviewed-on: #833
2026-07-17 05:44:21 +00:00
dhanabalan
8f3dfbc290 Adjusted align issue in print blade file
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 17s
Gemini PR Review / Gemini PR Review (pull_request) Failing after 20s
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Successful in 16s
Laravel Pint / pint (pull_request) Successful in 4m23s
Laravel Larastan / larastan (pull_request) Failing after 6m32s
2026-07-17 11:14:07 +05:30
5189ece56b Merge pull request 'changed size of the wire pallet' (#832) from ranjith-dev into master
All checks were successful
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 19s
Reviewed-on: #832
2026-07-17 04:10:30 +00:00
dhanabalan
a294ca3ef0 changed size of the wire pallet
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 17s
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Successful in 21s
Gemini PR Review / Gemini PR Review (pull_request) Failing after 24s
Laravel Pint / pint (pull_request) Successful in 4m28s
Laravel Larastan / larastan (pull_request) Failing after 5m10s
2026-07-17 09:40:06 +05:30
bbecb86dc3 Merge pull request 'added logic in cycle count' (#831) from ranjith-dev into master
All checks were successful
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 15s
Reviewed-on: #831
2026-07-16 10:09:46 +00:00
dhanabalan
fdc0aed31c added logic in cycle count
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 15s
Gemini PR Review / Gemini PR Review (pull_request) Failing after 17s
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Successful in 14s
Laravel Pint / pint (pull_request) Successful in 3m36s
Laravel Larastan / larastan (pull_request) Failing after 3m59s
2026-07-16 15:39:29 +05:30
a3cec9db06 Merge pull request 'Changed logic in cycle count' (#830) from ranjith-dev into master
All checks were successful
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 22s
Reviewed-on: #830
2026-07-16 09:56:51 +00:00
dhanabalan
947aacb074 Changed logic in cycle count
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 15s
Gemini PR Review / Gemini PR Review (pull_request) Failing after 17s
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Successful in 14s
Laravel Pint / pint (pull_request) Successful in 2m22s
Laravel Larastan / larastan (pull_request) Failing after 3m44s
2026-07-16 15:26:36 +05:30
0c6331282e Merge pull request 'uncommented doc no update logic' (#829) from ranjith-dev into master
All checks were successful
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 18s
Reviewed-on: #829
2026-07-16 06:54:01 +00:00
dhanabalan
b7b5db068b uncommented doc no update logic
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 16s
Gemini PR Review / Gemini PR Review (pull_request) Failing after 17s
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Successful in 15s
Laravel Pint / pint (pull_request) Successful in 2m25s
Laravel Larastan / larastan (pull_request) Failing after 4m55s
2026-07-16 12:23:44 +05:30
7d8b2d8632 Merge pull request 'ranjith-dev' (#828) from ranjith-dev into master
All checks were successful
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 16s
Reviewed-on: #828
2026-07-16 04:19:45 +00:00
dhanabalan
d42ae70e46 added item code api route php
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 14s
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Successful in 18s
Gemini PR Review / Gemini PR Review (pull_request) Failing after 21s
Laravel Larastan / larastan (pull_request) Failing after 4m9s
Laravel Pint / pint (pull_request) Successful in 4m20s
2026-07-16 09:48:50 +05:30
dhanabalan
be2e7b00d7 added get item code method in plant controller
All checks were successful
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 20s
2026-07-16 09:47:06 +05:30
7276765aa4 Merge pull request 'removed inspection status column in production characteristic' (#827) from ranjith-dev into master
All checks were successful
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 25s
Reviewed-on: #827
2026-07-13 08:33:47 +00:00
dhanabalan
1ce7995105 removed inspection status column in production characteristic
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 1m15s
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Successful in 58s
Gemini PR Review / Gemini PR Review (pull_request) Failing after 2m4s
Laravel Pint / pint (pull_request) Successful in 2m59s
Laravel Larastan / larastan (pull_request) Failing after 4m20s
2026-07-13 14:03:27 +05:30
7 changed files with 136 additions and 17 deletions

View File

@@ -39,8 +39,6 @@ class ProductionCharacteristicExporter extends Exporter
->label('OBSERVED VALUE'), ->label('OBSERVED VALUE'),
ExportColumn::make('status') ExportColumn::make('status')
->label('STATUS'), ->label('STATUS'),
ExportColumn::make('inspection_status')
->label('INSPECTION STATUS'),
ExportColumn::make('remark') ExportColumn::make('remark')
->label('REMARK'), ->label('REMARK'),
ExportColumn::make('created_at') ExportColumn::make('created_at')

View File

@@ -128,7 +128,8 @@ class CycleCount extends Page
$operatorName = $user->name; $operatorName = $user->name;
$pattern1 = '/^[^#]*#[^#]*#[^#]*#[^#]*#$/'; $pattern1 = '/^[^#]*#[^#]*#[^#]*#[^#]*#$/';
$pattern2 = '/^[^|]*\|[^|]*\|[^|]*$/'; // $pattern2 = '/^[^|]*\|[^|]*\|[^|]*$/';
$pattern2 = '/^[^|]+\|[^|]+(?:\|[^|]*)?$/';
$pattern3 = '/^([a-zA-Z0-9]{6,})\|([1-9][a-zA-Z0-9]{8,})(?:\/[MmPp])?\|?$/'; $pattern3 = '/^([a-zA-Z0-9]{6,})\|([1-9][a-zA-Z0-9]{8,})(?:\/[MmPp])?\|?$/';
// $pattern2 = '/^[^|]+\|[^|]+\|[^|]+\|?$/'; Optional Pipeline at end // $pattern2 = '/^[^|]+\|[^|]+\|[^|]+\|?$/'; Optional Pipeline at end
@@ -678,7 +679,7 @@ class CycleCount extends Page
$stock->update([ $stock->update([
'bin' => $bin, 'bin' => $bin,
'batch' => $this->batch, 'batch' => $this->batch,
// 'doc_no' =>$this->docNo, 'doc_no' =>$this->docNo,
'scanned_quantity' => $newScannedQty, 'scanned_quantity' => $newScannedQty,
'scanned_status' => $status, 'scanned_status' => $status,
]); ]);
@@ -721,6 +722,13 @@ class CycleCount extends Page
$parts = explode('|', $value); $parts = explode('|', $value);
$this->itemCode = $parts[0] ?? null; $this->itemCode = $parts[0] ?? null;
if (count($parts) == 2) {
// Format: itemcode|serialnumber
$this->sNo = $parts[1];
$this->batch = null;
} else {
// Format: itemcode|value1|value2
if (strlen($parts[1]) > strlen($parts[2])) { if (strlen($parts[1]) > strlen($parts[2])) {
$this->sNo = $parts[1]; $this->sNo = $parts[1];
$this->batch = $parts[2]; $this->batch = $parts[2];
@@ -728,6 +736,14 @@ class CycleCount extends Page
$this->batch = $parts[1]; $this->batch = $parts[1];
$this->sNo = $parts[2]; $this->sNo = $parts[2];
} }
}
// if (strlen($parts[1]) > strlen($parts[2])) {
// $this->sNo = $parts[1];
// $this->batch = $parts[2];
// } else {
// $this->batch = $parts[1];
// $this->sNo = $parts[2];
// }
if (strlen($this->itemCode) < 6) { if (strlen($this->itemCode) < 6) {
Notification::make() Notification::make()
@@ -759,7 +775,7 @@ class CycleCount extends Page
]); ]);
return; return;
} elseif (strlen($this->batch) < 5) { } elseif (count($parts) !== 2 && strlen($this->batch) < 5) {
Notification::make() Notification::make()
->title('Unknown Batch') ->title('Unknown Batch')
->body("Batch should contain minimum 5 digits '$this->batch'") ->body("Batch should contain minimum 5 digits '$this->batch'")
@@ -927,7 +943,7 @@ class CycleCount extends Page
'bin' => $bin, 'bin' => $bin,
'serial_number' => $this->sNo, 'serial_number' => $this->sNo,
'stickerMasterId' => $stickerMasterId, 'stickerMasterId' => $stickerMasterId,
'batch' => $this->batch, 'batch' => $this->batch ?? null,
'docNo' => $this->docNo, 'docNo' => $this->docNo,
'quantity' => $this->quantity, 'quantity' => $this->quantity,
]), ]),
@@ -1240,7 +1256,7 @@ class CycleCount extends Page
return; return;
} }
if ($serialAgaPlant->batch != '' || $serialAgaPlant->batch != null) { if (count($parts) !== 2 && ($serialAgaPlant->batch != '' || $serialAgaPlant->batch != null)){
if ($serialAgaPlant->batch != $this->batch) { if ($serialAgaPlant->batch != $this->batch) {
@@ -1396,7 +1412,7 @@ class CycleCount extends Page
'bin' => $bin, 'bin' => $bin,
'serial_number' => $this->sNo, 'serial_number' => $this->sNo,
'stickerMasterId' => $stickerMasterId, 'stickerMasterId' => $stickerMasterId,
'batch' => $this->batch, 'batch' => $this->batch ?? null,
'docNo' => $this->docNo, 'docNo' => $this->docNo,
'quantity' => $this->quantity, 'quantity' => $this->quantity,
]), ]),
@@ -1415,8 +1431,8 @@ class CycleCount extends Page
$serial->update([ $serial->update([
'bin' => $bin ?? null, 'bin' => $bin ?? null,
'batch' => $this->batch ?? null, 'batch' => count($parts) !== 2 ? $this->batch : $serial->batch,
'doc_no' => $this->docNo ?? null, // 'doc_no' => $this->docNo ?? null,
'scanned_status' => 'Scanned', 'scanned_status' => 'Scanned',
'scanned_quantity' => '1', 'scanned_quantity' => '1',
'updated_at' => now(), 'updated_at' => now(),
@@ -2132,6 +2148,7 @@ class CycleCount extends Page
} }
} }
} }
} }
protected function getHeaderActions(): array protected function getHeaderActions(): array

View File

@@ -2,6 +2,7 @@
namespace App\Http\Controllers; namespace App\Http\Controllers;
use App\Models\Item;
use App\Models\Plant; use App\Models\Plant;
use Illuminate\Http\Request; use Illuminate\Http\Request;
@@ -56,6 +57,78 @@ class PlantController extends Controller
]); ]);
} }
public function getItemCode(Request $request){
$expectedUser = env('API_AUTH_USER');
$expectedPw = env('API_AUTH_PW');
$header_auth = $request->header('Authorization');
$expectedToken = $expectedUser.':'.$expectedPw;
if ('Bearer '.$expectedToken != $header_auth) {
return response()->json([
'status_code' => 'ERROR',
'status_description' => 'Invalid authorization token!',
], 403);
}
$plantCode = $request->header('plant-code');
$itemCode = $request->header('item-code');
if (! $plantCode) {
return response()->json([
'status_code' => 'ERROR',
'status_description' => "Plant Code value can't be empty",
], 404);
} elseif (! $itemCode) {
return response()->json([
'status_code' => 'ERROR',
'status_description' => 'Item code cannot be empty!',
], 404);
}
$plant = Plant::where('code', $plantCode)->first();
$plantId = $plant->id;
if (! $plant) {
return response()->json([
'status_code' => 'ERROR',
'status_description' => "Plant Code '{$plantCode}' not found!",
], 404);
}
$itemCodeExist = Item::where('code', $itemCode)->first();
if (! $itemCodeExist) {
return response()->json([
'status_code' => 'ERROR',
'status_description' => 'Item code not found',
], 404);
}
$itemCodePlantExist = Item::where('code', $itemCode)->where('plant_id', $plantId)->first();
if (! $itemCodePlantExist) {
return response()->json([
'status_code' => 'ERROR',
'status_description' => "Item code not found against plant code '$plantCode'",
], 404);
}
if (empty(trim($itemCodePlantExist->description ?? ''))) {
return response()->json([
'status_code' => 'ERROR',
'status_description' => "Description is empty in Item Master against item code '$itemCode'.",
], 404);
}
return response()->json([
'status_code' => 'SUCCESS',
'status_description' => [
'description' => $itemCodePlantExist->description,
],
], 200);
}
/** /**
* Update the specified resource in storage. * Update the specified resource in storage.
*/ */

View File

@@ -307,7 +307,7 @@
max-width: <?php echo $isilogoMaxWidth; ?>mm; max-width: <?php echo $isilogoMaxWidth; ?>mm;
left: 71mm;"> --}} left: 71mm;"> --}}
<img src="{{ $qrBase64 }}" <img src="{{ $qrBase64 }}"
style="position: absolute; bottom: 1.2mm; right: 2mm; width: 8mm; height: 7.2mm;"> style="position: absolute; bottom: 0.8mm; right: 2mm; width: 8mm; height: 7.8mm;">
</td> </td>
</tr> </tr>

View File

@@ -77,6 +77,17 @@
position: absolute; position: absolute;
right: 5pt; right: 5pt;
top: 8pt; top: 8pt;
/* width: 69pt; */
}
.po-long {
font-size: 8pt;
font-weight: bold;
text-align: left !important;
position: absolute;
right: 5pt;
top: 8pt;
width: 69pt;
} }
/* .desc { /* .desc {
@@ -108,7 +119,10 @@
</td> </td>
<td class="text"> <td class="text">
<div class="serial">{{ $sticker['serial'] }}</div> <div class="serial">{{ $sticker['serial'] }}</div>
<div class="po">{{ $sticker['production_order'] }}</div> {{-- <div class="po">{{ $sticker['production_order'] }}</div> --}}
<div class="{{ strlen($sticker['serial']) > 14 ? 'po-long' : 'po' }}">
{{ $sticker['production_order'] }}
</div>
<div class="desc">{{ $sticker['description'] }}</div> <div class="desc">{{ $sticker['description'] }}</div>
</td> </td>
</tr> </tr>

View File

@@ -79,6 +79,16 @@
top: 8pt; top: 8pt;
} }
.po-long {
font-size: 8pt;
font-weight: bold;
text-align: left !important;
position: absolute;
right: 5pt;
top: 8pt;
width: 45pt;
}
/* .desc { /* .desc {
font-size: 6pt; font-size: 6pt;
margin-left: -5pt; margin-left: -5pt;
@@ -108,7 +118,10 @@
</td> </td>
<td class="text"> <td class="text">
<div class="serial">{{ $sticker['serial'] }}</div> <div class="serial">{{ $sticker['serial'] }}</div>
<div class="po">{{ $sticker['production_order'] }}</div> {{-- <div class="po">{{ $sticker['production_order'] }}</div> --}}
<div class="{{ strlen($sticker['serial']) > 14 ? 'po-long' : 'po' }}">
{{ $sticker['production_order'] }}
</div>
<div class="desc">{{ $sticker['description'] }}</div> <div class="desc">{{ $sticker['description'] }}</div>
</td> </td>
</tr> </tr>

View File

@@ -234,3 +234,7 @@ Route::post('file/store', [SapFileController::class, 'store'])->name('file.store
Route::get('/print-pallet/{pallet}/{plant}', [PalletPrintController::class, 'print'])->name('print.pallet'); Route::get('/print-pallet/{pallet}/{plant}', [PalletPrintController::class, 'print'])->name('print.pallet');
Route::post('vehicle/entry', [VehicleController::class, 'storeVehicleEntry']); Route::post('vehicle/entry', [VehicleController::class, 'storeVehicleEntry']);
//..Item Code
Route::get('item-code', [PlantController::class, 'getItemCode']);