changes in stock module 12-03-2025
This commit is contained in:
parent
295123b596
commit
ea1f2b88dd
@ -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()
|
||||
|
||||
@ -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>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user