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

This commit is contained in:
vadivelJ96 2025-01-29 09:30:16 +05:30
commit 24037def97
10 changed files with 81 additions and 33 deletions

View File

@ -18,6 +18,7 @@ class Expense extends BaseController
$this->expense_model = new Expense_model();
$this->supplier_model = new Supplier_model();
$this->session = session();
$this->session = session();
helper('form');
$this->isLoggedIn();
}
@ -86,8 +87,9 @@ class Expense extends BaseController
// Generate the next serial number
$newSerialNumber = $this->generateSerialNumber($financialYear, $lastSerial);
$sesn_uid = $this->session->get('userId');
$data = [
'created_by' => $sesn_uid,
'transporter_file' => $fileName,
'supplier_id' => $this->request->getPost('supplierid'),
'remarks' => $this->request->getPost('remarks'),
@ -141,9 +143,9 @@ class Expense extends BaseController
$fileName = $this->request->getPost('existing_file'); // Use existing file if no new file is uploaded
}
$sesn_uid = $this->session->get('userId');
$data = [
'updated_by' =>$sesn_uid,
'supplier_id' => $this->request->getPost('supplierid'),
'remarks' => $this->request->getPost('remarks'),
'item_description' => $this->request->getPost('item_description'),

View File

@ -156,7 +156,7 @@ class Inwardgateregister extends BaseController
});
$data['emp_data'] = [];
// $data['emp_data'] = $this->inwardgateregister_model->getAdditionalIGRFile();
// print_r($data['PO_NO']);die;
// dd($data['PO_NO']);die;
$this->loadViews("inwardgateregister", $this->global, $data, NULL);
}

View File

@ -410,18 +410,24 @@ class Rawmaterialdetails extends BaseController
$query = $this->rawmaterialdetails_model->insertvalueintoconfig($config);
}
// on 28/jan/2025. both add and edit. category condition added.
function checkmaterial()
{
$data = $this->request->getPost();
$materialCode = $data['materialCode'] ?? '';
$materialName = str_replace(' ', '', $data['materialName']);
$materialCategory = $data['materialCategory'] ?? '';
$this->rawmaterialdetails_model = new rawmaterialdetails_model();;
$query = $this->rawmaterialdetails_model->checkMaterialExists($materialCode , $materialName);
$query = $this->rawmaterialdetails_model->checkMaterialExists($materialCode , $materialName , $materialCategory);
return $this->response->setJSON($query);
// if (!empty($query)) {
// foreach ((array)$query as $q) {
// $text .= $q['MaterialName'] . " " . ($q['IsActive'] == 1 ? '' : ' ( Inactive ) ') . "<br>";
// }
// }
}

View File

@ -9,7 +9,7 @@ class Expense_model extends Model
protected $primaryKey = 'id'; // Primary key
protected $allowedFields = [
'serial_number' , 'transporter_file', 'supplier_id', 'remarks', 'item_description', 'cost', 'cgst', 'sgst', 'igst', 'total', 'bill_no' ,'bill_date','status'
'serial_number' , 'transporter_file', 'supplier_id', 'remarks', 'item_description', 'cost', 'cgst', 'sgst', 'igst', 'total', 'bill_no' ,'bill_date','status','created_by','updated_by'
];
public function getLastSerialNumber($financialYear)
@ -24,9 +24,16 @@ class Expense_model extends Model
// Retrieve all active expenses
public function getAllExpense($fromDate,$toDate) {
return $this->db->table('t_expense')
return $this->db->table('t_expense')
->select([
"t_expense.id","t_expense.serial_number","t_expense.transporter_file","t_expense.supplier_id","t_expense.item_description","t_expense.cost","t_expense.cgst","t_expense.sgst","t_expense.igst","t_expense.total","t_expense.remarks","t_expense.status","t_expense.payment_method","t_expense.created_on","t_expense.created_by","t_expense.updated_on","t_expense.updated_by","t_expense.isactive","t_expense.bill_no","t_expense.bill_date",
"t_supplierdetailsn.SupplierName",
"CONCAT_WS(' ', emp.FirstName, emp.LastName) as created_name"
])
->join('t_supplierdetailsn', 't_expense.supplier_id = t_supplierdetailsn.SupplierID', 'left')
->join('tbl_users as creator', ' t_expense.created_by = creator.userid', 'left')
->join('t_employee_details as emp', 'emp.empid=creator.empid', 'left')
->where('t_expense.isactive', 1)
->where('t_expense.created_on >=',"$fromDate")
->orderBy('t_expense.created_on', 'DESC')

View File

@ -372,18 +372,42 @@ class Inwardgateregister_model extends Model
function ViewigrListing($fromDate,$toDate)
{
$subQuery = $this->db->table('t_igr_remarkes')
->select('COUNT(id)')
->where('igr_no = igr.IGRNo')
->getCompiledSelect();
$subQuery1 = $this->db->table('t_igr_remarkes')
->select('COUNT(id)')
->where('igr_no = igr.IGRNo')
->getCompiledSelect();
// Build subQuery2 dynamically for rate and tax based on POType
$subQuery2 = "(CASE
WHEN PO.POType = 'revenue' THEN (
SELECT JSON_OBJECT('total_rate', SUM(POL.Rate), 'total_tax', AVG(tax.CGST + tax.SGST + tax.IGST))
FROM t_igr_details IGRD
LEFT JOIN t_purchaseorder_lineitem POL ON PONO = POL.PONO AND IGRD.MaterialCode = POL.MaterialCode
LEFT JOIN t_revenue_tax tax ON tax.LineItemNo = POL.LineItemNo
WHERE IGRD.IGRNO = igr.IGRNO
)
WHEN PO.POType = 'service' THEN (
SELECT JSON_OBJECT('total_rate', SUM(POL.Rate), 'total_tax', AVG(tax.CGST + tax.SGST + tax.IGST))
FROM t_igr_details IGRD
LEFT JOIN t_purchaseorder_lineitem POL ON PONO = POL.PONO AND IGRD.MaterialCode = POL.MaterialCode
LEFT JOIN t_service_tax tax ON tax.LineItemNo = POL.LineItemNo
WHERE IGRD.IGRNO = igr.IGRNO
)
ELSE NULL
END)";
// Main query
$builder = $this->db->table('t_igr_master igr')
->select("igr.*, PO.IsOpenOrder, PO.DeliveryDate, sup.SupplierName, PO.POType,
trans.name as TransporterName,
SUM(IGRD.QuantityAsPerInvoice) as ReceivedQuantity,
SUM(IGRD.NetWeight) as NetWeight,
COUNT(IGRD.IGRNo) as itemCount,
COALESCE(($subQuery), 0) as remark_count") // COALESCE to handle no matches
COALESCE(($subQuery1), 0) as remark_count,
JSON_EXTRACT(($subQuery2), '$.total_rate') as total_rate,
JSON_EXTRACT(($subQuery2), '$.total_tax') as total_tax")
->join('t_purchaseorder_master PO', 'igr.PONO = PO.PONO')
->join('t_supplierdetailsn sup', 'PO.SupplierID = sup.SupplierID')
->join('t_transporter trans', 'igr.TransporterId = trans.id', 'left')
@ -391,13 +415,15 @@ class Inwardgateregister_model extends Model
->where('igr.IGRStatus !=', MRIR_CREATED)
->where('Date(igr.CreatedDate) >=', "$fromDate")
->where('Date(igr.CreatedDate) <=', "$toDate")
// ->where('igr.IGRNo', "IGRNO-1627")
->groupBy('IGRD.IGRNo')
->orderBy('igr.CreatedDate', 'desc');
$query = $builder->get();
$result = $query->getResult();
$query = $builder->get();
$result = $query->getResult();
// echo $this->db->getLastQuery()->getQuery();die;
// dd($result);
// old - issue in t_igr_remarkes join

View File

@ -327,17 +327,20 @@ class Rawmaterialdetails_model extends Model
// $this->db->update('T_PurchaseOrderDetails', $POInfo);
// return $this->db->affectedRows();
// }
function checkMaterialExists($materialCode , $materialName)
{
// on 28/jan/2025. both add and edit. category condition added.
function checkMaterialExists($materialCode , $materialName ,$materialCategory)
{
$builder = $this->db->table('t_materialmaster')
->select('MaterialCode,MaterialName,MaterialType,Category,IsActive');
if(!empty($materialCode)){
$builder = $builder->where('MaterialCode !=' , $materialCode);
}
$builder->where('Category' , $materialCategory);
$builder->where('REPLACE(MaterialName, " ", "")' , $materialName);
$query = $builder->get();
if ($query->getNumRows() > 0) {
return $query->getResultArray();
} else {

View File

@ -304,7 +304,7 @@
var materialName = $('#MaterialName').val().trim();
var materialCode = '';
var materialCategory = $('#MatCate').val();
if(materialName == ''){
return;
}
@ -315,7 +315,7 @@
$.ajax({
data: {
materialCode,
materialName
materialName,materialCategory
},
type: "POST",
url: "<?php echo base_url(); ?>materialExist",

View File

@ -442,6 +442,7 @@ if ($total <= $reorder) {
var materialName = $('#MaterialName').val();
var materialCode = $('#RMcode').val();
var materialCategory = $('#MaterialCategory').val();
if(materialName == ''){
return;
@ -453,7 +454,8 @@ if ($total <= $reorder) {
$.ajax({
data: {
materialCode,
materialName
materialName,
materialCategory
},
type: "POST",
url: "<?php echo base_url(); ?>materialExist",

View File

@ -119,11 +119,12 @@
<th align="left" style="width: 20%;">Bill No</th>
<th align="left" style="width: 20%;">Bill Date</th>
<th align="left" style="width: 7%;">Cost</th>
<th align="left" style="width: 5%;">CGST</th>
<th align="left" style="width: 5%;">SGST</th>
<th align="left" style="width: 5%;">IGST</th>
<th align="left" style="width: 2%;">CGST</th>
<th align="left" style="width: 2%;">SGST</th>
<th align="left" style="width: 2%;">IGST</th>
<th align="left" style="width: 7%;">Total</th>
<th align="left" style="width: 7%;">Status</th>
<th align="left" style="width: 6%;">Created By</th>
<th align="left" style="width: 8%;">Action</th>
</tr>
</thead>
@ -177,6 +178,7 @@
<td><?php echo $record['igst']; ?></td>
<td><?php echo $record['total']; ?></td>
<td><?php echo $record['status']; ?></td>
<td><?php echo $record['created_name']; ?></td>
<td>
<?php if ($fileExists == 1) { ?>
<button title="Download FIle" class="download_button" onclick="downloadFile('<?php echo $record['id']; ?>', '<?php echo $record['transporter_file']; ?>')" style="border: none;background-color: white;color: #02a8b5;">

View File

@ -131,8 +131,8 @@
<div class="form-group col-md-6">
<label class="col-form-label">Supplier Name</label>
<?php
$data = array('name' => 'SupplierName', 'value' => set_value('SupplierName'), 'id' => 'Sup', 'class' => 'form-control', 'readonly' => 'true');
echo form_input($data);
$data = array('name' => 'SupplierName', 'value' => set_value('SupplierName'), 'id' => 'Sup', 'class' => 'form-control', 'readonly' => 'true','rows' => 3);
echo form_textarea($data);
?>
</div>
</div>
@ -482,7 +482,7 @@
var newUrl = baseUrl + '?PONO=' + obj.PONO + '&ReqType=' + obj.POType;
$('#printLink').attr('href', newUrl);
$("#po").val(obj.PONO);
$("#Sup").val(obj.SupplierName);
$("#Sup").val(obj.SupplierName + "\n" + obj.Address);
$("#hiddenIsOpenOrder").val(obj.IsOpenOrder);
isOpenOrder = parseInt(obj.IsOpenOrder ? obj.IsOpenOrder : "0", 2);
var formatted_IsOpenOrder = (isOpenOrder === 0 || isNaN(isOpenOrder)) ? "" : "Open";
@ -911,7 +911,7 @@
var newUrl = baseUrl + '?PONO=' + obj.PONO + '&ReqType=' + obj.POType;
$('#printLink').attr('href', newUrl);
$("#po").val(obj.PONO);
$("#Sup").val(obj.SupplierName);
$("#Sup").val(obj.SupplierName + "\n" + obj.Address);
$("#hiddenIsOpenOrder").val(obj.IsOpenOrder);
isOpenOrder = parseInt(obj.IsOpenOrder ? obj.IsOpenOrder : "0", 2);
var formatted_IsOpenOrder = (isOpenOrder === 0 || isNaN(isOpenOrder)) ? "" : "Open";