-
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; -} - -