Closed joofsh closed 7 years ago
Well there's a lot going on here. From Jed, I haven't read through yet:
The program loops through all the entries and Updates the Team, Room number, and user and date last updated. You’ll need to add the room number to you screen.
do until cnt > totalrows
ls_mem = dw_1.GetItemString(cnt, "board_member")
setnull(ls_team)
SELECT STITLE into :ls_team from STAFF where SATTYID = :ls_mem;
dw_1.SetItem(cnt, "team", ls_team)
dw_1.SetItem(cnt, "room", ls_index)
dw_1.SetItem(cnt, "mduser", upper(sqlca.logid))
dw_1.SetItem(cnt, "mdtime", gd_sysdate)
cnt ++
loop
If the AOD is granted the a ‘B’ diary gets generated, if the VSO is ‘G’ (Paralyzed Vets of America) then a second ‘B1’ diary gets generated.
if ls_aod = 'G' then
f_diary_add_vd(ls_folder, 'B', '', 'AOD granted on Record during hearing.', 0)
if ls_bfso = 'G' then // PVA
f_diary_add_vd(ls_folder, 'B1', '', 'AOD granted on Record during hearing.', 0)
end if
end if
If Hold Days > 0 then add 5 days to the selected value (30 +5, 60 +5, 90 +5) and create an ‘A’ diary
if li_days > 0 then
li_days = li_days + 5
f_diary_add_vd(ls_folder, 'A', '', 'Record held open by VLJ at hearing for additonal evidence.', li_days)
end if
The BRIEFF.BFHA column gets updated based on the type of hearing and disposition of hearing.
if gs_vdtype = 'VIDEO' then
ls_hrtype = '6'
else
ls_hrtype = '2'
end if
if not isnull(ls_disp) then
if ls_disp = 'H' then
ls_bfha = ls_hrtype
elseif ls_disp = 'P' then
setnull(ls_bfha)
else
ls_bfha = '5'
end if
end if
UPDATE BRIEFF set BFHA = :ls_bfha where BFKEY = :ls_folder;
COMMIT;
f_diary_add_vd function
Values passed to function in_folder, in_code, in_assignee, in_desc, in_days
datetime ld_due, ld_issdcls
integer n, acnt, dcnt, li_days
string ls_days, ls_tskrqact, ls_assignee
Check to see if diary already exists
Select count(*) into :acnt from ASSIGN where tsktknm = :in_folder and tskactcd = :in_code;
if acnt > 0 then
return 0
end if
Generate unique primary key
FOR n = 1 TO 99
gs_tasknum = trim(in_folder) + 'D' + string(n)
Select count(*) into :dcnt from ASSIGN where TASKNUM = :gs_tasknum;
if dcnt = 0 then Exit
NEXT
setnull(ls_tskrqact)
setnull(ls_assignee)
Get default days and assignee, use these if not passed to function
Select ACTCDTC, ACSPARE1 into :ls_days, :ls_assignee from ACTCODE where ACTCKEY = :in_code;
if len(trim(in_desc)) > 0 then ls_tskrqact = in_desc
if len(trim(in_assignee)) > 0 then ls_assignee = in_assignee
if in_days > 0 then
li_days = in_days
else
li_days = integer(ls_days)
end if
ld_due = datetime(relativedate(date(gd_sysdate), li_days))
INSERT into ASSIGN (tasknum, tsktknm, tskdassn, tskstown,
tskactcd, tskstfas, tskdtc, tskddue, tskstat, tskrqact, tskadusr, tskadtm)
values (:gs_tasknum, :in_folder, :gd_sysdate, upper(:sqlca.logid),
:in_code, :ls_assignee, :li_days, :ld_due, 'P', :ls_tskrqact, upper(:sqlca.logid), :gd_sysdate);
COMMIT;
From Chris:
notes = `HEARSCHED.NOTES1` (note this has a 100 character max)
disposition = `HEARSCHED.HEARING_DISP` (`H` is held, `C` is canceled, `P` is postponed, and `N` is no-show)
hold open = `HEARSCHED.HOLDAYS` (I'm going to check on this one and make sure that VACOLS doesn't also open a diary, VACOLS currently uses null instead of 0 for those not held open)
aod = `HEARSCHED.AOD` (null if false, `Y` if true)
transcript requested = `HEARSCHED.TRANREQ` (null if false, `Y` if true) (edit
Updated the description to reference the five child issues.
PASSED I guess all the other tickets passed? or something... not sure why the UI is here
Save daily docket information back to VACOLS hearsched table
the UI for context:
This is the parent issue for each of the following five issues: