/*
 * recupera o mapper mybatis definido no arquivo XML
 */
var pgFornRcCliMapper = mapperFactory.createMapper("PgFornRcCli");
/*
 * objeto message é um hashmap que contem a chave nome do atirbuto JSON e seu respectivos valores
 */
try{
	var cliente = message.get("cliente");
	var mapForn = {'cdForn': cliente.get("cdForn")};
	var clienteJaVinculado = pgFornRcCliMapper.selectList("listarPgFornRcCliPorCodigoFornecedor", mapForn);

	/*
	 * relacionamento 1 para 1
	 */
	if(cliente.size()>0 && clienteJaVinculado.size()>0 && cliente.get("cdCli")!=null){
		/*
		 * update
		 */
		pgFornRcCliMapper.update("alterarPgFornRcCli", cliente);
	}else if(cliente.size()>0 && clienteJaVinculado.size()==0 && cliente.get("cdCli")!=null){
		/*
		 * insert
		 */
		pgFornRcCliMapper.insert("incluirPgFornRcCli", cliente);
	}else if((cliente.size()==0 || cliente.get("cdCli")==null) && clienteJaVinculado.size()>0){
		/*
		 * delete
		 */
		pgFornRcCliMapper.update("excluirPgFornRcCli", cliente);
	}

	pgFornRcCliMapper.commit();

}catch(err){
	pgFornRcCliMapper.rollback();
  throw " Ocorreu um erro: " + err;
}