Skip to content

NewJobService

reference
2 min readUpdated

Kind: Class

Source: Pams/Web/Pams.Web/Client/app/services/sales/new-job/new-job.service.ts (line 16)

Part of: Pams

NewJobService coordinates data and actions for sales new-job workflows. It retrieves branch, sales responsible, product type, time-frame, and status data sources, then handles job save, update, and inquiry deletion operations.

Methods

MethodSignatureReturns
getCurrentBranchgetCurrentBranch()void
getSalesResponsiblesDataSourcegetSalesResponsiblesDataSource(companyBranchForData: number)void
getSalesResponsiblesDataSourceWithEnumgetSalesResponsiblesDataSourceWithEnum(departmentIdEnum: number, companyBranchForData: number)void
getProductTypesDataSourcegetProductTypesDataSource()void
getPurchasingProductTypesDataSourcegetPurchasingProductTypesDataSource()void
getTimeFramePeriodsDataSourcegetTimeFramePeriodsDataSource()void
getStatusDataSourcegetStatusDataSource(stage: undefined)void
saveJobsaveJob(job: undefined)void
updateJobupdateJob(job: undefined)void
deleteInquirydeleteInquiry(id: undefined)void
getsalesjobbyidgetsalesjobbyid(id: undefined)void
getDeliveriesForInstandSalesJobgetDeliveriesForInstandSalesJob(Jobid: undefined)void
createInquirycreateInquiry(inquiry: undefined)void
updateInquiryupdateInquiry(inquiry: undefined)void
deleteJobdeleteJob(id: undefined)void
changeJobStatuschangeJobStatus(job: undefined)void
regretJobregretJob(id: undefined, regretDetails: undefined)void
unRegretPotentialJobunRegretPotentialJob(id: undefined)void
cancelJobcancelJob(id: undefined, cancelDetails: undefined)void
unCancelPotentialJobunCancelPotentialJob(id: undefined)void
convertJobToOfferconvertJobToOffer(id: undefined)void
regretOfferedJobregretOfferedJob(id: undefined, regretDetails: undefined)void
unRegretOfferedJobunRegretOfferedJob(id: undefined)void
cancelOfferedJobcancelOfferedJob(id: undefined, cancelDetails: undefined)void
unCancelOfferedJobunCancelOfferedJob(id: undefined)void
convertJobToPotentialconvertJobToPotential(id: undefined)void
LostOfferedJobLostOfferedJob(id: number, LossDetails: undefined)void
unLossOfferedJobunLossOfferedJob(id: number)void
unRejectOrderedJobunRejectOrderedJob(id: number)void
createSingleOffercreateSingleOffer(offer: SalesOffers)void
approveOfferArchiveRequestapproveOfferArchiveRequest(offerId: number)void
disapproveOfferArchiveRequestdisapproveOfferArchiveRequest(offerId: number)void
changeStageSingleOfferchangeStageSingleOffer(offer: SalesOffers)void
updateSingleOfferupdateSingleOffer(offer: SalesOffers)void
regretSingleOfferregretSingleOffer(id: number, regretDetails: undefined)void
getregrettedOfferReasongetregrettedOfferReason(archivedId: number)void
updateRegrettedOfferReasonupdateRegrettedOfferReason(Id: number, regretDetails: RegretReasonModel)void
unRegretSingleOfferunRegretSingleOffer(id: number)void
cancelSingleOffercancelSingleOffer(id: number, cancelDetails: undefined)void
getCancelledOfferReasongetCancelledOfferReason(archivedId: number)void
updateCancelledOfferReasonupdateCancelledOfferReason(Id: number, cancelDetails: CancelReasonModel)void
unCancelSingleOfferunCancelSingleOffer(id: number)void
lostSingleOfferlostSingleOffer(id: number, lostDetails: undefined)void
getLostOfferReasongetLostOfferReason(archivedId: number)void
updateLostOfferReasonupdateLostOfferReason(Id: number, lostDetails: LostReasonModel)void
unLostSingleOfferunLostSingleOffer(id: number)void
deleteSingleOfferdeleteSingleOffer(id: number)void
getContructualCommissionByPrincipalIdgetContructualCommissionByPrincipalId(id: number)void
extendSingleOfferValidatiyextendSingleOfferValidatiy(offer: SalesOffers)void
convertJobToOrderconvertJobToOrder(id: number)void

Properties

PropertyType
datasourceBySearchEnumany

Where it refuses work

  • NewJobService stops the work with an early return when url !== "".

Diagram

mermaid
graph LR
  SalesScreen[Sales New-Job Screen] --> Service[NewJobService]
  Service --> Branch[getCurrentBranch]
  Service --> SalesResponsibles[getSalesResponsiblesDataSource]
  Service --> SalesResponsiblesEnum[getSalesResponsiblesDataSourceWithEnum]
  Service --> ProductTypes[getProductTypesDataSource]
  Service --> PurchasingTypes[getPurchasingProductTypesDataSource]
  Service --> TimeFrames[getTimeFramePeriodsDataSource]
  Service --> Statuses[getStatusDataSource]
  Service --> Save[saveJob]
  Service --> Update[updateJob]
  Service --> Delete[deleteInquiry]

Usage

ts
export class NewJobComponent {
  constructor(private readonly newJobService: NewJobService) {}

  loadFormData() {
    const branch = this.newJobService.getCurrentBranch();
    const salesResponsibles = this.newJobService.getSalesResponsiblesDataSource();
    const productTypes = this.newJobService.getProductTypesDataSource();
    const timeFrames = this.newJobService.getTimeFramePeriodsDataSource();
    const statuses = this.newJobService.getStatusDataSource();

    return {
      branch,
      salesResponsibles,
      productTypes,
      timeFrames,
      statuses,
    };
  }

  save() {
    return this.newJobService.saveJob();
  }

  update() {
    return this.newJobService.updateJob();
  }

  removeInquiry() {
    return this.newJobService.deleteInquiry();
  }
}

AI Coding Instructions

  • Use NewJobService as the integration point for new-job form data and job-related actions.
  • Select the sales responsible source that matches the consuming control: use getSalesResponsiblesDataSourceWithEnum() only where enum-backed values are expected.
  • Keep branch, product type, purchasing product type, time-frame, and status loading in the screen or state layer; avoid duplicating those sources locally.
  • Route save, update, and inquiry deletion through saveJob(), updateJob(), and deleteInquiry() rather than adding direct request logic in UI components.

Used by

6 references from 6 files. Each is a place in this repository where the symbol is actually used — go read one rather than trusting an example.

Imported by (6)

  • ReportsSettingsComponentPams/Web/Pams.Web/Client/app/components/configuration/reports-settings/reports-settings/reports-settings.component.ts:1
  • TopicComponentPams/Web/Pams.Web/Client/app/components/dashboard/my-desk/activities/topic/topic.component.ts:1
  • InvoiceDetailsComponentPams/Web/Pams.Web/Client/app/components/invoices/invoice-details/invoice-details.component.ts:1
  • SampleSelectBoxComponentPams/Web/Pams.Web/Client/app/components/shared/dropdown/sample-select-box/sample-select-box.component.ts:1
  • TagComponentPams/Web/Pams.Web/Client/app/components/shared/tag/tag.component.ts:1
  • PamsServicesModulePams/Web/Pams.Web/Client/app/services/pams-services.module.ts:1

Was this page helpful?

Download as PDF