stock module - 18-03-2025

This commit is contained in:
vadivelJ96 2025-03-18 15:28:51 +05:30
parent 50cd3c0d19
commit e32f0c59bc

View File

@ -2473,21 +2473,34 @@ class StockController extends BaseController
public function updateResinStockDetails()
{
$postData = $this->request->getPost();
$updateResinStockDetailsData = json_decode($postData['updateResinStockDetails'], true);
$updates = [];
$postData = $this->request->getPost('updateResinStockDetails');
$updateResinStockDetailsData = json_decode($postData, true);
if (empty($updateResinStockDetailsData)) {
echo "No data provided";
return;
}
$inserts = [];
$updates = [];
$dates = array_column($updateResinStockDetailsData, 'date');
$materialCodes = array_column($updateResinStockDetailsData, 'materialCode');
// Fetch existing records in bulk to reduce queries
$existingRecords = $this->resinStockDetails_model
->whereIn('date', $dates)
->whereIn('materialCode', $materialCodes)
->findAll();
$existingMap = [];
foreach ($existingRecords as $record) {
$existingMap[$record['date'] . '_' . $record['materialCode']] = $record['id'];
}
foreach ($updateResinStockDetailsData as $data) {
$date = $data['date'];
$materialCode = $data['materialCode'];
$key = $data['date'] . '_' . $data['materialCode'];
$dbData = [
'date' => $data['date'],
@ -2498,40 +2511,29 @@ class StockController extends BaseController
'used' => $data['used'],
'balanceStock' => $data['balanceStock'],
];
$resultExists = $this->resinStockDetails_model
->where('date', $date)
->where('materialCode', $materialCode)
->first();
if (empty($resultExists)) {
$inserts[] = $dbData;
} else {
$dbData['id'] = $resultExists['id'];
if (isset($existingMap[$key])) {
$dbData['id'] = $existingMap[$key];
$updates[] = $dbData;
} else {
$inserts[] = $dbData;
}
}
if (!empty($inserts)) {
$this->resinStockDetails_model->insertBatch($inserts);
}
if (!empty($updates)) {
$updateResult = $this->resinStockDetails_model->updateBatch($updates, 'id');
if ($updateResult === FALSE) {
if ($this->resinStockDetails_model->updateBatch($updates, 'id') === false) {
echo "Error during update";
} else {
echo "Data Updated Successfully";
return;
}
}
echo "Data Saved Successfully";
}
public function createDummyEntryForResin($customisedMaterialCode, $startDate, $endDate)
{
@ -2858,14 +2860,32 @@ class StockController extends BaseController
$updateBagStockDetailsData = json_decode($postData['updateBagStockDetails'], true);
if (empty($updateBagStockDetailsData)) {
echo "No data provided";
return;
}
$inserts = [];
$updates = [];
$dates = array_column($updateBagStockDetailsData, 'date');
$materialCodes = array_column($updateBagStockDetailsData, 'materialCode');
// Fetch existing records in bulk to reduce queries
$existingRecords = $this->bagStockDetails_model
->whereIn('date', $dates)
->whereIn('materialCode', $materialCodes)
->findAll();
$existingMap = [];
foreach ($existingRecords as $record) {
$existingMap[$record['date'] . '_' . $record['materialCode']] = $record['id'];
}
foreach ($updateBagStockDetailsData as $data) {
$date = $data['date'];
$materialCode = $data['materialCode'];
$key = $data['date'] . '_' . $data['materialCode'];
$dbData = [
'date' => $data['date'],
@ -2877,18 +2897,12 @@ class StockController extends BaseController
'balanceStock' => $data['balanceStock'],
];
$resultExists = $this->bagStockDetails_model
->where('date', $date)
->where('materialCode', $materialCode)
->first();
if (empty($resultExists)) {
$inserts[] = $dbData;
} else {
$dbData['id'] = $resultExists['id'];
$updates[] = $dbData;
}
if (isset($existingMap[$key])) {
$dbData['id'] = $existingMap[$key];
$updates[] = $dbData;
} else {
$inserts[] = $dbData;
}
}
if (!empty($inserts)) {