|  | @@ -200,7 +200,7 @@ WHERE table_type = 'BASE TABLE' AND table_schema NOT IN ('pg_catalog', 'informat
 | 
		
	
		
			
			| 200 | 200 |  
 | 
		
	
		
			
			| 201 | 201 |      public function getStoredProcedures()
 | 
		
	
		
			
			| 202 | 202 |      {
 | 
		
	
		
			
			| 203 |  | -        $spQuery = $this->_pdo->prepare("SELECT r.routine_name AS sp_name, r.data_type AS data_type, proc.proretset AS proretset
 | 
		
	
		
			
			|  | 203 | +        $spQuery = $this->_pdo->prepare("SELECT r.routine_name AS sp_name, r.data_type AS data_type, proc.proretset AS proretset, proc.prosrc AS prosrc
 | 
		
	
		
			
			| 204 | 204 |  FROM information_schema.routines r
 | 
		
	
		
			
			| 205 | 205 |  LEFT JOIN pg_catalog.pg_proc proc ON proc.proname = r.routine_name
 | 
		
	
		
			
			| 206 | 206 |  WHERE r.specific_schema='public'");
 | 
		
	
	
		
			
			|  | @@ -246,12 +246,13 @@ ORDER BY parameters.ordinal_position;");
 | 
		
	
		
			
			| 246 | 246 |              return $this->printError($spQuery, "Failed to get arguments for stored procedure " . $sp_name);
 | 
		
	
		
			
			| 247 | 247 |      }
 | 
		
	
		
			
			| 248 | 248 |  
 | 
		
	
		
			
			| 249 |  | -    public function generateSp($sp, $args, $file)
 | 
		
	
		
			
			|  | 249 | +    public function generateSp($sp, $args, $file, $spFile)
 | 
		
	
		
			
			| 250 | 250 |      {
 | 
		
	
		
			
			| 251 | 251 |          $vars = array(
 | 
		
	
		
			
			| 252 | 252 |              "sp" => $sp,
 | 
		
	
		
			
			| 253 | 253 |              "args" => $args
 | 
		
	
		
			
			| 254 | 254 |          );
 | 
		
	
		
			
			|  | 255 | +        file_put_contents($spFile, $sp["prosrc"]);
 | 
		
	
		
			
			| 255 | 256 |          $this->buildTwig('sp.php', $file, $vars);
 | 
		
	
		
			
			| 256 | 257 |      }
 | 
		
	
		
			
			| 257 | 258 |  
 | 
		
	
	
		
			
			|  | @@ -313,6 +314,7 @@ ORDER BY parameters.ordinal_position;");
 | 
		
	
		
			
			| 313 | 314 |          $dbo_dir = $this->_config["dbo"]["folder"] . "/";
 | 
		
	
		
			
			| 314 | 315 |          $model_dir = $this->_config["models"]["folder"] . "/";
 | 
		
	
		
			
			| 315 | 316 |          $sp_dir = $this->_config["sp"]["folder"] . "/";
 | 
		
	
		
			
			|  | 317 | +        $sp_src_dir = $this->_config["sp"]["folder"] . "/src/";
 | 
		
	
		
			
			| 316 | 318 |          $manager_dir = $this->_config["dataaccess"]["folder"] . "/";
 | 
		
	
		
			
			| 317 | 319 |          $business_dir = $this->_config["business"]["folder"] . "/";
 | 
		
	
		
			
			| 318 | 320 |          $controller_dir = $this->_config["controller"]["folder"] . "/";
 | 
		
	
	
		
			
			|  | @@ -323,6 +325,7 @@ ORDER BY parameters.ordinal_position;");
 | 
		
	
		
			
			| 323 | 325 |          $this->mkdir($dbo_dir, $mode);
 | 
		
	
		
			
			| 324 | 326 |          $this->mkdir($model_dir, $mode);
 | 
		
	
		
			
			| 325 | 327 |          $this->mkdir($sp_dir, $mode);
 | 
		
	
		
			
			|  | 328 | +        $this->mkdir($sp_src_dir, $mode);
 | 
		
	
		
			
			| 326 | 329 |          $this->mkdir($manager_dir, $mode);
 | 
		
	
		
			
			| 327 | 330 |          $this->mkdir($business_dir, $mode);
 | 
		
	
		
			
			| 328 | 331 |          $this->mkdir($controller_dir, $mode);
 | 
		
	
	
		
			
			|  | @@ -376,7 +379,7 @@ ORDER BY parameters.ordinal_position;");
 | 
		
	
		
			
			| 376 | 379 |                  $args["in"] = $this->sqlTypesToPhpTypes($args["in"]);
 | 
		
	
		
			
			| 377 | 380 |                  $args["out"] = $this->sqlTypesToPhpTypes($args["out"]);
 | 
		
	
		
			
			| 378 | 381 |                  $sp_model_name = LuStringUtils::stringSnakeToCamelCase($sp_name, true);
 | 
		
	
		
			
			| 379 |  | -                $this->generateSp($sp, $args, $sp_dir . $sp_model_name . ".php");
 | 
		
	
		
			
			|  | 382 | +                $this->generateSp($sp, $args, $sp_dir . $sp_model_name . ".php", $sp_src_dir . $sp_name . ".sql");
 | 
		
	
		
			
			| 380 | 383 |              }
 | 
		
	
		
			
			| 381 | 384 |          }
 | 
		
	
		
			
			| 382 | 385 |      }
 |