Merge branch 'new_theme' of bitbucket.org:venbainformationtechnology/ria into new_theme

This commit is contained in:
Gowtham M 2025-01-29 17:04:23 +05:30
commit 374912af60
13 changed files with 426 additions and 232 deletions

View File

@ -6,7 +6,7 @@
// $routes->match(['GET', 'POST'], 'trpProductionDetails', 'StockController::trpProductionDetails');
# GET http://localhost/ci4/ria/trpProductionDetails
GET http://localhost/ci4/ria/trpProductionDetails

View File

@ -18,7 +18,7 @@ class Email extends BaseConfig
/**
* The mail sending protocol: mail, sendmail, smtp
*/
public string $protocol = 'mail';
public string $protocol = 'smtp';
/**
* The server path to Sendmail.
@ -28,27 +28,31 @@ class Email extends BaseConfig
/**
* SMTP Server Hostname
*/
public string $SMTPHost = '';
public string $SMTPHost = 'smtp.gmail.com';
// public string $SMTPHost = 'smtppro.zoho.com';
/**
* SMTP Username
*/
public string $SMTPUser = '';
public string $SMTPUser = 'venbalap08@gmail.com';
// public string $SMTPUser = 'mailadmin@resicoindustries.com';
/**
* SMTP Password
*/
public string $SMTPPass = '';
public string $SMTPPass = 'oykobiumkymckoir';
// public string $SMTPPass = 'RI@feb23';
/**
* SMTP Port
*/
public int $SMTPPort = 25;
public int $SMTPPort = 587;
// public int $SMTPPort = 465;
/**
* SMTP Timeout (in seconds)
*/
public int $SMTPTimeout = 5;
public int $SMTPTimeout = 20;
/**
* Enable persistent SMTP connections
@ -77,7 +81,7 @@ class Email extends BaseConfig
/**
* Type of mail, either 'text' or 'html'
*/
public string $mailType = 'text';
public string $mailType = 'html';
/**
* Character set (utf-8, iso-8859-1, etc.)

View File

@ -8,7 +8,7 @@ use CodeIgniter\Validation\Exceptions\ValidationException;
use App\Models\Inwardgateregister_model;
use App\Models\IGRRemarks_model;
use App\Helpers\Notification;
use DateTime;
use ZipArchive;
@ -26,6 +26,7 @@ class Inwardgateregister extends BaseController
protected $inwardgateregister_model;
protected $IGRRemarks_model;
protected $session;
protected $logger;
/**
* This is default constructor of the class
@ -38,6 +39,7 @@ class Inwardgateregister extends BaseController
$this->session = session();
helper('form'); //$this->load->library('form_validation');
$this->logger = service('logger'); // Load the logger service
$this->isLoggedIn();
}
@ -410,6 +412,7 @@ class Inwardgateregister extends BaseController
//$IGRStatus = IGR_CREATED;//old
$PreIGRStatus = (int)$this->request->getPost('hideIGRStatus') == 1 ? IGR_CREATED : IGR_DRAFT;
$IGRStatus = ((int)$IsThisOpenOrderPO == 1) ? IGR_DRAFT : $PreIGRStatus;
$igr = array(); // For IGR Master
$paymentstatus = NO_PAIDIGR;
@ -827,6 +830,7 @@ function viewIGRDetails()
log_message('error', 'UpdateIGR igrarr: ' . json_encode($igrarr));
$updateigrmaster = $this->inwardgateregister_model->updateigr($igrarr, $IGRNo);
log_message('error', "Master updated successfully: " . $updateigrmaster);
if(!empty($tableData )){
if($VehicleNo){
$vecno = $this->inwardgateregister_model->get_igr_history('VehicleNo',$IGRNo);
@ -1073,6 +1077,42 @@ function viewIGRDetails()
}
}
$result_for_email = $this->inwardgateregister_model->getDetailsforEmail($this->session->get('userId'));
if ($updateigrmaster > 0 || $updateigrlineitem > 0) {
if ($IGRStatus == IGR_CREATED || $IGRStatus == MRIR_CREATED || $IGRStatus == MRIR_APPROVED ) {
$result_for_email = $this->inwardgateregister_model->getDetailsforEmail($this->session->get('userId'));
$notification = new Notification();
for ($i = 0; $i < count($result_for_email['emails']); $i++) {
$email_response = $notification->sendEmail([
'recipient_email' => $result_for_email['emails'][$i]->email,
'subject' => 'Resico Industries - IGR Notification',
'description' => 'IGR Number : '.$IGRNo.' is Edited By '.($result_for_email['full_name'] ?? $this->session->get('name')),
'company' => $result_for_email['company'],
'from_mail'=> $result_for_email['from_mail']
]);
log_message('error', 'email reponse : ' . json_encode($email_response));
// Determine the email response
$mail_log = isset($email_response['success']) ? 'Email sent successfully' : 'Failed to send email';
$receiving_status = isset($email_response['success']) ? 1 : 0;
// Log the result
if ($receiving_status) {
$this->logger->info("Email ID = " . $result_for_email['emails'][$i]->email . " " . $mail_log);
} else {
$this->logger->error("Email ID = " . $result_for_email['emails'][$i]->email . " " . $mail_log);
}
}
}
}
if ($updateigrmaster > 0) {
$finalstatement = "Successfully Updated IGR Number: $IGRNo \n";
} else if($updateigrlineitem >0){

View File

@ -41,8 +41,8 @@ use App\Models\Zohobook_api_model;
class Report extends BaseController
{
protected $dahsboard_Model;
protected $session;
protected $session;
protected $logger;
/**
* This is default constructor of the class
*/
@ -54,6 +54,7 @@ class Report extends BaseController
$this->isLoggedIn();
$this->session = session();
$this->logger = service('logger');
}
public function index()
@ -987,6 +988,8 @@ class Report extends BaseController
$frm = $this->request->getPost('from_date');
$t = $this->request->getPost('to_date');
$m = $this->request->getPost('month');
$purchaseorder_number = $this->request->getPost('purchaseorder_number');
$ab = $this->request->getPost('financialyear');
$fa = substr((string)$ab, 0, -5);
@ -996,11 +999,11 @@ class Report extends BaseController
$headline .= (isset($prod) && !empty($prod)) ? $prod . ' ' : '';
$headline .= (isset($ab) && !empty($ab)) ? '(' . $ab . ') ' : '';
$headline .= (isset($m) && !empty($m)) ? '(' . $m . ') ' : '';
$headline .= (isset($frm) && isset($t) && !empty($m) && !empty($m)) ? $frm . '-to-' . $t : '';
$pending_purchase_details = $this->dahsboard_Model->pending_purchase($cname, $prod, $fa, $aa, $m, $frm, $t);
$headline .= ((isset($frm) && isset($t)) && (!empty($frm) && !empty($t))) ? $frm . '-to-' . $t : '';
$headline .= (isset($purchaseorder_number) && !empty($purchaseorder_number)) ? '(' . $purchaseorder_number . ') ' : '';
$pending_purchase_details = $this->dahsboard_Model->pending_purchase($cname, $prod, $fa, $aa, $m, $frm, $t, $purchaseorder_number);
}
$data['pono'] = $this->dahsboard_Model->purchase_order_list();
$data['material'] = $this->dahsboard_Model->material_name();
$data['cust'] = $this->dahsboard_Model->customer_name();
$data['finyear'] = $this->dahsboard_Model->report_finyear();

View File

@ -496,7 +496,7 @@ class StockController extends BaseController
} else {
$updated = $this->incomingSilicaSandDetails_model
->insert($dbData);
}
}
if ($updated) {
@ -1383,7 +1383,7 @@ class StockController extends BaseController
} else {
// $month = new DateTime('2024-10-01');
// $month = $month->format('Y-m');
// $month = $month->format('Y-m');
$month = date('Y-m');
@ -1409,7 +1409,9 @@ class StockController extends BaseController
$inserts = $this->generateDummyData($startDate, $endDate);
$data['trpProductionMaintenanceData'] = $this->updateTrpProductionDetails($inserts);
$freshEntry = true ;
$data['trpProductionMaintenanceData'] = $this->updateTrpProductionDetails($inserts ,$freshEntry);
}
@ -1443,147 +1445,155 @@ class StockController extends BaseController
public function updateTrpProductionDetails($inserts) {
$postData = $this->request->getPost();
if(empty($postData['updateTrpProductionDetails'])){
if(empty($inserts)){
return $this->response->setJSON(['error' => 'No data found to update']);
}else{
$postData['updateTrpProductionDetails'] = $inserts;
}
}
$updateTrpProductionDetails = $postData['updateTrpProductionDetails'];
$updateProduction = [];
$updateMaintanence = [];
$updateWaste = [];
$insertProduction = [];
$insertMaintanence = [];
$insertWaste = [];
foreach ($updateTrpProductionDetails as $data) {
$data['date'] = $this->convertToDateWithFlexibleFormats($data['Date'], ["d-m-Y", "Y-m-d", "m/d/Y", "m-d-Y"], "Y-m-d");
$date = $data['date'];
$dbDataTrpMaintenance = [
'date' => $data['date'],
'openingTime' => $data['openingTime'],
'closingTime' => $data['closingTime'],
'totalHours' => $data['totalHours'],
'coldStart' => $data['coldStart'],
'breakdownHours' => $data['breakdownHours'],
'burnerFiringHours' => $data['burnerFiringHours'],
'sandFeedingHours' => $data['sandFeedingHours'],
'workingPersonEngineers' => $data['workingPersonEngineers'],
'workingPersonSupervisiors' => $data['workingPersonSupervisiors'],
'workingPersonOperators' => $data['workingPersonOperators'],
'rollerDrivers' => $data['rollerDrivers'],
'natureOfMaintenance' => $data['natureOfMaintenance'],
'location' => $data['location'],
'description' => $data['description']
];
$dbDataTrpProduction = [
'date' => $data['date'],
'gasReceiptBg' => $data['gasReceiptBg'],
'gasReceiptPg' => $data['gasReceiptPg'],
'physicalGasConsumption'=> $data['physicalGasConsumption'],
'trpPlusDrierGasConsumption'=> $data['trpPlusDrierGasConsumption'],
'trpPhysicalGasPerTon' => $data['trpPhysicalGasPerTon'],
'panelGasConsumption' => $data['panelGasConsumption'],
'panelGasPerTon' => $data['panelGasPerTon'],
'edRunningHours' => $data['edRunningHours'],
'edProduction' => $data['edProduction'],
'edUsage' => $data['edUsage'],
'trpProduction' => $data['trpProduction'],
'trpProductionPerHour' => $data['trpProductionPerHour'],
'waterReceipt' => $data['waterReceipt'],
'waterConsumption' => $data['waterConsumption'],
'ebReading' => $data['ebReading'],
'ebReadingPerUnitTon' => $data['ebReadingPerUnitTon'],
];
$dbDataTrpWaste = [
'date' => $data['date'],
'msSeperation' => $data['msSeperation'],
'edWaste' => $data['edWaste'],
'coolerBags' => $data['coolerBags'],
'edPlus20Waste' => $data['edPlus20Waste'],
'cycloneWaste' => $data['cycloneWaste'],
];
$trpMaintenanceResultExists = $this->TrpProductionMaintenance_model
->where('date', $date)
->first();
$trpProductionResultExists = $this->TrpProduction_model
->where('date', $date)
->first();
$trpWasteResultExists = $this->TrpProductionWaste_model
->where('date', $date)
->first();
if (empty($trpMaintenanceResultExists)) {
$insertMaintanence[] = $dbDataTrpMaintenance;
$insertProduction[] = $dbDataTrpProduction;
$insertWaste[] = $dbDataTrpWaste;
} else {
$dbDataTrpMaintenance['id'] = $trpMaintenanceResultExists['id'];
$dbDataTrpProduction['id'] = $trpProductionResultExists['id'];
$dbDataTrpWaste['id'] = $trpWasteResultExists['id'];
$updateMaintanence[] = $dbDataTrpMaintenance;
$updateProduction[] = $dbDataTrpProduction;
$updateWaste[] = $dbDataTrpWaste;
}
}
// Start the transaction
$this->db->transBegin();
try {
if (!empty($insertMaintanence)) {
$this->TrpProductionMaintenance_model->insertBatch($insertMaintanence);
}
if (!empty($insertProduction)) {
$this->TrpProduction_model->insertBatch($insertProduction);
}
if (!empty($insertWaste)) {
$this->TrpProductionWaste_model->insertBatch($insertWaste);
}
if (!empty($updateMaintanence)) {
$this->TrpProductionMaintenance_model->updateBatch($updateMaintanence, 'id');
}
if (!empty($updateProduction)) {
$this->TrpProduction_model->updateBatch($updateProduction, 'id');
}
if (!empty($updateWaste)) {
$this->TrpProductionWaste_model->updateBatch($updateWaste, 'id');
}
// Commit the transaction if all operations are successful
$this->db->transCommit();
echo "Data Saved Successfully";
} catch (\Exception $error) {
// Rollback the transaction in case of any errors
$this->db->transRollback();
echo "An error occurred: " . $error->getMessage();
}
}
public function updateTrpProductionDetails($inserts, $freshEntry = false)
{
$postData = $this->request->getPost();
if (empty($postData['updateTrpProductionDetails'])) {
if (empty($inserts)) {
return $this->response->setJSON(['error' => 'No data found to update']);
} else {
$postData['updateTrpProductionDetails'] = $inserts;
}
}
$updateTrpProductionDetails = $postData['updateTrpProductionDetails'];
// Extract all dates from input data
$dates = array_column($updateTrpProductionDetails, 'Date');
$formattedDates = array_map(fn($date) => $this->convertToDateWithFlexibleFormats($date, ["d-m-Y", "Y-m-d", "m/d/Y", "m-d-Y"], "Y-m-d"), $dates);
// Fetch all existing records in a single query per table
$existingMaintenance = $this->TrpProductionMaintenance_model->whereIn('date', $formattedDates)->findAll();
$existingProduction = $this->TrpProduction_model->whereIn('date', $formattedDates)->findAll();
$existingWaste = $this->TrpProductionWaste_model->whereIn('date', $formattedDates)->findAll();
// Map existing records by date for quick lookup
$existingMaintenanceMap = array_column($existingMaintenance, null, 'date');
$existingProductionMap = array_column($existingProduction, null, 'date');
$existingWasteMap = array_column($existingWaste, null, 'date');
$insertMaintenance = [];
$updateMaintenance = [];
$insertProduction = [];
$updateProduction = [];
$insertWaste = [];
$updateWaste = [];
foreach ($updateTrpProductionDetails as $data) {
$date = $this->convertToDateWithFlexibleFormats($data['Date'], ["d-m-Y", "Y-m-d", "m/d/Y", "m-d-Y"], "Y-m-d");
// Data arrays
$dbDataTrpMaintenance = [
'date' => $date,
'openingTime' => $data['openingTime'],
'closingTime' => $data['closingTime'],
'totalHours' => $data['totalHours'],
'coldStart' => $data['coldStart'],
'breakdownHours' => $data['breakdownHours'],
'burnerFiringHours' => $data['burnerFiringHours'],
'sandFeedingHours' => $data['sandFeedingHours'],
'workingPersonEngineers' => $data['workingPersonEngineers'],
'workingPersonSupervisiors' => $data['workingPersonSupervisiors'],
'workingPersonOperators' => $data['workingPersonOperators'],
'rollerDrivers' => $data['rollerDrivers'],
'natureOfMaintenance' => $data['natureOfMaintenance'],
'location' => $data['location'],
'description' => $data['description']
];
$dbDataTrpProduction = [
'date' => $date,
'gasReceiptBg' => $data['gasReceiptBg'],
'gasReceiptPg' => $data['gasReceiptPg'],
'physicalGasConsumption' => $data['physicalGasConsumption'],
'trpPlusDrierGasConsumption' => $data['trpPlusDrierGasConsumption'],
'trpPhysicalGasPerTon' => $data['trpPhysicalGasPerTon'],
'panelGasConsumption' => $data['panelGasConsumption'],
'panelGasPerTon' => $data['panelGasPerTon'],
'edRunningHours' => $data['edRunningHours'],
'edProduction' => $data['edProduction'],
'edUsage' => $data['edUsage'],
'trpProduction' => $data['trpProduction'],
'trpProductionPerHour' => $data['trpProductionPerHour'],
'waterReceipt' => $data['waterReceipt'],
'waterConsumption' => $data['waterConsumption'],
'ebReading' => $data['ebReading'],
'ebReadingPerUnitTon' => $data['ebReadingPerUnitTon'],
];
$dbDataTrpWaste = [
'date' => $date,
'msSeperation' => $data['msSeperation'],
'edWaste' => $data['edWaste'],
'coolerBags' => $data['coolerBags'],
'edPlus20Waste' => $data['edPlus20Waste'],
'cycloneWaste' => $data['cycloneWaste'],
];
// Check if data already exists
if (isset($existingMaintenanceMap[$date])) {
$dbDataTrpMaintenance['id'] = $existingMaintenanceMap[$date]['id'];
$updateMaintenance[] = $dbDataTrpMaintenance;
} else {
$insertMaintenance[] = $dbDataTrpMaintenance;
}
if (isset($existingProductionMap[$date])) {
$dbDataTrpProduction['id'] = $existingProductionMap[$date]['id'];
$updateProduction[] = $dbDataTrpProduction;
} else {
$insertProduction[] = $dbDataTrpProduction;
}
if (isset($existingWasteMap[$date])) {
$dbDataTrpWaste['id'] = $existingWasteMap[$date]['id'];
$updateWaste[] = $dbDataTrpWaste;
} else {
$insertWaste[] = $dbDataTrpWaste;
}
}
// Start transaction
$this->db->transBegin();
try {
// Insert new records in batch
if (!empty($insertMaintenance)) {
$this->TrpProductionMaintenance_model->insertBatch($insertMaintenance);
}
if (!empty($insertProduction)) {
$this->TrpProduction_model->insertBatch($insertProduction);
}
if (!empty($insertWaste)) {
$this->TrpProductionWaste_model->insertBatch($insertWaste);
}
// Update existing records in batch
if (!empty($updateMaintenance)) {
$this->TrpProductionMaintenance_model->updateBatch($updateMaintenance, 'id');
}
if (!empty($updateProduction)) {
$this->TrpProduction_model->updateBatch($updateProduction, 'id');
}
if (!empty($updateWaste)) {
$this->TrpProductionWaste_model->updateBatch($updateWaste, 'id');
}
// Commit transaction if successful
$this->db->transCommit();
if (!$freshEntry) {
echo "Data Saved Successfully";
}
} catch (\Exception $error) {
// Rollback transaction on error
$this->db->transRollback();
echo "An error occurred: " . $error->getMessage();
}
}
@ -1592,10 +1602,10 @@ class StockController extends BaseController
$datesInMonth = [];
$inserts = [];
$period = new DatePeriod(
new DateTime($startDate),
new DateInterval('P1D'),
(new DateTime($endDate))->modify('+1 day')
$period = new DatePeriod(
new DateTime($startDate),
new DateInterval('P1D'),
(new DateTime($endDate))->modify('+1 day')
);
foreach ($period as $day) {
@ -1606,41 +1616,41 @@ class StockController extends BaseController
$inserts[] = [
'Date' => $dateInMonth,
'openingTime' => '00:00',
'closingTime' => '00:00',
'totalHours' => '00:00',
'coldStart' => '00:00',
'breakdownHours' => '00:00',
'burnerFiringHours' => '00:00',
'sandFeedingHours' => '00:00',
'workingPersonEngineers' => 0,
'workingPersonSupervisiors' => 0,
'workingPersonOperators' => 0,
'rollerDrivers' => 0,
'openingTime' => " ",
'closingTime' => " ",
'totalHours' => " ",
'coldStart' => " ",
'breakdownHours' => " ",
'burnerFiringHours' => " ",
'sandFeedingHours' => " ",
'workingPersonEngineers' => " ",
'workingPersonSupervisiors' => " ",
'workingPersonOperators' => " ",
'rollerDrivers' => " ",
'natureOfMaintenance' => '',
'location' => '',
'description' => '',
'gasReceiptBg' => 0,
'gasReceiptPg' => 0,
'physicalGasConsumption' => 0,
'trpPlusDrierGasConsumption' => 0,
'trpPhysicalGasPerTon' => 0,
'panelGasConsumption' => 0,
'panelGasPerTon' => 0,
'edRunningHours' => 0,
'edProduction' => 0,
'edUsage' => 0,
'trpProduction' => 0,
'trpProductionPerHour' => 0,
'waterReceipt' => 0,
'waterConsumption' => 0,
'ebReading' => 0,
'ebReadingPerUnitTon' => 0,
'msSeperation' => 0,
'edWaste' => 0,
'coolerBags' => 0,
'edPlus20Waste' => 0,
'cycloneWaste' => 0
'gasReceiptBg' => " ",
'gasReceiptPg' => " ",
'physicalGasConsumption' => " ",
'trpPlusDrierGasConsumption' => " ",
'trpPhysicalGasPerTon' => " ",
'panelGasConsumption' => " ",
'panelGasPerTon' => " ",
'edRunningHours' => " ",
'edProduction' => " ",
'edUsage' => " ",
'trpProduction' => " ",
'trpProductionPerHour' => " ",
'waterReceipt' => " ",
'waterConsumption' => " ",
'ebReading' =>" ",
'ebReadingPerUnitTon' =>" ",
'msSeperation' => " ",
'edWaste' => " ",
'coolerBags' =>" ",
'edPlus20Waste' => " ",
'cycloneWaste' => " "
];
}

71
app/Helpers/Notification.php Executable file
View File

@ -0,0 +1,71 @@
<?php
namespace App\Helpers;
class Notification
{
protected $email;
protected $logger;
public function __construct()
{
$this->email = service('email');
$this->logger = service('logger');
}
public function sendEmail($records)
{
$this->logger->error('Helper : Email Request Data type = '.gettype($records));
$cc = isset($records['carboncopy']) ? $records['carboncopy'] : '';
$bcc = isset($records['blindcarboncopy']) ? $records['blindcarboncopy'] : '';
try {
$this->email->clear();
if($records['recipient_email'] == "" && $records['subject'] == ""){
throw new \Exception("Email and Subject are Must Please Try again..");
}
$this->email->setTo($records['recipient_email']);
$this->logger->error('Helper : Email recipient = '.$records['recipient_email']);
$this->email->setFrom($records['from_mail'], isset($records['company'])?$records['company']:"RI Pvt Ltd");
$this->email->setSubject($records['subject']);
$this->logger->error('Helper : Email subject = '.$records['subject']);
$this->email->setMessage($records['description']);
if ($cc !== '') {
$ccRecipients = explode(',', trim($cc));
$this->logger->error('Helper : Email carbon copy CC recipient = ' . implode(',', $ccRecipients));
if (!empty($ccRecipients)) {
$this->email->setCC($ccRecipients);
}
} else {
$this->email->setCC('vadivel.j@venbainfotech.com');
}
if ($bcc !== '') {
$bccRecipients = explode(',', trim($bcc));
$this->logger->error('Helper : Email blindcarboncopy BCC recipient = ' . implode(',', $bccRecipients));
if(!empty($bccRecipients)) {
$this->email->setBCC($bccRecipients);
}
}else{
$this->email->setCC('gowtham.m@venbainfotech.com');
}
if ($this->email->send()) {
$message['success'] = 'Email sent successfully';
$this->logger->error('Helper : Email Status = sent successfully');
} else {
throw new \Exception('Email sending failed.');
}
} catch (\Exception $e) {
$this->logger->error('Helper : Email Error = ' . $e->getMessage());
$message['error'] = 'Email Exception Occur : ' . $e->getMessage();
}
return $message;
}
}
?>

View File

@ -2185,7 +2185,7 @@ category = '" . $cat . "' ";
//echo $sql;
return $query->getResult();
}
function pending_purchase($cname, $prod, $fa, $aa, $m, $frm, $t)
function pending_purchase($cname, $prod, $fa, $aa, $m, $frm, $t, $purchaseorder_number)
{
$sql = "select po.PONO as po,date_format(po.PODate,'%d-%m-%Y') as pdate,sup.SupplierName as supplier,mm.MaterialName as material,mm.Category as category,pl.Quantity as quantity,pl.ReceivedQuantity as received, (pl.Quantity - pl.ReceivedQuantity) as pending
@ -2227,6 +2227,10 @@ where po.Status != 'ST030' and po.Status = 'ST026'
// $sql.=" and mm.Category = '".$cat."' ";
// }
if($purchaseorder_number != ''){
$sql .= " and po.PONO = '" . $purchaseorder_number . "' ";
}
$sql .= "order by po.PONO";
$query = $this->db->query($sql);
//echo $sql;
@ -3020,4 +3024,15 @@ function daybeforetotal($yesterday){
$query = $this->db->query($sql);
return $query->getResult();
}
function purchase_order_list()
{
$sql = "select po.PONO as po,po.POType as type,date(po.PODate) as podate
from t_purchaseorder_master po
where po.Status != 'ST030' and po.Status = 'ST026'
order by podate desc";
$query = $this->db->query($sql);
return $query->getResult();
}
}

View File

@ -1167,6 +1167,35 @@ class Inwardgateregister_model extends Model
return $result;
}
public function getDetailsforEmail($userId)
{
$query0 = $this->db->query("
SELECT CompanyName,EmailAddress
FROM t_company_details");
$company = $query0->getRow();
$query1 = $this->db->query("
SELECT CONCAT_WS(' ', t_employee_details.FirstName, t_employee_details.LastName) AS FullName
FROM tbl_users
LEFT JOIN t_employee_details ON tbl_users.EmpID = t_employee_details.EmpID
WHERE tbl_users.userId = ?", [$userId]
);
$fullName = $query1->getRow();
$query2 = $this->db->query("
SELECT email FROM tbl_users
WHERE isDeleted = 0 AND roleId = 2" // hardcoded because auditor role only. refer with gwm 29/01/2025
);
$emails = $query2->getResult();
return [
'from_mail' => $company ? $company->EmailAddress : null,
'full_name' => $fullName ? $fullName->FullName : null,
'company' => $company ? $company->CompanyName : null,
'emails' => $emails
];
}
}

View File

@ -68,6 +68,8 @@ class TrpProductionModel extends Model
// Convert the array of material codes to a comma-separated string
$materialCodesString = "'" . implode("','", $materialCodes) . "'";
// dd($materialCodes);
$sql = "SELECT
@ -190,9 +192,9 @@ class TrpProductionModel extends Model
tigrd.CreatedDate ,
SUM(CASE WHEN ts.SupplierName = 'ASHOK LEYLAND LIMITED FOUNDRY DIVN - SPU' THEN tigrd.QuantityAsPerInvoice ELSE 0 END) AS
SUM(CASE WHEN ts.SupplierName = 'Ashok leyland limited foundry divn-SPU' THEN tigrd.QuantityAsPerInvoice ELSE 0 END) AS
`ALs_wcs`,
SUM(CASE WHEN ts.SupplierName = 'ASHOK LEYLAND LIMITED FOUNDRY DIVN - ENU' THEN tigrd.QuantityAsPerInvoice ELSE 0 END) AS
SUM(CASE WHEN ts.SupplierName = 'Ashok leyland limited foundry divn-ENU' THEN tigrd.QuantityAsPerInvoice ELSE 0 END) AS
`ALe_wcs`,
SUM(CASE WHEN ts.SupplierName = 'MADRAS ENGINEERING INDUSTRIES PRIVATE LIMITED' THEN tigrd.QuantityAsPerInvoice ELSE 0 END) AS
`ME_wcs`,
@ -202,7 +204,7 @@ class TrpProductionModel extends Model
`caparo_wcs`,
SUM(CASE WHEN ts.SupplierName = 'NEMAK ALUMINIUM CASTING INDIA PVT LTD' THEN tigrd.QuantityAsPerInvoice ELSE 0 END) AS
`Nemak_wcs`,
SUM(CASE WHEN ts.SupplierName = 'DR AXION INDIA PRIVATE LIMITED' THEN tigrd.QuantityAsPerInvoice ELSE 0 END) AS
SUM(CASE WHEN ts.SupplierName = 'DR Axion India Private Limited' THEN tigrd.QuantityAsPerInvoice ELSE 0 END) AS
`DR_wcs`
from t_igr_details tigrd

View File

@ -3,6 +3,7 @@
$("#client_name").select2();
$("#item_name").select2();
$("#purchaseorder_number").select2();
});
@ -45,22 +46,28 @@
<!-- start page title -->
<div>
<div class="row">
<div class="col-6">
<div class="col-12">
<div class="page-title-box page-title-box-alt">
<div class="page-title-right">
<ol class="breadcrumb m-0">
<li class="breadcrumb-item"><a href="javascript: void(0);">Purchase</a></li>
<li class="breadcrumb-item"><a href="javascript: void(0);">Purchase Order</a></li>
<li class="breadcrumb-item active">
<h4 class="page-title"><b> Pending Purchase Order </b><br><br><?php echo $headline ?></h4>
<h4 class="page-title"><b> Pending Purchase Order </b></h4>
</li>
</ol>
</div>
</div>
</div>
<div class="col-6 text-right">
<?php if(isset($headline)) : if(!empty($headline)) : ?>
<div class="col-12">
<div class="page-title-right">
<span>Result filter by : </span><h4 class="page-title" style="display: inline;"><?php echo $headline; ?></h4>
</div>
</div>
<?php endif; endif; ?>
</div>
<div class="row">
<div class="col-12">
@ -135,7 +142,7 @@
</div>
</div>
<div class="row">
<div class="col-4">
<div class="col-2">
<label for="from_date">
<?php echo 'From Date'; ?>
</label>
@ -144,7 +151,7 @@
</div>
</div>
<div class="col-4">
<div class="col-2">
<label for="to_date">
<?php echo 'To Date'; ?>
</label>
@ -153,6 +160,19 @@
</div>
</div>
<div class="col-4">
<label for="purchaseorder_number">
<?php echo 'Purchase order number'; ?>
</label>
<select class="form-control" id="purchaseorder_number" name="purchaseorder_number">
<option value="">Select PO NO</option>
<?php
foreach ($pono as $po): { ?>
<option value="<?php echo $po->po; ?>"><?php echo $po->po.'-'.$po->type; ?></option>
<?php }
endforeach; ?>
</select>
</div>
<div class="col-md-2"></div>
<div class="col-md-2 text-right"><br>
<input type="submit" class="btn btn-success" name="btn_submit"
@ -423,7 +443,7 @@
var table = $('#cc').DataTable({
dom: 'Blfrtip', // Buttons, length menu, filter, table, information, pagination
buttons: [
'copy', 'csv', 'excel', 'pdf', 'print' // Export buttons
'copy', 'csv' // Export buttons
],
pageLength: 10, // Default rows per page
lengthMenu: [

View File

@ -444,9 +444,9 @@ foreach ($period as $day) {
$summary['balanceStock'] = 0 ;
}
$summary['totalPurchaseDiesel'] += $totalDiesel[$groupedDieselMachineStockDetailsIndex]['purchase_diesel'] == '-' ? 0 : $totalDiesel[$groupedDieselMachineStockDetailsIndex]['purchase_diesel'] ;
$summary['totalFillingDiesel'] += $totalDiesel[$groupedDieselMachineStockDetailsIndex]['total_filling_diesel'] == '-' ? 0 : $totalDiesel[$groupedDieselMachineStockDetailsIndex]['total_filling_diesel'] ;
$summary['balanceStock'] = $totalDiesel[$groupedDieselMachineStockDetailsIndex]['balance_stock'] == '-' ? 0 : $totalDiesel[$groupedDieselMachineStockDetailsIndex]['balance_stock'] ;
$summary['totalPurchaseDiesel'] += is_numeric($totalDiesel[$groupedDieselMachineStockDetailsIndex]['purchase_diesel'] ) ? $totalDiesel[$groupedDieselMachineStockDetailsIndex]['purchase_diesel'] : 0 ;
$summary['totalFillingDiesel'] += is_numeric($totalDiesel[$groupedDieselMachineStockDetailsIndex]['total_filling_diesel']) ? $totalDiesel[$groupedDieselMachineStockDetailsIndex]['total_filling_diesel'] : 0 ;
$summary['balanceStock'] = is_numeric($totalDiesel[$groupedDieselMachineStockDetailsIndex]['balance_stock']) ? $totalDiesel[$groupedDieselMachineStockDetailsIndex]['balance_stock'] : 0 ;
?>

View File

@ -570,7 +570,7 @@
<!-- td:eq(11) -->
<td class="celda_normal trpProductionStock"
data-id="">
<?= $trpProductionDetail['drierGasConsumption'] ?>
<?= $trpProductionDetail['drierGasConsumption'] == 0 ? " " : $trpProductionDetail['drierGasConsumption'] ?>
</td>
<!-- coatingGasConsumption -->
@ -612,18 +612,19 @@
<?= $trpProductionDetail['panelGasPerTon'] ?>
</td>
<!-- AL(S) -->
<!-- td:eq(17) -->
<td class="celda_normal trpProductionStock"
data-id="">
<?= $trpProductionDetail['ALs_wcs'] ?>
<?= $trpProductionDetail['ALs_wcs'] == 0 ? " " : $trpProductionDetail['ALs_wcs'] ?>
</td>
<!-- AL(E) -->
<!-- td:eq(18) -->
<td class="celda_normal trpProductionStock"
data-id="">
<?= $trpProductionDetail['ALe_wcs'] ?>
<?= $trpProductionDetail['ALe_wcs'] == 0 ? " " : $trpProductionDetail['ALe_wcs'] ?>
</td>
<!-- ME -->
@ -631,21 +632,21 @@
<td class="celda_normal trpProductionStock"
data-id=""
contenteditable="true">
<?= $trpProductionDetail['ME_wcs'] ?>
<?= $trpProductionDetail['ME_wcs'] == 0 ? " " : $trpProductionDetail['ME_wcs'] ?>
</td>
<!-- SI -->
<!-- td:eq(20) -->
<td class="celda_normal trpProductionStock"
data-id="">
<?= $trpProductionDetail['SI_wcs'] ?>
<?= $trpProductionDetail['SI_wcs'] == 0 ? " " : $trpProductionDetail['SI_wcs'] ?>
</td>
<!-- Caparo -->
<!-- td:eq(21) -->
<td class="celda_normal trpProductionStock"
data-id="">
<? $trpProductionDetail['caparo_wcs'] ?>
<?= $trpProductionDetail['caparo_wcs'] == 0 ? " " : $trpProductionDetail['caparo_wcs'] ?>
</td>
@ -653,14 +654,14 @@
<!-- td:eq(22) -->
<td class="celda_normal trpProductionStock"
data-id="">
<?= $trpProductionDetail['Nemak_wcs'] ?>
<?= $trpProductionDetail['Nemak_wcs'] == 0 ? " " : $trpProductionDetail['Nemak_wcs'] ?>
</td>
<!-- DR -->
<!-- td:eq(23) -->
<td class="celda_normal trpProductionStock"
data-id="">
<?= $trpProductionDetail['DR_wcs'] ?>
<?= $trpProductionDetail['DR_wcs'] == 0 ? " " : $trpProductionDetail['DR_wcs'] ?>
</td>
<!-- edRunningHours -->
@ -668,7 +669,7 @@
<td class="celda_normal trpProductionStock"
data-id=""
contenteditable="true">
<?= $trpProductionDetail['edRunningHours'] ?>
<?= $trpProductionDetail['edRunningHours'] ?>
</td>
@ -709,42 +710,42 @@
<!-- td:eq(29) -->
<td class="celda_normal trpProductionStock"
data-id="">
<?= $trpProductionDetail['coating'] ?>
<?= $trpProductionDetail['coating'] == 0 ? " " : $trpProductionDetail['coating'] ?>
</td>
<!-- Hindhuja -->
<!-- td:eq(30) -->
<td class="celda_normal trpProductionStock"
data-id="">
<?= $trpProductionDetail['ALs_crs'] ?>
<?= $trpProductionDetail['ALs_crs'] == 0 ? " " : $trpProductionDetail['ALs_crs'] ?>
</td>
<!-- Nemak -->
<!-- td:eq(31) -->
<td class="celda_normal trpProductionStock"
data-id="">
<?= $trpProductionDetail['Nemak_crs'] ?>
<?= $trpProductionDetail['Nemak_crs'] == 0 ? " " : $trpProductionDetail['Nemak_crs'] ?>
</td>
<!-- ME -->
<!-- td:eq(32) -->
<td class="celda_normal trpProductionStock"
data-id=""
contenteditable="true">
<?= $trpProductionDetail['ME_crs'] ?>
<?= $trpProductionDetail['ME_crs'] == 0 ? " " : $trpProductionDetail['ME_crs'] ?>
</td>
<!-- BI -->
<!-- td:eq(33) -->
<td class="celda_normal trpProductionStock"
data-id=""
contenteditable="true">
<?= $trpProductionDetail['BI_crs'] ?>
<?= $trpProductionDetail['BI_crs'] == 0 ? " " : $trpProductionDetail['BI_crs'] ?>
</td>
<!-- Karmen -->
<!-- td:eq(34) -->
<td class="celda_normal trpProductionStock"
data-id=""
contenteditable="true">
<?= $trpProductionDetail['Karmen_crs'] ?>
<?= $trpProductionDetail['Karmen_crs'] == 0 ? " " : $trpProductionDetail['Karmen_crs'] ?>
</td>
<!-- waterReceipt -->
@ -752,7 +753,7 @@
<td class="celda_normal trpProductionStock"
data-id=""
contenteditable="true">
<?= $trpProductionDetail['waterReceipt'] ?>
<?= $trpProductionDetail['waterReceipt'] ?>
</td>
<!-- waterConsumption -->
@ -1051,7 +1052,7 @@
//table to json function
var updateResinStockDetails = tableToJson();
var updateTrpProductionDetails = tableToJson();
alert('Updation may take a while, And we appreciate your patience..!!');
@ -1062,7 +1063,7 @@
updateResinStockDetails
},
type: "POST",
url: "<?php echo base_url() ?>updateResinStockDetails",
url: "<?php echo base_url() ?>updateTrpProductionDetails",
success: function (data) {
if (data) {

View File

@ -356,10 +356,9 @@
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
<!-- Igr modal fade -->
<div id="Igrshow" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog modal-xl">
<div class="modal-dialog modal-full-width">
<div class="modal-content">
<div class="modal-header">
@ -394,8 +393,8 @@
<div class="form-group">
<label class="col-form-label">Supplier Name <span class="text-danger">*</span></label>
<?php $data = array('name' => 'SupplierName', 'value' => set_value('SupplierName'), 'id' => 'Supplier', 'class' => 'form-control', 'required=>"true"', 'readonly' => 'true');
echo form_input($data);
<?php $data = array('name' => 'SupplierName', 'value' => set_value('SupplierName'), 'id' => 'Supplier', 'class' => 'form-control', 'required=>"true"', 'readonly' => 'true' ,'rows' => 2);
echo form_textarea($data);
?>
</div>
</div>
@ -918,7 +917,7 @@
$("#DriverMobileNumber").val(item.DriverMobileNumber);
$("#IGRStatus").val(item.IGRStatus);
$("#PONo").val(item.PONO);
$("#Supplier").val(item.SupplierName);
$("#Supplier").val(item.SupplierName + "\n" + item.Address);
$("#Add1").val(item.Address);
$("#Invoice_No").val(item.DeliveryChellanOrInvoiceNo);
console.log(typeof item.MasterFile);