codice
unknown
apex
4 years ago
98 kB
9
Indexable
import { LightningElement, api, track, wire } from 'lwc';
import { getRecord, createRecord, updateRecord } from 'lightning/uiRecordApi';
import queryPoint from '@salesforce/apex/AdvancedSearchCnt.searchPoints';
import getOppCommodity from '@salesforce/apex/AdvancedSearchCnt.getOpportunityCommodity';
import { getObjectInfo } from 'lightning/uiObjectInfoApi';
import { ShowToastEvent } from 'lightning/platformShowToastEvent';
import { error } from 'c/notificationSvc';
import { labels } from 'c/labels';
import CAMBIOUSOPROCESS from '@salesforce/apex/Constants.getCambioUsoOSIProcess';
import OPPORTUNITY_SERVICE_ITEM_OBJECT from "@salesforce/schema/OpportunityServiceItem__c";
import insertOsi from "@salesforce/apex/CEP_LC_DedicatedProcessWizard.insertOsi";
import insertOsiSwitching from "@salesforce/apex/CEP_LC_DedicatedProcessWizard.insertOsiSwitching";
import getOsi from "@salesforce/apex/OpportunityServiceItemCnt.getOsiById";
import prescreeningCheck from "@salesforce/apex/CEP_LC_DedicatedProcessWizard.prescreening";
import processCompatibility from "@salesforce/apex/CEP_LC_DedicatedProcessWizard.checkProcessCompatibility";
import atecoTranscoding from "@salesforce/apex/CEP_LC_DedicatedProcessWizard.atecTranscode";
import OsiEdit from '@salesforce/label/c.OsiEdit';
import CONTACT_FIRST_NAME from '@salesforce/schema/Contact.FirstName';
import CONTACT_LAST_NAME from '@salesforce/schema/Contact.LastName';
import CONTACT_PHONE from '@salesforce/schema/Contact.Phone';
import CONTACT_MOBILE from '@salesforce/schema/Contact.MobilePhone';
import isLargeSmeUser from '@salesforce/customPermission/CEP_Large_Sme_Permission';
import isSmallBusinessUser from '@salesforce/customPermission/CEP_Small_Business_Permission';
import isAgencyReseller from '@salesforce/customPermission/CEP_CP_AgencyReseller';
import isLargeAema from '@salesforce/customPermission/CEP_Large_Aema_Permission';
import isUmbriaEnergy from '@salesforce/customPermission/CEP_isUmbriaEnergy';
import isPrescreeningEnabled from '@salesforce/apex/CEP_UTL_CervedConfiguration.IsPrescreeningEnabledService';
import updateOpportunityPrescreening from "@salesforce/apex/CEP_LC_DedicatedProcessWizard.updateOpportunityPrescreeningStatus";
import getPreviousProduct from "@salesforce/apex/CEP_LC_DedicatedProcessWizard.getPreviousProduct";
import checkDistrVat from "@salesforce/apex/CEP_LC_DedicatedProcessWizard.checkDistributorVAT";
import { isEmptyString } from 'c/cepUtilities';
//NTT W3
import getOpportunityCompanyChannel from "@salesforce/apex/NTT_RicercaAddetto.getOpportunityCompanyChannel";
import FIELD_OPP_NAME from '@salesforce/schema/Opportunity.Name';
import FIELD_OPP_SIGNDATE from '@salesforce/schema/Opportunity.SignatureDate__c';
import FIELD_OPP_SUPPLY_START from '@salesforce/schema/Opportunity.SupplyStartDate__c';
import FIELD_OPP_SUPPLY_END from '@salesforce/schema/Opportunity.SupplyEndDate__c';
import FIELD_OPP_REQUEST_TYPE from '@salesforce/schema/Opportunity.RequestType__c';
import FIELD_OPP_ANTICHURN from '@salesforce/schema/Opportunity.Antichurn__c';
import FIELD_OPP_VATNUMBER from '@salesforce/schema/Opportunity.VatNumber__c';
//NTT W3
import isWind3 from '@salesforce/customPermission/NTT_isWind3';
const DISTRIBUTOR_FIELDS = ['Account.Name', 'Account.VATNumber__c'];
const COMPANY_CHANNEL_FIELDS = ['Account.CompanyChannel__c'];
const SERVICE_POINT_FIELDS = [
'ServicePoint__c.Account__c',
'ServicePoint__c.PointAddressNormalized__c',
'ServicePoint__c.PointApartment__c',
'ServicePoint__c.PointAt__c',
'ServicePoint__c.PointStreetName__c',
'ServicePoint__c.PointStreetNumber__c',
'ServicePoint__c.AvailablePower__c',
'ServicePoint__c.PointBuilding__c',
'ServicePoint__c.PointCity__c',
'ServicePoint__c.PointIstatCode__c',
'ServicePoint__c.Code__c',
'ServicePoint__c.ContractualPower__c',
'ServicePoint__c.ConversionFactor__c',
'ServicePoint__c.Corrector__c',
'ServicePoint__c.PointCountry__c',
'ServicePoint__c.CreatedById',
'ServicePoint__c.CurrentSupply__c',
'ServicePoint__c.Distributor__c',
'ServicePoint__c.DistributorName__c',
'ServicePoint__c.DistributorVATNumber__c',
'ServicePoint__c.EstimatedConsumption__c',
'ServicePoint__c.PointStreetNumberExtn__c',
'ServicePoint__c.PointFloor__c',
'ServicePoint__c.PointStaircase__c',
'ServicePoint__c.JointVenture__c',
'ServicePoint__c.Key__c',
'ServicePoint__c.LastModifiedById',
'ServicePoint__c.PointLocality__c',
'ServicePoint__c.Meter__c',
'ServicePoint__c.OwnerId',
'ServicePoint__c.PointAddress__c',
'ServicePoint__c.PointPostalCode__c',
'ServicePoint__c.PowerPhase__c',
'ServicePoint__c.Pressure__c',
'ServicePoint__c.PressureLevel__c',
'ServicePoint__c.PointProvince__c',
'ServicePoint__c.RecordTypeId',
'ServicePoint__c.Name',
'ServicePoint__c.SiteStreetName__c',
'ServicePoint__c.SiteCity__c',
'ServicePoint__c.SiteStreetType__c',
'ServicePoint__c.SiteStreetNumber__c',
'ServicePoint__c.SitePostalCode__c',
'ServicePoint__c.SiteIstatCode__c',
'ServicePoint__c.SiteApartment__c',
'ServicePoint__c.SiteProvince__c',
'ServicePoint__c.SiteLocality__c',
'ServicePoint__c.SiteCountry__c',
'ServicePoint__c.SiteBuilding__c',
'ServicePoint__c.SiteFloor__c',
'ServicePoint__c.SiteAt__c',
'ServicePoint__c.SiteStaircase__c',
'ServicePoint__c.PointStreetType__c',
'ServicePoint__c.Trader__c',
'ServicePoint__c.Voltage__c',
'ServicePoint__c.VoltageLevel__c',
'ServicePoint__c.CurrentAsset__r.ResidentialFlag__c',
'ServicePoint__c.CurrentAsset__r.RequestedIndustrialSector__c',
'ServicePoint__c.CurrentAsset__r.Usage__c',
'ServicePoint__c.CurrentAsset__r.AvailablePower__c',
'ServicePoint__c.IndustrialSector__c',
'ServicePoint__c.PDRType__c',
'ServicePoint__c.Usage__c',
'ServicePoint__c.ExpectedAnnualWithdrawal__c',
'ServicePoint__c.REMICode__c',
'ServicePoint__c.TakingClass__c',
'ServicePoint__c.TISGUseType__c',
'ServicePoint__c.CurrentAsset__r.Account.FirstName__c',
'ServicePoint__c.CurrentAsset__r.Account.LastName__c',
'ServicePoint__c.CurrentAsset__r.Account.FiscalCode__c',
'ServicePoint__c.CurrentAsset__r.Account.VATNumber__c',
'ServicePoint__c.CurrentAsset__r.Account.CompanyName__c',
'ServicePoint__c.CurrentAsset__r.Account.Code__c',
'ServicePoint__c.CurrentAsset__r.VATTreatment__c',
'ServicePoint__c.CurrentAsset__r.IPA__c',
'ServicePoint__c.CurrentAsset__r.CIG__c',
'ServicePoint__c.CurrentAsset__r.CUP__c',
'ServicePoint__c.CurrentAsset__r.Account.RecordTypeDeveloperName__c',
'ServicePoint__c.CurrentAsset__r.Account.Type',
'ServicePoint__c.CurrentAsset__r.Excise__c',
'ServicePoint__c.CurrentAsset__r.RegionalAdition__c',
'ServicePoint__c.CurrentAsset__r.DailyConsumption__c'
];
const CONTESTABLE_POD_FIELDS = [
'ContestablePod__c.City__c',
'ContestablePod__c.StreetNumber__c',
'ContestablePod__c.ISTATCode__c',
'ContestablePod__c.PodCode__c',
'ContestablePod__c.CreatedById',
'ContestablePod__c.StreetNumberExt__c',
'ContestablePod__c.Phase__c',
'ContestablePod__c.Apartment__c',
'ContestablePod__c.LastModifiedById',
'ContestablePod__c.VoltageLevel__c',
'ContestablePod__c.MeterSerialNumber__c',
'ContestablePod__c.ActualMarket__c',
'ContestablePod__c.EAMeters__c',
'ContestablePod__c.ElectronicMeters__c',
'ContestablePod__c.EPMeters__c',
'ContestablePod__c.ERMeters__c',
'ContestablePod__c.StreetName__c',
'ContestablePod__c.OwnerId',
'ContestablePod__c.Building__c',
'ContestablePod__c.Floor__c',
'ContestablePod__c.Name',
'ContestablePod__c.PostalCode__c',
'ContestablePod__c.ContractualPower__c',
'ContestablePod__c.AvailablePower__c',
'ContestablePod__c.PodPowerSetup__c',
'ContestablePod__c.Province__c',
'ContestablePod__c.DeliveryPoint__c',
'ContestablePod__c.Staircase__c',
'ContestablePod__c.CounterStatus__c',
'ContestablePod__c.MainsVoltage__c',
'ContestablePod__c.MetersType__c',
'ContestablePod__c.PlaceName__c'
];
const prestazioneGasOptionList = [{ label: 'Switching Win', value: 'SWITCHING WIN' }, { label: 'Cambio Prodotto', value: 'CAMBIO PRODOTTO' },{ label: 'Cambio Prodotto Cross Brand', value: 'CAMBIO PRODOTTO CROSS BRAND' }];
const prestazioneElectricOptionList = [{ label: 'Switching Win', value: 'SWITCHING WIN' }, { label: 'Cambio Prodotto', value: 'CAMBIO PRODOTTO' },{ label: 'Cambio Prodotto Cross Brand', value: 'CAMBIO PRODOTTO CROSS BRAND' }];
export default class CepCommunityDedicatedProcessWizard extends LightningElement {
labels = labels;
@api pdcType;
@track showEdit = false;
@track isMondoLarge = false;
@track _accountPrivate;
@api
get _account() {
return this._accountPrivate;
}
set _account(value) {
this._accountPrivate = JSON.parse(JSON.stringify(value));
this._accountPrivate.fields = {};
for (const key in this._accountPrivate) {
const element = this._accountPrivate[key];
this._accountPrivate.fields[key] = {};
this._accountPrivate.fields[key].value = element;
}
}
@track contact;
@api isFromCommunity;
@api interactionId;
@api accountId;
@api opportunityId;
@api opportunityServiceItemId;
@api isCambioUso = false;
@api disabled = false;
@api productFamily;
@api isEditMode = false;
@track showProcessEdit = false;
@api hidePrescreeningSimulation = false;
@api segmentAccount;
@track servicePointId;
@track osiUpdated;
@track contestablePodId;
@track pdaId;
@track opportunityServiceItem;
@track servicePoint;
@track contestablePod;
@track process;
@track contractType;
@track pod;
@track opportunityCommodity;
opportunityRecordType;
@track commodity;
@track isGas;
@track isGasTrue;
@track processFields;
@track isTakeover;
@track loadFields;
@track showModal;
@track showLoadingSpinner;
@track osiFieldsToSave;
@track hasAntichurn = false;
@track atecoObject;
@track toBeValuesSelected;
isPrestazioneFormValid;
@track prestazioneFields;
@track prestazioni = [];
@track distributorId;
@track distributorName;
@track distributorVATNumber;
@track showSpinner;
@track ivaCodeSelected;
@track ivaNumberSelected;
@track selectedProcessIncompatible = false;
@track actualVoltageLevel;
@track availablePowerSelected;
@track isSaveDisabled = true;
@track atecoManualSelection;
currentAssetId;
avantiButton = "avanti";
editButton = "edit";
@api channel;
isServicePointOrContestable = false;
takeOverFields;
isContropartiCommerciali = false;
switchingFields;
usageChangeFields;
@track beneficiaryAccId;
@track climaticZone;
@track showNuovoPotenzaRichiesta = false;
@track isSwitchingWin;
@track showCambioUso;
@track loadSwitchingFields;
@track loadUsageChangeFields;
@track isCurrentToBe;
@track isToBe;
@api primaryContactId;
@track isShowPreviousProduct = false;
@track previousProductId;
@track previousProduct;
@track showCambioProdotto = false;
@track previousProductName;
@track traderPIVA;
@track traderName;
@track takeOverAddressIsValid;
@track switchingInAddressIsValid;
@track _osiList;
@track opportunityRecord;
@api isMassMarket;
wind3 = isWind3;
compChan;
get contractTypeValue(){
return this.opportunityServiceItem ? this.opportunityServiceItem.ContractType__c : this._account && this._account.RecordType && this._account.RecordType.DeveloperName == 'CEP_RT_PhysicalPerson' && this.opportunityRecord && this.opportunityRecord.fields && this.opportunityRecord.fields.VatNumber__c && this.opportunityRecord.fields.VatNumber__c.value == undefined ? 'Persona fisica' : ''
}
cambioUsoProcess = CAMBIOUSOPROCESS;
//NTT W3
@wire(getOpportunityCompanyChannel, {idOpp : "$opportunityId"})
companyChannel({error, data}) {
console.log(data);
if(data) {
this.compChan = data;
} else if(error){
}
};
/* Get data needed for Switching Win date field validation logic */
@wire(getRecord, { recordId: '$opportunityId', fields: [FIELD_OPP_VATNUMBER, FIELD_OPP_ANTICHURN, FIELD_OPP_NAME, FIELD_OPP_SIGNDATE, FIELD_OPP_SUPPLY_END, FIELD_OPP_SUPPLY_START, FIELD_OPP_REQUEST_TYPE] })
opportunityRecord({error, data}) {
if (data) {
this.opportunityRecord = data;
} else if (error) {
this.dispatchEvent(
new ShowToastEvent({
title: 'Error querying Opportunity record',
message: error.body.message,
variant: 'error',
}),
);
}
};
/* End of block */
@wire(getRecord, { recordId: '$servicePointId', fields: SERVICE_POINT_FIELDS })
wiredServicePoint({ error, data }) {
if (data) {
this.servicePoint = data;
console.log('SERVICE POINT ' + JSON.stringify(this.servicePoint));
//if(data.fields.Distributor__c.value)
//this.loadFields = true;
}
else if (error) {
this.dispatchEvent(
new ShowToastEvent({
title: 'Error querying service point',
message: error.body.message,
variant: 'error',
}),
);
this.servicePoint = undefined;
this.loadFields = false;
this.loadSwitchingFields = false;
this.loadUsageChangeFields = false;
}
}
@wire(getRecord, { recordId: '$distributorId', fields: DISTRIBUTOR_FIELDS })
wiredDistributor({ error, data }) {
if (data) {
this.distributorName = data.fields.Name.value;
this.distributorVATNumber = data.fields.VATNumber__c.value;
console.log('distributor ' + JSON.stringify(this.distributorName));
}
else if (error) {
this.dispatchEvent(
new ShowToastEvent({
title: 'Error querying distributor',
message: error.body.message,
variant: 'error',
}),
);
}
if (this.isEditMode)
this.initializePrestazioneForm();
}
@wire(getRecord, { recordId: '$contestablePodId', fields: CONTESTABLE_POD_FIELDS })
wiredContestablePod({ error, data }) {
if (data) {
this.contestablePod = data;
console.log('contestable pod ' + JSON.stringify(this.contestablePod));
this.initializePrestazioneForm();
//this.loadFields = true;
//this.setPrestazioneOptionList();
}
else if (error) {
this.dispatchEvent(
new ShowToastEvent({
title: 'Error querying service point',
message: error.body.message,
variant: 'error',
}),
);
this.servicePoint = undefined;
//this.loadFields = false;
}
}
//objectInfo;
@wire(getObjectInfo, { objectApiName: OPPORTUNITY_SERVICE_ITEM_OBJECT.objectApiName })
objectInfo;
getRecordTypeId(recordTypeName) {
let recordtypeinfo = this.objectInfo.data.recordTypeInfos;
let recordTypeId;
for (var eachRecordtype in recordtypeinfo) {
if (recordtypeinfo[eachRecordtype].name === recordTypeName) {
recordTypeId = recordtypeinfo[eachRecordtype].recordTypeId;
break;
}
}
console.log('returning - ' + recordTypeId);
return recordTypeId;
}
connectedCallback() {
console.log('cepDedicatedProcessWizard:connectedCallback');
this.wind3 = this.wind3 != true ? false : true;
if (this.opportunityServiceItemId)
this.searchOsi()
console.log('servicePointId2021: ' + this.servicePointId);
console.log('contestablePodId2021: ' + this.contestablePodId);
this.setOppCommodity();
this.isMondoLarge = isLargeSmeUser || isSmallBusinessUser || isAgencyReseller || isLargeAema || isUmbriaEnergy;
}
searchOsi() {
let qryFields = Array.from(Object.keys(this.objectInfo.data.fields));
let pos;
for (var i = 0; i < qryFields.length; i++) {
if (qryFields[i] === 'CloneSourceId') {
pos = i;
break;
}
}
if (pos) {
delete qryFields[pos];
}
let inputs = {
osiId: this.opportunityServiceItemId,
queryFields: JSON.stringify(qryFields)
}
getOsi({
params: inputs
})
.then((response) => {
if (response) {
if (response.error) {
error(this, response.errorMsg);
} else {
this.opportunityServiceItem = response.osi;
this.servicePointId = this.opportunityServiceItem.ServicePoint__c ? this.opportunityServiceItem.ServicePoint__c : null;
console.log("OpportnitySerceItemId: " + this.opportunityServiceItemId);
console.log("Data 2020: " + JSON.stringify(this.opportunityServiceItem));
this.pod = this.opportunityServiceItem.ServicePointCode__c;
this.process = this.opportunityServiceItem.Process__c;
this.contractType = this.opportunityServiceItem.ContractType__c;
this.setCommodity();
if(this.opportunityServiceItem.Process__c.toLowerCase() == "cambio prodotto"){
this.getPreviousProductData();
}else{
this.initializePrestazioneForm();
}
if (this.isTakeover) {
let takeOverWizard = this.template.querySelector('[data-id="takeoverWizard"]');
if (takeOverWizard && isLargeSmeUser && !isEmptyString(this.opportunityServiceItem)) {
takeOverWizard.processExternalValue('Usage__c', this.opportunityServiceItem.Usage__c);
}
} else {
let switchingWizard = this.template.querySelector('[data-id="switchingWizard"]');
if (switchingWizard && isLargeSmeUser && !isEmptyString(this.opportunityServiceItem)) {
switchingWizard.processExternalValue('Usage__c', this.opportunityServiceItem.Usage__c);
}
}
this.showModalHandler();
if (this.isEditMode) {
this.isSaveDisabled = false;
}
}
}
})
.catch((errorMsg) => {
error(this, errorMsg);
});
}
handleFirstFormLoaded() {
if (this.isEditMode) {
let prestazioneForm = this.template.querySelector('[data-id="firstForm"]');
console.log('this process ' + this.process);
console.log('this gas ' + this.isGas);
if (prestazioneForm) {
if (!this.isGas)
prestazioneForm.setFieldTypeAttribute('Process__c', 'options', prestazioneElectricOptionList);
else
prestazioneForm.setFieldTypeAttribute('Process__c', 'options', prestazioneGasOptionList);
if (this.process && this.process !== '')
console.log('settato valore')
prestazioneForm.setFieldValue('Process__c', this.process);
}
}
}
@api getPrescreening() {
}
@wire(getRecord, { recordId: '$primaryContactId', fields: [CONTACT_FIRST_NAME, CONTACT_LAST_NAME, CONTACT_PHONE, CONTACT_MOBILE] })
wiredAccount({ error, data }) {
if (data) {
this.contact = data.fields;
console.log('Interlocutorrrr: ' + JSON.stringify(data));
}
else if (error) {
this.showToastMessage('Error querying Account', error.body.message, 'error');
}
}
initializePrestazioneForm() {
if(this.wind3){
this.prestazioneFields = [
{
name: 'Service_Point_Code__c',
label: 'POD',
visible: true,
value: this.opportunityServiceItem ? this.opportunityServiceItem.Service_Point_Code__c : this.pod,
valid: true,
required: true,
disabled: true,
type: {
type: 'text'
}
},
{
name: 'Commodity__c',
label: 'Commodity',
visible: true,
value: this.commodity,
valid: true,
required: true,
disabled: true,
type: {
type: 'text'
}
},
{
name: 'ContractType__c',
label: 'Tipo Contratto',
visible: true,
// value: this.opportunityServiceItem ? this.opportunityServiceItem.ContractType__c : this._account && this._account.RecordType && this._account.RecordType.DeveloperName == 'CEP_RT_PhysicalPerson' && this._account.VATNumber__c == undefined ? 'Persona fisica' : '',
value: this.contractTypeValue,
valid: true,
required: this._account && this._account.RecordType && this._account.RecordType.DeveloperName && this._account.RecordType.DeveloperName == 'CEP_RT_PhysicalPerson',
disabled: this.opportunityServiceItemId || (this._account && this._account.RecordType.DeveloperName && this._account.RecordType.DeveloperName == 'CEP_RT_Organization') || (this._account && this._account.RecordType.DeveloperName == 'CEP_RT_PhysicalPerson' && this.opportunityRecord && this.opportunityRecord.fields && this.opportunityRecord.fields.VatNumber__c && this.opportunityRecord.fields.VatNumber__c.value == undefined),
type: {
type: 'picklist',
typeAttributes: {
objectName: 'OpportunityServiceItem__c',
fieldName: 'ContractType__c'
}
}
},
{
name: 'EffectiveDate__c',
label: 'Data decorrenza',
visible: this.isGasTrue,
value: this.opportunityServiceItem ? this.opportunityServiceItem.EffectiveDate__c : '',
valid: true,
required: false,
disabled: this.opportunityServiceItemId,
type: {
type: 'date',
}
},
{
name: 'PreviousProduct__c',
label: 'Offerta precedente',
visible: false,
value: this.previousProductName,
valid: true,
required: false,
disabled: true,
type: {
type: 'text',
}
},
{
name: 'PreviousProduct',
label: 'Ulteriori informazioni',
visible: false,
value: 'button',
required: false,
disabled: false,
type: {
type: 'button'
}
},
{
name: 'Process__c',
label: 'Prestazione',
visible: true,
value: this.opportunityServiceItem ? this.opportunityServiceItem.Process__c : this.process,
valid: true,
required: true,
disabled: this.opportunityServiceItemId,
type: {
type: 'picklist',
typeAttributes: {
options: this.prestazioni
//options: this.prestazioni ? this.prestazioni : (this.commodity && this.commodity === 'Gas' ? prestazioneGasOptionList : prestazioneElectricOptionList)
}
}
}
];
}else{
this.prestazioneFields = [
{
name: 'Service_Point_Code__c',
label: 'POD',
visible: true,
value: this.opportunityServiceItem ? this.opportunityServiceItem.Service_Point_Code__c : this.pod,
valid: true,
required: true,
disabled: true,
type: {
type: 'text'
}
},
{
name: 'Process__c',
label: 'Prestazione',
visible: true,
value: this.opportunityServiceItem ? this.opportunityServiceItem.Process__c : this.process,
valid: true,
required: true,
disabled: this.opportunityServiceItemId,
type: {
type: 'picklist',
typeAttributes: {
options: this.prestazioni
//options: this.prestazioni ? this.prestazioni : (this.commodity && this.commodity === 'Gas' ? prestazioneGasOptionList : prestazioneElectricOptionList)
}
}
},
{
name: 'Commodity__c',
label: 'Commodity',
visible: true,
value: this.commodity,
valid: true,
required: true,
disabled: true,
type: {
type: 'text'
}
},
{
name: 'ContractType__c',
label: 'Tipo Contratto',
visible: true,
// value: this.opportunityServiceItem ? this.opportunityServiceItem.ContractType__c : this._account && this._account.RecordType && this._account.RecordType.DeveloperName == 'CEP_RT_PhysicalPerson' && this._account.VATNumber__c == undefined ? 'Persona fisica' : '',
value: this.contractTypeValue,
valid: true,
required: this._account && this._account.RecordType && this._account.RecordType.DeveloperName && this._account.RecordType.DeveloperName == 'CEP_RT_PhysicalPerson',
disabled: this.opportunityServiceItemId || (this._account && this._account.RecordType.DeveloperName && this._account.RecordType.DeveloperName == 'CEP_RT_Organization') || (this._account && this._account.RecordType.DeveloperName == 'CEP_RT_PhysicalPerson' && this.opportunityRecord && this.opportunityRecord.fields && this.opportunityRecord.fields.VatNumber__c && this.opportunityRecord.fields.VatNumber__c.value == undefined),
type: {
type: 'picklist',
typeAttributes: {
objectName: 'OpportunityServiceItem__c',
fieldName: 'ContractType__c'
}
}
},
{
name: 'EffectiveDate__c',
label: 'Data decorrenza',
visible: this.isGasTrue,
value: this.opportunityServiceItem ? this.opportunityServiceItem.EffectiveDate__c : '',
valid: true,
required: false,
disabled: this.opportunityServiceItemId,
type: {
type: 'date',
}
},
{
name: 'PreviousProduct__c',
label: 'Offerta precedente',
visible: false,
value: this.previousProductName,
valid: true,
required: false,
disabled: true,
type: {
type: 'text',
}
},
{
name: 'PreviousProduct',
label: 'Ulteriori informazioni',
visible: false,
value: 'button',
required: false,
disabled: false,
type: {
type: 'button'
}
},
];
}
//if (!isLargeSmeUser && !isLargeAema && !isUmbriaEnergy && !isSmallBusinessUser && !isAgencyReseller && this._account && this._account.RecordType && this._account.RecordType.DeveloperName == 'CEP_RT_PhysicalPerson' && this._account.VATNumber__c == undefined) {
//if (!isLargeSmeUser && !isLargeAema && !isUmbriaEnergy && !isSmallBusinessUser && !isAgencyReseller && && this._account && this._account.RecordType && this._account.RecordType.DeveloperName == 'CEP_RT_PhysicalPerson' && this.opportunityRecord && this.opportunityRecord.fields && this.opportunityRecord.fields.VatNumber__c && this.opportunityRecord.fields.VatNumber__c.value == undefined
if (!isLargeSmeUser && !isLargeAema && !isUmbriaEnergy && !isSmallBusinessUser && !isAgencyReseller) {
this.contractType = this.contractTypeValue //'Persona fisica'
}
// if (this.isCambioUso) {
// // SETTARE DIRETTAMENTE NELL'ARRAY
// this.prestazioneFields[0].type.typeAttributes.options = ['Cambio Uso'];
// this.prestazioneFields[0].disabled = this.isCambioUso;
// this.prestazioneFields[0].value = 'Cambio Uso';
// this.process = 'Cambio Uso'
// }
// if (!this.showCambioProdotto) {
// // let prestazioniNew = [];
// // if(this.isGas)
// // prestazioniNew = ;
// // else prestazioniNew = prestazioneElectricOptionList.slice(0, 3);
// this.prestazioneFields[0].type.typeAttributes.options = this.prestazioni.filter(function (obj) {
// return obj.label.toLowerCase() != 'cambio prodotto';
// });
// console.log("Prestazioniiii " + JSON.stringify(this.prestazioni));
// }
/*cambioUsoProcess().then(result=>{
this.prestazioneFields[1].value = result;
});*/
//this.prestazioneFields[1].value = 'Cambio Uso';
if (this.isEditMode) {
this.isPrestazioneFormValid = true;
}
}
setCommodity() {
console.log("this.pod: " + this.pod);
if (this.pod.toLowerCase().startsWith('it')) {
this.commodity = 'Electric';
}
else {
this.commodity = 'Gas';
}
this.isGas = this.commodity == 'Gas';
}
@api get account() {
return this._account;
}
set account(val) {
if (val)
this._account = val;
}
@api get osiList(){
return this._osiList;
}
set osiList(val){
this._osiList = val;
if(this._osiList)
console.log('osiList length: '+this._osiList.length);
}
searchPodPdr() {
let counter = 0;
if(this._osiList){
Array.from(this._osiList).forEach(element=>{
if(element.Process__c.toUpperCase() != 'ATTIVAZIONE VAS'){
counter++;
}
})
}
if(!this.isMassMarket || (this.isMassMarket && counter < 5)){
this.loadFields = false;
this.loadSwitchingFields = false;
this.loadUsageChangeFields = false;
this.servicePoint = null;
this.servicePointId = null;
this.takeOverFields = null;
this.switchingFields = null;
this.usageChangeFields = null;
this.isTakeover = false;
this.isSwitchingWin = false;
this.showCambioUso = false;
this.isMondoLarge = false;
this.isCurrentToBe = false;
this.isToBe = false;
console.log('cepDedicatedProcessWizard:searchPodPdr');
let searchBox = this.template.querySelector('[data-id="searchBox"]');
var serchValue = searchBox.value;
let value = searchBox.value;
this.pod = searchBox.value;
if (searchBox && !this.pod || this.pod.trim() === '') {
searchBox.classList.add('slds-has-error');
this.loading = false;
error(this, this.labels.requiredFields);
return;
}
if (!this.validate()) {
error(this, 'Inserire un formato POD/PDR corretto');
return;
}
this.pod = this.pod.trim();
this.setCommodity();
console.log("this.opportunityCommodity: " + this.opportunityCommodity);
console.log("this.commodity: " + this.commodity);
if (isLargeSmeUser || isLargeAema || isUmbriaEnergy || isAgencyReseller || isSmallBusinessUser) {
if (!(this.commodity == this.opportunityCommodity)) {
error(this, 'Inserire un POD/PDR con commodity corretta');
return;
}
}
this.showLoadingSpinner = true;
console.log('serchValue2 ' +serchValue);
queryPoint({
searchText: serchValue,
accountId: this.accountId,
opportunityId : this.opportunityId
}).then((response) => {
console.log('serchValue ' +serchValue);
this.setProcess(response);
console.log("Prestazioni: " + JSON.stringify(response.prestazioni));
console.log("Query Result: " + JSON.stringify(response.isContropartiCommerciali));
let spod = response.servicePointsPod;
let cpod = response.contendibilePod;
this.isServicePointOrContestable = cpod.length > 0 || spod.length > 0;
console.log("isServicePointOrContestable: " + this.isServicePointOrContestable);
if (response.pdaPod && response.pdaPod.length > 0) {
var podPda = response.podPda;
this.pdaId = podPda[0].Id;
}
else if (response.contendibilePod && response.contendibilePod.length > 0) {
var podContendibile = response.contendibilePod;
this.contestablePodId = podContendibile[0].Id;
}
else if (response.servicePointsPod && response.servicePointsPod.length > 0) {
var podService = response.servicePointsPod;
this.servicePointId = podService[0].Id;
this.currentAssetId = podService[0].CurrentAsset__c;
}
if (response.distributorName) {
this.distributorName = response.distributorName;
this.distributorVATNumber = response.distributorVATNumber;
}
if (response.prestazioni) {
//NTT WIND3 - Caso W3
if (response.prestazioni.toLocaleString().toUpperCase()=='ERRORE'){
error(this, 'Il prodotto è gia associato a W3 proseguire con il modifica offerta');
}
//
if(!this.wind3){
if (response.prestazioni.toLocaleString().toUpperCase().includes('CAMBIO PRODOTTO')) {
if(this.opportunityRecord.fields.Antichurn__c.value){
this.prestazioni.push({label: 'Switching Win', value: 'Switching Win' });
this.hasAntichurn = true;
}else{
if(!response.isContropartiCommerciali){
this.prestazioni.push({label: 'Cambio Prodotto', value: 'Cambio Prodotto' });
this.hasAntichurn = false;
console.log('cambio 1');
}
}
}
}
//NTT WIND3 - Caso AE
if (response.prestazioni.toLocaleString().toUpperCase().includes('CAMBIO PRODOTTO CROSS BRAND')) {
if(this.opportunityRecord.fields.Antichurn__c.value){
this.prestazioni.push({label: 'Switching Win', value: 'Switching Win' });
this.hasAntichurn = true;
}else{
//this.prestazioni.pop();
this.prestazioni.push({label: 'Cambio Prodotto Cross Brand', value: 'Cambio Prodotto' });
this.hasAntichurn = false;
console.log('Cambio 2');
}
}
else if (response.prestazioni.toLocaleString().toUpperCase().includes('SWITCHING WIN')) {
this.prestazioni.push({label: 'Switching Win', value: 'Switching Win' });
this.hasAntichurn = false;
}else{
error(this, 'Nessuna prestazione compatibile per il punto');
}
/*
if(response.isContropartiCommerciali){
if(response.prestazioni.includes('Cambio Prodotto') ){
response.prestazioni.splice(0, 1);
}
} */
let prestazioneForm = this.template.querySelector('[data-id="firstForm"]');
if (prestazioneForm && this.prestazioni) {
prestazioneForm.setFieldTypeAttribute('UsageCategory__c', 'options', this.prestazioni);
//prestazioneForm.setFieldTypeAttribute('Process__c', 'options', this.prestazioni);
}
if(response.isContropartiCommerciali ){
this.isContropartiCommerciali = true;
if(!this.prestazioni.includes('Switching Win') ){
this.prestazioni.push({label: 'Switching Win', value: 'Switching Win' });
}
}
this.showLoadingSpinner = false;
}
if (this.pod.toLowerCase().startsWith('it')) {
this.isGas = false;
this.isGasTrue = false;
}
else {
this.isGas = true;
this.isGasTrue = true;
}
if ((response.servicePointsPod && response.servicePointsPod.length > 0) || (response.contendibilePod && response.contendibilePod.length > 0)) {
return getPreviousProduct({
commodity: this.commodity,
accountID: this.accountId,
servicePointCode: this.pod
})
} else {
this.showCambioProdotto = false;
this.isGas = this.commodity == 'Gas';
this.showModal = true;
this.initializePrestazioneForm();
// this.checkForProductChange();
this.showLoadingSpinner = false;
//this.setPrestazioneOptionList();
}
}).then((response2) => {
if (response2 && response2.servicePoint) {
this.previousProduct = response2.servicePoint;
this.previousProductId = response2.servicePoint.CurrentAsset__r.Product2Id;
this.previousProductName = response2.servicePoint.CurrentAsset__r.Product2.Name;
this.showCambioProdotto = true;
} else {
this.showCambioProdotto = false;
}
this.isGas = this.commodity == 'Gas';
this.showModal = true;
this.initializePrestazioneForm();
// this.checkForProductChange();
this.showLoadingSpinner = false;
//this.setPrestazioneOptionList();
}).catch((errorMsg) => {
console.log(JSON.stringify(errorMsg))
});
console.log('servicePointId2021: ' + this.servicePointId);
console.log('contestablePodId2021: ' + this.contestablePodId);
}else{
let message = 'Limite massimo di richieste raggiunto : 5';
this.dispatchEvent(
new ShowToastEvent({
title: 'Errore',
message: message,
variant: 'error',
}),
);
}
}
setProcess(servicePoint, opportunityServiceItem) {
if (servicePoint) {
// TODO : Process default value to be defined based on the service point status
this.process = '';
}
else if (opportunityServiceItem) {
this.process = opportunityServiceItem.Process__c;
}
}
handleCloseModalOsi() {
this.resetForm();
this.showModal = false;
this.loadFields = false;
this.loadSwitchingFields = false;
this.loadUsageChangeFields = false;
this.showProcessEdit = false;
this.dispatchEvent(new CustomEvent('close'));
}
saveOsi() {
/*if (this.isTakeover) {
this.createFieldObjToSave();
let formValid = this.formValidityManager();
let formValidAddress = this.formValidForAddress('takeover');
if (formValid && formValidAddress) {
//this.formValidForAddress();
this.saveOSI();
}
else {
let message = '';
if(formValid && !formValidAddress){
message = 'Normalizzare o Forzare l \'indirizzo';
}else{
message = 'Controllare i campi obbligatori';
}
this.dispatchEvent(
new ShowToastEvent({
title: 'Errore',
message: message,
variant: 'error',
}),
);
}
} else*/
if(this.process.toLowerCase()=='cambio prodotto cross brand'){
console.log('chiudi modale');
this.handleCloseModalOsi();
return;
}
if (this.isSwitchingWin) {
this.createFieldObjToSave();
let formValid = this.formValidityManager();
if(this.process === 'Cambio Prodotto' || this.process === 'Cambio Prodotto Cross Brand'){
console.log('this.process: '+this.process);
if (formValid) {
this.saveOSI();
}else{
let message = 'Controllare i campi obbligatori';
this.dispatchEvent(
new ShowToastEvent({
title: 'Errore',
message: message,
variant: 'error',
}),
);
}
}else{
let addressMandatoryFields = this.formValidForAddress('switchingIn');
if (formValid && addressMandatoryFields && addressMandatoryFields.isValid) {
this.saveOSI();
}
else {
if(formValid && !addressMandatoryFields.isValid){
addressMandatoryFields.error.forEach((currentError) => {
error(this, currentError);
});
}else{
error(this, 'Controllare i campi obbligatori');
}
}
}
}
}
saveOSI() {
console.log("OSI PArams :" + JSON.stringify(this.osiFieldsToSave));
if (this.osiFieldsToSave) {
if (this.opportunityServiceItemId) {
this.osiFieldsToSave.Id = this.opportunityServiceItemId;
}
if (this.isTakeover)
this.insertOpportunityServiceItem();
else
this.insertOpportunityServiceItemSwitching(this.osiFieldsToSave);
}
}
checkForMissingFields(fields, objToCheck) {
let fieldsMap = objToCheck.data.fields;
let missingFields = [];
Object.entries(fields).forEach(element => {
if (element[1] == null || element[1] == undefined || element[1] == '')
if (element[0] != "UsageCategory__c")
delete this.osiFieldsToSave[element[0]];
if (!fieldsMap.hasOwnProperty(element[0])) {
missingFields.push(element[0]);
}
});
return missingFields;
}
dispatchSaveEvent(osi) {
this.dispatchEvent(new CustomEvent('save', {
detail: {
'opportunityServiceItemId': osi.id,
'opportunityServiceItem': osi
}
}, { bubbles: true }));
this.showModal = false;
}
async insertOpportunityServiceItem() {
try {
this.showSpinner = true;
const response = await insertOsi({
params: {
OSI: JSON.stringify(this.osiFieldsToSave),
codeAteco: this.atecoObject && this.atecoObject.Code__c ? this.atecoObject.Code__c : null,
actualVoltageLevel: !!this.actualVoltageLevel ? this.actualVoltageLevel : null,
atecoId: !!this.atecoManualSelection ? this.atecoManualSelection : null
}
});
console.log('insertOpportunityServiceItem response');
console.log(JSON.parse(JSON.stringify(response)));
/**
* Handle response error
*/
if (response.error) {
if (response.isOrdinario) {
this.dispatchEvent(
new ShowToastEvent({
title: 'Impossibile salvare OSI',
message: response.message,
variant: 'error',
}),
);
} else {
error(this, response.errorMsg);
}
/**
* Handle response success
*/
} else {
let osiId = response.osi.Id;
if (this.isGas)
checkDistrVat({ params: { osiId: osiId } }).then(result => {
if (result.error)
error(this, result.errorMsg);
});
this.dispatchEvent(new CustomEvent('save', {
detail: {
opportunityServiceItemId: response.osi.Id,
opportunityServiceItem: response.osi,
showNuovoPotenzaRichiesta: this.showNuovoPotenzaRichiesta
}
}));
this.resetForm();
this.showModal = false;
}
/**
* Handle exception
*/
} catch (error) {
console.log('saveOSI catch error');
console.log(JSON.parse(JSON.stringify(error)));
error(this, `${errorMsg} - ${errorTrace}`);
} finally {
this.showSpinner = false;
}
}
insertOpportunityServiceItemSwitching(recordInput) {
this.showSpinner = true;
let atecoId = this.atecoManualSelection;
let atecoCode = this.atecoObject && this.atecoObject.Code__c ? this.atecoObject.Code__c : null;
let inputs = { 'OSI': JSON.stringify(recordInput), 'codeAteco': atecoCode, 'atecoId': atecoId, 'isFromCommunity': 'true', isMassMarket: 'true' };
console.log('OSI JSON IN SAVING...' + JSON.stringify(recordInput));
insertOsiSwitching({
params: inputs
})
.then((response) => {
if (response) {
this.showSpinner = false;
if (response.error) {
if (response.isOrdinario) {
this.dispatchEvent(
new ShowToastEvent({
title: 'Impossibile salvare OSI',
message: response.message,
variant: 'error',
}),
);
}
else {
var errArray = response.errorMsg.split("FIELD_CUSTOM_VALIDATION_EXCEPTION,");
var err = errArray.length > 1 ? errArray[1] : errArray[0];
err = err.split(": []")[0];
error(this, err);
}
} else {
this.showLoadingSpinner = false;
console.log(JSON.stringify(response.osi));
this.dispatchEvent(new CustomEvent('save', {
detail: { opportunityServiceItemId: response.osi.Id, showNuovoPotenzaRichiesta: this.showNuovoPotenzaRichiesta }
}));
this.resetForm();
this.showModal = false;
}
}
})
.catch((errorMsg) => {
this.showSpinner = false;
error(this, errorMsg);
});
/* createRecord(recordInput)
.then(osiInserted => {
this.showLoadingSpinner = false;
console.log(JSON.stringify(osiInserted));
this.dispatchSaveEvent(osiInserted);
})
.catch(error => {
this.showLoadingSpinner = false;
this.dispatchEvent(
new ShowToastEvent({
title: 'Error creating record',
message: error.body.message,
variant: 'error',
}),
);
this.showModal = false;
});*/
}
handleFieldChange(event) {
// this.showProcessEdit = true;
console.log(JSON.stringify(event));
if (event.detail.source == "prestazione") {
this.isPrestazioneFormValid = event.detail.formValid;
switch (event.detail.field) {
case "Process__c":
this.process = event.detail.value;
if (!this.isEditMode) {
this.checkProcessCompatibility();
}
let prestazioneForm = this.template.querySelector('[data-id="firstForm"]');
if (event.detail.value.toLowerCase() == "cambio prodotto") {
this.handleChangeProductSelected(prestazioneForm);
} else {
prestazioneForm.setFieldStatus("PreviousProduct__c", "visible", false);
prestazioneForm.setFieldStatus("PreviousProduct", "visible", false);
}
if (event.detail.value.toLowerCase() == "cambio prodotto" || event.detail.value.toLowerCase() == "switching win") {
prestazioneForm.setFieldStatus("EffectiveDate__c", "visible", false);
} else if (this.isGas){
prestazioneForm.setFieldStatus("EffectiveDate__c", "visible", true);
}
return;
case "ContractType__c":
this.contractType = event.detail.value;
break;
case "PreviousProduct":
this.isShowPreviousProduct = true;
}
}
}
firePrescreening() {
//HERE THE PRESCREENING
let avantiButton = this.template.querySelector('[data-id="avantiButton"]');
if (avantiButton) {
avantiButton.disabled = true;
}
this.showSpinner = true;
isPrescreeningEnabled({ channel: this.channel, performance: this.process })
.then(response => {
if (response) {
if (!response.error) {
if (response.enabled)
this.getPrescreeningCheck();
else {
this.showSpinner = false;
if(this.process.toLowerCase()!='cambio prodotto'){
this.dispatchEvent(
new ShowToastEvent({
title: 'Prescreening',
message: 'Prescreening non abilitato per canale ' + this.channel + ' e prestazione ' + this.process,
variant: 'warning',
}),
);
}
avantiButton.disabled = false;
}
}
else {
this.showSpinner = false;
this.dispatchEvent(
new ShowToastEvent({
title: 'Prescreening',
message: response.errorMsg,
variant: 'warning',
}),
);
avantiButton.disabled = false;
updateOpportunityPrescreening({ prescreeningStatus: 'Non Previsto', oppId: this.opportunityId }).then(response => {
if (response.error) {
this.showSpinner = false;
this.dispatchEvent(
new ShowToastEvent({
title: 'Prescreening',
message: response.errorStacktrace,
variant: 'warning',
}),
);
}
})
}
}
})
}
getPrescreeningCheck() {
let avantiButton = this.template.querySelector('[data-id="avantiButton"]');
prescreeningCheck({ accountId: this.accountId, oppId: this.opportunityId })
.then((response) => {
if (response) {
avantiButton.disabled = false;
if (response.preescreeningAlreadyRequired) {
this.dispatchEvent(
new ShowToastEvent({
title: 'Prescreening',
message: 'Preescreening già richiesto per il cliente corrente ',
variant: 'warning',
}),
);
this.showSpinner = false;
return;
}
if (response.error || response.esito && response.esito.toLowerCase() === 'errore') {
this.dispatchEvent(
new ShowToastEvent({
title: 'Prescreening',
message: 'Errore tecnico, sistema non disponibile ',
variant: 'warning',
}),
);
this.showSpinner = false;
if (response.codiceAteco) {
let codiceAteco = response.codiceAteco;
atecoTranscoding({ codeAteco: codiceAteco, accountId: this.accountId, contractType: this.contractType }).then(result => {
if (result) {
this.atecoObject = result.ateco;
this.setAtecoField(this.atecoObject);
}
})
}
else {
this.setAtecoField(null);
}
} else if (response.prescreening) {
this.showSpinner = false;
this.dispatchEvent(
new ShowToastEvent({
title: 'Prescreening',
message: 'Prescreening recuperato in cache con esito ' + response.esito,
variant: response.esito.toLowerCase() == 'ko lavorabile' ? 'warning' : response.esito.toLowerCase() == 'ko non lavorabile' ? 'error' : 'success',
}),
);
if (response.esito.toLowerCase() == 'ko non lavorabile') {
this.dispatchPrescreeningEvent('Fatal');
}
if (response.esito.toLowerCase() == 'ko lavorabile') {
this.dispatchPrescreeningEvent('kolavorabile');
}
if (response.codiceAteco && response.atecoObj) {
//let codiceAteco = response.codiceAteco;
this.atecoObject = response.atecoObj;
this.setAtecoField(this.atecoObject);
}
}
else {
this.showSpinner = false;
if (response.esito.toLowerCase() == 'ok') {
let codiceAteco = response.codiceAteco;
atecoTranscoding({ codeAteco: codiceAteco, accountId: this.accountId, contractType: this.contractType }).then(result => {
if (result) {
this.atecoObject = result.ateco;
this.setAtecoField(this.atecoObject);
this.dispatchPrescreeningEvent('OK');
}
})
}
else if (response.esito.toLowerCase() == 'ko lavorabile') {
this.dispatchPrescreeningEvent('kolavorabile');
}
else if (response.esito.toLowerCase() == 'ko non lavorabile') {
this.dispatchPrescreeningEvent('Fatal');
}
}
}
})
.catch((errorMsg) => {
error(this, errorMsg);
this.showSpinner = false;
avantiButton.disabled = false;
});
}
setAtecoField(value) {
if (this.isTakeover) {
let takeOverWizard = this.template.querySelector('[data-id="takeoverWizard"]');
if (takeOverWizard && value) {
takeOverWizard.putAtecoObj(value);
}
} else {
let switchingWizard = this.template.querySelector('[data-id="switchingWizard"]');
if (switchingWizard && value) {
switchingWizard.putAtecoObj(value);
}
}
}
checkProcessCompatibility() {
if (!isLargeSmeUser && !isLargeAema && !isUmbriaEnergy && !isAgencyReseller && !isSmallBusinessUser) {
if(this.process.toLowerCase()!='cambio prodotto'){
this.dispatchEvent(
new ShowToastEvent({
title: 'Prescreening',
message: 'In attesa prescreening...',
variant: 'warning',
}),
);
}
}
this.showSpinner = true;
let input = {
podPdr: this.pod, startingProcess: this.process,
channel: this.channel ? this.channel : '*', commodity: this.commodity,
distributor: this.servicePoint && this.distributorName ? this.distributorName : '*'
};
processCompatibility({ params: input }).then(response => {
if (response) {
if (response.error) {
this.showSpinner = false;
if (!isLargeSmeUser && !isLargeAema && !isUmbriaEnergy && !isAgencyReseller && !isSmallBusinessUser) {
this.firePrescreening();
}
}
else {
if (response.incompatibility) {
let msg = response.incompatibleObject ? response.incompatibleObject.toLowerCase().includes('opportunity') ? 'Opportunity' : 'Integration Case' : '';
let blkObj = ' bloccante : ' + response.records && response.records.length > 0 ? response.records[0].Name : '';
this.dispatchEvent(
new ShowToastEvent({
title: 'Processo non compatibile',
message: msg + blkObj,
variant: 'warning',
}),
);
let prestazioneForm = this.template.querySelector('[data-id="firstForm"]');
if (prestazioneForm) {
prestazioneForm.setFieldValue('Process__c', '');
}
this.resetForm();
this.showSpinner = false;
this.selectedProcessIncompatible = true;
}
else {
this.selectedProcessIncompatible = false;
if (!isLargeSmeUser && !isLargeAema && !isUmbriaEnergy && !isAgencyReseller && !isSmallBusinessUser) {
this.firePrescreening();
} else {
this.showSpinner = false;
}
}
//this.showSpinner = false;
}
}
}).catch((errorMsg) => {
error(this, errorMsg);
this.showSpinner = false;
});
}
simulaOKPrescreening() {
this.dispatchPrescreeningEvent('OK');
}
simulaKOLavorabilePrescreening() {
this.dispatchPrescreeningEvent('Error');
}
simulaKONonLavorabilePrescreening() {
this.dispatchPrescreeningEvent('Fatal');
}
dispatchPrescreeningEvent(tipoEsito) {
this.dispatchEvent(new CustomEvent('prescreeningoutcome', {
detail: {
'type': tipoEsito
}
}, { bubbles: true }));
}
resetForm() {
//this.prestazioneFieldDisable(false);
this.process = '';
this.servicePointId = undefined;
this.contestablePodId = undefined;
this.contestablePod = null;
this.servicePoint = null;
let avantiButton = this.template.querySelector('[data-id="avantiButton"]');
let editButton = this.template.querySelector('[data-id="editButton"]');
if (avantiButton) {
avantiButton.disabled = false;
}
if (editButton) {
editButton.disabled = true;
}
this.showProcessEdit = false;
this.osiFieldsToSave = null;
this.prestazioni = [];
this.toBeValuesSelected = null;
this.actualVoltageLevel = null;
this.availablePowerSelected = null;
this.address = {};
this.distributorVATNumber = null;
this.distributorName = null;
this.distributorId = null;
this.isSaveDisabled = true;
this.opportunityServiceItem = null;
this.opportunityServiceItemId = null;
this.beneficiaryAccId = null;
this.climaticZone = null;
if (this.template.querySelector('c-cep-takeover-wizard'))
this.template.querySelector('c-cep-takeover-wizard').resetForm();
if (this.template.querySelector('c-cep-switching-win-wizard'))
this.template.querySelector('c-cep-switching-win-wizard').resetForm();
if (this.template.querySelector('c-cep-osi-referente-punto'))
this.template.querySelector('c-cep-osi-referente-punto').resetForm();
this.atecoManualSelection = null;
this.pod = '';
this.loadFields = false;
this.loadSwitchingFields = false;
this.loadUsageChangeFields = false;
this.showModal = false;
}
prestazioneFieldDisable(isPrestazione, buttonclk) {
let formBuilder = this.template.querySelector('[data-id="firstForm"]');
if (formBuilder && buttonclk && buttonclk === this.editButton) {
this.showProcessEdit = false;
this.editButtonStatus(buttonclk);
formBuilder.setFieldStatus('Process__c', 'disabled', isPrestazione);
if (!isLargeSmeUser && !isLargeAema && !isUmbriaEnergy && !isAgencyReseller && !isSmallBusinessUser) {
formBuilder.setFieldStatus('ContractType__c', 'disabled', this.opportunityServiceItemId || (this._account && this._account.RecordType.DeveloperName && this._account.RecordType.DeveloperName == 'CEP_RT_Organization') || (this._account && this._account.RecordType.DeveloperName == 'CEP_RT_PhysicalPerson' && this._account.VATNumber__c == undefined));
formBuilder.setFieldStatus('EffectiveDate__c', 'disabled', isPrestazione);
}
return;
}
let isPrestazioneSelected = this.process && this.process !== '';
let formBuilerCmp = this.template.querySelector('c-form-builder');
let prestazioneIsValid = true;
if (formBuilerCmp) {
prestazioneIsValid = formBuilerCmp.showFieldsErrorFocus();
}
if (isPrestazioneSelected && prestazioneIsValid) {
//formBuilder.setFieldValue('Process__c', this.process);
formBuilder.setFieldStatus('Process__c', 'disabled', isPrestazione);
if (!isLargeSmeUser && !isLargeAema && !isUmbriaEnergy && !isAgencyReseller && !isSmallBusinessUser) {
formBuilder.setFieldStatus('ContractType__c', 'disabled', isPrestazione);
formBuilder.setFieldStatus('EffectiveDate__c', 'disabled', isPrestazione);
}
this.editButtonStatus(this.avantiButton);
this.showModalHandler();
}
else {
this.dispatchEvent(
new ShowToastEvent({
title: 'Errore',
message: 'Seleziona un tipo di prestazione',
variant: 'error',
}),
);
}
}
handleAvantiModalPrestazione() {
console.log('this process incompatible ' + this.selectedProcessIncompatible);
console.log('this commodity ' + this.commodity);
console.log('this wave 1' + this.checkProcessiWave1());
if (this.checkProcessiWave1() && !this.selectedProcessIncompatible) {
this.prestazioneFieldDisable(true);
//this.setPrestazioneOptionList();
}
else {
if (this.selectedProcessIncompatible) {
this.dispatchEvent(
new ShowToastEvent({
title: 'Errore',
message: 'Selezionare un processo compatibile',
variant: 'error',
}),
);
}
else {
this.dispatchEvent(
new ShowToastEvent({
title: 'Errore',
message: 'Funzionalità non disponibile per tipo di prestazione : ' + this.process,
variant: 'error',
}),
);
}
}
}
handleEditModalPrestazione() {
this.prestazioneFieldDisable(false, this.editButton);
//this.setPrestazioneOptionList();
}
editButtonStatus(buttonClicked) {
let avantiButton = this.template.querySelector('[data-id="avantiButton"]');
let editButton = this.template.querySelector('[data-id="editButton"]');
if (buttonClicked === this.avantiButton) {
avantiButton.disabled = true;
editButton.disabled = false;
this.isSaveDisabled = false;
}
if (buttonClicked === this.editButton) {
avantiButton.disabled = false;
editButton.disabled = true;
this.isSaveDisabled = true;
let formBuilder = this.template.querySelector('[data-id="firstForm"]');
//formBuilder.setFieldStatus('Process__c', 'disabled', false);
//formBuilder.setFieldValue('Process__c', this.process);
}
}
@track osiReferrerPointFields;
/**
* Handle c-cep-osi-referente-punto event
* @param {*} event
*/
handleOsiReferrerPoint(event) {
this.osiReferrerPointFields = event.detail;
}
handleSelectedValue(event) {
this.showNuovoPotenzaRichiesta = event.detail.showNuovoPotenzaRichiesta;
let fieldSelected = event.detail.campo;
let valueSelected = event.detail.valore;
this.toBeValuesSelected = event.detail.allFields;
if (fieldSelected == 'ActualVoltageLevel__c' || fieldSelected == 'VoltageLevel__c') {
this.actualVoltageLevel = valueSelected;
}
if (fieldSelected == 'ContractualPower__c' || fieldSelected == 'RequestedContractualPower__c') {
this.availablePowerSelected = this.toBeValuesSelected.AvailablePower__c;
}
if (this.isTakeover) {
let takeOverWizard = this.template.querySelector('[data-id="takeoverWizard"]');
if (takeOverWizard) {
takeOverWizard.processExternalValue(fieldSelected, valueSelected);
if (isLargeSmeUser && isLargeAema && isUmbriaEnergy) {
takeOverWizard.processExternalValue('Usage__c', this.opportunityServiceItem.Usage__c);
}
}
} else {
let switchingWizard = this.template.querySelector('[data-id="switchingWizard"]');
if (switchingWizard) {
switchingWizard.processExternalValue(fieldSelected, valueSelected);
if (isLargeSmeUser && isLargeAema && isUmbriaEnergy) {
switchingWizard.processExternalValue('Usage__c', this.opportunityServiceItem.Usage__c);
}
}
}
this.isEditMode = false;
}
handleIvaSelected(event) {
if (!this.isEditMode) {
let source = event.detail.source;
let ivaFieldSelected = event.detail.ivaField;
this.ivaCodeSelected = event.detail.ivaCode;
this.ivaNumberSelected = event.detail.ivaNumber;
if (this.isTakeover) {
let takeOverWizard = this.template.querySelector('[data-id="takeoverWizard"]');
if (takeOverWizard && source && source.toLowerCase().includes('cepcurrenttobevalue')) {
takeOverWizard.processIva(ivaFieldSelected);
}
} else {
let switchingWizard = this.template.querySelector('[data-id="switchingWizard"]');
if (switchingWizard && source && source.toLowerCase().includes('ceptobevalue')) {
switchingWizard.processIva(ivaFieldSelected);
}
}
}
//this.isEditMode = false;
}
handleTakeoverDataChange(event) {
let name = event.detail.name;
switch (name) {
case 'distributorselected':
this.handleDistributorSelected(event);
break;
case 'atecomanualselection':
this.handleAtecoManualSelection(event);
break;
case 'selectediva':
this.handleIvaSelected(event);
break;
case 'addresschanged':
this.handleAddressChanged(event);
break;
case 'beneficiaryselected':
this.handleBeneficiarySelected(event);
break;
case 'selectedclimaticzonegas':
this.handleSelectedClimaticZone(event);
default:
break;
}
}
handleSwitchingDataChange(event) {
let name = event.detail.name;
switch (name) {
case 'distributorselected':
this.handleDistributorSelected(event);
break;
case 'atecomanualselection':
this.handleAtecoManualSelection(event);
break;
case 'selectediva':
this.handleIvaSelected(event);
break;
case 'addresschanged':
this.handleAddressChanged(event);
break;
case 'beneficiaryselected':
this.handleBeneficiarySelected(event);
break;
case 'selectedclimaticzonegas':
this.handleSelectedClimaticZone(event);
break;
case 'traderselected' :
this.handleSelectedTrader(event);
break;
default:
break;
}
}
handleSelectedClimaticZone(event) {
this.climaticZone = event.detail.climaticzoneCode;
}
handleSelectedTrader(event) {
this.traderPIVA = event.detail.traderPIVA;
this.traderName = event.detail.traderName;
}
handleDistributorSelected(event) {
this.distributorVATNumber = event.detail.distributorVAT;
this.distributorName = event.detail.distributorName;
}
handleAddressChanged(event) {
this.isSaveDisabled = event.detail.disableSave;
}
createFieldObjToSave() {
console.log('OPP OBJ :' + JSON.stringify(this.objectInfo.data.fields));
var osiFields;
var takeOverFields;
var switchingFields;
var usageChangeFields;
var prestazioneF;
var toBeValueFields;
this.isCambioUso = false;
console.log('this.isCambioUso:' + this.isCambioUso + ' showProcessWizard:' + this.loadFields);
let takeOver;
let switching;
let usageChange;
let prestazione;
if (this.isCambioUso) {
usageChange = this.template.querySelector('[data-id="usageChangeWizard"]');
prestazione = this.template.querySelector('[data-id="firstForm"]');
console.log('cmp: usageChange ' + takeOver);
} else if (this.isTakeover) {
takeOver = this.template.querySelector('[data-id="takeoverWizard"]');
prestazione = this.template.querySelector('[data-id="firstForm"]');
toBeValueFields = this.toBeValuesSelected;
console.log('cmp: takeoverWizard ' + toBeValueFields);
} else {
switching = this.template.querySelector('[data-id="switchingWizard"]');
prestazione = this.template.querySelector('[data-id="firstForm"]');
toBeValueFields = this.toBeValuesSelected;
console.log('cmp: switchingWizard ' + JSON.stringify(toBeValueFields));
}
if (takeOver) {
takeOverFields = takeOver.getOpportunityServiceItemFields();
if (prestazione) {
prestazioneF = prestazione.visibleFields;
}
if (!this.isGas)
osiFields = {
...takeOverFields,
...prestazioneF,
...toBeValueFields
};
else
osiFields = {
...takeOverFields,
...prestazioneF
};
} else if (switching) {
switchingFields = switching.getOpportunityServiceItemFields();
console.log('cmp: switchingWizard2 ' + JSON.stringify(switchingFields));
if (prestazione) {
prestazioneF = prestazione.visibleFields;
}
if (!this.isGas)
osiFields = {
...switchingFields,
...prestazioneF,
...toBeValueFields
};
else
osiFields = {
...switchingFields,
...prestazioneF
};
} else if (usageChange) {
usageChangeFields = usageChange.getOpportunityServiceItemFields();
console.log('cmp: usageChangeFields2 ' + JSON.stringify(usageChangeFields));
if (prestazione) {
prestazioneF = prestazione.visibleFields;
}
osiFields = {
...switchingFields,
...prestazioneF
}
}
if (osiFields) {
osiFields.RecordTypeId = this.getRecordTypeId(this.commodity);
osiFields.Opportunity__c = this.opportunityId;
osiFields.ProductFamily__c = this.productFamily;
osiFields.ServicePointCode__c = this.pod;
osiFields.ServicePoint__c = this.servicePointId;
osiFields.Account__c = this.accountId;
osiFields.VATClass__c = 'Reseller' != this.segmentAccount ? this.ivaCodeSelected : 'RZ';
osiFields.VATRate__c = 'Reseller' != this.segmentAccount ? this.ivaNumberSelected : '0';
osiFields.AvailablePower__c = this.availablePowerSelected ? this.availablePowerSelected.toString().replace(',', '.') : osiFields.AvailablePower__c ? osiFields.AvailablePower__c.toString().replace(',', '.') : null;
osiFields.ContractualPower__c = osiFields.ContractualPower__c ? osiFields.ContractualPower__c.toString().replace(',', '.') : null;
osiFields.RequestedAvailablePower__c = osiFields.RequestedAvailablePower__c ? osiFields.RequestedAvailablePower__c.toString().replace(',', '.') : null;
osiFields.RevenueAgencyRegistrationOngoing__c = osiFields.RevenueAgencyRegistrationOngoing__c ? (osiFields.RevenueAgencyRegistrationOngoing__c == 'SI' ? true : false) : false;
if(osiFields.Process__c.toLowerCase() == 'cambio prodotto' && this.commodity == 'Gas'){
if(this.servicePoint){
osiFields.DistributorName__c = this.servicePoint.fields && this.servicePoint.fields.DistributorName__c ? this.servicePoint.fields.DistributorName__c.value : null;
osiFields.DistributorVATNumber__c = this.servicePoint.fields&& this.servicePoint.fields.DistributorVATNumber__c ? this.servicePoint.fields.DistributorVATNumber__c.value : null;
osiFields.Distributor__c = this.servicePoint.fields&& this.servicePoint.fields.Distributor__c ? this.servicePoint.fields.Distributor__c.value : null;
}
}else{
osiFields.DistributorName__c = this.distributorName;
osiFields.DistributorVATNumber__c = this.distributorVATNumber;
osiFields.Distributor__c = this.distributorId;
}
//NTT W3
console.log('fuori cambio prodotto cross brand');
console.log(this.compChan);
if(osiFields.Process__c.toLowerCase() == 'cambio prodotto' && this.wind3 == true && this.compChan == 'AE'){
console.log('dentro cambio prodotto cross brand');
osiFields.Process__c = 'Cambio Prodotto Cross Brand';
}
//
osiFields.PreviousProduct__c = this.previousProductId;
let powerPhase = '';
if (osiFields.VoltageLevel__c) {
powerPhase = osiFields.VoltageLevel__c.toLowerCase() == 'bt monofase' ? 'Monofase' : 'Trifase';
}
osiFields.PowerPhase__c = powerPhase;
if (this.isGas && osiFields.PDRType__c)
osiFields.Usage__c = osiFields.PDRType__c;
// if(this.atecoManualSelection)
// osiFields.CodeAteco__c = this.atecoManualSelection;
osiFields.BeneficiaryAccount__c = this.beneficiaryAccId;
osiFields.PreviousTraderVATNumber__c = this.traderPIVA;
osiFields.PreviousTraderName__c = this.traderName;
osiFields.ClimaticZone__c = this.climaticZone;
osiFields.Antichurn__c = this.hasAntichurn;
this.osiFieldsToSave = osiFields;
//THIS DELETE NON VALUED FIELDS FROM JSON (PREVENTING TO PASS 'NULL' IN SOME DATA OR BOOLEAN FIELDS)
this.checkForMissingFields(osiFields, this.objectInfo);
//console.log('FINAL OSI OBJ INM SAVING ', JSON.stringify(this.osiFieldsToSave));
this.osiFieldsToSave = {
...this.osiFieldsToSave,
...this.osiReferrerPointFields,
};
console.log('+++++++++++++++++++++++++')
console.log('createFieldObjToSave: this.osiFieldsToSave');
console.log(JSON.parse(JSON.stringify(this.osiFieldsToSave)));
console.log('+++++++++++++++++++++++++')
// THIS FUNCTION HELPS TO CHECK IF THERE'S SOME MISSING FIELD IN OSI OBJECT
/*let missingFields = this.checkForMissingFields(osiFields,this.objectInfo);
if(missingFields.length>0){
let missFields = '';
missingFields.forEach(element =>{
missFields+= JSON.stringify(element) +'\n';
})
this.dispatchEvent(
new ShowToastEvent({
title: 'Missing Fields in ' + OPPORTUNITY_SERVICE_ITEM_OBJECT.objectApiName,
message: missFields,
variant: 'warning',
}),
);
} */
}
}
formValidityManager() {
// if (this.isEditMode)
// return true;
let takeOverIsValid = true;
let takeOverCmp = this.template.querySelector('c-cep-takeover-wizard');
if (takeOverCmp) {
takeOverIsValid = takeOverCmp.getFormValidity();
console.log('takeOverIsValid: ' + takeOverIsValid);
}
let formBuilerCmp = this.template.querySelector('c-form-builder');
let prestazioneIsValid = true;
if (formBuilerCmp) {
prestazioneIsValid = formBuilerCmp.showFieldsErrorFocus();
}
if (this.isSwitchingWin) {
let switchingWinIsValid = true;
let awitchingWinCmp = this.template.querySelector('c-cep-switching-win-wizard');
if (awitchingWinCmp) {
switchingWinIsValid = awitchingWinCmp.getFormValidity();
}
let toBeValCmp = this.template.querySelector('c-cep-to-be-value');
let toBeValValid = true;
if (toBeValCmp) {
toBeValValid = toBeValCmp.getFormValidity();
}
// let switchingWinAddressFormCmp = this.template.querySelector('c-cep-switching-win-wizard');
// this.switchingInAddressIsValid = true;
// if(this.switchingWinAddressFormCmp){
// this.switchingInAddressIsValid = switchingWinAddressFormCmp.getAddressValidity();
// console.log('switchingInAddressIsValid: ' + this.switchingInAddressIsValid);
// }
return switchingWinIsValid && prestazioneIsValid && toBeValValid;// && switchingInAddressIsValid;
} else {
let takeOverIsValid = true;
let takeOverCmp = this.template.querySelector('c-cep-takeover-wizard');
if (takeOverCmp) {
takeOverIsValid = takeOverCmp.getFormValidity();
}
let currentValCmp = this.template.querySelector('c-cep-current-to-be-value');
let tbvValid = true;
if (currentValCmp) {
tbvValid = currentValCmp.getFormValidity();
}
// let takeOverAddressFormCmp = this.template.querySelector('c-cep-takeover-wizard');
// this.takeOverAddressIsValid = true;
// if(takeOverAddressFormCmp){
// this.takeOverAddressIsValid = takeOverCmp.getAddressValidity();
// console.log('takeOverAddressIsValid: ' + this.takeOverAddressIsValid);
// }
console.log('takeOverIsValid : ' + takeOverIsValid);
console.log('prestazioneIsValid : ' + takeOverIsValid);
console.log('currentToBeIsValid : ' + takeOverIsValid);
let osiReferrerPointCmp = this.template.querySelector('c-cep-osi-referente-punto');
let osiReferrerPointValid = true;
if (osiReferrerPointCmp) {
osiReferrerPointValid = osiReferrerPointCmp.getFormValidity();
}
console.log('osiReferrerPointValid : ' + osiReferrerPointValid);
console.log('takeOverIsValid : ' + takeOverIsValid);
console.log('prestazioneIsValid : ' + takeOverIsValid);
console.log('currentToBeIsValid : ' + takeOverIsValid);
return takeOverIsValid && prestazioneIsValid && tbvValid && osiReferrerPointValid;// && takeOverAddressIsValid;
}
console.log('osiReferrerPointValid : ' + osiReferrerPointValid);
console.log('takeOverIsValid : ' + takeOverIsValid);
console.log('prestazioneIsValid : ' + takeOverIsValid);
console.log('currentToBeIsValid : ' + takeOverIsValid);
return takeOverIsValid && prestazioneIsValid && tbvValid && osiReferrerPointValid;
}
@api showModalHandler() {
this.showModal = true;
if (this.process === 'SWITCHING WIN' || this.process === 'Switching Win' || this.process === 'Cambio Prodotto' || this.process === 'CAMBIO PRODOTTO' || this.process == 'Cambio Prodotto Cross Brand' || this.process == 'CAMBIO PRODOTTO CROSS BRAND') {
this.loadSwitchingFields = true;
} else if(this.process === 'Cambio Uso' || this.process === 'Cambio uso'){
this.loadUsageChangeFields = true;
}else {
this.loadFields = true;
}
this.showProcessEdit = true;
}
validate() {
const gmPatt = /^(\d{14})$/i;
const eePatt = /^(\w{2}\d{3}\w{1}\d{8})$/i;
//const eePattv2 = /^(\w{2}\d{3}\w{1}\d{7}\w{1})$/i;
const eePattv2 = /^(IT\d{3}E\d{7}\w{1})$/i;
let matchResult = gmPatt.test(this.pod);
if (!matchResult) {
//matchResult = eePatt.test(this.pod);
//if (!matchResult) {
matchResult = eePattv2.test(this.pod);
//}
}
return matchResult;
}
setOppCommodity() {
console.log("opportunityId: " + this.opportunityId);
if (this.opportunityId) {
getOppCommodity({
opportunityId: this.opportunityId
}).then((response) => {
console.log("opportunityCommodity: " + JSON.stringify(response));
this.opportunityRecordType = response.recType;
if (response.commodity == "Gas") {
this.opportunityCommodity = "Gas";
} else if (response.commodity == "Elettrico" || response.commodity == "Electric") {
this.opportunityCommodity = "Electric"
}
console.log("this.opportunityCommodity: " + this.opportunityCommodity);
}).catch((errorMsg) => {
console.log(JSON.stringify(errorMsg))
});
}
}
checkProcessiWave1() {
let valid = false;
if (this.process) {
if (this.commodity == 'Electric') {
prestazioneElectricOptionList.forEach(element => {
console.log('process lower case '+this.process.toLowerCase());
console.log('element value ' + element.value.toLowerCase());
if (this.process.toLowerCase() == element.value.toLowerCase()) {
valid = true;
}
else if(this.process.toLowerCase()=='cambio prodotto cross brand' && element.value.toLowerCase()=='cambio prodotto'){
valid = true;
}
})
}
if (this.commodity == 'Gas') {
prestazioneGasOptionList.forEach(element => {
if (this.process.toLowerCase() == element.value.toLowerCase()) {
valid = true;
}
else if(this.process.toLowerCase()=='cambio prodotto cross brand' && element.value.toLowerCase()=='cambio prodotto'){
valid = true;
}
})
}
return valid;
}
else {
return true;
}
}
handleSearchBoxInput(event) {
let input = event.detail.value;
if (input) {
let searchBox = this.template.querySelector('[data-id="searchBox"]');
if (searchBox) {
searchBox.value = input.toUpperCase();
}
}
}
handleAtecoManualSelection(event) {
this.atecoManualSelection = event.detail.Id;
if (this.isTakeover) {
let ctb = this.template.querySelector('c-cep-current-to-be-value');
if (ctb)
//ctb.setRequestedIndustrialSectorFromAteco(event.detail.atecoDescription);
ctb.setRequestedIndustrialSectorFromAteco(event.detail.atecueDescription);
} else {
let tb = this.template.querySelector('c-cep-to-be-value');
if (tb)
tb.setRequestedIndustrialSectorFromAteco(event.detail.atecueDescription);
}
}
handleFieldInit(event) {
this.takeOverFields = event.detail;
this.isCurrentToBe = !this.isGas;
this.isToBe = false;
this.isTakeover = true;
}
handleSwitchingFieldInit(event) {
this.switchingFields = event.detail;
this.isCurrentToBe = false;
this.isToBe = !this.isGas && (this.process.toLowerCase() != 'cambio prodotto' && this.process.toLowerCase() != 'cambio prodotto cross brand');
this.isSwitchingWin = true;
}
handleUsageChangeFieldInit(event){
this.usageChangeFields = event.detail;
console.log("Dedicated Fields " + JSON.stringify(event.detail));
this.isCurrentToBe = false;
this.isToBe = false;
this.showCambioUso = true;
}
activateSpinner(active) {
this.showSpinner = active;
}
handleSpinner(event) {
this.activateSpinner(event.detail.active);
}
handleBeneficiarySelected(event) {
this.beneficiaryAccId = event.detail.beneficiaryId;
}
handleTakeOverFieldChange(event) {
this.isEditMode = false;
}
handleSwitchingFieldChange(event) {
this.isEditMode = false;
}
handleUsageChangeFieldChange(event) {
this.isEditMode = false;
}
getPreviousProductData() {
if ((this.servicePointId || this.contestablePodId) && this.commodity && this.accountId && this.pod) {
getPreviousProduct({
commodity: this.commodity,
accountID: this.accountId,
servicePointCode: this.pod
}).then((response) => {
if (response.servicePoint) {
this.previousProduct = response.servicePoint;
this.previousProductId = response.servicePoint.CurrentAsset__r.Product2Id;
this.previousProductName = response.servicePoint.CurrentAsset__r.Product2.Name;
this.initializePrestazioneForm();
}
}).catch((errorMsg) => {
console.log("Previous Product: error " + JSON.stringify(errorMsg))
this.initializePrestazioneForm();
});
}
}
handleChangeProductSelected(prestazioneForm) {
prestazioneForm.setFieldStatus("PreviousProduct__c", "visible", true);
prestazioneForm.setFieldValue("PreviousProduct__c", this.previousProduct.CurrentAsset__r.Product2.Name);
prestazioneForm.setFieldStatus("PreviousProduct", "visible", true);
// this.servicePointId = this.previousProductId;
}
handleClosePreviousProductModal() {
this.isShowPreviousProduct = false;
}
// handleTraderSelected(event){
// this.traderId = event.detail.traderId;
// }
formValidForAddress(type){
//let addressIsValid = true;
let addressMandatoryFields = {
error: [],
isValid: false
};
switch (type) {
/*case "takeover":
let takeOverAddressFormCmp = this.template.querySelector('c-cep-takeover-wizard');
if(takeOverAddressFormCmp){
addressIsValid = takeOverAddressFormCmp.getAddressValidity() || switchingWinAddressFormCmp.getIsAddressForced();;
console.log('takeOverAddressIsValid: ' + addressIsValid);
}
break;*/
case "switchingIn":
let switchingWinAddressFormCmp = this.template.querySelector('c-cep-switching-win-wizard');
if(switchingWinAddressFormCmp){
addressMandatoryFields = switchingWinAddressFormCmp.getAddressMandatoryFields();
}
break;
}
return addressMandatoryFields;
}
}Editor is loading...