Merged PR 21598: Refactored receive and release codebase.

Refactored receive and release codebase.

bug fixes and performance improvements

modified WO_REC form to use the same receive and same release dtm for all cassettes released in a given batch

Related work items: #259878
This commit is contained in:
Stieber Daniel (CSC FI SPS MESLEO)
2025-07-23 15:40:25 +00:00
parent 84da66ccd5
commit de2e6af5f7
26 changed files with 53999 additions and 14791 deletions

View File

@ -268,7 +268,7 @@ return
WRITE_RECORD_PRE:
WOMatKeyID = Name
WOMatKeyID = Name
CriticalFields = WO_MAT_RDS_NO$:@VM:WO_MAT_LOT_NO$:@VM:WO_MAT_WAFER_QTY$:@VM:WO_MAT_CUST_PART_NO$:@VM
CriticalFields := WO_MAT_SUB_PART_NO$:@VM:WO_MAT_INV_ACTION$:@VM:WO_MAT_SLOT_NO$:@VM:WO_MAT_RX_DTM$:@VM
@ -600,8 +600,8 @@ WRITE_RECORD_PRE:
Case Otherwise$
Null
End Case
end
end
return
@ -611,6 +611,20 @@ WRITE_RECORD:
CassNo = Field(Name, '*', 2)
WOMatKeyID = Name
OrigWfrQty = OrigRecord<WO_MAT_WAFER_QTY$>
NewWfrQty = Record<WO_MAT_WAFER_QTY$>
OrigRelDtm = OrigRecord<WO_MAT_REL_DTM$>
NewRelDtm = Record<WO_MAT_REL_DTM$>
OrigRecDtm = OrigRecord<WO_MAT_RX_DTM$>
NewRecDtm = Record<WO_MAT_RX_DTM$>
If ( ( (OrigWfrQty NE '' ) and (OrigWfrQty NE NewWfrQty) ) or ( (OrigRecDtm EQ '') and (NewRecDtm NE '') ) ) then
Service_Services('PostProcedure', 'WORK_ORDER_SERVICES', 'UpdateReceivedQty':SD$:WONo)
end
If ( ( (OrigWfrQty NE '') and (OrigWfrQty NE NewWfrQty) ) or ( (OrigRelDtm EQ '') and (NewRelDtm NE '') ) ) then
Service_Services('PostProcedure', 'WORK_ORDER_SERVICES', 'UpdateReleasedQty':SD$:WONo)
end
If {REACTOR_TYPE} NE 'EPP' then
If {MAKEUP_BOX} then
CurrWaferCount = obj_WO_Mat('CurrWaferCnt', WOMatKeyID)
@ -850,11 +864,6 @@ WRITE_RECORD:
end
end
If OrigRecord<WO_MAT_WAFER_QTY$> NE Record<WO_MAT_WAFER_QTY$> then
Work_Order_Services('UpdateReceivedQty', WONo)
Work_Order_Services('UpdateReleasedQty', WONo)
end
CurrWaferCount = obj_WO_Mat('CurrWaferCnt', WOMatKeyID)
If CurrWaferCount EQ 0 then
// This should catch cases where the entire cassette is "peeled off", NCR'ed, or used for destructive testing.