11 lines
		
	
	
		
			5.4 KiB
		
	
	
	
		
			JSON
		
	
	
	
	
	
			
		
		
	
	
			11 lines
		
	
	
		
			5.4 KiB
		
	
	
	
		
			JSON
		
	
	
	
	
	
| {
 | |
|     "header": {
 | |
|         "version": 1,
 | |
|         "type": "record"
 | |
|     },
 | |
|     "body": {
 | |
|         "record1": {
 | |
|             "<1>": "declare function msg, end_window, fieldcount\r\ndeclare subroutine rlist, record_lock, create_note\r\n\r\n$insert logical\r\n$insert rlist_equates\r\n$insert msg_equates\r\n$insert react_servs_equ\r\n$insert reactor_pm_equ\r\n\r\nCurrentSize = .gasbar->size\r\nNewSize = CurrentSize\r\nNewSize<3> = 0\r\n.gasbar->size = NewSize\r\n.gasbar->visible = 1\r\nopen 'REACTOR_PM' to RPMTable else\r\n   Void = msg( '', 'Unable to open REACTOR_PM table...' )\r\n   return 0\r\nend\r\nToday = date()\r\nAWeekAndADayFromNow = oconv( date()+8, 'D2/' )\r\nStatement = 'SELECT REACTOR_PM WITH COMPLETE_DATE = \"\" AND WITH NEXT_DONE < ':quote( AWeekAndADayFromNow )\r\nrlist( Statement, target_activelist$, '', '', '' )\r\n@rn.counter = 0\r\nEof = false$\r\nOnePercent = iconv( @reccount*.01, 'MD0' )\r\nMaintTechs = xlate( 'LISTBOX_CONFIG', 'MAINTTECH', 1, 'X' )\r\n\r\nopen 'CONFIG' to ConfigTable else\r\n   Void = msg( '', 'Unable to open CONFIG table...' )\r\n   return 0\r\nend\r\n\r\nrecord_lock( ConfigTable, 'REACTOR_TODO_LIST', 'REACTOR_TODO_LIST' )\r\nwrite '' on ConfigTable, 'REACTOR_TODO_LIST' else\r\n   Void = msg( '', 'Unable to write to CONFIG, REACTOR_TODO_LIST...' )\r\n   return 0\r\nend\r\n\r\nReactors     = ''\r\nServices     = ''\r\nServiceDates = ''\r\n\r\nloop\r\n   readnext Id else Eof = true$\r\nuntil Eof\r\n   read RPMRec from RPMTable, Id else\r\n      Void = msg( '', 'Unable to read ':Id:' from REACTOR_PM table.' )\r\n      return 0\r\n   end\r\n   NextDone = RPMRec<reactor_pm_next_done$>\r\n   begin case\r\n      case NextDone = Today\r\n         NoteText = \"This Reactor PM#\":Id:\" next service date is today \":oconv( Today, 'D2/' ):'...Please make sure this is in handled.'\r\n\t\t NoteSubject = 'Reactor PM#':Id:' next service TODAY Reminder'\r\n      case NextDone > Today\r\n         NoteText = \"This Reactor PM#\":Id:\" next service date is \":oconv( NextDone, 'D2/' ):'...Please make sure this is handled soon.'\r\n\t\t NoteSubject = 'Reactor PM#':Id:' next service Reminder'\r\n      case NextDone < Today\r\n         NoteText = \"This Reactor PM#\":Id:\" next service date was \":oconv( NextDone, 'D2/' ):'...Please make sure this is handled today.'\r\n\t\t NoteSubject = 'Reactor PM#':Id:' next service LATE Reminder'\r\n   end case\r\n   *create_note( MaintTechs:@vm:'CHRIS_L':@vm:'BRYCE_M', 'System', NoteSubject, NoteText, 'REACTOR_PM', Id )\t        \t   \r\n   * DO NOT SEND MESSAGES TO TECHS ANYMORE JUST LET THEM USE THE REACTOR TO-DO LIST\r\n   * MAYBE CLEAN UP THIS CODE LATER\r\n   CurReactor = RPMRec<reactor_pm_reactor$>\r\n   CurService = RPMRec<reactor_pm_react_serv_id$>\r\n   CurServDate = RPMRec<reactor_pm_next_done$>\r\n   locate CurReactor in Reactors by 'AR' using @fm setting RPos then\r\n      TheseServices = Services<RPos>\r\n      TheseServiceDates = ServiceDates<RPos>\r\n      locate CurServDate in TheseServiceDates by 'AR' using @vm setting SPos then\r\n         * ALWAYS GOING TO INSERT NO MATTER WHAT\r\n      end \r\n      TheseServiceDates = insert( TheseServiceDates, 1, SPos, 0, CurServDate )\r\n      TheseServices = insert( TheseServices, 1, SPos, 0, CurService )\r\n      Services<RPos> = TheseServices\r\n      ServiceDates<RPos> = TheseServiceDates\r\n   end else\r\n      Reactors = insert( Reactors, RPos, 0, 0, CurReactor )\r\n      Services = insert( Services, RPos, 0, 0, '' )\r\n      Services = insert( Services, RPos, 1, 0, CurService )\r\n      ServiceDates = insert( ServiceDates, RPos, 0, 0, '' )\r\n      ServiceDates = insert( ServiceDates, RPos, 1, 0, CurServDate )\r\n   end\r\n   if mod( @rn.counter, OnePercent ) else\r\n\t   NewWidth = CurrentSize<3> * @rn.counter/@reccount\r\n\t   .percent_complete->text = oconv(iconv( @rn.counter/@reccount*100, 'MD0' ), 'MD0' ):'%'\r\n\t   NewSize<3> = NewWidth\r\n\t   .gasbar->redraw = 0\r\n\t   .gasbar->size = NewSize\r\n\t   .gasbar->redraw = 1\r\n   end\r\nrepeat\r\nif @rn.counter > 0 and @reccount > 0 then\r\n\tNewWidth = CurrentSize<3> * @rn.counter/@reccount\r\n\t.percent_complete->text = oconv(iconv( @rn.counter/@reccount*100, 'MD0' ), 'MD0' ):'%'\r\n\tNewSize<3> = NewWidth\r\n\t.gasbar->redraw = 0\r\n\t.gasbar->size = NewSize\r\n\t.gasbar->redraw = 1\r\nend\r\n* NOW WRITE OUT THE\r\nMyTvar = 'Reactor Services as of '\r\nMyTvar:= oconv( date(), 'D4/' ):' @ ':oconv( time(), 'MTHS' ):'...'\r\n\r\nReactorToDoList = '1: R# ':fmt('Due Date', 'C#12' ):' ':fmt('SID', 'L#4' ):' ':fmt( MyTvar, 'C#75' )\r\nRcnt = fieldcount( Reactors, @fm )\r\nfor i = 1 to Rcnt\r\n   *\r\n   ReactorToDoList<-1> = '1: ':fmt( Reactors<i>, 'C#3' )\r\n   TServs = Services<i>\r\n   TSDates = ServiceDates<i>\r\n   SCnt = fieldcount( TServs, @vm )\r\n   ReactorToDoList<-1> = '2-2: ':str('-', 98 )\r\n   for j = 1 to SCnt\r\n      ReactorToDoList<-1> = '2-2: ':fmt( quote( oconv( TSDates<1,j>, 'D4/' ) ),'C#14' ):' ':fmt( TServs<1,j>, 'C#4' ):' ':fmt( xlate( 'REACT_SERVS', TServs<1,j>, REACT_SERVS_DESCRIPTION$, 'X' ), 'L#75' )\r\n   next j\r\n   ReactorToDoList<-1> = '2-2: ':str('-', 98 )\r\nnext i\r\nwrite ReactorToDoList on ConfigTable, 'REACTOR_TODO_LIST' else\r\n   Void = msg( '', 'Unable to write to CONFIG, REACTOR_TODO_LIST...' )\r\n   return 0\r\nend\r\nunlock ConfigTable, 'REACTOR_TODO_LIST' else\r\n   Void = msg( '', 'Unable to unlock CONFIG REACTOR_TODO_LIST...' )\r\n   return 0\r\nend\r\nreturn 1"
 | |
|         }
 | |
|     }
 | |
| } |