stock module changes-3 vadivel J 17-12-2024

This commit is contained in:
vadivelJ96 2024-12-18 17:14:03 +05:30
parent 2417e32e92
commit 4158dfac41
4 changed files with 615 additions and 497 deletions

View File

@ -129,7 +129,6 @@ class StockController extends BaseController
$data['month'] = $formattedDate;
return $this->loadViews("CoatingMachineDetail", $this->global, $data, NULL);
}
public function addNewCoatingMachineDetails()
@ -194,7 +193,6 @@ class StockController extends BaseController
// Set flashdata for success message
return redirect()->to("/coatingMachineDetails?month=$month")
->with('success', $message1 . " " . $message2 . " " . $message3);
} catch (\Exception $error) {
$this->db->transRollback();
return redirect()->back()->with('error', ' ' . $error->getMessage());
@ -239,7 +237,6 @@ class StockController extends BaseController
$message2 = 'And updated gas stock consumption.';
$message3 = "Warning..!! Kindly Update the next subsequent month Gas Stock If older month Gas Stock Updated..!!";
}
// Commit the transaction if all queries succeed
@ -255,7 +252,6 @@ class StockController extends BaseController
// Set flashdata for success message
return redirect()->to("/coatingMachineDetails?month=$month")
->with('success', $message1 . " " . $message2 . " " . $message3);
} else {
throw new \Exception('Failed to update Coating machine details.');
}
@ -263,11 +259,6 @@ class StockController extends BaseController
$this->db->transRollback();
return redirect()->back()->with('error', ' ' . $error->getMessage());
}
}
public function deleteCoatingMachineDetails()
@ -316,9 +307,8 @@ class StockController extends BaseController
$materialCodes = $this->rawmaterialdetails_model->getAllSilicaRawMaterialCode();
if (!empty($materialCodes)) {
$data['igrDetails'] = $this->inwardGateRegister_model->findIgrDetailsForIncomingSilicaSand($materialCodes, $month,$remark);
} else {
$data['igrDetails'] = $this->inwardGateRegister_model->findIgrDetailsForIncomingSilicaSand($materialCodes, $month, $remark);
} else {
$data['igrDetails'] = [];
}
@ -331,7 +321,6 @@ class StockController extends BaseController
$data['remark'] = $remark;
return $this->loadViews("incomingSilicaSandDetails", $this->global, $data, NULL);
}
public function updateIncomingSilicaSandDetails()
@ -345,7 +334,7 @@ class StockController extends BaseController
$updates = [];
foreach ($incomingSilicaSandDetailsData as $data) {
$id = $data['id'];
$dbData = [
@ -379,84 +368,81 @@ class StockController extends BaseController
];
$resultExists = $this->incomingSilicaSandDetails_model
->where('id', $id)
->first();
if(!empty($resultExists)){
$dbData['id'] = $resultExists['id'];
$updates[] = $dbData ;
}else{
$inserts[] = $dbData;
}
if (!empty($resultExists)) {
$dbData['id'] = $resultExists['id'];
$updates[] = $dbData;
} else {
$inserts[] = $dbData;
}
}
if(!empty($updates)){
$updated = $this->incomingSilicaSandDetails_model->updateBatch($updates,'id');
if (!empty($updates)) {
$updated = $this->incomingSilicaSandDetails_model->updateBatch($updates, 'id');
}
if(!empty($inserts)){
if (!empty($inserts)) {
$inserted = $this->incomingSilicaSandDetails_model->insertBatch($inserts);
}
echo "Data Saved Successfully";
}
public function updateLabReport(){
public function updateLabReport()
{
$postData = $this->request->getPost();
$postData = $this->request->getPost();
$id = $postData['id'];
$id = $postData['id'];
$dbData = [
'igrNo_fk' =>$postData['igrNo'],
'materialCode' => $postData['materialCode'],
'_10' => $postData['10Mm'],
'_20' => $postData['20Mm'],
'_30' => $postData['30Mm'],
'_40' => $postData['40Mm'],
'_50' => $postData['50Mm'],
'_70' => $postData['70Mm'],
'_100' => $postData['100Mm'],
'_140' => $postData['140Mm'],
'_200' => $postData['200Mm'],
'_300' => $postData['300Mm'],
'pan' => $postData['pan'],
'total' => $postData['total'],
'plus20loss' => $postData['plus20Loss'],
'plus30Loss' => $postData['plus30Loss'],
'moistureSpec' => $postData['moistureSpec'],
'moistureActual' => $postData['moistureActual'],
'moistureLoss' => $postData['moistureLoss'],
'moistureLossQty'=> $postData['moistureLossQty'],
'sieveLossQty' => $postData['sieveLossQty'],
'salableQty' => $postData['salableQty'],
$dbData = [
'igrNo_fk' => $postData['igrNo'],
'materialCode' => $postData['materialCode'],
'_10' => $postData['10Mm'],
'_20' => $postData['20Mm'],
'_30' => $postData['30Mm'],
'_40' => $postData['40Mm'],
'_50' => $postData['50Mm'],
'_70' => $postData['70Mm'],
'_100' => $postData['100Mm'],
'_140' => $postData['140Mm'],
'_200' => $postData['200Mm'],
'_300' => $postData['300Mm'],
'pan' => $postData['pan'],
'total' => $postData['total'],
'plus20loss' => $postData['plus20Loss'],
'plus30Loss' => $postData['plus30Loss'],
'moistureSpec' => $postData['moistureSpec'],
'moistureActual' => $postData['moistureActual'],
'moistureLoss' => $postData['moistureLoss'],
'moistureLossQty' => $postData['moistureLossQty'],
'sieveLossQty' => $postData['sieveLossQty'],
'salableQty' => $postData['salableQty'],
];
];
$resultExists = $this->incomingSilicaSandDetails_model
->where('id', $id)
->first();
if($resultExists){
$resultExists = $this->incomingSilicaSandDetails_model
->where('id', $id)
->first();
if ($resultExists) {
$updated = $this->incomingSilicaSandDetails_model
->update($id,$dbData);
}else{
->update($id, $dbData);
} else {
$updated = $this->incomingSilicaSandDetails_model
->insert($dbData);
->insert($dbData);
}
if($updated){
return redirect()->back()->with('success','Data Saved Successfully..!!');
}else{
return redirect()->back()->with('error','Error Saving Data..!!');
}
if ($updated) {
return redirect()->back()->with('success', 'Data Saved Successfully..!!');
} else {
return redirect()->back()->with('error', 'Error Saving Data..!!');
}
}
@ -545,10 +531,8 @@ class StockController extends BaseController
$distinctMaterialCodes[] = $result[$index]['materialCode'];
}
$bagMaterials = $this->rawmaterialdetails_model->getSelectedBagMaterialCode($distinctMaterialCodes);
} else {
$bagMaterials = $this->rawmaterialdetails_model->getAllBagMaterialCode();
}
@ -576,7 +560,6 @@ class StockController extends BaseController
$data['month'] = $formattedDate;
return $this->loadViews("bagStockDetails", $this->global, $data, NULL);
}
public function updateBagStockDetails()
@ -613,11 +596,9 @@ class StockController extends BaseController
if (empty($resultExists)) {
$inserts[] = $dbData;
} else {
$dbData['id'] = $resultExists['id'];
$updates[] = $dbData;
}
}
@ -634,11 +615,9 @@ class StockController extends BaseController
echo "Data Updated Successfully";
return;
}
}
echo "Data Saved Successfully";
}
@ -679,7 +658,6 @@ class StockController extends BaseController
$data['month'] = $formattedDate;
return $this->loadViews("dustAndRoughStockDetails", $this->global, $data, NULL);
}
public function updateDustAndRoughStockDetails()
@ -713,7 +691,6 @@ class StockController extends BaseController
if (empty($resultExists)) {
$inserts[] = $dbData;
} else {
$updates[] = $dbData;
}
@ -736,7 +713,6 @@ class StockController extends BaseController
}
echo "Data Saved Successfully";
}
@ -825,11 +801,8 @@ class StockController extends BaseController
$distinctMaterialCodes[] = $result[$index]['materialCode'];
}
$resinMaterials = $this->rawmaterialdetails_model->getSelectedResinMaterialCode($distinctMaterialCodes);
} else {
$resinMaterials = $this->rawmaterialdetails_model->getAllResinMaterialCode();
}
@ -855,7 +828,6 @@ class StockController extends BaseController
$data['month'] = $formattedDate;
return $this->loadViews("resinStockDetails", $this->global, $data, NULL);
}
public function updateResinStockDetails()
@ -898,7 +870,6 @@ class StockController extends BaseController
$dbData['id'] = $resultExists['id'];
$updates[] = $dbData;
}
}
@ -919,7 +890,6 @@ class StockController extends BaseController
}
echo "Data Saved Successfully";
}
@ -960,9 +930,10 @@ class StockController extends BaseController
$endDate = date("Y-m-t", strtotime($startDate));
$data['gasStockDetails'] = $this->gasStockDetails_model
->select('t_gasStockDetails.*,
t_drierMachineDetails.total_gas_consumption AS drierMachineGasConsumption,
t_drierMachineDetails.sand_dried_qty AS sandDried,
->select(
't_gasStockDetails.*,
drier_summary.drierMachineGasconsumption AS drierMachineGasConsumption,
drier_summary.driedSand AS sandDried,
coating_summary.coatingMachineGasconsumption,
coating_summary.coatedSand'
)
@ -981,10 +952,15 @@ class StockController extends BaseController
'left'
)
->join(
't_drierMachineDetails',
't_drierMachineDetails.date = t_gasStockDetails.date
AND t_drierMachineDetails.date >= ' . $this->db->escape($startDate) . '
AND t_drierMachineDetails.date <= ' . $this->db->escape($endDate),
'(SELECT date,
SUM(total_gas_consumption) AS drierMachineGasconsumption,
SUM(sand_dried_qty) AS driedSand
FROM t_drierMachineDetails
WHERE date >= ' . $this->db->escape($startDate) . '
AND date <= ' . $this->db->escape($endDate) . '
GROUP BY date
) AS drier_summary',
'drier_summary.date = t_gasStockDetails.date',
'left'
)
@ -1108,8 +1084,6 @@ class StockController extends BaseController
$updates[] = $result;
}
if (!empty($updates)) {
@ -1118,7 +1092,6 @@ class StockController extends BaseController
} else {
return 0;
}
} else {
@ -1181,8 +1154,6 @@ class StockController extends BaseController
];
$opening = $balanceStock;
}
if (!empty($inserts)) {
@ -1191,7 +1162,6 @@ class StockController extends BaseController
} else {
return 0;
}
}
}
@ -1256,7 +1226,11 @@ class StockController extends BaseController
$data['timeDropdown'] = $this->generateTimeOptions();
$data['supplierData'] = $this->supplier_model->supplierlisting();
$data['drierDetails'] = $this->drierMachineDetails_model->where('date >=', $data['startDate'])->where('date <=', $data['endDate'])->findAll();
$data['drierDetails'] = $this->drierMachineDetails_model->where('date >=', $data['startDate'])
->where('date <=', $data['endDate'])
->orderBy('date','asc')
->findAll();
if (!count($data['drierDetails'])) {
//insert empty data
$tempInsert = [];
@ -1265,7 +1239,10 @@ class StockController extends BaseController
}
$this->drierMachineDetails_model->insertBatch($tempInsert);
$data['drierDetails'] = $this->drierMachineDetails_model->where('date >=', $data['startDate'])->where('date <=', $data['endDate'])->findAll();
$data['drierDetails'] = $this->drierMachineDetails_model->where('date >=', $data['startDate'])
->where('date <=', $data['endDate'])
->orderBy('date','asc')
->findAll();
}
$data['datefordropdown'] = $currentMonth;
@ -1279,11 +1256,34 @@ class StockController extends BaseController
public function addOrEditdrierMachineDetails()
{
$drierData = [];
$drierData = json_decode($this->request->getPost('drierData'), true);
if (empty($drierData)) {
echo "No data received.";
return;
$additionalEntry = $this->request->getPost();
if (!empty($additionalEntry)) {
$drierData[] = [
'Date' => $this->convertToDateWithFlexibleFormats($additionalEntry['Date'], ["d-m-Y", "Y-m-d", "m/d/Y", "m-d-Y"], "Y-m-d"),
'Drier On Time' => $additionalEntry['Drier_On_Time'],
'Drier Off Time' => $additionalEntry['Drier_Off_Time'],
'Running Hrs' => $additionalEntry['Running_Hrs'],
'Supplier Name' => $additionalEntry['Supplier_Name'],
'i/p Sand Moisture(%)' => $additionalEntry['i/p_Sand_Moisture(%)'],
'Tot Gas Consumption' => $additionalEntry['Tot_Gas_Consumption'],
'Gas Per Ton' => $additionalEntry['Gas_Per_Ton'],
'i/p Sand Qty' => $additionalEntry['i/p_Sand_Qty'],
'Moisture Loss Qty' => $additionalEntry['Moisture_Loss_Qty'],
'Sand Dried Qty' => $additionalEntry['Sand_Dried_Qty'],
'Qty Per Hrs' => $additionalEntry['Qty_Per_Hrs'],
'Dust Qty' => $additionalEntry['Dust_Qty'],
'Customer Name' => $additionalEntry['Customer_Name']
];
} else {
echo "No data received.";
return;
}
}
$message1 = '';
@ -1293,14 +1293,14 @@ class StockController extends BaseController
try {
foreach ($drierData as $row) {
$data = [
'date' => DateTime::createFromFormat('d-m-Y', $row['Date'])->format('Y-m-d'),
'date' => $this->convertToDateWithFlexibleFormats($row['Date'], ["d-m-Y", "Y-m-d", "m/d/Y", "m-d-Y"], "Y-m-d"),
'drier_on_time' => $row['Drier On Time'],
'drier_off_time' => $row['Drier Off Time'],
'drier_running_hours' => $row['Running Hrs'],
'supplier_name' => $row['Supplier Name'],
'input_sand_moisture' => $row['i/p Sand Moisture(%)'],
'total_gas_consumption' => $row['Tot Gas Consumption'],
'gas_per_ton' => $row['Gas Pre Ton'],
'gas_per_ton' => $row['Gas Per Ton'],
'input_sand_qty' => $row['i/p Sand Qty'],
'moisture_loss_qty' => $row['Moisture Loss Qty'],
'sand_dried_qty' => $row['Sand Dried Qty'],
@ -1310,7 +1310,7 @@ class StockController extends BaseController
];
// Check if a row with the same date already exists
$existingRow = $this->drierMachineDetails_model->where('date', $data['date'])->first();
$existingRow = $this->drierMachineDetails_model->where('id', $row['id'] ?? '')->first();
$inserts = [];
$updates = [];
@ -1330,7 +1330,6 @@ class StockController extends BaseController
}
$data['id'] = $existingRow['id'];
$updates[] = $data;
} else {
// If not, insert a new row
//before inserting the row update gas stock
@ -1340,7 +1339,6 @@ class StockController extends BaseController
$inserts[] = $data;
}
if (!empty($inserts)) {
@ -1358,21 +1356,47 @@ class StockController extends BaseController
if ($this->db->transStatus() === false) {
throw new \Exception('Transaction failed due to database error.');
}
}
$this->db->transCommit();
echo "Data successfully saved. $message1";
} catch (\Exception $e) {
if (!empty($additionalEntry)) {
return redirect()->back()->with('success', " Data Saved Successfully..!!");
}
echo "Data saved successfully . $message1";
} catch (\Exception $e) {
// Rollback the transaction on any failure
$this->db->transRollback();
echo "Failed to save/Update data: " . $e->getMessage();
}
}
function convertToDateWithFlexibleFormats($dateInput, array $inputFormats, string $outputFormat): ?string
{
// If it's already a DateTime object, just format it
if ($dateInput instanceof DateTime) {
return $dateInput->format($outputFormat);
}
// If it's a string, attempt to parse it
if (is_string($dateInput)) {
foreach ($inputFormats as $format) {
$date = DateTime::createFromFormat($format, $dateInput);
if ($date) {
return $date->format($outputFormat);
}
}
}
return $dateInput;
}
public function factoryVehicleDieselDetails()
{
$currentMonth = $this->request->getPost('month') ? $this->request->getPost('month') : date('M-Y');
@ -1437,7 +1461,6 @@ class StockController extends BaseController
$this->global['pageTitle'] = 'Drier Details';
$this->loadViews("factoryDieselMachineDetails", $this->global, $data, NULL);
}
public function getDieselConsumptionPivot($machineDetails, $startDate, $endDeate)
@ -1514,7 +1537,6 @@ class StockController extends BaseController
if ($row['machine_id'] == 0) {
// Summary data: if machine_id is 0, it indicates summary data. This distinction is used because these records will be stored in a separate table.
$this->factoryVehicleDieselStockSummary_model->where('date', $row['date'])->set($row)->update();
} else {
// Diesel - factory vehicle data :
@ -1524,14 +1546,11 @@ class StockController extends BaseController
} else {
$this->factoryVehicleDieselDetails_model->insert($row);
}
}
}
echo "Data successfully saved.";
}
@ -1573,7 +1592,6 @@ class StockController extends BaseController
$this->global['pageTitle'] = 'Power Consumption Details';
$this->loadViews("powerConsumptionDetails", $this->global, $data, NULL);
}
public function getElectricConsumptionPivot($machineDetails, $startDate, $endDeate)
@ -1654,8 +1672,5 @@ class StockController extends BaseController
echo "Data successfully saved.";
}
}

View File

@ -348,7 +348,7 @@ class Ipinvoice_model extends Model
->join('ip_invoice_items b', 'a.invoice_id = b.invoice_id', 'left')
->join('ip_invoice_item_amounts c', 'b.item_id = c.item_id', 'left')
->where('a.invoice_date_created >=', $fiscalYearStartCurrent)
->where('a.invoice_status_id', 2)
->whereIn('a.invoice_status_id', [2,5])
->groupBy("DATE_FORMAT(a.invoice_date_created, '%b')")
->orderBy('MONTH(a.invoice_date_created)');
@ -360,7 +360,7 @@ class Ipinvoice_model extends Model
->join('ip_invoice_item_amounts c', 'b.item_id = c.item_id', 'left')
->where('a.invoice_date_created >=', $fiscalYearStartLast)
->where('a.invoice_date_created <', $fiscalYearStartCurrent)
->where('a.invoice_status_id', 2)
->whereIn('a.invoice_status_id', [2,5])
->groupBy("DATE_FORMAT(a.invoice_date_created, '%b')")
->orderBy('MONTH(a.invoice_date_created)');
@ -425,7 +425,7 @@ class Ipinvoice_model extends Model
->join('ip_tax_rates igst', 'igst.tax_rate_id = iit.igst_item_tax_rate_id', 'left')
->join('ip_tax_rates tcs', 'tcs.tax_rate_id = tc.tax_rate_id', 'left')
->where('icf.invoice_custom_fieldid', $vehicleCustomFieldId)
->where('ii.invoice_status_id', 2)
->whereIn('ii.invoice_status_id', [2,5])
->where('ii.invoice_date_created', date('Y-m-d'))
->groupBy('ii.invoice_number, iit.item_description')
->orderBy('ii.invoice_number');

File diff suppressed because it is too large Load Diff

View File

@ -171,13 +171,13 @@
<th>Invoice No</th>
<th>Client Name</th>
<th>Product</th>
<th>Rate</th>
<th>Quantity</th>
<th>Rate</th>
<th>Sub Total</th>
<th>GST</th>
<th>Total</th>
<th>Status</th>
<th>E-Invoice Number</th>
<!-- <th>E-Invoice Number</th> -->
<th>Action</th>
</tr>
</thead>
@ -205,13 +205,13 @@
</td>
<td><?php echo $invoice->client_name ?></td>
<td><?php echo $invoice->item_name ?></td>
<td align="right"><?php echo number_format($invoice->item_price, 2, '.', ',') ?></td>
<td align="right"><?php echo number_format($invoice->item_quantity, 2, '.', ',') ?></td>
<td align="right"><?php echo number_format($invoice->item_price, 2, '.', ',') ?></td>
<td align="right"><?php echo number_format($subtotal, 2, '.', ',') ?></td>
<td align="right"><?php echo number_format($cgst_amount + $sgst_amount, 2, '.', ',') ?></td>
<td align="right"><?php echo number_format($total, 2, '.', ',') ?></td>
<td><?php echo $invoice->status ?></td>
<td><?php echo $invoice->e_invoice_number; ?></td>
<!-- <td><?php echo $invoice->e_invoice_number; ?></td> -->
<td>
<a class="edit-button" style="cursor: pointer; display: inline-block;" title="Files Upload" onclick="openInvoiceModal('<?php echo $invoice->invoice_number; ?>', '<?php echo $invoice->client_name; ?>', '<?php echo $invoice->invoice_date_created; ?>', '<?php echo $invoice->invoice_id; ?>')">
<i class="fas fa-file-upload text-muted" style="font-size: 18px; vertical-align: middle;"></i>