psdi.app.ticket

Class Ticket

  • All Implemented Interfaces:
    AutoLocatable, GISable, AddressableMbo, java.rmi.Remote, TicketRemote, AppActionInterface, MboConstants, MboRemote, StatefulMboRemote, MaxRemoteProxy
    Direct Known Subclasses:
    Incident, Problem, SR


    public class Ticket
    extends StatefulMbo
    implements TicketRemote
    MBO to represent a Ticket.pro See the Ticket package description for details.

    This is a system level object.

    The key attributes for this object are TicketId and class.

    The attributes in this object are as follows:

    Attribute Name Description
    ActLabCost Actual Labor Cost of this ticket.
    ActLabHrs Actual labor hours of this ticket.
    ActualFinish Actual finish date of this ticket.
    ActualStart Actual start date of this ticket.
    AffectedDate Date and time when user experiences issue
    AffectedEmail Affected User's Email
    AffectedPerson Person Affected by the problem/incident.
    AffectedPhone Affected User's Phone
    Assetnum Asset identifier of this ticket.
    AssetOrgId Identifier of the organization for the ticket.
    AssetSiteID Identifier of the site for the Asset
    ChangeBy Name of the user who last updated this object.
    ChangeDate Date of last change.
    InheritStatus A Boolean field that indicates if a status can be changed on the orinating record.
    Class Classification of Ticket that can be either a Service Request or Problem or Incident.
    commoditygroup Commodity Groupd.
    Commodity Commodity.
    Description Description of the Ticket.
    Description_LongDescription Long Description of the Ticket.
    ExternalRecID Ticket ID for any Ticket external to MAXIMO.
    FailureCode Indicates top level failure code of the FailureCode of a failure hierarchy.
    GLAccount GLAccount associated with this ticket.
    GlobalTicketClass Attribute that indicates Class of the global ticket.
    GlobalTicketId Attribute that indicates Global ticket Id.
    HasActivity A boolean flag that indicates whether this ticket has activities associated with it or not.
    HasChildren A boolean flag that indicates if this ticket has children. Yes if Ticket has children, No if it has no children.
    HistoryFlag Indicates if this record is in history. Closed tickets are in history.
    Impact Specifies the business Impact/severity of the Ticket
    InternalPriority Attribute that indicates the Priority of an Issue as determined by the Servoce Desk Agent
    IsGlobal A Boolean flag that indicates whether this ticket is a global issue or not.
    IsKownError A Boolean flag that specifies whether this is a known issue or not.
    Location Asset location of this ticket.
    OrgId Identifier of the organization for this ticket.
    OrigRecordClass Attribute that identifies the class of the originating record which can be a ticket or a work order.
    OrigRecordId Attribute that identifies the unique indentifier of the originating record which can be a ticket or a work order.
    OrigRecOrgId Identifier of the organization for the originating record.
    OrigRecSiteId Identifier of the site for the originating record.
    Owner Attribute that identifies the Owner for the ticket.
    OwnerGroup Attribute that identifies the Owner group for the ticket.
    ProblemCode Reason for failure, indicates second level FailureCode of a failure hierarchy. This value is also the first level of the ticket's failure report.
    RelatedToGlobal A Boolean flag that identifier whether this ticket is related to a global Ticket or not.
    RemarkDesc Attribute that specifies the Failure Remark Description.
    RemarkDesc_LongDescription Attribute that specifies the Failure Remark Long Description.
    RemarkEnterDate Attribute that specifies the Date when the remark was entered.
    ReportDate Attribute that identifies the Date when the ticket was reported.
    ReportedBy Attribute that identifies the Person reporting the Ticket.
    ReportedEmail Attribute that identifies the Email address of Person reporting the Ticket.
    ReportedPhone Attribute that identifies the Phone number of Person reporting the Ticket.
    ReportedPriority Attribute that identifies the Priority of the reported ticket.
    SiteId Identifier of the site for this Ticket.
    SiteVisit A Boolean flag that indicates whether a Ticket requires an on-site visit for investigation or not.
    Source Attribute that indicates the source of ticket generation like email,web etc.
    Status The status of the Ticket.
    StatusDate Ticket's Status Date.
    Supervisor Identifier of the supervisor of ticket.
    TargFinishDate Target Finsh Date.
    TargStartDate Target Start Date.
    Template A boolean flag that identifies whether this ticket is a template or not.
    TemplateId Attribute that identifies Template Identifier.
    TicketId Unique identifier of a ticket for a given ticket class.
    Urgency Attribute that identifies reflection of the speed in which a Ticket should be resolved.
    Vendor Vendor.

    • Field Detail

      • MULTIASSET_SITE_ERRORKEY

        public static final java.lang.String MULTIASSET_SITE_ERRORKEY
        See Also:
        Constant Field Values
      • CREATEWOMULTI_NONE

        public static final java.lang.String CREATEWOMULTI_NONE
        See Also:
        Constant Field Values
      • CREATEWOMULTI_CHILD

        public static final java.lang.String CREATEWOMULTI_CHILD
        See Also:
        Constant Field Values
      • CREATEWOMULTI_TASK

        public static final java.lang.String CREATEWOMULTI_TASK
        See Also:
        Constant Field Values
      • CREATEWOMULTI_MULTI

        public static final java.lang.String CREATEWOMULTI_MULTI
        See Also:
        Constant Field Values
      • CREATEWOMULTI_TOPLEVEL

        public static final java.lang.String CREATEWOMULTI_TOPLEVEL
        See Also:
        Constant Field Values
    • Constructor Detail

      • Ticket

        public Ticket(MboSet ms)
               throws java.rmi.RemoteException
        Construct the Ticket object
        Throws:
        java.rmi.RemoteException
    • Method Detail

      • getProcess

        public java.lang.String getProcess()
        Gets the process for tickets.
        Returns:
        the work flow process name for tickets which is TICKET
      • getStatusListName

        public java.lang.String getStatusListName()
        Gets the name of the value list. Depending on the class of the Ticket, this method returns either 'INCIDENTSTATUS', or 'PROBLEMSTATUS' or 'SRSTATUS'.
        Specified by:
        getStatusListName in interface StatefulMboRemote
        Specified by:
        getStatusListName in class StatefulMbo
        Returns:
        listName Name of the valuelist
      • initFieldFlagsOnMbo

        public void initFieldFlagsOnMbo(java.lang.String attrName)
                                 throws MXException
        Description copied from class: Mbo
        The logic of setting the readonly and required field flags to the mbo. Any setting of the field flags that require expensive operation, such as database query should be moved from init() to this method. However, those which don't require steps such as fetching Mbos can be left in init(). You can group the logic for a few attributes together if logic of deciding their flag is the same, or in other words, can be handled at once.
        Overrides:
        initFieldFlagsOnMbo in class Mbo
        Throws:
        MXException
      • setRelatedSetEditibilityFlags

        protected void setRelatedSetEditibilityFlags()
                                              throws MXException,
                                                     java.rmi.RemoteException
        Sets the read-only flags for related MboSets.
        Throws:
        MXException
        java.rmi.RemoteException
      • canEditRelatedSet

        public void canEditRelatedSet(java.lang.String relationName)
                               throws MXException,
                                      java.rmi.RemoteException
        Determines if a related set should be editable or not. Throws an exception if the related MboSet is readonly.
        Parameters:
        relationName - The relationship name that got the related MboSet.
        Throws:
        MXException
        java.rmi.RemoteException
      • setRelatedMboEditibility

        public void setRelatedMboEditibility(java.lang.String relationName)
                                      throws MXException,
                                             java.rmi.RemoteException
        Checks the editability of related tables.
        Parameters:
        relationName - The relationship name of the related MboSet which need to set the read/only flag.
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        #settings, #setEditibilityFlags
      • add

        public void add()
                 throws MXException,
                        java.rmi.RemoteException
        Sets default values for a new Ticket
        Specified by:
        add in interface MboRemote
        Overrides:
        add in class Mbo
        Throws:
        MXException
        java.rmi.RemoteException
      • modify

        public void modify()
                    throws MXException,
                           java.rmi.RemoteException
        The first time a field of a Ticket object is modified, the ChangeBy & ChangeDate attributes are updated.
        Overrides:
        modify in class Mbo
        Throws:
        MXException
        java.rmi.RemoteException
      • changeStatus

        public void changeStatus(java.lang.String status,
                                 java.util.Date date,
                                 java.lang.String memo,
                                 long accessModifier)
                          throws MXException,
                                 java.rmi.RemoteException
        This method is overridden to support changing the status of Service Desk Tickets.
        Specified by:
        changeStatus in interface StatefulMboRemote
        Overrides:
        changeStatus in class StatefulMbo
        Parameters:
        status - The new desired status. This is the translated status (that is, the status code as it would have been entered by a user, or valuelist.value), not the internal status value ( valuelist.maxvalue).
        date - The effective date of the new status (java.util.Date). If null the current date/time is used.
        memo - A string briefly describing the circumstances of the change. The memo can be null.
        accessModifier - A value of NOACCESSCHECK will cause the method not to call canChangeStatus. Callers using this flag are responsible for ensuring that they are attempting a valid status change.
        Throws:
        MXException - Thrown if there is a problem, or the status cannot be changed, as determined by canChangeStatus(String).
        java.rmi.RemoteException
        See Also:
        Determines whether the Ticket can change status.
      • canDelete

        public void canDelete()
                       throws MXException,
                              java.rmi.RemoteException
        Method that checks whether a Ticket can be deleted or not.
        Overrides:
        canDelete in class Mbo
        Throws:
        MXApplicationException - With the key "ticket", and one of the "TicketNoDelete" keys: TicketNoDeleteWorkFlow, TicketNoDeleteStatus, TicketNoDeleteActivity, TicketNoDeleteRelatedRec, TicketNoDeleteOrigRec, TicketNoDeleteCommLog, TicketNoDeleteWorkLog, TicketNoDeleteGlobal and TicketNoDeleteActual
        java.rmi.RemoteException
        MXException
      • hasActuals

        public boolean hasActuals()
                           throws MXException,
                                  java.rmi.RemoteException
        Determines whether this ticket has any actuals.
        Returns:
        true if this ticket has actuals.
        Throws:
        MXException
        java.rmi.RemoteException
      • appValidate

        public void appValidate()
                         throws MXException,
                                java.rmi.RemoteException
        appValidate() is overriden. If a ticket is marked as related to Global, both globalticketid and globalticketclass are required.
        Overrides:
        appValidate in class Mbo
        Throws:
        MXException - If ticket is marked as related to global and either globalticketid or globalticketclass is null, then MXApplicationException("ticket", "RequireGlobalValues")
        java.rmi.RemoteException
      • save

        protected void save()
                     throws MXException,
                            java.rmi.RemoteException
        Actions that are performed when a Ticket is saved.
        Overrides:
        save in class StatefulMbo
        Throws:
        MXException
        java.rmi.RemoteException
      • delete

        public void delete(long accessModifier)
                    throws MXException,
                           java.rmi.RemoteException
        Method that deletes a Ticket
        Specified by:
        delete in interface MboRemote
        Overrides:
        delete in class Mbo
        Parameters:
        accessModifier - The bitwise flag specified to determine if certain normal security checks are to be bypassed for this delete request. For example: if the accessModifer is NOACCESSCHECK, then the check for the object's NODELETE flag and the call to the object's canDelete() method will not be performed. If the accessModifer is NONE, then all the access checks are performed before this object is marked delete.
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Mbo.delete(long)
      • skipCopyField

        protected boolean skipCopyField(MboValueInfo mvi)
                                 throws MXException,
                                        java.rmi.RemoteException
        Overrides the skipCopyField() in the Mbo. Since this method takes the MboValueInfo as its parameter just check to see if this field needs to be copied or skipped by using the data from the static HashSet. If this field does not need to be copied return true. The following are the Ticket fields will be skipped without being copied to the newly duplicated Ticket:
        1. ticketid
        Overrides:
        skipCopyField in class Mbo
        Parameters:
        mvi - The MboValueInfo object of the MboValue that needs to be copied.
        Returns:
        true If the field does not need to be copied return true, in all other cases return false.
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Ticket.loadSkipFieldCopyHashSet()
      • editHistory

        public void editHistory()
                         throws MXException,
                                java.rmi.RemoteException
        method which provides ability to edit certain fields on Tickets while they are in closed status. This ability will be provided for only those Tickets which have "CLOSED" status. When invoked, the user will see the following fields as editable. If any changes are made while using Ticket History, a TKSTATUS transaction will be written upon save. The user can edit a single record at the time and need to save before editing the other records.
        Specified by:
        editHistory in interface TicketRemote
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Ticket.editHistory()
      • startTimer

        public void startTimer()
                        throws MXException,
                               java.rmi.RemoteException
        Method that will start the timer. If timer is already started, it will throw an exception
        Specified by:
        startTimer in interface TicketRemote
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        psdi.app.labor.LabTransSet.startTimer
      • tkChangeMaxStatus

        public void tkChangeMaxStatus(java.lang.String maxstatus)
                               throws MXException,
                                      java.rmi.RemoteException
        Throws:
        MXException
        java.rmi.RemoteException
      • stopTimer

        public MboRemote stopTimer(java.util.Date finishdatetime,
                                   boolean noStopTimerPopup)
                            throws MXException,
                                   java.rmi.RemoteException
        Method that will stop the timer as specified date time. If timer is not started, it will throw an exception.
        Specified by:
        stopTimer in interface TicketRemote
        Parameters:
        Date - targetDateTime date and time to set finishDate and finishTime with
        noStopTimerPopup - true no need popup on stop timer
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        LabTransSet.stopTimer()
      • stopTimer

        public MboRemote stopTimer(java.util.Date finishdatetime,
                                   java.util.Date startDateTime,
                                   boolean noStopTimerPopup)
                            throws MXException,
                                   java.rmi.RemoteException
        Method that will stop the timer as specified date time. If timer is not started, it will throw an exception.
        Specified by:
        stopTimer in interface TicketRemote
        Parameters:
        Date - targetDateTime date and time to set finishDate and finishTime with
        Date - startDateTime date and time to set startDate and startTime with
        noStopTimerPopup - true no need popup on stop timer
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        LabTransSet.stopTimer()
      • createIncident

        public MboRemote createIncident(java.lang.String tickettemplateid)
                                 throws MXException,
                                        java.rmi.RemoteException
        creates an incident from any other ticket class, PROBLEM, SR OR INCIDENT
        Specified by:
        createIncident in interface AppActionInterface
        Parameters:
        tickettemplateid - Parameter that refers to a ticket template, based on which the incident is created.
        Returns:
        Throws:
        MXException
        java.rmi.RemoteException
      • createServiceRequest

        public MboRemote createServiceRequest(java.lang.String tickettemplateid)
                                       throws MXException,
                                              java.rmi.RemoteException
        Action class uses reflection to call this method, delegate to createSR This method added back as delegating method to solve issue 07-29204
        Specified by:
        createServiceRequest in interface AppActionInterface
        Parameters:
        tickettemplateid - Parameter that refers to a ticket template, based on which the service request is created.
        Returns:
        Throws:
        MXException
        java.rmi.RemoteException
      • createSR

        public MboRemote createSR(java.lang.String tickettemplateid)
                           throws MXException,
                                  java.rmi.RemoteException
        Throws:
        MXException
        java.rmi.RemoteException
      • createProblem

        public MboRemote createProblem(java.lang.String tickettemplateid)
                                throws MXException,
                                       java.rmi.RemoteException
        creates a Problem from any other ticket class, INCIDENT, SR or PROBLEM
        Specified by:
        createProblem in interface AppActionInterface
        Parameters:
        tickettemplateid - Parameter that refers to a ticket template, based on which the problem is created.
        Returns:
        Throws:
        MXException
        java.rmi.RemoteException
      • applyTemplate

        public void applyTemplate(MboRemote templateMbo)
                           throws java.rmi.RemoteException,
                                  MXException
        Apply a ticket template to record.
        Specified by:
        applyTemplate in interface TicketRemote
        Throws:
        java.rmi.RemoteException
        MXException
        See Also:
        psdi.app.ticket.Ticket#applyTemplate()
      • applyOwner

        public void applyOwner(java.lang.String ownerID)
                        throws java.rmi.RemoteException,
                               MXException
        Apply an owner to a record.
        Specified by:
        applyOwner in interface TicketRemote
        Throws:
        java.rmi.RemoteException
        MXException
        See Also:
        psdi.app.ticket.Ticket#applyOwner()
      • applyOwnerGroup

        public void applyOwnerGroup(java.lang.String ownergroupID)
                             throws java.rmi.RemoteException,
                                    MXException
        Apply an ownergroup to a record.
        Specified by:
        applyOwnerGroup in interface TicketRemote
        Throws:
        java.rmi.RemoteException
        MXException
        See Also:
        psdi.app.ticket.Ticket#applyOwnerGroup()
      • applyAssignedOwnerGroup

        public void applyAssignedOwnerGroup(java.lang.String ownergroupID)
                                     throws java.rmi.RemoteException,
                                            MXException
        Apply an assigned owner group to a record. The AssignedOwnerGroup field holds the explicit current ownergroup ownership of this record.
        Specified by:
        applyAssignedOwnerGroup in interface TicketRemote
        Throws:
        java.rmi.RemoteException
        MXException
      • createWorkorder

        public java.util.Vector createWorkorder()
                                         throws MXException,
                                                java.rmi.RemoteException
        creates a workorder from any other ticket type, PROBLEM, SR or INCIDENT. The value of "CreateWOMulti" attribute defines what happens to the Multi asset records.
        • If "CreateWOMulti" set to NONE, the mutliasset records are not copied to the workorder.
        • If "CreateWOMulti" set to CHILD, child work orders are created from the mutliasset records.
        • If "CreateWOMulti" set to TASK, work order tasks are created from the mutliasset records.
        • If "CreateWOMulti" set to MULTI, the mutliasset records are copied to the workorder as multi asset records.
        Specified by:
        createWorkorder in interface TicketRemote
        Returns:
        The vector contains the work order mbo created for this ticket and the number of work orders being created
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Ticket.createWorkorder()
      • createWorkorder

        public java.util.Vector createWorkorder(MboSetRemote targetSet,
                                                boolean saveSet)
                                         throws MXException,
                                                java.rmi.RemoteException
        creates a workorder from any other ticket type, PROBLEM, SR or INCIDENT. The value of "CreateWOMulti" attribute defines what happens to the Multi asset records.
        • If "CreateWOMulti" set to NONE, the mutliasset records are not copied to the workorder.
        • If "CreateWOMulti" set to CHILD, child work orders are created from the mutliasset records.
        • If "CreateWOMulti" set to TASK, work order tasks are created from the mutliasset records.
        • If "CreateWOMulti" set to MULTI, the mutliasset records are copied to the workorder as multi asset records.
        Specified by:
        createWorkorder in interface TicketRemote
        Parameters:
        targetSet -
        saveSet -
        Returns:
        The vector contains the work order mbo created for this ticket and the number of work orders being created
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Ticket.createWorkorder(MboSetRemote, boolean)
      • createWorkorder

        public MboRemote createWorkorder(java.lang.String jpnum)
                                  throws MXException,
                                         java.rmi.RemoteException
        creates a workorder from any other ticket type, PROBLEM, SR or INCIDENT. The jpnum attribute is used to pass the job number
        • If "CreateWOMulti" set to NONE, the mutliasset records are not copied to the workorder.
        • If "CreateWOMulti" set to CHILD, child work orders are created from the mutliasset records.
        • If "CreateWOMulti" set to TASK, work order tasks are created from the mutliasset records.
        • If "CreateWOMulti" set to MULTI, the mutliasset records are copied to the workorder as multi asset records.
        Specified by:
        createWorkorder in interface AppActionInterface
        Parameters:
        jpnum - Parameter that refers to a job plan, based on which the workorder is created.
        Returns:
        The work order mbo is returned
        Throws:
        MXException
        java.rmi.RemoteException
      • createChange

        public java.util.Vector createChange()
                                      throws MXException,
                                             java.rmi.RemoteException
        creates a Change from any other ticket type, PROBLEM, SR or INCIDENT. The value of "CreateWOMulti" attribute defines what happens to the Multi asset records.
        • If "CreateWOMulti" set to NONE, the mutliasset records are not copied to the workorder.
        • If "CreateWOMulti" set to CHILD, child work orders are created from the mutliasset records.
        • If "CreateWOMulti" set to TASK, work order tasks are created from the mutliasset records.
        • If "CreateWOMulti" set to MULTI, the mutliasset records are copied to the workorder as multi asset records.
        Specified by:
        createChange in interface TicketRemote
        Returns:
        The vector contains the work order mbo created for this ticket and the number of work orders being created
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Ticket.createChange()
      • createChange

        public MboRemote createChange(java.lang.String jpnum)
                               throws MXException,
                                      java.rmi.RemoteException
        creates a Change from any other ticket type, PROBLEM, SR or INCIDENT. The jpnum attribute is used to pass the job number
        • If "CreateWOMulti" set to NONE, the mutliasset records are not copied to the workorder.
        • If "CreateWOMulti" set to CHILD, child work orders are created from the mutliasset records.
        • If "CreateWOMulti" set to TASK, work order tasks are created from the mutliasset records.
        • If "CreateWOMulti" set to MULTI, the mutliasset records are copied to the workorder as multi asset records.
        Specified by:
        createChange in interface AppActionInterface
        Parameters:
        jpnum - Parameter that refers to a job plan, based on which the change is created.
        Returns:
        The work order mbo is returned
        Throws:
        MXException
        java.rmi.RemoteException
      • createRelease

        public java.util.Vector createRelease()
                                       throws MXException,
                                              java.rmi.RemoteException
        creates a Release from any other ticket type, PROBLEM, SR or INCIDENT. The value of "CreateWOMulti" attribute defines what happens to the Multi asset records.
        • If "CreateWOMulti" set to NONE, the mutliasset records are not copied to the workorder.
        • If "CreateWOMulti" set to CHILD, child work orders are created from the mutliasset records.
        • If "CreateWOMulti" set to TASK, work order tasks are created from the mutliasset records.
        • If "CreateWOMulti" set to MULTI, the mutliasset records are copied to the workorder as multi asset records.
        Specified by:
        createRelease in interface TicketRemote
        Returns:
        The vector contains the work order mbo created for this ticket and the number of work orders being created
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Ticket.createRelease()
      • createRelease

        public MboRemote createRelease(java.lang.String jpnum)
                                throws MXException,
                                       java.rmi.RemoteException
        creates a Change from any other ticket type, PROBLEM, SR or INCIDENT. The jpnum attribute is used to pass the job number
        • If "CreateWOMulti" set to NONE, the mutliasset records are not copied to the workorder.
        • If "CreateWOMulti" set to CHILD, child work orders are created from the mutliasset records.
        • If "CreateWOMulti" set to TASK, work order tasks are created from the mutliasset records.
        • If "CreateWOMulti" set to MULTI, the mutliasset records are copied to the workorder as multi asset records.
        Specified by:
        createRelease in interface AppActionInterface
        Parameters:
        jpnum - Parameter that refers to a job plan, based on which the release is created.
        Returns:
        The work order mbo is returned
        Throws:
        MXException
        java.rmi.RemoteException
      • findTkSite

        public java.lang.String findTkSite()
                                    throws MXException,
                                           java.rmi.RemoteException
        Finds siteid to be used when creating workorder, change or release from a ticket
        Throws:
        MXException
        java.rmi.RemoteException
      • incrActLabHrs

        public void incrActLabHrs(double incrAmount)
                           throws MXException,
                                  java.rmi.RemoteException
        Adds to the ticket's actual labor hours total from outside the object. Note that this throw an exception if the work order is in history.
        Specified by:
        incrActLabHrs in interface TicketRemote
        Parameters:
        incrAmount - The amount to add to ActLabHrs.
        Throws:
        MXApplicationException - HistoryNoActuals when this ticket is a history record.
        MXException
        java.rmi.RemoteException
        See Also:
        psdi.app.workorder.WO#incrActLabHrs(double incrAmount)
      • checkForFollowups

        protected boolean checkForFollowups()
                                     throws MXException,
                                            java.rmi.RemoteException
        checks for follow up records that references this ticketid and class in their 'OrigRecordId' and 'Origrecordclass' return true If followup records exists false No Followup records exists
        Throws:
        MXException
        java.rmi.RemoteException
      • getLocForAsset

        public void getLocForAsset()
                            throws MXException,
                                   java.rmi.RemoteException
        Called by the assetnum attribute to set the ticket's location to the Asset's location If the asset has a valid location for the ticket, that location will be put on the ticket, if the location field is blank. If the ticket's locaiton is not blank, a warning will be given (MXApplicationException, ticket, AssetChangeLoc, parameter of the asset's location), but the location field won't change.
        Throws:
        MXException
        java.rmi.RemoteException
      • applyAssetLoc

        public void applyAssetLoc()
                           throws MXException,
                                  java.rmi.RemoteException
        Applys any changes to fields that are affected by changing the asset or location fields. Since changing the asset or Location of a ticket will call this routine, the ticket's asset or Location may be changed without validation by this method.
        Throws:
        MXException
        java.rmi.RemoteException
      • calcGLAccount

        public java.lang.String calcGLAccount()
                                       throws java.rmi.RemoteException,
                                              MXException
        Sets the GL Account attribute based on the Asset/Loc attribute values.
        Throws:
        java.rmi.RemoteException
        MXException
      • getActivityBasedOnWonum

        public MboRemote getActivityBasedOnWonum(java.lang.String wonum)
                                          throws java.rmi.RemoteException,
                                                 MXException
        get woactivity mbo based on wonum attribute values.
        Throws:
        java.rmi.RemoteException
        MXException
      • updateWorkview

        public void updateWorkview()
                            throws MXException,
                                   java.rmi.RemoteException
        update crossover fields in workview table . This method is used in postcommit event when ticket got inserted or modified. If the implementtation have the crossover domain setup to cross over extra fields from ticket to workview, it will happens in this method.
        Throws:
        MXException
        java.rmi.RemoteException
      • relateTickets

        public MboSetRemote relateTickets(MboSetRemote tkSet)
                                   throws java.rmi.RemoteException,
                                          MXException
        Refines the Ticket Set further removing any records that may have already been related.
        Specified by:
        relateTickets in interface TicketRemote
        Parameters:
        tkSet - Ticket Set which has been filtered by a criteria such as Affected User, Reportedby User, Commodity, etc..
        Returns:
        tkSet Work Order Set with related records filtered out.
        Throws:
        java.rmi.RemoteException
        MXException
        See Also:
        psdi.app.ticket.Ticket#relateTickets(MboSet tkSet)
      • relateWorkorders

        public MboSetRemote relateWorkorders(MboSetRemote woSet)
                                      throws java.rmi.RemoteException,
                                             MXException
        Refines the Work Order Set further removing any records that may have already been related.
        Specified by:
        relateWorkorders in interface TicketRemote
        Parameters:
        woSet - Work Order Set which has been filtered by a criteria such as Assetnum,Location, Commodity, etc..
        Returns:
        woSet Work Order Set with related records filtered out.
        Throws:
        java.rmi.RemoteException
        MXException
        See Also:
        psdi.app.ticket.relateWorkorders(MboSetRemote woSet)
      • updateOriginator

        public void updateOriginator()
                              throws MXException,
                                     java.rmi.RemoteException
        update originate record
        Parameters:
        laborSet - the labor set to be copied.
        Throws:
        MXException
        java.rmi.RemoteException
      • getValidateOrder

        public java.lang.String[] getValidateOrder()
        Returns a String[] of field names. The validate and batchValidate() method will test the fields' validations in this order.
        Overrides:
        getValidateOrder in class Mbo
      • getWOClassDescription

        public java.lang.String getWOClassDescription(java.lang.String appname)
                                               throws MXException,
                                                      java.rmi.RemoteException
        Throws:
        MXException
        java.rmi.RemoteException
      • checkMultiAssetLocCISite

        public void checkMultiAssetLocCISite(java.lang.String multiAssetSite)
                                      throws MXException,
                                             java.rmi.RemoteException
        This method will be called from field validation of multi assetnum/locaiton and cinum. If the create WO options is set to either "CHILD" or "TASK" and the user chooses an asset/location/ci which resides in a different site than the owner ticket,an exception will be thrown.
        Specified by:
        checkMultiAssetLocCISite in interface TicketRemote
        Throws:
        MXApplicationException("ticket","MultiAssetSiteNotSameAsTicket") - if multiassetlocci records for a given ticket have different site than the owner ticket.
        MXException
        java.rmi.RemoteException
        See Also:
        Ticket.checkMultiAssetLocCISite()
      • setmultiassetrecord

        public void setmultiassetrecord()
                                 throws MXException,
                                        java.rmi.RemoteException
        This method creates an entry in MultiAssetLocCi table when an asset/location/CI or TargetDescription is entered for a ticket as a primary asset. If the locaiton is cleared and the asset and CI fields are null, it will clear the correspnding row from the MultiAssetLocCi table. For a given type of ticket, only one record in the MultiAssetLocCi can be a primary asset.
        Throws:
        MXException
        java.rmi.RemoteException
      • getTopOriginator

        public MboRemote getTopOriginator()
                                   throws MXException,
                                          java.rmi.RemoteException
        Get the top in the folloup link
        Returns:
        top ticket
        Throws:
        MXException
        java.rmi.RemoteException
      • doClassificationCreate

        public void doClassificationCreate(MboRemote newMbo,
                                           MboRemote sourceMbo,
                                           java.lang.String keyAttribute)
                                    throws MXException,
                                           java.rmi.RemoteException
        08-12698: copy ticketspec to ticketspec,workorderspec,solutionspec
        Parameters:
        newMbo -
        Throws:
        MXException
        java.rmi.RemoteException
      • allowSelfServiceSolutionAccess

        public boolean allowSelfServiceSolutionAccess()
                                               throws java.rmi.RemoteException,
                                                      MXException
        Self service solution access only makes sense when this ticket is associated with an SR.
        Specified by:
        allowSelfServiceSolutionAccess in interface TicketRemote
        Returns:
        Throws:
        MXException
        java.rmi.RemoteException
      • checkOrigIsFollowup

        public void checkOrigIsFollowup()
                                 throws MXException,
                                        java.rmi.RemoteException
        Check to see if originator is a follow up //08-16025, 08-16072
        Throws:
        MXException
        java.rmi.RemoteException
      • getRecordMboName

        public java.lang.String getRecordMboName()
                                          throws java.rmi.RemoteException,
                                                 MXException
        Description copied from class: Mbo
        Returns the name of the Mbo if this record was in memory as the type is actually is. In most cases this returns the same as getName(). When a WOChange is read into a WO Mbo, getName will return "WORKORDER while getRecordMboName will return "WOCHANGE".
        Overrides:
        getRecordMboName in class Mbo
        Throws:
        java.rmi.RemoteException
        MXException
      • canPropagateRepairFacility

        public boolean canPropagateRepairFacility(MboRemote newWorkorder)
                                           throws java.rmi.RemoteException,
                                                  MXException
        Says if the repair facility can be propagated to the non-task generated work orders. If there is any record in an organization different from the one the repair facility is in, the user receives a warning and get a chance to answer if it is ok to have generated work orders from different organizations with repair facility left as blank
        Specified by:
        canPropagateRepairFacility in interface TicketRemote
        Parameters:
        newWorkorder -
        Returns:
        Throws:
        java.rmi.RemoteException
        MXException
        See Also:
        Ticket.canPropagateRepairFacility(MboRemote)
      • getLatitudeY

        public java.lang.Double getLatitudeY()
                                      throws MXException,
                                             java.rmi.RemoteException
        Description copied from interface: GISable
        Return a double value with the the Latitude (or Y) coordinate of the current entitty.
        Specified by:
        getLatitudeY in interface GISable
        Returns:
        Double or null
        Throws:
        MXException
        java.rmi.RemoteException
      • getLongitudeX

        public java.lang.Double getLongitudeX()
                                       throws MXException,
                                              java.rmi.RemoteException
        Description copied from interface: GISable
        Return a double value with the the Longitude (or X) coordinate of the current entitty.
        Specified by:
        getLongitudeX in interface GISable
        Returns:
        Double or null
        Throws:
        MXException
        java.rmi.RemoteException
      • getAddressString

        public java.lang.String getAddressString()
                                          throws MXException,
                                                 java.rmi.RemoteException
        Description copied from interface: GISable
        Return a string with the address of the current entitty.
        Specified by:
        getAddressString in interface GISable
        Returns:
        Double or null
        Throws:
        MXException
        java.rmi.RemoteException
      • saveGISData

        public void saveGISData(java.lang.String address,
                                java.lang.String lat,
                                java.lang.String lng)
                         throws MXException,
                                java.rmi.RemoteException
        Description copied from interface: GISable
        Implement the logic to save the GIS Data
        Specified by:
        saveGISData in interface GISable
        Throws:
        MXException
        java.rmi.RemoteException
      • createAssociatedTKSA

        protected MboRemote createAssociatedTKSA()
                                          throws MXException,
                                                 java.rmi.RemoteException
        Throws:
        MXException
        java.rmi.RemoteException
      • isGISDataReadonly

        public boolean isGISDataReadonly()
                                  throws MXException,
                                         java.rmi.RemoteException
        Description copied from interface: GISable
        Indicate if the current GIS entity is editable or not. Usefull when the coordinates are populated using an external system.
        Specified by:
        isGISDataReadonly in interface GISable
        Returns:
        Throws:
        MXException
        java.rmi.RemoteException
      • hasCoords

        public java.lang.Boolean hasCoords()
                                    throws MXException,
                                           java.rmi.RemoteException
        Description copied from interface: GISable
        Check if this autolocatable object has coordinates filled (LAT,LONG)
        Specified by:
        hasCoords in interface GISable
        Returns:
        the boolean
        Throws:
        MXException - the mX exception
        java.rmi.RemoteException - the remote exception
      • getAutoLocateObject

        public MboRemote getAutoLocateObject()
                                      throws MXException,
                                             java.rmi.RemoteException
        Description copied from interface: AutoLocatable
        Returns an autolocate object instance if present.
        Specified by:
        getAutoLocateObject in interface AutoLocatable
        Returns:
        the auto locate object
        Throws:
        MXException - the mX exception
        java.rmi.RemoteException - the remote exception
      • createPrimaryMultiAssetRecord

        public void createPrimaryMultiAssetRecord()
                                           throws MXException,
                                                  java.rmi.RemoteException
        When a linear asset is entered on to a Ticket, create a primary asset in the MULTIASSETLOCCI table with the linear asset. If asset is not linear, the MULTIASSETLOCCI is created in appValidate().
        Throws:
        MXException
        java.rmi.RemoteException
      • toIncludeFilterBy

        public void toIncludeFilterBy(boolean toSet)
                               throws MXException,
                                      java.rmi.RemoteException
        IJ26289
        Parameters:
        toSet -
        Throws:
        MXException
        java.rmi.RemoteException
      • getIncludeFilterBy

        public boolean getIncludeFilterBy()
                                   throws MXException,
                                          java.rmi.RemoteException
        IJ26289: if value is true, it means the validate() includes the appended subselect(assetusercust) for USEECUST or PUBLIC. if value is false, it does not have the appended sql.
        Returns:
        Throws:
        MXException
        java.rmi.RemoteException