diff --git a/app/Controllers/Inwardgateregister.php b/app/Controllers/Inwardgateregister.php index 92d6a4ff..c16e57a9 100755 --- a/app/Controllers/Inwardgateregister.php +++ b/app/Controllers/Inwardgateregister.php @@ -409,6 +409,7 @@ class Inwardgateregister extends BaseController $DriverMobileNumber = $this->request->getPost('DriverMobileNumber'); $CreatedBy = $this->session->get('userId'); $RowCount = $this->request->getPost('txtRowCount'); + $MasterRemarks = $this->request->getPost('MasterRemarks'); $createddt = get_current_date_time(); //$IGRStatus = IGR_CREATED;//old $PreIGRStatus = (int)$this->request->getPost('hideIGRStatus') == 1 ? IGR_CREATED : IGR_DRAFT; @@ -441,13 +442,11 @@ class Inwardgateregister extends BaseController } } #Step 3 Master Details Gathering to Save In DB - $igr = array('PONO' => $PONO, 'VehicleNo' => $VehicleNo, 'TransporterId'=>$TransporterId,'DeliveryChellanOrInvoiceNo' => $DeliveryChellanOrInvoiceNo, 'DeliveryChellanDate' => $DeliveryChellanDate, 'MaterialRcvdDate' => $MaterialRcvdDt, 'DriverName' => $DriverName, 'DriverMobileNumber' => $DriverMobileNumber,'IGRStatus' => $IGRStatus, 'CreatedBy' => $CreatedBy, 'CreatedDate' => $createddt, 'PaymentStatus' => $paymentstatus); + $igr = array('PONO' => $PONO, 'VehicleNo' => $VehicleNo, 'TransporterId'=>$TransporterId,'DeliveryChellanOrInvoiceNo' => $DeliveryChellanOrInvoiceNo, 'DeliveryChellanDate' => $DeliveryChellanDate, 'MaterialRcvdDate' => $MaterialRcvdDt, 'DriverName' => $DriverName, 'DriverMobileNumber' => $DriverMobileNumber,'IGRStatus' => $IGRStatus, 'CreatedBy' => $CreatedBy, 'CreatedDate' => $createddt, 'PaymentStatus' => $paymentstatus, 'Remark'=>$MasterRemarks); $igr['MasterFile'] = $requestMasterFileName; #Step 4 Calling DB to Save IGR Master $IGRNO = $this->inwardgateregister_model->addigrM($igr); - // echo "master - no problem"; - // $IGRNO = "IGRNO02767"; - // print_r($this->request->getPost());die; + if($IGRNO){ $files = $this->request->getFiles(); $fileNames = $this->request->getPost('file_name'); // Get user-entered file names @@ -477,19 +476,16 @@ class Inwardgateregister extends BaseController #Step 5 Save Master Detail On History Table if($VehicleNo){ - $igr_history = array('field' => 'VehicleNo','is_add' => 1,'new_data' => $VehicleNo,'old_data' => NULL,'history_dated' => get_current_date_time(),'by' => $this->session->get('userId'),'IGR_No' => $IGRNO); - $history_id = $this->inwardgateregister_model->igr_history($igr_history); - log_message('error', "History updated successfully. History id: " . $history_id); + $hist = array('key' => 'VehicleNo', 'value' => $VehicleNo, 'igr_no' => $IGRNO, 'igr_item_no' => NULL); + $this->saveIGRHistory($hist); } if($DriverName){ - $igr_history = array('field' => 'DriverName','is_add' => 1,'new_data' => $DriverName,'old_data' => NULL,'history_dated' => get_current_date_time(),'by' => $this->session->get('userId'),'IGR_No' => $IGRNO); - $history_id = $this->inwardgateregister_model->igr_history($igr_history); - log_message('error', "History updated successfully. History id: " . $history_id); + $hist = array('key' => 'DriverName', 'value' => $DriverName, 'igr_no' => $IGRNO, 'igr_item_no' => NULL); + $this->saveIGRHistory($hist); } if($DriverMobileNumber){ - $igr_history = array('field' => 'DriverMobileNumber','is_add' => 1,'new_data' => $DriverMobileNumber,'old_data' => NULL,'history_dated' => get_current_date_time(),'by' => $this->session->get('userId'),'IGR_No' => $IGRNO); - $history_id = $this->inwardgateregister_model->igr_history($igr_history); - log_message('error', "History updated successfully. History id: " . $history_id); + $hist = array('key' => 'DriverMobileNumber', 'value' => $DriverMobileNumber, 'igr_no' => $IGRNO, 'igr_item_no' => NULL); + $this->saveIGRHistory($hist); } #Step 6 Updating OGR Details @@ -583,43 +579,32 @@ class Inwardgateregister extends BaseController $historydetails = array('MaterialCode' => $MaterialCode, 'Transaction_type' => "Add", 'Ref_Type' => "IGR", 'Ref_No' => $igrlineno, 'Quantity' => $QuantityAsPerInvoice, 'CreatedBy' => $CreatedBy, 'CreatedOn' => $createddt, 'SupplierID' => $SupplierId, 'ItemValue' => $itemvalue); $this->inwardgateregister_model->addmaterialhistory($historydetails); if($GrossWeight){ - $igr_history = array('field' => 'GrossWeight','is_add' => 1,'new_data' => $GrossWeight,'old_data' => NULL,'history_dated' => get_current_date_time(),'by' => $this->session->get('userId'),'IGR_No' => $IGRNO,'IGRItem_No'=>$igrlineno); - $history_id = $this->inwardgateregister_model->igr_history($igr_history); - log_message('error', "History updated successfully. History id: " . $history_id); - + $hist = array('key' => 'GrossWeight', 'value' => $GrossWeight, 'igr_no' => $IGRNO, 'igr_item_no' => $igrlineno); + $this->saveIGRHistory($hist); } if($TareWeight){ - $igr_history = array('field' => 'TareWeight','is_add' => 1,'new_data' => $TareWeight,'old_data' => NULL,'history_dated' => get_current_date_time(),'by' => $this->session->get('userId'),'IGR_No' => $IGRNO,'IGRItem_No'=>$igrlineno); - $history_id = $this->inwardgateregister_model->igr_history($igr_history); - log_message('error', "History updated successfully. History id: " . $history_id); - + $hist = array('key' => 'TareWeight', 'value' => $TareWeight, 'igr_no' => $IGRNO, 'igr_item_no' => $igrlineno); + $this->saveIGRHistory($hist); } if($NetWeight){ - $igr_history = array('field' => 'NetWeight','is_add' => 1,'new_data' => $NetWeight,'old_data' => NULL,'history_dated' => get_current_date_time(),'by' => $this->session->get('userId'),'IGR_No' => $IGRNO,'IGRItem_No'=>$igrlineno); - $history_id = $this->inwardgateregister_model->igr_history($igr_history); - log_message('error', "History updated successfully. History id: " . $history_id); - + $hist = array('key' => 'NetWeight', 'value' => $NetWeight, 'igr_no' => $IGRNO, 'igr_item_no' => $igrlineno); + $this->saveIGRHistory($hist); } if($GrossWeightDate){ - $igr_history = array('field' => 'GrossWeightDate','is_add' => 1,'new_data' => $GrossWeightDate,'old_data' => NULL,'history_dated' => get_current_date_time(),'by' => $this->session->get('userId'),'IGR_No' => $IGRNO,'IGRItem_No'=>$igrlineno); - $history_id = $this->inwardgateregister_model->igr_history($igr_history); - log_message('error', "History updated successfully. History id: " . $history_id); - + $hist = array('key' => 'GrossWeightDate', 'value' => $GrossWeightDate, 'igr_no' => $IGRNO, 'igr_item_no' => $igrlineno); + $this->saveIGRHistory($hist); } if($TareWeightDate){ - $igr_history = array('field' => 'TareWeightDate','is_add' => 1,'new_data' => $TareWeightDate,'old_data' => NULL,'history_dated' => get_current_date_time(),'by' => $this->session->get('userId'),'IGR_No' => $IGRNO,'IGRItem_No'=>$igrlineno); - $history_id = $this->inwardgateregister_model->igr_history($igr_history); - log_message('error', "History updated successfully. History id: " . $history_id); + $hist = array('key' => 'TareWeightDate', 'value' => $TareWeightDate, 'igr_no' => $IGRNO, 'igr_item_no' => $igrlineno); + $this->saveIGRHistory($hist); } if($QuantityAsPerInvoice){ - $igr_history = array('field' => 'QuantityAsPerInvoice','is_add' => 1,'new_data' => $QuantityAsPerInvoice,'old_data' => NULL,'history_dated' => get_current_date_time(),'by' => $this->session->get('userId'),'IGR_No' => $IGRNO,'IGRItem_No'=>$igrlineno); - $history_id = $this->inwardgateregister_model->igr_history($igr_history); - log_message('error', "History updated successfully. History id: " . $history_id); + $hist = array('key' => 'QuantityAsPerInvoice', 'value' => $QuantityAsPerInvoice, 'igr_no' => $IGRNO, 'igr_item_no' => $igrlineno); + $this->saveIGRHistory($hist); } if($Remarks){ - $igr_history = array('field' => 'Remarks','is_add' => 1,'new_data' => $Remarks,'old_data' => NULL,'history_dated' => get_current_date_time(),'by' => $this->session->get('userId'),'IGR_No' => $IGRNO,'IGRItem_No'=>$igrlineno); - $history_id = $this->inwardgateregister_model->igr_history($igr_history); - log_message('error', "History updated successfully. History id: " . $history_id); + $hist = array('key' => 'Remarks', 'value' => $Remarks, 'igr_no' => $IGRNO, 'igr_item_no' => $igrlineno); + $this->saveIGRHistory($hist); } $get_pre_qty = $this->inwardgateregister_model->get_CurrentQty($MaterialCode); $av_qty = 0; //$av_qty means Avaliable Quantity @@ -720,10 +705,42 @@ function viewIGRDetails() $IGRNO = $this->request->getPost('id'); $data['details'] = $this->inwardgateregister_model->viewigr($IGRNO); - $data['files'] = $this->inwardgateregister_model->viewIGRFile($IGRNO); + $TaxInPercentage = 0; + for ($i = 0; $i < count($data['details']); $i++) { + $details = $data['details'][$i]; - // echo $IGRNO; - // print_r($data);die; + if ($details->POType == 'IMPORT') { + $TaxInPercentage = isset($details->import_igst) ? $details->import_igst : 0; + } + + if ($details->POType == 'CAPITAL' && $details->CapitalRange == 0) { + $TaxInPercentage = isset($details->import_igst) ? $details->import_igst : 0; + } + + if ($details->POType == 'CAPITAL' && $details->CapitalRange == 1) { + $TaxInPercentage = + (isset($details->service_cgst) ? $details->service_cgst : 0) + + (isset($details->service_sgst) ? $details->service_sgst : 0) + + (isset($details->service_igst) ? $details->service_igst : 0); + } + + if ($details->POType == 'REVENUE') { + $TaxInPercentage = + (isset($details->revenue_cgst) ? $details->revenue_cgst : 0) + + (isset($details->revenue_sgst) ? $details->revenue_sgst : 0) + + (isset($details->revenue_igst) ? $details->revenue_igst : 0); + } + + if ($details->POType == 'SERVICE') { + $TaxInPercentage = + (isset($details->service_cgst) ? $details->service_cgst : 0) + + (isset($details->service_sgst) ? $details->service_sgst : 0) + + (isset($details->service_igst) ? $details->service_igst : 0); + } + + $data['details'][$i]->TaxInPercentage = $TaxInPercentage; + } + $data['files'] = $this->inwardgateregister_model->viewIGRFile($IGRNO); echo json_encode($data); } @@ -768,7 +785,7 @@ function viewIGRDetails() $TransporterId = $this->request->getPost('Transporter_Id'); $DriverName = $this->request->getPost('driver'); $DriverMobileNumber = $this->request->getPost('driver_mobile'); - + $IGRStatus = (int)$this->request->getPost('status') == 1 ? IGR_CREATED : IGR_DRAFT; $tableData = $this->request->getPost('tableData'); @@ -780,7 +797,8 @@ function viewIGRDetails() $path = ROOTPATH.'public/uploads/Igrfiles/'; if(!is_dir($path)) { mkdir($path, 0777, true); } - $igrarr = array('DeliveryChellanDate' => $DeliveryChellanDate, 'MaterialRcvdDate' => $MaterialRcvdDt,'VehicleNo'=>$VehicleNo,'TransporterId'=>$TransporterId,'DriverMobileNumber'=>$DriverMobileNumber,'DriverName'=>$DriverName, 'IGRStatus' => $IGRStatus,'UpdateBY' => $updateby,'DeliveryChellanOrInvoiceNo'=>$DeliveryChellanOrInvoiceNo); + $MasterRemarks = $this->request->getPost('MasterRemarks'); + $igrarr = array('DeliveryChellanDate' => $DeliveryChellanDate, 'MaterialRcvdDate' => $MaterialRcvdDt,'VehicleNo'=>$VehicleNo,'TransporterId'=>$TransporterId,'DriverMobileNumber'=>$DriverMobileNumber,'DriverName'=>$DriverName, 'IGRStatus' => $IGRStatus,'UpdateBY' => $updateby,'DeliveryChellanOrInvoiceNo'=>$DeliveryChellanOrInvoiceNo,'Remark'=>$MasterRemarks); $MasterFile = $this->request->getfile('MasterFile'); @@ -836,61 +854,17 @@ function viewIGRDetails() log_message('error', "Master updated successfully: " . $updateigrmaster); if(!empty($tableData )){ if($VehicleNo){ - $vecno = $this->inwardgateregister_model->get_igr_history('VehicleNo',$IGRNo); - - if(!empty($vecno)){ - $old_data = NULL; - foreach ($vecno as $row) { - if ($row->field == 'VehicleNo') { - $old_data = $row->new_data; - } - } - $igr_history = array('field' => 'VehicleNo','new_data' => $VehicleNo,'old_data' => $old_data,'history_dated' => get_current_date_time(),'by' => $this->session->get('userId'),'IGR_No' => $IGRNo); - ($old_data != NULL) ? $igr_history['is_edit'] = 1 : $igr_history['is_add'] = 1 ; - $history_id = $this->inwardgateregister_model->igr_history($igr_history); - log_message('error', "History updated successfully. History id: " . $history_id); - } else{$igr_history = array('field' => 'VehicleNo','is_edit' => 1,'new_data' => $VehicleNo,'old_data' => NULL,'history_dated' => get_current_date_time(),'by' => $this->session->get('userId'),'IGR_No' => $IGRNo); - $history_id = $this->inwardgateregister_model->igr_history($igr_history); - log_message('error', "History updated successfully. History id: " . $history_id); - }} + $hist = array('key' => 'VehicleNo', 'value' => $VehicleNo, 'igr_no' => $IGRNo, 'igr_item_no' => NULL); + $this->saveIGRHistory($hist); + } if($DriverName){ - $drname = $this->inwardgateregister_model->get_igr_history('DriverName',$IGRNo); - - if(!empty($drname)){ - $old_data = NULL; - foreach ($drname as $row) { - if ($row->field == 'DriverName') { - $old_data = $row->new_data; - } - } - $igr_history = array('field' => 'DriverName','new_data' => $DriverName,'old_data' => $old_data,'history_dated' => get_current_date_time(),'by' => $this->session->get('userId'),'IGR_No' => $IGRNo); - ($old_data != NULL) ? $igr_history['is_edit'] = 1 : $igr_history['is_add'] = 1 ; - $history_id = $this->inwardgateregister_model->igr_history($igr_history); - log_message('error', "History updated successfully. History id: " . $history_id); - } else{ - $igr_history = array('field' => 'DriverName','is_edit' => 1,'new_data' => $DriverName,'old_data' => NULL,'history_dated' => get_current_date_time(),'by' => $this->session->get('userId'),'IGR_No' => $IGRNo); - $history_id = $this->inwardgateregister_model->igr_history($igr_history); - log_message('error', "History updated successfully. History id: " . $history_id); - }} + $hist = array('key' => 'DriverName', 'value' => $DriverName, 'igr_no' => $IGRNo, 'igr_item_no' => NULL); + $this->saveIGRHistory($hist); + } if($DriverMobileNumber){ - $drmob = $this->inwardgateregister_model->get_igr_history('DriverMobileNumber',$IGRNo); - - if(!empty($drmob)){ - $old_data = NULL; - foreach ($drmob as $row) { - if ($row->field == 'GrossWeight') { - $old_data = $row->new_data; - } - } - $igr_history = array('field' => 'DriverMobileNumber','new_data' => $DriverMobileNumber,'old_data' => $old_data,'history_dated' => get_current_date_time(),'by' => $this->session->get('userId'),'IGR_No' => $IGRNo); - ($old_data != NULL) ? $igr_history['is_edit'] = 1 : $igr_history['is_add'] = 1 ; - $history_id = $this->inwardgateregister_model->igr_history($igr_history); - log_message('error', "History updated successfully. History id: " . $history_id); - } else{ - $igr_history = array('field' => 'DriverMobileNumber','is_edit' => 1,'new_data' => $DriverMobileNumber,'old_data' => NULL,'history_dated' => get_current_date_time(),'by' => $this->session->get('userId'),'IGR_No' => $IGRNo); - $history_id = $this->inwardgateregister_model->igr_history($igr_history); - log_message('error', "History updated successfully. History id: " . $history_id); - }} + $hist = array('key' => 'DriverMobileNumber', 'value' => $DriverMobileNumber, 'igr_no' => $IGRNo, 'igr_item_no' => NULL); + $this->saveIGRHistory($hist); + } foreach ($tableData as $row) { $quantityAsPerInvoice = $row['QuantityAsPerInvoice']; $remarks = $row['Remarks']; @@ -933,169 +907,77 @@ function viewIGRDetails() log_message('error', "lineitem updated successfully: " . $updateigrlineitem); log_message('error', 'UpdateIGR updateigrlineitem: ' . json_encode($igrline)); - if($quantityAsPerInvoice){ - $qu = $this->inwardgateregister_model->get_igr_history('QuantityAsPerInvoice',$IGRNo,$igrItemNo); - - if(!empty($qu)){ - $old_data = NULL; - foreach ($qu as $row) { - if ($row->field == 'QuantityAsPerInvoice') { - $old_data = $row->new_data; - } - } - $igr_history = array('field' => 'QuantityAsPerInvoice','new_data' => $quantityAsPerInvoice,'old_data' => $old_data,'history_dated' => get_current_date_time(),'by' => $this->session->get('userId'),'IGR_No' => $IGRNo,'IGRItem_No' => $igrItemNo); - ($old_data != NULL) ? $igr_history['is_edit'] = 1 : $igr_history['is_add'] = 1 ; - $history_id = $this->inwardgateregister_model->igr_history($igr_history); - log_message('error', "History updated successfully. History id: " . $history_id); - } else{ - $igr_history = array('field' => 'QuantityAsPerInvoice','is_add' => 1,'new_data' => $quantityAsPerInvoice,'old_data' => NULL,'history_dated' => get_current_date_time(),'by' => $this->session->get('userId'),'IGR_No' => $IGRNo,'IGRItem_No' => $igrItemNo); - $history_id = $this->inwardgateregister_model->igr_history($igr_history); - log_message('error', "History updated successfully. History id: " . $history_id); - }} + if ($quantityAsPerInvoice) { + $hist = array('key' => 'QuantityAsPerInvoice', 'value' => $quantityAsPerInvoice, 'igr_no' => $IGRNo, 'igr_item_no' => $igrItemNo); + $this->saveIGRHistory($hist); + } if($remarks){ - $remak = $this->inwardgateregister_model->get_igr_history('Remarks',$IGRNo,$igrItemNo); - - if(!empty($remak)){ - $old_data = NULL; - foreach ($remak as $row) { - if ($row->field == 'Remarks') { - $old_data = $row->new_data; - } - } - $igr_history = array('field' => 'Remarks','new_data' => $remarks,'old_data' => $old_data,'history_dated' => get_current_date_time(),'by' => $this->session->get('userId'),'IGR_No' => $IGRNo,'IGRItem_No' => $igrItemNo); - ($old_data != NULL) ? $igr_history['is_edit'] = 1 : $igr_history['is_add'] = 1 ; - $history_id = $this->inwardgateregister_model->igr_history($igr_history); - log_message('error', "History updated successfully. History id: " . $history_id); - } else{$igr_history = array('field' => 'Remarks','is_add' => 1,'new_data' => $remarks,'old_data' => NULL,'history_dated' => get_current_date_time(),'by' => $this->session->get('userId'),'IGR_No' => $IGRNo,'IGRItem_No' => $igrItemNo); - $history_id = $this->inwardgateregister_model->igr_history($igr_history); - log_message('error', "History updated successfully. History id: " . $history_id); - }} + $hist = array('key' => 'Remarks', 'value' => $remarks, 'igr_no' => $IGRNo, 'igr_item_no' => $igrItemNo); + $this->saveIGRHistory($hist); + } if($grossWeight){ - $gross = $this->inwardgateregister_model->get_igr_history('GrossWeight',$IGRNo,$igrItemNo); - if(!empty($gross)){ - $old_data = NULL; - foreach ($gross as $row) { - if ($row->field == 'GrossWeight') { - $old_data = $row->new_data; - } - } - $igr_history = array('field' => 'GrossWeight','new_data' => $grossWeight,'old_data' => $old_data,'history_dated' => get_current_date_time(),'by' => $this->session->get('userId'),'IGR_No' => $IGRNo,'IGRItem_No'=>$igrItemNo); - ($old_data != NULL) ? $igr_history['is_edit'] = 1 : $igr_history['is_add'] = 1 ; - $history_id = $this->inwardgateregister_model->igr_history($igr_history); - log_message('error', "History updated successfully. History id: " . $history_id); - }else{ - $igr_history = array('field' => 'GrossWeight','is_add' => 1,'new_data' => $grossWeight,'old_data' => NULL,'history_dated' => get_current_date_time(),'by' => $this->session->get('userId'),'IGR_No' => $IGRNo,'IGRItem_No'=>$igrItemNo); - ($old_data != NULL) ? $igr_history['is_edit'] = 1 : $igr_history['is_add'] = 1 ; - $history_id = $this->inwardgateregister_model->igr_history($igr_history); - log_message('error', "History updated successfully. History id: " . $history_id); - - } + $hist = array('key' => 'GrossWeight', 'value' => $grossWeight, 'igr_no' => $IGRNo, 'igr_item_no' => $igrItemNo); + $this->saveIGRHistory($hist); } if($tareWeight){ - $tare = $this->inwardgateregister_model->get_igr_history('TareWeight',$IGRNo,$igrItemNo); - if(!empty($tare)){ - $old_data = NULL; - foreach ($gross as $row) { - if ($row->field == 'TareWeight') { - $old_data = $row->new_data; - } - } - $igr_history = array('field' => 'TareWeight','new_data' => $tareWeight,'old_data' => $old_data,'history_dated' => get_current_date_time(),'by' => $this->session->get('userId'),'IGR_No' => $IGRNo,'IGRItem_No'=>$igrItemNo); - ($old_data != NULL) ? $igr_history['is_edit'] = 1 : $igr_history['is_add'] = 1 ; - ($old_data != NULL) ? $igr_history['is_edit'] = 1 : $igr_history['is_add'] = 1 ; - $history_id = $this->inwardgateregister_model->igr_history($igr_history); - log_message('error', "History updated successfully. History id: " . $history_id); - }else{ - $igr_history = array('field' => 'TareWeight','is_edit' => 1,'new_data' => $tareWeight,'old_data' => NULL,'history_dated' => get_current_date_time(),'by' => $this->session->get('userId'),'IGR_No' => $IGRNo,'IGRItem_No'=>$igrItemNo); - ($old_data != NULL) ? $igr_history['is_edit'] = 1 : $igr_history['is_add'] = 1 ; - $history_id = $this->inwardgateregister_model->igr_history($igr_history); - log_message('error', "History updated successfully. History id: " . $history_id); - } + $hist = array('key' => 'TareWeight', 'value' => $tareWeight, 'igr_no' => $IGRNo, 'igr_item_no' => $igrItemNo); + $this->saveIGRHistory($hist); } if($netWeight){ - $net = $this->inwardgateregister_model->get_igr_history('NetWeight',$IGRNo,$igrItemNo); - if(!empty($net)){ - $old_data = NULL; - foreach ($gross as $row) { - if ($row->field == 'NetWeight') { - $old_data = $row->new_data; - } - } - $igr_history = array('field' => 'NetWeight','new_data' => $netWeight,'old_data' => $old_data,'history_dated' => get_current_date_time(),'by' => $this->session->get('userId'),'IGR_No' => $IGRNo,'IGRItem_No'=>$igrItemNo); - ($old_data != NULL) ? $igr_history['is_edit'] = 1 : $igr_history['is_add'] = 1 ; - ($old_data != NULL) ? $igr_history['is_edit'] = 1 : $igr_history['is_add'] = 1 ; - $history_id = $this->inwardgateregister_model->igr_history($igr_history); - log_message('error', "History updated successfully. History id: " . $history_id); - } else{ - $igr_history = array('field' => 'NetWeight','is_edit' => 1,'new_data' => $netWeight,'old_data' => NULL,'history_dated' => get_current_date_time(),'by' => $this->session->get('userId'),'IGR_No' => $IGRNo,'IGRItem_No'=>$igrItemNo); - ($old_data != NULL) ? $igr_history['is_edit'] = 1 : $igr_history['is_add'] = 1 ; - $history_id = $this->inwardgateregister_model->igr_history($igr_history); - log_message('error', "History updated successfully. History id: " . $history_id); - } + $hist = array('key' => 'NetWeight', 'value' => $netWeight, 'igr_no' => $IGRNo, 'igr_item_no' => $igrItemNo); + $this->saveIGRHistory($hist); } if($GrossWtDt){ - $grossdate = $this->inwardgateregister_model->get_igr_history('GrossWeightDate',$IGRNo,$igrItemNo); - if(!empty($grossdate)){ - $old_data = NULL; - foreach ($gross as $row) { - if ($row->field == 'GrossWeightDate') { - $old_data = $row->new_data; - } - } - $igr_history = array('field' => 'GrossWeightDate','new_data' => $GrossWtDt,'old_data' => $old_data,'history_dated' => get_current_date_time(),'by' => $this->session->get('userId'),'IGR_No' => $IGRNo,'IGRItem_No'=>$igrItemNo); - ($old_data != NULL) ? $igr_history['is_edit'] = 1 : $igr_history['is_add'] = 1 ; - ($old_data != NULL) ? $igr_history['is_edit'] = 1 : $igr_history['is_add'] = 1 ; - $history_id = $this->inwardgateregister_model->igr_history($igr_history); - log_message('error', "History updated successfully. History id: " . $history_id); - } else{ - $igr_history = array('field' => 'GrossWeightDate','is_edit' => 1,'new_data' => $GrossWtDt,'old_data' => NULL,'history_dated' => get_current_date_time(),'by' => $this->session->get('userId'),'IGR_No' => $IGRNo,'IGRItem_No'=>$igrItemNo); - ($old_data != NULL) ? $igr_history['is_edit'] = 1 : $igr_history['is_add'] = 1 ; - $history_id = $this->inwardgateregister_model->igr_history($igr_history); - log_message('error', "History updated successfully. History id: " . $history_id); - } + $hist = array('key' => 'GrossWeightDate', 'value' => $GrossWtDt, 'igr_no' => $IGRNo, 'igr_item_no' => $igrItemNo); + $this->saveIGRHistory($hist); } if($TareWtDt){ - $taredate = $this->inwardgateregister_model->get_igr_history('TareWeightDate',$IGRNo,$igrItemNo); - - if(!empty($taredate)){ - $old_data = NULL; - foreach ($taredate as $row) { - if ($row->field == 'TareWeightDate') { - $old_data = $row->new_data; - } - } - $igr_history = array('field' => 'TareWeightDate','new_data' => $TareWtDt,'old_data' => $old_data,'history_dated' => get_current_date_time(),'by' => $this->session->get('userId'),'IGR_No' => $IGRNo,'IGRItem_No'=>$igrItemNo); - ($old_data != NULL) ? $igr_history['is_edit'] = 1 : $igr_history['is_add'] = 1 ; - ($old_data != NULL) ? $igr_history['is_edit'] = 1 : $igr_history['is_add'] = 1 ; - $history_id = $this->inwardgateregister_model->igr_history($igr_history); - log_message('error', "History updated successfully. History id: " . $history_id); - } else{ - $igr_history = array('field' => 'TareWeightDate','is_edit' => 1,'new_data' => $TareWtDt,'old_data' => NULL,'history_dated' => get_current_date_time(),'by' => $this->session->get('userId'),'IGR_No' => $IGRNo,'IGRItem_No'=>$igrItemNo); - ($old_data != NULL) ? $igr_history['is_edit'] = 1 : $igr_history['is_add'] = 1 ; - $history_id = $this->inwardgateregister_model->igr_history($igr_history); - log_message('error', "History updated successfully. History id: " . $history_id); - } + $hist = array('key' => 'TareWeightDate', 'value' => $TareWtDt, 'igr_no' => $IGRNo, 'igr_item_no' => $igrItemNo); + $this->saveIGRHistory($hist); } } } - $result_for_email = $this->inwardgateregister_model->getDetailsforEmail($this->session->get('userId')); + if ($getigrstatus == 'ST027' && ($updateigrmaster > 0 || $updateigrlineitem > 0)) { - - - if ($updateigrmaster > 0 || $updateigrlineitem > 0) { - if ($getigrstatus == 'ST027') { - $result_for_email = $this->inwardgateregister_model->getDetailsforEmail($this->session->get('userId')); + $result_for_history = $this->inwardgateregister_model->getHistoryDetailsforEmail($IGRNo); + // print_r($result_for_email); + $notification = new Notification(); + + $history_content = NULL; + $history = $result_for_history; + $field_labels = [ + "Remarks" => "Remarks", + "QuantityAsPerInvoice" => "Received Qty", + "GrossWeight" => "Gross Weight", + "TareWeight" => "Tare Weight", + "NetWeight" => "Net Weight", + "GrossWeightDate" => "Gross Weight Date", + "TareWeightDate" => "Tare Weight Date", + "VehicleNo" => "Vehicle Number", + "DriverName" => "Driver Name", + "DriverMobileNumber" => "Driver Mobile Number" + ]; + $history_content = "
The following values have been edited:
"; + for ($j = 0; $j < count($history); $j++) { + + $field_name = $history[$j]->field; + $readable_field = isset($field_labels[$field_name]) ? $field_labels[$field_name] : $field_name; + + $history_content .= "
" . $readable_field . ": " . $history[$j]->old_data . " was updated to " . $history[$j]->new_data . "."; + } + for ($i = 0; $i < count($result_for_email['emails']); $i++) { + $email_response = $notification->sendEmail([ 'recipient_email' => $result_for_email['emails'][$i]->email, 'subject' => $result_for_email['company'].' - IGR Notification', - 'description' => 'IGR Number : '.$IGRNo.' is Edited By '.($result_for_email['full_name'] ?? $this->session->get('name')), + 'description' => 'IGR Number : '.$IGRNo.' is Edited By '.($result_for_email['full_name'] ?? $this->session->get('name'))." On ".date('d-m-Y H:i A', strtotime(get_current_date_time() . ' +30 seconds')). $history_content, 'company' => $result_for_email['company'], 'from_mail'=> $result_for_email['from_mail'] ]); @@ -1112,11 +994,9 @@ function viewIGRDetails() $this->logger->error("Email ID = " . $result_for_email['emails'][$i]->email . " " . $mail_log); } } - - } + // echo "***".$history_content;die; } - if ($updateigrmaster > 0) { $finalstatement = "Successfully Updated IGR Number: $IGRNo \n"; } else if($updateigrlineitem >0){ @@ -1160,102 +1040,26 @@ function viewIGRDetails() if (is_array($lineitemdata)) { if($GrossWeight){ - $gross = $this->inwardgateregister_model->get_igr_history('GrossWeight',$IGRNo); - if(!empty($gross)){ - $old_data = NULL; - foreach ($gross as $row) { - if ($row->field == 'GrossWeight') { - $old_data = $row->new_data; - } - } - $igr_history = array('field' => 'GrossWeight','new_data' => $GrossWeight,'old_data' => $old_data,'history_dated' => get_current_date_time(),'by' => $this->session->get('userId'),'IGR_No' => $IGRNo); - ($old_data != NULL) ? $igr_history['is_edit'] = 1 : $igr_history['is_add'] = 1 ; - $history_id = $this->inwardgateregister_model->igr_history($igr_history); - log_message('error', "History updated successfully. History id: " . $history_id); - }else{ - $igr_history = array('field' => 'GrossWeight','is_add' => 1,'new_data' => $GrossWeight,'old_data' => NULL,'history_dated' => get_current_date_time(),'by' => $this->session->get('userId'),'IGR_No' => $IGRNo); - $history_id = $this->inwardgateregister_model->igr_history($igr_history); - log_message('error', "History updated successfully. History id: " . $history_id); - - } + $hist = array('key' => 'GrossWeight', 'value' => $GrossWeight, 'igr_no' => $IGRNo, 'igr_item_no' => NULL); + $this->saveIGRHistory($hist); } if($TareWeight){ - $tare = $this->inwardgateregister_model->get_igr_history('TareWeight',$IGRNo); - if(!empty($tare)){ - $old_data = NULL; - foreach ($gross as $row) { - if ($row->field == 'TareWeight') { - $old_data = $row->new_data; - } - } - $igr_history = array('field' => 'TareWeight','new_data' => $TareWeight,'old_data' => $old_data,'history_dated' => get_current_date_time(),'by' => $this->session->get('userId'),'IGR_No' => $IGRNo); - ($old_data != NULL) ? $igr_history['is_edit'] = 1 : $igr_history['is_add'] = 1 ; - $history_id = $this->inwardgateregister_model->igr_history($igr_history); - log_message('error', "History updated successfully. History id: " . $history_id); - }else{ - $igr_history = array('field' => 'TareWeight','is_edit' => 1,'new_data' => $TareWeight,'old_data' => NULL,'history_dated' => get_current_date_time(),'by' => $this->session->get('userId'),'IGR_No' => $IGRNo); - $history_id = $this->inwardgateregister_model->igr_history($igr_history); - log_message('error', "History updated successfully. History id: " . $history_id); - } + $hist = array('key' => 'TareWeight', 'value' => $TareWeight, 'igr_no' => $IGRNo, 'igr_item_no' => NULL); + $this->saveIGRHistory($hist); } if($NetWeight){ - $net = $this->inwardgateregister_model->get_igr_history('NetWeight',$IGRNo); - if(!empty($net)){ - $old_data = NULL; - foreach ($gross as $row) { - if ($row->field == 'NetWeight') { - $old_data = $row->new_data; - } - } - $igr_history = array('field' => 'NetWeight','new_data' => $NetWeight,'old_data' => $old_data,'history_dated' => get_current_date_time(),'by' => $this->session->get('userId'),'IGR_No' => $IGRNo); - ($old_data != NULL) ? $igr_history['is_edit'] = 1 : $igr_history['is_add'] = 1 ; - $history_id = $this->inwardgateregister_model->igr_history($igr_history); - log_message('error', "History updated successfully. History id: " . $history_id); - } else{ - $igr_history = array('field' => 'NetWeight','is_edit' => 1,'new_data' => $NetWeight,'old_data' => NULL,'history_dated' => get_current_date_time(),'by' => $this->session->get('userId'),'IGR_No' => $IGRNo); - $history_id = $this->inwardgateregister_model->igr_history($igr_history); - log_message('error', "History updated successfully. History id: " . $history_id); - } + $hist = array('key' => 'NetWeight', 'value' => $NetWeight, 'igr_no' => $IGRNo, 'igr_item_no' => NULL); + $this->saveIGRHistory($hist); } - if($GrossWtDt){ - $grossdate = $this->inwardgateregister_model->get_igr_history('GrossWeightDate',$IGRNo); - if(!empty($grossdate)){ - $old_data = NULL; - foreach ($gross as $row) { - if ($row->field == 'GrossWeightDate') { - $old_data = $row->new_data; - } - } - $igr_history = array('field' => 'GrossWeightDate','new_data' => $GrossWtDt,'old_data' => $old_data,'history_dated' => get_current_date_time(),'by' => $this->session->get('userId'),'IGR_No' => $IGRNo); - ($old_data != NULL) ? $igr_history['is_edit'] = 1 : $igr_history['is_add'] = 1 ; - $history_id = $this->inwardgateregister_model->igr_history($igr_history); - log_message('error', "History updated successfully. History id: " . $history_id); - } else{ - $igr_history = array('field' => 'GrossWeightDate','is_edit' => 1,'new_data' => $GrossWtDt,'old_data' => NULL,'history_dated' => get_current_date_time(),'by' => $this->session->get('userId'),'IGR_No' => $IGRNo); - $history_id = $this->inwardgateregister_model->igr_history($igr_history); - log_message('error', "History updated successfully. History id: " . $history_id); - } + if($GrossWtDt){ + $hist = array('key' => 'GrossWeightDate', 'value' => $GrossWtDt, 'igr_no' => $IGRNo, 'igr_item_no' => NULL); + $this->saveIGRHistory($hist); } - if($TareWtDt){ - $taredate = $this->inwardgateregister_model->get_igr_history('TareWeightDate',$IGRNo); - - if(!empty($taredate)){ - $old_data = NULL; - foreach ($taredate as $row) { - if ($row->field == 'TareWeightDate') { - $old_data = $row->new_data; - } - } - $igr_history = array('field' => 'TareWeightDate','new_data' => $TareWtDt,'old_data' => $old_data,'history_dated' => get_current_date_time(),'by' => $this->session->get('userId'),'IGR_No' => $IGRNo); - ($old_data != NULL) ? $igr_history['is_edit'] = 1 : $igr_history['is_add'] = 1 ; - $history_id = $this->inwardgateregister_model->igr_history($igr_history); - log_message('error', "History updated successfully. History id: " . $history_id); - } else{ - $igr_history = array('field' => 'TareWeightDate','is_edit' => 1,'new_data' => $TareWtDt,'old_data' => NULL,'history_dated' => get_current_date_time(),'by' => $this->session->get('userId'),'IGR_No' => $IGRNo); - $history_id = $this->inwardgateregister_model->igr_history($igr_history); - log_message('error', "History updated successfully. History id: " . $history_id); - } + if($TareWtDt){ + $hist = array('key' => 'TareWeightDate', 'value' => $TareWtDt, 'igr_no' => $IGRNo, 'igr_item_no' => NULL); + $this->saveIGRHistory($hist); } + // if($DeliveryChellanOrInvoiceNo){ // $igr_history = array('field' => 'DeliveryChellanOrInvoiceNo','is_edit' => 1,'new_data' => $DeliveryChellanOrInvoiceNo,'old_data' => NULL,'history_dated' => get_current_date_time(),'by' => $this->session->get('userId'),'IGR_No' => $IGRNO); // $history_id = $this->inwardgateregister_model->igr_history($igr_history); @@ -1271,62 +1075,19 @@ function viewIGRDetails() // $history_id = $this->inwardgateregister_model->igr_history($igr_history); // log_message('error', "History updated successfully. History id: " . $history_id); // } - if($VehicleNo){ - $vecno = $this->inwardgateregister_model->get_igr_history('VehicleNo',$IGRNo); - - if(!empty($vecno)){ - $old_data = NULL; - foreach ($vecno as $row) { - if ($row->field == 'VehicleNo') { - $old_data = $row->new_data; - } - } - $igr_history = array('field' => 'VehicleNo','new_data' => $VehicleNo,'old_data' => $old_data,'history_dated' => get_current_date_time(),'by' => $this->session->get('userId'),'IGR_No' => $IGRNo); - ($old_data != NULL) ? $igr_history['is_edit'] = 1 : $igr_history['is_add'] = 1 ; - $history_id = $this->inwardgateregister_model->igr_history($igr_history); - log_message('error', "History updated successfully. History id: " . $history_id); - } else{$igr_history = array('field' => 'VehicleNo','is_edit' => 1,'new_data' => $VehicleNo,'old_data' => NULL,'history_dated' => get_current_date_time(),'by' => $this->session->get('userId'),'IGR_No' => $IGRNo); - $history_id = $this->inwardgateregister_model->igr_history($igr_history); - log_message('error', "History updated successfully. History id: " . $history_id); - }} - if($DriverName){ - $drname = $this->inwardgateregister_model->get_igr_history('DriverName',$IGRNo); - - if(!empty($drname)){ - $old_data = NULL; - foreach ($drname as $row) { - if ($row->field == 'DriverName') { - $old_data = $row->new_data; - } - } - $igr_history = array('field' => 'DriverName','new_data' => $DriverName,'old_data' => $old_data,'history_dated' => get_current_date_time(),'by' => $this->session->get('userId'),'IGR_No' => $IGRNo); - ($old_data != NULL) ? $igr_history['is_edit'] = 1 : $igr_history['is_add'] = 1 ; - $history_id = $this->inwardgateregister_model->igr_history($igr_history); - log_message('error', "History updated successfully. History id: " . $history_id); - } else{ - $igr_history = array('field' => 'DriverName','is_edit' => 1,'new_data' => $DriverName,'old_data' => NULL,'history_dated' => get_current_date_time(),'by' => $this->session->get('userId'),'IGR_No' => $IGRNo); - $history_id = $this->inwardgateregister_model->igr_history($igr_history); - log_message('error', "History updated successfully. History id: " . $history_id); - }} - if($DriverMobileNumber){ - $drmob = $this->inwardgateregister_model->get_igr_history('DriverMobileNumber',$IGRNo); - - if(!empty($drmob)){ - $old_data = NULL; - foreach ($drmob as $row) { - if ($row->field == 'GrossWeight') { - $old_data = $row->new_data; - } - } - $igr_history = array('field' => 'DriverMobileNumber','new_data' => $DriverMobileNumber,'old_data' => $old_data,'history_dated' => get_current_date_time(),'by' => $this->session->get('userId'),'IGR_No' => $IGRNo); - ($old_data != NULL) ? $igr_history['is_edit'] = 1 : $igr_history['is_add'] = 1 ; - $history_id = $this->inwardgateregister_model->igr_history($igr_history); - log_message('error', "History updated successfully. History id: " . $history_id); - } else{ - $igr_history = array('field' => 'DriverMobileNumber','is_edit' => 1,'new_data' => $DriverMobileNumber,'old_data' => NULL,'history_dated' => get_current_date_time(),'by' => $this->session->get('userId'),'IGR_No' => $IGRNo); - $history_id = $this->inwardgateregister_model->igr_history($igr_history); - log_message('error', "History updated successfully. History id: " . $history_id); - }} + if($VehicleNo){ + $hist = array('key' => 'VehicleNo', 'value' => $VehicleNo, 'igr_no' => $IGRNo, 'igr_item_no' => NULL); + $this->saveIGRHistory($hist); + } + if($DriverName){ + $hist = array('key' => 'DriverName', 'value' => $DriverName, 'igr_no' => $IGRNo, 'igr_item_no' => NULL); + $this->saveIGRHistory($hist); + } + if($DriverMobileNumber){ + $hist = array('key' => 'DriverMobileNumber', 'value' => $DriverMobileNumber, 'igr_no' => $IGRNo, 'igr_item_no' => NULL); + $this->saveIGRHistory($hist); + } + $igrarr = array('VehicleNo' => $VehicleNo, 'DriverName' => $DriverName, 'DriverMobileNumber' => $DriverMobileNumber,'IGRStatus' => $Status, 'UpdateBY' => $updateby,'GrossWeight'=>$GrossWeight,'TareWeight'=>$TareWeight,'NetWeight'=>$NetWeight,'GrossWeightDate'=>$GrossWtDt,'TareWeightDate'=>$TareWtDt); $masterdata = $this->inwardgateregister_model->updateigr($igrarr, $IGRNo); @@ -1350,43 +1111,14 @@ function viewIGRDetails() ); // print_r($igrline); $lineitemdata = $this->inwardgateregister_model->updateIGRLineItem($igrline, $IGRItemNo); - if($QuantityAsPerInvoice){ - $qu = $this->inwardgateregister_model->get_igr_history('QuantityAsPerInvoice',$IGRNo,$IGRItemNo); - - if(!empty($qu)){ - $old_data = NULL; - foreach ($qu as $row) { - if ($row->field == 'QuantityAsPerInvoice') { - $old_data = $row->new_data; - } - } - $igr_history = array('field' => 'QuantityAsPerInvoice','new_data' => $QuantityAsPerInvoice,'old_data' => $old_data,'history_dated' => get_current_date_time(),'by' => $this->session->get('userId'),'IGR_No' => $IGRNo,'IGRItem_No' => $IGRItemNo); - ($old_data != NULL) ? $igr_history['is_edit'] = 1 : $igr_history['is_add'] = 1 ; - $history_id = $this->inwardgateregister_model->igr_history($igr_history); - log_message('error', "History updated successfully. History id: " . $history_id); - } else{ - $igr_history = array('field' => 'QuantityAsPerInvoice','is_add' => 1,'new_data' => $QuantityAsPerInvoice,'old_data' => NULL,'history_dated' => get_current_date_time(),'by' => $this->session->get('userId'),'IGR_No' => $IGRNo,'IGRItem_No' => $IGRItemNo); - $history_id = $this->inwardgateregister_model->igr_history($igr_history); - log_message('error', "History updated successfully. History id: " . $history_id); - }} - if($Remarks){ - $remak = $this->inwardgateregister_model->get_igr_history('Remarks',$IGRNo,$IGRItemNo); - - if(!empty($remak)){ - $old_data = NULL; - foreach ($remak as $row) { - if ($row->field == 'Remarks') { - $old_data = $row->new_data; - } - } - $igr_history = array('field' => 'Remarks','new_data' => $Remarks,'old_data' => $old_data,'history_dated' => get_current_date_time(),'by' => $this->session->get('userId'),'IGR_No' => $IGRNo,'IGRItem_No' => $IGRItemNo); - ($old_data != NULL) ? $igr_history['is_edit'] = 1 : $igr_history['is_add'] = 1 ; - $history_id = $this->inwardgateregister_model->igr_history($igr_history); - log_message('error', "History updated successfully. History id: " . $history_id); - } else{$igr_history = array('field' => 'Remarks','is_add' => 1,'new_data' => $Remarks,'old_data' => NULL,'history_dated' => get_current_date_time(),'by' => $this->session->get('userId'),'IGR_No' => $IGRNo,'IGRItem_No' => $IGRItemNo); - $history_id = $this->inwardgateregister_model->igr_history($igr_history); - log_message('error', "History updated successfully. History id: " . $history_id); - }} + if($QuantityAsPerInvoice){ + $hist = array('key' => 'QuantityAsPerInvoice', 'value' => $QuantityAsPerInvoice, 'igr_no' => $IGRNo, 'igr_item_no' => $IGRItemNo); + $this->saveIGRHistory($hist); + } + if($Remarks){ + $hist = array('key' => 'Remarks', 'value' => $Remarks, 'igr_no' => $IGRNo, 'igr_item_no' => $IGRItemNo); + $this->saveIGRHistory($hist); + } $i++; if ($lineitemdata > 0) { $dummy++; @@ -1425,101 +1157,24 @@ function updateIGRWeight(){ if(!is_dir($path)) { mkdir($path, 0777, true); } if($GrossWeight){ - $gross = $this->inwardgateregister_model->get_igr_history('GrossWeight',$IGRNO, $IGRItemNo); - if(!empty($gross)){ - $old_data = NULL; - foreach ($gross as $row) { - if ($row->field == 'GrossWeight') { - $old_data = $row->new_data; - } - } - $igr_history = array('field' => 'GrossWeight','new_data' => $GrossWeight,'old_data' => $old_data,'history_dated' => get_current_date_time(),'by' => $this->session->get('userId'),'IGR_No' => $IGRNO,'IGRItem_No'=>$IGRItemNo); - ($old_data != NULL) ? $igr_history['is_edit'] = 1 : $igr_history['is_add'] = 1 ; - $history_id = $this->inwardgateregister_model->igr_history($igr_history); - log_message('error', "History updated successfully. History id: " . $history_id); - }else{ - $igr_history = array('field' => 'GrossWeight','is_add' => 1,'new_data' => $GrossWeight,'old_data' => NULL,'history_dated' => get_current_date_time(),'by' => $this->session->get('userId'),'IGR_No' => $IGRNO,'IGRItem_No'=>$IGRItemNo); - $history_id = $this->inwardgateregister_model->igr_history($igr_history); - log_message('error', "History updated successfully. History id: " . $history_id); - - } + $hist = array('key' => 'GrossWeight', 'value' => $GrossWeight, 'igr_no' => $IGRNO, 'igr_item_no' => $IGRItemNo); + $this->saveIGRHistory($hist); } - if($TareWeight){ - $tare = $this->inwardgateregister_model->get_igr_history('TareWeight',$IGRNO, $IGRItemNo); - if(!empty($tare)){ - $old_data = NULL; - foreach ($gross as $row) { - if ($row->field == 'TareWeight') { - $old_data = $row->new_data; - } - } - $igr_history = array('field' => 'TareWeight','new_data' => $TareWeight,'old_data' => $old_data,'history_dated' => get_current_date_time(),'by' => $this->session->get('userId'),'IGR_No' => $IGRNO,'IGRItem_No'=>$IGRItemNo); - ($old_data != NULL) ? $igr_history['is_edit'] = 1 : $igr_history['is_add'] = 1 ; - $history_id = $this->inwardgateregister_model->igr_history($igr_history); - log_message('error', "History updated successfully. History id: " . $history_id); - }else{ - $igr_history = array('field' => 'TareWeight','is_edit' => 1,'new_data' => $TareWeight,'old_data' => NULL,'history_dated' => get_current_date_time(),'by' => $this->session->get('userId'),'IGR_No' => $IGRNO,'IGRItem_No'=>$IGRItemNo); - $history_id = $this->inwardgateregister_model->igr_history($igr_history); - log_message('error', "History updated successfully. History id: " . $history_id); - } + if($GrossWeight){ + $hist = array('key' => 'TareWeight', 'value' => $TareWeight, 'igr_no' => $IGRNO, 'igr_item_no' => $IGRItemNo); + $this->saveIGRHistory($hist); } if($NetWeight){ - $net = $this->inwardgateregister_model->get_igr_history('NetWeight',$IGRNO, $IGRItemNo); - if(!empty($net)){ - $old_data = NULL; - foreach ($gross as $row) { - if ($row->field == 'NetWeight') { - $old_data = $row->new_data; - } - } - $igr_history = array('field' => 'NetWeight','new_data' => $NetWeight,'old_data' => $old_data,'history_dated' => get_current_date_time(),'by' => $this->session->get('userId'),'IGR_No' => $IGRNO,'IGRItem_No'=>$IGRItemNo); - ($old_data != NULL) ? $igr_history['is_edit'] = 1 : $igr_history['is_add'] = 1 ; - $history_id = $this->inwardgateregister_model->igr_history($igr_history); - log_message('error', "History updated successfully. History id: " . $history_id); - } else{ - $igr_history = array('field' => 'NetWeight','is_edit' => 1,'new_data' => $NetWeight,'old_data' => NULL,'history_dated' => get_current_date_time(),'by' => $this->session->get('userId'),'IGR_No' => $IGRNO,'IGRItem_No'=>$IGRItemNo); - $history_id = $this->inwardgateregister_model->igr_history($igr_history); - log_message('error', "History updated successfully. History id: " . $history_id); - } + $hist = array('key' => 'NetWeight', 'value' => $NetWeight, 'igr_no' => $IGRNO, 'igr_item_no' => $IGRItemNo); + $this->saveIGRHistory($hist); } if($GrossWtDt){ - $grossdate = $this->inwardgateregister_model->get_igr_history('GrossWeightDate',$IGRNO, $IGRItemNo); - if(!empty($grossdate)){ - $old_data = NULL; - foreach ($gross as $row) { - if ($row->field == 'GrossWeightDate') { - $old_data = $row->new_data; - } - } - $igr_history = array('field' => 'GrossWeightDate','new_data' => $GrossWtDt,'old_data' => $old_data,'history_dated' => get_current_date_time(),'by' => $this->session->get('userId'),'IGR_No' => $IGRNO,'IGRItem_No'=>$IGRItemNo); - ($old_data != NULL) ? $igr_history['is_edit'] = 1 : $igr_history['is_add'] = 1 ; - $history_id = $this->inwardgateregister_model->igr_history($igr_history); - log_message('error', "History updated successfully. History id: " . $history_id); - } else{ - $igr_history = array('field' => 'GrossWeightDate','is_edit' => 1,'new_data' => $GrossWtDt,'old_data' => NULL,'history_dated' => get_current_date_time(),'by' => $this->session->get('userId'),'IGR_No' => $IGRNO,'IGRItem_No'=>$IGRItemNo); - $history_id = $this->inwardgateregister_model->igr_history($igr_history); - log_message('error', "History updated successfully. History id: " . $history_id); - } + $hist = array('key' => 'GrossWeightDate', 'value' => $GrossWtDt, 'igr_no' => $IGRNO, 'igr_item_no' => $IGRItemNo); + $this->saveIGRHistory($hist); } if($TareWtDt){ - $taredate = $this->inwardgateregister_model->get_igr_history('TareWeightDate',$IGRNO, $IGRItemNo); - - if(!empty($taredate)){ - $old_data = NULL; - foreach ($taredate as $row) { - if ($row->field == 'TareWeightDate') { - $old_data = $row->new_data; - } - } - $igr_history = array('field' => 'TareWeightDate','new_data' => $TareWtDt,'old_data' => $old_data,'history_dated' => get_current_date_time(),'by' => $this->session->get('userId'),'IGR_No' => $IGRNO,'IGRItem_No'=>$IGRItemNo); - ($old_data != NULL) ? $igr_history['is_edit'] = 1 : $igr_history['is_add'] = 1 ; - $history_id = $this->inwardgateregister_model->igr_history($igr_history); - log_message('error', "History updated successfully. History id: " . $history_id); - } else{ - $igr_history = array('field' => 'TareWeightDate','is_edit' => 1,'new_data' => $TareWtDt,'old_data' => NULL,'history_dated' => get_current_date_time(),'by' => $this->session->get('userId'),'IGR_No' => $IGRNO,'IGRItem_No'=>$IGRItemNo); - $history_id = $this->inwardgateregister_model->igr_history($igr_history); - log_message('error', "History updated successfully. History id: " . $history_id); - } + $hist = array('key' => 'TareWeightDate', 'value' => $TareWtDt, 'igr_no' => $IGRNO, 'igr_item_no' => $IGRItemNo); + $this->saveIGRHistory($hist); } @@ -1873,6 +1528,62 @@ function updateIGRWeight(){ echo json_encode($data); } + + public function saveIGRHistory($hist){ + + $field = $hist['key']; + + $igr_no = $hist['igr_no']; + $igr_item_no = $hist['igr_item_no']; + + $new_data = $hist['value']; + $old_data = NULL; + + $same = false; + + log_message('error', "$igr_no Save History function entered."); + + // Get existing history + $existingHist = $this->inwardgateregister_model->get_igr_history($field, $igr_no, $igr_item_no); + + if (!empty($existingHist)) { + foreach ($existingHist as $row) { + if ($row->new_data == $new_data) { + $same = true; // The same data already exists + break; + } else { + $old_data = $row->new_data; // Keep track of the latest `new_data` + } + } + } + + if (!$same) { + // Insert or update history since data is different + $igr_history = array( + 'field' => $field, + 'new_data' => $new_data, + 'old_data' => $old_data, + 'history_dated' => get_current_date_time(), + 'by' => $this->session->get('userId'), + 'IGR_No' => $igr_no, + 'IGRItem_No' => $igr_item_no + ); + + if ($old_data !== NULL) { + $igr_history['is_edit'] = 1; // Update existing record + } else { + $igr_history['is_add'] = 1; // Insert new record + } + + + $history_id = $this->inwardgateregister_model->igr_history($igr_history); + log_message('error', "History updated successfully. History ID: $history_id" ); + } else { + // echo "No update needed: ".$param['key']." ($value) already exists."; + log_message('error', "No update needed: $field ($new_data) already exists."); + } + + } diff --git a/app/Models/Inwardgateregister_model.php b/app/Models/Inwardgateregister_model.php index 3aecbed2..66c96781 100755 --- a/app/Models/Inwardgateregister_model.php +++ b/app/Models/Inwardgateregister_model.php @@ -221,15 +221,10 @@ class Inwardgateregister_model extends Model } public function igr_history($hsty_arr) { - $this->db->transStart(); $builder = $this->db->table('t_igr_history'); $builder->insert($hsty_arr); - $this->db->transComplete(); - if ($this->db->transStatus() === FALSE) { - return false; - } else { - return $this->db->insertID(); - } + + return $this->db->insertID(); // Return last inserted ID } function get_igr_history($col,$IGR,$IGRITEM = null) @@ -520,21 +515,7 @@ class Inwardgateregister_model extends Model $builder = $this->db->table('t_igr_master igr') ->distinct() ->select("igr.IGRNO,igr.*,igrd.*,MM.MaterialName,MM.UOM,sup.Address,sup.SupplierName,POM.ServiceDescription,POL.Quantity,POL.Rate,POM.POType,POM.IsOpenOrder, - SUM( - CASE - WHEN POM.POType = 'IMPORT' - THEN COALESCE(it.IGST, 0) - WHEN POM.POType = 'CAPITAL' AND POM.CapitalRange = 0 - THEN COALESCE(it.IGST, 0) - WHEN POM.POType = 'CAPITAL' AND POM.CapitalRange = 1 - THEN COALESCE(st.CGST, 0) + COALESCE(st.SGST, 0) + COALESCE(st.IGST, 0) - WHEN POM.POType = 'REVENUE' - THEN COALESCE(rt.CGST, 0) + COALESCE(rt.SGST, 0) + COALESCE(rt.IGST, 0) - WHEN POM.POType = 'SERVICE' - THEN COALESCE(st.CGST, 0) + COALESCE(st.SGST, 0) + COALESCE(st.IGST, 0) - ELSE 0 - END - ) AS TaxInPercentage", false) + POM.CapitalRange,POM.CapitalRange,st.CGST as service_cgst,st.SGST as service_sgst,st.IGST as service_igst,it.IGST as import_igst,rt.CGST as revenue_cgst,rt.SGST as revenue_sgst,rt.IGST as revenue_igst") ->join('t_igr_details igrd', 'igrd.IGRNO = igr.IGRNO') ->join('t_purchaseorder_master POM', 'igr.PONO = POM.PONO') ->join('t_purchaseorder_lineitem POL', 'igr.PONO = POL.PONO and POL.MaterialCode=igrd.MaterialCode ') @@ -1172,6 +1153,7 @@ class Inwardgateregister_model extends Model t_igr_details.QuantityAsPerInvoice as Qty, issd.*') ->whereIn('t_igr_details.MaterialCode', $materialCodes) + ->where('t_igr_details.QuantityAsPerInvoice <>', 0) ->like('t_igr_details.CreatedDate', $month, 'after'); // remark needed for those who selected any remark. @@ -1193,6 +1175,19 @@ class Inwardgateregister_model extends Model return $result; } + public function getHistoryDetailsforEmail($igr){ + $date = date('Y-m-d H:i:s'); + $to = date('Y-m-d H:i:s', strtotime($date . ' +30 seconds')); + $from = date('Y-m-d H:i:s', strtotime($date . ' -30 seconds')); + + $builder = $this->db->table('t_igr_history')->where('IGR_NO', $igr) + ->where('is_edit', 1) + ->where('history_dated BETWEEN "'.$from.'" AND "'.$to.'"'); + $query = $builder->get(); + // echo $this->db->getLastQuery()->getQuery(); die; + return $query->getResult(); + } + public function getDetailsforEmail($userId) { $query0 = $this->db->query(" diff --git a/app/Views/CoatingMachineDetail.php b/app/Views/CoatingMachineDetail.php index 97b6c68d..916c1c67 100644 --- a/app/Views/CoatingMachineDetail.php +++ b/app/Views/CoatingMachineDetail.php @@ -115,7 +115,7 @@ .celda_encabezado_general { - background-color: #00a65a; + background-color:rgb(80, 187, 217); /* blue background */ border: 1px solid #ccc; color: #ffffff; font-weight: bold; @@ -123,6 +123,10 @@ text-align: center; min-width: 120px; max-width: 120px; + white-space: normal; /* Allows text to wrap */ + word-wrap: break-word; /* Breaks long words if needed */ + text-align: center; /* Centers text for better alignment */ + max-width: 150px; /* Set a max width to control wrapping */ } .celda_encabezado_total { @@ -191,7 +195,7 @@ position: sticky; left: 0; top: 0; - background-color: #00a65a; + background-color:rgb(80, 187, 217); /* blue background */ z-index: 7!important; border-right: 2px solid #ddd; color: #ffffff; @@ -202,10 +206,11 @@ { position: sticky; left: 0; - background-color: #00a65a; + background-color:rgb(80, 187, 217); /* blue background */ z-index: 2; border-right: 2px solid #ddd; color: #ffffff; + } .table-responsive { @@ -474,7 +479,7 @@