Sen. Ron Johnson, R-Wis., is surrounded by reporters as he goes to vote on Capitol Hill on Nov. 7. (Susan Walsh/AP)

Sen. Ron Johnson (R-Wis.) watched angrily last fall as his fellow Republicans gave up on his reelection campaign, convinced he was doomed and that their dollars and hours would be better spent elsewhere. A year later, Johnson is still in the Senate but also a key holdout vote in the Republican effort to overhaul the tax code — and those political calculations, along with the ill will they bred, are coming back to haunt Senate Majority Leader Mitch McConnell and his fellow heads of the GOP.

Johnson surprised party leaders this month when he said he would vote against the Senate version of the GOP tax plan, saying it favors corporations over other businesses. To vote for the bill, he is asking for a large-scale restructuring that could add more than $100 billion in benefits for certain businesses.

Republican leaders, who probably can afford to lose a maximum of only two GOP votes if they hope to move their measure through the Senate, are working to win over Johnson with a mixture of cajoling and concessions. But as the leaders negotiate, they’re working with a senator who feels little obligation to repay any party favors.

“What I think is important to understand is how much [Johnson] detests Senate leadership,” said Charlie Sykes, a longtime Milwaukee-area conservative radio host who is deeply plugged in with Wisconsin Republicans. “I do think a lot goes back to last fall when they left him by the side of the road politically dead. Very liberating for him.”

When polling showed Johnson trailing Democrat Russ Feingold, GOP campaign operatives allied with McConnell (R-Ky.) turned off the money and channeled it into states such as Indiana and Missouri that appeared to have more winnable Senate races.

As national Republicans expressed doubts about his reelection and pulled plans for expensive ad campaigns, Johnson launched low-budget, homespun spots he wrote and shot with the help of his brother Dean Johnson, the host of a PBS home-improvement program.

One ad showed Johnson changing his grandson’s diaper as his wife and daughters sat in the family kitchen. “Just like Dad helps out with the kids, he’s exactly the guy we need to clean up the mess in Washington,” one daughter said.

In the final weeks, the McConnell-allied Senate Leadership Fund had gotten into the race with millions to help Johnson. But it was too late to convince the lawmaker that the party had his back, as he privately fumed to associates that he had been abandoned and had had to win on his own. He eventually did, comfortably defeating Feingold on the same night President Trump won his shock victory.

The lingering tension exploded Tuesday when Johnson clashed with Trump during a closed-door Capitol meeting of Senate Republicans.

Johnson stood up to complain that he understood business and figures better than others in the Senate, but that no one listened to him, according to several GOP officials in the room or briefed on the exchange.

Johnson angrily asserted that “this body” doesn’t understand numbers, the sources said.

Trump returned fire with fire, telling Johnson, “You don’t get to vote ‘no’ for a stupid reason like that.”

Then Johnson complained that no one would talk to him about the negotiations, to which Trump said he has called him and talked to him.

“You’re the only one,” Johnson said in a thinly veiled shot at McConnell.

Johnson is demanding better treatment for certain businesses that are effectively taxed through the individual tax code rather than with corporate rates — such as the plastics manufacturing company in Oshkosh, Wis. that he still partially owns.

The extraordinary exchange with Trump took some fellow GOP senators aback as the depths of Johnson’s anger became clear. And it left some GOP leaders and aides questioning whether Johnson could ever get to “yes” on the tax bill, even though as a conservative businessman he would seem to be a natural constituency for the legislation.

“It’s a big number, it’s north of a hundred billion,” Sen. John Thune (S.D.), the third-ranking Senate Republican, said of the changes Johnson is seeking.

Johnson wants “pass-through” companies to be treated more like other corporations that are seeing their rates reduced from 35 percent to 20 percent under the GOP legislation. Instead the Senate bill proposes that owners of pass-through companies can take a 17.4 percent tax deduction off some of their income, a figure that GOP leaders have proposed raising to 20 percent to mollify Sen. Steve Daines (R-Mont.) and Johnson.

Johnson has said it’s not enough and has claimed that he has not been privy to such an offer.

“I’ve got no offers, I’ve received no offers. None. No,” Johnson said late Monday as he threatened to vote against the legislation in the Budget Committee on Tuesday, which could have upended the process and embarrassed leadership. “I know people are talking about things, but I certainly haven’t received any offers other than to give me information, which has been pretty slow to come.”

The Senate procedure Republicans aim to use to pass the bill allows them to pass it with a simple majority, rather than the 60 votes typically needed to overcome minority -party opposition. But the procedure also limits how much the bill can add to the deficit, and that is complicating Republican efforts to secure Johnson’s support, as adding new tax breaks for pass-through companies requires finding new revenue elsewhere — changes that could drive other members to oppose the bill.

The Senate tax bill would permanently slash the corporate tax rate from 35 percent to 20 percent starting in 2019 and temporarily lower the tax rates paid by individuals and families through 2025. Multiple nonpartisan analyses have shown the bulk of the benefits would be reaped by corporations and the very wealthy, and many in the party are looking for ways to redistribute the tax cuts, leaving leaders scrambling to accommodate individual demands without making the measure unpalatable to the party as a whole.

Johnson has proposed paying for his changes by eliminating state and local property tax deductions for corporations, saying that would raise more than enough revenue to pay for them. And on Tuesday he grudgingly cast a “yes” vote in the Budget Committee, saying he wanted to keep the process moving.

But Johnson left open the question of whether he would be a “yes” vote in the end, leaving McConnell and other GOP leaders to wonder how or whether they can satisfy him.

“Big complicated bills like this are challenging,” McConnell said Tuesday, but everyone has an opportunity to weigh in, he said — adding that some were still doing so.

Mike DeBonis and Paul Kane contributed to this report.