assetdetails_model = new Assetdetails_model();
$this->session = session();
helper('form'); //$this->load->library('form_validation');
$this->isLoggedIn();
//
}
/**
* This function used to load the first screen of the user
*/
public function index()
{
$this->global['pageTitle'] = 'Asset Details';
$this->loadViews("assetListing", $this->global, NULL, NULL);
}
/**
* This function is used to load the Supplier list
*/
function assetListing()
{
$data['userRecords'] = $this->assetdetails_model->assetListing();
$this->global['pageTitle'] = 'Asset List';
//print_r($data);die();
$this->loadViews("assetListing", $this->global, $data, NULL);
}
/**
* This function is used to load the add new supplier */
function addasset()
{
$data['AssetStatus'] = $this->assetdetails_model->getConfigValue('C015');
$data['po'] = $this->assetdetails_model->getPO();
$this->global['pageTitle'] = 'Add Asset';
$this->loadViews("addasset", $this->global, $data, NULL);
}
function getpodetails()
{
$PO = $this->request->getPost('PONO');
$data = $this->assetdetails_model->getpodetails($PO);
//print_r($data);die();
$HTML = "";
if (count($data) > 0) {
for ($j = 0; $j < count($data); $j++) {
$lineItem = $data[$j]->LineItemNo;
$materialCode= $data[$j]->MaterialCode;
$HTML .= "";
}
}
//echo $HTML;
die(json_encode(array($HTML)));
//echo json_encode($data);
//die();
}
function getline()
{
$line = $this->request->getPost('line');
$type = $this->assetdetails_model->gettyp($line);
$data = '';
if (!empty($type)) {
foreach ($type as $item) {
$data = $item->POType;
}
}
if ($data == 'SERVICE') {
$ser = $this->assetdetails_model->getlineitemser($line);
} elseif ($data == 'REVENUE') {
$ser = $this->assetdetails_model->getlineitemre($line);
} elseif ($data == 'IMPORT') {
$ser = $this->assetdetails_model->getlineitemimport($line);
} elseif ($data == 'CAPITAL') {
$ser = $this->assetdetails_model->getlineitemcap($line);
}
//print_r($ser);die();
//print_r($data);die();
//$data = get_date_time_format($data);
echo json_encode($ser);
die();
}
// function getlin(){
// $line = $this->request->getPost('line');
// }
/* Validation for Department Dropdown
*/
function Department_validate($selectValue)
{
//echo 'select_validate method called';
// 'none' is the first option and the text says something like "-Choose one-"
if ($selectValue == '-1') {
$this->validator->setError('Department_validate', 'Please Select Department.');
return false;
} else // user picked something
{
return true;
}
}
/* Validation for Supplier Dropdown
*/
function Supplier_validate($selectValue)
{
//echo 'select_validate method called';
// 'none' is the first option and the text says something like "-Choose one-"
if ($selectValue == '-1') {
$this->validator->setError('Supplier_validate', 'Please Select Supplier.');
return false;
} else // user picked something
{
return true;
}
}
/* Validation for Supplier Dropdown
*/
function Asset_validate($selectValue)
{
//echo 'select_validate method called';
// 'none' is the first option and the text says something like "-Choose one-"
if ($selectValue == '-1') {
$this->validator->setError('Asset_validate', 'Please Select Asset Status.');
return false;
} else // user picked something
{
return true;
}
}
/**
* This function is used to add new user to the system
*/
function addNewasset()
{
// $this->validator->setRules([
// 'AssetName' => 'trim|required',
// 'Department' => 'trim|callback_Department_validate',
// 'Location' => 'trim|required',
// 'User' => 'trim|required',
// 'SupplierName' => 'trim|callback_Supplier_validate',
// 'DateOfCommission' => 'trim|required',
// 'Assetvalue' => 'trim|required',
// 'AssetStatus' => 'trim|callback_Asset_validate'
// ]);
// $this->validator->setMessage([
// 'AssetName' => [
// 'required' => 'Please enter Asset Name.'
// ],
// 'Department' => [
// 'Department_validate' => 'Please select a valid Department.'
// ],
// 'Location' => [
// 'required' => 'Please enter Location.'
// ],
// 'User' => [
// 'required' => 'Please enter User.'
// ],
// 'SupplierName' => [
// 'Supplier_validate' => 'Please select a valid Supplier.'
// ],
// 'DateOfCommission' => [
// 'required' => 'Please enter Date of Commission.'
// ],
// 'Assetvalue' => [
// 'required' => 'Please enter Asset Value.'
// ],
// 'AssetStatus' => [
// 'Asset_validate' => 'Please select a valid Asset Status.'
// ]
// ]);
// if (!$this->validator->run()) {
if (false) {
// $this->addasset();
} else {
$AssetName = $this->request->getPost('AssetName');
$Description = $this->request->getPost('Description');
$Department = $this->request->getPost('AssetDept');
$Location = $this->request->getPost('Location');
$User = $this->request->getPost('User');
$SupplierName = $this->request->getPost('SupplierName');
$DateOfCommission = $this->request->getPost('DateOfCommission');
$CreatedBy = $this->session->get('userId');
$DateOfPurchase = $this->request->getPost('DateOfPurchase');
if ($DateOfPurchase != '') {
$DOpurchase = get_date_time_format($DateOfPurchase);
}
$AssetValue = $this->request->getPost('Assetvalue');
if ($DateOfCommission != '') {
$DOCommission = get_date_time_format($DateOfCommission);
//$DOCommission= get_date_time_format($DateOfCommission);
}
$AssetStatus = $this->request->getPost('AssetStatus');
$Remarks = $this->request->getPost('Remarks');
$PONO = $this->request->getPost('PONO');
$lineitem = $this->request->getPost('lineitem');
$MaterialCode = $this->request->getPost('MaterialCode');
$Quantity = $this->request->getPost('Quantity');
$chked = $this->request->getPost('isactive');
if ($chked != '') {
$IsActive = '1';
} else {
$IsActive = '0';
}
$asset = array();
$asset = array('AssetName' => $AssetName, 'Description' => $Description, 'DEPCode' => $Department, 'Location' => $Location,
'UserName' => $User, 'SupplierCode' => $SupplierName, 'DateOfPurchase' => $DOpurchase, 'DateOfCommison' => $DOCommission,
'AssetValue' => $AssetValue, 'AssetStatus' => $AssetStatus, 'IsActive' => $IsActive, 'Remarks' => $Remarks,
'CreatedBy' => $CreatedBy, 'PONO' => $PONO, 'POLineItem' => $lineitem, 'MaterialCode' => $MaterialCode,
'Quantity' => $Quantity);
$result = $this->assetdetails_model->addNewasset($asset);
if ($result > 0) {
// $this->session->set_flashdata('success', 'New Asset created successfully');
echo "";
} else {
// $this->session->set_flashdata('failed', 'Asset Created Failed!');
echo "";
}
return redirect()->route('assetListing');
}
}
/**
* This function is used load user edit information
* @param number $userId : Optional : This is user id
*/
/*function ech(){
echo $this->request->getPost('Asset_Code');
}*/
function editOldasset($AssetCode = '', $PO = '')
{
$SupplierName = $this->request->getPost('SupplierName');
$AssetStatus = $this->request->getPost('AssetStatus');
$Department = $this->request->getPost('Department');
if ($AssetCode == '') {
$AssetID = $_GET['AssetID'];
} else {
$AssetID = $AssetCode;
}
//echo $AssetID;
$data['assetList'] = $this->assetdetails_model->getAssetDetails($AssetID);
// $data['SupplierList'] = $this->assetdetails_model->getSupplierName($SupplierName);
// $data['DepartmentList'] = $this->assetdetails_model->getDepartment($Department);
$data['AssetStatusList'] = $this->assetdetails_model->getConfigValue('C015');
$data['PO'] = $this->assetdetails_model->getPO($PO);
// print_r($data);die();
$this->global['pageTitle'] = 'Edit Asset';
$this->loadViews("editOldasset", $this->global, $data, NULL);
}
function deleteAsset(){
$assetCode = $this->request->getGet('AssetID');
$updatedBy = $this->session->get('userId');
$updatedDate = new DateTime();
$updatedDate = $updatedDate->format('Y-m-d H:i:s');
$assetInfo = array('IsActive' => 0 , 'UpdatedDate' => $updatedDate , 'UpdatedBy' => $updatedBy );
$result = $this->assetdetails_model->deleteAsset($assetCode , $assetInfo);
return redirect()->route('assetListing');
}
function reActivateAsset(){
$assetCode = $this->request->getGet('AssetID');
$updatedBy = $this->session->get('userId');
$updatedDate = new DateTime();
$updatedDate = $updatedDate->format('Y-m-d H:i:s');
$assetInfo = array('IsActive' => 1 , 'UpdatedDate' => $updatedDate , 'UpdatedBy' => $updatedBy );
$result = $this->assetdetails_model->deleteAsset($assetCode , $assetInfo);
return redirect()->route('assetListing');
}
function checkAssetName(){
$data = $this->request->getPost();
$result = $this->assetdetails_model->checkAssetName($data['assetName']);
return $this->response->setJSON($result);
}
/**
* This function is used to edit the user information
*/
function editasset()
{
$Asset_Code = $this->request->getPost('AssetCode');
// $this->validator->setRules([
// 'AssetName' => 'trim|required',
// 'Description' => 'trim|required',
// 'Department' => 'trim|callback_Department_validate',
// 'Location' => 'trim|required',
// 'User' => 'trim|required',
// 'SupplierName' => 'trim|callback_Supplier_validate',
// 'DateOfCommission' => 'trim|required',
// 'Assetvalue' => 'trim|required',
// 'AssetStatus' => 'trim|callback_Asset_validate'
// ]);
// $this->validator->setMessage([
// 'AssetName' => [
// 'required' => 'Please enter Asset Name.'
// ],
// 'Description' => [
// 'required' => 'Please enter Description.'
// ],
// 'Department' => [
// 'Department_validate' => 'Please select a valid Department.'
// ],
// 'Location' => [
// 'required' => 'Please enter Location.'
// ],
// 'User' => [
// 'required' => 'Please enter User.'
// ],
// 'SupplierName' => [
// 'Supplier_validate' => 'Please select a valid Supplier.'
// ],
// 'DateOfCommission' => [
// 'required' => 'Please enter Date of Commission.'
// ],
// 'Assetvalue' => [
// 'required' => 'Please enter Asset Value.'
// ],
// 'AssetStatus' => [
// 'Asset_validate' => 'Please select a valid Asset Status.'
// ]
// ]);
// if ($this->validator->run() == FALSE) {
if (FALSE) {
$this->editOldasset($Asset_Code);
} else {
$Asset_Code = $this->request->getPost('AssetCode');
$AssetName = $this->request->getPost('AssetName');
$Description = $this->request->getPost('PODescription');
$Department = $this->request->getPost('AssetDept');
$Location = $this->request->getPost('Location');
$User = $this->request->getPost('User');
$SupplierName = $this->request->getPost('SupplierName');
$DateOfPurchase = $this->request->getPost('DateOfPurchase');
if ($DateOfPurchase != '') {
$DOpurchase = get_date_time_format($DateOfPurchase);
}
$DateOfCommission = $this->request->getPost('DateOfCommission');
$UpdatedBy = $this->session->get('userId');
$Assetvalue = $this->request->getPost('Assetvalue');
if ($DateOfCommission != '') {
$DOCommission = get_date_time_format($DateOfCommission);
}
$AssetStatus = $this->request->getPost('AssetStatus');
$Remarks = $this->request->getPost('Remarks');
$PONO = $this->request->getPost('PONO');
$lineitem = $this->request->getPost('lineitem');
$MaterialCode = $this->request->getPost('MaterialCode');
$Quantity = $this->request->getPost('Quantity');
$chked = $this->request->getPost('isactive');
if ($chked != '') {
$IsActive = '1';
} else {
$IsActive = '0';
}
$asset = array();
$asset = array(
'AssetName' => $AssetName,
'Description' => $Description,
'DEPCode' => $Department,
'Location' => $Location,
'UserName' => $User,
'SupplierCode' => $SupplierName,
'DateOfPurchase' => $DOpurchase,
'DateOfCommison' => $DOCommission,
'AssetValue' => $Assetvalue,
'AssetStatus' => $AssetStatus,
'IsActive' => $IsActive,
'Remarks' => $Remarks,
'UpdatedBy' => $UpdatedBy,
'PONO' => $PONO,
'POLineItem' => $lineitem,
'MaterialCode' => $MaterialCode,
'Quantity' => $Quantity);
$result = $this->assetdetails_model->editasset($asset, $Asset_Code);
if ($result == true) {
echo "";
} else {
echo "";
}
return redirect()->route('assetListing');
}
}
function exportasset()
{
$data = $this->assetdetails_model->export_excel();
$file_name = 'Asset_details' .' '. '.xls';
$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
$sheet->mergeCells('G3:M3');
$sheet->getStyle('G3')->getAlignment()->setHorizontal('center');
$sheet->setTitle('Asset Details');
$headers = [
'G3' => 'RESICO Asset Details',
'C5' => 'AssetCode',
'D5' => 'AssetName',
'E5' => 'AssetDescription',
'F5' => 'DepartmentName',
'G5' => 'Location',
'H5' => 'PONO',
'I5' => 'POLineItem',
'J5' => 'MaterialName',
'K5' => 'Quanity',
'L5' => 'UserName',
'M5' => 'SupplierName',
'N5' => 'DateOfPurchase',
'O5' => 'DateOfCommison',
'P5' => 'AssetValue',
'Q5' => 'AssetStatus',
'R5' => 'IsActive',
'S5' => 'Remarks',
'T5' => 'CreatedBy',
'U5' => 'UpdatedBy'
];
foreach ($headers as $cell => $value) {
$sheet->setCellValue($cell, $value);
$sheet->getStyle($cell)->getFont()->setSize($cell == 'G3' ? 14 : 12);
$sheet->getStyle($cell)->getFont()->setBold(true);
}
if($data){
$row = 6; // Start from row 6
foreach ($data as $d) {
$col = 'A'; // Start from column A
foreach ($d as $value) {
$sheet->setCellValue($col . $row, $value);
$col++;
}
$row++;
}
}
// $writer = new Xlsx($spreadsheet);
// $writer->save($file_name);
// header("Content-Type: application/vnd.ms-excel");
// header('Content-Disposition: attachment; filename="' . basename($file_name) . '"');
// header('Expires: 0');
// header('Cache-Control: must-revalidate');
// header('Pragma: public');
// header('Content-Length:' . filesize($file_name));
// flush();
// readfile($file_name);
// exit;
ob_clean();
$writer = new Xlsx($spreadsheet);
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="'. $file_name .'"');
header('Cache-Control: max-age=0');
header('Expires: 0');
header('Pragma: public');
$writer->save('php://output');
exit;
}
}