User Tools

Site Tools


Writing /app/www/public/data/meta/support/pm_of_poles_guideline.meta failed
support:pm_of_poles_guideline

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
support:pm_of_poles_guideline [2017/09/22 11:25] – [How to Use the Import Tool] ywangsupport:pm_of_poles_guideline [2021/06/25 10:09] (current) – external edit 127.0.0.1
Line 1: Line 1:
 +====== 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//
 +
 +{{ :support:pm_of_poles_-_data_model_revised_after_development.png |}}
 +
 +
 +
 +
 +//Data Model for PM of Poles Ticket (PPM)//
 +
 +{{ :support:pm_of_poles_ticket_data_model_1_.png |}}
 +
 +
 +----
 +
 +==== 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.
 +
 +{{ :support:screen_shot_2017-09-18_at_17.03.20.png?1000 |}}
 +
 +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.
 +
 +{{:support:infraction_investigation_workflow.png?1000|}}
 +
 +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**
 +  * Pole Inspection Form: used for recording pole related info, like pole number and pole height, paused from spreadsheet
 +  * Infraction Form: used for recording pole infraction related info, like infraction type and infraction carrier, paused from spreadsheet
 +**PPI ticket**
 +  * Infraction Under Investigation Form: generated by groovlet **Create PPI Tickets from Pole Infraction Forms**, some fields are copied from Pole Inspection Form
 +
 +----
 +
 +==== Reports in Reporting Manager ====
 +
 +  * PPM-All PM Tickets for Pole Inspections
 +  * PPM-Metrics
 +  * PPM-Pole Field Update DB
 +
 +----
 +
 +==== Email Template ====
 +
 +Infraction Contractor Dispatch Email
 +Infraction Carrier Notification
 +
 +----
 +
 +==== The Import Tool for Loading Poles ====
 +
 +The Import Tool can be found at: [[https://bitbucket.org/errigal/pm-of-poles-import-tool|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 ====
 +  - Confirm ftp is working on target server (currently setting on qaextapps1 and extapps1)
 +  - Confirm Ticketer is running on the target server
 +  - 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
 +  - Download the Tool and config file at [[https://drive.google.com/drive/folders/0BzOPOur52nscbHpYc09yMS0xOHc?usp=sharing|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)
 +  - 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)
 +  - Make sure all the tickets created are correct (check for one or two tickets)
 +  - Make sure the summary report is exported as excepted (there should be two TABs: Exception Report and Summary Report)
 +  - Inform ExteNet (details in Support Process section)
 +
 +----
 +
 +==== Support Process ====
 +  - Receive data loading request email from ExteNet(mainly Keith)
 +  - Download zip files (which contain spreadsheets and attachments) from [[https://extenetsystems-my.sharepoint.com/personal/klaug_extenetsystems_com/Documents/Forms/All.aspx?RootFolder=%2Fpersonal%2Fklaug_extenetsystems_com%2FDocuments%2FDocuments%2FKLaug%2FGO95%2FONEDRIVE%20SHARE%2FGO95%20Transfer&FolderCTID=0x0120009D7E2F7EA1E0AB4CBF6C4301F233E598|OneDrive: GO95 Transfer]] (link provided by ExteNet)
 +  - Using Import Tool to loading data from spreadsheet and attachments to Ticketer
 +  - Make sure all the tickets created are correct (check for one or two tickets)
 +  - Make sure the summary report is exported as excepted (there should be two TABs: Exception Report and Summary Report)
 +  - Upload summary report generated by Import Tool to GO95 Transfer/Errigal - Load Summary Delivered/production_summary xxxxxxxx (may need to create a new folder)
 +  - Track the date of uploading in GO95 Transfer/GO95 PRODUCTION LOADs and QC Tracker (may use a different file name)
 +  - Reply customer the loading work for what zips has been done on QA/Production through email
 +
 +----
 +
 +==== Gotchas ====
 +  - Check the format of the spreadsheet, it should be .xlsx
 +  - The hessian URL used for call RemoteTicketService, for QA should be http... for Production should be https
 +
 +----
 +
 +==== Trouble Shooting ====
 +  * Can't find column name error
 +<code>
 +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]
 +</code>
 +    
 +//The column name for Antenna_Serial_Number is incorrect in the spreadsheet//
 +
 +  * RMI connection exception
 +<code>
 +Exception in thread "main" java.lang.Exception: Error while trying to talk to ticketer: http://nocportal.extenetsystems.com/Ticketer/hessian/RemoteTicketService
 +</code>
 +    
 +//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)//
 +
 +----