To solve this optimization problem, we first need to define the decision variables, constraints, and the objective function.

Let's denote:
- \(D_X\) as the number of desks made by Manufacturer X,
- \(C_Y\) as the number of chairs made by Manufacturer Y,
- \(D_{check}\) as the total number of desks that are quality checked (which will be equal to \(D_X\) since all items need to be checked),
- \(C_{check}\) as the total number of chairs that are quality checked (which will be equal to \(C_Y\) for the same reason).

Given constraints:
1. Manufacturer X can make at most 22 desks a day: \(D_X \leq 22\)
2. Manufacturer Y can make at most 28 chairs a day: \(C_Y \leq 28\)
3. The quality checking company can check at most 40 items per day: \(D_{check} + C_{check} = D_X + C_Y \leq 40\)

Objective function (to maximize profit):
\[Profit = 140D_X + 120C_Y\]

To translate this into Gurobi code in Python, we use the following:

```python
from gurobipy import *

# Create a new model
m = Model("Furniture_Optimization")

# Define decision variables
D_X = m.addVar(lb=0, vtype=GRB.INTEGER, name="Desks_Made_By_X")
C_Y = m.addVar(lb=0, vtype=GRB.INTEGER, name="Chairs_Made_By_Y")

# Add constraints
m.addConstr(D_X <= 22, "Max_Desks_X")
m.addConstr(C_Y <= 28, "Max_Chairs_Y")
m.addConstr(D_X + C_Y <= 40, "Quality_Check_Limit")

# Set the objective function to maximize profit
m.setObjective(140*D_X + 120*C_Y, GRB.MAXIMIZE)

# Optimize model
m.optimize()

# Print results
if m.status == GRB.OPTIMAL:
    print(f"Optimal solution found. Desks made by X: {D_X.x}, Chairs made by Y: {C_Y.x}")
else:
    print("No optimal solution found.")
```