How about this:
Copy
DECLARE @Startdate date = CAST('20230615' as datetime)
DECLARE @Enddate date = CAST('20230619' as datetime)
;WITH DateTable AS
(
SELECT @Startdate AS [date]
UNION ALL
SELECT DATEADD(DAY, 1, [date])
FROM DateTable
WHERE DATEADD(DAY, 1, [date]) <= @Enddate
),CTE1 AS
(
SELECT date AS EntryDate,ISNULL(pWeight,0)AS pWeight,ISNULL(iWeight,0) AS iWeight
FROM DateTable D
LEFT JOIN (SELECT Issue_date,SUM(ISNULL(Issue_Weight,0))AS iWeight FROM #tbl_issuance GROUP BY Issue_date)I ON D.date=I.Issue_date
LEFT JOIN (SELECT Bale_date,SUM(ISNULL(Bale_Weight,0))AS pWeight FROM #tbl_Bale_Prd GROUP BY Bale_date)B ON D.date=B.Bale_date
),CTE2 AS
(
SELECT EntryDate,pWeight,iWeight,iWeight + 0 AS [Floor],iWeight - pWeight AS Closing,0 AS Opening
FROM CTE1
WHERE EntryDate = @Startdate
UNION ALL
SELECT C1.EntryDate,C1.pWeight,C1.iWeight,C1.iWeight + C2.Closing,C1.iWeight + C2.Closing - C1.pWeight,C2.Closing
FROM CTE2 C2 JOIN CTE1 C1 ON DATEADD(DAY,1,C2.EntryDate) = C1.EntryDate
)
SELECT * FROM CTE2
ORDER BY EntryDate DESC