Table of Contents

PM of Poles Guideline

Author: Yanjun Wang

ExteNet requested a Planned Maintenance process for their poles in CA which is different from their normal PM process. The information of these poles will be collected by their contractors and recorded in spreadsheets. We have developed an Import Tool mainly used for loading the pole info from spreadsheets and create tickets for poles in Ticketer (the pole info will be recorded in the forms of tickets). The infractions of each pole which collected in that spreadsheet will be recorded in forms as well.


Data Model

Data Model for PM of Poles

Data Model for PM of Poles Ticket (PPM)


Planned Maintenance Process Workflow

After loading data from spreadsheets using the Import Tool, PPM tickets should be created for each pole row, the workflow they use will be Planned Maintenance of Poles workflow.

During the loading process, the PPM tickets are created for each valid poles and the initial state for them will be PM of Pole Required. Then they will be moved to next stage PM of Pole Completed (No Infraction) or PM of Pole Completed (Infraction) depending on if that pole has infractions (if it has, infractions forms will be added to related PPM ticket). In the same time, if PPM tickets do have Infraction Form added, a groovlet named Create PPI Tickets from Pole Infraction Forms will be run to create PPI tickets for each Infraction Forms on that PPM ticket. At the finial stage of the loading process, all the PPM tickets will be moved to PM of Pole Closed status.

The workflow PPI ticket used is Infraction Investigation workflow.

The PPI tickets will be initially at Investigation Required for Infraction status and will be manually moved through the workflow by customers.


Forms Added to Tickets

PPM ticket

PPI ticket


Reports in Reporting Manager


Email Template

Infraction Contractor Dispatch Email Infraction Carrier Notification


The Import Tool for Loading Poles

The Import Tool can be found at: PM of Poles Import Tool

The Import Tool is used for loading poles from the spreadsheet. Each row in the spreadsheet will be regarded as one pole and each valid pole will have a PPM ticket created for recording its related information with a Pole Inspection Form. What's more, if infraction columns are filled, Infraction Forms will be added on the PPM ticket and a PPI ticket should be created for each Infarction Form by groovlet.


How to Use the Import Tool

  1. Confirm ftp is working on target server (currently setting on qaextapps1 and extapps1)
  2. Confirm Ticketer is running on the target server
  3. Check for the loading folder, there should be one spreadsheet and four subfolders in that folder
    • Make sure that one spreadsheet.xlsx, four subfolders: Additional, Infraction, PDF and Pole are at the same level
    • Make sure the spreadsheet is a .xlsx file
  4. Download the Tool and config file at Google Drive: PM of Poles → Builds, use the latest version
    • cd PoleImport-2.x.tar
    • config_x.txt (config_qa.txt is used for loading data into EXT QA and config_production.txt is used for production)
  5. Using Loading Tool to load spreadsheets
    • Decompress PoleImport-2.x.tar
    • PoleImport-2.x/bin
    • ./PoleImport path_of_config.txt path_of_spreadsheet.xlsx
    • Check for printed info, make sure the config is correct, enter y/n
    • Waiting for import process complete and make sure all the logs are print as excepted (no failures, exceptions etc.)
    • Make sure attachments are sent to target server: /home/scotty/appfiles/ticketer/uploadable_files/UploadedFromClient/ticket (check for one or two tickets)
  6. Make sure all the tickets created are correct (check for one or two tickets)
  7. Make sure the summary report is exported as excepted (there should be two TABs: Exception Report and Summary Report)
  8. Inform ExteNet (details in Support Process section)

Support Process

  1. Receive data loading request email from ExteNet(mainly Keith)
  2. Download zip files (which contain spreadsheets and attachments) from OneDrive: GO95 Transfer (link provided by ExteNet)
  3. Using Import Tool to loading data from spreadsheet and attachments to Ticketer
  4. Make sure all the tickets created are correct (check for one or two tickets)
  5. Make sure the summary report is exported as excepted (there should be two TABs: Exception Report and Summary Report)
  6. Upload summary report generated by Import Tool to GO95 Transfer/Errigal - Load Summary Delivered/production_summary xxxxxxxx (may need to create a new folder)
  7. Track the date of uploading in GO95 Transfer/GO95 PRODUCTION LOADs and QC Tracker (may use a different file name)
  8. Reply customer the loading work for what zips has been done on QA/Production through email

Gotchas

  1. Check the format of the spreadsheet, it should be .xlsx
  2. The hessian URL used for call RemoteTicketService, for QA should be http… for Production should be https

Trouble Shooting

Exception in thread "main" java.lang.AssertionError: Could not find Antenna_Serial_Number in [Pole_Number, NOC_NetworkID, GIS_NetworkID, ProjectID1, ProjectID2, ProjectID3, ProjectID4, Inspection_Type, Pole_Type, Height, Class, Birthdate, Material, Pole_Owner, Ground_Furniture, Meter_Number, Power_Provider, Service_Drops, Drop_Height, Xfmr_Size, Transmission_Voltage, Primary_Voltage, Radio_Make, Radio_Model, Radio_Serial_Number, Antenna_Make, Antenna_Model, Antenna _Serial_Number, Antenna_Height, Antenna_Location, Antenna_Mount, BBU_Make, BBU_Model, BBU_Serial_Number, Inspect_Required, Inspection_Date, Pole_Comment, Latitude, Longitude, Audit_Date, Photo_FN_Pole, Photo_FN_PoleNumber, Photo_FN_Birthdate, Ocalc_PDF, Photo_FN_Antenna, Photo_FN_AntennaMount, Photo_FN_BBU, Photo_FN_Radio, Infraction_01, Infr_Carrier_01, Infr_Comment_01, Infr_Photo_FileName_01, Infraction_02, Infr_Carrier_02, Infr_Comment_02, Infr_Photo_FileName_02, Infraction_03, Infr_Carrier_03, Infr_Comment_03, Infr_Photo_FileName_03, Infraction_04, Infr_Carrier_04, Infr_Comment_04, Infr_Photo_FileName_04, Infraction_05, Infr_Carrier_05, Infr_Comment_05, Infr_Photo_FileName_05, Infraction_06, Infr_Carrier_06, Infr_Comment_06, Infr_Photo_FileName_06, Infraction_07, Infr_Carrier_07, Infr_Comment_07, Infr_Photo_FileName_07, Infraction_08, Infr_Carrier_08, Infr_Comment_08, Infr_Photo_FileName_08, Infraction_09, Infr_Carrier_09, Infr_Comment_09, Infr_Photo_FileName_09, Infraction_10, Infr_Carrier_10, Infr_Comment_10, Infr_Photo_FileName_10]

The column name for Antenna_Serial_Number is incorrect in the spreadsheet

Exception in thread "main" java.lang.Exception: Error while trying to talk to ticketer: http://nocportal.extenetsystems.com/Ticketer/hessian/RemoteTicketService

Check if the hessian URL is correct

If the spreadsheet loaded contains more than 300 rows, it could be a timeout issue (TBD IDMS-2119)