DECLARE N NUMBER :=0; N1 NUMBER :=0; V_SUBJECT VARCHAR2(500); V_BRANCH VARCHAR2(500); V_ADDRESS_ENG VARCHAR2(500); v_blob BLOB := empty_blob(); l_step NUMBER :=22500; l_mime_type VARCHAR2(1000); V_LVL_01_ID NUMBER; V_LVL_10_ID NUMBER; CURSOR AUTH IS select USERS, REQ_NO, BRANCH_ID, PREPARED, USER_LEVEL, DESIG, AUTHORITY, ZONE, REMARKS_DATE, x.MIME_TYPE attch_mimetype, x.FILE_NAME,t.USER_SIL attch from (SELECT distinct A. login_id USERS, A.REQ_NO, A.BRANCH_ID, C.FULL_NAME_ENG PREPARED, C.USER_LEVEL, D.NAME_ENG DESIG, E.AUTHORITY, E.NAME_ENG ZONE, max(a.sign_date)--max(TO_CHAR (f.SIGN_DATE, 'DD-MM-YYYY HH24:MI:SS AM')) REMARKS_DATE, g.MIME_TYPE, g.FILE_NAME--t.USER_SIL attaches FROM (SELECT distinct LOGIN_ID, REQ_NO, BRANCH_ID,max(to_char(SIGN_DATE, 'DD-MM-YYYY HH24:MI:SS AM')) SIGN_DATE FROM BUDGET_SIGNS WHERE LOGIN_ID IS NOT NULL group by LOGIN_ID, REQ_NO, BRANCH_ID UNION SELECT distinct CREATED_BY LOGIN_ID , REQ_NO, BRANCH_ID,max(to_char(SIGN_DATE, 'DD-MM-YYYY HH24:MI:SS AM')) SIGN_DATE FROM BUDGET_SIGNS WHERE LOGIN_ID IS NOT NULL group by CREATED_BY , REQ_NO, BRANCH_ID ) A, APP_USERS C, budget.designations D, BRANCHS E, BUDGET_SIGNS f, USER_DEG_SIL g, BDG_REQ_MST h WHERE A.BRANCH_ID IS NOT NULL AND A.LOGIN_ID = C.LOGIN_ID AND C.DESIG_ID = D.ID AND A.BRANCH_ID = E.ID AND H.BDG_REQ_MST_ID = :P154_REQ_MST_ID AND A.REQ_NO= h.BDG_REQ_MST_ID AND A.BRANCH_ID = :G_BRANCH_ID and a.REQ_NO = f.REQ_NO and a.LOGIN_ID=g. LOGIN_ID (+) GROUP BY A.LOGIN_ID, A.REQ_NO, A.BRANCH_ID, C.FULL_NAME_ENG, C.USER_LEVEL, D.NAME_ENG, E.AUTHORITY, E.NAME_ENG, g.MIME_TYPE, g.FILE_NAME) x left join USER_DEG_SIL t on x.USERS=t.LOGIN_ID (+) ; CURSOR LVL_01 IS select SHORT_NAME,ID from HEAD_INFOS where PARENT_ID is null; CURSOR LVL_03 IS SELECT X.ID, X.U_ID, X.HEAD_NAME, Y.OLD_PRV_ACTUAL_EXPENSE_AMT, Y.PRV_APPROVE_AMT, Y.PRV_CURRENT_EXPENSE_AMT, Y.PRV_EXPECT_EXPENSE_AMT, Y.BDG_REQ_AMT, Y.BDG_REMARKS FROM (SELECT ID, U_ID, NAME_ENG || ' (' || NAME_BNG || ')' HEAD_NAME FROM HEAD_INFOS WHERE ID IN (SELECT ID FROM HEAD_INFOS WHERE PARENT_ID =V_LVL_10_ID))X, (SELECT A.HEAD_ID, A.OLD_PRV_ACTUAL_EXPENSE_AMT, A.PRV_APPROVE_AMT, A.PRV_CURRENT_EXPENSE_AMT, A.PRV_EXPECT_EXPENSE_AMT, A.BDG_REQ_AMT, A.BDG_REMARKS FROM BDG_REQ_DTL A, BDG_REQ_MST C WHERE A.REQ_MST_ID = C.BDG_REQ_MST_ID AND C.BRANCH_ID = (SELECT BRANCH_ID FROM APP_USERS WHERE UPPER (TRIM (LOGIN_ID)) = :APP_USER)) Y WHERE Y.HEAD_ID = X.ID(+) AND X.ID IS NOT NULL; CURSOR LVL_10 IS select x.PARENT_ID,y.head_name from (SELECT distinct h.PARENT_ID FROM BDG_REQ_DTL A, BDG_REQ_MST C,HEAD_INFOS h WHERE A.REQ_MST_ID = C.BDG_REQ_MST_ID and A.HEAD_ID=h.id AND C.BRANCH_ID = (SELECT BRANCH_ID FROM APP_USERS WHERE UPPER (TRIM (LOGIN_ID)) = :APP_USER)) x, (select ID,NAME_ENG || ' (' || NAME_BNG || ')' HEAD_NAME from HEAD_INFOS where PARENT_ID=V_LVL_01_ID) y where x.PARENT_ID=y.id; -- SELECT ID, U_ID, NAME_ENG || ' (' || NAME_BNG || ')' HEAD_NAME -- FROM HEAD_INFOS -- WHERE PARENT_ID = V_LVL_01_ID ; BEGIN /* BEGIN SELECT USER_IMG, MIME_TYPE INTO v_blob, l_mime_type FROM USER_IMG_SIG WHERE UPPER(TRIM(LOGIN_ID)) = UPPER(TRIM(:APP_USER)) AND ROWNUM = 1; exception when no_data_found then v_blob := null; l_step := 'Empty!'; END; */ BEGIN SELECT B.SUBJECT_NAME, A.NAME_BNG, A.ADDRESS_BNG INTO V_SUBJECT, V_BRANCH, V_ADDRESS_ENG FROM BRANCHS A, SUBJECTS B, BDG_REQ_MST C WHERE C.BDG_SUBJECT = B.SUBJECT_ID(+) AND C.BRANCH_ID = A.ID(+) AND C.BRANCH_ID = (SELECT BRANCH_ID FROM APP_USERS WHERE UPPER(TRIM(LOGIN_ID)) = :APP_USER) and rownum=1; EXCEPTION WHEN NO_DATA_FOUND THEN V_SUBJECT := null; END; htp.p(' '); -- htp.p(' -- -- '); htp.p('
| ঢাকা পানি সরবরাহ ও পয়: নিষ্কাশন কর্তৃপক্ষ নির্বাহী প্রকৌশলীর দপ্তর, '||' '||V_BRANCH||' '||V_ADDRESS_ENG||' |
');
htp.p('
|---|
| Print Date: '||TO_CHAR(SYSDATE, 'DD-MON-YYYY HH:MI:SS')||' |
| Serial | Memo No | Requisition Date | Financial Year | PRESENT USER | APPROVE STUTAS | FINAL APPROVE STUTAS | PRIORITY |
|---|---|---|---|---|---|---|---|
| '||N||' | '||T.MEMO_NO||' | '||T.REQ_DT||' | '||T.NAME_ENG||' | '||T.PRESENT_USER||' | '||T.APPROVE_STUTAS||' | '||T.FINAL_APPROVE_STUTAS||' | '||T.PRIORITY_NAME||' |
| '||I.SHORT_NAME||' | ||||||||
| Serial | UID | Head Name | Estimate 2023-24 |
Revise 2022-23 |
Approve 2022-23 |
Actual Expence 2022-23 |
Actual Expence 2021-22 |
Remarks |
|---|---|---|---|---|---|---|---|---|
| '||Z.HEAD_NAME||' | ||||||||
| '||N1||' | '||J.U_ID||' | '||J.HEAD_NAME||' | '||J.BDG_REQ_AMT||' | '||J.PRV_EXPECT_EXPENSE_AMT||' | '||J.PRV_APPROVE_AMT||' | '||J.PRV_CURRENT_EXPENSE_AMT||' | '||J.OLD_PRV_ACTUAL_EXPENSE_AMT||' | '||J.BDG_REMARKS||' |
| SUBTOTAL | '||t.BDG_REQ_AMT||' | '||t.PRV_EXPECT_EXPENSE_AMT||' | '||t.PRV_APPROVE_AMT||' | '||t.PRV_CURRENT_EXPENSE_AMT||' | '||t.OLD_PRV_ACTUAL_EXPENSE_AMT||' | |||
| '||'Sub Total'||' | --'||CN.BDG_REQ_AMT||' | --'||CN.PRV_EXPECT_EXPENSE_AMT||' | --'||CN.PRV_APPROVE_AMT||' | --'||CN.PRV_CURRENT_EXPENSE_AMT||' | --'||CN.OLD_PRV_ACTUAL_EXPENSE_AMT||' | ---- | ||
| '||'Grand Total'||' | '||CT.BDG_REQ_AMT||' | '||CT.PRV_EXPECT_EXPENSE_AMT||' | '||CT.PRV_APPROVE_AMT||' | '||CT.PRV_CURRENT_EXPENSE_AMT||' | '||CT.OLD_PRV_ACTUAL_EXPENSE_AMT||' | |||
| ');
htp.p(' ');
for c1 in AUTH loop
IF c1.USER_LEVEL = 4 THEN
htp.p(
'
'||c1.REMARKS_DATE||' '||c1.USER_LEVEL|| ' '||c1.Prepared||' '||C1.DESIG||' '||C1.ZONE||', ঢাকা ওয়াসা |
');
htp.p(' ');
for c1 in AUTH loop
IF c1.USER_LEVEL = 3 THEN
htp.p(
'
'||c1.REMARKS_DATE||' '||c1.Prepared||' '||C1.DESIG||' '||C1.ZONE||', ঢাকা ওয়াসা |
');
htp.p(' ');
for c1 in AUTH loop
IF c1.USER_LEVEL = 2 THEN
htp.p(
'
'||c1.REMARKS_DATE||' '||c1.Prepared||' '||C1.DESIG||' '||C1.ZONE||', ঢাকা ওয়াসা |
');
htp.p(' ');
for c1 in AUTH loop
IF c1.USER_LEVEL = 1 THEN
htp.p(
'
'||c1.REMARKS_DATE||' '||c1.Prepared||' '||C1.DESIG||' '||C1.ZONE||', ঢাকা ওয়াসা |