[2025-11-15 12:52:25] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-26626.xml
[2025-11-15 12:52:25] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-26626.xml for user: 68d56363ec1209189
[2025-11-15 12:52:25] [INFO] File size: 1412 bytes
[2025-11-15 12:52:25] [INFO] Created FTPFiles record with ID: 6918778920f212eaf
[2025-11-15 12:52:25] [INFO] WE ARE HERE {"mappings":{"IncidentNumber":"dispatchRunNumber","house_number":"incidentLocationStreetNumber","street":"streetName","apt":"incidentLocationApt","city":"incidentLocationCity","location_name":"businessName","STATE":"incidentLocationStateName","ZIPCODE":"nERISIncidentPostalCode","LATITUDE":"nERISIncidentLatitude","LONGITUDE":"nERISIncidentLongitude","incident_type":"incidentTypeValue1","commentlist.comment":["dispatchNotes","cADLog"],"time_first_unit_assigned":["alarm","dispatched"],"time_first_unit_arrived":"onScene","time_last_unit_cleared":["cleared","inService"],"Units.Unit[0].radio_name":["cADVehicleID","name"],"Units.Unit[0].time_enroute":"timeenroutetoscene","Units.Unit[0].time_arrivedatscene":"timeonscene","Units.Unit[0].time_depart_scene":"timeunitclear","Units.Unit[0].time_assigned":"timedispatch"},"selectedRecord":{"id":"68eeb2639352dd41d","name":null},"fieldExamples":{"IncidentNumber":{"name":"IncidentNumber","value":"25-23514","type":"text"},"house_number":{"name":"house_number","value":"515","type":"number"},"street":{"name":"street","value":"LINDENWOOD AVE","type":"address"},"apt":{"name":"apt","value":"Array","type":"text"},"city":{"name":"city","value":"Array","type":"address"},"location_name":{"name":"location_name","value":"Array","type":"text"},"STATE":{"name":"STATE","value":"Array","type":"address"},"ZIPCODE":{"name":"ZIPCODE","value":"Array","type":"address"},"LATITUDE":{"name":"LATITUDE","value":"0","type":"coordinate"},"LONGITUDE":{"name":"LONGITUDE","value":"0","type":"coordinate"},"incident_type":{"name":"incident_type","value":"FIRE-GAS LEAK","type":"text"},"commentlist.comment":{"name":"comment","value":"10-14-2025 15:05:06|B45 ADVISED HE WOULD NOTIFY GAS CO 10-14-2025 15:05:23|B46 NOTHING SHOWING 10-14-2025 15:08:22|B46 ADVISED NO SMELL OF GAS HOWEVER ALARMS GOING OFF 10-14-2025 15:13:38|B46 CLEARED ","type":"text"},"time_first_unit_assigned":{"name":"time_first_unit_assigned","value":"10-14-2025T15:04:42","type":"datetime"},"time_first_unit_arrived":{"name":"time_first_unit_arrived","value":"10-14-2025T15:07:19","type":"datetime"},"time_last_unit_cleared":{"name":"time_last_unit_cleared","value":"10-14-2025T15:27:23","type":"datetime"},"Units.Unit[0].radio_name":{"name":"radio_name","value":"ENG2","type":"text"},"Units.Unit[0].time_enroute":{"name":"time_enroute","value":"10-14-2025T15:04:46","type":"datetime"},"Units.Unit[0].time_arrivedatscene":{"name":"time_arrivedatscene","value":"10-14-2025T15:08:38","type":"datetime"},"Units.Unit[0].time_depart_scene":{"name":"time_depart_scene","value":"10-14-2025T15:27:23","type":"datetime"},"Units.Unit[0].time_assigned":{"name":"time_assigned","value":"10-14-2025T15:04:42","type":"datetime"}},"timestamp":"2025-10-16T18:16:37.381Z"}
[2025-11-15 12:52:25] [INFO] About to extract fields from XML. File size: 1412 bytes
[2025-11-15 12:52:25] [INFO] Number of mappings: 20
[2025-11-15 12:52:25] [INFO] Starting XML parsing. Content length: 1412
[2025-11-15 12:52:25] [INFO] XML parsed successfully. Root element: Incident
[2025-11-15 12:52:25] [INFO] Processing 20 field mappings
[2025-11-15 12:52:25] [INFO] Mapping #1: Extracting 'IncidentNumber' => 'dispatchRunNumber'
[2025-11-15 12:52:25] [INFO]   -> Found value: 25-26626
[2025-11-15 12:52:25] [INFO]   -> Set field 'dispatchRunNumber' = "25-26626"
[2025-11-15 12:52:25] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2025-11-15 12:52:25] [INFO]   -> Found value: 2200
[2025-11-15 12:52:25] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2200
[2025-11-15 12:52:25] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2025-11-15 12:52:25] [INFO]   -> Found value: MAIN ST
[2025-11-15 12:52:25] [INFO]   -> Set field 'streetName' = "MAIN ST"
[2025-11-15 12:52:25] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2025-11-15 12:52:25] [INFO]   -> No value found (null or empty)
[2025-11-15 12:52:25] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2025-11-15 12:52:25] [INFO]   -> Found value: SCOTT CITY
[2025-11-15 12:52:25] [INFO]   -> Set field 'incidentLocationCity' = "SCOTT CITY"
[2025-11-15 12:52:25] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2025-11-15 12:52:25] [INFO]   -> No value found (null or empty)
[2025-11-15 12:52:25] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2025-11-15 12:52:25] [INFO]   -> No value found (null or empty)
[2025-11-15 12:52:25] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2025-11-15 12:52:25] [INFO]   -> No value found (null or empty)
[2025-11-15 12:52:25] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2025-11-15 12:52:25] [INFO]   -> Found value: 0
[2025-11-15 12:52:25] [INFO]   -> Set field 'nERISIncidentLatitude' = null
[2025-11-15 12:52:25] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2025-11-15 12:52:25] [INFO]   -> Found value: 0
[2025-11-15 12:52:25] [INFO]   -> Set field 'nERISIncidentLongitude' = null
[2025-11-15 12:52:25] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2025-11-15 12:52:25] [INFO]   -> Found value: PAPER SERVICE-MISC.
[2025-11-15 12:52:25] [INFO]   -> Set field 'incidentTypeValue1' = "PAPER SERVICE-MISC."
[2025-11-15 12:52:25] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2025-11-15 12:52:25] [INFO]   -> Found value: 11-15-2025 06:46:04|PAPER SERVICE  11-15-2025 06:46:49|CORRECTION 3411 11-15-2025 06:52:11|DISREGARD...
[2025-11-15 12:52:25] [INFO]   -> Set field 'dispatchNotes' = "11-15-2025 06:46:04|PAPER SERVICE  11-15-2025 06:46:49|CORRECTION 3411 11-15-2025 06:52:11|DISREGARD SIK STILL PAGE"
[2025-11-15 12:52:25] [INFO]   -> Set field 'cADLog' = "11-15-2025 06:46:04|PAPER SERVICE  11-15-2025 06:46:49|CORRECTION 3411 11-15-2025 06:52:11|DISREGARD SIK STILL PAGE"
[2025-11-15 12:52:25] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2025-11-15 12:52:25] [INFO]   -> Found value: 11-15-2025T06:46:12
[2025-11-15 12:52:25] [ERROR] Error formatting datetime '11-15-2025T06:46:12': Failed to parse time string (11-15-2025T06:46:12) at position 0 (1): Unexpected character
[2025-11-15 12:52:25] [INFO]   -> Set field 'alarm' = null
[2025-11-15 12:52:25] [ERROR] Error formatting datetime '11-15-2025T06:46:12': Failed to parse time string (11-15-2025T06:46:12) at position 0 (1): Unexpected character
[2025-11-15 12:52:25] [INFO]   -> Set field 'dispatched' = null
[2025-11-15 12:52:25] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2025-11-15 12:52:25] [INFO]   -> Found value: 11-15-2025T06:46:12
[2025-11-15 12:52:25] [ERROR] Error formatting datetime '11-15-2025T06:46:12': Failed to parse time string (11-15-2025T06:46:12) at position 0 (1): Unexpected character
[2025-11-15 12:52:25] [INFO]   -> Set field 'onScene' = null
[2025-11-15 12:52:25] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2025-11-15 12:52:25] [INFO]   -> Found value: 11-15-2025T06:52:15
[2025-11-15 12:52:25] [ERROR] Error formatting datetime '11-15-2025T06:52:15': Failed to parse time string (11-15-2025T06:52:15) at position 0 (1): Unexpected character
[2025-11-15 12:52:25] [INFO]   -> Set field 'cleared' = null
[2025-11-15 12:52:25] [ERROR] Error formatting datetime '11-15-2025T06:52:15': Failed to parse time string (11-15-2025T06:52:15) at position 0 (1): Unexpected character
[2025-11-15 12:52:25] [INFO]   -> Set field 'inService' = null
[2025-11-15 12:52:25] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2025-11-15 12:52:25] [INFO]   -> Found value: SIK STILL
[2025-11-15 12:52:25] [INFO]   -> Set field 'cADVehicleID' = "SIK STILL"
[2025-11-15 12:52:25] [INFO]   -> Set field 'name' = "SIK STILL"
[2025-11-15 12:52:25] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2025-11-15 12:52:25] [INFO]   -> No value found (null or empty)
[2025-11-15 12:52:25] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2025-11-15 12:52:25] [INFO]   -> No value found (null or empty)
[2025-11-15 12:52:25] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2025-11-15 12:52:25] [INFO]   -> Found value: 11-15-2025T06:51:07
[2025-11-15 12:52:25] [ERROR] Error formatting datetime '11-15-2025T06:51:07': Failed to parse time string (11-15-2025T06:51:07) at position 0 (1): Unexpected character
[2025-11-15 12:52:25] [INFO]   -> Set field 'timeunitclear' = null
[2025-11-15 12:52:25] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2025-11-15 12:52:25] [INFO]   -> Found value: 11-15-2025T06:50:53
[2025-11-15 12:52:25] [ERROR] Error formatting datetime '11-15-2025T06:50:53': Failed to parse time string (11-15-2025T06:50:53) at position 0 (1): Unexpected character
[2025-11-15 12:52:25] [INFO]   -> Set field 'timedispatch' = null
[2025-11-15 12:52:25] [INFO] Finished extracting fields. Total fields extracted: 18
[2025-11-15 12:52:25] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"25-26626","incidentLocationStreetNumber":2200,"streetName":"MAIN ST","incidentLocationCity":"SCOTT CITY","nERISIncidentLatitude":null,"nERISIncidentLongitude":null,"incidentTypeValue1":"PAPER SERVICE-MISC.","dispatchNotes":"11-15-2025 06:46:04|PAPER SERVICE  11-15-2025 06:46:49|CORRECTION 3411 11-15-2025 06:52:11|DISREGARD SIK STILL PAGE","cADLog":"11-15-2025 06:46:04|PAPER SERVICE  11-15-2025 06:46:49|CORRECTION 3411 11-15-2025 06:52:11|DISREGARD SIK STILL PAGE","alarm":null,"dispatched":null,"onScene":null,"cleared":null,"inService":null,"cADVehicleID":"SIK STILL","name":"SIK STILL","timeunitclear":null,"timedispatch":null}
[2025-11-15 12:52:25] [INFO] Number of extracted fields: 18
[2025-11-15 12:52:25] [INFO] Created new IncidentTypeMapping Data: {"cADIncidentType":"PAPER SERVICE-MISC.","saasclientId":"6772cab7157b2ebde","name":"PAPER SERVICE-MISC."}
[2025-11-15 12:52:25] [INFO] Created new IncidentTypeMapping with ID: 691877893e3db1d4d
[2025-11-15 12:52:26] [INFO] Created Dispatches record with ID: 691877894e1498ca0
[2025-11-15 12:52:26] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-26626.xml
[2025-11-15 12:52:26] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-26626.xml
[2025-11-15 13:45:07] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-26627.xml
[2025-11-15 13:45:07] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-26627.xml for user: 68d56363ec1209189
[2025-11-15 13:45:07] [INFO] File size: 1670 bytes
[2025-11-15 13:45:08] [INFO] Created FTPFiles record with ID: 691883e4031f76b6d
[2025-11-15 13:45:08] [INFO] WE ARE HERE {"mappings":{"IncidentNumber":"dispatchRunNumber","house_number":"incidentLocationStreetNumber","street":"streetName","apt":"incidentLocationApt","city":"incidentLocationCity","location_name":"businessName","STATE":"incidentLocationStateName","ZIPCODE":"nERISIncidentPostalCode","LATITUDE":"nERISIncidentLatitude","LONGITUDE":"nERISIncidentLongitude","incident_type":"incidentTypeValue1","commentlist.comment":["dispatchNotes","cADLog"],"time_first_unit_assigned":["alarm","dispatched"],"time_first_unit_arrived":"onScene","time_last_unit_cleared":["cleared","inService"],"Units.Unit[0].radio_name":["cADVehicleID","name"],"Units.Unit[0].time_enroute":"timeenroutetoscene","Units.Unit[0].time_arrivedatscene":"timeonscene","Units.Unit[0].time_depart_scene":"timeunitclear","Units.Unit[0].time_assigned":"timedispatch"},"selectedRecord":{"id":"68eeb2639352dd41d","name":null},"fieldExamples":{"IncidentNumber":{"name":"IncidentNumber","value":"25-23514","type":"text"},"house_number":{"name":"house_number","value":"515","type":"number"},"street":{"name":"street","value":"LINDENWOOD AVE","type":"address"},"apt":{"name":"apt","value":"Array","type":"text"},"city":{"name":"city","value":"Array","type":"address"},"location_name":{"name":"location_name","value":"Array","type":"text"},"STATE":{"name":"STATE","value":"Array","type":"address"},"ZIPCODE":{"name":"ZIPCODE","value":"Array","type":"address"},"LATITUDE":{"name":"LATITUDE","value":"0","type":"coordinate"},"LONGITUDE":{"name":"LONGITUDE","value":"0","type":"coordinate"},"incident_type":{"name":"incident_type","value":"FIRE-GAS LEAK","type":"text"},"commentlist.comment":{"name":"comment","value":"10-14-2025 15:05:06|B45 ADVISED HE WOULD NOTIFY GAS CO 10-14-2025 15:05:23|B46 NOTHING SHOWING 10-14-2025 15:08:22|B46 ADVISED NO SMELL OF GAS HOWEVER ALARMS GOING OFF 10-14-2025 15:13:38|B46 CLEARED ","type":"text"},"time_first_unit_assigned":{"name":"time_first_unit_assigned","value":"10-14-2025T15:04:42","type":"datetime"},"time_first_unit_arrived":{"name":"time_first_unit_arrived","value":"10-14-2025T15:07:19","type":"datetime"},"time_last_unit_cleared":{"name":"time_last_unit_cleared","value":"10-14-2025T15:27:23","type":"datetime"},"Units.Unit[0].radio_name":{"name":"radio_name","value":"ENG2","type":"text"},"Units.Unit[0].time_enroute":{"name":"time_enroute","value":"10-14-2025T15:04:46","type":"datetime"},"Units.Unit[0].time_arrivedatscene":{"name":"time_arrivedatscene","value":"10-14-2025T15:08:38","type":"datetime"},"Units.Unit[0].time_depart_scene":{"name":"time_depart_scene","value":"10-14-2025T15:27:23","type":"datetime"},"Units.Unit[0].time_assigned":{"name":"time_assigned","value":"10-14-2025T15:04:42","type":"datetime"}},"timestamp":"2025-10-16T18:16:37.381Z"}
[2025-11-15 13:45:08] [INFO] About to extract fields from XML. File size: 1670 bytes
[2025-11-15 13:45:08] [INFO] Number of mappings: 20
[2025-11-15 13:45:08] [INFO] Starting XML parsing. Content length: 1670
[2025-11-15 13:45:08] [INFO] XML parsed successfully. Root element: Incident
[2025-11-15 13:45:08] [INFO] Processing 20 field mappings
[2025-11-15 13:45:08] [INFO] Mapping #1: Extracting 'IncidentNumber' => 'dispatchRunNumber'
[2025-11-15 13:45:08] [INFO]   -> Found value: 25-26627
[2025-11-15 13:45:08] [INFO]   -> Set field 'dispatchRunNumber' = "25-26627"
[2025-11-15 13:45:08] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2025-11-15 13:45:08] [INFO]   -> Found value: 1551
[2025-11-15 13:45:08] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1551
[2025-11-15 13:45:08] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2025-11-15 13:45:08] [INFO]   -> Found value: W WAKEFIELD AVE
[2025-11-15 13:45:08] [INFO]   -> Set field 'streetName' = "W WAKEFIELD AVE"
[2025-11-15 13:45:08] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2025-11-15 13:45:08] [INFO]   -> No value found (null or empty)
[2025-11-15 13:45:08] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2025-11-15 13:45:08] [INFO]   -> Found value: SIKESTON
[2025-11-15 13:45:08] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2025-11-15 13:45:08] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2025-11-15 13:45:08] [INFO]   -> Found value: SIKESTON POWER PLANT
[2025-11-15 13:45:08] [INFO]   -> Set field 'businessName' = "SIKESTON POWER PLANT"
[2025-11-15 13:45:08] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2025-11-15 13:45:08] [INFO]   -> Found value: MO
[2025-11-15 13:45:08] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2025-11-15 13:45:08] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2025-11-15 13:45:08] [INFO]   -> Found value: 63801
[2025-11-15 13:45:08] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63801
[2025-11-15 13:45:08] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2025-11-15 13:45:08] [INFO]   -> Found value: 0
[2025-11-15 13:45:08] [INFO]   -> Set field 'nERISIncidentLatitude' = null
[2025-11-15 13:45:08] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2025-11-15 13:45:08] [INFO]   -> Found value: 0
[2025-11-15 13:45:08] [INFO]   -> Set field 'nERISIncidentLongitude' = null
[2025-11-15 13:45:08] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2025-11-15 13:45:08] [INFO]   -> Found value: FIRE-COAL TRAIN STANDBY
[2025-11-15 13:45:08] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE-COAL TRAIN STANDBY"
[2025-11-15 13:45:08] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2025-11-15 13:45:08] [INFO]   -> Found value: 11-15-2025 06:49:35|COAL TRAIN ARRIVING FROM THE NORTH
[2025-11-15 13:45:08] [INFO]   -> Set field 'dispatchNotes' = "11-15-2025 06:49:35|COAL TRAIN ARRIVING FROM THE NORTH"
[2025-11-15 13:45:08] [INFO]   -> Set field 'cADLog' = "11-15-2025 06:49:35|COAL TRAIN ARRIVING FROM THE NORTH"
[2025-11-15 13:45:08] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2025-11-15 13:45:08] [INFO]   -> Found value: 11-15-2025T06:51:19
[2025-11-15 13:45:08] [ERROR] Error formatting datetime '11-15-2025T06:51:19': Failed to parse time string (11-15-2025T06:51:19) at position 0 (1): Unexpected character
[2025-11-15 13:45:08] [INFO]   -> Set field 'alarm' = null
[2025-11-15 13:45:08] [ERROR] Error formatting datetime '11-15-2025T06:51:19': Failed to parse time string (11-15-2025T06:51:19) at position 0 (1): Unexpected character
[2025-11-15 13:45:08] [INFO]   -> Set field 'dispatched' = null
[2025-11-15 13:45:08] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2025-11-15 13:45:08] [INFO]   -> Found value: 11-15-2025T07:19:06
[2025-11-15 13:45:08] [ERROR] Error formatting datetime '11-15-2025T07:19:06': Failed to parse time string (11-15-2025T07:19:06) at position 0 (1): Unexpected character
[2025-11-15 13:45:08] [INFO]   -> Set field 'onScene' = null
[2025-11-15 13:45:08] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2025-11-15 13:45:08] [INFO]   -> Found value: 11-15-2025T07:43:47
[2025-11-15 13:45:08] [ERROR] Error formatting datetime '11-15-2025T07:43:47': Failed to parse time string (11-15-2025T07:43:47) at position 0 (1): Unexpected character
[2025-11-15 13:45:08] [INFO]   -> Set field 'cleared' = null
[2025-11-15 13:45:08] [ERROR] Error formatting datetime '11-15-2025T07:43:47': Failed to parse time string (11-15-2025T07:43:47) at position 0 (1): Unexpected character
[2025-11-15 13:45:08] [INFO]   -> Set field 'inService' = null
[2025-11-15 13:45:08] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2025-11-15 13:45:08] [INFO]   -> Found value: SIK STILL
[2025-11-15 13:45:08] [INFO]   -> Set field 'cADVehicleID' = "SIK STILL"
[2025-11-15 13:45:08] [INFO]   -> Set field 'name' = "SIK STILL"
[2025-11-15 13:45:08] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2025-11-15 13:45:08] [INFO]   -> No value found (null or empty)
[2025-11-15 13:45:08] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2025-11-15 13:45:08] [INFO]   -> No value found (null or empty)
[2025-11-15 13:45:08] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2025-11-15 13:45:08] [INFO]   -> Found value: 11-15-2025T07:43:47
[2025-11-15 13:45:08] [ERROR] Error formatting datetime '11-15-2025T07:43:47': Failed to parse time string (11-15-2025T07:43:47) at position 0 (1): Unexpected character
[2025-11-15 13:45:08] [INFO]   -> Set field 'timeunitclear' = null
[2025-11-15 13:45:08] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2025-11-15 13:45:08] [INFO]   -> Found value: 11-15-2025T06:51:19
[2025-11-15 13:45:08] [ERROR] Error formatting datetime '11-15-2025T06:51:19': Failed to parse time string (11-15-2025T06:51:19) at position 0 (1): Unexpected character
[2025-11-15 13:45:08] [INFO]   -> Set field 'timedispatch' = null
[2025-11-15 13:45:08] [INFO] Finished extracting fields. Total fields extracted: 21
[2025-11-15 13:45:08] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"25-26627","incidentLocationStreetNumber":1551,"streetName":"W WAKEFIELD AVE","incidentLocationCity":"SIKESTON","businessName":"SIKESTON POWER PLANT","incidentLocationStateName":"MO","nERISIncidentPostalCode":63801,"nERISIncidentLatitude":null,"nERISIncidentLongitude":null,"incidentTypeValue1":"FIRE-COAL TRAIN STANDBY","dispatchNotes":"11-15-2025 06:49:35|COAL TRAIN ARRIVING FROM THE NORTH","cADLog":"11-15-2025 06:49:35|COAL TRAIN ARRIVING FROM THE NORTH","alarm":null,"dispatched":null,"onScene":null,"cleared":null,"inService":null,"cADVehicleID":"SIK STILL","name":"SIK STILL","timeunitclear":null,"timedispatch":null}
[2025-11-15 13:45:08] [INFO] Number of extracted fields: 21
[2025-11-15 13:45:08] [INFO] Found existing IncidentTypeMapping with ID: 68e4158e8608a02f9
[2025-11-15 13:45:08] [INFO] Created Dispatches record with ID: 691883e41d90b353e
[2025-11-15 13:45:08] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-26627.xml
[2025-11-15 13:45:08] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-26627.xml
[2025-11-15 16:31:08] [ERROR] No file path provided.
[2025-11-15 20:16:35] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-26652.xml
[2025-11-15 20:16:35] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-26652.xml for user: 68d56363ec1209189
[2025-11-15 20:16:35] [INFO] File size: 1712 bytes
[2025-11-15 20:16:35] [INFO] Created FTPFiles record with ID: 6918dfa3820c5db5b
[2025-11-15 20:16:35] [INFO] WE ARE HERE {"mappings":{"IncidentNumber":"dispatchRunNumber","house_number":"incidentLocationStreetNumber","street":"streetName","apt":"incidentLocationApt","city":"incidentLocationCity","location_name":"businessName","STATE":"incidentLocationStateName","ZIPCODE":"nERISIncidentPostalCode","LATITUDE":"nERISIncidentLatitude","LONGITUDE":"nERISIncidentLongitude","incident_type":"incidentTypeValue1","commentlist.comment":["dispatchNotes","cADLog"],"time_first_unit_assigned":["alarm","dispatched"],"time_first_unit_arrived":"onScene","time_last_unit_cleared":["cleared","inService"],"Units.Unit[0].radio_name":["cADVehicleID","name"],"Units.Unit[0].time_enroute":"timeenroutetoscene","Units.Unit[0].time_arrivedatscene":"timeonscene","Units.Unit[0].time_depart_scene":"timeunitclear","Units.Unit[0].time_assigned":"timedispatch"},"selectedRecord":{"id":"68eeb2639352dd41d","name":null},"fieldExamples":{"IncidentNumber":{"name":"IncidentNumber","value":"25-23514","type":"text"},"house_number":{"name":"house_number","value":"515","type":"number"},"street":{"name":"street","value":"LINDENWOOD AVE","type":"address"},"apt":{"name":"apt","value":"Array","type":"text"},"city":{"name":"city","value":"Array","type":"address"},"location_name":{"name":"location_name","value":"Array","type":"text"},"STATE":{"name":"STATE","value":"Array","type":"address"},"ZIPCODE":{"name":"ZIPCODE","value":"Array","type":"address"},"LATITUDE":{"name":"LATITUDE","value":"0","type":"coordinate"},"LONGITUDE":{"name":"LONGITUDE","value":"0","type":"coordinate"},"incident_type":{"name":"incident_type","value":"FIRE-GAS LEAK","type":"text"},"commentlist.comment":{"name":"comment","value":"10-14-2025 15:05:06|B45 ADVISED HE WOULD NOTIFY GAS CO 10-14-2025 15:05:23|B46 NOTHING SHOWING 10-14-2025 15:08:22|B46 ADVISED NO SMELL OF GAS HOWEVER ALARMS GOING OFF 10-14-2025 15:13:38|B46 CLEARED ","type":"text"},"time_first_unit_assigned":{"name":"time_first_unit_assigned","value":"10-14-2025T15:04:42","type":"datetime"},"time_first_unit_arrived":{"name":"time_first_unit_arrived","value":"10-14-2025T15:07:19","type":"datetime"},"time_last_unit_cleared":{"name":"time_last_unit_cleared","value":"10-14-2025T15:27:23","type":"datetime"},"Units.Unit[0].radio_name":{"name":"radio_name","value":"ENG2","type":"text"},"Units.Unit[0].time_enroute":{"name":"time_enroute","value":"10-14-2025T15:04:46","type":"datetime"},"Units.Unit[0].time_arrivedatscene":{"name":"time_arrivedatscene","value":"10-14-2025T15:08:38","type":"datetime"},"Units.Unit[0].time_depart_scene":{"name":"time_depart_scene","value":"10-14-2025T15:27:23","type":"datetime"},"Units.Unit[0].time_assigned":{"name":"time_assigned","value":"10-14-2025T15:04:42","type":"datetime"}},"timestamp":"2025-10-16T18:16:37.381Z"}
[2025-11-15 20:16:35] [INFO] About to extract fields from XML. File size: 1712 bytes
[2025-11-15 20:16:35] [INFO] Number of mappings: 20
[2025-11-15 20:16:35] [INFO] Starting XML parsing. Content length: 1712
[2025-11-15 20:16:35] [INFO] XML parsed successfully. Root element: Incident
[2025-11-15 20:16:35] [INFO] Processing 20 field mappings
[2025-11-15 20:16:35] [INFO] Mapping #1: Extracting 'IncidentNumber' => 'dispatchRunNumber'
[2025-11-15 20:16:35] [INFO]   -> Found value: 25-26652
[2025-11-15 20:16:35] [INFO]   -> Set field 'dispatchRunNumber' = "25-26652"
[2025-11-15 20:16:35] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2025-11-15 20:16:35] [INFO]   -> No value found (null or empty)
[2025-11-15 20:16:35] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2025-11-15 20:16:35] [INFO]   -> Found value: S MAIN ST
[2025-11-15 20:16:35] [INFO]   -> Set field 'streetName' = "S MAIN ST"
[2025-11-15 20:16:35] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2025-11-15 20:16:35] [INFO]   -> No value found (null or empty)
[2025-11-15 20:16:35] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2025-11-15 20:16:35] [INFO]   -> Found value: SIKESTON
[2025-11-15 20:16:35] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2025-11-15 20:16:35] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2025-11-15 20:16:35] [INFO]   -> No value found (null or empty)
[2025-11-15 20:16:35] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2025-11-15 20:16:35] [INFO]   -> No value found (null or empty)
[2025-11-15 20:16:35] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2025-11-15 20:16:35] [INFO]   -> No value found (null or empty)
[2025-11-15 20:16:35] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2025-11-15 20:16:35] [INFO]   -> Found value: 0
[2025-11-15 20:16:35] [INFO]   -> Set field 'nERISIncidentLatitude' = null
[2025-11-15 20:16:35] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2025-11-15 20:16:35] [INFO]   -> Found value: 0
[2025-11-15 20:16:35] [INFO]   -> Set field 'nERISIncidentLongitude' = null
[2025-11-15 20:16:35] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2025-11-15 20:16:35] [INFO]   -> Found value: ACCIDENT-J2
[2025-11-15 20:16:35] [INFO]   -> Set field 'incidentTypeValue1' = "ACCIDENT-J2"
[2025-11-15 20:16:35] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2025-11-15 20:16:35] [INFO]   -> Found value: 11-15-2025 13:43:28|TWO VEHICLES
SEVERAL INJURIES 11-15-2025 13:44:57|NMCO NOTIFIED 11-15-2025 13:46...
[2025-11-15 20:16:35] [INFO]   -> Set field 'dispatchNotes' = "11-15-2025 13:43:28|TWO VEHICLES\nSEVERAL INJURIES 11-15-2025 13:44:57|NMCO NOTIFIED 11-15-2025 13:46:10|DELAYED BY TRAIN"
[2025-11-15 20:16:35] [INFO]   -> Set field 'cADLog' = "11-15-2025 13:43:28|TWO VEHICLES\nSEVERAL INJURIES 11-15-2025 13:44:57|NMCO NOTIFIED 11-15-2025 13:46:10|DELAYED BY TRAIN"
[2025-11-15 20:16:35] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2025-11-15 20:16:35] [INFO]   -> Found value: 11-15-2025T13:43:52
[2025-11-15 20:16:35] [ERROR] Error formatting datetime '11-15-2025T13:43:52': Failed to parse time string (11-15-2025T13:43:52) at position 0 (1): Unexpected character
[2025-11-15 20:16:35] [INFO]   -> Set field 'alarm' = null
[2025-11-15 20:16:35] [ERROR] Error formatting datetime '11-15-2025T13:43:52': Failed to parse time string (11-15-2025T13:43:52) at position 0 (1): Unexpected character
[2025-11-15 20:16:35] [INFO]   -> Set field 'dispatched' = null
[2025-11-15 20:16:35] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2025-11-15 20:16:35] [INFO]   -> Found value: 11-15-2025T13:46:58
[2025-11-15 20:16:35] [ERROR] Error formatting datetime '11-15-2025T13:46:58': Failed to parse time string (11-15-2025T13:46:58) at position 0 (1): Unexpected character
[2025-11-15 20:16:35] [INFO]   -> Set field 'onScene' = null
[2025-11-15 20:16:35] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2025-11-15 20:16:35] [INFO]   -> No value found (null or empty)
[2025-11-15 20:16:35] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2025-11-15 20:16:35] [INFO]   -> Found value: ENG2
[2025-11-15 20:16:35] [INFO]   -> Set field 'cADVehicleID' = "ENG2"
[2025-11-15 20:16:35] [INFO]   -> Set field 'name' = "ENG2"
[2025-11-15 20:16:35] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2025-11-15 20:16:35] [INFO]   -> Found value: 11-15-2025T13:44:56
[2025-11-15 20:16:35] [ERROR] Error formatting datetime '11-15-2025T13:44:56': Failed to parse time string (11-15-2025T13:44:56) at position 0 (1): Unexpected character
[2025-11-15 20:16:35] [INFO]   -> Set field 'timeenroutetoscene' = null
[2025-11-15 20:16:35] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2025-11-15 20:16:35] [INFO]   -> Found value: 11-15-2025T13:49:36
[2025-11-15 20:16:35] [ERROR] Error formatting datetime '11-15-2025T13:49:36': Failed to parse time string (11-15-2025T13:49:36) at position 0 (1): Unexpected character
[2025-11-15 20:16:35] [INFO]   -> Set field 'timeonscene' = null
[2025-11-15 20:16:35] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2025-11-15 20:16:35] [INFO]   -> Found value: 11-15-2025T14:16:13
[2025-11-15 20:16:35] [ERROR] Error formatting datetime '11-15-2025T14:16:13': Failed to parse time string (11-15-2025T14:16:13) at position 0 (1): Unexpected character
[2025-11-15 20:16:35] [INFO]   -> Set field 'timeunitclear' = null
[2025-11-15 20:16:35] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2025-11-15 20:16:35] [INFO]   -> Found value: 11-15-2025T13:44:54
[2025-11-15 20:16:35] [ERROR] Error formatting datetime '11-15-2025T13:44:54': Failed to parse time string (11-15-2025T13:44:54) at position 0 (1): Unexpected character
[2025-11-15 20:16:35] [INFO]   -> Set field 'timedispatch' = null
[2025-11-15 20:16:35] [INFO] Finished extracting fields. Total fields extracted: 17
[2025-11-15 20:16:35] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"25-26652","streetName":"S MAIN ST","incidentLocationCity":"SIKESTON","nERISIncidentLatitude":null,"nERISIncidentLongitude":null,"incidentTypeValue1":"ACCIDENT-J2","dispatchNotes":"11-15-2025 13:43:28|TWO VEHICLES\nSEVERAL INJURIES 11-15-2025 13:44:57|NMCO NOTIFIED 11-15-2025 13:46:10|DELAYED BY TRAIN","cADLog":"11-15-2025 13:43:28|TWO VEHICLES\nSEVERAL INJURIES 11-15-2025 13:44:57|NMCO NOTIFIED 11-15-2025 13:46:10|DELAYED BY TRAIN","alarm":null,"dispatched":null,"onScene":null,"cADVehicleID":"ENG2","name":"ENG2","timeenroutetoscene":null,"timeonscene":null,"timeunitclear":null,"timedispatch":null}
[2025-11-15 20:16:35] [INFO] Number of extracted fields: 17
[2025-11-15 20:16:35] [INFO] Found existing IncidentTypeMapping with ID: 68e4158e87be42b7c
[2025-11-15 20:16:36] [INFO] Created Dispatches record with ID: 6918dfa3a091af072
[2025-11-15 20:16:36] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-26652.xml
[2025-11-15 20:16:36] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-26652.xml
