changes in stock module 12-03-2025

This commit is contained in:
vadivelJ96 2025-03-12 17:22:33 +05:30
parent 295123b596
commit ea1f2b88dd
2 changed files with 116 additions and 66 deletions

View File

@ -246,52 +246,59 @@ class StockController extends BaseController
$incomingSilicaSandDetailsData = json_decode($postData['incomingSilicaSandDetailsData'], true); $incomingSilicaSandDetailsData = json_decode($postData['incomingSilicaSandDetailsData'], true);
if (empty($incomingSilicaSandDetailsData)) {
echo "No data provided";
return;
}
$existingRecords = $this->incomingSilicaSandDetails_model
->whereIn('id', array_column($incomingSilicaSandDetailsData, 'id'))
->findAll();
$existingIds = array_column($existingRecords, 'id');
$inserts = []; $inserts = [];
$updates = []; $updates = [];
foreach ($incomingSilicaSandDetailsData as $data) { foreach ($incomingSilicaSandDetailsData as $data) {
$id = !empty($data['id']) ? $data['id'] : null;
$id = $data['id'];
$dbData = [ $dbData = [
'igrNo_fk' => $data['IGR No'], 'igrNo_fk' => $data['igrNo'],
'materialCode' => $data['MaterialCode'], 'gradeCondition' => $data['gradeCondition'],
'grade' => $data['Grade'], '_10' => $data['_10'],
'gradeCondition' => $data['Grade Condition'], '_20' => $data['_20'],
'_10' => $data['___10___'], '_30' => $data['_30'],
'_20' => $data['___20___'], '_40' => $data['_40'],
'_30' => $data['___30___'], '_50' => $data['_50'],
'_40' => $data['___40___'], '_70' => $data['_70'],
'_50' => $data['___50___'], '_100' => $data['_100'],
'_70' => $data['___70___'], '_140' => $data['_140'],
'_100' => $data['___100___'], '_200' => $data['_200'],
'_140' => $data['___140___'], '_300' => $data['_300'],
'_200' => $data['___200___'], 'pan' => $data['pan'],
'_300' => $data['___300___'], 'total' => $data['total'],
'pan' => $data['PAN'], 'afsSpec' => $data['afsSpec'],
'total' => $data['Total'], 'afsActual' => $data['afsActual'],
'afsSpec' => $data['AFS Spec'], 'plus20loss' => $data['plus20loss'],
'afsActual' => $data['AFS Actual'], 'plus30Loss' => $data['plus30Loss'],
'plus20loss' => $data['Plus 20 loss%'], 'moistureSpec' => $data['moistureSpec'],
'plus30Loss' => $data['Plus 30 Loss %'], 'moistureActual' => $data['moistureActual'],
'moistureSpec' => $data['Moisture % Spec'], 'moistureLoss' => $data['moistureLoss'],
'moistureActual' => $data['Moisture Actual'], 'moistureLossQty' => $data['moistureLossQty'],
'moistureLoss' => $data['Moisture Loss'], 'sieveLossQty' => $data['sieveLossQty'],
'moistureLossQty' => $data['Moisture loss Qty'], 'salableQty' => $data['salableQty'],
'sieveLossQty' => $data['Sieve Loss Qty'], 'remark' => $data['remark'],
'salableQty' => $data['Salable Qty'], 'materialCode' => $data['materialCode'],
'remark' => $data['Remark'] 'clayOrLossOfIgnition' => $data['clayOrLossOfIgnition'],
'testedBy' => $data['testedBy'],
'approvedBy' => $data['approvedBy'],
'reportComments' => $data['reportComments'],
'gradeRange' => $data['gradeRange'],
'reportTime' => $data['reportTime'],
]; ];
if ($id && in_array($id, $existingIds)) {
$dbData['id'] = $id;
$resultExists = $this->incomingSilicaSandDetails_model
->where('id', $id)
->first();
if (!empty($resultExists)) {
$dbData['id'] = $resultExists['id'];
$updates[] = $dbData; $updates[] = $dbData;
} else { } else {
$inserts[] = $dbData; $inserts[] = $dbData;
@ -299,11 +306,11 @@ class StockController extends BaseController
} }
if (!empty($updates)) { if (!empty($updates)) {
$updated = $this->incomingSilicaSandDetails_model->updateBatch($updates, 'id'); $this->incomingSilicaSandDetails_model->updateBatch($updates, 'id');
} }
if (!empty($inserts)) { if (!empty($inserts)) {
$inserted = $this->incomingSilicaSandDetails_model->insertBatch($inserts); $this->incomingSilicaSandDetails_model->insertBatch($inserts);
} }
echo "Data Saved Successfully"; echo "Data Saved Successfully";

View File

@ -369,9 +369,12 @@
<th class="celda_encabezado_general" style="display:none; ">Remark</th> <th class="celda_encabezado_general" style="display:none; ">Remark</th>
<th class="celda_encabezado_general" style="display:none;">MaterialCode</th> <th class="celda_encabezado_general" style="display:none;">MaterialCode</th>
<th class="celda_encabezado_general" style="display:none">id</th> <th class="celda_encabezado_general" style="display:none">id</th>
<th class="celda_encabezado_general" style="display:none">clayOrLossOfIgnition</th>
<th class="celda_encabezado_general" style="display:none">testedBy</th> <th class="celda_encabezado_general" style="display:none">testedBy</th>
<th class="celda_encabezado_general" style="display:none">approvedBy</th> <th class="celda_encabezado_general" style="display:none">approvedBy</th>
<th class="celda_encabezado_general" style="display:none">clayOrLossOfIgnition</th> <th class="celda_encabezado_general" style="display:none">reportComments</th>
<th class="celda_encabezado_general" style="display:none">gradeRange</th>
<th class="celda_encabezado_general" style="display:none">reportTime</th>
@ -1413,21 +1416,7 @@
{ {
$('#save').click(function() { $('#save').click(function() {
var incomingSilicaSandDetailsData = $("#incomingSilicaSandDetailsTable").tableToJSON(); var incomingSilicaSandDetailsData = incomingSilicaSandTableToJson();
$('#incomingSilicaSandDetailsTable tbody tr').each(function (index) {
let row = incomingSilicaSandDetailsData[index];
row['Remark'] = $(this).find('.sand-status').val();
row['Grade Condition'] = $(this).find('.grade-condition').val()
});
incomingSilicaSandDetailsData = JSON.stringify(incomingSilicaSandDetailsData);
$('#loader').show(); $('#loader').show();
$.ajax({ $.ajax({
@ -1471,6 +1460,60 @@
</script> </script>
<script>
function incomingSilicaSandTableToJson() {
let incomingSilicaSandDetails_rows = [];
$('#incomingSilicaSandDetailsTable tbody tr').each(function () {
let rowCells = $(this).find('td');
let rowData = {
igrNo: rowCells.eq(1).text().trim(),
gradeCondition: $(this).find('.grade-condition').val(),//gradeCondition at eq(7) as select2 dropdown
_10: rowCells.eq(10).text().trim(),
_20: rowCells.eq(11).text().trim(),
_30: rowCells.eq(12).text().trim(),
_40: rowCells.eq(13).text().trim(),
_50: rowCells.eq(14).text().trim(),
_70: rowCells.eq(15).text().trim(),
_100: rowCells.eq(16).text().trim(),
_140: rowCells.eq(17).text().trim(),
_200: rowCells.eq(18).text().trim(),
_300: rowCells.eq(19).text().trim(),
pan: rowCells.eq(20).text().trim(),
total: rowCells.eq(21).text().trim(),
afsSpec: rowCells.eq(23).text().trim(),
afsActual: rowCells.eq(24).text().trim(),
plus20loss: rowCells.eq(25).text().trim(),
plus30Loss: rowCells.eq(26).text().trim(),
moistureSpec: rowCells.eq(27).text().trim(),
moistureActual: rowCells.eq(28).text().trim(),
moistureLoss: rowCells.eq(29).text().trim(),
moistureLossQty: rowCells.eq(30).text().trim(),
sieveLossQty: rowCells.eq(31).text().trim(),
salableQty: rowCells.eq(32).text().trim(),
remark: $(this).find('.sand-status').val(),//remark at eq(32) as select2 dropdown
materialCode: rowCells.eq(34).text().trim(),//
id: rowCells.eq(35).text().trim(),
clayOrLossOfIgnition: rowCells.eq(36).text().trim(),
testedBy: rowCells.eq(37).text().trim(),
approvedBy: rowCells.eq(38).text().trim(),
reportComments: rowCells.eq(39).text().trim(),
gradeRange: rowCells.eq(40).text().trim(),
reportTime: rowCells.eq(41).text().trim(),
};
incomingSilicaSandDetails_rows.push(rowData);
});
return JSON.stringify(incomingSilicaSandDetails_rows, null, 2);
}
</script>
<!-- Calculate Row on oninput inside sand report modal --> <!-- Calculate Row on oninput inside sand report modal -->
<script> <script>