diff --git a/app/Controllers/Inwardgateregister.php b/app/Controllers/Inwardgateregister.php index 668d945b..5ca365b9 100755 --- a/app/Controllers/Inwardgateregister.php +++ b/app/Controllers/Inwardgateregister.php @@ -322,22 +322,47 @@ class Inwardgateregister extends BaseController $createddt = get_current_date_time(); //$IGRStatus = IGR_CREATED;//old $IGRStatus = (int)$this->request->getPost('hideIGRStatus') == 1 ? IGR_CREATED : IGR_DRAFT; - $document = null; + $igr = array(); // For IGR Master $paymentstatus = NO_PAIDIGR; - $constant = $this->request->getPost('hideconstants'); - $arr = []; // For File to Save - $prefile = array(); + $fileupdated_count = 0; $fileupdated_name = []; - $igr = array('PONO' => $PONO, 'VehicleNo' => $VehicleNo, 'DeliveryChellanOrInvoiceNo' => $DeliveryChellanOrInvoiceNo, 'DeliveryChellanDate' => $DeliveryChellanDate, 'MaterialRcvdDate' => $MaterialRcvdDt, 'DriverName' => $DriverName, 'DriverMobileNumber' => $DriverMobileNumber,'IGRStatus' => $IGRStatus, 'CreatedBy' => $CreatedBy, 'CreatedDate' => $createddt, 'PaymentStatus' => $paymentstatus); - - //Saving IGR details Here - $IGRNO = $this->inwardgateregister_model->addigrM($igr); + #Step 1 File Path Creation + $path = ROOTPATH.'public/uploads/Igrfiles/'; + if(!is_dir($path)) { mkdir($path, 0777, true); } + + #Step 2 Master File and Its Details Gathering + $MasterFile = $this->request->getFile('MasterFile'); + $requestMasterFileName = $MasterFile->getName(); + if (!empty($requestMasterFileName)) { + if ($MasterFile && $MasterFile->isValid() && !$MasterFile->hasMoved()) { + if (!empty($this->inwardgateregister_model->isFileExistsInIGRmaster($requestMasterFileName))) { + log_message('error', 'File already exists in the database'.$requestMasterFileName); + $requestMasterFileName = NULL; + } + else{ + $MasterFile->move($path, $requestMasterFileName); + $fileupdated_count++; + $fileupdated_name[] = $requestMasterFileName; + } + }else{ + $requestMasterFileName = NULL; + } + }else{ + $requestMasterFileName = NULL; + } + + #Step 3 Master Details Gathering to Save In DB + $igr = array('PONO' => $PONO, 'VehicleNo' => $VehicleNo, 'DeliveryChellanOrInvoiceNo' => $DeliveryChellanOrInvoiceNo, 'DeliveryChellanDate' => $DeliveryChellanDate, 'MaterialRcvdDate' => $MaterialRcvdDt, 'DriverName' => $DriverName, 'DriverMobileNumber' => $DriverMobileNumber,'IGRStatus' => $IGRStatus, 'CreatedBy' => $CreatedBy, 'CreatedDate' => $createddt, 'PaymentStatus' => $paymentstatus); + $igr['MasterFile'] = $requestMasterFileName; + #Step 4 Calling DB to Save IGR Master + $IGRNO = $this->inwardgateregister_model->addigrM($igr); + // $IGRNO = "IGRNO02734"; if($IGRNO){ - #Step 1.1 Fetch On History + #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); @@ -353,73 +378,15 @@ class Inwardgateregister extends BaseController $history_id = $this->inwardgateregister_model->igr_history($igr_history); log_message('error', "History updated successfully. History id: " . $history_id); } - #Step 2 File Details Gathering - if($constant){ - for ($i = 1; $i <= $constant; $i++) { - $pathname = 'browseFiles' . $i; - $file = $this->request->getFile($pathname); - if ($file && $file->isValid()) { - $requestfilename = $file->getName(); - if (!empty($requestfilename)) { - - $files = str_replace(" ", "", $_FILES[$pathname]['name']); - $fcount = 0; - - foreach ($prefile as $value) { - if ($value == $files) { $fcount++; } - } - - if ($fcount == 0) { - if ($file->isValid() && !$file->hasMoved()) { - $path = ROOTPATH.'public/uploads/Igrfiles/'; - if(!is_dir($path)) { mkdir($path, 0777, true); } - $Picture = $file->getName(); - $file->move($path,$Picture); - log_message('error', "File new" . $i . " uploaded successfully. File name: " . $requestfilename); - } - $arr[] = array($Picture); - } - - $prefile[] = $files; - } - } else { - log_message('error', "No file uploaded for new" . $i . " or there was an error uploading the file."); - } - } - #Step 2.1 Saving File Details - if (!empty($arr)) { - foreach ($arr as $ma) { - $index = 0; - foreach ($ma as $key => $value) { - $index++; - if ($index == 1) { - $filename = $value; - } - } - if (!empty($filename)) { - - $myfile = array('FilePath' => $filename, 'PONO' => $PONO, 'IGRNO' => $IGRNO); - $fileupdated = $this->inwardgateregister_model->fileupload($myfile); - if ($fileupdated) { - $fileupdated_count++; - $fileupdated_name[] = $filename; - } - } - } - } - } - - #Step 3 Updating OGR Details + #Step 6 Updating OGR Details $OGRStatus = $IGRStatus; $check_OGRPO = $this->inwardgateregister_model->update_OGR($PONO, $OGRStatus); - // echo "step3"; // echo "uuu".(int)$check_OGRPO; $IGRItemStatus = REQITEM_NEW; $TotalPendingQty = ''; $TotalPendingQty = (int)$TotalPendingQty; - // echo "step4"; - #Step 4 To Update the Date PO MASTER , Material Master , Historydetails and IGR line Item Details Updating OGR Details + #Step 7 To Update the Date PO MASTER , Material Master , Historydetails and IGR line Item Details Updating OGR Details for ($i = 1; $i <= (int)$RowCount; $i++) { $MaterialCode = $this->request->getPost('MaterialCode' . $i); $MaterialCode = $MaterialCode !== null && is_string($MaterialCode) ? trim($MaterialCode) : null; @@ -438,6 +405,29 @@ class Inwardgateregister extends BaseController $NetWeight= $this->request->getPost('txtNetWeight' . $i); // var_dump($grossWeightDate); // var_dump($tareWeightDate); + #Step 8 Saving Weight File and Its Details Gathering + $WeightFile = $this->request->getFile('txtWeightFile' . $i); + $requestWeightFileName = $WeightFile->getName(); + // echo $i.$requestWeightFileName;die; + + if (!empty($requestWeightFileName)) { + if ($WeightFile && $WeightFile->isValid() && !$WeightFile->hasMoved()) { + // $WeightFile->move($path, $requestWeightFileName); + if (!empty($this->inwardgateregister_model->isFileExistsInIGRdetails($requestWeightFileName))) { + log_message('error', 'File already exists in the database'.$requestWeightFileName); + $requestWeightFileName = NULL; + } + else{ + $WeightFile->move($path, $requestWeightFileName); + $fileupdated_count++; + $fileupdated_name[] = $requestWeightFileName; + } + }else{ + $requestWeightFileName = NULL; + } + }else{ + $requestWeightFileName = NULL; + } $GrossWeightDate = !empty($grossWeightDate) && is_string($grossWeightDate) ? date('Y-m-d H:i:s', strtotime($grossWeightDate)) : null; $TareWeightDate = !empty($tareWeightDate) && is_string($tareWeightDate) ? date('Y-m-d H:i:s', strtotime($tareWeightDate)) : null; @@ -454,6 +444,7 @@ class Inwardgateregister extends BaseController $CreatedBy = $this->session->get('userId'); $igrDetails = array('IGRNO' => $IGRNO, 'MaterialCode' => $MaterialCode, 'QuantityAsPerInvoice' => $QuantityAsPerInvoice, 'Remarks' => $Remarks, 'IGRItemStatus' => $IGRItemStatus,'GrossWeight' => (float)$GrossWeight ,'GrossWeightDate'=> $GrossWeightDate,'TareWeight' => (float)$TareWeight ,'TareWeightDate' => $TareWeightDate ,'NetWeight' => (float)$NetWeight, 'CreatedBy' => $CreatedBy, 'CreatedDate' => $createddt); + $igrDetails['WeightFile'] = $requestWeightFileName; log_message('error', 'SaveIGR igrDetails result : ' . json_encode($igrDetails)); $igrD = $this->inwardgateregister_model->addigrD($igrDetails); @@ -532,7 +523,7 @@ class Inwardgateregister extends BaseController $this->inwardgateregister_model->UpdatePOMaster($PONO, $CreatedBy); - #Step 6 Updating Pending Quantity IN PO Master amd Line Item Details. + #Step 9 Updating Pending Quantity IN PO Master amd Line Item Details. if ($TotalPendingQty == 0.00) { $Newstatus = array('Status' => $IGRStatus); $this->inwardgateregister_model->POLineItemsupdatestatus($PONO, $Newstatus); @@ -544,7 +535,7 @@ class Inwardgateregister extends BaseController $finalstatement = "Successfully Created IGR Number: $IGRNO \n"; if ($fileupdated_count > 0) { $finalstatement .= "Number of files updated: $fileupdated_count \n"; - $finalstatement .= "Files: \n " . implode('\n ', $fileupdated_name); + $finalstatement .= "Files: \n" . implode(PHP_EOL, $fileupdated_name); } else { $finalstatement .= "No files to update"; } @@ -559,7 +550,7 @@ class Inwardgateregister extends BaseController echo ""; + "; } @@ -579,7 +570,7 @@ function viewIGRDetails() { $IGRNO = $this->request->getPost('id'); $igrfile = $this->inwardgateregister_model->viewIGRFile($IGRNO); - $billfile = $this->inwardgateregister_model->ViewIGRfile1($IGRNO); + $billfile = []; // $this->inwardgateregister_model->ViewIGRfile1($IGRNO); $data = array_merge($igrfile, $billfile); echo json_encode($data); } @@ -616,9 +607,31 @@ function viewIGRDetails() $IGRStatus = (int)$this->request->getPost('status') == 1 ? IGR_CREATED : IGR_DRAFT; $tableData = $this->request->getPost('tableData'); + if (is_string($tableData)) { + $tableData = json_decode($tableData, true); + } $updateby = $this->session->get('userId'); + $path = ROOTPATH.'public/uploads/Igrfiles/'; + if(!is_dir($path)) { mkdir($path, 0777, true); } + $igrarr = array('DeliveryChellanDate' => $DeliveryChellanDate, 'MaterialRcvdDate' => $MaterialRcvdDt,'VehicleNo'=>$VehicleNo,'DriverMobileNumber'=>$DriverMobileNumber,'DriverName'=>$DriverName, 'IGRStatus' => $IGRStatus,'UpdateBY' => $updateby); + + $MasterFile = $this->request->getfile('MasterFile'); + $requestMasterFileName = $MasterFile->getName(); + + if (!empty($requestMasterFileName)) { + if ($MasterFile && $MasterFile->isValid() && !$MasterFile->hasMoved()) { + if (!empty($this->inwardgateregister_model->isFileExistsInIGRmaster($requestMasterFileName))) { + log_message('error', 'File already exists in the database'.$requestMasterFileName); + } + else{ + $MasterFile->move($path, $requestMasterFileName); + $igrarr['MasterFile'] = $requestMasterFileName; + } + } + } + log_message('error', 'UpdateIGR igrarr: ' . json_encode($igrarr)); $updateigrmaster = $this->inwardgateregister_model->updateigr($igrarr, $IGRNo); if(!empty($tableData )){ @@ -701,6 +714,21 @@ function viewIGRDetails() 'IGRItemNo' => $igrItemNo, 'UpdateBY' => $updateby ); + // $WeightFile = $this->request->getfile('WeightFile'); + // $requestWeightFileName = $WeightFile->getName(); + + // if (!empty($requestWeightFileName)) { + // if ($WeightFile && $WeightFile->isValid() && !$WeightFile->hasMoved()) { + // if (!empty($this->inwardgateregister_model->isFileExistsInIGRdetails($requestWeightFileName))) { + // log_message('error', 'File already exists in the database'.$requestWeightFileName); + // } + // else{ + // $WeightFile->move($path, $requestWeightFileName); + // $igrline['WeightFile'] = $requestWeightFileName; + // } + // } + // } + $updateigrlineitem = $this->inwardgateregister_model->updateIGRLineItem($igrline, $igrItemNo); log_message('error', "lineitem updated successfully: " . $updateigrlineitem); log_message('error', 'UpdateIGR updateigrlineitem: ' . json_encode($igrline)); @@ -1139,6 +1167,11 @@ function updateIGRWeight(){ $IGRNO = $this->request->getPost('IGR'); $IGRItemNo = $this->request->getPost('IGRlineitem'); $updateby = $this->session->get('userId'); + $WeightFile = $this->request->getfile('WeightFile'); + $requestWeightFileName = $WeightFile->getName(); + $path = ROOTPATH.'public/uploads/Igrfiles/'; + if(!is_dir($path)) { mkdir($path, 0777, true); } + if($GrossWeight){ $gross = $this->inwardgateregister_model->get_igr_history('GrossWeight',$IGRNO, $IGRItemNo); if(!empty($gross)){ @@ -1240,7 +1273,18 @@ function updateIGRWeight(){ $IGRItemNo = $this->request->getPost('IGRlineitem'); $igr_lineitem = array('GrossWeight' => $GrossWeight,'GrossWeightDate' => $GrossWeightDate,'TareWeightDate' => $TareWeightDate,'TareWeight' => $TareWeight,'NetWeight' => $NetWeight,'UpdateBY' => $updateby); - + + if (!empty($requestWeightFileName)) { + if ($WeightFile && $WeightFile->isValid() && !$WeightFile->hasMoved()) { + if (!empty($this->inwardgateregister_model->isFileExistsInIGRdetails($requestWeightFileName))) { + log_message('error', 'File already exists in the database'.$requestWeightFileName); + } + else{ + $WeightFile->move($path, $requestWeightFileName); + $igr_lineitem['WeightFile'] = $requestWeightFileName; + } + } + } $update = $this->inwardgateregister_model->updateIGRLineItem($igr_lineitem, $IGRItemNo); if ($update) { diff --git a/app/Models/Inwardgateregister_model.php b/app/Models/Inwardgateregister_model.php index ff5575d9..400cc159 100755 --- a/app/Models/Inwardgateregister_model.php +++ b/app/Models/Inwardgateregister_model.php @@ -904,6 +904,18 @@ class Inwardgateregister_model extends Model // Pass the result to the view or return it as JSON // return $this->response->setJSON($result); } + public function isFileExistsInIGRmaster($filename) + { + $result = $this->db->table('t_igr_master')->where('MasterFile', $filename); + $query = $result->get(); + return $query->getResult(); + } + public function isFileExistsInIGRdetails($filename) + { + $result = $this->db->table('t_igr_details')->where('WeightFile', $filename); + $query = $result->get(); + return $query->getResult(); + } public function getCostCenterData($pono) { diff --git a/app/Views/inwardgateregister.php b/app/Views/inwardgateregister.php index c1068df6..79c4bb0f 100755 --- a/app/Views/inwardgateregister.php +++ b/app/Views/inwardgateregister.php @@ -1,116 +1,125 @@ - - - + + - - + -.modal-dialog { - display: inline-block; - text-align: left; - vertical-align: middle; -} -.select2 { - width: 100% ! important; -} -.num { - text-align:right; -} -.dataTables_wrapper { - padding-bottom: 0px; -} - -
- -
-
-

-
Inward Gate Register
-

- -
-

-
- -
-


-
+
+
+ +
+

+
Inward Gate Register
+

+
+

+
+ + +


+
-
+
-
+
'Purchase Order No'); - if(!empty($PO_NO)){ - //print_r($PO_NO); - foreach ($PO_NO as $SI): - $options[$SI->PONO] = $SI->PONO .'-'. $SI->SupplierName ; - $PONO = $SI->PONO; - endforeach; - } - echo form_dropdown('PONO', $options,set_value('PONO'),'id="PONO"' ,'class="form-control select2"' , 'required="true"'); - ?> - + $options = array("-1" => 'Purchase Order No'); + if (!empty($PO_NO)) { + //print_r($PO_NO); + foreach ($PO_NO as $SI) : + $options[$SI->PONO] = $SI->PONO . '-' . $SI->SupplierName; + $PONO = $SI->PONO; + endforeach; + } + echo form_dropdown('PONO', $options, set_value('PONO'), 'id="PONO"', 'class="form-control select2"', 'required="true"'); + ?> +
- +
'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'); + echo form_input($data); + ?>
@@ -118,114 +127,88 @@
'InvoiceNo','value' => set_value('InvoiceNo'),'id'=>'InvoiceNo', 'class' => 'form-control', 'required=>"true"' ); // ,'onkeypress'=>'return isNumberKey(event);' ); - echo form_input($data); - ?> + $data = array('name' => 'InvoiceNo', 'value' => set_value('InvoiceNo'), 'id' => 'InvoiceNo', 'class' => 'form-control', 'required=>"true"'); // ,'onkeypress'=>'return isNumberKey(event);' ); + echo form_input($data); + ?>
'InvoiceDate','value' => set_value('InvoiceDate'),'id'=>'InvoiceDate', 'class' => 'form-control num', 'required'=>'true' ); - echo form_input($data); - ?> + $data = array('name' => 'InvoiceDate', 'value' => set_value('InvoiceDate'), 'id' => 'InvoiceDate', 'class' => 'form-control num', 'required' => 'true'); + echo form_input($data); + ?>
'MaterialRcvdDate','value' => set_value('MaterialRcvdDate'),'id'=>'MaterialRcvdDate', 'class' => 'form-control num', 'required'=>'true' ); + $data = array('name' => 'MaterialRcvdDate', 'value' => set_value('MaterialRcvdDate'), 'id' => 'MaterialRcvdDate', 'class' => 'form-control num', 'required' => 'true'); echo form_input($data); - ?> + ?>
-
+
'VehicleNo','value' => set_value('VehicleNo'), 'id'=>'VehicleNo', 'class' => 'form-control', 'maxlength' => '20' ); - echo form_input($data); + $data = array('name' => 'VehicleNo', 'value' => set_value('VehicleNo'), 'id' => 'VehicleNo', 'class' => 'form-control', 'maxlength' => '20'); + echo form_input($data); ?>
'DriverName','value' => set_value('DriverName'), 'id'=>'DriverName', 'class' => 'form-control', 'maxlength' => '50' ); - echo form_input($data); + $data = array('name' => 'DriverName', 'value' => set_value('DriverName'), 'id' => 'DriverName', 'class' => 'form-control', 'maxlength' => '50'); + echo form_input($data); ?> -
+
'DriverMobileNumber','value' => set_value('DriverMobileNumber'), 'id'=>'DriverMobileNumber', 'class' => 'form-control', 'maxlength' => '50' ); + $data = array('name' => 'DriverMobileNumber', 'value' => set_value('DriverMobileNumber'), 'id' => 'DriverMobileNumber', 'class' => 'form-control', 'maxlength' => '50'); echo form_input($data); ?> -
- +
- - - -
- +
- - - - - - - +
- -
+ +
- - - - - - - - - - - - - - - - - - - - - - - -
#Item CodeMaterialUOMOrdered QuantityReceived QuantityBalance QuantityInvoice QuantityRemarks
- - - - -
-
- - -
+ + + + + + + + + + + + + + + + + + + + + +
#Item CodeMaterialUOMOrdered QuantityReceived QuantityBalance QuantityInvoice QuantityRemarks
+ + + + +
+
+ + +
@@ -235,716 +218,460 @@ - +
+
- -
- + + + + + + + - - - - - - - - + + + \ No newline at end of file diff --git a/app/Views/viewinwardgateregister.php b/app/Views/viewinwardgateregister.php index b136580a..da6b741e 100644 --- a/app/Views/viewinwardgateregister.php +++ b/app/Views/viewinwardgateregister.php @@ -247,11 +247,17 @@ --> - +