<?php class CT_ms_item extends CI_Controller{
	function __construct()
	{
	  parent::__construct();
		if (!$this->dx_auth->is_logged_in()) {
			header('HTTP/1.1 401 Unauthorize');die('expire'); 
		}
		
		$uid = $this->session->userdata('DX_user_id');
		
		if(!permissionAuth(2) && $uid != RID){ 
			header('HTTP/1.1 401 Unauthorize');die('noaccess');
		} 
	}
	
	function index(){	
		$this->load->view('ms_mater/view_ms_item');
	} 
	function view_new_item(){	
		$data['x'] ='';
	 	$data['ms_type_id'] = isset($_POST['ms_type_id'])?$_POST['ms_type_id']:'-1';
		$this->load->view('ms_master/view_ms_item_new',$data);
	} 
	function view_new_item_from_grn(){	
		$data['x'] ='';
		$data['part_name'] =isset($_POST['part_name'])?$_POST['part_name']:'-1';
		$data['part_code'] =isset($_POST['part_code'])?$_POST['part_code']:'-1';
		$this->load->view('ms_master/view_ms_item_new_from_grn',$data);
	} 
	 	 
	function view_edit_item(){
		$data['x'] ='';
	 	$data['ms_type_id'] = isset($_POST['ms_type_id'])?$_POST['ms_type_id']:'-1';
		$row_data=isset($_POST['row_data'])?$_POST['row_data']:null; 
		if   (empty($row_data)==false ) {
			$data['row_data'] =$row_data;
		 
		}  
		$this->load->view('ms_master/view_ms_item_new',$data);
	} 
			 
    function loaddata(){; 
		$def_col= array();    
		$spt='dbo.MG_MS_ITEM'; 
		$def_col['rID']=array("db" => "rID" ,"sc" => "rID","ctype"=>"int", "bypassvalue"=>"");
		$def_col['r1']=array("db" => "r1" ,"sc" => "r1","ctype"=>"int", "bypassvalue"=>"");
		$def_col['r2']=array("db" => "r2" ,"sc" => "r2","ctype"=>"text", "bypassvalue"=>"");
		$def_col['r3']=array("db" => "r3" ,"sc" => "r3","ctype"=>"text", "bypassvalue"=>"");
		$def_col['r4']=array("db" => "r4" ,"sc" => "r4","ctype"=>"text", "bypassvalue"=>"");
		$def_col['r5']=array("db" => "r5" ,"sc" => "r5","ctype"=>"text", "bypassvalue"=>"");
		$def_col['r6']=array("db" => "r6" ,"sc" => "r6","ctype"=>"text", "bypassvalue"=>"");
		$def_col['r7']=array("db" => "r7" ,"sc" => "r7","ctype"=>"text", "bypassvalue"=>"");
		$def_col['r8']=array("db" => "r8" ,"sc" => "r8","ctype"=>"text", "bypassvalue"=>"");
		$def_col['r9']=array("db" => "r9" ,"sc" => "r9","ctype"=>"text", "bypassvalue"=>"");
		$def_col['r10']=array("db" => "r10" ,"sc" => "r10","ctype"=>"text", "bypassvalue"=>"-100");
		$def_col['r11']=array("db" => "r11" ,"sc" => "r11","ctype"=>"text", "bypassvalue"=>"");
		$def_col['r12']=array("db" => "r12" ,"sc" => "r12","ctype"=>"date", "bypassvalue"=>"");
		$def_col['r13']=array("db" => "r13" ,"sc" => "r13","ctype"=>"int", "bypassvalue"=>"");
		$def_col['r13d']=array("db" => "r13d" ,"sc" => "r13d","ctype"=>"int", "bypassvalue"=>"");
		$def_col['r14']=array("db" => "r14" ,"sc" => "r14","ctype"=>"text", "bypassvalue"=>"");
		$def_col['r14x']=array("db" => "r14x" ,"sc" => "r14x","ctype"=>"text", "bypassvalue"=>"");
		$def_col['r15']=array("db" => "r15" ,"sc" => "r15","ctype"=>"date", "bypassvalue"=>"");
		$def_col['r16']=array("db" => "r16" ,"sc" => "r16","ctype"=>"text", "bypassvalue"=>"");
		$def_col['r17']=array("db" => "r17" ,"sc" => "r17","ctype"=>"int", "bypassvalue"=>"");
		$def_col['r18']=array("db" => "r18" ,"sc" => "r18","ctype"=>"int", "bypassvalue"=>"-100");
		$def_col['r19']=array("db" => "r19" ,"sc" => "r18","ctype"=>"int", "bypassvalue"=>"-100");
		$def_col['r20']=array("db" => "r20" ,"sc" => "r20","ctype"=>"text", "bypassvalue"=>"");
		$def_col['r21']=array("db" => "r21" ,"sc" => "r21","ctype"=>"date", "bypassvalue"=>"");
		$def_col['r22']=array("db" => "r22" ,"sc" => "r22","ctype"=>"text", "bypassvalue"=>"");
		$def_col['r23']=array("db" => "r23" ,"sc" => "r23","ctype"=>"int", "bypassvalue"=>"");
		$def_col['r24']=array("db" => "r24" ,"sc" => "r24","ctype"=>"date", "bypassvalue"=>"");
		$def_col['r25']=array("db" => "r25" ,"sc" => "r25","ctype"=>"text", "bypassvalue"=>"");
		$def_col['r26']=array("db" => "r26" ,"sc" => "r26","ctype"=>"date", "bypassvalue"=>"");
		$def_col['r27']=array("db" => "r27" ,"sc" => "r27","ctype"=>"text", "bypassvalue"=>"");
		$def_col['r28']=array("db" => "r28" ,"sc" => "r28","ctype"=>"int", "bypassvalue"=>"");
		$def_col['r30']=array("db" => "r30" ,"sc" => "r30","ctype"=>"text", "bypassvalue"=>"");
		$def_col['r31']=array("db" => "r31" ,"sc" => "r31","ctype"=>"int", "bypassvalue"=>"");
 		
 		$search = isset($_POST['_search'])?$_POST['_search']:false; 
		$searchField = isset($_POST['searchField'])?$_POST['searchField']:''; 
		$searchString = isset($_POST['searchString'])?$_POST['searchString']:''; 
		$filters =  isset($_POST['filters'])?$_POST['filters']:''; 
	 	 
        $page = isset($_POST['page'])?$_POST['page']:1; // get the requested page 
		$limit = isset($_POST['rows'])?$_POST['rows']:10; // get how many rows we want to have into the grid 
		$sidx = isset($_POST['sidx'])?$_POST['sidx']:'rID'; // get index row - i.e. user click to sort 
		$sord = isset($_POST['sord'])?$_POST['sord']:'0'; // get the direction 
  		$ms_type_id = isset($_POST['ms_type_id'])?$_POST['ms_type_id']:-1; // get the direction 
  	   
		if ($sord == 'asc') { $sord = '0'; } else if ($sord == 'desc') { $sord = '1'; } 
 		 
		if (array_key_exists($sidx, $def_col)) {  
				$fsidx=$def_col[$sidx];
				$sidx=$fsidx['db'];
		}else{
				$sidx='rID'; //DEFAULT SORT KALU GA ADA
		}
        $sidx=$sidx.'='. $sord;
		  
		$xmldoc =  XMLbasic($spt); 
		paramViewJSON($xmldoc, $limit, $page,  $sidx, $sord); 
  		AddField($xmldoc ,'ms_type_id',$ms_type_id); 
		 
        if ($search == 'true'){ 
            if (!empty($filters)){ 
				$array = json_decode($filters); 
                foreach($array->rules as $arr=>$k){ 
						$fcr=$def_col[$k->field]; 
	 					if ($fcr != null) 
						{ 
							if ($fcr['ctype']=='int'){ 
								$searchString = $k->data; 
								if ($searchString!=$fcr['bypassvalue'])  
									addSearchNum($xmldoc,$fcr['sc'],$searchString,'2','1');  
			 					  
							} 
							elseif ($fcr['ctype']=='text'){ 
					        	$searchString = $k->data; 
								if ($searchString!=$fcr['bypassvalue']) 
							     addSearchText($xmldoc,$fcr['sc'],'1','1',$searchString); 
							}  
							elseif ($fcr['ctype']=='date'){ 
								$searchString = $k->data; 
								if (trim($searchString) != '' ){ 
									$dateArray=explode('/',$searchString);  
									$searchString = $dateArray[2].$dateArray[1].$dateArray[0]; 
								} 
								 addSearchDate($xmldoc,$fcr['sc'],$searchString,'1','1'); 
							}  
						} 
                 } 
             } 
	   }  
  
  
		$str = $xmldoc->saveXML();   
		//	 	 print_r($str);die();
		wh_exec_sp_json($xmldoc, $spt,$sts,$des,$rows,$detail);  
  		echo $rows; 
		}
		
	
    function loaddata2(){; 
		$def_col= array();    
		$spt='dbo.MG_MS_ITEM_2'; 
		$def_col['rID']=array("db" => "rID" ,"sc" => "rID","ctype"=>"int", "bypassvalue"=>"");
		$def_col['r1']=array("db" => "r1" ,"sc" => "r1","ctype"=>"text", "bypassvalue"=>"");
		$def_col['r2']=array("db" => "r2" ,"sc" => "r2","ctype"=>"text", "bypassvalue"=>"");
		$def_col['r3']=array("db" => "r3" ,"sc" => "r3","ctype"=>"text", "bypassvalue"=>"");
		$def_col['r4']=array("db" => "r4" ,"sc" => "r4","ctype"=>"text", "bypassvalue"=>"");
		$def_col['r5']=array("db" => "r5" ,"sc" => "r5","ctype"=>"text", "bypassvalue"=>"");
		
 		$search = isset($_POST['_search'])?$_POST['_search']:false; 
		$searchField = isset($_POST['searchField'])?$_POST['searchField']:''; 
		$searchString = isset($_POST['searchString'])?$_POST['searchString']:''; 
		$filters =  isset($_POST['filters'])?$_POST['filters']:''; 
	 	 
        $page = isset($_POST['page'])?$_POST['page']:1; // get the requested page 
		$limit = isset($_POST['rows'])?$_POST['rows']:10; // get how many rows we want to have into the grid 
		$sidx = isset($_POST['sidx'])?$_POST['sidx']:'rID'; // get index row - i.e. user click to sort 
		$sord = isset($_POST['sord'])?$_POST['sord']:'0'; // get the direction 
    	   
		if ($sord == 'asc') { $sord = '0'; } else if ($sord == 'desc') { $sord = '1'; } 
 		 
		if (array_key_exists($sidx, $def_col)) {  
				$fsidx=$def_col[$sidx];
				$sidx=$fsidx['db'];
		}else{
				$sidx='rID'; //DEFAULT SORT KALU GA ADA
		}
        $sidx=$sidx.'='. $sord;
		  
		$xmldoc =  XMLbasic($spt); 
		paramViewJSON($xmldoc, $limit, $page,  $sidx, $sord);  
		 
        if ($search == 'true'){ 
            if (!empty($filters)){ 
				$array = json_decode($filters); 
                foreach($array->rules as $arr=>$k){ 
						$fcr=$def_col[$k->field]; 
	 					if ($fcr != null) 
						{ 
								if ($fcr['ctype']=='int'){ 
								$searchString = $k->data; 
								if ($searchString!=$fcr['bypassvalue']) { 
									addSearchNum($xmldoc,$fcr['sc'],$searchString,'2','1');  
									
								}
							 
							} 
							elseif ($fcr['ctype']=='text'){ 
					        	$searchString = $k->data; 
								if ($searchString!=$fcr['bypassvalue']) 
							     addSearchText($xmldoc,$fcr['sc'],'1','1',$searchString); 
							}  
							elseif ($fcr['ctype']=='date'){ 
								$searchString = $k->data; 
								if (trim($searchString) != '' ){ 
									$dateArray=explode('/',$searchString);  
									$searchString = $dateArray[2].$dateArray[1].$dateArray[0]; 
								} 
								 addSearchDate($xmldoc,$fcr['sc'],$searchString,'1','1'); 
							} 
						} 
                 } 
             } 
	   }  
  
  
		$str = $xmldoc->saveXML();   
		//	 	 print_r($str);die();
		wh_exec_sp_json($xmldoc, $spt,$sts,$des,$rows,$detail);  
  		echo $rows; 
		}
		
	    function new_item(){  
	 	       $ms_type_id = isset($_POST['ms_type_id'])?$_POST['ms_type_id']:'-1'; // get the requested page 
	  	       $part_no = isset($_POST['part_no'])?$_POST['part_no']:''; // get the requested page 
	  	       $part_name = isset($_POST['part_name'])?$_POST['part_name']:''; // get the requested page 
	  	       $base_no = isset($_POST['base_no'])?$_POST['base_no']:''; // get the requested page 
	  	       $part_custom_no = isset($_POST['part_custom_no'])?$_POST['part_custom_no']:''; // get the requested page 
	  	       $uom = isset($_POST['uom'])?$_POST['uom']:''; // get the requested page 
	  	       $consumable = isset($_POST['consumable'])?$_POST['consumable']:''; // get the requested page 
	   
		       $rack_no = isset($_POST['rack_no'])?$_POST['rack_no']:''; // get the requested page 
		       $sta_qty = isset($_POST['sta_qty'])?floatval($_POST['sta_qty']):''; // get the requested page 
		       $price_qty = isset($_POST['price_qty'])?floatval($_POST['price_qty']):''; // get the requested page 
			   $service_level = isset($_POST['service_level'])?floatval($_POST['service_level']):'80'; // get the requested page 
	   
		
				$xmldoc =  XMLbasic('json'); 
		 		AddField($xmldoc ,'ms_type_id',$ms_type_id ); 
		 		AddField($xmldoc ,'part_no',$part_no );
		 		AddField($xmldoc ,'part_name',$part_name );
		 		AddField($xmldoc ,'base_no',$base_no );
		 		AddField($xmldoc ,'ms_item_custom_no',$part_custom_no );
		 		AddField($xmldoc ,'uom',$uom );
		 		AddField($xmldoc ,'consumable',$consumable ); 
				AddField($xmldoc ,'rack_no',$rack_no ); 
				AddField($xmldoc ,'end_qty',$sta_qty ); 
				AddField($xmldoc ,'end_price',$price_qty ); 
				AddField($xmldoc ,'service_level',$service_level ); 
				
				$str = $xmldoc->saveXML();
			 	// print_r($str);die();
				 wh_exec_sp_array($xmldoc, 'dbo.MG_MS_ITEM_ADD',$sts,$des,$rows,$detail); 
				echo json_encode(array('valid'=>($sts=='00'?true:false)
				,'stsno' => $sts
				, 'stsmsg' => $des
				, 'detail' => $detail)
				); 
		}
		
	    function edit_item(){  
	 	       $ms_item_id = isset($_POST['ms_item_id'])?$_POST['ms_item_id']:'-1'; // get the requested page 
	  	       $part_no = isset($_POST['part_no'])?$_POST['part_no']:''; // get the requested page 
	  	       $part_name = isset($_POST['part_name'])?$_POST['part_name']:''; // get the requested page 
	  	       $base_no = isset($_POST['base_no'])?$_POST['base_no']:''; // get the requested page 
	  	       $part_custom_no = isset($_POST['part_custom_no'])?$_POST['part_custom_no']:''; // get the requested page 
	  	       $uom = isset($_POST['uom'])?$_POST['uom']:''; // get the requested page 
	  	       $consumable = isset($_POST['consumable'])?$_POST['consumable']:''; // get the requested page 
	   
				$rack_no = isset($_POST['rack_no'])?$_POST['rack_no']:''; // get the requested page 
	  	        $sta_qty = isset($_POST['sta_qty'])?$_POST['sta_qty']:''; // get the requested page 
	  	        $price_qty = isset($_POST['price_qty'])?$_POST['price_qty']:''; // get the requested page 
				$service_level = isset($_POST['service_level'])?floatval($_POST['service_level']):'80'; // get the requested page 
	   
				$xmldoc =  XMLbasic('json'); 
		 		AddField($xmldoc ,'ms_item_id',$ms_item_id ); 
		 		AddField($xmldoc ,'part_no',$part_no );
		 		AddField($xmldoc ,'part_name',$part_name );
		 		AddField($xmldoc ,'base_no',$base_no );
		 		AddField($xmldoc ,'ms_item_custom_no',$part_custom_no );
		 		AddField($xmldoc ,'uom',$uom );
		 		AddField($xmldoc ,'consumable',$consumable ); 
				AddField($xmldoc ,'rack_no',$rack_no ); 
				AddField($xmldoc ,'end_qty',$sta_qty ); 
				AddField($xmldoc ,'end_price',$price_qty ); 
			 		AddField($xmldoc ,'service_level',$service_level ); 
				
				$str = $xmldoc->saveXML();
			 	// print_r($str);die();
				 wh_exec_sp_array($xmldoc, 'dbo.MG_MS_ITEM_EDIT',$sts,$des,$rows,$detail); 
				echo json_encode(array('valid'=>($sts=='00'?true:false)
				,'stsno' => $sts
				, 'stsmsg' => $des
				, 'detail' => $detail)
				); 
		}   
		
	    function delete_item(){  
	 	       $ms_item_id = isset($_POST['ms_item_id'])?$_POST['ms_item_id']:'-1'; // get the requested page 
	  	 
				$xmldoc =  XMLbasic('json'); 
		 		AddField($xmldoc ,'ms_item_id',$ms_item_id ); 
		 			
				$str = $xmldoc->saveXML();
			 	// print_r($str);die();
				 wh_exec_sp_array($xmldoc, 'dbo.MG_MS_ITEM_DELETE',$sts,$des,$rows,$detail); 
				echo json_encode(array('valid'=>($sts=='00'?true:false)
				,'stsno' => $sts
				, 'stsmsg' => $des
				, 'detail' => $detail)
				); 
		}  
	    function change_status(){  
	 	       $status_id = isset($_POST['status_id'])?$_POST['status_id']:'-1'; // get the requested page 
	  	       $status_info = isset($_POST['status_info'])?$_POST['status_info']:''; // get the requested page 
	  	       $ms_item_id = isset($_POST['ms_item_id'])?$_POST['ms_item_id']:'-1'; // get the requested page 
	  	       
				$xmldoc =  XMLbasic('json'); 
		 		AddField($xmldoc ,'ms_item_id',$ms_item_id ); 
		 		AddField($xmldoc ,'status_id',$status_id );
		 		AddField($xmldoc ,'status_info',$status_info );
		 	
				$str = $xmldoc->saveXML();
			 	// print_r($str);die();
				 wh_exec_sp_array($xmldoc, 'dbo.MG_MS_ITEM_CHANGE_STATUS',$sts,$des,$rows,$detail); 
				echo json_encode(array('valid'=>($sts=='00'?true:false)
				,'stsno' => $sts
				, 'stsmsg' => $des
				, 'detail' => $detail)
				); 
		}  
				
 }