$W>GetViewDetails ADMIN 22-Apr-2026 2:40:17:8960 PM
<$W>SELECT DISTINCT VW.VIEW_ID,VIEW_NAME,FILE_ID,ACCESSIBILITY,VIEW_TYPE,IS_MODULE_DEFAULT,
CASE ISNULL(VS.VIEW_ID,-1) WHEN -1 THEN 1 ELSE 0 END IS_VISIBLE,VW.CREATED_BY,VW.CREATED_BY_USER_NAME,ISNULL(VW.OBJECT_SUB_CATEGORY, -1) OBJECT_SUB_CATEGORY,
VW.USAGE,VS.OBJECT_ID, CASE WHEN ISNULL(0,-1)<1 THEN NULL ELSE VW.VIEW_CONTENT END VIEW_CONTENT
FROM
(SELECT VH.VIEW_ID,ISNULL(VIEW_NAME,VIEW_NAME) VIEW_NAME,FILE_ID,ACCESSIBILITY,VIEW_TYPE,IS_MODULE_DEFAULT,VH.CREATED_BY,
VH.OBJECT_SUB_CATEGORY,VH.USAGE,UM.USER_NAME AS CREATED_BY_USER_NAME,CASE WHEN ISNULL(0,-1)<1 THEN NULL ELSE VH.VIEW_CONTENT END VIEW_CONTENT
FROM VIEW_HEADER VH
INNER JOIN USER_MSTR UM ON UM.LOGIN_NAME = VH.CREATED_BY
WHERE VH.MODULE=7 AND VH.OBJECT_TYPE =6 AND ISNULL(VH.OBJECT_SUB_CATEGORY,-1) >=-1
AND ( VH.ACCESSIBILITY=0) AND VH.USAGE = 0UNION
SELECT VH.VIEW_ID,ISNULL(VIEW_NAME,VIEW_NAME) VIEW_NAME,FILE_ID,ACCESSIBILITY,VIEW_TYPE,IS_MODULE_DEFAULT,
VH.CREATED_BY,VH.OBJECT_SUB_CATEGORY,VH.USAGE,UM.USER_NAME AS CREATED_BY_USER_NAME,CASE WHEN ISNULL(0,-1)<1 THEN NULL ELSE VH.VIEW_CONTENT END VIEW_CONTENT
FROM VIEW_HEADER VH
INNER JOIN VIEW_PUBLISH VP ON VP.VIEW_ID = VH.VIEW_ID AND VP.GROUP_CODE = 1 AND ISNULL(VP.OBJECT_ID,0) =+10554077
INNER JOIN USER_MSTR UM ON UM.LOGIN_NAME = VH.CREATED_BY
WHERE VH.MODULE=7 AND VH.OBJECT_TYPE =6 AND ISNULL(VH.OBJECT_SUB_CATEGORY,-1) >=-1
AND (VH.ACCESSIBILITY=2) AND VH.USAGE = 0UNION
SELECT VH.VIEW_ID,ISNULL(VIEW_NAME,VIEW_NAME) VIEW_NAME,FILE_ID,ACCESSIBILITY,VIEW_TYPE,IS_MODULE_DEFAULT,VH.CREATED_BY,
VH.OBJECT_SUB_CATEGORY,VH.USAGE,UM.USER_NAME AS CREATED_BY_USER_NAME,CASE WHEN ISNULL(0,-1)<1 THEN NULL ELSE VH.VIEW_CONTENT END VIEW_CONTENT
FROM VIEW_HEADER VH
INNER JOIN USER_MSTR UM ON UM.LOGIN_NAME = VH.CREATED_BY
WHERE VH.MODULE=7 AND VH.OBJECT_TYPE =6 AND ISNULL(VH.OBJECT_SUB_CATEGORY,-1) >=-1
AND VH.ACCESSIBILITY=1AND VH.CREATED_BY=N'ADMIN'
UNION
SELECT VH.VIEW_ID,ISNULL(VIEW_NAME,VIEW_NAME) VIEW_NAME,FILE_ID,ACCESSIBILITY,VIEW_TYPE,IS_MODULE_DEFAULT,VH.CREATED_BY,
VH.OBJECT_SUB_CATEGORY,VH.USAGE,UM.USER_NAME AS CREATED_BY_USER_NAME,CASE WHEN ISNULL(0,-1)<1 THEN NULL ELSE VH.VIEW_CONTENT END VIEW_CONTENT
FROM VIEW_HEADER VH
INNER JOIN USER_MSTR UM ON UM.LOGIN_NAME = VH.CREATED_BY
WHERE VH.MODULE=7 AND VH.OBJECT_TYPE =6 AND ISNULL(VH.OBJECT_SUB_CATEGORY,-1) >=-1
AND VH.ACCESSIBILITY=2AND VH.CREATED_BY=N'ADMIN' AND VH.USAGE = 0) VW
LEFT JOIN VIEW_USER_VISIBILITY VS ON VW.VIEW_ID=VS.VIEW_ID AND VS.LOGIN_NAME=N'ADMIN' AND VS.OBJECT_ID =+10554077
WHERE VW.VIEW_ID >-1 AND VW.USAGE = 0
<$W>Execution Time: Milliseconds. (02:40:17.880 PM)
----------------------------------------------------------------------------------------------------------
<$W>GetWBSDetails ADMIN 22-Apr-2026 2:40:30:2240 PM
<$W>DECLARE @WBS_Rights TABLE (GENO_KEY INT PRIMARY KEY,CAN_VIEW INT,CAN_EDIT INT)
INSERT INTO @WBS_Rights
SELECT DISTINCT
WD.GENO_KEY
, CASE WHEN ISNULL(SGU.CAN_VIEW,2)<2
THEN SGU.CAN_VIEW WHEN ISNULL(SGUG.CAN_VIEW,2)<2
THEN SGUG.CAN_VIEW
ELSE 0 END AS CAN_VIEW
, NULL CAN_EDIT
FROM ( SELECT DISTINCT GENO_KEY
FROM WBS_DETAILS WD1
WHERE WD1.WBS_ID= 10554077
)WD
LEFT JOIN SEC_GENEALOGY_USER SGU ON
WD.GENO_KEY = SGU.GENO_KEY
AND SGU.LOGIN_NAME = N'ADMIN'
AND SGU.OBJECT_TYPE =1
OUTER APPLY ( SELECT SGUG1.CAN_VIEW
FROM USERS_IN_GROUP UG
INNER JOIN SEC_GENEALOGY_USER_GRP SGUG1 ON UG.LOGIN_NAME=N'ADMIN'
AND SGUG1.OBJECT_TYPE =1
AND SGUG1.GENO_KEY = WD.GENO_KEY
AND SGUG1.CAN_VIEW = 1
AND SGUG1.USER_GROUP_ID = UG.GROUP_CODE
)SGUG;
DECLARE @TASK_CHECKED_OUT_STATUS TABLE (TASK_ID INT PRIMARY KEY,IS_CHECKED_OUT INT )
INSERT INTO @TASK_CHECKED_OUT_STATUS
SELECT DISTINCT TASK_ID , CO_STATUS.IS_CHECKED_OUT
FROM WBS_DETAILS WD
CROSS APPLY ( SELECT 1 IS_CHECKED_OUT
WHERE EXISTS( SELECT 1
FROM WBS_OBJECTS WO
INNER JOIN DOC_INFO DI ON WO.TASK_ID=WD.TASK_ID
AND DI.IDOC_ID = WO.OBJECT_ID
AND WO.OBJECT_TYPE=0
AND WO.LINK_TYPE=0
INNER JOIN FILE_INDEX FI ON DI.FILE_ID =FI.FILE_ID
AND FI.COUT_BY IS NOT NULL
)
) CO_STATUS
WHERE WD.WBS_ID = 10554077;;SELECT DISTINCT * FROM (SELECT CANT_VIEW_ALL_CHILD,SLNO,TASK_NAME,DOC_NO,FORECAST_START_DATE,FORECAST_FINISH_DATE,PLAN_START_DATE,PLAN_FINISH_DATE,APR_REQ_CODE,CONTRIBUTION_TOWARDS,CONTRIBUTION_TO_PROJECT,CONTRIBUTION_TO_PARENT,PLANNED_PERCENT,FORECAST_PERCENT,PERCENT_COMPLETED,CUST_WEIGHTAGE,PLANNING_MODE,EDIT_ACTUAL,ACT_START_DATE,ACT_FINISH_DATE,PROGRESS_TOWARDS,ACTUAL_DURATION,BUDGETED_DURATION,PROGRESS_VALUE_TYPE,SCHEDULE_VIOLATED,EARLY_START_DATE,EARLY_FINISH_DATE,EARLY_PERCENT,LATE_START_DATE,LATE_FINISH_DATE,LATE_PERCENT,WBS_LEVEL_STRING,STATUS,AREA_CODE,AREA_DESCRIPTION,TASK_ID,TASK_REVNO,WBS_ID,ORDER_ID,PARENT_ID,IS_CHECKEDOUT,GENO_KEY,DOC_GENO_KEY,PART_GENO_KEY,HAS_DOCUMENT,IS_DOCUMENTTASK,NEXT_MAND_DATE,CONSTRAINT_FINISH,CONSTRAINT_START,CAN_VIEW,IS_SUMMARY,TASK_LEVEL,WF_TEAM_ID,ROW_STATUS,CAN_EDIT,SYSTEM_ID,AREACODE_ID,RULE_SET_ID,HAS_LINKED_TASK,WEIGHTAGE,REF_OBJECT_TYPE,REF_OBJECT_ID,EXT_LINK_TYPE,EXT_LINK_ID,EXT_LINK_SUB_ID,BOQ_ITEM_ID,COMMITMENT_ID FROM (SELECT
isnull(CO_Status.is_Checked_Out,0) IS_CHECKEDOUT
, WD.TASK_ID
, WD.WBS_ID
, WD.APR_REQ_CODE
, WD.REMARKS
, WD.TASK_REVNO
, WD.SLNO
, WD.PARENT_ID
, WD.TASK_NAME
, WD.STATUS
, WD.FORECAST_START_DATE
, WD.FORECAST_FINISH_DATE
, WD.CLIENT_REF,WD.PLAN_STATUS
, WD.ACT_START_DATE
, WD.ACT_FINISH_DATE
, WD.INTR_START_DATE
, WD.INTR_FINISH_DATE
, WD.PLAN_START_DATE
, WD.PLAN_FINISH_DATE
, WD.DOC_CREATED_ON
, WD.FORCAST_DATE
, WD.MEETING_DATE
, WD.PERCENT_COMPLETED
, WD.WF_TEAM_ID
, WD.PRIORITY
, WD.ACT_START_DATE_MANUAL
, WD.ACT_FINISH_DATE_MANUAL
, WD.STATUS_UPDATE_METHOD
, WD.IS_MILESTONE
, WD.IS_CUST_SCH
, WD.IS_EXPORTABLE
, WD.IS_DOCUMENTTASK
, WD.IS_SUMMARY
, 0 IS_CUST_FAIL
, WD.CUST_WEIGHTAGE
, WD.CONTRIBUTION_TO_PROJECT
, WD.BUDGETED_COST
, WD.KEY_TASK_ID
, WD.BASELINE_START_DATE
, CASE WD.IS_DOCUMENTTASK WHEN '0' THEN 'No' WHEN '1' THEN 'Yes' ELSE '' END DOC_TASK
, WD.BASELINE_FINISH_DATE
, WD.BASELINE_DURATION
, WD.CHECKLIST_ID
, WD.DOC_ORGIN_CODE
, WD.ORGIN_NAME_CODE
, WD.CONSTRAINT_START
, WD.CONSTRAINT_FINISH
, WD.CONSTRAINT_CREATED_BY
, ISNULL (WD.DOC_NO,'') AS DOC_NO
, ISNULL (WD.SHEET_NO,'') AS SHEET_NO
, ISNULL (WD.CLIENT_DOC_NO,'') AS CLIENT_DOC_NO
, ISNULL (WD.VENDOR_DOC_NO,'') AS VENDOR_DOC_NO
, WD.TASK_CHAR_GROUP_ID
, WD.SYSTEM_ID
, WD.APP_STATUS_CODE
, WD.EXTERNAL_APPLINK_ID
, WD.LAST_EDITED_BY
, WD.LAST_EDITED_ON
, WD.RECIVE_BACK_ON
, WD.APPROVED_BY
, WD.APPROVED_ON
, WD.CLOSED_BY
, WD.CLOSED_ON
, WD.REVISED_BY
, WD.REVISED_ON
, WD.TASK_LEVEL
, WD.TASK_CODE
, WD.GENO_KEY
, WD.WORK_PERCENT
, WD.PLANNED_PERCENT
, WD.FORECAST_PERCENT
, WD.ORGIN_NAME_CODE + '(' + ORIGIN.ORIGIN_NAME + ')' ORIGIN_NAME
, WD.APPROVED_BY+'('+UM.USER_NAME+')'[APPROVEDBY]
, UM.USER_NAME APPROVED_BY_USER_NAME
, CHM.DESCR as CHECK_LIST_DESC
, OS.SI_NO, OS.SYSTEM_CODE AS GROUP_CODE
, OS.UOM, OS.QTY
, PM.PART_NO
, PGM.GROUP_DESC
, OS.DESCRIPTION AS PART_DESCR
, GPG.GENEALOGY_STRING AS SYS_PART_GENEALOGY_STRING
, ISNULL(obj.doc_count,0) HAS_DOCUMENT
, WF_TEAM_MST.WF_TEAM_NAME
, DOC_APR_REQ_CODES_MSTR.APR_REQ_DESC
, DOC_ORG_MSTR.DESCR AS DOC_ORG_DESC
, OA.AREA_CODE
, OA.AREA_DESCRIPTION
, OS.SYSTEM_CODE
, OS.DESCRIPTION AS SYSTEM_DESCRIPTION
, WD.NEXT_MAND_DATE, 'O' AS ROW_STATUS
, ISNULL( obj.task_count,0) HAS_LINKED_TASK
, GT.GENEALOGY_STRING
, GD.GENEALOGY_STRING AS DOC_GENEALOGY_STRING
, GP.GENEALOGY_STRING AS PART_GENEALOGY_STRING
, WD.DOC_GENO_KEY, WTRS.RULE_SET_ID
, WD.PART_GENO_KEY
, WD.AREACODE_ID
, WD.PREDECESSORS
, WD.PRED_TASK_IDS
, WD.PRED_DETAILS
, T.CAN_VIEW,T.CAN_EDIT
, CASE WHEN WD.IS_SUMMARY = 0 THEN 0
ELSE
( CASE WHEN EXISTS (SELECT 1
FROM @WBS_Rights T2
INNER JOIN WBS_DETAILS WBS1 ON WBS1.GENO_KEY=T.GENO_KEY
WHERE WBS1.PARENT_ID=WD.TASK_ID
AND T2.CAN_VIEW=0) THEN 1 ELSE 0 END
)
END AS CANT_VIEW_ALL_CHILD
, CUSTOM_OBJECT_CHAR_DETAILS.*
, dbo.fnGetstageName(WD.TASK_ID) WORKFLOW_STAGE_DETAILS
, WD.LINK_DOC_NO ,WD.LINK_CLIENT_DOC_NO ,WD.LINK_VENDOR_DOC_NO , WD.TASK_RESOURCES
, CASE ISNULL(OASC.CLIENT_CODE,'')
WHEN '' THEN OASC.DESCRIPTION
ELSE OASC.CLIENT_CODE
END CLIENT_CODE
, ORSM.RULE_SET_NAME
, WD.WEIGHTAGE
, ISNULL(WD.CONTRIBUTION_TOWARDS,0) AS CONTRIBUTION_TOWARDS
, WD.PROGRESS_VALUE_TYPE
, WD.BUDGETED_QUANTITY
, WD.CONVERSION_FACTOR
, WD.AS_BUILT_QUANTITY
, WD.ALPHA_VALUE
, WD.BETA_VALUE
, WD.BETA_DISTRIBUTION_TYPE
, WD.BETA_INTERVAL
, WH.ORDER_ID
, UOM_MSTR.UOM TASK_UOM
, WR.STATUS AS HAS_ACTIVE_WF
, WD.TASK_ACCESS_RESOURCES
, WD.CAPTURE_WEIGHTAGE_AS
, WD.BUDGETED_DURATION
, WD.FORECAST_DURATION
, WD.FORECAST_COST
, WD.FORECAST_QUANTITY
, WD.ACTUAL_DURATION
, WD.ACTUAL_COST
, WD.ACTUAL_QUANTITY
, WD.PLANNING_MODE
, WD.EDIT_ACTUAL
, WD.SCHEDULE_VIOLATED
, WD.WBS_CODE
, WD.IGNORE_CHILD_SUMMARY_WEIGHTAGE
, WD.LEVEL_CODE_0, WD.LEVEL_CODE_1, WD.LEVEL_CODE_2, WD.LEVEL_CODE_3, WD.LEVEL_CODE_4
, WD.LEVEL_CODE_5, WD.LEVEL_CODE_6, WD.LEVEL_CODE_7, WD.LEVEL_CODE_8, WD.LEVEL_CODE_9
, WD.LEVEL_CODE_10, WD.LEVEL_CODE_11, WD.LEVEL_CODE_12, WD.LEVEL_CODE_13, WD.LEVEL_CODE_14
, WD.LEVEL_CODE_15, WD.LEVEL_CODE_16, WD.LEVEL_CODE_17, WD.LEVEL_CODE_18, WD.LEVEL_CODE_19
, WD.LEVEL_CODE_20, WD.LEVEL_CODE_21, WD.LEVEL_CODE_22, WD.LEVEL_CODE_23, WD.LEVEL_CODE_24
, WD.LEVEL_CODE_25
, WD.LEVEL_DESC_0, WD.LEVEL_DESC_1, WD.LEVEL_DESC_2, WD.LEVEL_DESC_3, WD.LEVEL_DESC_4
, WD.LEVEL_DESC_5, WD.LEVEL_DESC_6, WD.LEVEL_DESC_7, WD.LEVEL_DESC_8, WD.LEVEL_DESC_9
, WD.LEVEL_DESC_10, WD.LEVEL_DESC_11, WD.LEVEL_DESC_12, WD.LEVEL_DESC_13, WD.LEVEL_DESC_14
, WD.LEVEL_DESC_15, WD.LEVEL_DESC_16, WD.LEVEL_DESC_17, WD.LEVEL_DESC_18, WD.LEVEL_DESC_19
, WD.LEVEL_DESC_20, WD.LEVEL_DESC_21, WD.LEVEL_DESC_22, WD.LEVEL_DESC_23, WD.LEVEL_DESC_24
, WD.LEVEL_DESC_25
, WD.CONTRIBUTION_TO_PARENT
, CASE WHEN ISNULL(WD.PLANNING_MODE,0) = 0 AND WD.IS_SUMMARY = 1 THEN 'Auto' WHEN ISNULL(WD.PLANNING_MODE,0) = 1 AND WD.IS_SUMMARY = 1 THEN 'Manual' ELSE NULL END PLANNING_STR_MODE
, CASE WHEN (WDP.PLANNING_MODE = 1 AND WD.IS_SUMMARY = 0) THEN 'Actual' WHEN (ISNULL(WDP.PLANNING_MODE,0) = 0 AND WD.PLANNING_MODE = 1 AND WD.IS_SUMMARY = 1) THEN 'Plan' WHEN WD.IS_SUMMARY = 0 THEN 'Plan & Actual' ELSE NULL END PROGRESS_TOWARDS
, CASE WHEN (WD.PLANNING_MODE = 1 AND WD.IS_SUMMARY = 1) THEN 'Yes' WHEN WD.IS_SUMMARY = 0 THEN 'Yes' ELSE 'No' END PROGRESS_CONTRIBUTING_TASK
, WDP.WBS_CODE PARENT_WBS_CODE
, OM.DECIMAL_PRECISION
, REMAINING_QUANTITY
, (SELECT TOP 1 1 AS HAS_CHILD_TASK FROM WBS_DETAILS WD1 WHERE WD1.PARENT_ID = WD.TASK_ID AND WD1.IS_SUMMARY = 0) HAS_CHILD_TASK
, (SELECT TOP 1 1 AS HAS_CHILD_LEVEL FROM WBS_DETAILS WD1 WHERE WD1.PARENT_ID = WD.TASK_ID AND WD1.IS_SUMMARY = 1) HAS_CHILD_LEVEL
, WDP.TASK_NAME PARENT_WBS_DESCRIPTION
, WDP.TASK_NAME + ' -> ' + WD.TASK_NAME AS TASK_HIERARCHY_DESC
, WD.EARLY_START_DATE,WD.EARLY_FINISH_DATE,WD.EARLY_PERCENT,WD.LATE_START_DATE,WD.LATE_FINISH_DATE,WD.LATE_PERCENT
, DCS.TASK_ATTACHMENTS AS TASK_ATTACHMENTS,WLS.WBS_LEVEL_STRING
, WD.EARNED_QUANTITY,DP.IDOC_ID,DP.DOC_LCS_CODE,DP.DOC_LCS_DESC,DP.DOC_USER_REV_NO_VALUE,DP.DOC_APPR_STAT_DESC,DP.DOC_APPR_STATUS_CODE
, DP.DOC_CLIENT_CODE,DP.PREV_DOC_CLIENT_CODE,DP.PREV_DOC_APPR_STAT_DESC,DP.PREV_DOC_APPR_STAT_CODE
, ISNULL(WTR.NEXT_RULE_PERCENTAGE,100) NEXT_RULE_PERCENTAGE ,WTR.RULE_ID NEXT_RULE_ID
, WEL.EXT_LINK_ID,WEL.EXT_LINK_SUB_ID,WEL.EXT_LINK_TYPE,WEL.REF_OBJECT_ID,WEL.REF_OBJECT_TYPE
, WD.AUTO_SCHEDULE_ENABLED,OBJ_L.LINKED_PARENT_TASK_ID,WD.BOQ_ITEM_ID,WD.TOTAL_FLOAT
, WD.MSP_TASK_ID,WD.ACTIVITY_ID,WD.SUB_ACTIVITY_ID,TAM.ACTIVITY_DESCRIPTION,TAM.ACTIVITY_CODE,TAD.SUB_ACTIVITY_DESCRIPTION
, WD.ALT_TASK_ID, WD.CONSTRAINT_TYPE,WD.CONSTRAINT_DATE,WD.SHEET_SIZE
, WD.RESCHEDULE_REMAINING_DURATION
, WD.COMMITMENT_ID,CC.COMMITMENT_REF_NO,CC.COMMITMENT_DESCRIPTION
, WD.CALENDAR_ID
, CM.CALENDAR_NAME, WD.PROGRESS_TRACKING_TYPE, WD.EXPECTED_FINISH_DATE
, GT.LEVEL_0 AS LEVEL_1_0, GT.LEVEL_1 AS LEVEL_1_1, GT.LEVEL_2 AS LEVEL_1_2, GT.LEVEL_3 AS LEVEL_1_3, GT.LEVEL_4 AS LEVEL_1_4, GT.LEVEL_5 AS LEVEL_1_5, GT.LEVEL_6 AS LEVEL_1_6, GT.LEVEL_7 AS LEVEL_1_7, GD.LEVEL_0 AS LEVEL_0_0, GD.LEVEL_1 AS LEVEL_0_1, GD.LEVEL_2 AS LEVEL_0_2, GD.LEVEL_3 AS LEVEL_0_3, GD.LEVEL_4 AS LEVEL_0_4, GD.LEVEL_5 AS LEVEL_0_5, GD.LEVEL_6 AS LEVEL_0_6, GD.LEVEL_7 AS LEVEL_0_7, OA.LEVEL_0 AREA_LEVEL_0, OA.LEVEL_DESC_0 AREA_DESC_LEVEL_0, OA.LEVEL_1 AREA_LEVEL_1, OA.LEVEL_DESC_1 AREA_DESC_LEVEL_1, OA.LEVEL_2 AREA_LEVEL_2, OA.LEVEL_DESC_2 AREA_DESC_LEVEL_2, OA.LEVEL_3 AREA_LEVEL_3, OA.LEVEL_DESC_3 AREA_DESC_LEVEL_3, OA.LEVEL_4 AREA_LEVEL_4, OA.LEVEL_DESC_4 AREA_DESC_LEVEL_4, OS.LEVEL_0 SYSTEM_LEVEL_0, OS.LEVEL_DESC_0 SYSTEM_DESC_LEVEL_0
FROM WBS_DETAILS WD
LEFT JOIN @WBS_Rights T ON T.GENO_KEY=WD.GENO_KEY
outer apply ( select sum( CASE WHEN OBJECT_TYPE =0 THEN 1 ELSE 0 END) Doc_Count
, sum( CASE WHEN OBJECT_TYPE =1 THEN 1 ELSE 0 END) Task_Count
from wbs_objects o
where o.task_id = wd.task_id
and o.link_type=0
) obj
OUTER APPLY ( SELECT TOP 1 O.TASK_ID LINKED_PARENT_TASK_ID
FROM WBS_OBJECTS O
WHERE O.OBJECT_ID = WD.TASK_ID AND O.OBJECT_TYPE = 1
AND O.LINK_TYPE=0
) OBJ_L
LEFT JOIN WBS_DETAILS WDP ON WDP.TASK_ID = WD.PARENT_ID
OUTER APPLY (SELECT CASE WHEN WD.PROGRESS_VALUE_TYPE = 2 THEN CASE WHEN WD.EARNED_QUANTITY >CASE WHEN ISNULL(WD.FORECAST_QUANTITY,0) = 0 THEN ISNULL(WD.BUDGETED_QUANTITY,0) ELSE ISNULL(WD.FORECAST_QUANTITY,0) END THEN 0
ELSE
CASE WHEN ISNULL(WD.FORECAST_QUANTITY,0) <> 0 THEN WD.FORECAST_QUANTITY
ELSE ISNULL(WD.BUDGETED_QUANTITY ,0) END - ISNULL(WD.EARNED_QUANTITY,0) END ELSE NULL END AS REMAINING_QUANTITY) RQ
LEFT JOIN WF_TEAM_MST ON WD.WF_TEAM_ID = WF_TEAM_MST.WF_TEAM_ID
LEFT JOIN DOC_APR_REQ_CODES_MSTR ON DOC_APR_REQ_CODES_MSTR.APR_REQ_CODE = WD.APR_REQ_CODE
LEFT JOIN DOC_ORG_MSTR ON CASE DOC_ORG_MSTR.CODE WHEN 'C' THEN 0 WHEN 'V' THEN 1 WHEN 'I' THEN 3 WHEN 'O' THEN 2 END = WD.DOC_ORGIN_CODE
LEFT JOIN (ORDER_SYSTEM OS
INNER JOIN PART_GROUP_MSTR PGM ON OS.SYSTEM_CODE = PGM.GROUP_CODE
LEFT JOIN GENEALOGY GPG ON PGM.PART_GENO_KEY=GPG.GENO_KEY ) ON WD.SYSTEM_ID = OS.ORD_SYS_ID
LEFT JOIN GENEALOGY GT ON GT.GENO_KEY = WD.GENO_KEY
LEFT JOIN GENEALOGY GD ON GD.GENO_KEY = WD.DOC_GENO_KEY
LEFT JOIN GENEALOGY GP ON GP.GENO_KEY = WD.PART_GENO_KEY
LEFT JOIN CHKL_TRN_HDR CHM ON WD.CHECKLIST_ID=CHM.CHKL_TRN_ID
LEFT JOIN WBS_HEADER WH ON WH.WBS_ID = WD.WBS_ID LEFT JOIN ORDER_AREA OA ON OA.ORD_AREA_ID = WD.AREACODE_ID AND OA.ORDER_ID = WH.ORDER_ID
LEFT JOIN ORDER_MASTER OM ON OM.ORDER_ID = WH.ORDER_ID
LEFT JOIN ORIGIN ON ORIGIN.ORIGIN = WD.DOC_ORGIN_CODE AND ORIGIN.ORIGIN_CODE = WD.ORGIN_NAME_CODE
LEFT JOIN USER_MSTR UM ON WD.APPROVED_BY=UM.LOGIN_NAME
LEFT JOIN WBS_TASK_RULE_SET WTRS ON WD.TASK_ID = WTRS.TASK_ID AND WD.TASK_REVNO = WTRS.TASK_REV_NO
LEFT JOIN PART_MASTER PM ON PM.PART_ID = OS.PART_ID
LEFT JOIN CUSTOM_TASK_CHAR_DETAILS CUSTOM_OBJECT_CHAR_DETAILS ON CUSTOM_OBJECT_CHAR_DETAILS.OBJECT_TYPE=1 AND CUSTOM_OBJECT_CHAR_DETAILS.OBJECT_ID=WD.TASK_ID
LEFT JOIN ORDER_APP_STATUS_CODES OASC ON OASC.ORDER_ID = WH.ORDER_ID AND OASC.APP_STAT_CODE = WD.APP_STATUS_CODE
LEFT JOIN ORDER_INT_STATUS_CODES IASP ON IASP.ORDER_ID = WH.ORDER_ID AND IASP.INT_STATUS_CODE = WD.INT_STATUS_CODE
LEFT JOIN ORDER_RULE_SET_MSTR ORSM ON ORSM.RULE_SET_ID = WTRS.RULE_SET_ID
LEFT JOIN UOM_MSTR ON UOM_MSTR.UOM_CODE = WD.UOM
LEFT JOIN @Task_Checked_Out_Status CO_Status on CO_Status.task_id = wd.task_id
LEFT JOIN WF_RUN WR ON WR.OBJECT_ID = WD.TASK_ID AND WR.OBJECT_TYPE = 'TSK'
LEFT OUTER JOIN WF_RUN_STAGE_STATUS WFRSS ON WFRSS.RUN_ID = WR.RUN_ID AND WFRSS.STATUS = 0
LEFT JOIN WF_TEAM_STAGE_DET WTSD1 ON WR.WF_TEAM_ID= WTSD1.WF_TEAM_ID AND WFRSS.STAGE_ID=WTSD1.STAGE_ID
LEFT JOIN WF_RUN_ROUTING_HISTORY WRRH1 ON WRRH1.ROUTING_ID=WFRSS.ROUTING_ID AND WRRH1.RUN_ID=WFRSS.RUN_ID
LEFT JOIN USER_MSTR UM1 ON UM1.LOGIN_NAME=WRRH1.SENT_TO
LEFT JOIN WBS_TASK_RESOURCE_DUR WTRD ON WTRD.TASK_ID=WD.TASK_ID AND WTRD.TASK_REVNO=WD.TASK_REVNO
LEFT JOIN USER_MSTR UM3 ON UM3.LOGIN_NAME=WTRD.LOGIN_NAME
LEFT JOIN WBS_TASK_USERS WTU ON WTU.TASK_ID=WD.TASK_ID AND WTU.TASK_REVNO=WD.TASK_REVNO
LEFT JOIN USER_MSTR UM2 ON UM2.LOGIN_NAME=WTU.LOGIN_NAME
LEFT JOIN USER_MSTR UM4 ON UM4.LOGIN_NAME=WD.APPROVED_BY
LEFT JOIN WBS_TASK_EXTERNAL_LINKS WEL ON WEL.TASK_ID=WD.TASK_ID
LEFT JOIN CALENDAR_MASTER CM ON CM.CALENDAR_ID = WD.CALENDAR_ID
OUTER APPLY
(
SELECT COUNT(1) AS ATTACHMENTS FROM TASK_RELATED_FILES TRF WHERE TRF.TASK_ID=WD.TASK_ID
)TASK_ATTACHMENTS
OUTER APPLY
(
SELECT TOP 1 WTR1.COMPLETION_PERCENTAGE AS NEXT_RULE_PERCENTAGE,WTR1.RULE_ID FROM WBS_TASK_RULES WTR1 WHERE WTR1.COMPLETION_PERCENTAGE> WD.PERCENT_COMPLETED AND WTR1.TASK_ID = WD.TASK_ID ORDER BY WTR1.COMPLETION_PERCENTAGE ASC
)WTR
LEFT JOIN TSHT_ACTIVITY_MASTER TAM ON TAM.ACTIVITY_ID= WD.ACTIVITY_ID
LEFT JOIN TSHT_ACTIVITY_DETAILS TAD ON TAD.ACTIVITY_ID=TAM.ACTIVITY_ID AND TAD.SUB_ACTIVITY_ID=WD.SUB_ACTIVITY_ID
LEFT JOIN COST_COMMITMENT CC ON CC.COMMITMENT_ID = WD.COMMITMENT_ID
CROSS APPLY
(
SELECT CASE WHEN TASK_ATTACHMENTS.ATTACHMENTS > 0 THEN 1 ELSE 0 END AS TASK_ATTACHMENTS,
CASE WHEN WD.STATUS <>4
THEN
CASE WHEN ( WD.PERCENT_COMPLETED > 0 OR WD.FORECAST_PERCENT > 0 OR WD.PLANNED_PERCENT > 0)
THEN
(CASE WHEN WD.FORECAST_START_DATE IS NOT NULL
THEN
CASE WHEN WD.FORECAST_PERCENT > WD.PERCENT_COMPLETED THEN 1 ELSE 0 END
ELSE
CASE WHEN WD.PLANNED_PERCENT > WD.PERCENT_COMPLETED THEN 1 ELSE 0 END
END)
ELSE
(CASE WHEN ISNULL(WD.FORECAST_START_DATE,WD.PLAN_START_DATE) IS NOT NULL
THEN
CASE WHEN (WD.ACT_START_DATE IS NULL AND ISNULL(WD.FORECAST_START_DATE,WD.PLAN_START_DATE) < GETDATE()) OR
ISNULL(WD.FORECAST_START_DATE,WD.PLAN_START_DATE) < WD.ACT_START_DATE
THEN 1
ELSE 0
END
ELSE 0
END)
END
ELSE 0
END AS IS_DELAYED
)DCS
OUTER APPLY
(
SELECT DI.IDOC_ID, LCS_CODE DOC_LCS_CODE, CASE WHEN ISNULL(ORDER_LCS.STATUS_DESC,'')= '' THEN LIFECYCLE_STATUS_MASTER.STATUS_DESC
ELSE ORDER_LCS.STATUS_DESC
END AS DOC_LCS_DESC,
CASE ISNULL(DI.USER_REV_NO_VALUE,'')
WHEN '' THEN DI.REV_NO_VALUE
ELSE DI.USER_REV_NO_VALUE
END AS DOC_USER_REV_NO_VALUE,
CASE WHEN ISNULL(ORDER_APP_STATUS_CODES.DESCRIPTION,'')= ''
THEN APPROV_STAT_MSTR.DESCRIPTION
ELSE ORDER_APP_STATUS_CODES.DESCRIPTION
END DOC_APPR_STAT_DESC,
DI.APP_STAT_CODE AS DOC_APPR_STATUS_CODE,
CASE WHEN ISNULL(OM.ORDER_ID,-2)=-2
THEN CASE WHEN ISNULL(DM.CLIENT_CODE,'')='' THEN ''
ELSE DM.CLIENT_CODE
END
ELSE CASE WHEN ISNULL(ORDER_APP_STATUS_CODES.CLIENT_CODE,'')=''
THEN ''
ELSE ORDER_APP_STATUS_CODES.CLIENT_CODE
END END AS DOC_CLIENT_CODE,
PAC.PREV_CLIENT_CODE PREV_DOC_CLIENT_CODE,
PAC.PREV_DESCRIPTION PREV_DOC_APPR_STAT_DESC,
DI.PREV_APP_STAT_CODE PREV_DOC_APPR_STAT_CODE
FROM
WBS_OBJECTS WO
INNER JOIN DOC_INFO DI
ON WO.OBJECT_ID=DI.IDOC_ID AND WO.OBJECT_TYPE=0 AND WO.LINK_TYPE=0
LEFT JOIN ORDER_LCS ON ORDER_LCS.ORDER_ID=OM.ORDER_ID
AND DI.LCS_CODE= ORDER_LCS.STATUS_CODE
LEFT JOIN LIFECYCLE_STATUS_MASTER ON DI.LCS_CODE = LIFECYCLE_STATUS_MASTER.STATUS_CODE
LEFT JOIN ORDER_APP_STATUS_CODES ON DI.APP_STAT_CODE = ORDER_APP_STATUS_CODES.APP_STAT_CODE
and DI.ORDER_ID = ORDER_APP_STATUS_CODES.ORDER_ID
LEFT JOIN APPROV_STAT_MSTR ON DI.APP_STAT_CODE=APPROV_STAT_MSTR.APP_STAT_CODE
LEFT JOIN INT_STAT_MSTR on DI.INT_APPR_STATUS_CODE=INT_STAT_MSTR.INTR_STAT_CODE
LEFT JOIN ORDER_INT_STATUS_CODES ON ORDER_INT_STATUS_CODES.ORDER_ID=DI.ORDER_ID
AND ORDER_INT_STATUS_CODES.INT_STATUS_CODE=DI.INT_APPR_STATUS_CODE
LEFT JOIN DP_LEVEL_DOC_APPR_MAP DM ON DI.GENO_KEY = DM.GENO_KEY
and DM.APP_STAT_CODE = DI.APP_STAT_CODE
OUTER APPLY
(
SELECT ISNULL(POAS.DESCRIPTION, PASM.DESCRIPTION)PREV_DESCRIPTION,
CASE WHEN ISNULL(DI.ORDER_ID,-2)=-2 THEN (SELECT DM.CLIENT_CODE FROM DP_LEVEL_DOC_APPR_MAP DM WHERE DI.GENO_KEY = DM.GENO_KEY
AND DM.APP_STAT_CODE = DI.PREV_APP_STAT_CODE)
ELSE (SELECT CLIENT_CODE FROM ORDER_APP_STATUS_CODES IPOAS
WHERE DI.ORDER_ID = IPOAS.ORDER_ID AND DI.PREV_APP_STAT_CODE = IPOAS.APP_STAT_CODE)
END PREV_CLIENT_CODE
FROM APPROV_STAT_MSTR PASM
LEFT OUTER JOIN ORDER_APP_STATUS_CODES POAS ON POAS.APP_STAT_CODE =DI.PREV_APP_STAT_CODE
AND POAS.ORDER_ID=DI.ORDER_ID
WHERE PASM.APP_STAT_CODE =DI.PREV_APP_STAT_CODE
)PAC
WHERE
WO.TASK_ID=WD.TASK_ID AND
EXISTS
(
SELECT 1 FROM WBS_OBJECTS WHERE WD.TASK_ID=TASK_ID AND OBJECT_TYPE=0
AND LINK_TYPE=0
HAVING COUNT(OBJECT_ID)=1
)AND 1=0
)DP
CROSS APPLY
(
SELECT CONCAT(
ISNULL(CASE WHEN WD.TASK_LEVEL=25 THEN NULL ELSE WD.LEVEL_DESC_25 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=24 THEN NULL ELSE WD.LEVEL_DESC_24 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=23 THEN NULL ELSE WD.LEVEL_DESC_23 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=22 THEN NULL ELSE WD.LEVEL_DESC_22 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=21 THEN NULL ELSE WD.LEVEL_DESC_21 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=20 THEN NULL ELSE WD.LEVEL_DESC_20 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=19 THEN NULL ELSE WD.LEVEL_DESC_19 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=18 THEN NULL ELSE WD.LEVEL_DESC_18 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=17 THEN NULL ELSE WD.LEVEL_DESC_17 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=16 THEN NULL ELSE WD.LEVEL_DESC_16 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=15 THEN NULL ELSE WD.LEVEL_DESC_15 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=14 THEN NULL ELSE WD.LEVEL_DESC_14 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=13 THEN NULL ELSE WD.LEVEL_DESC_13 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=12 THEN NULL ELSE WD.LEVEL_DESC_12 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=11 THEN NULL ELSE WD.LEVEL_DESC_11 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=10 THEN NULL ELSE WD.LEVEL_DESC_10 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=9 THEN NULL ELSE WD.LEVEL_DESC_9 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=8 THEN NULL ELSE WD.LEVEL_DESC_8 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=7 THEN NULL ELSE WD.LEVEL_DESC_7 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=6 THEN NULL ELSE WD.LEVEL_DESC_6 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=5 THEN NULL ELSE WD.LEVEL_DESC_5 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=4 THEN NULL ELSE WD.LEVEL_DESC_4 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=3 THEN NULL ELSE WD.LEVEL_DESC_3 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=2 THEN NULL ELSE WD.LEVEL_DESC_2 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=1 THEN NULL ELSE WD.LEVEL_DESC_1 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=0 THEN NULL ELSE WD.LEVEL_DESC_0 END, ''))
AS WBS_LEVEL_STRING
) WLS
WHERE WD.WBS_ID = 10554077 ) A ) DIST_RECORDS
<$W>Execution Time: Milliseconds. (02:40:23.536 PM)
----------------------------------------------------------------------------------------------------------
<$W>UpdateWBSPercentage ADMIN 22-Apr-2026 2:41:05:6715 PM
<$W>UPDATE WBS_DETAILS SET CONTRIBUTION_TO_PROJECT=0, CUST_WEIGHTAGE=0 WHERE WBS_ID = 10554077
<$W>Execution Time: Milliseconds. (02:40:23.880 PM)
<$W>IF OBJECT_ID ('TEMPDB..#ARTEMP') IS NOT NULL DROP TABLE #ARTEMP;
WITH CTE AS
(
SELECT ORD_AREA_ID,PARENT_ORD_AREA_ID, CAST(CASE WHEN ISNULL(WEIGHTAGE,0) >0 THEN AREA_CODE ELSE '' END AS NVARCHAR(4000)) HIERARCHY ,
WEIGHTAGE, CASE WHEN ISNULL(WEIGHTAGE,0) = 0 THEN CAST(1 AS DECIMAL(18,8)) ELSE CAST(CAST(WEIGHTAGE AS DECIMAL(18,8))/100 AS DECIMAL(18,8)) END CONTRIBUTION
FROM ORDER_AREA
WHERE ORDER_ID = (SELECT ORDER_ID FROM WBS_HEADER WHERE WBS_ID = 10554077) AND LEVEL = 0
UNION ALL
SELECT OA.ORD_AREA_ID,OA.PARENT_ORD_AREA_ID, CAST(AT.HIERARCHY + (CAST(CASE WHEN ISNULL(OA.WEIGHTAGE,0) >0 THEN '->' + OA.AREA_CODE ELSE '' END AS NVARCHAR)) AS NVARCHAR(4000)) HIERARCHY,
OA.WEIGHTAGE, CAST(CASE WHEN ISNULL(OA.WEIGHTAGE,0) = 0 THEN CAST(1 AS DECIMAL(18,8)) ELSE CAST(OA.WEIGHTAGE AS DECIMAL(18,8))/100 END * CAST(AT.CONTRIBUTION AS DECIMAL(18,8)) AS DECIMAL(18,8)) CONTRIBUTION
FROM CTE AT
INNER JOIN ORDER_AREA OA ON OA.PARENT_ORD_AREA_ID = AT.ORD_AREA_ID
)
SELECT * INTO #ARTEMP FROM CTE;
UPDATE WD
SET CUST_WEIGHTAGE = ISNULL((100 * CAST(WD.WEIGHTAGE AS DECIMAL(18,8)) * CONTRIBUTION /WEIGHTAGE_SUM), WD.WEIGHTAGE),
CONTRIBUTION_TO_PROJECT = ISNULL((100 * CAST(WD.WEIGHTAGE AS DECIMAL(18,8)) * CONTRIBUTION /WEIGHTAGE_SUM),WD.WEIGHTAGE)
FROM #ARTEMP AT
INNER JOIN WBS_DETAILS WD ON AT.ORD_AREA_ID = WD.AREACODE_ID
OUTER APPLY
(
SELECT SUM(WD1.WEIGHTAGE) WEIGHTAGE_SUM FROM WBS_DETAILS WD1 WHERE WD1.WBS_ID = WD.WBS_ID AND WD1.AREACODE_ID IN
(
SELECT ORD_AREA_ID FROM #ARTEMP WHERE #ARTEMP.HIERARCHY =
(SELECT TOP 1 HIERARCHY FROM #ARTEMP WHERE ORD_AREA_ID = WD.AREACODE_ID)
)
)WT
WHERE WD.WBS_ID = 10554077 AND ISNULL(WD.WEIGHTAGE,0) > 0
<$W>Execution Time: Milliseconds. (02:40:34.177 PM)
<$W>UPDATE WD
SET CUST_WEIGHTAGE = WD.CONTRIBUTION_TO_PROJECT
FROM WBS_DETAILS WD
WHERE WD.WBS_ID = 10554077 AND (ISNULL(WD.WEIGHTAGE,0) = 0 OR ISNULL(WD.AREACODE_ID,0) = 0)
AND (ISNULL(WD.CONVERSION_FACTOR,0) = 0 OR iSNULL(WD.BUDGETED_QUANTITY,0) = 0) AND ISNULL(CONTRIBUTION_TO_PROJECT,0) > 0
<$W>Execution Time: Milliseconds. (02:40:45.489 PM)
<$W>UPDATE WBS_DETAILS SET CONTRIBUTION_TO_PROJECT = CUST_WEIGHTAGE WHERE WBS_ID = 10554077
<$W>Execution Time: Milliseconds. (02:40:53.239 PM)
<$W>UPDATE AA SET PLANNED_PERCENT =
CASE WHEN (AA.PLAN_COMPLETION_PERCENTAGE IS NULL OR AA.PLAN_COMPLETION_PERCENTAGE < 0)
THEN (CASE WHEN AA.NEXT_PLAN_COMPLETION_PERCENTAGE IS NULL
THEN ISNULL(AA.TASK_PERCENTAGE,0.00)
ELSE 0.00 END
)
ELSE AA.PLAN_COMPLETION_PERCENTAGE END
FROM
(
SELECT TASK_ID,PLANNED_PERCENT
,(
SELECT TOP(1) WTR.CUM_PERCENTAGE_PROGRESS
FROM WBS_TASK_RULES WTR WITH(NOLOCK)
WHERE WTR.PLAN_FINISH_DATE <= ISNULL(WH.PROGRESS_AS_ON_DATE, GETDATE())
AND WTR.CUM_PERCENTAGE_PROGRESS > 0 AND WTR.TASK_REV_NO=WD.TASK_REVNO
AND WTR.TASK_ID=WD.TASK_ID
AND ISNULL(WTR.PARENT_RULE_ID,0)=0
ORDER BY WTR.PLAN_FINISH_DATE DESC,WTR.CUM_PERCENTAGE_PROGRESS DESC
) AS PLAN_COMPLETION_PERCENTAGE
,(
SELECT TOP(1) WTR.CUM_PERCENTAGE_PROGRESS
FROM WBS_TASK_RULES WTR WITH(NOLOCK)
WHERE WTR.PLAN_FINISH_DATE > ISNULL(WH.PROGRESS_AS_ON_DATE, GETDATE())
AND WTR.CUM_PERCENTAGE_PROGRESS > 0 AND WTR.TASK_REV_NO=WD.TASK_REVNO
AND WTR.TASK_ID=WD.TASK_ID
AND ISNULL(WTR.PARENT_RULE_ID,0)=0
ORDER BY WTR.PLAN_FINISH_DATE DESC,WTR.CUM_PERCENTAGE_PROGRESS DESC
) AS NEXT_PLAN_COMPLETION_PERCENTAGE
,CASE WHEN PLAN_FINISH_DATE <> ''
THEN CASE WHEN PLAN_FINISH_DATE<=ISNULL(WH.PROGRESS_AS_ON_DATE, GETDATE())
THEN 100
ELSE 0
END
END AS TASK_PERCENTAGE
FROM WBS_DETAILS WD WITH(NOLOCK)
INNER JOIN WBS_HEADER WH WITH(NOLOCK)
ON WH.WBS_ID = WD.WBS_ID
WHERE WD.WBS_ID=10554077
AND WD.IS_PROJECTED_PROGRESS=0
AND ISNULL(WD.PROGRESS_VALUE_TYPE,0) <> 1
AND ISNULL(WD.CONTRIBUTION_TOWARDS,0) <> 2
) AA
<$W>Execution Time: Milliseconds. (02:41:05.655 PM)
----------------------------------------------------------------------------------------------------------
<$W>ManageTask ADMIN 22-Apr-2026 2:43:43:0502 PM
<$W>SELECT MAX(TASK_LEVEL) AS TASK_LEVEL,MAX(SLNO) AS SLNO FROM WBS_DETAILS WITH(NOLOCK) WHERE WBS_ID = 10554077
<$W>Execution Time: Milliseconds. (02:43:40.081 PM)
<$W>SELECT CASE CAST(SUM(ISNULL(TP.CUST_WEIGHTAGE,1))AS DECIMAL(18,8))
WHEN 0
THEN 0
ELSE CAST(SUM(ISNULL(TP.PERCENT_COMPLETED,0)*ISNULL(TP.CUST_WEIGHTAGE,1))AS DECIMAL(18,8))/
SUM(CAST(ISNULL(TP.CUST_WEIGHTAGE,1) AS DECIMAL(18,8))) END PERCENTAGE
FROM WBS_DETAILS TP WITH(NOLOCK) WHERE TP.WBS_ID = 10554077
AND TP.TASK_LEVEL = 0
AND ISNULL(TP.CUST_WEIGHTAGE,0)<>0
<$W>Execution Time: Milliseconds. (02:43:43.003 PM)
----------------------------------------------------------------------------------------------------------
<$W>GetTaskList ADMIN 22-Apr-2026 2:43:46:5658 PM
<$W>DECLARE @WBS_Rights TABLE (GENO_KEY INT PRIMARY KEY,CAN_VIEW INT,CAN_EDIT INT)
INSERT INTO @WBS_Rights
SELECT DISTINCT
WD.GENO_KEY
, CASE WHEN ISNULL(SGU.CAN_VIEW,2)<2
THEN SGU.CAN_VIEW WHEN ISNULL(SGUG.CAN_VIEW,2)<2
THEN SGUG.CAN_VIEW
ELSE 0 END AS CAN_VIEW
, NULL CAN_EDIT
FROM ( SELECT DISTINCT GENO_KEY
FROM WBS_DETAILS WD1
WHERE WD1.WBS_ID= 10554077
)WD
LEFT JOIN SEC_GENEALOGY_USER SGU ON
WD.GENO_KEY = SGU.GENO_KEY
AND SGU.LOGIN_NAME = N'ADMIN'
AND SGU.OBJECT_TYPE =1
OUTER APPLY ( SELECT SGUG1.CAN_VIEW
FROM USERS_IN_GROUP UG
INNER JOIN SEC_GENEALOGY_USER_GRP SGUG1 ON UG.LOGIN_NAME=N'ADMIN'
AND SGUG1.OBJECT_TYPE =1
AND SGUG1.GENO_KEY = WD.GENO_KEY
AND SGUG1.CAN_VIEW = 1
AND SGUG1.USER_GROUP_ID = UG.GROUP_CODE
)SGUG;
DECLARE @TASK_CHECKED_OUT_STATUS TABLE (TASK_ID INT PRIMARY KEY,IS_CHECKED_OUT INT )
INSERT INTO @TASK_CHECKED_OUT_STATUS
SELECT DISTINCT TASK_ID , CO_STATUS.IS_CHECKED_OUT
FROM WBS_DETAILS WD
CROSS APPLY ( SELECT 1 IS_CHECKED_OUT
WHERE EXISTS( SELECT 1
FROM WBS_OBJECTS WO
INNER JOIN DOC_INFO DI ON WO.TASK_ID=WD.TASK_ID
AND DI.IDOC_ID = WO.OBJECT_ID
AND WO.OBJECT_TYPE=0
AND WO.LINK_TYPE=0
INNER JOIN FILE_INDEX FI ON DI.FILE_ID =FI.FILE_ID
AND FI.COUT_BY IS NOT NULL
)
) CO_STATUS
WHERE WD.WBS_ID = 10554077;;SELECT DISTINCT * FROM (SELECT CANT_VIEW_ALL_CHILD,SLNO,TASK_NAME,DOC_NO,FORECAST_START_DATE,FORECAST_FINISH_DATE,PLAN_START_DATE,PLAN_FINISH_DATE,APR_REQ_CODE,CONTRIBUTION_TOWARDS,CONTRIBUTION_TO_PROJECT,CONTRIBUTION_TO_PARENT,PLANNED_PERCENT,FORECAST_PERCENT,PERCENT_COMPLETED,CUST_WEIGHTAGE,PLANNING_MODE,EDIT_ACTUAL,ACT_START_DATE,ACT_FINISH_DATE,PROGRESS_TOWARDS,ACTUAL_DURATION,BUDGETED_DURATION,PROGRESS_VALUE_TYPE,SCHEDULE_VIOLATED,EARLY_START_DATE,EARLY_FINISH_DATE,EARLY_PERCENT,LATE_START_DATE,LATE_FINISH_DATE,LATE_PERCENT,WBS_LEVEL_STRING,STATUS,AREA_CODE,AREA_DESCRIPTION,TASK_ID,TASK_REVNO,ORDER_ID,WBS_ID,PARENT_ID,IS_CHECKEDOUT,GENO_KEY,DOC_GENO_KEY,PART_GENO_KEY,HAS_DOCUMENT,IS_DOCUMENTTASK,NEXT_MAND_DATE,CONSTRAINT_FINISH,CONSTRAINT_START,CAN_VIEW,IS_SUMMARY,TASK_LEVEL,WF_TEAM_ID,ROW_STATUS,CAN_EDIT,SYSTEM_ID,AREACODE_ID,RULE_SET_ID,HAS_LINKED_TASK FROM (SELECT
isnull(CO_Status.is_Checked_Out,0) IS_CHECKEDOUT
, WD.TASK_ID
, WD.WBS_ID
, WD.APR_REQ_CODE
, WD.REMARKS
, WD.TASK_REVNO
, WD.SLNO
, WD.PARENT_ID
, WD.TASK_NAME
, WD.STATUS
, WD.FORECAST_START_DATE
, WD.FORECAST_FINISH_DATE
, WD.CLIENT_REF,WD.PLAN_STATUS
, WD.ACT_START_DATE
, WD.ACT_FINISH_DATE
, WD.INTR_START_DATE
, WD.INTR_FINISH_DATE
, WD.PLAN_START_DATE
, WD.PLAN_FINISH_DATE
, WD.DOC_CREATED_ON
, WD.FORCAST_DATE
, WD.MEETING_DATE
, WD.PERCENT_COMPLETED
, WD.WF_TEAM_ID
, WD.PRIORITY
, WD.ACT_START_DATE_MANUAL
, WD.ACT_FINISH_DATE_MANUAL
, WD.STATUS_UPDATE_METHOD
, WD.IS_MILESTONE
, WD.IS_CUST_SCH
, WD.IS_EXPORTABLE
, WD.IS_DOCUMENTTASK
, WD.IS_SUMMARY
, 0 IS_CUST_FAIL
, WD.CUST_WEIGHTAGE
, WD.CONTRIBUTION_TO_PROJECT
, WD.BUDGETED_COST
, WD.KEY_TASK_ID
, WD.BASELINE_START_DATE
, CASE WD.IS_DOCUMENTTASK WHEN '0' THEN 'No' WHEN '1' THEN 'Yes' ELSE '' END DOC_TASK
, WD.BASELINE_FINISH_DATE
, WD.BASELINE_DURATION
, WD.CHECKLIST_ID
, WD.DOC_ORGIN_CODE
, WD.ORGIN_NAME_CODE
, WD.CONSTRAINT_START
, WD.CONSTRAINT_FINISH
, WD.CONSTRAINT_CREATED_BY
, ISNULL (WD.DOC_NO,'') AS DOC_NO
, ISNULL (WD.SHEET_NO,'') AS SHEET_NO
, ISNULL (WD.CLIENT_DOC_NO,'') AS CLIENT_DOC_NO
, ISNULL (WD.VENDOR_DOC_NO,'') AS VENDOR_DOC_NO
, WD.TASK_CHAR_GROUP_ID
, WD.SYSTEM_ID
, WD.APP_STATUS_CODE
, WD.EXTERNAL_APPLINK_ID
, WD.LAST_EDITED_BY
, WD.LAST_EDITED_ON
, WD.RECIVE_BACK_ON
, WD.APPROVED_BY
, WD.APPROVED_ON
, WD.CLOSED_BY
, WD.CLOSED_ON
, WD.REVISED_BY
, WD.REVISED_ON
, WD.TASK_LEVEL
, WD.TASK_CODE
, WD.GENO_KEY
, WD.WORK_PERCENT
, WD.PLANNED_PERCENT
, WD.FORECAST_PERCENT
, WD.ORGIN_NAME_CODE + '(' + ORIGIN.ORIGIN_NAME + ')' ORIGIN_NAME
, WD.APPROVED_BY+'('+UM.USER_NAME+')'[APPROVEDBY]
, UM.USER_NAME APPROVED_BY_USER_NAME
, CHM.DESCR as CHECK_LIST_DESC
, OS.SI_NO, OS.SYSTEM_CODE AS GROUP_CODE
, OS.UOM, OS.QTY
, PM.PART_NO
, PGM.GROUP_DESC
, OS.DESCRIPTION AS PART_DESCR
, GPG.GENEALOGY_STRING AS SYS_PART_GENEALOGY_STRING
, ISNULL(obj.doc_count,0) HAS_DOCUMENT
, WF_TEAM_MST.WF_TEAM_NAME
, DOC_APR_REQ_CODES_MSTR.APR_REQ_DESC
, DOC_ORG_MSTR.DESCR AS DOC_ORG_DESC
, OA.AREA_CODE
, OA.AREA_DESCRIPTION
, OS.SYSTEM_CODE
, OS.DESCRIPTION AS SYSTEM_DESCRIPTION
, WD.NEXT_MAND_DATE, 'O' AS ROW_STATUS
, ISNULL( obj.task_count,0) HAS_LINKED_TASK
, GT.GENEALOGY_STRING
, GD.GENEALOGY_STRING AS DOC_GENEALOGY_STRING
, GP.GENEALOGY_STRING AS PART_GENEALOGY_STRING
, WD.DOC_GENO_KEY, WTRS.RULE_SET_ID
, WD.PART_GENO_KEY
, WD.AREACODE_ID
, WD.PREDECESSORS
, WD.PRED_TASK_IDS
, WD.PRED_DETAILS
, T.CAN_VIEW,T.CAN_EDIT
, CASE WHEN WD.IS_SUMMARY = 0 THEN 0
ELSE
( CASE WHEN EXISTS (SELECT 1
FROM @WBS_Rights T2
INNER JOIN WBS_DETAILS WBS1 ON WBS1.GENO_KEY=T.GENO_KEY
WHERE WBS1.PARENT_ID=WD.TASK_ID
AND T2.CAN_VIEW=0) THEN 1 ELSE 0 END
)
END AS CANT_VIEW_ALL_CHILD
, CUSTOM_OBJECT_CHAR_DETAILS.*
, dbo.fnGetstageName(WD.TASK_ID) WORKFLOW_STAGE_DETAILS
, WD.LINK_DOC_NO ,WD.LINK_CLIENT_DOC_NO ,WD.LINK_VENDOR_DOC_NO , WD.TASK_RESOURCES
, CASE ISNULL(OASC.CLIENT_CODE,'')
WHEN '' THEN OASC.DESCRIPTION
ELSE OASC.CLIENT_CODE
END CLIENT_CODE
, ORSM.RULE_SET_NAME
, WD.WEIGHTAGE
, ISNULL(WD.CONTRIBUTION_TOWARDS,0) AS CONTRIBUTION_TOWARDS
, WD.PROGRESS_VALUE_TYPE
, WD.BUDGETED_QUANTITY
, WD.CONVERSION_FACTOR
, WD.AS_BUILT_QUANTITY
, WD.ALPHA_VALUE
, WD.BETA_VALUE
, WD.BETA_DISTRIBUTION_TYPE
, WD.BETA_INTERVAL
, WH.ORDER_ID
, UOM_MSTR.UOM TASK_UOM
, WR.STATUS AS HAS_ACTIVE_WF
, WD.TASK_ACCESS_RESOURCES
, WD.CAPTURE_WEIGHTAGE_AS
, WD.BUDGETED_DURATION
, WD.FORECAST_DURATION
, WD.FORECAST_COST
, WD.FORECAST_QUANTITY
, WD.ACTUAL_DURATION
, WD.ACTUAL_COST
, WD.ACTUAL_QUANTITY
, WD.PLANNING_MODE
, WD.EDIT_ACTUAL
, WD.SCHEDULE_VIOLATED
, WD.WBS_CODE
, WD.IGNORE_CHILD_SUMMARY_WEIGHTAGE
, WD.LEVEL_CODE_0, WD.LEVEL_CODE_1, WD.LEVEL_CODE_2, WD.LEVEL_CODE_3, WD.LEVEL_CODE_4
, WD.LEVEL_CODE_5, WD.LEVEL_CODE_6, WD.LEVEL_CODE_7, WD.LEVEL_CODE_8, WD.LEVEL_CODE_9
, WD.LEVEL_CODE_10, WD.LEVEL_CODE_11, WD.LEVEL_CODE_12, WD.LEVEL_CODE_13, WD.LEVEL_CODE_14
, WD.LEVEL_CODE_15, WD.LEVEL_CODE_16, WD.LEVEL_CODE_17, WD.LEVEL_CODE_18, WD.LEVEL_CODE_19
, WD.LEVEL_CODE_20, WD.LEVEL_CODE_21, WD.LEVEL_CODE_22, WD.LEVEL_CODE_23, WD.LEVEL_CODE_24
, WD.LEVEL_CODE_25
, WD.LEVEL_DESC_0, WD.LEVEL_DESC_1, WD.LEVEL_DESC_2, WD.LEVEL_DESC_3, WD.LEVEL_DESC_4
, WD.LEVEL_DESC_5, WD.LEVEL_DESC_6, WD.LEVEL_DESC_7, WD.LEVEL_DESC_8, WD.LEVEL_DESC_9
, WD.LEVEL_DESC_10, WD.LEVEL_DESC_11, WD.LEVEL_DESC_12, WD.LEVEL_DESC_13, WD.LEVEL_DESC_14
, WD.LEVEL_DESC_15, WD.LEVEL_DESC_16, WD.LEVEL_DESC_17, WD.LEVEL_DESC_18, WD.LEVEL_DESC_19
, WD.LEVEL_DESC_20, WD.LEVEL_DESC_21, WD.LEVEL_DESC_22, WD.LEVEL_DESC_23, WD.LEVEL_DESC_24
, WD.LEVEL_DESC_25
, WD.CONTRIBUTION_TO_PARENT
, CASE WHEN ISNULL(WD.PLANNING_MODE,0) = 0 AND WD.IS_SUMMARY = 1 THEN 'Auto' WHEN ISNULL(WD.PLANNING_MODE,0) = 1 AND WD.IS_SUMMARY = 1 THEN 'Manual' ELSE NULL END PLANNING_STR_MODE
, CASE WHEN (WDP.PLANNING_MODE = 1 AND WD.IS_SUMMARY = 0) THEN 'Actual' WHEN (ISNULL(WDP.PLANNING_MODE,0) = 0 AND WD.PLANNING_MODE = 1 AND WD.IS_SUMMARY = 1) THEN 'Plan' WHEN WD.IS_SUMMARY = 0 THEN 'Plan & Actual' ELSE NULL END PROGRESS_TOWARDS
, CASE WHEN (WD.PLANNING_MODE = 1 AND WD.IS_SUMMARY = 1) THEN 'Yes' WHEN WD.IS_SUMMARY = 0 THEN 'Yes' ELSE 'No' END PROGRESS_CONTRIBUTING_TASK
, WDP.WBS_CODE PARENT_WBS_CODE
, OM.DECIMAL_PRECISION
, REMAINING_QUANTITY
, (SELECT TOP 1 1 AS HAS_CHILD_TASK FROM WBS_DETAILS WD1 WHERE WD1.PARENT_ID = WD.TASK_ID AND WD1.IS_SUMMARY = 0) HAS_CHILD_TASK
, (SELECT TOP 1 1 AS HAS_CHILD_LEVEL FROM WBS_DETAILS WD1 WHERE WD1.PARENT_ID = WD.TASK_ID AND WD1.IS_SUMMARY = 1) HAS_CHILD_LEVEL
, WDP.TASK_NAME PARENT_WBS_DESCRIPTION
, WDP.TASK_NAME + ' -> ' + WD.TASK_NAME AS TASK_HIERARCHY_DESC
, WD.EARLY_START_DATE,WD.EARLY_FINISH_DATE,WD.EARLY_PERCENT,WD.LATE_START_DATE,WD.LATE_FINISH_DATE,WD.LATE_PERCENT
, DCS.TASK_ATTACHMENTS AS TASK_ATTACHMENTS,WLS.WBS_LEVEL_STRING
, WD.EARNED_QUANTITY,DP.IDOC_ID,DP.DOC_LCS_CODE,DP.DOC_LCS_DESC,DP.DOC_USER_REV_NO_VALUE,DP.DOC_APPR_STAT_DESC,DP.DOC_APPR_STATUS_CODE
, DP.DOC_CLIENT_CODE,DP.PREV_DOC_CLIENT_CODE,DP.PREV_DOC_APPR_STAT_DESC,DP.PREV_DOC_APPR_STAT_CODE
, ISNULL(WTR.NEXT_RULE_PERCENTAGE,100) NEXT_RULE_PERCENTAGE ,WTR.RULE_ID NEXT_RULE_ID
, WEL.EXT_LINK_ID,WEL.EXT_LINK_SUB_ID,WEL.EXT_LINK_TYPE,WEL.REF_OBJECT_ID,WEL.REF_OBJECT_TYPE
, WD.AUTO_SCHEDULE_ENABLED,OBJ_L.LINKED_PARENT_TASK_ID,WD.BOQ_ITEM_ID,WD.TOTAL_FLOAT
, WD.MSP_TASK_ID,WD.ACTIVITY_ID,WD.SUB_ACTIVITY_ID,TAM.ACTIVITY_DESCRIPTION,TAM.ACTIVITY_CODE,TAD.SUB_ACTIVITY_DESCRIPTION
, WD.ALT_TASK_ID, WD.CONSTRAINT_TYPE,WD.CONSTRAINT_DATE,WD.SHEET_SIZE
, WD.RESCHEDULE_REMAINING_DURATION
, WD.COMMITMENT_ID,CC.COMMITMENT_REF_NO,CC.COMMITMENT_DESCRIPTION
, WD.CALENDAR_ID
, CM.CALENDAR_NAME, WD.PROGRESS_TRACKING_TYPE, WD.EXPECTED_FINISH_DATE
, GT.LEVEL_0 AS LEVEL_1_0, GT.LEVEL_1 AS LEVEL_1_1, GT.LEVEL_2 AS LEVEL_1_2, GT.LEVEL_3 AS LEVEL_1_3, GT.LEVEL_4 AS LEVEL_1_4, GT.LEVEL_5 AS LEVEL_1_5, GT.LEVEL_6 AS LEVEL_1_6, GT.LEVEL_7 AS LEVEL_1_7, GD.LEVEL_0 AS LEVEL_0_0, GD.LEVEL_1 AS LEVEL_0_1, GD.LEVEL_2 AS LEVEL_0_2, GD.LEVEL_3 AS LEVEL_0_3, GD.LEVEL_4 AS LEVEL_0_4, GD.LEVEL_5 AS LEVEL_0_5, GD.LEVEL_6 AS LEVEL_0_6, GD.LEVEL_7 AS LEVEL_0_7, OA.LEVEL_0 AREA_LEVEL_0, OA.LEVEL_DESC_0 AREA_DESC_LEVEL_0, OA.LEVEL_1 AREA_LEVEL_1, OA.LEVEL_DESC_1 AREA_DESC_LEVEL_1, OA.LEVEL_2 AREA_LEVEL_2, OA.LEVEL_DESC_2 AREA_DESC_LEVEL_2, OA.LEVEL_3 AREA_LEVEL_3, OA.LEVEL_DESC_3 AREA_DESC_LEVEL_3, OA.LEVEL_4 AREA_LEVEL_4, OA.LEVEL_DESC_4 AREA_DESC_LEVEL_4, OS.LEVEL_0 SYSTEM_LEVEL_0, OS.LEVEL_DESC_0 SYSTEM_DESC_LEVEL_0
FROM WBS_DETAILS WD
LEFT JOIN @WBS_Rights T ON T.GENO_KEY=WD.GENO_KEY
outer apply ( select sum( CASE WHEN OBJECT_TYPE =0 THEN 1 ELSE 0 END) Doc_Count
, sum( CASE WHEN OBJECT_TYPE =1 THEN 1 ELSE 0 END) Task_Count
from wbs_objects o
where o.task_id = wd.task_id
and o.link_type=0
) obj
OUTER APPLY ( SELECT TOP 1 O.TASK_ID LINKED_PARENT_TASK_ID
FROM WBS_OBJECTS O
WHERE O.OBJECT_ID = WD.TASK_ID AND O.OBJECT_TYPE = 1
AND O.LINK_TYPE=0
) OBJ_L
LEFT JOIN WBS_DETAILS WDP ON WDP.TASK_ID = WD.PARENT_ID
OUTER APPLY (SELECT CASE WHEN WD.PROGRESS_VALUE_TYPE = 2 THEN CASE WHEN WD.EARNED_QUANTITY >CASE WHEN ISNULL(WD.FORECAST_QUANTITY,0) = 0 THEN ISNULL(WD.BUDGETED_QUANTITY,0) ELSE ISNULL(WD.FORECAST_QUANTITY,0) END THEN 0
ELSE
CASE WHEN ISNULL(WD.FORECAST_QUANTITY,0) <> 0 THEN WD.FORECAST_QUANTITY
ELSE ISNULL(WD.BUDGETED_QUANTITY ,0) END - ISNULL(WD.EARNED_QUANTITY,0) END ELSE NULL END AS REMAINING_QUANTITY) RQ
LEFT JOIN WF_TEAM_MST ON WD.WF_TEAM_ID = WF_TEAM_MST.WF_TEAM_ID
LEFT JOIN DOC_APR_REQ_CODES_MSTR ON DOC_APR_REQ_CODES_MSTR.APR_REQ_CODE = WD.APR_REQ_CODE
LEFT JOIN DOC_ORG_MSTR ON CASE DOC_ORG_MSTR.CODE WHEN 'C' THEN 0 WHEN 'V' THEN 1 WHEN 'I' THEN 3 WHEN 'O' THEN 2 END = WD.DOC_ORGIN_CODE
LEFT JOIN (ORDER_SYSTEM OS
INNER JOIN PART_GROUP_MSTR PGM ON OS.SYSTEM_CODE = PGM.GROUP_CODE
LEFT JOIN GENEALOGY GPG ON PGM.PART_GENO_KEY=GPG.GENO_KEY ) ON WD.SYSTEM_ID = OS.ORD_SYS_ID
LEFT JOIN GENEALOGY GT ON GT.GENO_KEY = WD.GENO_KEY
LEFT JOIN GENEALOGY GD ON GD.GENO_KEY = WD.DOC_GENO_KEY
LEFT JOIN GENEALOGY GP ON GP.GENO_KEY = WD.PART_GENO_KEY
LEFT JOIN CHKL_TRN_HDR CHM ON WD.CHECKLIST_ID=CHM.CHKL_TRN_ID
LEFT JOIN WBS_HEADER WH ON WH.WBS_ID = WD.WBS_ID LEFT JOIN ORDER_AREA OA ON OA.ORD_AREA_ID = WD.AREACODE_ID AND OA.ORDER_ID = WH.ORDER_ID
LEFT JOIN ORDER_MASTER OM ON OM.ORDER_ID = WH.ORDER_ID
LEFT JOIN ORIGIN ON ORIGIN.ORIGIN = WD.DOC_ORGIN_CODE AND ORIGIN.ORIGIN_CODE = WD.ORGIN_NAME_CODE
LEFT JOIN USER_MSTR UM ON WD.APPROVED_BY=UM.LOGIN_NAME
LEFT JOIN WBS_TASK_RULE_SET WTRS ON WD.TASK_ID = WTRS.TASK_ID AND WD.TASK_REVNO = WTRS.TASK_REV_NO
LEFT JOIN PART_MASTER PM ON PM.PART_ID = OS.PART_ID
LEFT JOIN CUSTOM_TASK_CHAR_DETAILS CUSTOM_OBJECT_CHAR_DETAILS ON CUSTOM_OBJECT_CHAR_DETAILS.OBJECT_TYPE=1 AND CUSTOM_OBJECT_CHAR_DETAILS.OBJECT_ID=WD.TASK_ID
LEFT JOIN ORDER_APP_STATUS_CODES OASC ON OASC.ORDER_ID = WH.ORDER_ID AND OASC.APP_STAT_CODE = WD.APP_STATUS_CODE
LEFT JOIN ORDER_INT_STATUS_CODES IASP ON IASP.ORDER_ID = WH.ORDER_ID AND IASP.INT_STATUS_CODE = WD.INT_STATUS_CODE
LEFT JOIN ORDER_RULE_SET_MSTR ORSM ON ORSM.RULE_SET_ID = WTRS.RULE_SET_ID
LEFT JOIN UOM_MSTR ON UOM_MSTR.UOM_CODE = WD.UOM
LEFT JOIN @Task_Checked_Out_Status CO_Status on CO_Status.task_id = wd.task_id
LEFT JOIN WF_RUN WR ON WR.OBJECT_ID = WD.TASK_ID AND WR.OBJECT_TYPE = 'TSK'
LEFT OUTER JOIN WF_RUN_STAGE_STATUS WFRSS ON WFRSS.RUN_ID = WR.RUN_ID AND WFRSS.STATUS = 0
LEFT JOIN WF_TEAM_STAGE_DET WTSD1 ON WR.WF_TEAM_ID= WTSD1.WF_TEAM_ID AND WFRSS.STAGE_ID=WTSD1.STAGE_ID
LEFT JOIN WF_RUN_ROUTING_HISTORY WRRH1 ON WRRH1.ROUTING_ID=WFRSS.ROUTING_ID AND WRRH1.RUN_ID=WFRSS.RUN_ID
LEFT JOIN USER_MSTR UM1 ON UM1.LOGIN_NAME=WRRH1.SENT_TO
LEFT JOIN WBS_TASK_RESOURCE_DUR WTRD ON WTRD.TASK_ID=WD.TASK_ID AND WTRD.TASK_REVNO=WD.TASK_REVNO
LEFT JOIN USER_MSTR UM3 ON UM3.LOGIN_NAME=WTRD.LOGIN_NAME
LEFT JOIN WBS_TASK_USERS WTU ON WTU.TASK_ID=WD.TASK_ID AND WTU.TASK_REVNO=WD.TASK_REVNO
LEFT JOIN USER_MSTR UM2 ON UM2.LOGIN_NAME=WTU.LOGIN_NAME
LEFT JOIN USER_MSTR UM4 ON UM4.LOGIN_NAME=WD.APPROVED_BY
LEFT JOIN WBS_TASK_EXTERNAL_LINKS WEL ON WEL.TASK_ID=WD.TASK_ID
LEFT JOIN CALENDAR_MASTER CM ON CM.CALENDAR_ID = WD.CALENDAR_ID
OUTER APPLY
(
SELECT COUNT(1) AS ATTACHMENTS FROM TASK_RELATED_FILES TRF WHERE TRF.TASK_ID=WD.TASK_ID
)TASK_ATTACHMENTS
OUTER APPLY
(
SELECT TOP 1 WTR1.COMPLETION_PERCENTAGE AS NEXT_RULE_PERCENTAGE,WTR1.RULE_ID FROM WBS_TASK_RULES WTR1 WHERE WTR1.COMPLETION_PERCENTAGE> WD.PERCENT_COMPLETED AND WTR1.TASK_ID = WD.TASK_ID ORDER BY WTR1.COMPLETION_PERCENTAGE ASC
)WTR
LEFT JOIN TSHT_ACTIVITY_MASTER TAM ON TAM.ACTIVITY_ID= WD.ACTIVITY_ID
LEFT JOIN TSHT_ACTIVITY_DETAILS TAD ON TAD.ACTIVITY_ID=TAM.ACTIVITY_ID AND TAD.SUB_ACTIVITY_ID=WD.SUB_ACTIVITY_ID
LEFT JOIN COST_COMMITMENT CC ON CC.COMMITMENT_ID = WD.COMMITMENT_ID
CROSS APPLY
(
SELECT CASE WHEN TASK_ATTACHMENTS.ATTACHMENTS > 0 THEN 1 ELSE 0 END AS TASK_ATTACHMENTS,
CASE WHEN WD.STATUS <>4
THEN
CASE WHEN ( WD.PERCENT_COMPLETED > 0 OR WD.FORECAST_PERCENT > 0 OR WD.PLANNED_PERCENT > 0)
THEN
(CASE WHEN WD.FORECAST_START_DATE IS NOT NULL
THEN
CASE WHEN WD.FORECAST_PERCENT > WD.PERCENT_COMPLETED THEN 1 ELSE 0 END
ELSE
CASE WHEN WD.PLANNED_PERCENT > WD.PERCENT_COMPLETED THEN 1 ELSE 0 END
END)
ELSE
(CASE WHEN ISNULL(WD.FORECAST_START_DATE,WD.PLAN_START_DATE) IS NOT NULL
THEN
CASE WHEN (WD.ACT_START_DATE IS NULL AND ISNULL(WD.FORECAST_START_DATE,WD.PLAN_START_DATE) < GETDATE()) OR
ISNULL(WD.FORECAST_START_DATE,WD.PLAN_START_DATE) < WD.ACT_START_DATE
THEN 1
ELSE 0
END
ELSE 0
END)
END
ELSE 0
END AS IS_DELAYED
)DCS
OUTER APPLY
(
SELECT DI.IDOC_ID, LCS_CODE DOC_LCS_CODE, CASE WHEN ISNULL(ORDER_LCS.STATUS_DESC,'')= '' THEN LIFECYCLE_STATUS_MASTER.STATUS_DESC
ELSE ORDER_LCS.STATUS_DESC
END AS DOC_LCS_DESC,
CASE ISNULL(DI.USER_REV_NO_VALUE,'')
WHEN '' THEN DI.REV_NO_VALUE
ELSE DI.USER_REV_NO_VALUE
END AS DOC_USER_REV_NO_VALUE,
CASE WHEN ISNULL(ORDER_APP_STATUS_CODES.DESCRIPTION,'')= ''
THEN APPROV_STAT_MSTR.DESCRIPTION
ELSE ORDER_APP_STATUS_CODES.DESCRIPTION
END DOC_APPR_STAT_DESC,
DI.APP_STAT_CODE AS DOC_APPR_STATUS_CODE,
CASE WHEN ISNULL(OM.ORDER_ID,-2)=-2
THEN CASE WHEN ISNULL(DM.CLIENT_CODE,'')='' THEN ''
ELSE DM.CLIENT_CODE
END
ELSE CASE WHEN ISNULL(ORDER_APP_STATUS_CODES.CLIENT_CODE,'')=''
THEN ''
ELSE ORDER_APP_STATUS_CODES.CLIENT_CODE
END END AS DOC_CLIENT_CODE,
PAC.PREV_CLIENT_CODE PREV_DOC_CLIENT_CODE,
PAC.PREV_DESCRIPTION PREV_DOC_APPR_STAT_DESC,
DI.PREV_APP_STAT_CODE PREV_DOC_APPR_STAT_CODE
FROM
WBS_OBJECTS WO
INNER JOIN DOC_INFO DI
ON WO.OBJECT_ID=DI.IDOC_ID AND WO.OBJECT_TYPE=0 AND WO.LINK_TYPE=0
LEFT JOIN ORDER_LCS ON ORDER_LCS.ORDER_ID=OM.ORDER_ID
AND DI.LCS_CODE= ORDER_LCS.STATUS_CODE
LEFT JOIN LIFECYCLE_STATUS_MASTER ON DI.LCS_CODE = LIFECYCLE_STATUS_MASTER.STATUS_CODE
LEFT JOIN ORDER_APP_STATUS_CODES ON DI.APP_STAT_CODE = ORDER_APP_STATUS_CODES.APP_STAT_CODE
and DI.ORDER_ID = ORDER_APP_STATUS_CODES.ORDER_ID
LEFT JOIN APPROV_STAT_MSTR ON DI.APP_STAT_CODE=APPROV_STAT_MSTR.APP_STAT_CODE
LEFT JOIN INT_STAT_MSTR on DI.INT_APPR_STATUS_CODE=INT_STAT_MSTR.INTR_STAT_CODE
LEFT JOIN ORDER_INT_STATUS_CODES ON ORDER_INT_STATUS_CODES.ORDER_ID=DI.ORDER_ID
AND ORDER_INT_STATUS_CODES.INT_STATUS_CODE=DI.INT_APPR_STATUS_CODE
LEFT JOIN DP_LEVEL_DOC_APPR_MAP DM ON DI.GENO_KEY = DM.GENO_KEY
and DM.APP_STAT_CODE = DI.APP_STAT_CODE
OUTER APPLY
(
SELECT ISNULL(POAS.DESCRIPTION, PASM.DESCRIPTION)PREV_DESCRIPTION,
CASE WHEN ISNULL(DI.ORDER_ID,-2)=-2 THEN (SELECT DM.CLIENT_CODE FROM DP_LEVEL_DOC_APPR_MAP DM WHERE DI.GENO_KEY = DM.GENO_KEY
AND DM.APP_STAT_CODE = DI.PREV_APP_STAT_CODE)
ELSE (SELECT CLIENT_CODE FROM ORDER_APP_STATUS_CODES IPOAS
WHERE DI.ORDER_ID = IPOAS.ORDER_ID AND DI.PREV_APP_STAT_CODE = IPOAS.APP_STAT_CODE)
END PREV_CLIENT_CODE
FROM APPROV_STAT_MSTR PASM
LEFT OUTER JOIN ORDER_APP_STATUS_CODES POAS ON POAS.APP_STAT_CODE =DI.PREV_APP_STAT_CODE
AND POAS.ORDER_ID=DI.ORDER_ID
WHERE PASM.APP_STAT_CODE =DI.PREV_APP_STAT_CODE
)PAC
WHERE
WO.TASK_ID=WD.TASK_ID AND
EXISTS
(
SELECT 1 FROM WBS_OBJECTS WHERE WD.TASK_ID=TASK_ID AND OBJECT_TYPE=0
AND LINK_TYPE=0
HAVING COUNT(OBJECT_ID)=1
)AND 1=0
)DP
CROSS APPLY
(
SELECT CONCAT(
ISNULL(CASE WHEN WD.TASK_LEVEL=25 THEN NULL ELSE WD.LEVEL_DESC_25 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=24 THEN NULL ELSE WD.LEVEL_DESC_24 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=23 THEN NULL ELSE WD.LEVEL_DESC_23 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=22 THEN NULL ELSE WD.LEVEL_DESC_22 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=21 THEN NULL ELSE WD.LEVEL_DESC_21 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=20 THEN NULL ELSE WD.LEVEL_DESC_20 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=19 THEN NULL ELSE WD.LEVEL_DESC_19 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=18 THEN NULL ELSE WD.LEVEL_DESC_18 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=17 THEN NULL ELSE WD.LEVEL_DESC_17 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=16 THEN NULL ELSE WD.LEVEL_DESC_16 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=15 THEN NULL ELSE WD.LEVEL_DESC_15 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=14 THEN NULL ELSE WD.LEVEL_DESC_14 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=13 THEN NULL ELSE WD.LEVEL_DESC_13 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=12 THEN NULL ELSE WD.LEVEL_DESC_12 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=11 THEN NULL ELSE WD.LEVEL_DESC_11 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=10 THEN NULL ELSE WD.LEVEL_DESC_10 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=9 THEN NULL ELSE WD.LEVEL_DESC_9 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=8 THEN NULL ELSE WD.LEVEL_DESC_8 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=7 THEN NULL ELSE WD.LEVEL_DESC_7 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=6 THEN NULL ELSE WD.LEVEL_DESC_6 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=5 THEN NULL ELSE WD.LEVEL_DESC_5 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=4 THEN NULL ELSE WD.LEVEL_DESC_4 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=3 THEN NULL ELSE WD.LEVEL_DESC_3 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=2 THEN NULL ELSE WD.LEVEL_DESC_2 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=1 THEN NULL ELSE WD.LEVEL_DESC_1 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=0 THEN NULL ELSE WD.LEVEL_DESC_0 END, ''))
AS WBS_LEVEL_STRING
) WLS
WHERE WD.WBS_ID = 10554077 AND WD.TASK_ID IN (SELECT TASK_ID FROM #TASK_LIST) ) A ) DIST_RECORDS
<$W>Execution Time: Milliseconds. (02:43:46.565 PM)
----------------------------------------------------------------------------------------------------------
<$W>ManageTask ADMIN 22-Apr-2026 2:46:23:3454 PM
<$W>SELECT CASE CAST(SUM(ISNULL(TP.CUST_WEIGHTAGE,1))AS DECIMAL(18,8))
WHEN 0
THEN 0
ELSE CAST(SUM(ISNULL(TP.PERCENT_COMPLETED,0)*ISNULL(TP.CUST_WEIGHTAGE,1))AS DECIMAL(18,8))/
SUM(CAST(ISNULL(TP.CUST_WEIGHTAGE,1) AS DECIMAL(18,8))) END PERCENTAGE
FROM WBS_DETAILS TP WITH(NOLOCK) WHERE TP.WBS_ID = 10554077
AND TP.TASK_LEVEL = 0
AND ISNULL(TP.CUST_WEIGHTAGE,0)<>0
<$W>Execution Time: Milliseconds. (02:46:23.079 PM)
----------------------------------------------------------------------------------------------------------
<$W>GetTaskList ADMIN 22-Apr-2026 2:46:27:1267 PM
<$W>DECLARE @WBS_Rights TABLE (GENO_KEY INT PRIMARY KEY,CAN_VIEW INT,CAN_EDIT INT)
INSERT INTO @WBS_Rights
SELECT DISTINCT
WD.GENO_KEY
, CASE WHEN ISNULL(SGU.CAN_VIEW,2)<2
THEN SGU.CAN_VIEW WHEN ISNULL(SGUG.CAN_VIEW,2)<2
THEN SGUG.CAN_VIEW
ELSE 0 END AS CAN_VIEW
, NULL CAN_EDIT
FROM ( SELECT DISTINCT GENO_KEY
FROM WBS_DETAILS WD1
WHERE WD1.WBS_ID= 10554077
)WD
LEFT JOIN SEC_GENEALOGY_USER SGU ON
WD.GENO_KEY = SGU.GENO_KEY
AND SGU.LOGIN_NAME = N'ADMIN'
AND SGU.OBJECT_TYPE =1
OUTER APPLY ( SELECT SGUG1.CAN_VIEW
FROM USERS_IN_GROUP UG
INNER JOIN SEC_GENEALOGY_USER_GRP SGUG1 ON UG.LOGIN_NAME=N'ADMIN'
AND SGUG1.OBJECT_TYPE =1
AND SGUG1.GENO_KEY = WD.GENO_KEY
AND SGUG1.CAN_VIEW = 1
AND SGUG1.USER_GROUP_ID = UG.GROUP_CODE
)SGUG;
DECLARE @TASK_CHECKED_OUT_STATUS TABLE (TASK_ID INT PRIMARY KEY,IS_CHECKED_OUT INT )
INSERT INTO @TASK_CHECKED_OUT_STATUS
SELECT DISTINCT TASK_ID , CO_STATUS.IS_CHECKED_OUT
FROM WBS_DETAILS WD
CROSS APPLY ( SELECT 1 IS_CHECKED_OUT
WHERE EXISTS( SELECT 1
FROM WBS_OBJECTS WO
INNER JOIN DOC_INFO DI ON WO.TASK_ID=WD.TASK_ID
AND DI.IDOC_ID = WO.OBJECT_ID
AND WO.OBJECT_TYPE=0
AND WO.LINK_TYPE=0
INNER JOIN FILE_INDEX FI ON DI.FILE_ID =FI.FILE_ID
AND FI.COUT_BY IS NOT NULL
)
) CO_STATUS
WHERE WD.WBS_ID = 10554077;;SELECT DISTINCT * FROM (SELECT CANT_VIEW_ALL_CHILD,SLNO,TASK_NAME,DOC_NO,FORECAST_START_DATE,FORECAST_FINISH_DATE,PLAN_START_DATE,PLAN_FINISH_DATE,APR_REQ_CODE,CONTRIBUTION_TOWARDS,CONTRIBUTION_TO_PROJECT,CONTRIBUTION_TO_PARENT,PLANNED_PERCENT,FORECAST_PERCENT,PERCENT_COMPLETED,CUST_WEIGHTAGE,PLANNING_MODE,EDIT_ACTUAL,ACT_START_DATE,ACT_FINISH_DATE,PROGRESS_TOWARDS,ACTUAL_DURATION,BUDGETED_DURATION,PROGRESS_VALUE_TYPE,SCHEDULE_VIOLATED,EARLY_START_DATE,EARLY_FINISH_DATE,EARLY_PERCENT,LATE_START_DATE,LATE_FINISH_DATE,LATE_PERCENT,WBS_LEVEL_STRING,STATUS,AREA_CODE,AREA_DESCRIPTION,TASK_ID,TASK_REVNO,ORDER_ID,WBS_ID,PARENT_ID,IS_CHECKEDOUT,GENO_KEY,DOC_GENO_KEY,PART_GENO_KEY,HAS_DOCUMENT,IS_DOCUMENTTASK,NEXT_MAND_DATE,CONSTRAINT_FINISH,CONSTRAINT_START,CAN_VIEW,IS_SUMMARY,TASK_LEVEL,WF_TEAM_ID,ROW_STATUS,CAN_EDIT,SYSTEM_ID,AREACODE_ID,RULE_SET_ID,HAS_LINKED_TASK FROM (SELECT
isnull(CO_Status.is_Checked_Out,0) IS_CHECKEDOUT
, WD.TASK_ID
, WD.WBS_ID
, WD.APR_REQ_CODE
, WD.REMARKS
, WD.TASK_REVNO
, WD.SLNO
, WD.PARENT_ID
, WD.TASK_NAME
, WD.STATUS
, WD.FORECAST_START_DATE
, WD.FORECAST_FINISH_DATE
, WD.CLIENT_REF,WD.PLAN_STATUS
, WD.ACT_START_DATE
, WD.ACT_FINISH_DATE
, WD.INTR_START_DATE
, WD.INTR_FINISH_DATE
, WD.PLAN_START_DATE
, WD.PLAN_FINISH_DATE
, WD.DOC_CREATED_ON
, WD.FORCAST_DATE
, WD.MEETING_DATE
, WD.PERCENT_COMPLETED
, WD.WF_TEAM_ID
, WD.PRIORITY
, WD.ACT_START_DATE_MANUAL
, WD.ACT_FINISH_DATE_MANUAL
, WD.STATUS_UPDATE_METHOD
, WD.IS_MILESTONE
, WD.IS_CUST_SCH
, WD.IS_EXPORTABLE
, WD.IS_DOCUMENTTASK
, WD.IS_SUMMARY
, 0 IS_CUST_FAIL
, WD.CUST_WEIGHTAGE
, WD.CONTRIBUTION_TO_PROJECT
, WD.BUDGETED_COST
, WD.KEY_TASK_ID
, WD.BASELINE_START_DATE
, CASE WD.IS_DOCUMENTTASK WHEN '0' THEN 'No' WHEN '1' THEN 'Yes' ELSE '' END DOC_TASK
, WD.BASELINE_FINISH_DATE
, WD.BASELINE_DURATION
, WD.CHECKLIST_ID
, WD.DOC_ORGIN_CODE
, WD.ORGIN_NAME_CODE
, WD.CONSTRAINT_START
, WD.CONSTRAINT_FINISH
, WD.CONSTRAINT_CREATED_BY
, ISNULL (WD.DOC_NO,'') AS DOC_NO
, ISNULL (WD.SHEET_NO,'') AS SHEET_NO
, ISNULL (WD.CLIENT_DOC_NO,'') AS CLIENT_DOC_NO
, ISNULL (WD.VENDOR_DOC_NO,'') AS VENDOR_DOC_NO
, WD.TASK_CHAR_GROUP_ID
, WD.SYSTEM_ID
, WD.APP_STATUS_CODE
, WD.EXTERNAL_APPLINK_ID
, WD.LAST_EDITED_BY
, WD.LAST_EDITED_ON
, WD.RECIVE_BACK_ON
, WD.APPROVED_BY
, WD.APPROVED_ON
, WD.CLOSED_BY
, WD.CLOSED_ON
, WD.REVISED_BY
, WD.REVISED_ON
, WD.TASK_LEVEL
, WD.TASK_CODE
, WD.GENO_KEY
, WD.WORK_PERCENT
, WD.PLANNED_PERCENT
, WD.FORECAST_PERCENT
, WD.ORGIN_NAME_CODE + '(' + ORIGIN.ORIGIN_NAME + ')' ORIGIN_NAME
, WD.APPROVED_BY+'('+UM.USER_NAME+')'[APPROVEDBY]
, UM.USER_NAME APPROVED_BY_USER_NAME
, CHM.DESCR as CHECK_LIST_DESC
, OS.SI_NO, OS.SYSTEM_CODE AS GROUP_CODE
, OS.UOM, OS.QTY
, PM.PART_NO
, PGM.GROUP_DESC
, OS.DESCRIPTION AS PART_DESCR
, GPG.GENEALOGY_STRING AS SYS_PART_GENEALOGY_STRING
, ISNULL(obj.doc_count,0) HAS_DOCUMENT
, WF_TEAM_MST.WF_TEAM_NAME
, DOC_APR_REQ_CODES_MSTR.APR_REQ_DESC
, DOC_ORG_MSTR.DESCR AS DOC_ORG_DESC
, OA.AREA_CODE
, OA.AREA_DESCRIPTION
, OS.SYSTEM_CODE
, OS.DESCRIPTION AS SYSTEM_DESCRIPTION
, WD.NEXT_MAND_DATE, 'O' AS ROW_STATUS
, ISNULL( obj.task_count,0) HAS_LINKED_TASK
, GT.GENEALOGY_STRING
, GD.GENEALOGY_STRING AS DOC_GENEALOGY_STRING
, GP.GENEALOGY_STRING AS PART_GENEALOGY_STRING
, WD.DOC_GENO_KEY, WTRS.RULE_SET_ID
, WD.PART_GENO_KEY
, WD.AREACODE_ID
, WD.PREDECESSORS
, WD.PRED_TASK_IDS
, WD.PRED_DETAILS
, T.CAN_VIEW,T.CAN_EDIT
, CASE WHEN WD.IS_SUMMARY = 0 THEN 0
ELSE
( CASE WHEN EXISTS (SELECT 1
FROM @WBS_Rights T2
INNER JOIN WBS_DETAILS WBS1 ON WBS1.GENO_KEY=T.GENO_KEY
WHERE WBS1.PARENT_ID=WD.TASK_ID
AND T2.CAN_VIEW=0) THEN 1 ELSE 0 END
)
END AS CANT_VIEW_ALL_CHILD
, CUSTOM_OBJECT_CHAR_DETAILS.*
, dbo.fnGetstageName(WD.TASK_ID) WORKFLOW_STAGE_DETAILS
, WD.LINK_DOC_NO ,WD.LINK_CLIENT_DOC_NO ,WD.LINK_VENDOR_DOC_NO , WD.TASK_RESOURCES
, CASE ISNULL(OASC.CLIENT_CODE,'')
WHEN '' THEN OASC.DESCRIPTION
ELSE OASC.CLIENT_CODE
END CLIENT_CODE
, ORSM.RULE_SET_NAME
, WD.WEIGHTAGE
, ISNULL(WD.CONTRIBUTION_TOWARDS,0) AS CONTRIBUTION_TOWARDS
, WD.PROGRESS_VALUE_TYPE
, WD.BUDGETED_QUANTITY
, WD.CONVERSION_FACTOR
, WD.AS_BUILT_QUANTITY
, WD.ALPHA_VALUE
, WD.BETA_VALUE
, WD.BETA_DISTRIBUTION_TYPE
, WD.BETA_INTERVAL
, WH.ORDER_ID
, UOM_MSTR.UOM TASK_UOM
, WR.STATUS AS HAS_ACTIVE_WF
, WD.TASK_ACCESS_RESOURCES
, WD.CAPTURE_WEIGHTAGE_AS
, WD.BUDGETED_DURATION
, WD.FORECAST_DURATION
, WD.FORECAST_COST
, WD.FORECAST_QUANTITY
, WD.ACTUAL_DURATION
, WD.ACTUAL_COST
, WD.ACTUAL_QUANTITY
, WD.PLANNING_MODE
, WD.EDIT_ACTUAL
, WD.SCHEDULE_VIOLATED
, WD.WBS_CODE
, WD.IGNORE_CHILD_SUMMARY_WEIGHTAGE
, WD.LEVEL_CODE_0, WD.LEVEL_CODE_1, WD.LEVEL_CODE_2, WD.LEVEL_CODE_3, WD.LEVEL_CODE_4
, WD.LEVEL_CODE_5, WD.LEVEL_CODE_6, WD.LEVEL_CODE_7, WD.LEVEL_CODE_8, WD.LEVEL_CODE_9
, WD.LEVEL_CODE_10, WD.LEVEL_CODE_11, WD.LEVEL_CODE_12, WD.LEVEL_CODE_13, WD.LEVEL_CODE_14
, WD.LEVEL_CODE_15, WD.LEVEL_CODE_16, WD.LEVEL_CODE_17, WD.LEVEL_CODE_18, WD.LEVEL_CODE_19
, WD.LEVEL_CODE_20, WD.LEVEL_CODE_21, WD.LEVEL_CODE_22, WD.LEVEL_CODE_23, WD.LEVEL_CODE_24
, WD.LEVEL_CODE_25
, WD.LEVEL_DESC_0, WD.LEVEL_DESC_1, WD.LEVEL_DESC_2, WD.LEVEL_DESC_3, WD.LEVEL_DESC_4
, WD.LEVEL_DESC_5, WD.LEVEL_DESC_6, WD.LEVEL_DESC_7, WD.LEVEL_DESC_8, WD.LEVEL_DESC_9
, WD.LEVEL_DESC_10, WD.LEVEL_DESC_11, WD.LEVEL_DESC_12, WD.LEVEL_DESC_13, WD.LEVEL_DESC_14
, WD.LEVEL_DESC_15, WD.LEVEL_DESC_16, WD.LEVEL_DESC_17, WD.LEVEL_DESC_18, WD.LEVEL_DESC_19
, WD.LEVEL_DESC_20, WD.LEVEL_DESC_21, WD.LEVEL_DESC_22, WD.LEVEL_DESC_23, WD.LEVEL_DESC_24
, WD.LEVEL_DESC_25
, WD.CONTRIBUTION_TO_PARENT
, CASE WHEN ISNULL(WD.PLANNING_MODE,0) = 0 AND WD.IS_SUMMARY = 1 THEN 'Auto' WHEN ISNULL(WD.PLANNING_MODE,0) = 1 AND WD.IS_SUMMARY = 1 THEN 'Manual' ELSE NULL END PLANNING_STR_MODE
, CASE WHEN (WDP.PLANNING_MODE = 1 AND WD.IS_SUMMARY = 0) THEN 'Actual' WHEN (ISNULL(WDP.PLANNING_MODE,0) = 0 AND WD.PLANNING_MODE = 1 AND WD.IS_SUMMARY = 1) THEN 'Plan' WHEN WD.IS_SUMMARY = 0 THEN 'Plan & Actual' ELSE NULL END PROGRESS_TOWARDS
, CASE WHEN (WD.PLANNING_MODE = 1 AND WD.IS_SUMMARY = 1) THEN 'Yes' WHEN WD.IS_SUMMARY = 0 THEN 'Yes' ELSE 'No' END PROGRESS_CONTRIBUTING_TASK
, WDP.WBS_CODE PARENT_WBS_CODE
, OM.DECIMAL_PRECISION
, REMAINING_QUANTITY
, (SELECT TOP 1 1 AS HAS_CHILD_TASK FROM WBS_DETAILS WD1 WHERE WD1.PARENT_ID = WD.TASK_ID AND WD1.IS_SUMMARY = 0) HAS_CHILD_TASK
, (SELECT TOP 1 1 AS HAS_CHILD_LEVEL FROM WBS_DETAILS WD1 WHERE WD1.PARENT_ID = WD.TASK_ID AND WD1.IS_SUMMARY = 1) HAS_CHILD_LEVEL
, WDP.TASK_NAME PARENT_WBS_DESCRIPTION
, WDP.TASK_NAME + ' -> ' + WD.TASK_NAME AS TASK_HIERARCHY_DESC
, WD.EARLY_START_DATE,WD.EARLY_FINISH_DATE,WD.EARLY_PERCENT,WD.LATE_START_DATE,WD.LATE_FINISH_DATE,WD.LATE_PERCENT
, DCS.TASK_ATTACHMENTS AS TASK_ATTACHMENTS,WLS.WBS_LEVEL_STRING
, WD.EARNED_QUANTITY,DP.IDOC_ID,DP.DOC_LCS_CODE,DP.DOC_LCS_DESC,DP.DOC_USER_REV_NO_VALUE,DP.DOC_APPR_STAT_DESC,DP.DOC_APPR_STATUS_CODE
, DP.DOC_CLIENT_CODE,DP.PREV_DOC_CLIENT_CODE,DP.PREV_DOC_APPR_STAT_DESC,DP.PREV_DOC_APPR_STAT_CODE
, ISNULL(WTR.NEXT_RULE_PERCENTAGE,100) NEXT_RULE_PERCENTAGE ,WTR.RULE_ID NEXT_RULE_ID
, WEL.EXT_LINK_ID,WEL.EXT_LINK_SUB_ID,WEL.EXT_LINK_TYPE,WEL.REF_OBJECT_ID,WEL.REF_OBJECT_TYPE
, WD.AUTO_SCHEDULE_ENABLED,OBJ_L.LINKED_PARENT_TASK_ID,WD.BOQ_ITEM_ID,WD.TOTAL_FLOAT
, WD.MSP_TASK_ID,WD.ACTIVITY_ID,WD.SUB_ACTIVITY_ID,TAM.ACTIVITY_DESCRIPTION,TAM.ACTIVITY_CODE,TAD.SUB_ACTIVITY_DESCRIPTION
, WD.ALT_TASK_ID, WD.CONSTRAINT_TYPE,WD.CONSTRAINT_DATE,WD.SHEET_SIZE
, WD.RESCHEDULE_REMAINING_DURATION
, WD.COMMITMENT_ID,CC.COMMITMENT_REF_NO,CC.COMMITMENT_DESCRIPTION
, WD.CALENDAR_ID
, CM.CALENDAR_NAME, WD.PROGRESS_TRACKING_TYPE, WD.EXPECTED_FINISH_DATE
, GT.LEVEL_0 AS LEVEL_1_0, GT.LEVEL_1 AS LEVEL_1_1, GT.LEVEL_2 AS LEVEL_1_2, GT.LEVEL_3 AS LEVEL_1_3, GT.LEVEL_4 AS LEVEL_1_4, GT.LEVEL_5 AS LEVEL_1_5, GT.LEVEL_6 AS LEVEL_1_6, GT.LEVEL_7 AS LEVEL_1_7, GD.LEVEL_0 AS LEVEL_0_0, GD.LEVEL_1 AS LEVEL_0_1, GD.LEVEL_2 AS LEVEL_0_2, GD.LEVEL_3 AS LEVEL_0_3, GD.LEVEL_4 AS LEVEL_0_4, GD.LEVEL_5 AS LEVEL_0_5, GD.LEVEL_6 AS LEVEL_0_6, GD.LEVEL_7 AS LEVEL_0_7, OA.LEVEL_0 AREA_LEVEL_0, OA.LEVEL_DESC_0 AREA_DESC_LEVEL_0, OA.LEVEL_1 AREA_LEVEL_1, OA.LEVEL_DESC_1 AREA_DESC_LEVEL_1, OA.LEVEL_2 AREA_LEVEL_2, OA.LEVEL_DESC_2 AREA_DESC_LEVEL_2, OA.LEVEL_3 AREA_LEVEL_3, OA.LEVEL_DESC_3 AREA_DESC_LEVEL_3, OA.LEVEL_4 AREA_LEVEL_4, OA.LEVEL_DESC_4 AREA_DESC_LEVEL_4, OS.LEVEL_0 SYSTEM_LEVEL_0, OS.LEVEL_DESC_0 SYSTEM_DESC_LEVEL_0
FROM WBS_DETAILS WD
LEFT JOIN @WBS_Rights T ON T.GENO_KEY=WD.GENO_KEY
outer apply ( select sum( CASE WHEN OBJECT_TYPE =0 THEN 1 ELSE 0 END) Doc_Count
, sum( CASE WHEN OBJECT_TYPE =1 THEN 1 ELSE 0 END) Task_Count
from wbs_objects o
where o.task_id = wd.task_id
and o.link_type=0
) obj
OUTER APPLY ( SELECT TOP 1 O.TASK_ID LINKED_PARENT_TASK_ID
FROM WBS_OBJECTS O
WHERE O.OBJECT_ID = WD.TASK_ID AND O.OBJECT_TYPE = 1
AND O.LINK_TYPE=0
) OBJ_L
LEFT JOIN WBS_DETAILS WDP ON WDP.TASK_ID = WD.PARENT_ID
OUTER APPLY (SELECT CASE WHEN WD.PROGRESS_VALUE_TYPE = 2 THEN CASE WHEN WD.EARNED_QUANTITY >CASE WHEN ISNULL(WD.FORECAST_QUANTITY,0) = 0 THEN ISNULL(WD.BUDGETED_QUANTITY,0) ELSE ISNULL(WD.FORECAST_QUANTITY,0) END THEN 0
ELSE
CASE WHEN ISNULL(WD.FORECAST_QUANTITY,0) <> 0 THEN WD.FORECAST_QUANTITY
ELSE ISNULL(WD.BUDGETED_QUANTITY ,0) END - ISNULL(WD.EARNED_QUANTITY,0) END ELSE NULL END AS REMAINING_QUANTITY) RQ
LEFT JOIN WF_TEAM_MST ON WD.WF_TEAM_ID = WF_TEAM_MST.WF_TEAM_ID
LEFT JOIN DOC_APR_REQ_CODES_MSTR ON DOC_APR_REQ_CODES_MSTR.APR_REQ_CODE = WD.APR_REQ_CODE
LEFT JOIN DOC_ORG_MSTR ON CASE DOC_ORG_MSTR.CODE WHEN 'C' THEN 0 WHEN 'V' THEN 1 WHEN 'I' THEN 3 WHEN 'O' THEN 2 END = WD.DOC_ORGIN_CODE
LEFT JOIN (ORDER_SYSTEM OS
INNER JOIN PART_GROUP_MSTR PGM ON OS.SYSTEM_CODE = PGM.GROUP_CODE
LEFT JOIN GENEALOGY GPG ON PGM.PART_GENO_KEY=GPG.GENO_KEY ) ON WD.SYSTEM_ID = OS.ORD_SYS_ID
LEFT JOIN GENEALOGY GT ON GT.GENO_KEY = WD.GENO_KEY
LEFT JOIN GENEALOGY GD ON GD.GENO_KEY = WD.DOC_GENO_KEY
LEFT JOIN GENEALOGY GP ON GP.GENO_KEY = WD.PART_GENO_KEY
LEFT JOIN CHKL_TRN_HDR CHM ON WD.CHECKLIST_ID=CHM.CHKL_TRN_ID
LEFT JOIN WBS_HEADER WH ON WH.WBS_ID = WD.WBS_ID LEFT JOIN ORDER_AREA OA ON OA.ORD_AREA_ID = WD.AREACODE_ID AND OA.ORDER_ID = WH.ORDER_ID
LEFT JOIN ORDER_MASTER OM ON OM.ORDER_ID = WH.ORDER_ID
LEFT JOIN ORIGIN ON ORIGIN.ORIGIN = WD.DOC_ORGIN_CODE AND ORIGIN.ORIGIN_CODE = WD.ORGIN_NAME_CODE
LEFT JOIN USER_MSTR UM ON WD.APPROVED_BY=UM.LOGIN_NAME
LEFT JOIN WBS_TASK_RULE_SET WTRS ON WD.TASK_ID = WTRS.TASK_ID AND WD.TASK_REVNO = WTRS.TASK_REV_NO
LEFT JOIN PART_MASTER PM ON PM.PART_ID = OS.PART_ID
LEFT JOIN CUSTOM_TASK_CHAR_DETAILS CUSTOM_OBJECT_CHAR_DETAILS ON CUSTOM_OBJECT_CHAR_DETAILS.OBJECT_TYPE=1 AND CUSTOM_OBJECT_CHAR_DETAILS.OBJECT_ID=WD.TASK_ID
LEFT JOIN ORDER_APP_STATUS_CODES OASC ON OASC.ORDER_ID = WH.ORDER_ID AND OASC.APP_STAT_CODE = WD.APP_STATUS_CODE
LEFT JOIN ORDER_INT_STATUS_CODES IASP ON IASP.ORDER_ID = WH.ORDER_ID AND IASP.INT_STATUS_CODE = WD.INT_STATUS_CODE
LEFT JOIN ORDER_RULE_SET_MSTR ORSM ON ORSM.RULE_SET_ID = WTRS.RULE_SET_ID
LEFT JOIN UOM_MSTR ON UOM_MSTR.UOM_CODE = WD.UOM
LEFT JOIN @Task_Checked_Out_Status CO_Status on CO_Status.task_id = wd.task_id
LEFT JOIN WF_RUN WR ON WR.OBJECT_ID = WD.TASK_ID AND WR.OBJECT_TYPE = 'TSK'
LEFT OUTER JOIN WF_RUN_STAGE_STATUS WFRSS ON WFRSS.RUN_ID = WR.RUN_ID AND WFRSS.STATUS = 0
LEFT JOIN WF_TEAM_STAGE_DET WTSD1 ON WR.WF_TEAM_ID= WTSD1.WF_TEAM_ID AND WFRSS.STAGE_ID=WTSD1.STAGE_ID
LEFT JOIN WF_RUN_ROUTING_HISTORY WRRH1 ON WRRH1.ROUTING_ID=WFRSS.ROUTING_ID AND WRRH1.RUN_ID=WFRSS.RUN_ID
LEFT JOIN USER_MSTR UM1 ON UM1.LOGIN_NAME=WRRH1.SENT_TO
LEFT JOIN WBS_TASK_RESOURCE_DUR WTRD ON WTRD.TASK_ID=WD.TASK_ID AND WTRD.TASK_REVNO=WD.TASK_REVNO
LEFT JOIN USER_MSTR UM3 ON UM3.LOGIN_NAME=WTRD.LOGIN_NAME
LEFT JOIN WBS_TASK_USERS WTU ON WTU.TASK_ID=WD.TASK_ID AND WTU.TASK_REVNO=WD.TASK_REVNO
LEFT JOIN USER_MSTR UM2 ON UM2.LOGIN_NAME=WTU.LOGIN_NAME
LEFT JOIN USER_MSTR UM4 ON UM4.LOGIN_NAME=WD.APPROVED_BY
LEFT JOIN WBS_TASK_EXTERNAL_LINKS WEL ON WEL.TASK_ID=WD.TASK_ID
LEFT JOIN CALENDAR_MASTER CM ON CM.CALENDAR_ID = WD.CALENDAR_ID
OUTER APPLY
(
SELECT COUNT(1) AS ATTACHMENTS FROM TASK_RELATED_FILES TRF WHERE TRF.TASK_ID=WD.TASK_ID
)TASK_ATTACHMENTS
OUTER APPLY
(
SELECT TOP 1 WTR1.COMPLETION_PERCENTAGE AS NEXT_RULE_PERCENTAGE,WTR1.RULE_ID FROM WBS_TASK_RULES WTR1 WHERE WTR1.COMPLETION_PERCENTAGE> WD.PERCENT_COMPLETED AND WTR1.TASK_ID = WD.TASK_ID ORDER BY WTR1.COMPLETION_PERCENTAGE ASC
)WTR
LEFT JOIN TSHT_ACTIVITY_MASTER TAM ON TAM.ACTIVITY_ID= WD.ACTIVITY_ID
LEFT JOIN TSHT_ACTIVITY_DETAILS TAD ON TAD.ACTIVITY_ID=TAM.ACTIVITY_ID AND TAD.SUB_ACTIVITY_ID=WD.SUB_ACTIVITY_ID
LEFT JOIN COST_COMMITMENT CC ON CC.COMMITMENT_ID = WD.COMMITMENT_ID
CROSS APPLY
(
SELECT CASE WHEN TASK_ATTACHMENTS.ATTACHMENTS > 0 THEN 1 ELSE 0 END AS TASK_ATTACHMENTS,
CASE WHEN WD.STATUS <>4
THEN
CASE WHEN ( WD.PERCENT_COMPLETED > 0 OR WD.FORECAST_PERCENT > 0 OR WD.PLANNED_PERCENT > 0)
THEN
(CASE WHEN WD.FORECAST_START_DATE IS NOT NULL
THEN
CASE WHEN WD.FORECAST_PERCENT > WD.PERCENT_COMPLETED THEN 1 ELSE 0 END
ELSE
CASE WHEN WD.PLANNED_PERCENT > WD.PERCENT_COMPLETED THEN 1 ELSE 0 END
END)
ELSE
(CASE WHEN ISNULL(WD.FORECAST_START_DATE,WD.PLAN_START_DATE) IS NOT NULL
THEN
CASE WHEN (WD.ACT_START_DATE IS NULL AND ISNULL(WD.FORECAST_START_DATE,WD.PLAN_START_DATE) < GETDATE()) OR
ISNULL(WD.FORECAST_START_DATE,WD.PLAN_START_DATE) < WD.ACT_START_DATE
THEN 1
ELSE 0
END
ELSE 0
END)
END
ELSE 0
END AS IS_DELAYED
)DCS
OUTER APPLY
(
SELECT DI.IDOC_ID, LCS_CODE DOC_LCS_CODE, CASE WHEN ISNULL(ORDER_LCS.STATUS_DESC,'')= '' THEN LIFECYCLE_STATUS_MASTER.STATUS_DESC
ELSE ORDER_LCS.STATUS_DESC
END AS DOC_LCS_DESC,
CASE ISNULL(DI.USER_REV_NO_VALUE,'')
WHEN '' THEN DI.REV_NO_VALUE
ELSE DI.USER_REV_NO_VALUE
END AS DOC_USER_REV_NO_VALUE,
CASE WHEN ISNULL(ORDER_APP_STATUS_CODES.DESCRIPTION,'')= ''
THEN APPROV_STAT_MSTR.DESCRIPTION
ELSE ORDER_APP_STATUS_CODES.DESCRIPTION
END DOC_APPR_STAT_DESC,
DI.APP_STAT_CODE AS DOC_APPR_STATUS_CODE,
CASE WHEN ISNULL(OM.ORDER_ID,-2)=-2
THEN CASE WHEN ISNULL(DM.CLIENT_CODE,'')='' THEN ''
ELSE DM.CLIENT_CODE
END
ELSE CASE WHEN ISNULL(ORDER_APP_STATUS_CODES.CLIENT_CODE,'')=''
THEN ''
ELSE ORDER_APP_STATUS_CODES.CLIENT_CODE
END END AS DOC_CLIENT_CODE,
PAC.PREV_CLIENT_CODE PREV_DOC_CLIENT_CODE,
PAC.PREV_DESCRIPTION PREV_DOC_APPR_STAT_DESC,
DI.PREV_APP_STAT_CODE PREV_DOC_APPR_STAT_CODE
FROM
WBS_OBJECTS WO
INNER JOIN DOC_INFO DI
ON WO.OBJECT_ID=DI.IDOC_ID AND WO.OBJECT_TYPE=0 AND WO.LINK_TYPE=0
LEFT JOIN ORDER_LCS ON ORDER_LCS.ORDER_ID=OM.ORDER_ID
AND DI.LCS_CODE= ORDER_LCS.STATUS_CODE
LEFT JOIN LIFECYCLE_STATUS_MASTER ON DI.LCS_CODE = LIFECYCLE_STATUS_MASTER.STATUS_CODE
LEFT JOIN ORDER_APP_STATUS_CODES ON DI.APP_STAT_CODE = ORDER_APP_STATUS_CODES.APP_STAT_CODE
and DI.ORDER_ID = ORDER_APP_STATUS_CODES.ORDER_ID
LEFT JOIN APPROV_STAT_MSTR ON DI.APP_STAT_CODE=APPROV_STAT_MSTR.APP_STAT_CODE
LEFT JOIN INT_STAT_MSTR on DI.INT_APPR_STATUS_CODE=INT_STAT_MSTR.INTR_STAT_CODE
LEFT JOIN ORDER_INT_STATUS_CODES ON ORDER_INT_STATUS_CODES.ORDER_ID=DI.ORDER_ID
AND ORDER_INT_STATUS_CODES.INT_STATUS_CODE=DI.INT_APPR_STATUS_CODE
LEFT JOIN DP_LEVEL_DOC_APPR_MAP DM ON DI.GENO_KEY = DM.GENO_KEY
and DM.APP_STAT_CODE = DI.APP_STAT_CODE
OUTER APPLY
(
SELECT ISNULL(POAS.DESCRIPTION, PASM.DESCRIPTION)PREV_DESCRIPTION,
CASE WHEN ISNULL(DI.ORDER_ID,-2)=-2 THEN (SELECT DM.CLIENT_CODE FROM DP_LEVEL_DOC_APPR_MAP DM WHERE DI.GENO_KEY = DM.GENO_KEY
AND DM.APP_STAT_CODE = DI.PREV_APP_STAT_CODE)
ELSE (SELECT CLIENT_CODE FROM ORDER_APP_STATUS_CODES IPOAS
WHERE DI.ORDER_ID = IPOAS.ORDER_ID AND DI.PREV_APP_STAT_CODE = IPOAS.APP_STAT_CODE)
END PREV_CLIENT_CODE
FROM APPROV_STAT_MSTR PASM
LEFT OUTER JOIN ORDER_APP_STATUS_CODES POAS ON POAS.APP_STAT_CODE =DI.PREV_APP_STAT_CODE
AND POAS.ORDER_ID=DI.ORDER_ID
WHERE PASM.APP_STAT_CODE =DI.PREV_APP_STAT_CODE
)PAC
WHERE
WO.TASK_ID=WD.TASK_ID AND
EXISTS
(
SELECT 1 FROM WBS_OBJECTS WHERE WD.TASK_ID=TASK_ID AND OBJECT_TYPE=0
AND LINK_TYPE=0
HAVING COUNT(OBJECT_ID)=1
)AND 1=0
)DP
CROSS APPLY
(
SELECT CONCAT(
ISNULL(CASE WHEN WD.TASK_LEVEL=25 THEN NULL ELSE WD.LEVEL_DESC_25 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=24 THEN NULL ELSE WD.LEVEL_DESC_24 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=23 THEN NULL ELSE WD.LEVEL_DESC_23 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=22 THEN NULL ELSE WD.LEVEL_DESC_22 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=21 THEN NULL ELSE WD.LEVEL_DESC_21 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=20 THEN NULL ELSE WD.LEVEL_DESC_20 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=19 THEN NULL ELSE WD.LEVEL_DESC_19 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=18 THEN NULL ELSE WD.LEVEL_DESC_18 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=17 THEN NULL ELSE WD.LEVEL_DESC_17 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=16 THEN NULL ELSE WD.LEVEL_DESC_16 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=15 THEN NULL ELSE WD.LEVEL_DESC_15 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=14 THEN NULL ELSE WD.LEVEL_DESC_14 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=13 THEN NULL ELSE WD.LEVEL_DESC_13 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=12 THEN NULL ELSE WD.LEVEL_DESC_12 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=11 THEN NULL ELSE WD.LEVEL_DESC_11 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=10 THEN NULL ELSE WD.LEVEL_DESC_10 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=9 THEN NULL ELSE WD.LEVEL_DESC_9 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=8 THEN NULL ELSE WD.LEVEL_DESC_8 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=7 THEN NULL ELSE WD.LEVEL_DESC_7 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=6 THEN NULL ELSE WD.LEVEL_DESC_6 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=5 THEN NULL ELSE WD.LEVEL_DESC_5 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=4 THEN NULL ELSE WD.LEVEL_DESC_4 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=3 THEN NULL ELSE WD.LEVEL_DESC_3 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=2 THEN NULL ELSE WD.LEVEL_DESC_2 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=1 THEN NULL ELSE WD.LEVEL_DESC_1 END + '-->', ''),
ISNULL(CASE WHEN WD.TASK_LEVEL=0 THEN NULL ELSE WD.LEVEL_DESC_0 END, ''))
AS WBS_LEVEL_STRING
) WLS
WHERE WD.WBS_ID = 10554077 AND WD.TASK_ID IN (SELECT TASK_ID FROM #TASK_LIST) ) A ) DIST_RECORDS
<$W>Execution Time: Milliseconds. (02:46:27.111 PM)
----------------------------------------------------------------------------------------------------------
<$W>ManageTask ADMIN 22-Apr-2026 2:51:31:4570 PM
<$W>SELECT CASE CAST(SUM(ISNULL(TP.CUST_WEIGHTAGE,1))AS DECIMAL(18,8))
WHEN 0
THEN 0
ELSE CAST(SUM(ISNULL(TP.PERCENT_COMPLETED,0)*ISNULL(TP.CUST_WEIGHTAGE,1))AS DECIMAL(18,8))/
SUM(CAST(ISNULL(TP.CUST_WEIGHTAGE,1) AS DECIMAL(18,8))) END PERCENTAGE
FROM WBS_DETAILS TP WITH(NOLOCK) WHERE TP.WBS_ID = 10554077
AND TP.TASK_LEVEL = 0
AND ISNULL(TP.CUST_WEIGHTAGE,0)<>0
<$W>Execution Time: Milliseconds. (02:51:31.347 PM)
----------------------------------------------------------------------------------------------------------