Try this code, please.
It calculates and adds hours of the first day, last day, and the entire days in the period.
But holidays and weekends are not used.
Also this code calculates hours, not minutes.
DECLARE @PlanIssueDate AS datetime
DECLARE @PlanSubmitDate AS datetime
SET @PlanIssueDate = '2014-01-02 08:30:00.000'
SET @PlanSubmitDate = '2014-01-04 18:20:00.000'
SELECT
-- Testing
DATEDIFF(DAY, @PlanIssueDate, @PlanSubmitDate) AS [TestDays]
, DATEDIFF(HOUR, @PlanIssueDate, @PlanSubmitDate) AS [TestHours]
, DATEDIFF(HOUR, DATEADD(HOUR, DATEPART(HOUR, @PlanIssueDate), 0), DATEADD(HOUR, 19, 0)) AS FirstDayHours
, DATEDIFF(HOUR, DATEADD(HOUR, 8, 0), DATEADD(HOUR, DATEPART(HOUR, @PlanSubmitDate), 0)) AS LastDayHours
, CASE WHEN DATEDIFF(DAY, @PlanIssueDate, @PlanSubmitDate) < 2 THEN 0
ELSE (DATEDIFF(DAY, @PlanIssueDate, @PlanSubmitDate) - 1) * 10 -- 10 hours per day for days between
END AS MidDayHours
-- Result
, CASE
WHEN DATEDIFF(DAY, @PlanIssueDate, @PlanSubmitDate) = 0 THEN -- ends in the same day
CASE
WHEN DATEDIFF(HOUR, @PlanIssueDate, @PlanSubmitDate) > 10 THEN 10
ELSE DATEDIFF(HOUR, @PlanIssueDate, @PlanSubmitDate)
END
ELSE -- ends on other day
CASE WHEN DATEDIFF(DAY, @PlanIssueDate, @PlanSubmitDate) < 2 THEN 0
ELSE (DATEDIFF(DAY, @PlanIssueDate, @PlanSubmitDate) - 1) * 10
END -- 10 hours per day for days between
+ CASE
WHEN DATEDIFF(HOUR, DATEADD(HOUR, DATEPART(HOUR, @PlanIssueDate), 0), DATEADD(HOUR, 19, 0)) > 10 THEN 10
ELSE DATEDIFF(HOUR, DATEADD(HOUR, DATEPART(HOUR, @PlanIssueDate), 0), DATEADD(HOUR, 19, 0))
END -- Hours for the first day
+ CASE
WHEN DATEDIFF(HOUR, DATEADD(HOUR, 8, 0), DATEADD(HOUR, DATEPART(HOUR, @PlanSubmitDate), 0)) > 10 THEN 10
ELSE DATEDIFF(HOUR, DATEADD(HOUR, 8, 0), DATEADD(HOUR, DATEPART(HOUR, @PlanSubmitDate), 0))
END -- Hours for the last day
END AS [Hours]