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

@ -241,74 +241,81 @@ class StockController extends BaseController
public function updateIncomingSilicaSandDetails()
{
$postData = $this->request->getPost();
$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 = [];
$updates = [];
foreach ($incomingSilicaSandDetailsData as $data) {
$id = $data['id'];
$id = !empty($data['id']) ? $data['id'] : null;
$dbData = [
'igrNo_fk' => $data['IGR No'],
'materialCode' => $data['MaterialCode'],
'grade' => $data['Grade'],
'gradeCondition' => $data['Grade Condition'],
'_10' => $data['___10___'],
'_20' => $data['___20___'],
'_30' => $data['___30___'],
'_40' => $data['___40___'],
'_50' => $data['___50___'],
'_70' => $data['___70___'],
'_100' => $data['___100___'],
'_140' => $data['___140___'],
'_200' => $data['___200___'],
'_300' => $data['___300___'],
'pan' => $data['PAN'],
'total' => $data['Total'],
'afsSpec' => $data['AFS Spec'],
'afsActual' => $data['AFS Actual'],
'plus20loss' => $data['Plus 20 loss%'],
'plus30Loss' => $data['Plus 30 Loss %'],
'moistureSpec' => $data['Moisture % Spec'],
'moistureActual' => $data['Moisture Actual'],
'moistureLoss' => $data['Moisture Loss'],
'moistureLossQty' => $data['Moisture loss Qty'],
'sieveLossQty' => $data['Sieve Loss Qty'],
'salableQty' => $data['Salable Qty'],
'remark' => $data['Remark']
'igrNo_fk' => $data['igrNo'],
'gradeCondition' => $data['gradeCondition'],
'_10' => $data['_10'],
'_20' => $data['_20'],
'_30' => $data['_30'],
'_40' => $data['_40'],
'_50' => $data['_50'],
'_70' => $data['_70'],
'_100' => $data['_100'],
'_140' => $data['_140'],
'_200' => $data['_200'],
'_300' => $data['_300'],
'pan' => $data['pan'],
'total' => $data['total'],
'afsSpec' => $data['afsSpec'],
'afsActual' => $data['afsActual'],
'plus20loss' => $data['plus20loss'],
'plus30Loss' => $data['plus30Loss'],
'moistureSpec' => $data['moistureSpec'],
'moistureActual' => $data['moistureActual'],
'moistureLoss' => $data['moistureLoss'],
'moistureLossQty' => $data['moistureLossQty'],
'sieveLossQty' => $data['sieveLossQty'],
'salableQty' => $data['salableQty'],
'remark' => $data['remark'],
'materialCode' => $data['materialCode'],
'clayOrLossOfIgnition' => $data['clayOrLossOfIgnition'],
'testedBy' => $data['testedBy'],
'approvedBy' => $data['approvedBy'],
'reportComments' => $data['reportComments'],
'gradeRange' => $data['gradeRange'],
'reportTime' => $data['reportTime'],
];
$resultExists = $this->incomingSilicaSandDetails_model
->where('id', $id)
->first();
if (!empty($resultExists)) {
$dbData['id'] = $resultExists['id'];
if ($id && in_array($id, $existingIds)) {
$dbData['id'] = $id;
$updates[] = $dbData;
} else {
$inserts[] = $dbData;
}
}
if (!empty($updates)) {
$updated = $this->incomingSilicaSandDetails_model->updateBatch($updates, 'id');
$this->incomingSilicaSandDetails_model->updateBatch($updates, 'id');
}
if (!empty($inserts)) {
$inserted = $this->incomingSilicaSandDetails_model->insertBatch($inserts);
$this->incomingSilicaSandDetails_model->insertBatch($inserts);
}
echo "Data Saved Successfully";
}
//This is particulary updated by the lab technichians
public function updateLabReport()

View File

@ -369,9 +369,12 @@
<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">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">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() {
var incomingSilicaSandDetailsData = $("#incomingSilicaSandDetailsTable").tableToJSON();
$('#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);
var incomingSilicaSandDetailsData = incomingSilicaSandTableToJson();
$('#loader').show();
$.ajax({
@ -1471,6 +1460,60 @@
</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 -->
<script>