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