{"version":3,"sources":["common/constants/text-input.constants.ts","common/constants/dropdown.constants.ts","common/constants/coa.constants.ts","common/constants/rm.constants.ts","common/constants/drp_comp.constants.ts","styles/components/text-input.module.scss","store/actions/market-price.ts","store/actions/producer.ts","store/actions/madcapintegration.ts","common/utils/index.ts","styles/layout/cards.module.scss","styles/components/number-stepper.module.scss","common/components/ui/footer/footer.tsx","hoc/layout/layout.tsx","hoc/error-boundary/error-boundary.tsx","hoc/page-header/page-header.tsx","hoc/card/card.tsx","hoc/card-header/card-header.tsx","hoc/card-content/card-content.tsx","hoc/rehydrate/rehydrate.tsx","hoc/card-threedot/card-threedot.tsx","common/constants/constants.ts","assets/images/logo-rmi-lockup.svg","store/reducers/coa.ts","common/components/ui/footer/footer.styles.module.scss","common/services/error-log.service.ts","common/services/localstorage.service.ts","common/services/logger.service.ts","common/services/http.service.ts","common/configs/path.config.ts","common/configs/auth.config.ts","styles/layout/layout.module.scss","styles/layout/login.module.scss","common/constants/madcap.constants.ts","store/actions/auth.ts","store/actions/leftMenuActions.ts","store/actions/pdfprintdata.ts","store/actions/sync.offline.ts","store/actions/yearAction.ts","schemas/Model/position.model.ts","store/actions/message-notification.ts","containers/rm/steps/position/utility.ts","styles/components/dropdown.module.scss","store/reducers/multiYearPrintReducer.ts","store/index.ts","store/actions/rehydrate.ts","store/actions/actions.ts","store/actions/coa.ts","store/reducers/auth.ts","store/reducers/drp.ts","store/reducers/drpError.ts","store/reducers/leftMenuReducer.ts","store/reducers/madcapintegration.ts","store/reducers/market-price.ts","store/reducers/message-notification.ts","store/reducers/pdfprintdata.ts","store/reducers/producer.ts","store/reducers/rehydrate.ts","store/reducers/sync.offline.ts","store/reducers/yearReducer.ts","styles/layout/navigation.module.scss","styles/components/header.module.scss","containers/error/error.tsx","containers/login/auth/auth.tsx","assets/images/logo.jpg","containers/login/login.tsx","App.tsx","serviceWorkerRegistration.ts","index.tsx","schemas/user.schema.ts","schemas/error.schema.ts","schemas/producer.schema.ts","schemas/market-price.schema.ts","schemas/market-price-info.schema.ts","schemas/position-summary.schema.ts","schemas/dmc.schema.ts","schemas/drp.schema.ts","schemas/rm-header.schema.ts","schemas/endorsement.schema.ts","schemas/drp-component.schema.ts","common/utils/utility.ts","common/components/loader/loader.tsx","common/components/header/header.tsx","common/components/producer/list-producer.tsx","common/components/producer/list-producer-loader.tsx","common/components/message/message.tsx","common/components/navigation/navigation.tsx","common/components/ui/auto-dropdown/auto-dropdown.tsx","common/components/ui/button/button.tsx","common/components/ui/checkbox/checkbox.tsx","assets/images/arrow.svg","common/components/ui/dropdown/dropdown.tsx","common/components/ui/modal/modal.tsx","common/components/ui/step-wizard/step.wizard.tsx","common/components/ui/text-input/text-input.tsx","common/components/ui/number-stepper/number-stepper.tsx","common/components/ui/modal/confirm/confirm.tsx","common/components/ui/popup/popup.tsx","common/components/ui/tooltip/tooltip.tsx"],"names":["INPUT_TYPE","TEXT","NUMBER","TEXT_AREA","DECIMAL","DECIMAL_5_PLACES","DECIMAL_4_PLACES","DECIMAL_3_PLACES","DECIMAL_2_PLACES","DECIMAL_1_PLACE","PERCENT","TEXT_SIZE","SMALL","DEFAULT","LARGE","DROPDOWN_TYPE","ROUNDED","DROPDOWN_ARROW_TYPE","ARRROW","NOARROW","ROUNDED_ARROW","EXTENSION_INDICATOR_CODE_TYPE","NONE","CALCULATION","SUMMARY","INDICATOR_TYPECODE_KEY","CALCULATED","FILLED_MANUAL_TEXT","SECTION_TYPE_CODE","INCOME","EXPENSE","ACCRUAL","FINANCIAL_INSIGHTS","ACCRUAL_ADJUSTMENTS","BASIS_ASSUMPTION","NET_CASH_INCOME","NET_INCOME","TOTAL_ACCURAL_COP","SECTION_CODES","BASIC_INFO","GENERAL","CROP","BS_DETAIL","SUBSECTION_TYPE_CODE","LIVESTOCK_INVENTORY","NON_FEED","DEPRECIATION","PRINCIPAL_PAYMENTS","STATUS","STORED_AMT_KEYS","BEGINNING_BALANCE","ENDING_BALANCE","VALUE_PER_HEAD","BEGINNING_NO_OF_HEAD","ENDING_NO_OF_HEAD","ASSIGNED_PERCENTAGE","STORED_MEASURE_KEYS","PER_CWT","PER_COW_PER_DAY","PER_COW_PER_YEAR","PER_ACRE","INDICATOR_KEYS","JOURNAL_HEADER_KEYS","AVG_NO_OF_MATURE_COWS","AVG_NO_OF_REPLACEMENT_INVENTORY","VOL_OF_MILK_SOLD_CWTS","CORN_FORAGE_ACRES","CORN_GRAIN_ACRES","ALFA_ALFA_ACRES","OTHER_FORAGE_ACRES","OTHER_CASH_GRAIN_ACRES","TOTAL_ACRES","TOTAL_CALVES","TOTAL_HEIFERS","TOTAL_BRED_HEIFERS","ACCURAL_ADJUSTMENTS","FEED_CROP_INVENTORY","PREPAIDS","ACCOUNT_RECEIVABLE","ACCOUNT_PAYABLE","DEPR_EXPENSE","IDENTIFIERS","MILK","TOTAL_OPERATING_COST","TOTAL_ACCURAL_ADJUSTMENTS","TOTAL_IDENTIFIED_COP","NET_COP_MILK","CLASS3","CLASS3_HISTORIC","CLASS3_FORECAST","CLASS3_WEIGHT","CLASS3_BREAKEVEN","CLASS4","CLASS4_HISTORIC","CLASS4_FORECAST","CLASS4_WEIGHT","CLASS4_BREAKEVEN","CASH_PLUS_PRINCIPAL","CASH_PLUS_PRINCIPAL_BREAKEVEN","CASH_PLUS_PRINCIPAL_CL3_BREAKEVEN","CASH_PLUS_PRINCIPAL_CL4_BREAKEVEN","CASH_PLUS_DEPRECIATION","CASH_PLUS_DEPRECIATION_BREAKEVEN","CASH_PLUS_DEPRECIATION_CL3_BREAKEVEN","CASH_PLUS_DEPRECIATION_CL4_BREAKEVEN","CASH_FEED_COST","ACCURAL_FEED_COST","CHANGE_IN_LIVESTOCK","CHANGE_IN_FEED_CROP","CHANGE_IN_PREPAID","CHANGE_IN_AR","CHANGE_IN_AP","CHANGE_IN_DEPRECIATION","NET_CASH_FEED_COST","NET_ACCURAL_FEED_COST","FEED_INVENTORY","NON_FEED_INVENTORY","FEED_CROP_PREPAID","FEED_CROP_AR","FEED_CROP_AP","BS_PREPAID","BS_AR","BS_AP","BS_LIVESTOCK","BS_DEPRECIATION","BS_NON_FEED_CROP","BS_PRINCIPAL_PAYMENTS","BS_EQUIPMENT","BS_FACILITY","FEED_EXPENSE","BS_CHANGE_IN_HERD_VALUE","ACTION_CODE","CREDIT","DEBIT","ClASS3_DROPDOWN_OPTIONS","START","END","DIFFERENCE","GRAPH_DATA_IDENTIFIERS","COA_TYPECODES","DEFAULT_ALLOCATION_TYPE","REPORTING_SECTION","DEFAULT_PERCENT","ALLOCATION_TYPES","DIRECT_ENTRY","SUBSECTION_IN_LIVESTOCK_INVENTORY","HERD_VALUE","RMSUMMARY_NETMTM_NOTE","NUM_OF_CARDS","RM_OPTIONS","CONTRACT","FLOOR","COLLAR","CEILING","RM_ALLOCATION_TYPES","FIXED","VAR_COW","VAR_CWT","FORECAST_SUMMARY","DO_NOT_FORECAST","Comm_SymbolTo_Volume_Dict","Comm_Divisor_Dict","Comm_Multiplier_Dict","RM_COMMODITIES","COMMODITY","MUTLIPLIER","SYMBOL","CHEESE","CORN","SBM","ALFALFA","MULTIPLIER","ACTUALFEED","ALLMILK","RM_COMMODITIES_INPUT","STRIKE","CONTRACTS","VOLUME","PREMIUM","NET","ADMINFEE","MTM","VOLUME_TOTAL","VOLUME_FILLED","VOLUME_WORKING","RM_SECTION_CODES","HEADER","OPERATION_FORECAST","COP_DATA","POSITION","COP_FORECAST","DRP_COMP","DMC","DRP","RM_OPERATING_FORECAST_SECTION_CODES","MONTHS","QUARTERS","YEAR","RM_TYPECODES","ENDORSEMENT","ENDORSEMENT_SUMMARY","QUARTERLY_ENDORSEMENT_SUMMARY","ENDORSEMENT_DATE","DECLARED_PROD_QTR_END","CLASS_4_FLOOR_PRICE","CLASS_3_FLOOR_PRICE","PERCENT_COVERED","PROTECT_FACT","YIELD_ADJ","PREMIUM_DOLLAR","GROSS_EXPECTED_TOTAL","GROS_PROB_TOTAL","MTM_ADJ_TOTAL","BEG_TOTAL","MARKET_PRICE_TOTAL","NET_MTM_TOTAL","COP_VERSION","LAST_MODIFIED","FORECAST_NOTES","RM_NOTES","LACTATING_COWS","MILK_PER_COW_PER_DAY","CWT_PER_MONTH","MILK$","AVG_PC_HERD_DRY","AVG_HERD_SIZE","Q1_EST_PROD_FACTOR","Q2_EST_PROD_FACTOR","Q3_EST_PROD_FACTOR","Q4_EST_PROD_FACTOR","CLASS_3","MTM_FUTURES_POSITION","ADMIN","SETTLEMENT_PRICE_AMT","FORECAST_AMOUNT","FORECAST_PER_CWT","FORECAST_PER_COW_PER_YEAR","AMOUNT","LBS_ANNUALY","MARGIN_FLOOR","MARGIN_FLOOR_PREMIUM","ACTUAL_FORECASTED_PRICES","BUTTERFAT_$_CWT","PROTEIN_$_CWT","NON_FAT_SOLIDS_$_LBS","OTHER_SOLIDS_$_CWT","DECLARED_TESTS","BUTTERFAT_LBS_CWT","PROTEIN_LBS_CWT","OTHER_SOLIDS_FIXED_LBS_CWT","INPUTS","DECLARED_PROD_QTR","DECLARED_PROD_MONTH","BUTTERFAT_QUOTE","PROTEIN_QUOTE","OTHER_SOLIDS_QUOTE","NON_FAT_SOLIDS_QUOTE","COMPONENT_WEIGHTING_FACTOR","NON_FAT_BUTTERFAT_WEIGHTING_FACTOR","TOTAL_PRICE","PERCENT_MILK_COVERED","PROTECTION_FACTOR_QTR","PREMIUM_PAID","EXPECTED_OUTPUTS","EXPECTED_REVENUE_GUARANTEE","BEGIN_PROFITABLE_LEVEL","MARKET_PRICE_WEIGHTED","MTM_PER_CWT","MTM_PER_MONTH","MTM_PER_QTR","ACTUAL_OUTPUTS","YF_RATIO","PROBABLE_INDEMNITY","MTM_YF_ADJUSTMENTS","PROJECTED_FEED_TOTAL","ACTUAL_FEED_TOTAL","ALL_MILK","MARGIN_OVER_FEED","DMC_IDEMNITY","INDEMNITY_PAYMENT","NET_PAYMENT","CUMMULATIVE_TOTAL_RETURN","QUOTE_TYPE","DMC_AMOUNT","CME_PRICE","CLASS3_PRICE","CLASS4_PRICE","DECLARED_PRODUCTION_QTR","DECLARED_PRODUCTION_MO","FLOOR_PRICE_CLASS3","FLOOR_PRICE_CLASS4","PERCENT_MILK_COV","CLASS3_WEIGHT_FACTOR","CLASS4_WEIGHT_FACTOR","PREM_PAID","EXPECTED_REVENUE_GUARANTEE_POSITION","BEGINNING_PROFITABLE_LEVEL","MARKET_PRICE_WEIGHT","MTM_MO","MTM_QTR","YIELD_ADJ_FACTOR_RATIO","MTM_ADJ","PROD_COVERAGE","PERCENT_COVERAGE","POSITION_COST","NET_POSITION_UPLIFT_DRAG","FORECAST_MILK_VOLUME_LBS","CLASS_4","DRP_CLASS","DRP_COMPONENT","NET_OPEN_MILK","NET_OPEN_MILK_WO_DRP","TOTAL_POSITION_COST","COST_PER_CWT_COVERED","COST_PER_CWT_EST_PRODUCTION","NET_UPLIFT_DRAG","NET_UPLIFT_DRAG_PER_CWT_COVERED","NET_UPLIFT_DRAG_PER_CWT_EST_PRODUCTION","FORECASTED_NET_MILK_REVENUE","ESTIMATED_NET_INCOME_CWT","ESTIMATED_NET_INCOME_TOTAL","CHEESE_WORKING","CLASS3_WORKING","CLASS4_WORKING","NET_OPEN_MILK_INC_WORKING","NET_OPEN_MILK_WO_DRP_WORKING","VOLUME_MANUAL_FILLED","TOTAL_COVERED_PRODUCTION_CLASS3","TOTAL_COVERED_PRODUCTION_CLASS4","TOTAL_COVERED_PRODUCTION_MO","TOTAL_COVERED_PRODUCTION_QTR","WEIGHT_AVERAGE_YIELD_ADJUSTMENT_FACTOR","WEIGHT_AVERAGE_PROTECTION_FACTOR","GROSS_EXPECTED_REVENUE_GUARANTEE_CWT","BEGINNING_PROFITABLE_LEVEL_CWT","MARKET_PRICE_WEIGHTED_CWT","MARKET_TO_MARKET_CWT","GROSS_PROBABLE_INDEMNITY_CWT","MTM_WYF_ADJUSTMENT_CWT","GROSS_EXPECTED_REVENUE_GUARANTEE_MO_TOTAL","BEGINNING_PROFITABLE_LEVEL_MO_TOTAL","MARKET_PRICE_WEIGHTED_MO_TOTAL","GROSS_PROBABLE_INDEMNITY_MO_TOTAL","MARKET_TO_MARKET_MO_TOTAL","GROSS_EXPECTED_REVENUE_GUARANTEE_QTR_TOTAL","BEGINNING_PROFITABLE_LEVEL_QTR_TOTAL","GROSS_PROBABLE_INDEMNITY_QTR_TOTAL","MARKET_PRICE_WEIGHTED_QTR_TOTAL","MARKET_TO_MARKET_QTR_TOTAL","MTM_WYF_ADJUSTMENT_QTR_TOTAL","MTM_WYF_ADJUSTMENT_MO_TOTAL","DATA_TIME","DRP_REFERENCE","DRP_NOTE","COMMODITY_EXTENSION","CODE","DISTRIBUTION","ACCOUNTING_PERIOD","COMMODITY_SUMMARY","HEDGE_YIELD","CASH_YIELD","NET_EXPOSURE","CL3_BREAKEVEN","CL4_BREAKEVEN","CHEESE_BREAKEVEN","CONTRACT_SETTLE","CL3_MILK_REVENUE","CL4_MILK_REVENUE","CHEESE_MILK_REVENUE","NET_MARIGIN","NET_COP_BE_MILK_ID","CLASS3_BREAKEVEN_ID","CLASS4_BREAKEVEN_ID","DRP_COMP_ENDORSEMENT","Endorsement_Date","Declared_Production_QTR","QMP_Butterfat","QMP_Protein","QMP_Other_Solids","QMP_Non_Fat_Solids","DT_Butterfat","DT_Protein","DT_Other_Solids","DT_Non_Fat_Solids","QT_Butterfat","QT_Protein","QT_Other_Solids","QT_Non_Fat_Solids","Comp_Weight_factor","NonFt_BF_Wght","Protection_Factor","Percentage_Covered","Yield_Adj_Fact","Premium_Paid_cwt","Premium_Paid_Total","Drp_Reference","Drp_Note","DRP_COMP_ENDORSEMENT_SUMMARY","Total_Price_CWT","Gross_Expected_CWT","Gross_Expected_TOTAL","Beg_CWT","Beg_TOTAL","Market_Price_CWT","Market_Price_TOTAL","Gross_Prob_CWT","Gross_Prob_TOTAL","MTM_Adj_CWT","MTM_Adj_TOTAL","MTM_CWT","MTM_TOTAL","Net_MTM_TOTAL","Net_MTM_CWT","DRP_COMP_QUARTERLY_SUMMARY","TOTAL_COVERED_PRODUCTION_MONTHLY","WEIGHT_AVG_YIELD","WEIGHT_AVG_PROTECTION_FACTOR","MARKET_PRICE_WEIGHTED_QTR","MARKET_PRICE_WEIGHTED_MONTHLY","GROSS_EXPECTED_RG_CWT","GROSS_EXPECTED_RG_QTR","GROSS_EXPECTED_RG_MONTH","BEG_CWT","BEG_QTR","BEG_MONTH","GPI_QTR","GPI_CWT","GPI_MONTH","MTM_ADJ_QTR","MTM_ADJ_CWT","MTM_ADJ_MONTH","MTM_MONTH","NET_MTM_CWT","NET_MTM_MONTH","NET_MTM_QTR","module","exports","fetchStart","payload","type","MARKET_FETCH_START","fetchSuccess","MARKET_FETCH_SUCCESS","marketPriceLoaded","list","arguments","length","undefined","MARKET_PRICE_LIST","removeSelectedMarketPrice","MARKET_PRICE_REMOVE_SELECTED","prepareDataFrameMarketPrice","dataList","PREPARE_DATAFRAME_MARKET_PRICE","editMarketPrice","payloadData","EDIT_MARKET_PRICE","addMarketPriceForMonth","ADD_MARKET_PRICE","editSymbolFinalPriceIndicator","EDIT_MARKET_FINALSYMBOL_STATUS","editDateForYearMonth","EDIT_MARKET_SETTLEMENT_DATE_MONTH","saveMarketPriceReset","SAVE_MARKET_PRICE_STAUS_RESET","getMarketPrice","date","month","year","fetchNonLatest","dispatch","http","get","RM_API","MARKET_PRICE_HISTORIC_LIST","then","response","marketPriceList","data","forEach","item","monthYear","Date","_","tradingDateTime","err","error","MARKET_FETCH_FAIL","showMessage","message","getMarketPriceOffline","partyIdentifer","rmRevisionIdentifier","_syncedData$authInfo$","_authInfo$userInfo","_marketPriceList","authInfo","store","getState","auth","syncedData","synced","userInfo","mail","Number","_syncedData$authInfo$2","_authInfo$userInfo2","_producer$","producer","filter","p","producerIdentifier","yearList","versions","String","versionRM","riskMarketingVersions","version","saveMarketData","SAVE_MARKET_PRICE_STARTS","marketDictionary","marketprice","modifiedDictionary","dataFrame","mappingDict","body","columns","addPOSTJsonStructucreFromObject","key","dataItem","newItem","settlePrice","parseFloat","settlementPriceAmount","replace","REGEX_VALUES","PrecedingZero","console","log","SymbolCode","symbolCode","SettlementPriceAmount","SymbolFinalPriceIndicator","symbolFinalPriceIndicator","SettlementDate","settlementDate","Year","Month","push","match","Month_Year_Symbol","colKey","rowKey","indexOf","prop","blnSymbolFinalPriceIndicator","existingItem","isModified","day","split","today","selectedDate","UTC","parseInt","getUTCHours","getTimezoneOffset","getUTCMinutes","getUTCSeconds","getUTCMilliseconds","concat","getFullYear","getMonth","slice","getDate","post","MARKET_PRICE_POST","SAVE_MARKET_PRICE_COMPLETE","SAVE_MARKET_PRICE_ERROR","producerFetchStart","PRODUCERS_FETCH_START","producerFetchFail","PRODUCERS_FETCH_FAIL","producerFetchSuccess","PRODUCERS_FETCH_SUCCESS","producerByIdLoaded","PRODUCER_SELECTED","removeSelectedProducer","PRODUCER_REMOVE_SELECTED","getProducers","PRODUCER_API","PRODUCERS","producers","farmName","toLowerCase","PRODUCERS_LIST","producersLoaded","getProducerByID","id","PRODUCER_BY_ID","onlineProducer","offlineProducers","offlineProducer","Producer","offlineYear","onlineYear","offlineCOPAdded","costOfProductionVersions","isOfflineAdded","offlineRMAdded","sortArray","isOfflineRecordAddedCOP","isOfflineRecordAddedRM","isOfflineChanges","rmlastCopVersionOffline","coplastupdatedval","rmlastupdatedval","coplastupdated","formatDate","modifiedDate","copstatus","status","lastupdatedType","rmlastCopVersion","rmlastCoaVersion","chartOfAccountsVersion","rmlastUpdatedVersion","rmlastupdated","toLocaleString","rmstatus","allversionsConcated","value","allversions","lastupdated","lastupdatedVersion","lastupdatedVersionIdentifier","lastupdatedSchemaIdentifier","getProducerByIDOffline","fetchProducerStart","fetchreset","MAD_CAP_API_RESET","MADCAPNOTFOUNDMSG","MADCAPISSUEERRORMSG","getmadcappositionsdata","farmID","startDate","endDate","MAD_CAP_FETCH_START","apiRequest","MADCAP_API","GETMADCAPDATA","DRP_API","GETDRPDATA","Promise","allSettled","results","madcapmessage","drpmessage","madcapstatus","drpstatus","madcapdata","drpdata","calldrp","callmadcapposition","coaDataChanged","RM_POSITION_HEADER_UPDATE","listContracts","externaldrpdata","financialYear","RM_POSITION_DATA_FROM_MADCAP","MAD_CAP_API_SUCCESS","showMultiMessage","Footer","props","_jsx","className","classes","footerContainer","children","_jsxs","imageContainer","src","LogoRMI","alt","footerLogo","footerText","withRouter","_ref","_Fragment","maincontainer","Header","contentcontainer","ErrorBoundary","Component","constructor","state","hasError","onReload","window","location","href","getDerivedStateFromError","componentDidCatch","info","errorLog","render","this","Grid","container","spacing","direction","alignItems","justifyContent","style","minHeight","xs","authtext","Box","display","m","backbtn","errorbtn","onClick","PageHeader","cardbg","header","Rehydrated","visible","setVisible","useState","useEffect","setTimeout","rehydrated","useSelector","reducer","Loader","anchorEl","setAnchorEl","React","handleClose","code","onMenuSelected","textAlign","Tooltip","title","placement","MoreVertIcon","iconcolor","event","ENVOIRMENT","API_BASE_PATH","ENV","getEnvoirment","url","PROD","QA","DEV","API_PARTIAL_COP","API_PARTIAL_RM","API_PARTIAL_AUTH","API_PARTIAL_WEB","API_AGENCY_DRP","LOGOUT_REDIRECT_URI","SSO_BASE_PATH","USER_INFO","AUTH_TOKEN","AUTH_EXPIRATION","REFRESH_TOKEN","DEFAULT_LOCALE","POSITIVE_INT","INT","INT_1_TO_12","POSITIVE_DECIMALS","DECIMAL_ONE_PLACE","DECIMAL_TWO_PLACES","DECIMAL_THREE_PLACES","DECIMAL_FOUR_PLACES","DECIMAL_PERCENTAGE","DECIMAL_TWO_PLACES_BEFORE","DECIMAL_THREE_PLACES_BEFORE","DECIMAL_THREE_PLACES_BEFORE_POSITIVE","DECIMAL_THREE_PLACES_BEFORE_THREE_PLACE_AFTER_POSITIVE","DECIMAL_THREE_PLACES_BEFORE_THREE_PLACE_AFTER_NEGATIVE","DECIMAL_TWO_PLACES_BEFORE_THREE_PLACES_AFTER","POSITIVE_DECIMAL_THREE_PLACES_AFTER","POSITIVE_DECIMAL_FIVE_PLACES_AFTER","DECIMAL_TWO_PLACES_BEFORE_FOUR_PLACES_AFTER","DECIMAL_THREE_PLACES_BEFORE_FOUR_PLACES_AFTER","ALL","NEGATIVE_ALLOWED","ONLY_NEGATIVE","THREENumeric_DOT_TwoNumeric","FourNumeric","ALPHA_NUMERIC_SPL_CHAR","ROLES","MSG_TYPE","MENU_STATE","expand","collpase","VERSION_STATUS","ARCHIVED","DRAFT","FINAL","SCHEMA_TYPE","COP","RM","FULL_MONTHS","START_YEAR","PRINT_FOOTER_TEXT","formatDatetimecomingfromapi","apiItem","datestring","formatDatewithMMDDYYYY","initialState","mappedSchema","calculatedSchema","isSyncedToDB","loading","isDataModified","Error","formError","reset","updatedrpclassendorsementandsummary","DRPDATA","externaldrpclassdata","endorsementType","tempdrpdata","drpclassdataitem","_drpclassdataitem$ext","distribution","extension","filteredDistribution","distItem","quantity","d","typeCode","_drpNote$identifier","drpReferencesarray","dRPReferences","drpReference","find","ref","drpSource","drpNote","isManualSource","identifier","hasEmptyDrpReference","trim","hasDrpNoteValue","_drpclassdataitem$ext2","_drpclassdataitem$ext3","_drpclassdataitem$ext4","_drpclassdataitem$ext5","_drpclassdataitem$ext6","_drpclassdataitem$ext7","calQuarter","accountingPeriod","periodIdentifier","calYear","mappedEndorsement","class3weight","class3Weight","class4weight","premiumdollar","premium","declaredprod","declaredProduction","identifierSet","note","content","class_3_Floor_Price","class_4_Floor_Price","covered","toString","protectionFactor","Intl","NumberFormat","minimumFractionDigits","maximumFractionDigits","format","yieldAdjustment","amount","datetime","endrosementDate","mapDRPApiResponseToEndorsementModel","DRP_Quarterly_Endorsement_Summary","updatedrpcomponentendorsementandsummary","DRPCOMPDATA","externaldrpcomponentdata","tempdrpcomponentdata","drpcomponentdata","_drpcomponentdata$ext","_drpNote$identifier2","_drpcomponentdata$ext2","_drpcomponentdata$ext3","_drpcomponentdata$ext4","_drpcomponentdata$ext5","_drpcomponentdata$ext6","_drpcomponentdata$ext7","_apiItem$qtrlyMilkPri","_apiItem$qtrlyMilkPri2","_apiItem$qtrlyMilkPri3","_apiItem$qtrlyMilkPri4","dtprotein","declaredTestProtein","dtnonflatsolid","yieldadjustmentfactor","qtrlyMilkPriceButterfat","qtrlyMilkPriceProtein","qtrlyMilkPriceOtherSolids","qtrlyMilkPriceNonfatSolids","declaredTestButterfat","quoteButterfatPrice","quoteProteinPrice","quoteOtherSolidsPrice","quoteNonfatSolidsPrice","mapDRPApiResponseToDRPCOMPONENTEndorsementModel","DRP_Comp_Quarterly_Endorsement_Summary","updateDRPdataWithExternalDrpdata","RMData","drpclassdata","drpcompsdata","uniqueDrpData","reduce","acc","drpclassdataarray","drpcomponentdataarray","moveRMPostionDictionaryData","positionArray","Position_DICTIONARY","commodity","pc","toJson","calculateAllPositions","calculateAllThePositionsForMonthAndYear","settledprice","periodSettlePrice","positionList","calculateNet","evaluateOptionSummaryForItem","pm","t","evaluateGroupSummaryForPC","updatePostionWithMarketPrice","element","foundItem","Commodity","getPeriodSettlePrice","extTypeCode","netMtm","NetCeilingMTM","evaluate","splice","findIndex","NetCollarMTM","NetContractMTM","NetFloorMTM","listofSummary","listOfNonSummary","addPositionOfType","addCeiling","addCollar","addContract","addFloor","updateRMPositionvalidation","positiondict","allMadCapReferenceinRMRecord","erroroccuredflag","includes","positionReferences","MadCap_Reference","validation","count","elementarray","ele","Position_Note","Order_Status","k","map","index","duplicatelement","deletePositionFromPC","model","foundList","removeMTMRowFromList","updateCalcucationForCheeseAfterClass3Update","updateNoofContractAndVolumeForCollar","ceiling","PositionModel","_objectSpread","volumeInOneContract","divisor","multiplier","setNumberOfContracts","floorquantity","fieldName","updatePositionDataWithPos","PositionEditFieldType","NoOfContracts","Strike","setStrike","AdminFee","setAdminFee","Premium","setPremium","pcforSymbol","updatePostionsDataWithMadCapData","madcapPositionList","updateHeaderWithDate","updatePositions","headerData","foundIndex","documentReference","lblMadCapLastUpdate","documentDateTime","toUTCString","subTypeCode","foundindex","calcSchema","madcapidlist","dictionaryOfSymbolMonthYear","prev","currentVal","commodityCode","monthIndex","madcap_comm_name","MADCAP_COMMODITY_NAME_MAP","madCapListForMonthYear","madcapref","madCapPosition","statusCode","addtoRMEntry","finanYear","getsortedpositionList","positionType","Get_ContractTypeFromSubType","administrativeFeeAmount","contractAmountMultiplier","secondTypeCode","ContractType","Collar","lineTypeCode","Floor","Ceiling","Contract","position","strikePriceAmount","VolumeInOneContract","premiumAmount","Position_Source","PositionSourceType","MadCap","MapStatusCodeToString","MadCap_Ref_OID","TrimSpaceFromMadCapID","contractId","updateCalculation","action","screen","screenSchema","section","calledOn","ob","updateObject","resetRM","Object","assign","updateRefrence","RM_SCHEMA","reducePositionListInfoDictionary","resetCOP","groupOperationForecast","isExisting","copYear","copMonth","groupedData","months","quarters","janIndex","monthsToShift","unshift","i","currentYear","monthNames","PeriodSummaryForForecast","Math","ceil","quarter","createPositionDistributionArray","PositionSummary","createDRPClassDistributionArray","createDRPCompDistributionArray","distributionArray","PeriodSummary","restructurePositionsData","prevYearJournalEntryLine","restructedData","startingYear","numNextMonths","keys","commodityData","filterPosition","propertyIndex","getPropertyIndex","getSymbol","restructedDataForEachCommodity","parseJSON","stringifyJSON","addMonths","currentYearPosition","getAlreadyExistedData","priorYearPosition","getPriorYearPosition","cloneDeep","obj","_item$extension","_item$extension$accou","_item$extension2","_item$extension2$acco","restructureDRPClassData","quarterStart","oldQuarterStart","quater","priorYearDrpClassData","getPriorYearDRPData","drpQuarter","pop","restructureDRPCompData","priorYearDrpCompData","JSON","parse","stringify","_prevYearJournalEntry","journalEntryLines","_item$extension3","_item$extension3$acco","_item$extension4","_item$extension4$acco","_item$extension5","_item$extension5$code","drpTypeCode","_prevYearJournalEntry2","_item$extension6","_item$extension6$acco","_item$extension7","_item$extension7$acco","formatRMSchema","schema","nodes","isNew","journalEntry","journalEntryLine","startingMonth","dmc","distributionList","currentQuarter","quatr","yearCOP","priorYearDrpClass","extraQuater","updatedDataWIthPosition","feedExpense","summaryId","netAccrualFeedCost","measure","LEVEL_1","groupByCode","LEVEL_2","journalEntryHeader","mapCOPForecast","incomeData","expenseData","_data$i$extension$cod","dist","createDRPCompData","drpArray","j","createRMSummaryData","groupRMSummaryData","dataStartMonthIndex","copStartMonthIndex","startMonthIndex","restructureDMCData","dmcData","monthInc","alreadyExistedData","prevIndex","cleanupdrpdata","ed","drpReferences","formatSchema","_schema$showChartOfAc","_schema$showChartOfAc2","_schema$showChartOfAc3","_schema$journalEntry","_schema$journalEntry2","_schema$journalEntry3","basicInfo","docIdentifier","showChartOfAccounts","versionIdentifier","dataArea","chartOfAccounts","_item$extension$code$","_item$extension8","reportingSection","_item$extension$code$2","_item$extension9","_schema$journalEntry4","LEVEL_3","LEVEL_4","LEVEL_5","property","sortBySequence","property1","property2","property3","property4","revisionIdentifier","variationIdentifier","description","effectiveTimePeriod","duration","party","name","arr","_item$extension10","sequenceNumber","COA_FETCH_START","COA_FETCH_FAIL","COA_FETCH_SUCCESS","COA_SCHEMA_SELECTED","COA_SCHEMA_REMOVE_SELECTED","COA_SAVE_DATA","COA_RESET_DATA","COA_UPDATE_RESET","COA_SAVE_DATA_TO_DB_START","COA_SAVE_DATA_TO_DB","COA_ERROR_SAVE_DATA_TO_DB","COA_DATA_CHANGED","COA_SCHEMA_MAAPED_WITH_DATA","ENTRY_FORM_ERROR","COA_SCHEMA_CALCULATION_CHANGED","COA_RESET_RM","COA_RESET_COP","RM_POSITION_DATA_UPDATE","RM_POSTION_DATA_COLLAR_COUNT","RM_POSITION_UPDATE_MARKETPRICE","RM_POSITION_RECALCULATE_MONTH_YEAR","RM_POSITION_DELETE","RM_POSITION_CALCULATE_ALL","RM_ADD_NEW_POSITION","RM_MOVE_POSITION_DICTIONARY_DATA","RM_UPDATEVALIDATION_POSITION","COA_UPDATE_DRP_DATA","COA_UPDATE_RM_DATA","localStore","set","storageKey","Storage","localStorage","alert","remove","loggger","service","handleRequestSuccess","config","handleRequestError","reject","handleResponseSuccess","handleResponseError","_error$response","_error$response2","_error$response2$data","_error$response3","msg","statusText","e","HttpService","axios","create","interceptors","request","use","token","refreshToken","headers","Authorization","path","patch","put","delete","method","qs","AUTH_API","AUTHORIZATION","LOGOUT","VERSION_UPDATE","partyIdentifier","symbol","COA_API","GET_COP_SCHEMA","identifer","COP_SAVE","GET_COP_DATA","GET_ACCOUNTING_YEARS","GET_JOURNAL_ENTRY_LINES","identifiers","years","farmid","startdate","enddate","GET_POLICY_API","GETPOLICYKEY","policyNumber","agencyCode","GET_POLICY_RECORDS_API","GETPOLICYRECORDS","farmId","GET_AGENCIES","POST_POLICY_RECORDS_API","POSTPOLICYRECORDS","AUTH_CONFIG","CLIENT_ID","GRANT_TYPE","RESPONSE_TYPE","SCOPE","REDIRECT_URI_DEV","REDIRECT_URI_QA","REDIRECT_URI_PROD","REDIRECT_URI_LOCAL","Manual","Dict_For_Sorting_Position","Filled","Working","MadCapStatus","mapping_for_contracttype_from_subtype","subtype","authSuccess","user","AUTH_SUCCESS","idToken","logout","catch","open","AUTH_LOGOUT","checkAuthTimeout","expirationTime","updateRefreshToken","intervalID","clearInterval","setInterval","diff","getTime","diffinMin","round","ERROR","AUTH_START","AUTH_URL","res","expirationDate","expires_in","access_token","refresh_token","decodeJWT","fname","lname","role","AUTH_FAIL","authCheckState","collapseMenuAction","SIDEBAR_COLLAPSE","expandMenuAction","SIDEBAR_EXPAND","copsavepdfdata","COP_SAVE_PDF_PRINTDATA","producerSyncStart","PRODUCERS_SYNC_START","saveOffline","record","COA_SAVE_DATA_OFFLINE","updateOfflineData","serverIdentifier","COA_SAVE_DATA_OFFLINE_UPDATE","deleteOfflineVersions","DELETE_OFFLINE_VERSIONS","takeProducerOffline","promises","schemaVersion","cop","URL","isOffline","rm","_response$data","_response$data$journa","_response$data$journa2","_response$data$journa3","_response$data2","_response$data2$journ","_response$data2$journ2","_response$data2$journ3","_response$data2$journ4","_response$data3","_response$data3$journ","_response$data3$journ2","_response$data3$journ3","_response$data3$journ4","mtmDate","finacialYear","financialYearStartmonth","price","async","getMarketPriceByDate","formatDateForPriceCurve","COAVersionToBeSynced","join","schemas","syncLatestMarketPrice","LATEST_MARKETPRICE_SYNC_OFFLINE","counter","resp","per","floor","PRODUCER_SYNC_PROGRESS_OFFLINE","all","syncCOASchema","COASCHEMA_SYNC_OFFLINE","syncProducer","PRODUCER_SYNC_OFFLINE","PRODUCERS_SYNC_SUCCESS","PRODUCERS_SYNC_FAIL","selectProducerYearAction","yearData","SELECT_PRODUCER_YEAR","typeCodeIdentifierRestore","typeCodeContentReducer","last","isNaN","typeCodeContentRestore","PositionContainer","positionNotificationHandler","bind","returnMarketPrice","fromJson","jsonObject","positionJson","summaryModel","PositionSummaryModel","netCeiling","netFloorMTM","netcontractMTM","netCollarMTM","checkOptionSummary","checkOptionsSummaryObjectForType","netMtmFloorList","currMtmFloorObj","mtmfloor","mtmceiling","mtmcollar","mtmContract","evalutate","deletePosition","positionModel","Number_of_Contracts","Volume","pm1","POSITIVE_INFINITY","Admin_Fee","Net","_this$extension","_this$extension2","getNetValueFromSettleLessThanStrikeFloor","getNetValueFromSettleGreaterThanStrikeCeiling","getNetValueCeilingCollar","getNetValueFromFloorCollar","super","pmlist","total","result","contractIntoStrike","sumOfNoofContract","noOfContIntoPremium","sumOfNoOfContract","resultForAdminFee","productsumofadminFee","sumnoofcontract","NaN","resultofAvgAdminFee","prevVal","noContractIntoAdminFee","sumofnoContact","Volume_Total","Volume_Filled","Volume_Working","json","typecode","getCashYieldVolume","factor","getEstimatedProductionFactor","_header$extension","_header$extension2","_header$extension2$me","monthInDigit","_basicInfo$accounting","_basicInfo$accounting2","_basicInfo$accounting3","financialYearStart","startMonth","currentMonth","getMonthFromString","getMonthCountByFiscalYear","quater_prod_factor","getNumber","isCurrentFinancialYear","_state$calculatedSche","_state$calculatedSche2","_state$calculatedSche3","_state$calculatedSche4","_state$calculatedSche5","numMonthsIncluded","financialYearEnd","setMonth","currentDate","forcastCWTByMonth","getForecastCWTPerMonth","_forecastByMonth$","_forecastByMonth$$ext","_forecastByMonth$$ext2","forecastByMonth","requiredRow","forecast","_forecast$extension","_forecast$extension$a","_forecast$extension2","_forecast$extension2$","_requiredRow$","_requiredRow$$extensi","_requiredRow$$extensi2","classWeight","bsDetail","weight","assumptions","classAssumption","_assumptions$classAss","getClassWeight","gethedgeyieldvolume","option_sum_list","pm_model_list","getbreakeven","breakeven","gethedgeyieldnet","getMilkRevenueStrike","cashYieldVolume","milrevenuenet","volumeobj","premResult","adminFeeResult","admin","cheesepmlist","class3pmlist","hideMessage","HIDE_MESSAGE","stopMadcaploader","STOP_MADCAP_LOADER","SHOW_MESSAGE","msgarray","type1","type2","SHOW_MULTI_MESSAGE","primarysortFunction","a","b","temppositionlist","pd","positionlistarray","sort","MultiYearPrintReducer","apiComplete","MULTI_YEAR_API_FETCH","MULTI_YEAR_API_ADD_DATA","copyeardata","MULTI_YEAR_API_SUCCESS","MULTI_YEAR_API_ADD_RESET","persistOptions","storage","localForage","blacklist","transforms","createEncryptor","secretKey","offlineConfig","effect","_action","persistCallback","REHYDRATE_STORE","rootReducer","combineReducers","authReducer","producerReducer","syncOfflineReducer","rehydrate","rehydrateReducer","coa","coaReducer","marketPriceReducer","messageReducer","leftMenu","leftMenuReducer","pdfdata","pdfprintdataReducer","selectedYear","yearReducer","madcap","madcapintegrationReducer","multiYearPrint","multiYearReportReducer","drpReducer","drpErrorReducer","composeEnhancers","__REDUX_DEVTOOLS_EXTENSION_COMPOSE__","compose","createStore","applyMiddleware","thunk","offline","SET_AUTH_REDIRECT_PATH","START_MADCAP_LOADER","COP_GET_PDF_PRINTDATA","CLEAR_PRODUCER_YEAR","SET_DRP_ERROR","STORE_DRP_DATA","storeDRPData","setDrpError","movePositionDataFromDictionary","updateValidationErrorPosition","addNewPosition","updatePostionForMarketPrice","calculateALLCommodities","calculateMonthCardPosition","updatePositionCalculation","coaFetchStart","coaFetchFail","coaSchemaSelected","removeSelectedCOAScehma","resetRMData","resetCOPData","updateResetCOAData","isManuallyReset","coaUpdateCalculation","coaSchemaMappedWithData","coaSyncedToDBSucces","coaFetchDataSuccess","entryFormError","getCOASchema","schemaIdentifier","schemaName","versionCOP","versionCOPJournalEntry","versionRMJournalEntry","loadMarketPrice","spread","_ref2","_ref3","_ref4","copJournalEntryLines","prevRmJournalEntryLines","rmJournalEntryLines","mergedSchema","mapDatawithSchema","staticData","RMHeader","_ref5","_ref6","mtmRequest","_responses$","_len","responses","Array","_key","_rmJournalEntryLines$","_versionRMJournalEntr","_journalEntryHeader$a","_copJournalEntryLines","fetchMarketPrice","_copJournalEntryLines2","getCOASchemaOffline","_producer$2","_producer$3","_prevYearversionRM$0$","_prevYearversionRM$0$2","_syncedData$schemaLis","schemaList","reverse","prevYear","prevYearList","prevYearversionRM","versionRMJournalEntryLine","saveCOAData","schemaOb","saveLocal","isNewRecord","_journalEntryHeader","flattenedRMSchema","flattenedSchema","lineNumberIdentifier","req","_journalEntryHeader2","_journalEntryHeader2$","_authInfo$userInfo3","_journalEntryHeader3","_journalEntryHeader3$","_authInfo$userInfo4","SUCCESS","coaSaveData","saveCOADataOffline","copVersion","_journalEntryHeader4","_journalEntryHeader5","_journalEntryHeader5$","_journalEntryHeader6","_journalEntryHeader7","_journalEntryHeader7$","_journalEntryHeader8","_journalEntryHeader8$","_authInfo$userInfo5","dateTime","toISOString","notes","archived","costOfProductionVersion","_data$journalEntry","_data$journalEntry2","_data$journalEntry3","_documentHeader$exten","_documentHeader$exten2","schemaLineItem","documentData","documentHeader","lineItem","document","L1","LEVEL_ARR_1","L2","LEVEL_ARR_2","flatMap","sortBy","L3","LEVEL_ARR_3","L4","LEVEL_ARR_4","L5","LEVEL_ARR_5","User","authRedirectPath","selected","drpData","drpError","MenuState","Expanded","Collapse","success","saveAPIStatus","APIStatus","IDLE","saveResponseOrError","reduceMarketDataInfoSymbolAndMonthTable","array","key_year_month","oldItem","oldItemDate","LOADING","COMPLETE","isArray","marketpricingData","maxDate","messagearray","madcaploader","_action$payload","_action$payload2","_action$payload3","_action$payload4","_action$payload5","_action$payload6","_action$payload7","_action$payload8","_action$payload9","_action$payload10","_action$payload11","_action$payload12","_action$payload13","_action$payload14","_action$payload15","mergeArray","aggregateProducer","_coplastupdatedval$","_coplastupdatedval$2","_coplastupdatedval$3","_coplastupdatedval$4","_rmlastupdatedval$","_rmlastupdatedval$2","_coplastupdatedval$5","_coplastupdatedval$6","_rmlastupdatedval$3","_allversions$","_allversions$2","_allversions$3","_allversions$4","_allversions$5","syncProgress","_state$key2","_state$key3","updateList","isProducerExist","incoming","_item$versions","_state","_state2","isSchemaExist","_item$showChartOfAcco","_existingItem","_existingItem$showCha","_incoming$showChartOf","_state$key4","isYearAvailable","pyear","yearObj","saveDataOffline","_state$key5","_pyear$costOfProducti","_pyear$riskMarketingV","_producer$versions2","updateDataOffline","syncMarketPrice","_state$key","_producer$versions","decodeURIComponent","getQueryVariable","search","justify","Link","to","AuthCallBack","useDispatch","isAuthenticating","orangebtn","Login","online","Fragment","lg","flexDirection","logo","submitbtn","REDIRECT_URI","globebg","bgimage","loginmore","Home","lazy","PriceEditor","Confirm","isOnline","openModal","setOpenModal","modalBody","ConfirmModal","closeModal","choice","setConfirm","confirmCallback","label","Modal","onClose","App","isAuthenticated","useLocation","confirm","setConfirmCallback","redirectPath","pathname","MSG","generalexpensedata","generalfeeddetails","generalfeedinventoryaccrual","generalincomedata","balancesheetlivestockinventory","balancesheetnonfeedcroparap_prepays","balancesheet_depreciation","balancesheet_totalprincipalpaymentsforperiod","balancesheet_copclass3class4basisinformation","operationalsummary","copsummary_financialinsights_cashplus_depreciation_and_principal_and_feedCost","copsummary_financialinsights","copsummary_accrualadjustment","summarytable","summarygraphs","routes","Switch","Route","exact","component","Redirect","Layout","ClickAwayListener","onClickAway","Message","Suspense","fallback","Router","getUserConfirmation","callback","isLocalhost","Boolean","hostname","registerValidSW","swUrl","navigator","serviceWorker","register","registration","onupdatefound","installingWorker","installing","onstatechange","controller","onUpdate","onSuccess","ReactDOM","Provider","BrowserRouter","basename","getElementById","process","origin","addEventListener","fetch","contentType","ready","unregister","reload","checkValidServiceWorker","serviceWorkerRegistration","contact","dairyBusinessAdvisor","riskManagementPermission","costOfProductionPermission","milkshed","lastModificationDate","MarketPriceAggregation","avgHigh","avgLow","avgSettlement","change","MarketPrice","volatilityMeasure","contractHighDateTime","lowPriceAmount","existingContracts","differenceOpenInterestMeasure","contractAverageRangePrice","differenceSettlementPrice","tradeQuantity","contractHighPriceAmount","differenceCurrentDayPrice","highPriceAmount","openPriceAmount","contractLowDateTime","contractLowPriceAmount","Data","Code","ExtensionSchema","docType","docId","codeType","codeContent","defaultPercent","percentage","EndorsementModel","DRP_COMP_EndorsementModel","DRPCLASS_OR_COMP","checkfiltercondition","q","checkvalidationerror","drp","drpcomp","validationerror","subitem","subitemindex","drpcompdata","formatdata","getval","precision","useGrouping","val","oldObject","updatedProperties","getDayInMonth","dayinyear","dayinmonthdata","item1","pc1","getDayInYear","oldArr","updateArr","uniqueKey","getRandomID","random","substr","queryString","variable","vars","substring","pair","getHours","padStart","getMinutes","formatDatewithFullMonth","formatDatewithMMDDYYYYTimeLast","getformattedvalue","atob","host","envoirment","LOCAL","minTwoDigits","n","toDecimalPlaces","num","decimalPlaces","formatNegativeValue","commas","toMaxDecimalPlaces","upto2DecimalPlaces","number","upto4DecimalPlaces","upto3DecimalPlaces","uptoZeroDecimalPlaces","formatNegativeValues","removeComma","summaryArray","monthStart","typeCodes","extTypeCodes","addtodistributionArray","exttypecode","getFirstDate","YY","getLastDate","mon","addInYear","endingMonth","MM","DD","getNumDaysInMonth","isLeapYear","verifyAccess","accessList","allowedType","setDate","getYearsList","curYear","getOptions","start","end","difference","getAmountByIdentifier","items","topLevelKey","innerItem","innerKey","_innerItem$innerKey$","setAmountByIdentifier","getMeasureDataByIdentifier","storedKey","_row$extension","_row$extension2","_row$extension2$measu","row","setMeasureDataByIdentifier","_row$extension3","_row$extension4","_row$extension4$indic","perCWTIndIndex","indicator","getIndicatorKey","_row$extension5","getAmountByActionCode","abbreviateNumber","abbreviateNumberBarChart","compareValues","value1","value2","annualizeAmount","numMonthIncluded","sortDesc","a1","b1","checkNote","svgString2Image","svgData","width","height","resolve","canvas","createElement","context","getContext","image","Image","onload","clearRect","drawImage","pngData","toDataURL","getUniqueLatestMarketPriceFromList","newList","testDictionary","priceDate","toTitleCase","str","m1","m2","toUpperCase","loader","theme","createTheme","MuiIconButton","disableRipple","overrides","root","backgroundColor","IS_COP","IS_RM","IS_COP_RM","isMenuOpened","setToggleMenu","isCOPDataModified","MuiThemeProvider","AppBar","customcss","elevation","Toolbar","toolBar","headerLogo","cursor","history","alignRight","handleClickAway","profilename","userInitials","cx","onlineindicator","offlineindicator","firstName","lastName","charAt","arrowup","arrowdown","profiledropdown","price_update_click","onLogout","ListProducer","isMenuOpen","setMenu","defaultContent","moreContent","toggleMenu","hoversection","CloseIcon","show","memo","MuiGrid","MuiSvgIcon","fill","ListProducerLoader","StylesProvider","Skeleton","animation","variant","getIcon","CheckCircleIcon","color","WarningIcon","ErrorIcon","Snackbar","zIndex","anchorOrigin","vertical","horizontal","sx","gap","padding","borderRadius","border","boxShadow","mt","Typography","fontSize","autoHideDuration","MuiAlert","severity","enumSteps","MuiStepper","MuiStepConnector","marginLeft","lineVertical","borderLeftWidth","marginTop","marginBottom","borderColor","MuiStepIcon","fontWeight","Navigation","useHistory","rmVersionIdentifier","currentActiveStep","params","COP_RM","steps","route","enabled","Years","_props$YEAR_LIST","YEAR_LIST","selectedProducer","navigationURL","setNavigationURL","yes","confirmReset","navigation_click_handler","step","rmDetails","latestRMVersion","_rmVersions$","rmVersions","Prompt","when","isSavedInitiated","navigationContainer","navigationHeader","Stepper","navigation","activeStep","orientation","Step","completed","StepLabel","StepIconComponent","stepIconContainer","activeStepIcon","icon","labelContainer","stepperLebelCollapse","stepLebel","stepLebelNoPointer","active","stepLebelActive","iconContainer","navIconContainer","navIconActiveColor","navigationContent","CssTextField","withStyles","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","MuiOutlinedInput","input","TextField","useStyles","makeStyles","dropdownStyle","selectedTextColor","margin","borderTop","popupIndicator","MuiInputBase","lineHeight","adornedStart","MuiSelect","right","MuiFormControl","fullWidth","paddingLeft","MuiList","paddingTop","paddingBottom","MuiListItem","gutters","paddingRight","Autodropdown","getLabel","option","field","Autocomplete","options","filterField","uniqBy","noOptionsText","getRecordNotFoundLabel","clearOnBlur","getOptionLabel","renderOption","onChange","reason","onSelect","inputValue","inputText","onInputChange","renderInput","placeholder","InputProps","startAdornment","SearchIcon","uniqData","Button","checked","CheckBox","_path","Checkbox","_excluded","_extends","r","hasOwnProperty","call","apply","SvgArrow","svgRef","titleId","o","_objectWithoutPropertiesLoose","getOwnPropertySymbols","s","propertyIsEnumerable","_objectWithoutProperties","viewBox","xmlns","ForwardRef","palette","background","paper","fontFamily","boxSizing","transition","transitions","InputBase","BootstrapInput2","maxHeight","SearchBootstrapInput","clipPath","SortBootstrapInput","BootstrapInputdisabled","opacity","typography","fontWeightLight","fontWeightRegular","fontWeightMedium","body2","top","transform","iconOpen","select","MuiPopover","overflow","left","borderLeft","borderRight","borderBottom","MuiMenuItem","DropDown","PureComponent","makeTooltipActive","_document","_document$querySelect","_document2","_document2$querySelec","_document3","_document3$querySelec","querySelector","classList","contains","add","changeDropDown","_this$props","selVal","target","setState","onSelected","componentDidMount","componentDidUpdate","prevProps","prevState","snapshot","_this$props2","optionList","MenuItem","dropdowncontainer","Select","IconComponent","arrow","roundedDropdown","KeyboardArrowDownIcon","MenuProps","getContentAnchorEl","transformOrigin","disabled","onOpen","isSearchDropDown","isSortDropDown","createStyles","modal","CustomModal","Fade","in","closeAfterTransition","BackdropComponent","Backdrop","BackdropProps","timeout","MuiStep","MuiStepLabel","textTransform","whiteSpace","MuiStepContent","line","StepWizard","PopperWrapper","styled","Popper","_templateObject","_taggedTemplateLiteral","StyledPopper","div","_templateObject2","ErrorPopper","_templateObject3","EmptyPopper","_templateObject4","INPUT_STATE","TextInput","inputElem","locale","inputType","thousandSeparator","prevValue","uID","size","errorMsg","isError","curState","closepop","inputElemref","changeValue","isFormUpdated","el","datavalue","replaceAll","decimalplace","checkValid","handleEnter","preventDefault","currentNode","allElements","querySelectorAll","isEqualNode","focus","onTabKeyDown","handleBlur","values","prefix","blnRoundingDefaultFalse","onBlur","clearValue","_this$props3","onInputError","onClear","handleKeyPress","_this$props4","onKeyPress","handleKeyUp","_this$props5","onKeyUp","handleFocus","_this$props6","setSelectionRange","onFocus","componentWillUnmount","_this$props7","isChangeEvent","_store$getState","entryForm","setval","_this$props8","changestateflag","statevalue","maxfragment","automationId","_this$props9","_this$props10","regexValidation","RegExp","REGEX","test","_this$inputElem2","_this$inputElem","errorInput","elemID","_this$props11","ISNEGATIVE","NEGATIVEMSG","_this$inputElem4","_this$inputElem3","_this$props12","isRoundOff","getStateClass","focused","valid","popup","isPrevVal","isOpenPopup","disablePortal","modifiers","preventOverflow","boundariesElement","flip","hide","postfix","InputContainer","passInputReference","textbox","onKeyDown","cross","HighlightOffIcon","defaultProps","connect","TextStepper","updateStepper","operation","onValueUpdated","steppercontainer","addNoBorderCss","noBorder","stepperitem","middlewrapper","labelPosition","confirmbox","confirmtext","contentJustifyCenter","contentPlaceInlineFlex","btnFill","btnDefault","marginRight20","evt","stopPropagation","btnoutline","Popup","showFullValues","differenceOpenInterestMeasure1","optionSelected","CustToolTip","tooltip","CustomToolTip"],"mappings":"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","file":"static/js/main.ffdb9374.chunk.js","sourcesContent":["const INPUT_TYPE = {\n\tTEXT: 'TEXT',\n\tNUMBER: 'NUMBER',\n\tTEXT_AREA: 'TEXT_AREA',\n\tDECIMAL: 'DECIMAL',\n\tDECIMAL_5_PLACES: 'DECIMAL_5_PLACES',\n\tDECIMAL_4_PLACES: 'DECIMAL_4_PLACES',\n\tDECIMAL_3_PLACES: 'DECIMAL_3_PLACES',\n\tDECIMAL_2_PLACES: 'DECIMAL_2_PLACES',\n\tDECIMAL_1_PLACE: 'DECIMAL_1_PLACE',\n\tPERCENT: 'PERCENT',\n};\nconst TEXT_SIZE = {\n\tSMALL: 'SMALL',\n\tDEFAULT: 'DEFAULT',\n\tLARGE: 'LARGE',\n};\nexport { INPUT_TYPE, TEXT_SIZE };\n","const DROPDOWN_TYPE = {\n\tDEFAULT: 'DEFAULT',\n\tROUNDED: 'ROUNDED',\n};\nconst DROPDOWN_ARROW_TYPE = {\n\tARRROW: 'DEFAULT',\n\tNOARROW: 'NOARROW',\n\tROUNDED_ARROW: 'ROUNDEDARROW',\n};\nexport { DROPDOWN_TYPE, DROPDOWN_ARROW_TYPE };\n","const EXTENSION_INDICATOR_CODE_TYPE = {\n\tNONE: 'NONE',\n\tCALCULATION: 'CALCULATION',\n\tSUMMARY: 'SUMMARY',\n};\n\nconst INDICATOR_TYPECODE_KEY = {\n\tCALCULATED: 'Calculated',\n};\n\nconst LEVEL2_CATEGORIES = {\n\tFEED_EXPENSE: 'Feed Expense',\n};\nconst FILLED_MANUAL_TEXT = ' (Filled/Manual orders only)';\nconst SECTION_TYPE_CODE = {\n\tINCOME: 'Income',\n\tEXPENSE: 'Expense',\n\tACCRUAL: 'Accrual',\n\tFINANCIAL_INSIGHTS: 'Financial Insights',\n\tACCRUAL_ADJUSTMENTS: 'Accrual Adjustments',\n\tBASIS_ASSUMPTION: 'Basis Assumptions',\n\tNET_CASH_INCOME: 'Net Cash Income',\n\tNET_INCOME: 'Net Income',\n\tTOTAL_ACCURAL_COP: 'Total Dairy Accrual Cost of Production',\n};\n\nconst SECTION_CODES = {\n\tBASIC_INFO: 'BASIC INFO',\n\tSUMMARY: 'SUMMARY',\n\tGENERAL: 'GENERAL',\n\tCROP: 'CROP',\n\tBS_DETAIL: 'BS DETAIL',\n};\nconst SUBSECTION_TYPE_CODE = {\n\tLIVESTOCK_INVENTORY: 'Livestock Inventory',\n\tNON_FEED: 'Non Feed-Crop Accruals',\n\tDEPRECIATION: 'Depreciation',\n\tPRINCIPAL_PAYMENTS: 'Principal Payments',\n};\nconst STATUS: Array = ['DRAFT', 'FINAL', 'ARCHIVED'];\nconst YEAR: Array = ['2020', '2019', '2018', '2017', '2016'];\nconst STORED_AMT_KEYS = {\n\tBEGINNING_BALANCE: 'Beginning Balance',\n\tENDING_BALANCE: 'Ending Balance',\n\tVALUE_PER_HEAD: 'Value per head',\n\tBEGINNING_NO_OF_HEAD: 'Beginning Number of head',\n\tENDING_NO_OF_HEAD: 'Ending Number of head',\n\tASSIGNED_PERCENTAGE: 'Assigned %',\n};\nconst STORED_MEASURE_KEYS = {\n\tPER_CWT: 'per CWT',\n\tPER_COW_PER_DAY: 'Per Cow Per Day',\n\tPER_COW_PER_YEAR: 'Per Cow Per Year',\n\tPER_ACRE: 'Per Acre',\n};\n\nconst INDICATOR_KEYS = {\n\tPER_CWT: 'CalculatePerCWT',\n\tPER_COW_PER_DAY: 'CalculatePerCowPerDay',\n\tPER_COW_PER_YEAR: 'CalculatePerYearPerCow',\n\tPER_ACRE: 'CalculatePerAcre',\n};\n\nconst NOTE_KEYS = {\n\tSTRING: 'string',\n};\nconst JOURNAL_HEADER_KEYS = {\n\tAVG_NO_OF_MATURE_COWS: 'Average Number of Mature Cows',\n\tAVG_NO_OF_REPLACEMENT_INVENTORY:\n\t\t'Average Number of Replacements in Inventory',\n\tVOL_OF_MILK_SOLD_CWTS: 'Volume of Milk Sold (Cwts)',\n\tCORN_FORAGE_ACRES: 'Corn Forage Acres',\n\tCORN_GRAIN_ACRES: 'Corn Grain Acres',\n\tALFA_ALFA_ACRES: 'Alfalfa Acres',\n\tOTHER_FORAGE_ACRES: 'Other Forage Acres',\n\tOTHER_CASH_GRAIN_ACRES: 'Other Cash Grain Acres',\n\tTOTAL_ACRES: 'Total Acres',\n\tTOTAL_CALVES: 'Total Calves',\n\tTOTAL_HEIFERS: 'Total Heifers',\n\tTOTAL_BRED_HEIFERS: 'Total Bred Heifers',\n};\nconst ACCURAL_ADJUSTMENTS = {\n\tLIVESTOCK_INVENTORY: 'Change in Livestock Inventory',\n\tFEED_CROP_INVENTORY: 'Change in Feed/Crop Inventory',\n\tPREPAIDS: 'Change in Pre-Paids',\n\tACCOUNT_RECEIVABLE: 'Change in Accounts Receivable',\n\tACCOUNT_PAYABLE: 'Change in Accounts Payable',\n\tDEPR_EXPENSE: 'Depreciation Expense',\n};\nconst CROP_ACCURAL = {\n\tFEED_CROP_ACCURAL: 'Feed-Crop Accrual',\n\tNET_ACCURAL_FEED_COST: 'Net Accrual Feed Cost',\n};\n\nconst NAVIGATION_STEPS = [\n\t{\n\t\tid: 'basic-info',\n\t\tname: 'Basic Information',\n\t\tcompleted: false,\n\t\tsubsteps: [],\n\t},\n\t{\n\t\tid: 'income',\n\t\tname: 'General Assumptions',\n\t\tcompleted: false,\n\t\tsubsteps: [\n\t\t\t{\n\t\t\t\tid: 'income',\n\t\t\t\tname: 'Income',\n\t\t\t\tcompleted: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'expense',\n\t\t\t\tname: 'Expense',\n\t\t\t\tcompleted: false,\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tid: 'balance-sheet',\n\t\tname: 'Balance Sheet Details',\n\t\tcompleted: false,\n\t\tsubsteps: [],\n\t},\n\t{\n\t\tid: 'class3-class4',\n\t\tname: 'Class 3/4 Basis Information',\n\t\tcompleted: false,\n\t\tsubsteps: [],\n\t},\n\t{\n\t\tid: 'cop-summary',\n\t\tname: 'COP Summary',\n\t\tcompleted: false,\n\t\tsubsteps: [],\n\t},\n];\n\nconst IDENTIFIERS = {\n\tINCOME: '1',\n\tMILK: '2',\n\tEXPENSE: '12',\n\tTOTAL_OPERATING_COST: '88',\n\tTOTAL_ACCURAL_ADJUSTMENTS: '89',\n\tTOTAL_IDENTIFIED_COP: '90',\n\tNET_COP_MILK: '91',\n\tCLASS3: '129',\n\tCLASS3_HISTORIC: '86',\n\tCLASS3_FORECAST: '100',\n\tCLASS3_WEIGHT: '107',\n\tCLASS3_BREAKEVEN: '92',\n\tCLASS4: '112',\n\tCLASS4_HISTORIC: '87',\n\tCLASS4_FORECAST: '99',\n\tCLASS4_WEIGHT: '108',\n\tCLASS4_BREAKEVEN: '93',\n\tCASH_PLUS_PRINCIPAL: '130',\n\tCASH_PLUS_PRINCIPAL_BREAKEVEN: '113',\n\tCASH_PLUS_PRINCIPAL_CL3_BREAKEVEN: '114',\n\tCASH_PLUS_PRINCIPAL_CL4_BREAKEVEN: '115',\n\tCASH_PLUS_DEPRECIATION: '94',\n\tCASH_PLUS_DEPRECIATION_BREAKEVEN: '95',\n\tCASH_PLUS_DEPRECIATION_CL3_BREAKEVEN: '96',\n\tCASH_PLUS_DEPRECIATION_CL4_BREAKEVEN: '97',\n\tCASH_FEED_COST: '98',\n\tACCURAL_FEED_COST: '106',\n\tCHANGE_IN_LIVESTOCK: '120',\n\tCHANGE_IN_FEED_CROP: '121',\n\tCHANGE_IN_PREPAID: '122',\n\tCHANGE_IN_AR: '123',\n\tCHANGE_IN_AP: '124',\n\tCHANGE_IN_DEPRECIATION: '125',\n\tNET_CASH_FEED_COST: '67',\n\tNET_ACCURAL_FEED_COST: '110',\n\tFEED_INVENTORY: '69',\n\tNON_FEED_INVENTORY: '70',\n\tFEED_CROP_PREPAID: '72',\n\tFEED_CROP_AR: '73',\n\tFEED_CROP_AP: '74',\n\tBS_PREPAID: '82',\n\tBS_AR: '83',\n\tBS_AP: '84',\n\tBS_LIVESTOCK: '76',\n\tBS_DEPRECIATION: '101',\n\tBS_NON_FEED_CROP: '75',\n\tBS_PRINCIPAL_PAYMENTS: '104',\n\tBS_EQUIPMENT: '102',\n\tBS_FACILITY: '103',\n\tFEED_EXPENSE: '19',\n\tNET_INCOME: '105',\n\tTOTAL_ACCURAL_COP: '128',\n\tNET_CASH_INCOME: '85',\n\tBS_CHANGE_IN_HERD_VALUE: '132',\n};\n\nconst ACTION_CODE = {\n\tCREDIT: 'Credit',\n\tDEBIT: 'Debit',\n};\n\nconst ClASS3_DROPDOWN_OPTIONS = {\n\tSTART: 0,\n\tEND: 100,\n\tDIFFERENCE: 5,\n};\n\nconst GRAPH_DATA_IDENTIFIERS = [1, 12, 128, 19, 46, 110];\n\nconst COA_TYPECODES = {\n\tDEFAULT_ALLOCATION_TYPE: 'Default Allocation Type',\n\tREPORTING_SECTION: 'Reporting Section',\n\tDEFAULT_PERCENT: 'Default Percent',\n};\n\nconst ALLOCATION_TYPES = {\n\tDIRECT_ENTRY: 'Direct Entry',\n};\n\nconst SUBSECTION_IN_LIVESTOCK_INVENTORY = {\n\tHERD_VALUE: 'Herd Value',\n};\n\nconst RMSUMMARY_NETMTM_NOTE = '*Net Open Milk Volume Includes Working Orders';\n\nexport {\n\tRMSUMMARY_NETMTM_NOTE,\n\tEXTENSION_INDICATOR_CODE_TYPE,\n\tLEVEL2_CATEGORIES,\n\tSECTION_TYPE_CODE,\n\tSTATUS,\n\tYEAR,\n\tSECTION_CODES,\n\tSTORED_MEASURE_KEYS,\n\tSTORED_AMT_KEYS,\n\tNAVIGATION_STEPS,\n\tSUBSECTION_TYPE_CODE,\n\tNOTE_KEYS,\n\tJOURNAL_HEADER_KEYS,\n\tACCURAL_ADJUSTMENTS,\n\tCROP_ACCURAL,\n\tINDICATOR_TYPECODE_KEY,\n\tIDENTIFIERS,\n\tACTION_CODE,\n\tClASS3_DROPDOWN_OPTIONS,\n\tINDICATOR_KEYS,\n\tGRAPH_DATA_IDENTIFIERS,\n\tALLOCATION_TYPES,\n\tCOA_TYPECODES,\n\tSUBSECTION_IN_LIVESTOCK_INVENTORY,\n\tFILLED_MANUAL_TEXT,\n};\n","const NUM_OF_CARDS = 24;\nconst RM_NAVIGATION_STEPS = [\n\t{\n\t\tid: 'herd-production',\n\t\tname: 'FORECAST INFORMATION',\n\t\tcompleted: false,\n\t\tsubsteps: [\n\t\t\t{\n\t\t\t\tid: 'herd-production',\n\t\t\t\tname: 'Herd Production',\n\t\t\t\tcompleted: false,\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'rev-exp',\n\t\t\t\tname: 'Revenue and Expense',\n\t\t\t\tcompleted: false,\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tid: 'class3',\n\t\tname: 'RISK MANAGEMENT TOOLS',\n\t\tcompleted: false,\n\t\tsubsteps: [\n\t\t\t{\n\t\t\t\tid: 'class3',\n\t\t\t\tname: 'Class 3',\n\t\t\t\tcompleted: false,\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'class4',\n\t\t\t\tname: 'Class 4',\n\t\t\t\tcompleted: false,\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'cheese',\n\t\t\t\tname: 'Cheese',\n\t\t\t\tcompleted: false,\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'dmc',\n\t\t\t\tname: 'DMC',\n\t\t\t\tcompleted: false,\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'drp',\n\t\t\t\tname: 'DRP - CLASS',\n\t\t\t\tcompleted: false,\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'drp-comp',\n\t\t\t\tname: 'DRP - COMPONENT',\n\t\t\t\tcompleted: false,\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tid: 'rm-summary',\n\t\tname: 'MARKETING PLAN SUMMARY',\n\t\tcompleted: false,\n\t\tsubsteps: [],\n\t},\n];\n\nconst RM_OPTIONS = {\n\tCONTRACT: 'Contract',\n\tFLOOR: 'Floor',\n\tCOLLAR: 'Collar',\n\tCEILING: 'Ceiling',\n};\n\nconst RM_SCHEMA_CODE = 'RM_SCHEMA';\nconst RM_ALLOCATION_TYPES = {\n\tDIRECT_ENTRY: 'Direct Entry',\n\tFIXED: 'Fixed',\n\tVAR_COW: 'Var-Cow',\n\tVAR_CWT: 'Var-Cwt',\n\tFORECAST_SUMMARY: 'Forecast Summary',\n\tDO_NOT_FORECAST: 'Do Not Forecast',\n};\n\nconst Comm_SymbolTo_Volume_Dict: { [id: string]: number } = {\n\t'@DA': 200000,\n\t'@DK': 200000,\n\t'@CSC': 20000,\n};\n\nconst Comm_Divisor_Dict: { [id: string]: number } = {\n\t'@DA': 100,\n\t'@DK': 100,\n\t'@CSC': 1,\n};\n\nconst Comm_Multiplier_Dict: { [id: string]: number } = {\n\t'@DA': 2000,\n\t'@DK': 2000,\n\t'@CSC': 20000,\n};\n\nconst RM_COMMODITIES = {\n\tCLASS3: {\n\t\tCOMMODITY: 'CLASS3',\n\t\tMUTLIPLIER: 200000,\n\t\tSYMBOL: '@DA',\n\t},\n\tCLASS4: {\n\t\tCOMMODITY: 'CLASS4',\n\t\tMUTLIPLIER: 200000,\n\t\tSYMBOL: '@DK',\n\t},\n\tCHEESE: {\n\t\tCOMMODITY: 'CHEESE',\n\t\tMUTLIPLIER: 20000,\n\t\tSYMBOL: '@CSC',\n\t},\n\tCORN: {\n\t\tCOMMODITY: 'CORN',\n\t\tMUTLIPLIER: 0,\n\t\tSYMBOL: '@C',\n\t},\n\tSBM: {\n\t\tCOMMODITY: 'SBM',\n\t\tMUTLIPLIER: 0,\n\t\tSYMBOL: '@SM',\n\t},\n\tALFALFA: {\n\t\tCOMMODITY: 'Alfalfa',\n\t\tMULTIPLIER: 0,\n\t\tSYMBOL: '@ALFALFA',\n\t},\n\tACTUALFEED: {\n\t\tCOMMODITY: 'ACTUAL FEED',\n\t\tMULTIPLIER: 0,\n\t\tSYMBOL: '@ACTUALFEED',\n\t},\n\tALLMILK: {\n\t\tCOMMODITY: 'ALL MILK',\n\t\tMULTIPLIER: 0,\n\t\tSYMBOL: '@ALLMILK',\n\t},\n};\n\nconst RM_COMMODITIES_INPUT = {\n\tSTRIKE: 'Strike',\n\tCONTRACTS: 'Number of Contracts',\n\tVOLUME: 'Volume',\n\tPREMIUM: 'Premium',\n\tNET: 'Net',\n\tADMINFEE: 'Admin Fee',\n\tMTM: 'MTM',\n\tVOLUME_TOTAL: 'Volume Total',\n\tVOLUME_FILLED: 'Volume Filled',\n\tVOLUME_WORKING: 'Volume Working',\n};\n\nconst RM_SECTION_CODES = {\n\tHEADER: 'Header',\n\tOPERATION_FORECAST: 'Operation Forecast',\n\tCOP_DATA: 'copData',\n\tPOSITION: 'Position',\n\tCOP_FORECAST: 'COP Forecast',\n\tDRP_COMP: 'DRP Comp',\n\tDMC: 'DMC',\n\tDRP: 'DRP Class',\n\tSUMMARY: 'Summary',\n};\n\nconst RM_OPERATING_FORECAST_SECTION_CODES = {\n\tMONTHS: 'months',\n\tQUARTERS: 'quarters',\n\tYEAR: 'year',\n};\n\nconst RM_TYPECODES = {\n\tENDORSEMENT: 'Endorsement',\n\tENDORSEMENT_SUMMARY: 'Endorsement Summary',\n\tQUARTERLY_ENDORSEMENT_SUMMARY: 'Quarterly Summary',\n\tENDORSEMENT_DATE: 'Endorsement Date',\n\tDECLARED_PROD_QTR_END: 'Declared Production/QTR',\n\tCLASS_4_FLOOR_PRICE: 'Floor Price Class IV',\n\tCLASS_3_FLOOR_PRICE: 'Floor Price Class III',\n\tPERCENT_COVERED: 'Percent of milk covered',\n\tPROTECT_FACT: 'Protection Factor/QTR (number)',\n\tYIELD_ADJ: 'Yield Adjustment Factor Ratio',\n\tPREMIUM_DOLLAR: 'Premium Dollar',\n\t// GROSS_EXPECTED_CWT: 'Gross Expected Revenue Guarantee ($/cwt)',\n\tGROSS_EXPECTED_TOTAL: 'Gross Expected Revenue Guarantee (Total$)',\n\t// GROS_PROB_CWT: 'Gross Probable Indemnity ($/cwt)',\n\tGROS_PROB_TOTAL: 'Gross Probable Indemnity (Total$)',\n\t// MTM_ADJ_CWT: 'MTM w/YF Adjustment ($/cwt)',\n\tMTM_ADJ_TOTAL: 'MTM w/YF Adjustment (Total$)',\n\t// BEG_CWT: 'Beginning Profitable Level ($/cwt)',\n\tBEG_TOTAL: 'Beginning Profitable Level (Total$)',\n\t// MARKET_PRICE_CWT: 'Market Price Weighted ($/cwt)',\n\tMARKET_PRICE_TOTAL: 'Market Price Weighted (Total$)',\n\t// NET_MTM_CWT: 'Market to Market ($/cwt)',\n\tNET_MTM_TOTAL: 'Market to Market (Total$)',\n\tCOP_VERSION: 'CoP Version',\n\tLAST_MODIFIED: 'Modified At',\n\tFORECAST_NOTES: 'Forecast Notes',\n\tRM_NOTES: 'RM Plan Notes',\n\tLACTATING_COWS: 'Lactating Cows',\n\tMILK_PER_COW_PER_DAY: 'Milk per Cow per Day',\n\tCWT_PER_MONTH: 'CWTS per Month',\n\tMILK$: 'Forecast Milk income',\n\tAVG_PC_HERD_DRY: 'Annual Average pct Dry Heard',\n\tAVG_HERD_SIZE: 'Estimated Average Herd Size',\n\tQ1_EST_PROD_FACTOR: 'Q1 Estimated Production Factor',\n\tQ2_EST_PROD_FACTOR: 'Q2 Estimated Production Factor',\n\tQ3_EST_PROD_FACTOR: 'Q3 Estimated Production Factor',\n\tQ4_EST_PROD_FACTOR: 'Q4 Estimated Production Factor',\n\tCOMMODITY: 'Commodity',\n\tCLASS_3: 'Class 3',\n\tMTM_FUTURES_POSITION: 'Net Futures Position',\n\tSUMMARY: 'Summary',\n\tPOSITION: 'Position',\n\tSTRIKE: 'Strike',\n\tCONTRACTS: 'Number of Contracts',\n\tVOLUME: 'Volume',\n\tPREMIUM: 'Premium',\n\tNET: 'Net',\n\tADMIN: 'Admin Fee',\n\tDEFAULT_ALLOCATION_TYPE: 'Default Allocation Type',\n\tSETTLEMENT_PRICE_AMT: 'settlementPriceAmount',\n\tFORECAST_AMOUNT: 'Forecast Amount',\n\tFORECAST_PER_CWT: 'Forecast Per CWT',\n\tFORECAST_PER_COW_PER_YEAR: 'Forecast Per Cow Per year',\n\tAMOUNT: 'Amount',\n\tLBS_ANNUALY: 'Lbs Covered Annually (Lbs)',\n\tMARGIN_FLOOR: 'Margin Floor Cover (dol per CWT)',\n\tMARGIN_FLOOR_PREMIUM: 'Margin Floor Premium (dol per CWT)',\n\tDMC: 'DMC',\n\tDRP: 'DRP Class',\n\tACTUAL_FORECASTED_PRICES: 'Actual/ Forecasted Prices',\n\tBUTTERFAT_$_CWT: 'Butterfat ($/cwt)',\n\tPROTEIN_$_CWT: 'Protein ($/cwt)',\n\tNON_FAT_SOLIDS_$_LBS: 'Nonfat Solids ($/lb)',\n\tOTHER_SOLIDS_$_CWT: 'Other Solids ($/cwt)',\n\tDECLARED_TESTS: 'Declared Tests',\n\tBUTTERFAT_LBS_CWT: 'Butterfat (lbs/cwt)',\n\tPROTEIN_LBS_CWT: 'Protein (lbs/cwt)',\n\tOTHER_SOLIDS_FIXED_LBS_CWT: 'Other Solids (Fixed) (lbs/cwt)',\n\tINPUTS: 'Inputs',\n\tDECLARED_PROD_QTR: 'Declared Production/QTR (Lbs)',\n\tDECLARED_PROD_MONTH: 'Declared Production/MO (Lbs)',\n\tBUTTERFAT_QUOTE: 'Butterfat Quote ($/cwt)',\n\tPROTEIN_QUOTE: 'Protein Quote ($/cwt)',\n\tOTHER_SOLIDS_QUOTE: 'Other Solids Quote ($/cwt)',\n\tNON_FAT_SOLIDS_QUOTE: 'Nonfat Solids Quote ($/lb)',\n\tCOMPONENT_WEIGHTING_FACTOR: 'Component Weighting Factor',\n\tNON_FAT_BUTTERFAT_WEIGHTING_FACTOR: 'Nonfat/Butterfat Weighting Factor',\n\tTOTAL_PRICE: 'Total Price ($/cwt)',\n\tPERCENT_MILK_COVERED: 'Percent of Milk Covered (%)',\n\tPROTECTION_FACTOR_QTR: 'Protection Factor/QTR (number)',\n\tPREMIUM_PAID: 'Premium Paid ($/cwt)',\n\tEXPECTED_OUTPUTS: 'Expected Outputs',\n\tEXPECTED_REVENUE_GUARANTEE: 'Expected Revenue Guarantee ($/cwt)',\n\tBEGIN_PROFITABLE_LEVEL: 'Beginning Profitable Level ($/cwt)',\n\tMARKET_PRICE_WEIGHTED: 'Market Price Weighted ($/cwt)',\n\tMTM_PER_CWT: 'MTM ($/cwt)',\n\tMTM_PER_MONTH: 'MTM/MO (Total$)',\n\tMTM_PER_QTR: 'MTM/QTR (Total$)',\n\tACTUAL_OUTPUTS: 'Actual Outputs',\n\tYF_RATIO: 'Yield Adjustment Factor Ratio (YF)',\n\tPROBABLE_INDEMNITY: 'Probable Indemnity',\n\tMTM_YF_ADJUSTMENTS: 'MTM w/YF Adjustment ($/cwt)',\n\tCORN: 'Corn ($/Bu)',\n\tSBM: 'SBM ($/Ton)',\n\tALFALFA: 'Alfalfa/Hay ($/Ton)',\n\tPROJECTED_FEED_TOTAL: 'Projected Feed Total ($/CWT)',\n\tACTUAL_FEED_TOTAL: 'Actual Feed Total ($/CWT)',\n\tALL_MILK: 'All Milk ($/CWT)',\n\tMARGIN_OVER_FEED: 'Margin Over Feed ($/CWT)',\n\tDMC_IDEMNITY: 'DMC Indemnity ($/CWT)',\n\tINDEMNITY_PAYMENT: 'Indemnity Payment ($/Month)',\n\tNET_PAYMENT: 'Net Payment (-Floor Prem) ($/Month)',\n\tCUMMULATIVE_TOTAL_RETURN: 'Cummulative Net Total Return ($)',\n\tQUOTE_TYPE: 'Quote Type',\n\tDMC_AMOUNT: 'DMC Amount',\n\tCME_PRICE: 'CME Prices',\n\tCLASS3_PRICE: 'Class 3 Price',\n\tCLASS4_PRICE: 'Class 4 Price',\n\tDECLARED_PRODUCTION_QTR: 'Declared Production/QTR',\n\tDECLARED_PRODUCTION_MO: 'Declared Production/MO',\n\tFLOOR_PRICE_CLASS3: 'Floor Price Class III',\n\tFLOOR_PRICE_CLASS4: 'Floor Price Class IV',\n\tPERCENT_MILK_COV: 'Percent of milk covered',\n\tCLASS3_WEIGHT_FACTOR: 'Class 3 weight factor',\n\tCLASS4_WEIGHT_FACTOR: 'Class 4 weight factor',\n\tPREM_PAID: 'Premium Paid',\n\tEXPECTED_REVENUE_GUARANTEE_POSITION: 'Expected Revenue Guarantee',\n\tBEGINNING_PROFITABLE_LEVEL: 'Beginning Profitable Level',\n\tMARKET_PRICE_WEIGHT: 'Market Price Weighted',\n\tMTM: 'MTM',\n\tMTM_MO: 'MTM/MO',\n\tMTM_QTR: 'MTM/QTR',\n\tYIELD_ADJ_FACTOR_RATIO: 'Yield Adjustment Factor Ratio',\n\tMTM_ADJ: 'MTM w/YF Adjustment',\n\tPROD_COVERAGE: 'Production / Coverage',\n\tPERCENT_COVERAGE: '% Coverage',\n\tPOSITION_COST: 'Position Cost',\n\tNET_POSITION_UPLIFT_DRAG: 'Net Position Uplift/Drag',\n\tFORECAST_MILK_VOLUME_LBS: 'Forecast Milk Volume (Lbs)',\n\tCLASS_4: 'Class 4',\n\tCHEESE: 'Cheese',\n\tDRP_CLASS: 'DRP-Class',\n\tDRP_COMPONENT: 'DRP Component',\n\tNET_OPEN_MILK: 'Net Open Milk',\n\tNET_OPEN_MILK_WO_DRP: 'Net Open Milk w/o DRP',\n\tTOTAL_POSITION_COST: 'Total Position Cost',\n\tCOST_PER_CWT_COVERED: 'Cost/Cwt (Covered)',\n\tCOST_PER_CWT_EST_PRODUCTION: 'Cost/Cwt (Tot. Est Production)',\n\tNET_UPLIFT_DRAG: 'Net Uplift/(Drag)',\n\tNET_UPLIFT_DRAG_PER_CWT_COVERED: 'Net Uplift (Drag)/Cwt (Covered)',\n\tNET_UPLIFT_DRAG_PER_CWT_EST_PRODUCTION:\n\t\t'Net Uplift (Drag)/Cwt ,(Tot. Est Production)',\n\tFORECASTED_NET_MILK_REVENUE: 'Forecasted Net Milk Revenue',\n\tACCRUAL: 'Accrual',\n\tESTIMATED_NET_INCOME_CWT: 'Estimated Net Income /Cwt',\n\tESTIMATED_NET_INCOME_TOTAL: 'Estimated Net Income Total',\n\tCHEESE_WORKING: 'Cheese Working',\n\tCLASS3_WORKING: 'Class 3 Working',\n\tCLASS4_WORKING: 'Class 4 Working',\n\tNET_OPEN_MILK_INC_WORKING: 'Net Open Milk including working',\n\tNET_OPEN_MILK_WO_DRP_WORKING: 'Net Open Milk w/o DRP including working',\n\tVOLUME_MANUAL_FILLED: 'Volume Filled',\n\tVOLUME_WORKING: 'Volume Working',\n\tTOTAL_COVERED_PRODUCTION_CLASS3: 'Class 3 Total Covered Production',\n\tTOTAL_COVERED_PRODUCTION_CLASS4: 'Class 4 Total Covered Production',\n\tTOTAL_COVERED_PRODUCTION_MO: 'Total Covered Production/Mo',\n\tTOTAL_COVERED_PRODUCTION_QTR: 'Total Covered Production/QTR',\n\tWEIGHT_AVERAGE_YIELD_ADJUSTMENT_FACTOR:\n\t\t'Weight Average Yield Adjustment Factor',\n\tWEIGHT_AVERAGE_PROTECTION_FACTOR: 'Weight Average Protection Factor',\n\tGROSS_EXPECTED_REVENUE_GUARANTEE_CWT:\n\t\t'Gross Expected Revenue Guarantee ($/cwt)',\n\tBEGINNING_PROFITABLE_LEVEL_CWT: 'Beginning Profitable Level ($/cwt)',\n\tMARKET_PRICE_WEIGHTED_CWT: 'Market Price Weighted ($/cwt)',\n\tMARKET_TO_MARKET_CWT: 'Market to Market ($/cwt)',\n\tGROSS_PROBABLE_INDEMNITY_CWT: 'Gross Probable Indemnity ($/cwt)',\n\tMTM_WYF_ADJUSTMENT_CWT: 'MTM w/YF Adjustment ($/cwt)',\n\tGROSS_EXPECTED_REVENUE_GUARANTEE_MO_TOTAL:\n\t\t'Gross Expected Revenue Guarantee/Mo (Total$)',\n\tBEGINNING_PROFITABLE_LEVEL_MO_TOTAL: 'Beginning Profitable Level/Mo (Total$)',\n\tMARKET_PRICE_WEIGHTED_MO_TOTAL: 'Market Price Weighted/Mo (Total$)',\n\tGROSS_PROBABLE_INDEMNITY_MO_TOTAL: 'Gross Probable Indemnity/Mo (Total$)',\n\tMARKET_TO_MARKET_MO_TOTAL: 'Market to Market/Mo (Total$)',\n\tGROSS_EXPECTED_REVENUE_GUARANTEE_QTR_TOTAL:\n\t\t'Gross Expected Revenue Guarantee/QTR (Total$)',\n\tBEGINNING_PROFITABLE_LEVEL_QTR_TOTAL:\n\t\t'Beginning Profitable Level/QTR (Total$)',\n\tGROSS_PROBABLE_INDEMNITY_QTR_TOTAL: 'Gross Probable Indemnity/QTR (Total$)',\n\tMARKET_PRICE_WEIGHTED_QTR_TOTAL: 'Market Price Weighted/QTR (Total$)',\n\tMARKET_TO_MARKET_QTR_TOTAL: 'Market to Market/QTR (Total$)',\n\tMTM_WYF_ADJUSTMENT_QTR_TOTAL: 'MTM w/YF Adjustment/QTR (Total$)',\n\tMTM_WYF_ADJUSTMENT_MO_TOTAL: 'MTM w/YF Adjustment/Mo (Total$)',\n\tDATA_TIME: 'dateTime',\n\tDRP_REFERENCE: 'DRP Reference',\n\tDRP_NOTE: 'DRP Note',\n};\n\nconst COMMODITY_STRUCTURE = {\n\tTYPECODE: 'typeCode',\n\tEXTENSION: 'extension',\n};\nconst COMMODITY_EXTENSION = {\n\tCODE: 'code',\n\tDISTRIBUTION: 'distribution',\n\tACCOUNTING_PERIOD: 'accountingPeriod',\n};\n\nconst COMMODITY_SUMMARY = {\n\tHEDGE_YIELD: 'Net Contract / Hedge Yield',\n\tCASH_YIELD: 'Fcst Volume / Cash Yield',\n\tNET_EXPOSURE: 'Net Exposure',\n\n\tCL3_BREAKEVEN: 'CL3 Breakeven',\n\tCL4_BREAKEVEN: 'CL4 Breakeven',\n\tCHEESE_BREAKEVEN: 'CHEESE Breakeven',\n\n\tCONTRACT_SETTLE: 'CME Contract Quote/Settle',\n\n\tCL3_MILK_REVENUE: 'Net Realized CL3/Milk Revenue',\n\tCL4_MILK_REVENUE: 'Net Realized CL4/Milk Revenue',\n\tCHEESE_MILK_REVENUE: 'Net Realized CHEESE/Milk Revenue',\n\n\tNET_MARIGIN: 'Net Margin',\n};\n\nconst NET_COP_BE_MILK_ID = '91';\nconst CLASS3_BREAKEVEN_ID = '92';\nconst CLASS4_BREAKEVEN_ID = '93';\n\nexport {\n\tCLASS3_BREAKEVEN_ID,\n\tCLASS4_BREAKEVEN_ID,\n\tCOMMODITY_EXTENSION,\n\tCOMMODITY_STRUCTURE,\n\tCOMMODITY_SUMMARY,\n\tComm_Divisor_Dict,\n\tComm_Multiplier_Dict,\n\tComm_SymbolTo_Volume_Dict,\n\tNET_COP_BE_MILK_ID,\n\tNUM_OF_CARDS,\n\tRM_ALLOCATION_TYPES,\n\tRM_COMMODITIES,\n\tRM_COMMODITIES_INPUT,\n\tRM_NAVIGATION_STEPS,\n\tRM_OPERATING_FORECAST_SECTION_CODES,\n\tRM_OPTIONS,\n\tRM_SCHEMA_CODE,\n\tRM_SECTION_CODES,\n\tRM_TYPECODES,\n};\n","const DRP_COMP_ENDORSEMENT = {\n\tEndorsement_Date: 'Endorsement Date',\n\tDeclared_Production_QTR: 'Declared Production/QTR (Lbs)',\n\n\tQMP_Butterfat: 'Quarterly Market Price - Butterfat ($/cwt)',\n\tQMP_Protein: 'Quarterly Market Price - Protein ($/cwt)',\n\tQMP_Other_Solids: 'Quarterly Market Price - Other Solids ($/cwt)',\n\tQMP_Non_Fat_Solids: 'Quarterly Market Price - Non-Fat Solids ($/lbs)',\n\n\tDT_Butterfat: 'Declared Test - Butterfat',\n\tDT_Protein: 'Declared Test - Protein',\n\tDT_Other_Solids: 'Declared Test - Other Solids',\n\tDT_Non_Fat_Solids: 'Declared Test - Non-Fat Solids',\n\n\tQT_Butterfat: 'Quote - Butterfat ($/cwt)',\n\tQT_Protein: 'Quote - Protein ($/cwt)',\n\tQT_Other_Solids: 'Quote - Other Solids ($/cwt)',\n\tQT_Non_Fat_Solids: 'Quote - Non-Fat Solids ($/lb)',\n\n\tComp_Weight_factor: 'Component Weighting Factor',\n\tNonFt_BF_Wght: 'Nonfat/Butterfat Weighting Factor',\n\tProtection_Factor: 'Protection Factor/QTR (number)',\n\tPercentage_Covered: 'Percent of Milk Covered (%)',\n\tYield_Adj_Fact: 'Yield Adjustment Factor Ratio (YF)',\n\tPremium_Paid_cwt: 'Premium Paid ($/cwt)',\n\tPremium_Paid_Total: 'Premium Dollar',\n\tDrp_Reference: 'DRP Reference',\n\tDrp_Note: 'DRP Note',\n};\n\nconst DRP_COMP_ENDORSEMENT_SUMMARY = {\n\tTotal_Price_CWT: 'Total Price ($/cwt)',\n\n\tGross_Expected_CWT: 'Expected Revenue Guarantee ($/cwt)',\n\tGross_Expected_TOTAL: 'Expected Revenue Guarantee (Total$)',\n\n\tBeg_CWT: 'Beginning Profitable Level ($/cwt)',\n\tBeg_TOTAL: 'Beginning Profitable Level (Total$)',\n\n\tMarket_Price_CWT: 'Market Price Weighted ($/cwt)',\n\tMarket_Price_TOTAL: 'Market Price Weighted (Total$)',\n\n\tGross_Prob_CWT: 'Gross Probable Indemnity ($/cwt)',\n\tGross_Prob_TOTAL: 'Gross Probable Indemnity (Total$)',\n\n\tMTM_Adj_CWT: 'MTM w/YF Adjustment ($/cwt)',\n\tMTM_Adj_TOTAL: 'MTM w/YF Adjustment (Total$)',\n\n\tMTM_CWT: 'Market to Market ($/cwt)',\n\tMTM_TOTAL: 'Market to Market (Total$)',\n\n\tNet_MTM_TOTAL: 'Net MTM Total',\n\tNet_MTM_CWT: 'Net MTM CWT',\n};\n\nconst DRP_COMP_QUARTERLY_SUMMARY = {\n\tTOTAL_COVERED_PRODUCTION_MONTHLY: 'Total Covered Production/Mo',\n\tTOTAL_COVERED_PRODUCTION_QTR: 'Total Covered Production/QTR',\n\tWEIGHT_AVG_YIELD: 'Weight Average Yield Adjustment Factor',\n\tWEIGHT_AVG_PROTECTION_FACTOR: 'Weight Average Protection Factor',\n\n\tMARKET_PRICE_WEIGHTED_CWT: 'Market Price Weighted ($/cwt)',\n\tMARKET_PRICE_WEIGHTED_QTR: 'Market Price Weighted/QTR (Total$)',\n\tMARKET_PRICE_WEIGHTED_MONTHLY: 'Market Price Weighted/Mo (Total$)',\n\n\tGROSS_EXPECTED_RG_CWT: 'Gross Expected Revenue Guarantee ($/cwt)',\n\tGROSS_EXPECTED_RG_QTR: 'Gross Expected Revenue Guarantee/QTR (Total$)',\n\tGROSS_EXPECTED_RG_MONTH: 'Gross Expected Revenue Guarantee/Mo (Total$)',\n\n\tBEG_CWT: 'Beginning Profitable Level ($/cwt)',\n\tBEG_QTR: 'Beginning Profitable Level/QTR (Total$)',\n\tBEG_MONTH: 'Beginning Profitable Level/Mo (Total$)',\n\n\tGPI_QTR: 'Gross Probable Indemnity/QTR (Total$)',\n\tGPI_CWT: 'Gross Probable Indemnity ($/cwt)',\n\tGPI_MONTH: 'Gross Probable Indemnity/Mo (Total$)',\n\n\tMTM_ADJ_QTR: 'MTM w/YF Adjustment/QTR (Total$)',\n\tMTM_ADJ_CWT: 'MTM w/YF Adjustment ($/cwt)',\n\tMTM_ADJ_MONTH: 'MTM w/YF Adjustment/Mo (Total$)',\n\n\tMTM_CWT: 'Market to Market ($/cwt)',\n\tMTM_QTR: 'Market to Market/QTR (Total$)',\n\tMTM_MONTH: 'Market to Market/Mo (Total$)',\n\n\tNET_MTM_CWT: 'NET MTM CWT',\n\tNET_MTM_MONTH: 'NET MTM MONTH',\n\tNET_MTM_QTR: 'NET MTM QTR',\n};\n\nexport {\n\tDRP_COMP_ENDORSEMENT,\n\tDRP_COMP_ENDORSEMENT_SUMMARY,\n\tDRP_COMP_QUARTERLY_SUMMARY,\n};\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"medium\":\"text-input_medium__1labk\",\"hideelementnotreq\":\"text-input_hideelementnotreq__1fuNz\",\"marginRight24\":\"text-input_marginRight24__2nHJC\",\"marginLeft24\":\"text-input_marginLeft24__3Wsly\",\"marginRight10\":\"text-input_marginRight10__3ZrB_\",\"marginRight16\":\"text-input_marginRight16__268Xw\",\"marginRight7\":\"text-input_marginRight7__Z9A8l\",\"marginTop15\":\"text-input_marginTop15__15CAk\",\"marginTop10\":\"text-input_marginTop10__3ndvv\",\"marginTop20\":\"text-input_marginTop20__1dj4p\",\"marginBottom15\":\"text-input_marginBottom15__1AP3r\",\"marginBottom20\":\"text-input_marginBottom20__15_Mq\",\"marginBottom30\":\"text-input_marginBottom30__2Mb62\",\"marginRight20\":\"text-input_marginRight20__3Dqff\",\"marginBottom8\":\"text-input_marginBottom8__2ojlD\",\"marginTopBottom15\":\"text-input_marginTopBottom15__1-Y1r\",\"marginTop6\":\"text-input_marginTop6__hi-7E\",\"padding22\":\"text-input_padding22__2kmEn\",\"padding6\":\"text-input_padding6__wRMKn\",\"paddingbottom18\":\"text-input_paddingbottom18__2sfJN\",\"paddingTopBottom22px\":\"text-input_paddingTopBottom22px__1_0u3\",\"paddingLeft11\":\"text-input_paddingLeft11__3Q_2g\",\"margin15\":\"text-input_margin15__1kxc3\",\"paddingBtm20\":\"text-input_paddingBtm20__1U9FG\",\"paddingLeft55\":\"text-input_paddingLeft55__2gnm-\",\"paddingTopBottom8\":\"text-input_paddingTopBottom8__1M5_d\",\"padding0\":\"text-input_padding0__PzZGI\",\"paddingRight8\":\"text-input_paddingRight8__3sX23\",\"paddingTop0\":\"text-input_paddingTop0__INhWq\",\"paddingBottom0\":\"text-input_paddingBottom0__u7K9W\",\"marginBtm0\":\"text-input_marginBtm0__3gkMK\",\"padding30\":\"text-input_padding30__21mfW\",\"paddingTop51\":\"text-input_paddingTop51__3mpiB\",\"halfWidth\":\"text-input_halfWidth__230hm\",\"fullWidth\":\"text-input_fullWidth__3g0E5\",\"fullHeight\":\"text-input_fullHeight__1OJIs\",\"cursorPointer\":\"text-input_cursorPointer__17Rv9\",\"contentSpaceBetween\":\"text-input_contentSpaceBetween__32aYo\",\"contenFlex\":\"text-input_contenFlex__3ZLbn\",\"contentSpaceEvenly\":\"text-input_contentSpaceEvenly__3fhjV\",\"contentFlextGrowRow\":\"text-input_contentFlextGrowRow__2HN6o\",\"contentFlextGrowcolumn\":\"text-input_contentFlextGrowcolumn__3H96R\",\"contentFlexOne\":\"text-input_contentFlexOne__1wgeL\",\"textAlignCenter\":\"text-input_textAlignCenter__2Fbqb\",\"contentSpaceAround\":\"text-input_contentSpaceAround__11-H8\",\"contentAlignCenter\":\"text-input_contentAlignCenter__3gluA\",\"contentJustifyCenter\":\"text-input_contentJustifyCenter__23hRU\",\"contentPlaceEnd\":\"text-input_contentPlaceEnd__3_TmT\",\"contentPlaceInlineFlex\":\"text-input_contentPlaceInlineFlex__2n9Lx\",\"contentPlaceCenter\":\"text-input_contentPlaceCenter__3NwTf\",\"herdscroller\":\"text-input_herdscroller__Y7VsK\",\"btnoutline\":\"text-input_btnoutline__1u3X7\",\"btnFill\":\"text-input_btnFill__2CcgI\",\"btnSmall\":\"text-input_btnSmall__3PXRv\",\"popUpBtn\":\"text-input_popUpBtn__32pUO\",\"iconButton\":\"text-input_iconButton__35ObF\",\"btnLg\":\"text-input_btnLg__rESiG\",\"btnDefault\":\"text-input_btnDefault__1A-0b\",\"btnDefaultFixed\":\"text-input_btnDefaultFixed__6MH0n\",\"btnSm\":\"text-input_btnSm__15xGj\",\"notesIconColor\":\"text-input_notesIconColor__XUpt-\",\"InputContainer\":\"text-input_InputContainer__ABo_7\",\"prefix\":\"text-input_prefix__1YQWr\",\"cross\":\"text-input_cross__FCczt\",\"disabled\":\"text-input_disabled__3gbjG\",\"smallinput\":\"text-input_smallinput__ZYVtQ\",\"largeInput\":\"text-input_largeInput__2nQrV\",\"condtionalInput\":\"text-input_condtionalInput__3udVZ\",\"curstate\":\"text-input_curstate__oTZtF\",\"textbox\":\"text-input_textbox__2kF6_\"};","import { AxiosError, AxiosResponse } from 'axios';\nimport * as _ from 'lodash';\nimport { ActionCreator, Dispatch } from 'redux';\nimport { RM_API } from '../../common/configs';\nimport { REGEX_VALUES } from '../../common/constants';\nimport { http } from '../../common/services';\nimport {\n\tAuthInfo,\n\tMarketPrice,\n\tProducer,\n\tProducerYear,\n\tRiskManagement,\n\tSyncOffline,\n} from '../../schemas';\nimport { store } from '../index';\nimport {\n\tADD_MARKET_PRICE,\n\tEDIT_MARKET_FINALSYMBOL_STATUS,\n\tEDIT_MARKET_PRICE,\n\tEDIT_MARKET_SETTLEMENT_DATE_MONTH,\n\tMARKET_FETCH_FAIL,\n\tMARKET_FETCH_START,\n\tMARKET_FETCH_SUCCESS,\n\tMARKET_PRICE_LIST,\n\tMARKET_PRICE_REMOVE_SELECTED,\n\tPREPARE_DATAFRAME_MARKET_PRICE,\n\tSAVE_MARKET_PRICE_COMPLETE,\n\tSAVE_MARKET_PRICE_ERROR,\n\tSAVE_MARKET_PRICE_STARTS,\n\tSAVE_MARKET_PRICE_STAUS_RESET,\n} from './actions';\nimport { showMessage } from './message-notification';\n\ninterface IAuthAction {\n\ttype: string;\n}\ninterface IAuthErrorAction {\n\ttype: string;\n\tpayload: AxiosError;\n}\n\ninterface IAuthProducerLoadedAction {\n\ttype: string;\n\tpayload: Array;\n}\n\nconst fetchStart = (payload: { date: string }) => {\n\treturn {\n\t\ttype: MARKET_FETCH_START,\n\t\tpayload: payload,\n\t};\n};\n\nconst fetchFail: ActionCreator = (error: AxiosError) => {\n\treturn {\n\t\ttype: MARKET_FETCH_FAIL,\n\t\tpayload: error,\n\t};\n};\n\nconst fetchSuccess: ActionCreator = () => {\n\treturn {\n\t\ttype: MARKET_FETCH_SUCCESS,\n\t};\n};\n\nconst marketPriceLoaded: ActionCreator = (\n\tlist: Array = []\n) => {\n\treturn {\n\t\ttype: MARKET_PRICE_LIST,\n\t\tpayload: list,\n\t};\n};\n\nconst removeSelectedMarketPrice: ActionCreator = () => {\n\treturn {\n\t\ttype: MARKET_PRICE_REMOVE_SELECTED,\n\t};\n};\n\nconst prepareDataFrameMarketPrice = (dataList: Array) => {\n\treturn {\n\t\ttype: PREPARE_DATAFRAME_MARKET_PRICE,\n\t\tpayload: dataList,\n\t};\n};\n\nconst editMarketPrice = (payloadData: {\n\tcolKey: string;\n\trowKey: string;\n\tprice: string;\n}) => {\n\treturn {\n\t\ttype: EDIT_MARKET_PRICE,\n\t\tpayload: payloadData,\n\t};\n};\n\nconst addMarketPriceForMonth = (payloadData: {\n\tcolKey: string;\n\trowKey: string;\n\tprice: string;\n\tdate: string;\n}) => {\n\treturn {\n\t\ttype: ADD_MARKET_PRICE,\n\t\tpayload: payloadData,\n\t};\n};\n\nconst editSymbolFinalPriceIndicator = (payloadData: {\n\tcolKey: string;\n\trowKey: string;\n\tblnSymbolFinalPriceIndicator: boolean;\n}) => {\n\treturn {\n\t\ttype: EDIT_MARKET_FINALSYMBOL_STATUS,\n\t\tpayload: payloadData,\n\t};\n};\n\nconst editDateForYearMonth = (payloadData: {}) => {\n\treturn {\n\t\ttype: EDIT_MARKET_SETTLEMENT_DATE_MONTH,\n\t\tpayload: payloadData,\n\t};\n};\n\nconst saveMarketPriceStartsStatus = () => {\n\treturn { type: SAVE_MARKET_PRICE_STARTS };\n};\n\nconst saveMarkertPiceComplete = (data: any) => {\n\treturn { type: SAVE_MARKET_PRICE_COMPLETE, payload: data };\n};\n\nconst saveMarketPriceReset = () => {\n\treturn { type: SAVE_MARKET_PRICE_STAUS_RESET };\n};\n\nconst saveMarkertError = (error: any) => {\n\treturn { type: SAVE_MARKET_PRICE_ERROR, payload: error };\n};\n\n// get market price according to date\nconst getMarketPrice = (\n\tdate: string,\n\tmonth: string = '',\n\tyear: string = '',\n\tfetchNonLatest = false\n) => {\n\treturn (dispatch: Dispatch) => {\n\t\tdispatch(removeSelectedMarketPrice());\n\t\tdispatch(fetchStart({ date: date }));\n\t\thttp\n\t\t\t.get(RM_API.MARKET_PRICE_HISTORIC_LIST(date, month, year, fetchNonLatest))\n\t\t\t.then(\n\t\t\t\t(response: AxiosResponse) => {\n\t\t\t\t\tlet marketPriceList = response.data ? response.data : [];\n\t\t\t\t\tmarketPriceList.forEach((item: MarketPrice) => {\n\t\t\t\t\t\tconst monthYear = item.month + ' ' + item.year;\n\t\t\t\t\t\titem.date = new Date(monthYear);\n\t\t\t\t\t});\n\n\t\t\t\t\tmarketPriceList = _.orderBy(\n\t\t\t\t\t\tmarketPriceList,\n\t\t\t\t\t\t(item: MarketPrice) => new Date(item.tradingDateTime),\n\t\t\t\t\t\t['desc']\n\t\t\t\t\t);\n\t\t\t\t\tdispatch(marketPriceLoaded(marketPriceList));\n\t\t\t\t\tdispatch(fetchSuccess());\n\t\t\t\t},\n\t\t\t\t(err: AxiosError) => {\n\t\t\t\t\tdispatch(fetchFail(err));\n\t\t\t\t\tdispatch(showMessage(err?.message));\n\t\t\t\t}\n\t\t\t);\n\t};\n};\n\n// get market price in Offline mode according to date\nconst getMarketPriceOffline = (\n\tpartyIdentifer: string,\n\trmRevisionIdentifier: number,\n\tdate: string,\n\tmonth: string,\n\tyear: string\n) => {\n\treturn (dispatch: Dispatch) => {\n\t\tdispatch(fetchStart({ date: date }));\n\n\t\tconst authInfo: AuthInfo = store.getState().auth;\n\t\tconst syncedData: SyncOffline = store.getState().synced;\n\t\tlet marketPriceList =\n\t\t\t_.filter(syncedData[authInfo?.userInfo?.mail]?.marketPriceList, {\n\t\t\t\tmonth: month,\n\t\t\t\tyear: year,\n\t\t\t}) || [];\n\n\t\tif (Number(rmRevisionIdentifier) > 0) {\n\t\t\tconst syncList = syncedData[authInfo?.userInfo?.mail]?.list || [];\n\t\t\tconst producer = syncList.filter(\n\t\t\t\t(p: Producer) => p.producerIdentifier == partyIdentifer\n\t\t\t);\n\t\t\tconst yearList =\n\t\t\t\tproducer?.length > 0\n\t\t\t\t\t? producer[0]?.versions.filter(\n\t\t\t\t\t\t\t(item: ProducerYear) => String(item.year) == String(year)\n\t\t\t\t\t )\n\t\t\t\t\t: [];\n\t\t\tconst versionRM =\n\t\t\t\tyearList?.length > 0\n\t\t\t\t\t? yearList[0].riskMarketingVersions.filter(\n\t\t\t\t\t\t\t(item: RiskManagement) =>\n\t\t\t\t\t\t\t\tNumber(item.version) == Number(rmRevisionIdentifier)\n\t\t\t\t\t )\n\t\t\t\t\t: [];\n\t\t\tmarketPriceList =\n\t\t\t\tversionRM?.length > 0 ? versionRM[0].marketPriceList : [];\n\t\t}\n\n\t\tmarketPriceList?.forEach((item: MarketPrice) => {\n\t\t\tconst monthYear = item.month + ' ' + item.year;\n\t\t\titem.date = new Date(monthYear);\n\t\t});\n\n\t\tmarketPriceList = _.orderBy(\n\t\t\tmarketPriceList,\n\t\t\t(item: MarketPrice) => new Date(item.tradingDateTime),\n\t\t\t['desc']\n\t\t);\n\t\tdispatch(marketPriceLoaded(marketPriceList));\n\t\tdispatch(fetchSuccess());\n\t};\n};\n\nconst getDateForPostBody = (date: Date): string => {\n\treturn `${date.getFullYear()}-${('0' + (date.getMonth() + 1)).slice(-2)}-${(\n\t\t'0' + date.getDate()\n\t).slice(-2)}`;\n};\nconst saveMarketData = () => (dispatch: Dispatch) => {\n\tdispatch(saveMarketPriceStartsStatus());\n\n\tconst marketDictionary = store.getState().marketprice.modifiedDictionary;\n\tconst dataFrame = store.getState().marketprice.dataFrame;\n\n\tconst mappingDict: any = {};\n\tconst body: any[] = [];\n\n\tconst columns = ['@C', '@SM', '@ALFALFA', '@ACTUALFEED', '@ALLMILK'];\n\n\tconst addPOSTJsonStructucreFromObject = (\n\t\tkey: string,\n\t\tdataItem: MarketPrice\n\t) => {\n\t\tlet newItem: any = {};\n\t\tif (mappingDict[key]) {\n\t\t\tnewItem = mappingDict[key];\n\t\t} else {\n\t\t\tlet settlePrice = 0.0;\n\n\t\t\ttry {\n\t\t\t\tsettlePrice = parseFloat(\n\t\t\t\t\t(dataItem.settlementPriceAmount + '').replace(\n\t\t\t\t\t\tREGEX_VALUES.PrecedingZero,\n\t\t\t\t\t\t''\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t} catch (err) {\n\t\t\t\tconsole.log('parsing values', err);\n\t\t\t}\n\n\t\t\tnewItem = {\n\t\t\t\tSymbolCode: dataItem.symbolCode,\n\t\t\t\tSettlementPriceAmount: settlePrice,\n\t\t\t\tSymbolFinalPriceIndicator: dataItem.symbolFinalPriceIndicator,\n\t\t\t\tSettlementDate: dataItem.settlementDate,\n\t\t\t\tYear: dataItem.year,\n\t\t\t\tMonth: dataItem.month,\n\t\t\t};\n\t\t\tmappingDict[key] = newItem;\n\t\t\tbody.push(newItem);\n\t\t}\n\n\t\treturn newItem;\n\t};\n\n\tfor (let key in marketDictionary) {\n\t\t// console.log('Key', key);\n\t\tconst match = key.match(REGEX_VALUES.Month_Year_Symbol);\n\t\tif (match && match.length > 0) {\n\t\t\tconst colKey = match[1];\n\t\t\tconst rowKey = match[2];\n\n\t\t\tif (key.indexOf('PRICE') !== -1) {\n\t\t\t\t// console.log('PRICE', dataFrame[colKey][rowKey]);\n\t\t\t\t//TODO : provide only selected attributes\n\t\t\t\tconst dataItem = dataFrame[colKey][rowKey];\n\t\t\t\taddPOSTJsonStructucreFromObject(colKey + rowKey, dataItem);\n\t\t\t} else if (key.indexOf('STATUS') !== -1) {\n\t\t\t\t//TODO : loop on all the objects in row via dataFrame. prepare multile objects\n\t\t\t\tfor (let prop in dataFrame) {\n\t\t\t\t\tif (columns.indexOf(prop) !== -1 && dataFrame[prop][rowKey]) {\n\t\t\t\t\t\tconst item = addPOSTJsonStructucreFromObject(\n\t\t\t\t\t\t\tprop + rowKey,\n\t\t\t\t\t\t\tdataFrame[prop][rowKey]\n\t\t\t\t\t\t);\n\t\t\t\t\t\titem.SymbolFinalPriceIndicator =\n\t\t\t\t\t\t\tmarketDictionary[key].blnSymbolFinalPriceIndicator;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// console.log('STATUS', dataFrame[colKey][rowKey]);\n\t\t\t} else if (key.indexOf('SETTLEDATE') !== -1) {\n\t\t\t\t//TODO : loop on all the objects in row via dataFrame. prepare multile objects\n\t\t\t\tfor (let prop in dataFrame) {\n\t\t\t\t\tif (columns.indexOf(prop) !== -1 && dataFrame[prop][rowKey]) {\n\t\t\t\t\t\tconst existingItem = dataFrame[prop][rowKey];\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t(dataFrame['STATUS'] && dataFrame['STATUS'][rowKey]) ||\n\t\t\t\t\t\t\texistingItem.isModified\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tconst item = addPOSTJsonStructucreFromObject(\n\t\t\t\t\t\t\t\tprop + rowKey,\n\t\t\t\t\t\t\t\tdataFrame[prop][rowKey]\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tconst [year, month, day] = marketDictionary[\n\t\t\t\t\t\t\t\tkey\n\t\t\t\t\t\t\t].settlementDate.split('-');\n\t\t\t\t\t\t\tconst today = new Date();\n\t\t\t\t\t\t\tconst selectedDate = new Date(\n\t\t\t\t\t\t\t\tDate.UTC(\n\t\t\t\t\t\t\t\t\tyear,\n\t\t\t\t\t\t\t\t\tparseInt(month) - 1,\n\t\t\t\t\t\t\t\t\tday,\n\t\t\t\t\t\t\t\t\ttoday.getUTCHours(),\n\t\t\t\t\t\t\t\t\ttoday.getTimezoneOffset() + today.getUTCMinutes(),\n\t\t\t\t\t\t\t\t\ttoday.getUTCSeconds(),\n\t\t\t\t\t\t\t\t\ttoday.getUTCMilliseconds()\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\titem.SettlementDate = getDateForPostBody(selectedDate);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// console.log('SETTLEDATE', dataFrame[colKey][rowKey]);\n\t\t\t}\n\t\t}\n\t}\n\n\thttp.post(RM_API.MARKET_PRICE_POST(), body).then(\n\t\t(response: AxiosResponse) => {\n\t\t\tdispatch(saveMarkertPiceComplete(response.data));\n\t\t},\n\t\t(err: AxiosError) => {\n\t\t\tconsole.log('Error :', err);\n\t\t\tdispatch(saveMarkertError(err));\n\t\t}\n\t);\n};\n\nexport {\n\tgetMarketPrice,\n\tremoveSelectedMarketPrice,\n\tgetMarketPriceOffline,\n\tmarketPriceLoaded,\n\tfetchStart,\n\tfetchSuccess,\n\tprepareDataFrameMarketPrice,\n\teditMarketPrice,\n\tsaveMarketData,\n\teditSymbolFinalPriceIndicator,\n\teditDateForYearMonth,\n\tsaveMarketPriceReset,\n\taddMarketPriceForMonth,\n};\n","import { AxiosError, AxiosResponse } from 'axios';\nimport * as _ from 'lodash';\nimport { ActionCreator, Dispatch } from 'redux';\nimport { PRODUCER_API } from '../../common/configs';\nimport { http } from '../../common/services';\nimport {\n\tAuthInfo,\n\tCostOfProduction,\n\tProducer,\n\tProducerYear,\n\tRiskManagement,\n\tSyncOffline,\n} from '../../schemas';\nimport {\n\tPRODUCERS_FETCH_FAIL,\n\tPRODUCERS_FETCH_START,\n\tPRODUCERS_FETCH_SUCCESS,\n\tPRODUCERS_LIST,\n\tPRODUCER_REMOVE_SELECTED,\n\tPRODUCER_SELECTED,\n} from '../actions/actions';\nimport { store } from '../index';\nimport { formatDate, sortArray } from './../../common/utils';\nimport { showMessage } from './message-notification';\n\ninterface IAuthAction {\n\ttype: string;\n}\ninterface IAuthErrorAction extends IAuthAction {\n\tpayload: AxiosError;\n}\n\ninterface IAuthProducerLoadedAction extends IAuthAction {\n\tpayload: Array;\n}\n\ninterface IAuthProducerByIDLoadedAction extends IAuthAction {\n\tpayload: Producer;\n}\n\ninterface IAuthSyncYearsOfflineAction extends IAuthAction {\n\tpayload: Producer;\n}\n\nconst producerFetchStart: ActionCreator = () => {\n\treturn {\n\t\ttype: PRODUCERS_FETCH_START,\n\t};\n};\n\nconst producerFetchFail: ActionCreator = (\n\terror: AxiosError\n) => {\n\treturn {\n\t\ttype: PRODUCERS_FETCH_FAIL,\n\t\tpayload: error,\n\t};\n};\n\nconst producerFetchSuccess: ActionCreator = () => {\n\treturn {\n\t\ttype: PRODUCERS_FETCH_SUCCESS,\n\t};\n};\n\nconst producersLoaded: ActionCreator = (\n\tlist: Array = []\n) => {\n\treturn {\n\t\ttype: PRODUCERS_LIST,\n\t\tpayload: list,\n\t};\n};\nconst producerByIdLoaded: ActionCreator = (\n\tproducer: Producer\n) => {\n\treturn {\n\t\ttype: PRODUCER_SELECTED,\n\t\tpayload: producer,\n\t};\n};\nconst removeSelectedProducer: ActionCreator = () => {\n\treturn {\n\t\ttype: PRODUCER_REMOVE_SELECTED,\n\t};\n};\n\n//get producers\nconst getProducers = () => {\n\treturn (dispatch: Dispatch) => {\n\t\tdispatch(producerFetchStart());\n\t\treturn http.get(PRODUCER_API.PRODUCERS).then(\n\t\t\t(response: AxiosResponse) => {\n\t\t\t\tconst producers = response.data.length\n\t\t\t\t\t? _.sortBy(response.data, function (producer) {\n\t\t\t\t\t\t\treturn producer.farmName.toLowerCase();\n\t\t\t\t\t })\n\t\t\t\t\t: [];\n\n\t\t\t\tdispatch(producersLoaded(producers));\n\t\t\t\tdispatch(producerFetchSuccess());\n\t\t\t},\n\t\t\t(err: AxiosError) => {\n\t\t\t\tdispatch(producerFetchFail(err));\n\t\t\t\tdispatch(showMessage(err?.message));\n\t\t\t}\n\t\t);\n\t};\n};\n\n//get producer by ID\nconst getProducerByID = (id: string) => {\n\treturn (dispatch: Dispatch) => {\n\t\tdispatch(producerFetchStart());\n\t\tconst PRODUCER_BY_ID = PRODUCER_API.PRODUCER_BY_ID(id);\n\t\thttp.get(PRODUCER_BY_ID).then(\n\t\t\t(response: AxiosResponse) => {\n\t\t\t\tlet onlineProducer = response.data ? response.data : null;\n\n\t\t\t\t// offline producer\n\t\t\t\tconst authInfo: AuthInfo = store.getState().auth;\n\t\t\t\tconst syncedData: SyncOffline = store.getState().synced;\n\t\t\t\tconst offlineProducers =\n\t\t\t\t\tsyncedData[authInfo?.userInfo?.mail]?.list || [];\n\t\t\t\tlet offlineProducer: Producer = new Producer();\n\t\t\t\tif (offlineProducers && offlineProducers.length > 0) {\n\t\t\t\t\tconst producer = offlineProducers.filter(\n\t\t\t\t\t\t(producer: Producer) => producer?.producerIdentifier === id\n\t\t\t\t\t);\n\t\t\t\t\tofflineProducer =\n\t\t\t\t\t\tproducer && producer.length > 0 ? producer[0] : new Producer();\n\t\t\t\t}\n\n\t\t\t\t//merge online / offline data\n\t\t\t\tofflineProducer.versions.forEach((offlineYear: ProducerYear) => {\n\t\t\t\t\tconst isExist = _.findIndex(onlineProducer.versions, {\n\t\t\t\t\t\tyear: offlineYear.year,\n\t\t\t\t\t});\n\t\t\t\t\tif (isExist === -1) {\n\t\t\t\t\t\tonlineProducer.versions = _.concat(onlineProducer.versions, [\n\t\t\t\t\t\t\tofflineYear,\n\t\t\t\t\t\t]);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tonlineProducer.versions.forEach((onlineYear: ProducerYear) => {\n\t\t\t\t\t\t\tif (offlineYear.year === onlineYear.year) {\n\t\t\t\t\t\t\t\tconst offlineCOPAdded = offlineYear.costOfProductionVersions.filter(\n\t\t\t\t\t\t\t\t\t(item: CostOfProduction) => item?.isOfflineAdded\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tonlineYear.costOfProductionVersions = _.concat(\n\t\t\t\t\t\t\t\t\tonlineYear.costOfProductionVersions,\n\t\t\t\t\t\t\t\t\tofflineCOPAdded\n\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\tconst offlineRMAdded = offlineYear.riskMarketingVersions.filter(\n\t\t\t\t\t\t\t\t\t(item: RiskManagement) => item?.isOfflineAdded\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tonlineYear.riskMarketingVersions = _.concat(\n\t\t\t\t\t\t\t\t\tonlineYear.riskMarketingVersions,\n\t\t\t\t\t\t\t\t\tofflineRMAdded\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tonlineProducer.versions.forEach((onlineYear: ProducerYear) => {\n\t\t\t\t\tonlineYear.costOfProductionVersions = sortArray(\n\t\t\t\t\t\tonlineYear.costOfProductionVersions,\n\t\t\t\t\t\t'modifiedDate',\n\t\t\t\t\t\ttrue\n\t\t\t\t\t);\n\t\t\t\t\tonlineYear.riskMarketingVersions = sortArray(\n\t\t\t\t\t\tonlineYear.riskMarketingVersions,\n\t\t\t\t\t\t'modifiedDate',\n\t\t\t\t\t\ttrue\n\t\t\t\t\t);\n\t\t\t\t\tconst isOfflineRecordAddedCOP =\n\t\t\t\t\t\t_.findIndex(onlineYear.costOfProductionVersions, {\n\t\t\t\t\t\t\tisOfflineAdded: true,\n\t\t\t\t\t\t}) > -1;\n\t\t\t\t\tconst isOfflineRecordAddedRM =\n\t\t\t\t\t\t_.findIndex(onlineYear.riskMarketingVersions, {\n\t\t\t\t\t\t\tisOfflineAdded: true,\n\t\t\t\t\t\t}) > -1;\n\n\t\t\t\t\tonlineYear.isOfflineChanges =\n\t\t\t\t\t\tisOfflineRecordAddedCOP || isOfflineRecordAddedRM;\n\n\t\t\t\t\tonlineYear.rmlastCopVersionOffline = isOfflineRecordAddedCOP;\n\t\t\t\t});\n\n\t\t\t\tif (onlineProducer) {\n\t\t\t\t\tonlineProducer.versions.forEach((p: ProducerYear) => {\n\t\t\t\t\t\tconst coplastupdatedval = sortArray(\n\t\t\t\t\t\t\tp?.costOfProductionVersions,\n\t\t\t\t\t\t\t'modifiedDate',\n\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst rmlastupdatedval = sortArray(\n\t\t\t\t\t\t\tp?.riskMarketingVersions,\n\t\t\t\t\t\t\t'modifiedDate',\n\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tif (coplastupdatedval.length > 0) {\n\t\t\t\t\t\t\tp.coplastupdated = formatDate(coplastupdatedval[0].modifiedDate);\n\t\t\t\t\t\t\tp.copstatus = coplastupdatedval[0].status;\n\t\t\t\t\t\t\tp.lastupdatedType = 'cop';\n\t\t\t\t\t\t\tp.rmlastCopVersion = coplastupdatedval[0].version;\n\t\t\t\t\t\t\tp.rmlastCoaVersion = coplastupdatedval[0].chartOfAccountsVersion;\n\t\t\t\t\t\t\tp.rmlastUpdatedVersion = 0;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (rmlastupdatedval.length > 0) {\n\t\t\t\t\t\t\tp.rmlastupdated = formatDate(\n\t\t\t\t\t\t\t\trmlastupdatedval[0].modifiedDate\n\t\t\t\t\t\t\t).toLocaleString();\n\t\t\t\t\t\t\tp.rmstatus = rmlastupdatedval[0].status;\n\t\t\t\t\t\t\tp.rmlastCopVersion =\n\t\t\t\t\t\t\t\tcoplastupdatedval.length > 0 ? coplastupdatedval[0].version : 0;\n\t\t\t\t\t\t\tp.rmlastCoaVersion =\n\t\t\t\t\t\t\t\tcoplastupdatedval.length > 0\n\t\t\t\t\t\t\t\t\t? coplastupdatedval[0].chartOfAccountsVersion\n\t\t\t\t\t\t\t\t\t: 0;\n\t\t\t\t\t\t\tp.rmlastUpdatedVersion = rmlastupdatedval[0].version;\n\t\t\t\t\t\t\tp.lastupdatedType = 'rm';\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst allversionsConcated = _.chain(coplastupdatedval)\n\t\t\t\t\t\t\t.concat(rmlastupdatedval)\n\t\t\t\t\t\t\t.value();\n\n\t\t\t\t\t\tconst allversions = sortArray(\n\t\t\t\t\t\t\tallversionsConcated,\n\t\t\t\t\t\t\t'modifiedDate',\n\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tif (allversions?.length > 0) {\n\t\t\t\t\t\t\tp.lastupdated = formatDate(allversions[0].modifiedDate);\n\t\t\t\t\t\t\tp.lastupdatedVersion = allversions[0].version;\n\t\t\t\t\t\t\tp.lastupdatedVersionIdentifier = allversions[0].version;\n\t\t\t\t\t\t\tp.lastupdatedSchemaIdentifier =\n\t\t\t\t\t\t\t\tallversions[0].chartOfAccountsVersion;\n\t\t\t\t\t\t\tp.status = allversions[0].status;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tdispatch(producerByIdLoaded(onlineProducer));\n\t\t\t\tdispatch(producerFetchSuccess());\n\t\t\t},\n\t\t\t(err: AxiosError) => {\n\t\t\t\tdispatch(producerFetchFail(err));\n\t\t\t\tdispatch(showMessage(err?.message));\n\t\t\t}\n\t\t);\n\t};\n};\n\n// get producer by ID while offline\nconst getProducerByIDOffline = (id: string) => {\n\treturn (dispatch: Dispatch) => {\n\t\tdispatch(producerFetchStart());\n\t\tconst authInfo: AuthInfo = store.getState().auth;\n\t\tconst syncedData: SyncOffline = store.getState().synced;\n\t\tconst syncList = syncedData[authInfo?.userInfo?.mail]?.list || [];\n\t\tconst producer =\n\t\t\tsyncList.filter(\n\t\t\t\t(p: Producer) => String(p.producerIdentifier) == String(id)\n\t\t\t)[0] || null;\n\t\tif (producer) {\n\t\t\tproducer.versions.forEach((p: ProducerYear) => {\n\t\t\t\tp.costOfProductionVersions = sortArray(\n\t\t\t\t\tp.costOfProductionVersions,\n\t\t\t\t\t'modifiedDate',\n\t\t\t\t\ttrue\n\t\t\t\t);\n\t\t\t\tp.riskMarketingVersions = sortArray(\n\t\t\t\t\tp.riskMarketingVersions,\n\t\t\t\t\t'modifiedDate',\n\t\t\t\t\ttrue\n\t\t\t\t);\n\n\t\t\t\tconst coplastupdatedval = sortArray(\n\t\t\t\t\tp?.costOfProductionVersions,\n\t\t\t\t\t'modifiedDate',\n\t\t\t\t\ttrue\n\t\t\t\t);\n\t\t\t\tconst rmlastupdatedval = sortArray(\n\t\t\t\t\tp?.riskMarketingVersions,\n\t\t\t\t\t'modifiedDate',\n\t\t\t\t\ttrue\n\t\t\t\t);\n\n\t\t\t\tif (coplastupdatedval.length > 0) {\n\t\t\t\t\tp.coplastupdated = formatDate(coplastupdatedval[0].modifiedDate);\n\t\t\t\t\tp.copstatus = coplastupdatedval[0].status;\n\t\t\t\t\tp.lastupdatedType = 'cop';\n\t\t\t\t\tp.rmlastCopVersion = coplastupdatedval[0].version;\n\t\t\t\t\tp.rmlastCoaVersion = coplastupdatedval[0].chartOfAccountsVersion;\n\t\t\t\t\tp.rmlastUpdatedVersion = 0;\n\t\t\t\t}\n\n\t\t\t\tif (rmlastupdatedval.length > 0) {\n\t\t\t\t\tp.rmlastupdated = formatDate(\n\t\t\t\t\t\trmlastupdatedval[0].modifiedDate\n\t\t\t\t\t).toLocaleString();\n\t\t\t\t\tp.rmstatus = rmlastupdatedval[0].status;\n\t\t\t\t\tp.rmlastCopVersion =\n\t\t\t\t\t\tcoplastupdatedval.length > 0 ? coplastupdatedval[0].version : 0;\n\t\t\t\t\tp.rmlastCoaVersion =\n\t\t\t\t\t\tcoplastupdatedval.length > 0\n\t\t\t\t\t\t\t? coplastupdatedval[0].chartOfAccountsVersion\n\t\t\t\t\t\t\t: 0;\n\t\t\t\t\tp.rmlastUpdatedVersion = rmlastupdatedval[0].version;\n\t\t\t\t\tp.lastupdatedType = 'rm';\n\t\t\t\t}\n\n\t\t\t\tconst allversionsConcated = _.chain(coplastupdatedval)\n\t\t\t\t\t.concat(rmlastupdatedval)\n\t\t\t\t\t.value();\n\n\t\t\t\tconst allversions = sortArray(\n\t\t\t\t\tallversionsConcated,\n\t\t\t\t\t'modifiedDate',\n\t\t\t\t\ttrue\n\t\t\t\t);\n\n\t\t\t\tif (allversions?.length > 0) {\n\t\t\t\t\tp.lastupdated = formatDate(allversions[0].modifiedDate);\n\t\t\t\t\tp.lastupdatedVersion = allversions[0].version;\n\t\t\t\t\tp.lastupdatedVersionIdentifier = allversions[0].version;\n\t\t\t\t\tp.lastupdatedSchemaIdentifier = allversions[0].chartOfAccountsVersion;\n\t\t\t\t\tp.status = allversions[0].status;\n\t\t\t\t}\n\n\t\t\t\tconst isOfflineRecordAddedCOP =\n\t\t\t\t\t_.findIndex(p.costOfProductionVersions, {\n\t\t\t\t\t\tisOfflineAdded: true,\n\t\t\t\t\t}) > -1;\n\t\t\t\tconst isOfflineRecordAddedRM =\n\t\t\t\t\t_.findIndex(p.riskMarketingVersions, {\n\t\t\t\t\t\tisOfflineAdded: true,\n\t\t\t\t\t}) > -1;\n\n\t\t\t\tp.isOfflineChanges = isOfflineRecordAddedCOP || isOfflineRecordAddedRM;\n\t\t\t\tp.rmlastCopVersionOffline = isOfflineRecordAddedCOP;\n\t\t\t});\n\t\t}\n\t\tdispatch(producerByIdLoaded(producer));\n\t\tdispatch(producerFetchSuccess());\n\t};\n};\n\n// producer loader start\nconst fetchProducerStart = () => {\n\treturn (dispatch: Dispatch) => {\n\t\tdispatch(producerFetchStart());\n\t};\n};\n// producer loader stop\nconst fetchProducerFail = (err: AxiosError) => {\n\treturn (dispatch: Dispatch) => {\n\t\tdispatch(producerFetchFail(err));\n\t};\n};\n\nexport {\n\tfetchProducerFail,\n\tfetchProducerStart,\n\tgetProducerByID,\n\tgetProducerByIDOffline,\n\tgetProducers,\n\tproducersLoaded,\n\tremoveSelectedProducer,\n};\n","import { ActionCreator, Dispatch } from 'redux';\nimport { DRP_API, MADCAP_API } from '../../common/configs';\nimport { http } from '../../common/services';\nimport {\n\tMAD_CAP_API_RESET,\n\tMAD_CAP_API_SUCCESS,\n\tMAD_CAP_FETCH_START,\n\tRM_POSITION_DATA_FROM_MADCAP,\n\tRM_POSITION_HEADER_UPDATE,\n} from './actions';\nimport { coaDataChanged } from './coa';\nimport { showMultiMessage } from './message-notification';\n\ninterface IMadCapResult {\n\ttype: string;\n}\n\nconst fetchStart: ActionCreator = () => {\n\treturn {\n\t\ttype: MAD_CAP_FETCH_START,\n\t};\n};\n\nconst fetchreset: ActionCreator = () => {\n\treturn {\n\t\ttype: MAD_CAP_API_RESET,\n\t};\n};\n\nconst fetchSuccess: ActionCreator = () => {\n\treturn {\n\t\ttype: MAD_CAP_API_SUCCESS,\n\t};\n};\n\nconst updateRMRecordWithMadCapPositionandDRPExternalSource = (payload: any) => {\n\treturn {\n\t\ttype: RM_POSITION_DATA_FROM_MADCAP,\n\t\tpayload: payload,\n\t};\n};\n\nconst updateHeaderInformationWithDate = () => {\n\treturn {\n\t\ttype: RM_POSITION_HEADER_UPDATE,\n\t};\n};\nexport const DRPNOTFOUNDMSG = 'No DRP data available for given period';\nexport const MADCAPNOTFOUNDMSG = 'No MadCap data available for given period';\nexport const MADCAPISSUEERRORMSG =\n\t'An issue was encountered while accessing MadCap data. Please try again later. If the issue persists, please contact support.';\nconst getmadcappositionsdata = (\n\tfarmID: string = '55004',\n\tstartDate: string = '1',\n\tendDate: string = '1',\n\tyear: number\n) => {\n\treturn (dispatch: Dispatch) => {\n\t\tdispatch(fetchStart());\n\t\tconst apiRequest = [];\n\t\tapiRequest.push(\n\t\t\thttp.get(MADCAP_API.GETMADCAPDATA(farmID, startDate, endDate))\n\t\t);\n\t\tapiRequest.push(http.get(DRP_API.GETDRPDATA(farmID, startDate, endDate)));\n\t\tPromise.allSettled(apiRequest).then(results => {\n\t\t\tlet madcapmessage = '',\n\t\t\t\tdrpmessage = '';\n\n\t\t\tlet madcapstatus: 'success' | 'error' | 'warning' = 'success';\n\t\t\tlet drpstatus: 'success' | 'error' | 'warning' = 'success';\n\t\t\tlet madcapdata = null,\n\t\t\t\tdrpdata = null;\n\t\t\tlet calldrp = false;\n\t\t\tlet callmadcapposition = false;\n\t\t\tconsole.log('RESULT ===>', results);\n\t\t\tif (results[0].status === 'fulfilled') {\n\t\t\t\t//madcap pull success\n\t\t\t\tmadcapmessage = 'MadCap: Data Update Complete';\n\t\t\t\tmadcapdata = results[0].value.data;\n\t\t\t\tif (madcapdata['get-milkContract'].length === 0) {\n\t\t\t\t\tmadcapmessage = 'MadCap: No data available for given period';\n\t\t\t\t\tmadcapstatus = 'warning';\n\t\t\t\t\tdispatch(fetchreset());\n\t\t\t\t} else {\n\t\t\t\t\tcallmadcapposition = true;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (results[1].status === 'fulfilled') {\n\t\t\t\t//drp pull success\n\t\t\t\tdrpmessage = 'DRP: Data Update Complete';\n\t\t\t\tdrpdata = results[1].value.data;\n\t\t\t\tif (drpdata === '') {\n\t\t\t\t\tdrpmessage = 'DRP: No data available for given period';\n\t\t\t\t\tdrpstatus = 'warning';\n\t\t\t\t} else {\n\t\t\t\t\tcalldrp = true;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (results[0].status === 'rejected') {\n\t\t\t\t//madcap pull Error\n\t\t\t\tmadcapmessage =\n\t\t\t\t\t'MadCap: Error in integration. Please try again later. If persists, please contact support';\n\t\t\t\tmadcapstatus = 'error';\n\t\t\t\tdispatch(fetchreset());\n\t\t\t}\n\n\t\t\tif (results[1].status === 'rejected') {\n\t\t\t\t//drp pull Error\n\t\t\t\tdrpmessage =\n\t\t\t\t\t'DRP: Error in integration. Please try again later. If persists, please contact support';\n\t\t\t\tdrpstatus = 'error';\n\t\t\t}\n\n\t\t\t//call madcapdispatch\n\t\t\tif (callmadcapposition || calldrp) {\n\t\t\t\tdispatch(coaDataChanged(true));\n\t\t\t\tdispatch(updateHeaderInformationWithDate());\n\t\t\t\tdispatch(\n\t\t\t\t\tupdateRMRecordWithMadCapPositionandDRPExternalSource({\n\t\t\t\t\t\tlistContracts: callmadcapposition\n\t\t\t\t\t\t\t? madcapdata['get-milkContract']\n\t\t\t\t\t\t\t: [],\n\t\t\t\t\t\texternaldrpdata: calldrp ? drpdata : [],\n\t\t\t\t\t\tfinancialYear: year,\n\t\t\t\t\t})\n\t\t\t\t);\n\t\t\t}\n\t\t\tdispatch(fetchSuccess());\n\n\t\t\tdispatch(\n\t\t\t\tshowMultiMessage([madcapmessage, drpmessage], madcapstatus, drpstatus)\n\t\t\t);\n\t\t});\n\t};\n};\n\nexport {\n\tfetchreset,\n\tfetchStart,\n\tfetchSuccess,\n\tgetmadcappositionsdata,\n\tupdateHeaderInformationWithDate,\n};\n","export * from './utility';\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"medium\":\"cards_medium__2wdni\",\"cardbg\":\"cards_cardbg__pHQ8a\",\"header\":\"cards_header__mMfqW\",\"iconcolor\":\"cards_iconcolor__1JqZ_\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"medium\":\"number-stepper_medium__29K0C\",\"middlewrapper\":\"number-stepper_middlewrapper__10YVM\",\"textFieldWidth\":\"number-stepper_textFieldWidth__1iy3a\",\"steppercontainer\":\"number-stepper_steppercontainer__2ghVw\",\"stepperitem\":\"number-stepper_stepperitem__2El0P\",\"labelPosition\":\"number-stepper_labelPosition__1Eym2\",\"disabled\":\"number-stepper_disabled__3edWW\",\"minussymbol\":\"number-stepper_minussymbol__1zD5v\",\"noBorder\":\"number-stepper_noBorder__1YDms\"};","import React from 'react';\nimport LogoRMI from '../../../../assets/images/logo-rmi-lockup.svg';\nimport classes from './footer.styles.module.scss';\n\nexport const Footer: React.FC = props => {\n\treturn (\n\t\t
\n\t\t\t
\n\t\t\t\t\"\"\n\t\t\t\t

\n\t\t\t\t\t© 2021 Land O Lakes, Inc. All rights reserved\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t);\n};\n","import React, { FC, ReactNode } from 'react';\nimport { RouteComponentProps, withRouter } from 'react-router';\nimport { Header } from '../../common/components';\nimport { Footer } from '../../common/components/ui/footer/footer';\nimport classes from '../../styles/layout/layout.module.scss';\n\ninterface Props extends RouteComponentProps {\n\tchildren: ReactNode | Element;\n}\n\nconst Layout: FC = ({ children }) => {\n\t// const ref = useRef(null);\n\t// useEffect(() => {\n\t// \tconst observer = new IntersectionObserver(handleFooterVisibility, {\n\t// \t\troot: null,\n\t// \t\trootMargin: '0px',\n\t// \t\tthreshold: 0.1,\n\t// \t});\n\t// \tlet w: any;\n\t// \tw = window;\n\t// \tw.observer = observer;\n\t// \tconsole.log(ref);\n\n\t// \tif (ref.current) {\n\t// \t\tobserver.observe(ref.current);\n\t// \t}\n\t// }, [ref]);\n\n\t// function handleFooterVisibility(entry: any) {\n\t// \tconsole.log(entry);\n\n\t// \tif (entry[0].isIntersecting) {\n\t// \t\tdocument\n\t// \t\t\t.getElementById('leftContainer')\n\t// \t\t\t?.setAttribute('style', 'height: calc(100vh - 180px)');\n\t// \t} else {\n\t// \t\tdocument.getElementById('leftContainer')?.removeAttribute('style');\n\t// \t}\n\t// }\n\treturn (\n\t\t<>\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t{/* */}\n\t\t\t\t
\n\t\t\t\t
{children}
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\n\t);\n};\n\nexport default withRouter(Layout);\n","import { Grid } from '@material-ui/core';\nimport Box from '@material-ui/core/Box';\nimport React, { Component } from 'react';\nimport { errorLog } from '../../common/services';\nimport classes from '../../styles/layout/login.module.scss';\ndeclare var window: any;\ninterface Props {\n\tchildren?: React.ReactChildren;\n}\ninterface State {\n\thasError: boolean;\n}\n\nclass ErrorBoundary extends Component {\n\tstate: Readonly = {\n\t\thasError: false,\n\t};\n\n\tstatic getDerivedStateFromError() {\n\t\treturn { hasError: true };\n\t}\n\n\tcomponentDidCatch(error: any, info: any) {\n\t\t/* You can also change the `hasError` state to this method also\n this.setState({hasError: true})\n /* no need to use `getDerivedStateFromError */\n\t\t/* This information will be send into error reporting service */\n\t\t/* this.props.customErrorReportingService(error, info) */\n\t\terrorLog.log(error, info);\n\t}\n\n\tonReload = () => {\n\t\twindow.location.href = '/';\n\t};\n\n\trender() {\n\t\tif (this.state.hasError) {\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\tSomething went wrong.Please try again.\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t this.onReload()}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\tHOME\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t);\n\t\t} else {\n\t\t\treturn this.props.children;\n\t\t}\n\t}\n}\n\nexport default ErrorBoundary;\n","import React, { FC } from 'react';\nimport classes from '../../styles/layout/page-header.module.scss';\n\ninterface Props {\n\tchildren?: React.ReactNode;\n}\n\nconst PageHeader: FC = (props: Props) => {\n\treturn (\n\t\t<>\n\t\t\t
{props.children}
\n\t\t\n\t);\n};\n\nexport default PageHeader;\n","import React, { FC, ReactNode } from 'react';\nimport classes from '../../styles/layout/cards.module.scss';\nimport { RouteComponentProps, withRouter } from 'react-router';\nimport { CardHeader, CardContent } from '../../hoc';\n\ninterface Props extends RouteComponentProps {\n\tchildren: ReactNode | Element;\n}\n\nconst Card: FC = (props: Props) => {\n\treturn (\n\t\t<>\n\t\t\t
{props.children}
\n\t\t\n\t);\n};\n\nexport default withRouter(Card);\n","import React, { FC, ReactNode } from 'react';\nimport { RouteComponentProps, withRouter } from 'react-router';\nimport classes from '../../styles/layout/cards.module.scss';\nimport { CardThreedot } from '../../hoc';\n\ninterface Props extends RouteComponentProps {\n\tchildren: ReactNode | Element;\n}\n\nconst CardHeader: FC = (props: Props) => {\n\treturn (\n\t\t<>\n\t\t\t
\n\t\t\t\t
{props.children}
\n\t\t\t
\n\t\t\n\t);\n};\n\nexport default withRouter(CardHeader);\n","import React, { FC, ReactNode } from 'react';\nimport { RouteComponentProps, withRouter } from 'react-router';\n\ninterface Props extends RouteComponentProps {\n\tchildren: ReactNode | Element;\n}\n\nconst CardContent: FC = (props: Props) => {\n\treturn <>{props.children};\n};\n\nexport default withRouter(CardContent);\n","import React, { FC, ReactNode, useEffect, useState } from 'react';\nimport { RouteComponentProps } from 'react-router';\nimport { GlobalState } from '../../schemas';\nimport { useSelector } from 'react-redux';\nimport { Loader } from '../../common/components';\n\ninterface IProp extends RouteComponentProps {\n\tchildren: ReactNode | Element;\n}\ntype Props = IProp & any;\nconst Rehydrated: FC = ({ children }) => {\n\tconst [visible, setVisible] = useState(false);\n\tuseEffect(() => {\n\t\twindow.setTimeout(() => setVisible(true), 2000);\n\t});\n\tconst rehydrated = useSelector((state: GlobalState) => state.reducer);\n\treturn (\n\t\t<>\n\t\t\t
\n\t\t\t\t{rehydrated || visible ? (\n\t\t\t\t\tchildren\n\t\t\t\t) : (\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t)}\n\t\t\t
\n\t\t\n\t);\n};\n\nexport default Rehydrated;\n","import React, { FC, ReactNode } from 'react';\nimport { RouteComponentProps, withRouter } from 'react-router';\nimport classes from '../../styles/layout/cards.module.scss';\nimport MoreVertIcon from '@material-ui/icons/MoreVert';\nimport Menu from '@material-ui/core/Menu';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport { Tooltip } from '@material-ui/core';\n\ninterface Props extends RouteComponentProps {\n\tchildren: ReactNode | Element;\n\tonMenuSelected(code: string): void;\n}\n\nconst CardThreedot: FC = (props: Props) => {\n\tconst [anchorEl, setAnchorEl] = React.useState(null);\n\n\tconst handleClick = (event: any) => {\n\t\thandleClose('PRIOR_YEAR');\n\t};\n\n\tconst handleClose = (code: string) => {\n\t\tsetAnchorEl(null);\n\t\tprops?.onMenuSelected(code);\n\t};\n\n\treturn (\n\t\t
\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
\n\t);\n};\n\nexport default withRouter(CardThreedot);\n","import { getEnvoirment } from '../utils';\n\nexport enum ENVOIRMENT {\n\tDEV = 'DEV',\n\tQA = 'QA',\n\tLOCAL = 'LOCAL',\n\tPROD = 'PROD',\n}\nconst API_BASE_PATH = () => {\n\tconst ENV = getEnvoirment();\n\tlet url = '';\n\tif (ENV === ENVOIRMENT.PROD) {\n\t\turl = 'https://api.digitalag.farm/dairy';\n\t} else if (ENV === ENVOIRMENT.QA) {\n\t\turl = 'https://apiqa.digitalag.farm/dairy';\n\t} else if (ENV === ENVOIRMENT.DEV) {\n\t\turl = 'https://apidv.digitalag.farm/dairy';\n\t} else {\n\t\turl = 'https://apidv.digitalag.farm/dairy';\n\t}\n\n\treturn url;\n};\n\nconst API_PARTIAL_COP = () => '/finance/v1/cost-of-production/api';\nconst API_PARTIAL_RM = () => '/finance/v1/risk-margin-insight/api';\nconst API_PARTIAL_AUTH = () => '/security/v1/userAuth/api';\nconst API_PARTIAL_WEB = () => '/account/v1/party/api';\nconst API_AGENCY_DRP = () => '/finance/v1/drpapi/api/getagencies';\n\nconst LOGOUT_REDIRECT_URI = () => {\n\tconst ENV = getEnvoirment();\n\tlet url = '';\n\tif (ENV === ENVOIRMENT.PROD) {\n\t\turl = 'https://dairyrmi.com';\n\t} else if (ENV === ENVOIRMENT.QA) {\n\t\turl = 'https://webapp-cp-pp-qa.azurewebsites.net';\n\t} else if (ENV === ENVOIRMENT.DEV) {\n\t\turl = 'https://webapp-cp-pp-dv.azurewebsites.net';\n\t} else {\n\t\turl = 'http://localhost:3000';\n\t}\n\treturn url;\n};\nconst SSO_BASE_PATH = () => {\n\tconst ENV = getEnvoirment();\n\tlet url = '';\n\tif (ENV === ENVOIRMENT.PROD) {\n\t\turl = 'https://sso.landolakesinc.com';\n\t} else if (ENV === ENVOIRMENT.QA) {\n\t\turl = 'https://ssoqa.landolakesinc.com';\n\t} else if (ENV === ENVOIRMENT.DEV) {\n\t\turl = 'https://ssoqa.landolakesinc.com';\n\t} else {\n\t\turl = 'https://ssoqa.landolakesinc.com';\n\t}\n\treturn url;\n};\nconst AUTH_API_BASE_PATH: string = '';\n\nconst DB_NAME: string = 'PRODUCER_PROFITABILITY';\nconst TB_PRODUCER: string = 'producer';\nconst DB_VERSION: number = 1;\n\nconst USER_INFO: string = 'ui';\nconst AUTH_TOKEN: string = 'at';\nconst AUTH_EXPIRATION: string = 'ae';\nconst REFRESH_TOKEN: string = 'rt';\n\nconst DEFAULT_EXPIRATION_SEC: number = 30 * 60;\nconst DEFAULT_LOCALE: string = 'en-US';\n\nconst REGEX_VALUES = {\n\tPOSITIVE_INT: '^[0-9,]+$',\n\tINT: '^[+-]?[0-9]+$',\n\tINT_1_TO_12: '(^0?[1-9,]$)|(^1[0-2]$)',\n\tPOSITIVE_DECIMALS: '^[0-9,]*[/.]{0,1}[0-9]+$',\n\tDECIMAL_ONE_PLACE: '^[+-]?[0-9,]*[/.]{0,1}[0-9]{0,1}$',\n\tDECIMAL_TWO_PLACES: '^[+-]?[0-9,]*[/.]{0,1}[0-9]{0,2}$',\n\tDECIMAL_THREE_PLACES: '^[+-]?[0-9,]*[/.]{0,1}[0-9]{0,3}$',\n\tDECIMAL_FOUR_PLACES: '^[+-]?[0-9,]*[/.]{0,1}[0-9]{0,4}$',\n\tDECIMAL_PERCENTAGE:\n\t\t'(^[+]?[0]*[0-9]{0,2}[/.][0-9]{1,2}$)|(^[+]?[0]*[0-9]{1,2}$)|(^[1][0][0]$)',\n\tDECIMAL_TWO_PLACES_BEFORE:\n\t\t// '(^[+-]?[0]*[0-9]{0,2}[/.][0-9]{1,2}$)|(^[+-]?[0]*[0-9]{1,2}$)|(^[0]+$)|(^[+-])',\n\t\t'(^[+]?[0]*[0-9]{0,2}[/.][0-9]{1,2}$)|(^[+]?[0]*[0-9]{1,2}$)|(^[0]+$)',\n\tDECIMAL_THREE_PLACES_BEFORE:\n\t\t'(^[+-]?[0]*[0-9]{0,3}[/.][0-9]{1,2}$)|(^[+-]?[0]*[0-9]{1,3}$)|(^[0]+$)|(^[+-])',\n\tDECIMAL_THREE_PLACES_BEFORE_POSITIVE:\n\t\t'(^[+]?[0]*[0-9]{0,3}[/.][0-9]{1,2}$)|(^[+]?[0]*[0-9]{1,3}$)|(^[0]+$)|(^[+])',\n\tDECIMAL_THREE_PLACES_BEFORE_THREE_PLACE_AFTER_POSITIVE:\n\t\t'(^[+]?[0]*[0-9]{0,3}[/.][0-9]{1,3}$)|(^[+]?[0]*[0-9]{1,3}$)|(^[0]+$)|(^[+])',\n\tDECIMAL_THREE_PLACES_BEFORE_THREE_PLACE_AFTER_NEGATIVE:\n\t\t'(^[-][0-9]{0,3}[/.][0-9]{1,3}$)|(^[-][0-9]{1,3}$)|(^[0]+$)|(^[+])',\n\tDECIMAL_TWO_PLACES_BEFORE_THREE_PLACES_AFTER:\n\t\t'(^[0]*[0-9]{0,2}[/.][0-9]{1,3}$)|(^[+-]?[0]*[0-9]{1,2}$)|(^[0]+$)|(^[+-])/g',\n\tPOSITIVE_DECIMAL_THREE_PLACES_AFTER:\n\t\t'(^[0]*[0-9]*[/.][0-9]{1,3}$)|(^[+]?[0]*[0-9]*$)|(^[0]+$)|(^[+])/g',\n\tPOSITIVE_DECIMAL_FIVE_PLACES_AFTER:\n\t\t'(^[0]*[0-9]*[/.][0-9]{1,5}$)|(^[+]?[0]*[0-9]*$)|(^[0]+$)|(^[+])/g',\n\tDECIMAL_TWO_PLACES_BEFORE_FOUR_PLACES_AFTER:\n\t\t'(^[0]*[0-9]{0,2}[/.][0-9]{1,4}$)|(^[+-]?[0]*[0-9]{1,2}$)|(^[0]+$)|(^[+-])',\n\n\tDECIMAL_THREE_PLACES_BEFORE_FOUR_PLACES_AFTER:\n\t\t'(^[0]*[0-9]{0,3}[/.][0-9]{1,4}$)|(^[+-]?[0]*[0-9]{1,3}$)|(^[0]+$)|(^[+-])',\n\tALL: '(.*?)',\n\tNEGATIVE_ALLOWED: '^[+-]?[0-9,]*[/.]{0,1}[0-9]+$',\n\tONLY_NEGATIVE: '(^[-][0-9,]{0,3}[/.][0-9]{1,2}$)|(^[-][0-9]{1,3}$)|(^[0]+$)',\n\tTHREENumeric_DOT_TwoNumeric: /[^(\\d{0:3}.{0,1}?\\d{0,2}?)]/g,\n\tFourNumeric: /[0-9]{4}/g,\n\tPrecedingZero: /^0+/g,\n\tMonth_Year_Symbol: /(@?[a-zA-Z0-9]+)_(\\d+_\\w+)_/,\n\tALPHA_NUMERIC_SPL_CHAR: /[,+$~%'\":*?<>{}@=!`^;]/g,\n};\n\nexport enum ROLES {\n\tNONE = 'None',\n\tVIEW = 'View',\n\tUPDATE = 'Update',\n}\n\nexport enum MSG_TYPE {\n\tSUCCESS = 'success',\n\tERROR = 'error',\n}\n\nconst MENU_STATE = {\n\texpand: 1,\n\tcollpase: 0,\n};\n\nconst VERSION_STATUS = {\n\tARCHIVED: 'ARCHIVED',\n\tDRAFT: 'DRAFT',\n\tFINAL: 'FINAL',\n};\n\nconst SCHEMA_TYPE = {\n\tCOP: 'COP',\n\tRM: 'RM',\n};\n\nconst MONTHS = [\n\t'Jan',\n\t'Feb',\n\t'Mar',\n\t'Apr',\n\t'May',\n\t'Jun',\n\t'Jul',\n\t'Aug',\n\t'Sep',\n\t'Oct',\n\t'Nov',\n\t'Dec',\n];\nconst FULL_MONTHS = [\n\t'January',\n\t'February',\n\t'March',\n\t'April',\n\t'May',\n\t'June',\n\t'July',\n\t'August',\n\t'September',\n\t'October',\n\t'November',\n\t'December',\n];\n\nconst START_YEAR = 2016;\n\nconst PRINT_FOOTER_TEXT = `This analysis was prepared using data provided by a Land O'Lakes\nmember, and its use is the sole responsibility of the member. Land\nO'Lakes does not guarantee the accuracy of this analysis, and\nmakes no warranties as to its usefulness or predictive value. Land\nO' Lakes is not responsible, and has no liability, for the\noutcomes of decisions using this information or analysis, or any\nrelated recommendations.This Report is subject to the RMI License\nAgreement.`;\n\nexport {\n\tAPI_AGENCY_DRP,\n\tAPI_BASE_PATH,\n\tAPI_PARTIAL_AUTH,\n\tAPI_PARTIAL_COP,\n\tAPI_PARTIAL_RM,\n\tAPI_PARTIAL_WEB,\n\tAUTH_API_BASE_PATH,\n\tAUTH_EXPIRATION,\n\tAUTH_TOKEN,\n\tDB_NAME,\n\tDB_VERSION,\n\tDEFAULT_EXPIRATION_SEC,\n\tDEFAULT_LOCALE,\n\tFULL_MONTHS,\n\tLOGOUT_REDIRECT_URI,\n\tMENU_STATE,\n\tMONTHS,\n\tPRINT_FOOTER_TEXT,\n\tREFRESH_TOKEN,\n\tREGEX_VALUES,\n\tSCHEMA_TYPE,\n\tSSO_BASE_PATH,\n\tSTART_YEAR,\n\tTB_PRODUCER,\n\tUSER_INFO,\n\tVERSION_STATUS,\n};\n","export default __webpack_public_path__ + \"static/media/logo-rmi-lockup.dd4736be.svg\";","import * as _ from 'lodash';\nimport cloneDeep from 'lodash/cloneDeep';\n// import { store } from '../index';\nimport {\n\tCOA_TYPECODES,\n\tComm_Divisor_Dict,\n\tComm_Multiplier_Dict,\n\tComm_SymbolTo_Volume_Dict,\n\tCOMMODITY_SUMMARY,\n\tDRP_COMP_ENDORSEMENT,\n\tDRP_COMP_ENDORSEMENT_SUMMARY,\n\tFULL_MONTHS,\n\tIDENTIFIERS,\n\tJOURNAL_HEADER_KEYS,\n\tNUM_OF_CARDS,\n\tRM_COMMODITIES,\n\tRM_OPERATING_FORECAST_SECTION_CODES,\n\tRM_OPTIONS,\n\tRM_SECTION_CODES,\n\tRM_TYPECODES,\n\tSCHEMA_TYPE,\n\tSECTION_CODES,\n\tSECTION_TYPE_CODE,\n\tSTORED_AMT_KEYS,\n\tSTORED_MEASURE_KEYS,\n} from '../../common/constants';\nimport {\n\tContractType,\n\tGet_ContractTypeFromSubType,\n\tlblMadCapLastUpdate,\n\tMADCAP_COMMODITY_NAME_MAP,\n\tMapStatusCodeToString,\n\tPositionSourceType,\n\tTrimSpaceFromMadCapID,\n\tVolumeInOneContract,\n} from '../../common/constants/madcap.constants';\nimport {\n\taddMonths,\n\tcleanupdrpdata,\n\tcreateRMSummaryData,\n\tformatDatewithMMDDYYYY,\n\tgetPropertyIndex,\n\tparseJSON,\n\treducePositionListInfoDictionary,\n\tstringifyJSON,\n\tupdateObject,\n\tupdateRefrence,\n} from '../../common/utils/utility';\nimport { getsortedpositionList } from '../../containers/rm/steps/position/utility';\nimport {\n\tActionSchema,\n\tCOAInfo,\n\tDMC,\n\tDRP,\n\tDRP_Comp_Quarterly_Endorsement_Summary,\n\tDRP_Quarterly_Endorsement_Summary,\n\tGenericSchema,\n\tMarketPrice,\n\tPeriodSummary,\n\tPeriodSummaryForForecast,\n\tPositionSummary,\n\tRMHeader,\n} from '../../schemas';\nimport { MadCapPosition } from '../../schemas/madcap.schema';\nimport {\n\tNetCeilingMTM,\n\tNetCollarMTM,\n\tNetContractMTM,\n\tNetFloorMTM,\n\tPositionContainer,\n\tPositionEditFieldType,\n\tPositionSummaryModel,\n} from '../../schemas/Model/position.model';\nimport {\n\tCOA_DATA_CHANGED,\n\tCOA_ERROR_SAVE_DATA_TO_DB,\n\tCOA_FETCH_FAIL,\n\tCOA_FETCH_START,\n\tCOA_FETCH_SUCCESS,\n\tCOA_RESET_COP,\n\tCOA_RESET_DATA,\n\tCOA_RESET_RM,\n\tCOA_SAVE_DATA,\n\tCOA_SAVE_DATA_TO_DB,\n\tCOA_SAVE_DATA_TO_DB_START,\n\tCOA_SCHEMA_CALCULATION_CHANGED,\n\tCOA_SCHEMA_MAAPED_WITH_DATA,\n\tCOA_SCHEMA_REMOVE_SELECTED,\n\tCOA_SCHEMA_SELECTED,\n\tCOA_UPDATE_DRP_DATA,\n\tCOA_UPDATE_RESET,\n\tCOA_UPDATE_RM_DATA,\n\tENTRY_FORM_ERROR,\n\tRM_ADD_NEW_POSITION,\n\tRM_MOVE_POSITION_DICTIONARY_DATA,\n\tRM_POSITION_CALCULATE_ALL,\n\tRM_POSITION_DATA_FROM_MADCAP,\n\tRM_POSITION_DATA_UPDATE,\n\tRM_POSITION_DELETE,\n\tRM_POSITION_HEADER_UPDATE,\n\tRM_POSITION_RECALCULATE_MONTH_YEAR,\n\tRM_POSITION_UPDATE_MARKETPRICE,\n\tRM_POSTION_DATA_COLLAR_COUNT,\n\tRM_UPDATEVALIDATION_POSITION,\n} from '../actions/actions';\nimport { PositionModel } from './../../schemas/Model/position.model';\nimport { Position_DICTIONARY } from './../actions/actions';\n\nconst formatDatetimecomingfromapi = (apiItem: any, datestring: any) => {\n\tlet dstr = formatDatewithMMDDYYYY(new Date(datestring));\n\treturn dstr;\n};\n\nconst initialState: COAInfo = {\n\tmappedSchema: null,\n\tcalculatedSchema: null,\n\tisSyncedToDB: false,\n\tloading: true,\n\tisDataModified: false,\n\terror: new Error(),\n\tformError: null,\n\treset: false,\n};\n\nconst reducer = (state = initialState, action: ActionSchema) => {\n\tswitch (action.type) {\n\t\tcase COA_FETCH_START:\n\t\t\treturn updateObject(state, {\n\t\t\t\tloading: true,\n\t\t\t});\n\t\tcase COA_FETCH_FAIL:\n\t\t\treturn updateObject(state, {\n\t\t\t\terror: action.payload.error,\n\t\t\t\tloading: false,\n\t\t\t});\n\t\tcase COA_FETCH_SUCCESS:\n\t\t\treturn updateObject(state, {\n\t\t\t\tloading: false,\n\t\t\t});\n\t\tcase COA_SCHEMA_SELECTED:\n\t\t\treturn updateObject(state, {\n\t\t\t\tmappedSchema: updateRefrence(formatSchema(action.payload)),\n\t\t\t\tloading: true,\n\t\t\t\tisSyncedToDB: false,\n\t\t\t\tisDataModified: false,\n\t\t\t\terror: null,\n\t\t\t\tformError: null,\n\t\t\t});\n\t\tcase COA_SCHEMA_REMOVE_SELECTED:\n\t\t\treturn Object.assign({}, state, {\n\t\t\t\tmappedSchema: null,\n\t\t\t\tcalculatedSchema: null,\n\t\t\t\tloading: false,\n\t\t\t\tisSyncedToDB: false,\n\t\t\t\tisDataModified: false,\n\t\t\t\terror: null,\n\t\t\t\tformError: null,\n\t\t\t});\n\t\tcase COA_SAVE_DATA:\n\t\t\treturn updateObject(state, {\n\t\t\t\tisDataModified: true,\n\t\t\t\tmappedSchema: action.payload,\n\t\t\t\tloading: false,\n\t\t\t});\n\t\tcase COA_RESET_DATA:\n\t\t\treturn updateObject(state, {\n\t\t\t\tisDataModified: true,\n\t\t\t\tcalculatedSchema: updateRefrence(state.mappedSchema),\n\n\t\t\t\tloading: false,\n\t\t\t\tformError: null,\n\t\t\t\treset: false,\n\t\t\t});\n\t\tcase COA_UPDATE_RESET:\n\t\t\treturn updateObject(state, {\n\t\t\t\treset: action.payload,\n\t\t\t\tcalculatedSchema: updateRefrence(state.mappedSchema),\n\t\t\t});\n\t\tcase COA_SAVE_DATA_TO_DB_START:\n\t\t\treturn updateObject(state, {\n\t\t\t\tloading: true,\n\t\t\t});\n\t\tcase COA_SAVE_DATA_TO_DB:\n\t\t\treturn updateObject(state, {\n\t\t\t\tisDataModified: false,\n\t\t\t\tisSyncedToDB: true,\n\t\t\t\tloading: false,\n\t\t\t\tformError: null,\n\t\t\t});\n\t\tcase COA_ERROR_SAVE_DATA_TO_DB:\n\t\t\treturn updateObject(state, {\n\t\t\t\tisDataModified: true,\n\t\t\t\tisSyncedToDB: false,\n\t\t\t\tloading: false,\n\t\t\t\terror: action.payload.error,\n\t\t\t});\n\t\tcase COA_DATA_CHANGED:\n\t\t\treturn updateObject(state, {\n\t\t\t\tisDataModified: action.payload,\n\t\t\t\tloading: false,\n\t\t\t});\n\t\tcase COA_SCHEMA_MAAPED_WITH_DATA:\n\t\t\treturn updateObject(state, {\n\t\t\t\tmappedSchema: formatSchema(\n\t\t\t\t\taction.payload.schema,\n\t\t\t\t\taction.payload.basicInfo,\n\t\t\t\t\taction.payload.prevYearJournalEntryLine\n\t\t\t\t),\n\t\t\t\tloading: false,\n\t\t\t\tformError: null,\n\t\t\t});\n\t\tcase ENTRY_FORM_ERROR:\n\t\t\treturn updateObject(state, {\n\t\t\t\tformError: action.payload,\n\t\t\t});\n\t\tcase COA_SCHEMA_CALCULATION_CHANGED:\n\t\t\treturn updateCalculation(state, action);\n\t\tcase COA_RESET_RM:\n\t\t\treturn resetRM(state, action);\n\t\tcase COA_RESET_COP:\n\t\t\treturn resetCOP(state, action);\n\t\tcase RM_POSITION_HEADER_UPDATE:\n\t\t\tstate.calculatedSchema.Header = updateHeaderWithDate(\n\t\t\t\t_.cloneDeep(state.calculatedSchema.Header)\n\t\t\t);\n\t\t\treturn state;\n\t\tcase RM_POSITION_DATA_FROM_MADCAP:\n\t\t\tif (\n\t\t\t\taction.payload.externaldrpdata &&\n\t\t\t\taction.payload.externaldrpdata.length > 0\n\t\t\t) {\n\t\t\t\tupdateDRPdataWithExternalDrpdata(\n\t\t\t\t\taction.payload.externaldrpdata,\n\t\t\t\t\tstate,\n\t\t\t\t\taction.payload.financialYear\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (\n\t\t\t\taction.payload.listContracts &&\n\t\t\t\taction.payload.listContracts.length > 0\n\t\t\t) {\n\t\t\t\tupdatePostionsDataWithMadCapData(\n\t\t\t\t\taction.payload.listContracts,\n\t\t\t\t\tstate,\n\t\t\t\t\taction.payload.financialYear\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn state;\n\t\tcase RM_POSITION_DATA_UPDATE:\n\t\t\treturn updatePositionDataWithPos(state, action.payload);\n\t\tcase RM_POSTION_DATA_COLLAR_COUNT:\n\t\t\treturn updateNoofContractAndVolumeForCollar(state, action.payload);\n\t\tcase RM_POSITION_UPDATE_MARKETPRICE:\n\t\t\treturn updatePostionWithMarketPrice(state, action.payload);\n\t\tcase RM_POSITION_RECALCULATE_MONTH_YEAR:\n\t\t\treturn calculateAllThePositionsForMonthAndYear(state, action.payload);\n\t\tcase RM_POSITION_DELETE:\n\t\t\treturn deletePositionFromPC(state, action.payload);\n\t\tcase RM_POSITION_CALCULATE_ALL:\n\t\t\treturn calculateAllPositions(state, action.payload);\n\t\tcase RM_ADD_NEW_POSITION:\n\t\t\treturn addPositionOfType(state, action.payload);\n\t\tcase RM_MOVE_POSITION_DICTIONARY_DATA:\n\t\t\t// commenting it as app become re-render loops on changing it\n\t\t\treturn moveRMPostionDictionaryData(state);\n\t\tcase RM_UPDATEVALIDATION_POSITION:\n\t\t\tupdateRMPositionvalidation(state);\n\t\t\treturn updateObject(state, {\n\t\t\t\tisDataModified: true,\n\t\t\t});\n\t\tcase COA_UPDATE_DRP_DATA:\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tcalculatedSchema: {\n\t\t\t\t\t...state.calculatedSchema,\n\t\t\t\t\t[RM_SECTION_CODES.DRP_COMP]: action.payload, // Update with new data\n\t\t\t\t},\n\t\t\t};\n\t\tcase COA_UPDATE_RM_DATA:\n\t\t\t// Logic to update RM_DATA in the calculatedSchema\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tcalculatedSchema: {\n\t\t\t\t\t...state.calculatedSchema,\n\t\t\t\t\t[RM_SECTION_CODES.DRP]: action.payload, // Update with new data\n\t\t\t\t},\n\t\t\t};\n\t\t// case SET_DRP_ERROR:\n\t\t// \treturn {\n\t\t// \t\t...state,\n\t\t// \t\tdrpError: action.payload,\n\t\t// \t};\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\n/*DRP Mapping External Source data to COA Schema code Start */\n\n// Function to convert API item to EndorsementModel format\nconst mapDRPApiResponseToDRPCOMPONENTEndorsementModel = (apiItem: any) => {\n\tconst dtprotein = apiItem.declaredTestProtein\n\t\t? new Intl.NumberFormat('en-US', {\n\t\t\t\tminimumFractionDigits: 2,\n\t\t\t\tmaximumFractionDigits: 2,\n\t\t })\n\t\t\t\t.format(apiItem.declaredTestProtein)\n\t\t\t\t.toString()\n\t\t: '3.05';\n\n\tconst dtnonflatsolid = 5.7 + parseFloat(dtprotein);\n\n\tconst yieldadjustmentfactor = apiItem.yieldAdjustment\n\t\t? apiItem.yieldAdjustment\n\t\t: '0.000';\n\n\tconst premiumdollar = apiItem.premium ? apiItem.premium : 0;\n\tconst declaredprod = apiItem.declaredProduction\n\t\t? apiItem.declaredProduction\n\t\t: 0;\n\n\treturn {\n\t\ttypeCode: 'Endorsement',\n\t\tidentifierSet: {\n\t\t\tidentifier: '3', // Assuming this is constant or you can derive it from the API response\n\t\t},\n\t\tdRPReferences: [\n\t\t\t{\n\t\t\t\ttypeCode: 'DRP Reference',\n\t\t\t\tidentifier: apiItem.drpReference || '',\n\t\t\t},\n\t\t\t{\n\t\t\t\ttypeCode: 'DRP Source',\n\t\t\t\tidentifier: 'System',\n\t\t\t},\n\t\t\t{\n\t\t\t\ttypeCode: 'DRP Note',\n\t\t\t\tidentifier: apiItem.note || '', // You may need to derive this based on other conditions\n\t\t\t},\n\t\t],\n\t\tquantity: [\n\t\t\t{\n\t\t\t\tcontent: declaredprod,\n\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT.Declared_Production_QTR,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: apiItem.qtrlyMilkPriceButterfat?.toString() || '0',\n\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT.QMP_Butterfat,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: apiItem.qtrlyMilkPriceProtein?.toString() || '0',\n\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT.QMP_Protein,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: apiItem.qtrlyMilkPriceOtherSolids?.toString() || '0',\n\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT.QMP_Other_Solids,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: apiItem.qtrlyMilkPriceNonfatSolids?.toString() || '0',\n\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT.QMP_Non_Fat_Solids,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: apiItem.declaredTestButterfat\n\t\t\t\t\t? new Intl.NumberFormat('en-US', {\n\t\t\t\t\t\t\tminimumFractionDigits: 2,\n\t\t\t\t\t\t\tmaximumFractionDigits: 2,\n\t\t\t\t\t })\n\t\t\t\t\t\t\t.format(apiItem.declaredTestButterfat)\n\t\t\t\t\t\t\t.toString()\n\t\t\t\t\t: '3.70',\n\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT.DT_Butterfat,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: dtprotein,\n\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT.DT_Protein,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: '5.70',\n\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT.DT_Other_Solids,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: dtnonflatsolid,\n\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT.DT_Non_Fat_Solids,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: apiItem.quoteButterfatPrice || '0',\n\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT.QT_Butterfat,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: apiItem.quoteProteinPrice || '0',\n\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT.QT_Protein,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: apiItem.quoteOtherSolidsPrice || '0',\n\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT.QT_Other_Solids,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: apiItem.quoteNonfatSolidsPrice || '0',\n\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT.QT_Non_Fat_Solids,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: '100',\n\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT.Comp_Weight_factor,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: '0',\n\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT.NonFt_BF_Wght,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: apiItem.protectionFactor\n\t\t\t\t\t? new Intl.NumberFormat('en-US', {\n\t\t\t\t\t\t\tminimumFractionDigits: 2,\n\t\t\t\t\t\t\tmaximumFractionDigits: 2,\n\t\t\t\t\t })\n\t\t\t\t\t\t\t.format(apiItem.protectionFactor)\n\t\t\t\t\t\t\t.toString()\n\t\t\t\t\t: '1.40',\n\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT.Protection_Factor,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: apiItem.covered\n\t\t\t\t\t? parseInt((apiItem.covered * 100).toString()).toString()\n\t\t\t\t\t: '95',\n\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT.Percentage_Covered,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: yieldadjustmentfactor,\n\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT.Yield_Adj_Fact,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: premiumdollar,\n\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT.Premium_Paid_Total,\n\t\t\t},\n\t\t],\n\t\textension: {\n\t\t\ttypeCode: 'Endorsement Summary',\n\t\t\tamount: [\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT_SUMMARY.Total_Price_CWT,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT_SUMMARY.Gross_Expected_CWT,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT_SUMMARY.Beg_CWT,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT_SUMMARY.Market_Price_CWT,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT_SUMMARY.Gross_Prob_CWT,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT_SUMMARY.MTM_Adj_CWT,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT_SUMMARY.Gross_Expected_TOTAL,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT_SUMMARY.Beg_TOTAL,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT_SUMMARY.Market_Price_TOTAL,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT_SUMMARY.Gross_Prob_TOTAL,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT_SUMMARY.MTM_Adj_TOTAL,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT_SUMMARY.Net_MTM_CWT,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT_SUMMARY.Net_MTM_TOTAL,\n\t\t\t\t},\n\t\t\t],\n\t\t\tcode: [], // Assuming there are no corresponding fields for this in API response\n\t\t\tdatetime: formatDatetimecomingfromapi(apiItem, apiItem.endrosementDate),\n\t\t},\n\t};\n};\n\nconst mapDRPApiResponseToEndorsementModel = (apiItem: any) => {\n\tconst class3weight = apiItem.class3Weight\n\t\t? apiItem.class3Weight * 100 + ''\n\t\t: '0';\n\tconst class4weight = 100 - parseInt(class3weight) + '';\n\n\tconst premiumdollar = apiItem.premium ? apiItem.premium : '0';\n\n\tconst declaredprod = apiItem.declaredProduction\n\t\t? apiItem.declaredProduction\n\t\t: '0';\n\n\tconst mappeddata = {\n\t\ttypeCode: RM_TYPECODES.ENDORSEMENT,\n\t\tidentifierSet: {\n\t\t\tidentifier: '3', // Assuming static identifier as in the example model\n\t\t},\n\t\tdRPReferences: [\n\t\t\t{\n\t\t\t\ttypeCode: 'DRP Reference',\n\t\t\t\tidentifier: apiItem.drpReference || '',\n\t\t\t},\n\t\t\t{\n\t\t\t\ttypeCode: 'DRP Source',\n\t\t\t\tidentifier: 'System',\n\t\t\t},\n\t\t\t{\n\t\t\t\ttypeCode: 'DRP Note',\n\t\t\t\tidentifier: apiItem.note || '',\n\t\t\t},\n\t\t],\n\t\tquantity: [\n\t\t\t{\n\t\t\t\tcontent: declaredprod,\n\t\t\t\ttypeCode: RM_TYPECODES.DECLARED_PROD_QTR_END,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: apiItem.class_3_Floor_Price || '0.00',\n\t\t\t\ttypeCode: RM_TYPECODES.CLASS_3_FLOOR_PRICE,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: apiItem.class_4_Floor_Price || '0.00',\n\t\t\t\ttypeCode: RM_TYPECODES.CLASS_4_FLOOR_PRICE,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: apiItem.covered\n\t\t\t\t\t? parseInt((apiItem.covered * 100).toString()).toString()\n\t\t\t\t\t: '0',\n\t\t\t\ttypeCode: RM_TYPECODES.PERCENT_COVERED,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: apiItem.protectionFactor\n\t\t\t\t\t? new Intl.NumberFormat('en-US', {\n\t\t\t\t\t\t\tminimumFractionDigits: 2,\n\t\t\t\t\t\t\tmaximumFractionDigits: 2,\n\t\t\t\t\t })\n\t\t\t\t\t\t\t.format(apiItem.protectionFactor)\n\t\t\t\t\t\t\t.toString()\n\t\t\t\t\t: '0',\n\t\t\t\ttypeCode: RM_TYPECODES.PROTECT_FACT,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: premiumdollar,\n\t\t\t\ttypeCode: RM_TYPECODES.PREMIUM_DOLLAR,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: apiItem.yieldAdjustment ? apiItem.yieldAdjustment : '1.0000',\n\t\t\t\ttypeCode: RM_TYPECODES.YIELD_ADJ,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: class3weight,\n\t\t\t\ttypeCode: RM_TYPECODES.CLASS3_WEIGHT_FACTOR,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: class4weight,\n\t\t\t\ttypeCode: RM_TYPECODES.CLASS4_WEIGHT_FACTOR,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: '0', // Assuming no data provided, placeholder\n\t\t\t\ttypeCode: RM_TYPECODES.PREMIUM_PAID,\n\t\t\t},\n\t\t],\n\t\textension: {\n\t\t\ttypeCode: 'Endorsement Summary',\n\t\t\tamount: [\n\t\t\t\t{\n\t\t\t\t\tcontent: '0', // Assuming placeholders; replace with real data if available\n\t\t\t\t\ttypeCode: RM_TYPECODES.GROSS_EXPECTED_REVENUE_GUARANTEE_CWT,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: RM_TYPECODES.BEGINNING_PROFITABLE_LEVEL_CWT,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: RM_TYPECODES.MARKET_PRICE_WEIGHTED_CWT,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: RM_TYPECODES.GROSS_PROBABLE_INDEMNITY_CWT,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: RM_TYPECODES.MTM_WYF_ADJUSTMENT_CWT,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: RM_TYPECODES.GROSS_EXPECTED_TOTAL,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: RM_TYPECODES.BEG_TOTAL,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: RM_TYPECODES.MARKET_PRICE_TOTAL,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: RM_TYPECODES.GROS_PROB_TOTAL,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: RM_TYPECODES.MTM_ADJ_TOTAL,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: RM_TYPECODES.MARKET_TO_MARKET_CWT,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: RM_TYPECODES.NET_MTM_TOTAL,\n\t\t\t\t},\n\t\t\t],\n\t\t\tcode: [],\n\t\t\tdatetime: formatDatetimecomingfromapi(apiItem, apiItem.endrosementDate),\n\t\t},\n\t};\n\treturn mappeddata;\n};\n\nconst updatedrpclassendorsementandsummary = (\n\texternaldrpdata: Array,\n\tDRPDATA: any,\n\tstate: any,\n\tyear: number\n) => {\n\tconst externaldrpclassdata = externaldrpdata.filter((data: any) => {\n\t\treturn data.endorsementType === '831';\n\t});\n\tconst tempdrpdata: any = [];\n\tif (externaldrpclassdata.length > 0) {\n\t\tDRPDATA.forEach((drpclassdataitem: any) => {\n\t\t\tconst distribution = drpclassdataitem?.extension?.distribution || [];\n\t\t\tlet filteredDistribution: any = [];\n\t\t\tdistribution.forEach((distItem: any) => {\n\t\t\t\tdistItem.quantity = distItem.quantity.filter(\n\t\t\t\t\t(d: any) => d.typeCode != ''\n\t\t\t\t);\n\n\t\t\t\tif (distItem.typeCode === 'Endorsement') {\n\t\t\t\t\tconst drpReferencesarray = distItem?.dRPReferences || [];\n\t\t\t\t\tconst drpReference = drpReferencesarray.find(\n\t\t\t\t\t\tref => ref.typeCode === 'DRP Reference'\n\t\t\t\t\t);\n\t\t\t\t\tconst drpSource = drpReferencesarray.find(\n\t\t\t\t\t\tref => ref.typeCode === 'DRP Source'\n\t\t\t\t\t);\n\t\t\t\t\tconst drpNote = drpReferencesarray.find(\n\t\t\t\t\t\tref => ref.typeCode === 'DRP Note'\n\t\t\t\t\t);\n\t\t\t\t\tconst isManualSource = drpSource?.identifier === 'Manual';\n\t\t\t\t\tconst hasEmptyDrpReference =\n\t\t\t\t\t\t(drpReference.identifier + '').trim() === '';\n\n\t\t\t\t\tconst hasDrpNoteValue = drpNote?.identifier?.trim() !== '';\n\n\t\t\t\t\tif (hasEmptyDrpReference && isManualSource && hasDrpNoteValue) {\n\t\t\t\t\t\tfilteredDistribution.push(distItem);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (\n\t\t\t\t\t\tdistItem.typeCode == RM_TYPECODES.QUARTERLY_ENDORSEMENT_SUMMARY ||\n\t\t\t\t\t\tdistItem.typeCode == 'CME Prices'\n\t\t\t\t\t) {\n\t\t\t\t\t\tfilteredDistribution.push(distItem);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\n\t\t\texternaldrpclassdata.forEach(d => {\n\t\t\t\tif (\n\t\t\t\t\td.calQuarter ===\n\t\t\t\t\t\t'Q' +\n\t\t\t\t\t\t\tdrpclassdataitem.extension?.accountingPeriod?.[0]\n\t\t\t\t\t\t\t\t?.periodIdentifier &&\n\t\t\t\t\td.calYear === drpclassdataitem.extension?.accountingPeriod?.[0]?.year\n\t\t\t\t) {\n\t\t\t\t\tconst mappedEndorsement = mapDRPApiResponseToEndorsementModel(d);\n\t\t\t\t\tfilteredDistribution.push(mappedEndorsement);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tdrpclassdataitem.extension.distribution = filteredDistribution;\n\t\t\tdrpclassdataitem.extension.distribution = drpclassdataitem.extension.distribution.filter(\n\t\t\t\t(d: any) => d.typeCode != RM_TYPECODES.QUARTERLY_ENDORSEMENT_SUMMARY\n\t\t\t);\n\n\t\t\tdrpclassdataitem.extension.distribution.push(\n\t\t\t\tDRP_Quarterly_Endorsement_Summary()\n\t\t\t);\n\t\t\ttempdrpdata.push(drpclassdataitem);\n\t\t});\n\t}\n\treturn tempdrpdata;\n};\nconst updatedrpcomponentendorsementandsummary = (\n\texternaldrpdata: Array,\n\tDRPCOMPDATA: any,\n\tstate: any,\n\tyear: number\n) => {\n\tconst externaldrpcomponentdata = externaldrpdata.filter((data: any) => {\n\t\treturn data.endorsementType === '832';\n\t});\n\n\tlet tempdrpcomponentdata: any = [];\n\tif (externaldrpcomponentdata.length > 0) {\n\t\tDRPCOMPDATA.forEach((drpcomponentdata: any) => {\n\t\t\tconst distribution = drpcomponentdata?.extension?.distribution || [];\n\t\t\tlet filteredDistribution: any = [];\n\t\t\tdistribution.forEach((distItem: any) => {\n\t\t\t\tdistItem.quantity = distItem.quantity.filter(\n\t\t\t\t\t(d: any) => d.typeCode != ''\n\t\t\t\t);\n\n\t\t\t\tif (distItem.typeCode === 'Endorsement') {\n\t\t\t\t\tconst drpReferencesarray = distItem?.dRPReferences || [];\n\t\t\t\t\tconst drpReference = drpReferencesarray.find(\n\t\t\t\t\t\tref => ref.typeCode === 'DRP Reference'\n\t\t\t\t\t);\n\t\t\t\t\tconst drpSource = drpReferencesarray.find(\n\t\t\t\t\t\tref => ref.typeCode === 'DRP Source'\n\t\t\t\t\t);\n\t\t\t\t\tconst drpNote = drpReferencesarray.find(\n\t\t\t\t\t\tref => ref.typeCode === 'DRP Note'\n\t\t\t\t\t);\n\t\t\t\t\tconst isManualSource = drpSource?.identifier === 'Manual';\n\t\t\t\t\tconst hasEmptyDrpReference =\n\t\t\t\t\t\t(drpReference.identifier + '').trim() === '';\n\t\t\t\t\tconst hasDrpNoteValue = drpNote?.identifier?.trim() !== '';\n\n\t\t\t\t\tif (hasEmptyDrpReference && isManualSource && hasDrpNoteValue) {\n\t\t\t\t\t\tfilteredDistribution.push(distItem);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (distItem.typeCode == RM_TYPECODES.QUARTERLY_ENDORSEMENT_SUMMARY) {\n\t\t\t\t\t\tfilteredDistribution.push(distItem);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t\texternaldrpcomponentdata.forEach(d => {\n\t\t\t\tif (\n\t\t\t\t\td.calQuarter ===\n\t\t\t\t\t\t'Q' +\n\t\t\t\t\t\t\tdrpcomponentdata.extension?.accountingPeriod?.[0]\n\t\t\t\t\t\t\t\t?.periodIdentifier &&\n\t\t\t\t\td.calYear === drpcomponentdata.extension?.accountingPeriod?.[0]?.year\n\t\t\t\t) {\n\t\t\t\t\tconst mappedEndorsement = mapDRPApiResponseToDRPCOMPONENTEndorsementModel(\n\t\t\t\t\t\td\n\t\t\t\t\t);\n\t\t\t\t\tfilteredDistribution.push(mappedEndorsement);\n\t\t\t\t}\n\t\t\t});\n\t\t\tdrpcomponentdata.extension.distribution = filteredDistribution;\n\t\t\tdrpcomponentdata.extension.distribution = filteredDistribution;\n\t\t\tdrpcomponentdata.extension.distribution = drpcomponentdata.extension.distribution.filter(\n\t\t\t\t(d: any) => d.typeCode != RM_TYPECODES.QUARTERLY_ENDORSEMENT_SUMMARY\n\t\t\t);\n\n\t\t\tdrpcomponentdata.extension.distribution.push(\n\t\t\t\tDRP_Comp_Quarterly_Endorsement_Summary()\n\t\t\t);\n\t\t\ttempdrpcomponentdata.push(drpcomponentdata);\n\t\t});\n\t}\n\treturn tempdrpcomponentdata;\n};\n\nexport const updateDRPdataWithExternalDrpdata = (\n\texternaldrpdata: Array,\n\tstate: any,\n\tyear: number\n) => {\n\tconst RMData = state.calculatedSchema;\n\tconst drpclassdata = RMData[RM_SECTION_CODES.DRP];\n\tconst drpcompsdata = RMData[RM_SECTION_CODES.DRP_COMP];\n\n\tconst uniqueDrpData = externaldrpdata.reduce((acc: any, item: any) => {\n\t\tif (\n\t\t\t!acc.find(\n\t\t\t\t(existingItem: any) => existingItem.drpReference === item.drpReference\n\t\t\t)\n\t\t) {\n\t\t\tacc.push(item);\n\t\t}\n\t\treturn acc;\n\t}, []);\n\tconst drpclassdataarray = updatedrpclassendorsementandsummary(\n\t\tuniqueDrpData,\n\t\tdrpclassdata,\n\t\tstate,\n\t\tyear\n\t);\n\tconst drpcomponentdataarray = updatedrpcomponentendorsementandsummary(\n\t\tuniqueDrpData,\n\t\tdrpcompsdata,\n\t\tstate,\n\t\tyear\n\t);\n\n\tif (drpclassdataarray.length > 0) {\n\t\tstate.calculatedSchema[RM_SECTION_CODES.DRP] = drpclassdataarray;\n\t}\n\tif (drpcomponentdataarray.length > 0) {\n\t\tstate.calculatedSchema[RM_SECTION_CODES.DRP_COMP] = drpcomponentdataarray;\n\t}\n};\n\n/*DRP Mapping External Source data to COA Schema code End */\n\nexport const moveRMPostionDictionaryData = (state: COAInfo | any) => {\n\tconst positionArray = [];\n\tif (state.calculatedSchema && state.calculatedSchema[Position_DICTIONARY]) {\n\t\tfor (const commodity in state.calculatedSchema[Position_DICTIONARY]) {\n\t\t\tfor (const key of state.calculatedSchema[Position_DICTIONARY][commodity][\n\t\t\t\t'keys'\n\t\t\t]) {\n\t\t\t\tconst pc: PositionContainer =\n\t\t\t\t\tstate.calculatedSchema[Position_DICTIONARY][commodity][key];\n\t\t\t\tpositionArray.push(pc.toJson());\n\t\t\t}\n\t\t}\n\t\tstate.calculatedSchema[RM_SECTION_CODES.POSITION] = positionArray;\n\t}\n\treturn state;\n};\n\nconst calculateAllPositions = (\n\tstate: COAInfo,\n\tpayload: { financialYear: string }\n) => {\n\tfor (const commodity in state.calculatedSchema[Position_DICTIONARY]) {\n\t\tfor (const key of state.calculatedSchema[Position_DICTIONARY][commodity][\n\t\t\t'keys'\n\t\t]) {\n\t\t\tconst pc: PositionContainer =\n\t\t\t\tstate.calculatedSchema[Position_DICTIONARY][commodity][key];\n\t\t\tcalculateAllThePositionsForMonthAndYear(state, {\n\t\t\t\tfinancialYear: payload.financialYear,\n\t\t\t\tsettledprice: pc.periodSettlePrice,\n\t\t\t\tcommodity: commodity,\n\t\t\t\tmonth: pc.accountingPeriod.identifier,\n\t\t\t\tyear: pc.accountingPeriod.year,\n\t\t\t});\n\t\t}\n\t}\n\treturn state;\n};\n\nconst calculateAllThePositionsForMonthAndYear = (\n\tstate: COAInfo,\n\tpayload: {\n\t\tfinancialYear: any;\n\t\tsettledprice: number;\n\t\tcommodity: string;\n\t\tmonth: string;\n\t\tyear: string;\n\t}\n) => {\n\tconst pc: PositionContainer =\n\t\tstate.calculatedSchema[Position_DICTIONARY][payload.commodity][\n\t\t\t`${payload.month}_${payload.year}`\n\t\t];\n\n\t// calculate net for each record -- for new updated market price\n\tconst listOfNonSummaryPosition = pc.positionList.filter(\n\t\titem =>\n\t\t\titem.typeCode != 'Summary' ||\n\t\t\titem.extension.typeCode != RM_TYPECODES.MTM_FUTURES_POSITION\n\t);\n\n\tlistOfNonSummaryPosition.forEach(item => item.calculateNet());\n\n\t// calculate summary for each section\n\tif (pc.positionList.find(item => item.typeCode == RM_OPTIONS.FLOOR)) {\n\t\tevaluateOptionSummaryForItem(pc, RM_OPTIONS.FLOOR, RM_OPTIONS.FLOOR);\n\t}\n\n\tif (pc.positionList.find(item => item.typeCode == RM_OPTIONS.CEILING)) {\n\t\tevaluateOptionSummaryForItem(pc, RM_OPTIONS.CEILING, RM_OPTIONS.CEILING);\n\t}\n\n\tif (pc.positionList.find(item => item.typeCode == RM_OPTIONS.CONTRACT)) {\n\t\tevaluateOptionSummaryForItem(pc, RM_OPTIONS.CONTRACT, RM_OPTIONS.CONTRACT);\n\t}\n\n\tif (pc.positionList.find(item => item.typeCode == RM_OPTIONS.COLLAR)) {\n\t\tevaluateOptionSummaryForItem(pc, RM_OPTIONS.COLLAR, RM_OPTIONS.COLLAR);\n\t}\n\n\tpc.positionList = pc.positionList.filter(pm => {\n\t\t// condition to check if there are commodities without netmtm or only netmtm; if such commodity is found remove it.\n\t\tif (pc.positionList.filter(t => t.typeCode === pm.typeCode).length < 2) {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t});\n\tevaluateGroupSummaryForPC(pc, payload, state);\n\tpc.positionList = [...pc.positionList];\n\treturn state;\n};\nexport const updatePostionWithMarketPrice = (\n\tstate: COAInfo,\n\tpayload: { marketPriceList: Array }\n) => {\n\tfor (const prop in state.calculatedSchema[Position_DICTIONARY]) {\n\t\tstate.calculatedSchema[Position_DICTIONARY][prop]['keys'].forEach(\n\t\t\t(element: string) => {\n\t\t\t\tconst pc: PositionContainer =\n\t\t\t\t\tstate.calculatedSchema[Position_DICTIONARY][prop][element];\n\t\t\t\tconst foundItem = payload.marketPriceList.find(\n\t\t\t\t\titem =>\n\t\t\t\t\t\titem.symbolCode == pc.code.Commodity &&\n\t\t\t\t\t\titem.month == pc.accountingPeriod.identifier &&\n\t\t\t\t\t\titem.year == pc.accountingPeriod.year\n\t\t\t\t);\n\t\t\t\t// console.log('FoundItem -- ', foundItem);\n\t\t\t\tif (foundItem) {\n\t\t\t\t\tpc.periodSettlePrice = foundItem.settlementPriceAmount;\n\t\t\t\t\tpc.positionList.forEach(\n\t\t\t\t\t\titem => (item.getPeriodSettlePrice = () => pc.periodSettlePrice)\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t}\n\treturn state;\n};\n\nconst evaluateOptionSummaryForItem = (\n\tpc: PositionContainer,\n\ttypeCode: string,\n\textTypeCode: string\n) => {\n\tswitch (typeCode) {\n\t\tcase RM_OPTIONS.CEILING:\n\t\t\t{\n\t\t\t\tconst netMtm = new NetCeilingMTM();\n\t\t\t\tnetMtm.evaluate(\n\t\t\t\t\tpc.positionList.filter(\n\t\t\t\t\t\titem =>\n\t\t\t\t\t\t\titem.typeCode == typeCode &&\n\t\t\t\t\t\t\titem.extension.typeCode == extTypeCode\n\t\t\t\t\t)\n\t\t\t\t);\n\n\t\t\t\tif (pc.positionList.find(item => item instanceof NetCeilingMTM)) {\n\t\t\t\t\tpc.positionList.splice(\n\t\t\t\t\t\tpc.positionList.findIndex(item => item instanceof NetCeilingMTM),\n\t\t\t\t\t\t1\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tpc.positionList.push(netMtm);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase RM_OPTIONS.COLLAR:\n\t\t\t{\n\t\t\t\tconst netMtm = new NetCollarMTM();\n\t\t\t\tnetMtm.evaluate(\n\t\t\t\t\tpc.positionList.filter(\n\t\t\t\t\t\titem =>\n\t\t\t\t\t\t\titem.typeCode == typeCode &&\n\t\t\t\t\t\t\t(item.extension.typeCode == RM_OPTIONS.CEILING ||\n\t\t\t\t\t\t\t\titem.extension.typeCode == RM_OPTIONS.FLOOR)\n\t\t\t\t\t)\n\t\t\t\t);\n\n\t\t\t\tif (pc.positionList.find(item => item instanceof NetCollarMTM)) {\n\t\t\t\t\tpc.positionList.splice(\n\t\t\t\t\t\tpc.positionList.findIndex(item => item instanceof NetCollarMTM),\n\t\t\t\t\t\t1\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tpc.positionList.push(netMtm);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase RM_OPTIONS.CONTRACT:\n\t\t\t{\n\t\t\t\tconst netMtm = new NetContractMTM();\n\t\t\t\tnetMtm.evaluate(\n\t\t\t\t\tpc.positionList.filter(\n\t\t\t\t\t\titem =>\n\t\t\t\t\t\t\titem.typeCode == typeCode &&\n\t\t\t\t\t\t\titem.extension.typeCode == extTypeCode\n\t\t\t\t\t)\n\t\t\t\t);\n\n\t\t\t\tif (pc.positionList.find(item => item instanceof NetContractMTM)) {\n\t\t\t\t\tpc.positionList.splice(\n\t\t\t\t\t\tpc.positionList.findIndex(item => item instanceof NetContractMTM),\n\t\t\t\t\t\t1\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tpc.positionList.push(netMtm);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase RM_OPTIONS.FLOOR:\n\t\t\t{\n\t\t\t\tconst netMtm = new NetFloorMTM();\n\t\t\t\tnetMtm.evaluate(\n\t\t\t\t\tpc.positionList.filter(\n\t\t\t\t\t\titem =>\n\t\t\t\t\t\t\titem.typeCode == typeCode &&\n\t\t\t\t\t\t\titem.extension.typeCode == extTypeCode\n\t\t\t\t\t)\n\t\t\t\t);\n\n\t\t\t\tif (pc.positionList.find(item => item instanceof NetFloorMTM)) {\n\t\t\t\t\tpc.positionList.splice(\n\t\t\t\t\t\tpc.positionList.findIndex(item => item instanceof NetFloorMTM),\n\t\t\t\t\t\t1\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tpc.positionList.push(netMtm);\n\t\t\t}\n\t\t\tbreak;\n\t}\n};\n\nconst evaluateGroupSummaryForPC = (\n\tpc: PositionContainer,\n\tpayload: {\n\t\tmonth: string;\n\t\tyear: string;\n\t\tcommodity: string;\n\t\tfinancialYear: number;\n\t},\n\tstate: any\n) => {\n\t// section for performing group summary\n\tlet listofSummary: PositionSummaryModel[] | any = pc.positionList.filter(\n\t\titem => item.typeCode == RM_SECTION_CODES.SUMMARY\n\t);\n\tconst listOfNonSummary = pc.positionList.filter(\n\t\titem => item.typeCode != RM_SECTION_CODES.SUMMARY\n\t);\n\t// pass all the positions to summary object for evaluation\n\tlistofSummary.forEach((item: PositionSummaryModel) =>\n\t\titem.evaluate(listOfNonSummary, payload, state)\n\t);\n};\nconst addPositionOfType = (\n\tstate: COAInfo,\n\tpayload: {\n\t\ttype: string;\n\t\tcommodity: string;\n\t\tmonth: string;\n\t\tyear: string;\n\t\tsettledprice: number;\n\t\tfinancialYear: any;\n\t}\n) => {\n\tconst pc: PositionContainer =\n\t\tstate.calculatedSchema[Position_DICTIONARY][payload.commodity][\n\t\t\t`${payload.month}_${payload.year}`\n\t\t];\n\tswitch (payload.type) {\n\t\tcase RM_OPTIONS.CEILING:\n\t\t\tpc.addCeiling();\n\t\t\tevaluateOptionSummaryForItem(pc, RM_OPTIONS.CEILING, RM_OPTIONS.CEILING);\n\t\t\tbreak;\n\t\tcase RM_OPTIONS.COLLAR:\n\t\t\tpc.addCollar();\n\t\t\tevaluateOptionSummaryForItem(pc, RM_OPTIONS.COLLAR, RM_OPTIONS.COLLAR);\n\t\t\tbreak;\n\t\tcase RM_OPTIONS.CONTRACT:\n\t\t\tpc.addContract();\n\t\t\tevaluateOptionSummaryForItem(\n\t\t\t\tpc,\n\t\t\t\tRM_OPTIONS.CONTRACT,\n\t\t\t\tRM_OPTIONS.CONTRACT\n\t\t\t);\n\t\t\tbreak;\n\t\tcase RM_OPTIONS.FLOOR:\n\t\t\tpc.addFloor();\n\t\t\tevaluateOptionSummaryForItem(pc, RM_OPTIONS.FLOOR, RM_OPTIONS.FLOOR);\n\t\t\tbreak;\n\t}\n\tevaluateGroupSummaryForPC(pc, payload, state);\n\n\treturn state;\n};\n\nconst updateRMPositionvalidation = (state: COAInfo) => {\n\tconst positiondict = state.calculatedSchema[Position_DICTIONARY];\n\tlet allMadCapReferenceinRMRecord: any = {};\n\tlet erroroccuredflag = false;\n\n\tfor (const commodity in positiondict) {\n\t\tfor (const key of positiondict[commodity]['keys']) {\n\t\t\tconst pc: PositionContainer = positiondict[commodity][key];\n\n\t\t\t//Store all Manually Entered Madcap References in `allMadCapReferenceinRMRecord` Array\n\t\t\tpc.positionList\n\t\t\t\t.filter(\n\t\t\t\t\td =>\n\t\t\t\t\t\t['Floor', 'Ceiling', 'Collar', 'Contract'].includes(d.typeCode) &&\n\t\t\t\t\t\t['Floor', 'Ceiling', 'Collar', 'Contract'].includes(\n\t\t\t\t\t\t\td.extension.typeCode\n\t\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t\t.forEach((p: PositionModel) => {\n\t\t\t\t\tif (!(p.typeCode === 'Collar' && p.extension.typeCode === 'Floor')) {\n\t\t\t\t\t\t//ignore Collar Floor\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tp.positionReferences.MadCap_Reference &&\n\t\t\t\t\t\t\tp.positionReferences.MadCap_Reference !== '' &&\n\t\t\t\t\t\t\tparseInt(p.positionReferences.MadCap_Reference) !== 0\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tp.validation.error = false;\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tparseInt(p.positionReferences.MadCap_Reference) in\n\t\t\t\t\t\t\t\tallMadCapReferenceinRMRecord\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tallMadCapReferenceinRMRecord[\n\t\t\t\t\t\t\t\t\tparseInt(p.positionReferences.MadCap_Reference)\n\t\t\t\t\t\t\t\t].count += 1;\n\t\t\t\t\t\t\t\tallMadCapReferenceinRMRecord[\n\t\t\t\t\t\t\t\t\tparseInt(p.positionReferences.MadCap_Reference)\n\t\t\t\t\t\t\t\t].elementarray.push({\n\t\t\t\t\t\t\t\t\tele: p,\n\t\t\t\t\t\t\t\t\tcommodity:\n\t\t\t\t\t\t\t\t\t\tRM_COMMODITIES.CHEESE.SYMBOL === commodity\n\t\t\t\t\t\t\t\t\t\t\t? 'Cheese'\n\t\t\t\t\t\t\t\t\t\t\t: RM_COMMODITIES.CLASS3.SYMBOL === commodity\n\t\t\t\t\t\t\t\t\t\t\t? 'Class 3'\n\t\t\t\t\t\t\t\t\t\t\t: 'Class 4',\n\t\t\t\t\t\t\t\t\tmonth: pc.accountingPeriod.identifier,\n\t\t\t\t\t\t\t\t\tyear: pc.accountingPeriod.year,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tallMadCapReferenceinRMRecord[\n\t\t\t\t\t\t\t\t\tparseInt(p.positionReferences.MadCap_Reference)\n\t\t\t\t\t\t\t\t] = {\n\t\t\t\t\t\t\t\t\tcount: 1,\n\t\t\t\t\t\t\t\t\telementarray: [],\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\tallMadCapReferenceinRMRecord[\n\t\t\t\t\t\t\t\t\tparseInt(p.positionReferences.MadCap_Reference)\n\t\t\t\t\t\t\t\t].elementarray.push({\n\t\t\t\t\t\t\t\t\tele: p,\n\t\t\t\t\t\t\t\t\tcommodity:\n\t\t\t\t\t\t\t\t\t\tRM_COMMODITIES.CHEESE.SYMBOL === commodity\n\t\t\t\t\t\t\t\t\t\t\t? 'Cheese'\n\t\t\t\t\t\t\t\t\t\t\t: RM_COMMODITIES.CLASS3.SYMBOL === commodity\n\t\t\t\t\t\t\t\t\t\t\t? 'Class 3'\n\t\t\t\t\t\t\t\t\t\t\t: 'Class 4',\n\t\t\t\t\t\t\t\t\tmonth: pc.accountingPeriod.identifier,\n\t\t\t\t\t\t\t\t\tyear: pc.accountingPeriod.year,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tp.positionReferences.Position_Note === '' &&\n\t\t\t\t\t\t\t\tp.positionReferences.Order_Status === 'Manual'\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t!(p.typeCode === 'Collar' && p.extension.typeCode === 'Floor')\n\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t// ignore the collar floor\n\t\t\t\t\t\t\t\t\terroroccuredflag = true;\n\t\t\t\t\t\t\t\t\tp.validation.error = true;\n\t\t\t\t\t\t\t\t\tp.validation.message =\n\t\t\t\t\t\t\t\t\t\t'Should either have MadCap Reference Or Comment.';\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tp.validation.error = false;\n\t\t\t\t\t\t\t\t\tp.validation.message = '';\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tp.validation.error = false;\n\t\t\t\t\t\t\t\tp.validation.message = '';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t}\n\t}\n\n\tfor (let k in allMadCapReferenceinRMRecord) {\n\t\tif (allMadCapReferenceinRMRecord[k].count >= 2) {\n\t\t\tallMadCapReferenceinRMRecord[\n\t\t\t\tk\n\t\t\t].elementarray = allMadCapReferenceinRMRecord[k].elementarray.map(\n\t\t\t\t(element: any, index: number) => {\n\t\t\t\t\t// if (element.ele.positionReferences.Order_Status === 'Manual') {\n\t\t\t\t\terroroccuredflag = true;\n\t\t\t\t\telement.ele.validation.error = true;\n\t\t\t\t\t// }\n\t\t\t\t\tif (\n\t\t\t\t\t\tindex ===\n\t\t\t\t\t\tallMadCapReferenceinRMRecord[k].elementarray.length - 1\n\t\t\t\t\t) {\n\t\t\t\t\t\tlet duplicatelement =\n\t\t\t\t\t\t\tallMadCapReferenceinRMRecord[k].elementarray[index - 1];\n\t\t\t\t\t\tallMadCapReferenceinRMRecord[k].elementarray[\n\t\t\t\t\t\t\tindex\n\t\t\t\t\t\t].ele.validation.message =\n\t\t\t\t\t\t\t'Duplicate MadCap entry from ' +\n\t\t\t\t\t\t\tduplicatelement.month +\n\t\t\t\t\t\t\t' ' +\n\t\t\t\t\t\t\tduplicatelement.year +\n\t\t\t\t\t\t\t' ' +\n\t\t\t\t\t\t\tduplicatelement.commodity;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tlet duplicatelement =\n\t\t\t\t\t\t\tallMadCapReferenceinRMRecord[k].elementarray[index + 1];\n\t\t\t\t\t\tallMadCapReferenceinRMRecord[k].elementarray[\n\t\t\t\t\t\t\tindex\n\t\t\t\t\t\t].ele.validation.message =\n\t\t\t\t\t\t\t'Duplicate MadCap entry from ' +\n\t\t\t\t\t\t\tduplicatelement.month +\n\t\t\t\t\t\t\t' ' +\n\t\t\t\t\t\t\tduplicatelement.year +\n\t\t\t\t\t\t\t' ' +\n\t\t\t\t\t\t\tduplicatelement.commodity;\n\t\t\t\t\t}\n\t\t\t\t\treturn element;\n\t\t\t\t}\n\t\t\t);\n\t\t} else {\n\t\t\tif (\n\t\t\t\tallMadCapReferenceinRMRecord[k].elementarray[0].ele.validation.error\n\t\t\t) {\n\t\t\t\terroroccuredflag = true;\n\t\t\t}\n\t\t}\n\t}\n\n\tpositiondict[RM_COMMODITIES.CHEESE.SYMBOL][\n\t\t'errorvalidation'\n\t] = erroroccuredflag;\n\tpositiondict[RM_COMMODITIES.CLASS3.SYMBOL][\n\t\t'errorvalidation'\n\t] = erroroccuredflag;\n\tpositiondict[RM_COMMODITIES.CLASS4.SYMBOL][\n\t\t'errorvalidation'\n\t] = erroroccuredflag;\n\n\treturn state;\n};\n\nconst deletePositionFromPC = (\n\tstate: COAInfo,\n\tpayload: {\n\t\tmodel: PositionModel;\n\t\tcommodity: string;\n\t\tmonth: string;\n\t\tyear: string;\n\t\tsettledprice: number;\n\t\tfinancialYear: any;\n\t}\n) => {\n\tlet deletedmadcapreference =\n\t\tpayload.model.positionReferences.MadCap_Reference;\n\tconst pc: PositionContainer =\n\t\tstate.calculatedSchema[Position_DICTIONARY][payload.commodity][\n\t\t\t`${payload.month}_${payload.year}`\n\t\t];\n\n\tif (pc.positionList.indexOf(payload.model) != -1) {\n\t\tif (payload.model.typeCode == RM_OPTIONS.COLLAR) {\n\t\t\tconst foundList = pc.positionList.filter(\n\t\t\t\titem =>\n\t\t\t\t\titem.typeCode == RM_OPTIONS.COLLAR &&\n\t\t\t\t\titem.identifierSet.identifier ==\n\t\t\t\t\t\tpayload.model.identifierSet.identifier\n\t\t\t);\n\t\t\tfor (const foundItem of foundList) {\n\t\t\t\tpc.positionList.splice(pc.positionList.indexOf(foundItem), 1);\n\t\t\t}\n\t\t} else {\n\t\t\tpc.positionList.splice(pc.positionList.indexOf(payload.model), 1);\n\t\t}\n\t}\n\n\t// remove mtm when all item of type are deleted\n\n\tif (\n\t\t!removeMTMRowFromList(\n\t\t\tpc,\n\t\t\tpayload.model.typeCode,\n\t\t\tpayload.model.extension.typeCode\n\t\t)\n\t) {\n\t\tevaluateOptionSummaryForItem(\n\t\t\tpc,\n\t\t\tpayload.model.typeCode,\n\t\t\tpayload.model.extension.typeCode\n\t\t);\n\t}\n\n\tevaluateGroupSummaryForPC(pc, payload, state);\n\n\tpc.positionList = [...pc.positionList];\n\n\tif (payload.commodity == RM_COMMODITIES.CLASS3.SYMBOL) {\n\t\tupdateCalcucationForCheeseAfterClass3Update(\n\t\t\tRM_COMMODITIES.CHEESE.SYMBOL,\n\t\t\tpayload,\n\t\t\tstate\n\t\t);\n\t} else if (payload.commodity == RM_COMMODITIES.CHEESE.SYMBOL) {\n\t\tupdateCalcucationForCheeseAfterClass3Update(\n\t\t\tRM_COMMODITIES.CLASS3.SYMBOL,\n\t\t\tpayload,\n\t\t\tstate\n\t\t);\n\t}\n\n\t// Update Validation after the deletion of the position\n\tlet temp = updateRMPositionvalidation(state);\n\treturn state;\n};\n\nconst updateNoofContractAndVolumeForCollar = (\n\tstate: COAInfo,\n\tpayload: {\n\t\tmodel: PositionModel;\n\t\tcommodity: string;\n\t\tmonth: string;\n\t\tyear: string;\n\t\tfieldName: PositionEditFieldType;\n\t\tfloorquantity: number;\n\t}\n): PositionContainer => {\n\tconst pc: PositionContainer =\n\t\tstate.calculatedSchema[Position_DICTIONARY][payload.commodity][\n\t\t\t`${payload.month}_${payload.year}`\n\t\t];\n\tif (\n\t\tpayload.model.typeCode == RM_OPTIONS.COLLAR &&\n\t\tpayload.model.extension.typeCode == RM_OPTIONS.FLOOR\n\t) {\n\t\tconst ceiling = pc.positionList.find(\n\t\t\titem =>\n\t\t\t\titem.typeCode == RM_OPTIONS.COLLAR &&\n\t\t\t\titem.extension.typeCode == RM_OPTIONS.CEILING &&\n\t\t\t\titem.identifierSet.identifier == payload.model.identifierSet.identifier\n\t\t);\n\t\tif (ceiling) {\n\t\t\tconst model = new PositionModel();\n\t\t\tmodel.typeCode = payload.model.typeCode;\n\t\t\tmodel.identifierSet = payload.model.identifierSet;\n\t\t\tmodel.extension.typeCode = RM_OPTIONS.CEILING;\n\t\t\tmodel.extension = { ...ceiling.extension };\n\t\t\tmodel.quantity = { ...ceiling.quantity };\n\t\t\tmodel.positionReferences = { ...ceiling.positionReferences };\n\t\t\tmodel.getPeriodSettlePrice = () => pc.periodSettlePrice;\n\t\t\tmodel.volumeInOneContract = Comm_SymbolTo_Volume_Dict[payload.commodity];\n\t\t\tmodel.divisor = Comm_Divisor_Dict[payload.commodity];\n\t\t\tmodel.multiplier = Comm_Multiplier_Dict[payload.commodity];\n\n\t\t\tmodel.setNumberOfContracts(payload.floorquantity * -1);\n\t\t\tconst index = pc.positionList.indexOf(ceiling);\n\t\t\tif (index != -1 && payload.fieldName) {\n\t\t\t\tpc.positionList[index] = model;\n\t\t\t}\n\t\t}\n\t}\n\treturn pc;\n};\n\nconst updatePositionDataWithPos = (\n\tstate: COAInfo,\n\tpayload: {\n\t\tsettledprice: number;\n\t\tfinancialYear: number;\n\t\tmodel: PositionModel;\n\t\tcommodity: string;\n\t\tmonth: string;\n\t\tyear: string;\n\t\tfieldName: PositionEditFieldType;\n\t\tvalue: number;\n\t}\n) => {\n\tlet pc: PositionContainer =\n\t\tstate.calculatedSchema[Position_DICTIONARY][payload.commodity][\n\t\t\t`${payload.month}_${payload.year}`\n\t\t];\n\t//since in collar the volume filled is disabled, so trigger the no of contract and volume update when the collar floor No of contract changes.\n\tif (\n\t\tpayload.model.typeCode == RM_OPTIONS.COLLAR &&\n\t\tPositionEditFieldType.NoOfContracts === payload.fieldName\n\t) {\n\t\tlet floorquantity = payload.value;\n\t\tpc = updateNoofContractAndVolumeForCollar(state, {\n\t\t\tmodel: payload.model,\n\t\t\tcommodity: payload.commodity,\n\t\t\tmonth: payload.month,\n\t\t\tyear: payload.year,\n\t\t\tfieldName: payload.fieldName,\n\t\t\tfloorquantity: floorquantity,\n\t\t});\n\t}\n\tconst index = pc.positionList.indexOf(payload.model);\n\tif (index != -1 && payload.fieldName) {\n\t\tconst model = new PositionModel();\n\t\tmodel.typeCode = payload.model.typeCode;\n\t\tmodel.identifierSet = payload.model.identifierSet;\n\t\tmodel.extension.typeCode = payload.model.extension.typeCode;\n\t\tmodel.extension = { ...payload.model.extension };\n\t\tmodel.quantity = { ...payload.model.quantity };\n\t\tmodel.positionReferences = { ...payload.model.positionReferences };\n\t\tmodel.getPeriodSettlePrice = () => pc.periodSettlePrice;\n\t\tmodel.volumeInOneContract = Comm_SymbolTo_Volume_Dict[payload.commodity];\n\t\tmodel.divisor = Comm_Divisor_Dict[payload.commodity];\n\t\tmodel.multiplier = Comm_Multiplier_Dict[payload.commodity];\n\n\t\tswitch (payload.fieldName) {\n\t\t\tcase PositionEditFieldType.Strike:\n\t\t\t\tmodel.setStrike(payload.value);\n\t\t\t\tbreak;\n\t\t\tcase PositionEditFieldType.NoOfContracts:\n\t\t\t\tmodel.setNumberOfContracts(payload.value);\n\t\t\t\tbreak;\n\n\t\t\tcase PositionEditFieldType.AdminFee:\n\t\t\t\tmodel.setAdminFee(payload.value);\n\t\t\t\tbreak;\n\t\t\tcase PositionEditFieldType.Premium:\n\t\t\t\tmodel.setPremium(payload.value);\n\t\t\t\tbreak;\n\t\t\tcase PositionEditFieldType.MadCap_Reference:\n\t\t\t\tmodel.positionReferences.MadCap_Reference = `${payload.value}`;\n\t\t\t\tbreak;\n\t\t}\n\n\t\t// Commented code was causing position row to switch\n\t\t// pc.positionList.splice(index, 1);\n\t\t// pc.positionList.push(model);\n\t\tpc.positionList[index] = model;\n\t}\n\t// console.log('##### update position at index: ' + index, payload.model);\n\tif (index != -1) {\n\t\t// make object of netmtm based on the typecode in model\n\t\tevaluateOptionSummaryForItem(\n\t\t\tpc,\n\t\t\tpayload.model.typeCode,\n\t\t\tpayload.model.extension.typeCode\n\t\t);\n\t}\n\n\tevaluateGroupSummaryForPC(pc, payload, state);\n\tpc.positionList = [...pc.positionList];\n\tif (payload.commodity == RM_COMMODITIES.CLASS3.SYMBOL) {\n\t\tupdateCalcucationForCheeseAfterClass3Update(\n\t\t\tRM_COMMODITIES.CHEESE.SYMBOL,\n\t\t\tpayload,\n\t\t\tstate\n\t\t);\n\t} else if (payload.commodity == RM_COMMODITIES.CHEESE.SYMBOL) {\n\t\tupdateCalcucationForCheeseAfterClass3Update(\n\t\t\tRM_COMMODITIES.CLASS3.SYMBOL,\n\t\t\tpayload,\n\t\t\tstate\n\t\t);\n\t}\n\n\tlet temp = updateRMPositionvalidation(state);\n\treturn state;\n};\n\nconst updateCalcucationForCheeseAfterClass3Update = (\n\tcommodity: string,\n\tpayload: {\n\t\tmonth: string;\n\t\tyear: string;\n\t\tcommodity: string;\n\t\tfinancialYear: number;\n\t},\n\tstate: any\n) => {\n\tlet pcforSymbol: PositionContainer =\n\t\tstate.calculatedSchema[Position_DICTIONARY][commodity][\n\t\t\t`${payload.month}_${payload.year}`\n\t\t];\n\tevaluateGroupSummaryForPC(\n\t\tpcforSymbol,\n\t\t{\n\t\t\tmonth: payload.month,\n\t\t\tyear: payload.year,\n\t\t\tcommodity: commodity,\n\t\t\tfinancialYear: payload.financialYear,\n\t\t},\n\t\tstate\n\t);\n\tpcforSymbol.positionList = [...pcforSymbol.positionList];\n};\n\nexport const updatePostionsDataWithMadCapData = (\n\tmadcapPositionList: Array,\n\tstate: any,\n\tyear: number\n) => {\n\tconst RMData = state.calculatedSchema;\n\tRMData.Header = updateHeaderWithDate(_.cloneDeep(RMData.Header));\n\tupdatePositions(madcapPositionList, RMData, state);\n\tcalculateAllPositions(state, { financialYear: `${year}` });\n};\n\nexport const updateHeaderWithDate = (\n\theaderData: typeof RMHeader\n): typeof RMHeader => {\n\tconst foundIndex = headerData.documentReference.findIndex(\n\t\titem => item.typeCode == lblMadCapLastUpdate\n\t);\n\tif (foundIndex !== -1) {\n\t\theaderData.documentReference.splice(foundIndex, 1);\n\t}\n\n\theaderData.documentReference.push({\n\t\ttypeCode: lblMadCapLastUpdate,\n\t\tidentifier: '',\n\t\tdocumentDateTime: new Date().toUTCString(),\n\t});\n\treturn headerData;\n};\n\nconst removeMTMRowFromList = (\n\tpc: PositionContainer,\n\ttypeCode: string,\n\tsubTypeCode: string\n) => {\n\tif (\n\t\tpc.positionList.filter(\n\t\t\titem =>\n\t\t\t\titem.typeCode == typeCode && item.extension.typeCode == subTypeCode\n\t\t).length == 0\n\t) {\n\t\tlet foundindex = -1;\n\t\tfoundindex = pc.positionList.findIndex(\n\t\t\titem =>\n\t\t\t\titem.typeCode == typeCode &&\n\t\t\t\titem.extension.typeCode == RM_TYPECODES.MTM_FUTURES_POSITION\n\t\t);\n\t\tif (foundindex !== -1) {\n\t\t\tpc.positionList.splice(foundindex, 1);\n\t\t}\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\n\nexport const updatePositions = (\n\tmadcapPositionList: Array,\n\tcalcSchema: any,\n\tstate: any\n) => {\n\tconst madcapidlist: string[] = [];\n\t// create a dictionary to access month-year and commodity specfic\n\tconst dictionaryOfSymbolMonthYear = madcapPositionList.reduce(\n\t\t(prev: any, currentVal) => {\n\t\t\tconst key = `${currentVal.commodityCode}-${currentVal.month}-${currentVal.year}`;\n\t\t\tmadcapidlist.push(currentVal.identifier);\n\t\t\tif (prev[key]) {\n\t\t\t\tprev[key].push(currentVal);\n\t\t\t} else {\n\t\t\t\tprev[key] = [currentVal];\n\t\t\t}\n\t\t\treturn prev;\n\t\t},\n\t\t{}\n\t);\n\t// console.log(calcSchema, dictionaryOfSymbolMonthYear);\n\n\t// loop on the position containers -- positions are located in container->extension->distrubutions\n\t// find the month year and symbol of the container\n\t// get the positon for this date range from the madcap dictionary\n\t// prepare list all the position in the date range to the container\n\t// make a list of all the map cap id\n\t// remove all the existing mad cap id\n\t// add new position to position container\n\n\tfor (const commodity in calcSchema[Position_DICTIONARY]) {\n\t\tfor (const key of calcSchema[Position_DICTIONARY][commodity]['keys']) {\n\t\t\tconst pc: PositionContainer =\n\t\t\t\tcalcSchema[Position_DICTIONARY][commodity][key];\n\n\t\t\t// change the month to index values 1 to 12\n\t\t\tconst monthIndex =\n\t\t\t\tFULL_MONTHS.indexOf(pc.accountingPeriod.identifier) + 1;\n\t\t\t// get the commodity name as referedin madcap response api\n\t\t\tconst madcap_comm_name = MADCAP_COMMODITY_NAME_MAP[pc.code.Commodity];\n\n\t\t\tconst keyForMadCapDict = `${madcap_comm_name}-${monthIndex}-${pc.accountingPeriod.year}`;\n\n\t\t\tconst madCapListForMonthYear =\n\t\t\t\tdictionaryOfSymbolMonthYear[keyForMadCapDict];\n\n\t\t\t// remove all the existing madcap data and duplicate manual entries\n\t\t\tpc.positionList = pc.positionList.filter(pm => {\n\t\t\t\tlet madcapref = pm.positionReferences.MadCap_Reference.toString();\n\t\t\t\tif (madcapidlist.includes(madcapref)) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t});\n\n\t\t\t// remove all the mtm if all position of type\\subtype are removed\n\t\t\t[\n\t\t\t\t{ typeCode: RM_OPTIONS.FLOOR, subTypeCode: RM_OPTIONS.FLOOR },\n\t\t\t\t{ typeCode: RM_OPTIONS.CEILING, subTypeCode: RM_OPTIONS.CEILING },\n\t\t\t\t{ typeCode: RM_OPTIONS.CONTRACT, subTypeCode: RM_OPTIONS.CONTRACT },\n\t\t\t\t{ typeCode: RM_OPTIONS.COLLAR, subTypeCode: RM_OPTIONS.FLOOR },\n\t\t\t\t{ typeCode: RM_OPTIONS.COLLAR, subTypeCode: RM_OPTIONS.CEILING },\n\t\t\t].forEach(element => {\n\t\t\t\tremoveMTMRowFromList(pc, element.typeCode, element.subTypeCode);\n\t\t\t});\n\n\t\t\tif (madCapListForMonthYear) {\n\t\t\t\t// console.log(keyForMadCapDict);\n\n\t\t\t\tconsole.log(\n\t\t\t\t\t'_____',\n\t\t\t\t\tpc.accountingPeriod.identifier,\n\t\t\t\t\tpc.accountingPeriod.year,\n\t\t\t\t\tmadCapListForMonthYear\n\t\t\t\t);\n\n\t\t\t\t// generate a rmi position object for each madcap position data\n\t\t\t\tmadCapListForMonthYear.forEach((madCapPosition: MadCapPosition) => {\n\t\t\t\t\t// Get position based on sub type only\n\t\t\t\t\t// refer to mappin on excel sheet https://landolakes.sharepoint.com.mcas.ms/:x:/r/sites/RiskMarginInsightsPhase2/_layouts/15/Doc.aspx?sourcedoc=%7B76F2B010-50D2-4D90-9036-D539038A7B1E%7D&file=MadCap%20Mapping.xlsx&action=default&mobileredirect=true\n\n\t\t\t\t\t//add record only if the status is not cancelled -- status code != 8\n\n\t\t\t\t\tif (madCapPosition.statusCode != '8') {\n\t\t\t\t\t\tif (madCapPosition.subTypeCode == '2') {\n\t\t\t\t\t\t\t// order type = “Day”\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tmadCapPosition.statusCode == '4' ||\n\t\t\t\t\t\t\t\tmadCapPosition.statusCode == '5'\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t// Status = “Filled” or “Settled”\n\t\t\t\t\t\t\t\taddtoRMEntry(pc, madCapPosition, commodity);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// Order Type <> “Day”\n\t\t\t\t\t\t\taddtoRMEntry(pc, madCapPosition, commodity);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\t// change the list to trigger rerender\n\t\t\t\tconst finanYear =\n\t\t\t\t\tparseInt(\n\t\t\t\t\t\tcalcSchema['copData']['BASIC INFO']['accountingPeriod']['year']\n\t\t\t\t\t) + 1;\n\t\t\t\tevaluateGroupSummaryForPC(\n\t\t\t\t\tpc,\n\t\t\t\t\t{\n\t\t\t\t\t\tmonth: pc.accountingPeriod.identifier,\n\t\t\t\t\t\tyear: pc.accountingPeriod.year,\n\t\t\t\t\t\tcommodity: pc.code.Commodity,\n\t\t\t\t\t\tfinancialYear: finanYear,\n\t\t\t\t\t},\n\t\t\t\t\t{ calculatedSchema: calcSchema }\n\t\t\t\t);\n\t\t\t\tpc.positionList = [...pc.positionList];\n\t\t\t\tpc.positionList = getsortedpositionList(pc.positionList);\n\t\t\t\t// console.log('After adding madcap data', pc.positionList);\n\t\t\t}\n\t\t}\n\t}\n\tlet temp = updateRMPositionvalidation(state);\n\n\treturn calcSchema;\n};\n\nconst deleteduplicateRMEntry = (\n\tpc: PositionContainer,\n\tmadCapPosition: MadCapPosition\n) => {\n\t// Delete duplicate Manual position Only if the madcap data is to be added\n\tpc.positionList = pc.positionList.filter((p: any) => {\n\t\tif (['Floor', 'Contract', 'Ceiling'].includes(p.typeCode)) {\n\t\t\tif (p.positionReferences.MadCap_Reference == madCapPosition.identifier) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t\treturn true;\n\t});\n};\n\nconst addtoRMEntry = (\n\tpc: PositionContainer,\n\tmadCapPosition: MadCapPosition,\n\tcommodity: string\n) => {\n\t{\n\t\tconst positionType = Get_ContractTypeFromSubType(\n\t\t\tmadCapPosition.subTypeCode\n\t\t);\n\n\t\tif (commodity === RM_COMMODITIES.CHEESE.SYMBOL) {\n\t\t\tmadCapPosition.administrativeFeeAmount =\n\t\t\t\tmadCapPosition.administrativeFeeAmount / 10;\n\t\t\t// madCapPosition.premiumAmount = madCapPosition.premiumAmount / 10;\n\t\t}\n\t\tlet contractAmountMultiplier = 1;\n\t\tlet secondTypeCode = '';\n\t\tif (positionType == ContractType.Collar) {\n\t\t\tif (madCapPosition.lineTypeCode == '3') {\n\t\t\t\tsecondTypeCode = ContractType.Floor;\n\t\t\t\tcontractAmountMultiplier = 1;\n\t\t\t} else if (madCapPosition.lineTypeCode == '2') {\n\t\t\t\tsecondTypeCode = ContractType.Ceiling;\n\t\t\t\tcontractAmountMultiplier = -1;\n\t\t\t}\n\t\t} else {\n\t\t\tsecondTypeCode = positionType;\n\t\t\t// removed positionType == ContractType.Ceiling from if since Quantity/Contract is positive for ceiling\n\t\t\tif (positionType == ContractType.Contract) {\n\t\t\t\tcontractAmountMultiplier = -1;\n\t\t\t}\n\t\t}\n\n\t\t//incase of collar update\n\n\t\t//madCapPosition.contractId;\n\n\t\tconst position = new PositionModel();\n\t\tposition.typeCode = positionType;\n\t\tposition.extension.typeCode = secondTypeCode;\n\n\t\tposition.volumeInOneContract = Comm_SymbolTo_Volume_Dict[pc.code.Commodity];\n\t\tposition.divisor = Comm_Divisor_Dict[pc.code.Commodity];\n\t\tposition.multiplier = Comm_Multiplier_Dict[pc.code.Commodity];\n\n\t\tposition.getPeriodSettlePrice = () => {\n\t\t\treturn pc.periodSettlePrice;\n\t\t};\n\n\t\tposition.setStrike(madCapPosition.strikePriceAmount);\n\n\t\t/// always divide by 200,000 collar should map it 20,000 when showing volume\n\n\t\tposition.setNumberOfContracts(\n\t\t\t(madCapPosition.quantity * contractAmountMultiplier) / VolumeInOneContract\n\t\t);\n\t\tposition.setAdminFee(madCapPosition.administrativeFeeAmount);\n\t\tposition.setPremium(madCapPosition.premiumAmount);\n\t\tposition.positionReferences.Position_Source = PositionSourceType.MadCap;\n\t\tposition.positionReferences.MadCap_Reference = madCapPosition.identifier;\n\t\tposition.positionReferences.Order_Status = MapStatusCodeToString(\n\t\t\tmadCapPosition.statusCode\n\t\t);\n\t\tposition.positionReferences.Position_Note = '';\n\t\tposition.positionReferences.MadCap_Ref_OID = TrimSpaceFromMadCapID(\n\t\t\tmadCapPosition.contractId\n\t\t);\n\t\tpc.positionList.push(position);\n\t\tevaluateOptionSummaryForItem(\n\t\t\tpc,\n\t\t\tposition.typeCode,\n\t\t\tposition.extension.typeCode\n\t\t);\n\n\t\t// console.log('New Found position', JSON.stringify(position));\n\t}\n};\n\n// update calculation\nconst updateCalculation = (state = initialState, action: ActionSchema) => {\n\tconst { screen, screenSchema, section, calledOn } = action.payload;\n\n\tlet ob = {};\n\tif (calledOn === 'UPDATE') {\n\t\tif (screen) {\n\t\t\tob = {\n\t\t\t\t...state.calculatedSchema,\n\t\t\t\t[section]: {\n\t\t\t\t\t...state.calculatedSchema[section],\n\t\t\t\t\t[screen]: screenSchema,\n\t\t\t\t},\n\t\t\t};\n\t\t} else {\n\t\t\tob = {\n\t\t\t\t...state.calculatedSchema,\n\t\t\t\t[section]: screenSchema,\n\t\t\t};\n\t\t}\n\t} else if (calledOn === 'INIT') {\n\t\tob = screenSchema;\n\t}\n\n\t//assiging to coa state\n\tconsole.log('About to update the calculated schema. catch me');\n\tstate = updateObject(state, {\n\t\tcalculatedSchema: ob,\n\t});\n\treturn state;\n};\n\n// reset rm\nconst resetRM = (state = initialState, action: ActionSchema) => {\n\t//assiging to coa state\n\tstate = Object.assign({}, state, {\n\t\tisDataModified: false,\n\t\tcalculatedSchema: updateRefrence(state.mappedSchema),\n\t\tloading: false,\n\t\tformError: null,\n\t\treset: true,\n\t});\n\n\tconst RM_SCHEMA = state.calculatedSchema;\n\tif (RM_SCHEMA[RM_SECTION_CODES.POSITION]) {\n\t\tRM_SCHEMA[Position_DICTIONARY] = reducePositionListInfoDictionary(\n\t\t\tRM_SCHEMA[RM_SECTION_CODES.POSITION]\n\t\t);\n\t}\n\treturn state;\n};\n\n//reset cop\nconst resetCOP = (state = initialState, action: ActionSchema) => {\n\t//assiging to coa state\n\tstate = Object.assign({}, state, {\n\t\tisDataModified: false,\n\t\tcalculatedSchema: updateRefrence(state.mappedSchema),\n\t\tloading: false,\n\t\tformError: null,\n\t\treset: false,\n\t});\n\n\treturn state;\n};\n\nconst groupOperationForecast = (\n\tdata: GenericSchema,\n\tisExisting: boolean,\n\tcopYear: string,\n\tcopMonth: string\n) => {\n\tlet groupedData = {};\n\tlet months: Array = [];\n\tlet quarters: Array = [];\n\tlet year: Array = [];\n\tif (isExisting) {\n\t\tmonths = data.filter((item: GenericSchema) => {\n\t\t\treturn !!item['extension']['accountingPeriod'][0]['identifier'];\n\t\t});\n\t\tquarters = data.filter((item: GenericSchema) => {\n\t\t\treturn (\n\t\t\t\t!item['extension']['accountingPeriod'][0]['identifier'] &&\n\t\t\t\t!!item['extension']['accountingPeriod'][0]['periodIdentifier']\n\t\t\t);\n\t\t});\n\t\tyear = data.filter((item: GenericSchema) => {\n\t\t\treturn (\n\t\t\t\t!item['extension']['accountingPeriod'][0]['identifier'] &&\n\t\t\t\t!item['extension']['accountingPeriod'][0]['periodIdentifier']\n\t\t\t);\n\t\t});\n\n\t\tif (\n\t\t\tmonths[0]['extension']['accountingPeriod'][0]['identifier'] !== copMonth\n\t\t) {\n\t\t\tconst janIndex = months.findIndex((item: GenericSchema) => {\n\t\t\t\treturn (\n\t\t\t\t\titem['extension']['accountingPeriod'][0]['identifier'] ===\n\t\t\t\t\tFULL_MONTHS[0]\n\t\t\t\t);\n\t\t\t});\n\t\t\tconst monthsToShift = months.splice(janIndex, months.length - 1);\n\t\t\tmonths.unshift(...monthsToShift);\n\t\t\tfor (let i = 0; i < 12; i++) {\n\t\t\t\tmonths[i]['extension']['accountingPeriod'][0]['year'] =\n\t\t\t\t\tcopMonth === FULL_MONTHS[0] ? String(Number(copYear) + 1) : copYear;\n\t\t\t}\n\t\t}\n\t} else {\n\t\tconst currentYear: string =\n\t\t\tcopMonth === FULL_MONTHS[0] ? String(Number(copYear) + 1) : copYear;\n\t\tconst monthNames = FULL_MONTHS;\n\n\t\tfor (let i = 1; i <= 12; i++) {\n\t\t\tconst month = {\n\t\t\t\ttypeCode: RM_SECTION_CODES.OPERATION_FORECAST,\n\t\t\t\textension: {\n\t\t\t\t\tcode: [\n\t\t\t\t\t\t{ content: '', typeCode: 'Quote Type' },\n\t\t\t\t\t\t{ content: '', typeCode: 'Commodity' },\n\t\t\t\t\t],\n\t\t\t\t\tdistribution: [\n\t\t\t\t\t\tnew PeriodSummaryForForecast('', '', 0, 'CoA Account', ''),\n\t\t\t\t\t],\n\t\t\t\t\taccountingPeriod: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tidentifier: monthNames[i - 1],\n\t\t\t\t\t\t\tperiodIdentifier: String(Math.ceil(i / 3)),\n\t\t\t\t\t\t\tyear: currentYear,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t};\n\t\t\tmonths.push(month);\n\t\t}\n\n\t\tfor (let i = 1; i <= 4; i++) {\n\t\t\tconst quarter = {\n\t\t\t\ttypeCode: RM_SECTION_CODES.OPERATION_FORECAST,\n\t\t\t\textension: {\n\t\t\t\t\tcode: [\n\t\t\t\t\t\t{ content: '', typeCode: 'Quote Type' },\n\t\t\t\t\t\t{ content: '', typeCode: 'Commodity' },\n\t\t\t\t\t],\n\t\t\t\t\tdistribution: [\n\t\t\t\t\t\tnew PeriodSummaryForForecast('', '', 0, 'CoA Account', ''),\n\t\t\t\t\t],\n\t\t\t\t\taccountingPeriod: [\n\t\t\t\t\t\t{ identifier: '', periodIdentifier: String(i), year: currentYear },\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t};\n\t\t\tquarters.push(quarter);\n\t\t}\n\n\t\tyear = [\n\t\t\t{\n\t\t\t\ttypeCode: RM_SECTION_CODES.OPERATION_FORECAST,\n\t\t\t\textension: {\n\t\t\t\t\tcode: [\n\t\t\t\t\t\t{ content: '', typeCode: 'Quote Type' },\n\t\t\t\t\t\t{ content: '', typeCode: 'Commodity' },\n\t\t\t\t\t],\n\t\t\t\t\tdistribution: [\n\t\t\t\t\t\tnew PeriodSummaryForForecast('', '', 0, 'CoA Account', ''),\n\t\t\t\t\t],\n\t\t\t\t\taccountingPeriod: [\n\t\t\t\t\t\t{ identifier: '', periodIdentifier: '', year: currentYear },\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t];\n\t}\n\n\tgroupedData = {\n\t\t[RM_OPERATING_FORECAST_SECTION_CODES.MONTHS]: months,\n\t\t[RM_OPERATING_FORECAST_SECTION_CODES.QUARTERS]: quarters,\n\t\t[RM_OPERATING_FORECAST_SECTION_CODES.YEAR]: year,\n\t};\n\treturn groupedData;\n};\n\nconst mapCOPForecast = (\n\tincomeData: GenericSchema,\n\texpenseData: GenericSchema,\n\tcopYear: string\n) => {\n\tconst data = incomeData.concat(expenseData);\n\tlet distributionArray = [];\n\tdistributionArray.push(\n\t\tnew PeriodSummaryForForecast(\n\t\t\t'',\n\t\t\t'',\n\t\t\t0,\n\t\t\t'CoA Account',\n\t\t\t'91',\n\t\t\t'Allocation Type',\n\t\t\t''\n\t\t)\n\t);\n\tdistributionArray.push(\n\t\tnew PeriodSummaryForForecast(\n\t\t\t'',\n\t\t\t'',\n\t\t\t0,\n\t\t\t'CoA Account',\n\t\t\t'92',\n\t\t\t'Allocation Type',\n\t\t\t''\n\t\t)\n\t);\n\tdistributionArray.push(\n\t\tnew PeriodSummaryForForecast(\n\t\t\t'',\n\t\t\t'',\n\t\t\t0,\n\t\t\t'CoA Account',\n\t\t\t'93',\n\t\t\t'Allocation Type',\n\t\t\t''\n\t\t)\n\t);\n\tfor (let i = 0; i < data.length; i++) {\n\t\tlet dist = new PeriodSummaryForForecast(\n\t\t\t'',\n\t\t\t'',\n\t\t\t0,\n\t\t\t'CoA Account',\n\t\t\tdata[i].identifier,\n\t\t\tdata[i].extension.code[1].typeCode,\n\t\t\tdata[i].extension.code[1].content,\n\t\t\tdata[i].extension.code.find((ob: GenericSchema) => {\n\t\t\t\treturn ob.typeCode === COA_TYPECODES.DEFAULT_PERCENT;\n\t\t\t})?.content\n\t\t);\n\t\tdistributionArray.push(dist);\n\t}\n\n\treturn [\n\t\t{\n\t\t\ttypeCode: RM_SECTION_CODES.COP_FORECAST,\n\t\t\textension: {\n\t\t\t\tcode: [\n\t\t\t\t\t{ content: '', typeCode: 'Quote Type' },\n\t\t\t\t\t{ content: '', typeCode: 'Commodity' },\n\t\t\t\t],\n\t\t\t\tdistribution: distributionArray,\n\t\t\t\taccountingPeriod: [\n\t\t\t\t\t{\n\t\t\t\t\t\tidentifier: '',\n\t\t\t\t\t\tperiodIdentifier: '',\n\t\t\t\t\t\tyear: String(Number(copYear) + 1),\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t];\n};\n\nconst createPositionDistributionArray = () => {\n\tconst distributionList = [\n\t\tnew PositionSummary(RM_TYPECODES.SUMMARY, COMMODITY_SUMMARY.HEDGE_YIELD, 1),\n\t\tnew PositionSummary(RM_TYPECODES.SUMMARY, COMMODITY_SUMMARY.CASH_YIELD, 2),\n\t\tnew PositionSummary(\n\t\t\tRM_TYPECODES.SUMMARY,\n\t\t\tCOMMODITY_SUMMARY.NET_EXPOSURE,\n\t\t\t3\n\t\t),\n\t\tnew PositionSummary(\n\t\t\tRM_TYPECODES.SUMMARY,\n\t\t\tCOMMODITY_SUMMARY.CL3_BREAKEVEN,\n\t\t\t4\n\t\t),\n\t\tnew PositionSummary(\n\t\t\tRM_TYPECODES.SUMMARY,\n\t\t\tCOMMODITY_SUMMARY.CONTRACT_SETTLE,\n\t\t\t5\n\t\t),\n\t\tnew PositionSummary(\n\t\t\tRM_TYPECODES.SUMMARY,\n\t\t\tCOMMODITY_SUMMARY.CL3_MILK_REVENUE,\n\t\t\t6\n\t\t),\n\t\tnew PositionSummary(RM_TYPECODES.SUMMARY, COMMODITY_SUMMARY.NET_MARIGIN, 7),\n\t];\n\treturn distributionList;\n};\n\nconst createDRPClassDistributionArray = () => {\n\tconst distributionList = [\n\t\tnew DRP(RM_TYPECODES.CME_PRICE, RM_TYPECODES.CLASS3_PRICE, 1),\n\t\tnew DRP(RM_TYPECODES.CME_PRICE, RM_TYPECODES.CLASS4_PRICE, 2),\n\t\t// removing as inputs are no longer used with new drp clas\n\t\t// new DRP(RM_TYPECODES.INPUTS, RM_TYPECODES.DECLARED_PRODUCTION_QTR, 3),\n\t\t// new DRP(RM_TYPECODES.INPUTS, RM_TYPECODES.DECLARED_PRODUCTION_MO, 4),\n\t\t// new DRP(RM_TYPECODES.INPUTS, RM_TYPECODES.FLOOR_PRICE_CLASS3, 5),\n\t\t// new DRP(RM_TYPECODES.INPUTS, RM_TYPECODES.FLOOR_PRICE_CLASS4, 6),\n\t\t// new DRP(RM_TYPECODES.INPUTS, RM_TYPECODES.PERCENT_MILK_COV, 7),\n\t\t// new DRP(RM_TYPECODES.INPUTS, RM_TYPECODES.CLASS3_WEIGHT_FACTOR, 8),\n\t\t// new DRP(RM_TYPECODES.INPUTS, RM_TYPECODES.CLASS4_WEIGHT_FACTOR, 9),\n\t\t// new DRP(RM_TYPECODES.INPUTS, RM_TYPECODES.PROTECTION_FACTOR_QTR, 10),\n\t\t// new DRP(RM_TYPECODES.INPUTS, RM_TYPECODES.PREM_PAID, 11),\n\t\tnew DRP(\n\t\t\tRM_TYPECODES.EXPECTED_OUTPUTS,\n\t\t\tRM_TYPECODES.EXPECTED_REVENUE_GUARANTEE_POSITION,\n\t\t\t12\n\t\t),\n\t\tnew DRP(\n\t\t\tRM_TYPECODES.EXPECTED_OUTPUTS,\n\t\t\tRM_TYPECODES.BEGINNING_PROFITABLE_LEVEL,\n\t\t\t13\n\t\t),\n\t\tnew DRP(\n\t\t\tRM_TYPECODES.EXPECTED_OUTPUTS,\n\t\t\tRM_TYPECODES.MARKET_PRICE_WEIGHT,\n\t\t\t14\n\t\t),\n\t\tnew DRP(RM_TYPECODES.EXPECTED_OUTPUTS, RM_TYPECODES.MTM, 15),\n\t\tnew DRP(RM_TYPECODES.EXPECTED_OUTPUTS, RM_TYPECODES.MTM_MO, 16),\n\t\tnew DRP(RM_TYPECODES.EXPECTED_OUTPUTS, RM_TYPECODES.MTM_QTR, 17),\n\t\tnew DRP(\n\t\t\tRM_TYPECODES.ACTUAL_OUTPUTS,\n\t\t\tRM_TYPECODES.YIELD_ADJ_FACTOR_RATIO,\n\t\t\t18\n\t\t),\n\t\tnew DRP(RM_TYPECODES.ACTUAL_OUTPUTS, RM_TYPECODES.PROBABLE_INDEMNITY, 19),\n\t\tnew DRP(RM_TYPECODES.ACTUAL_OUTPUTS, RM_TYPECODES.MTM_ADJ, 20),\n\t];\n\n\treturn distributionList;\n};\n\nconst createDRPCompDistributionArray = () => {\n\tlet distributionArray = [];\n\tdistributionArray.push(\n\t\tnew PeriodSummary(\n\t\t\tRM_TYPECODES.ACTUAL_FORECASTED_PRICES,\n\t\t\tRM_TYPECODES.BUTTERFAT_$_CWT,\n\t\t\t0\n\t\t)\n\t);\n\tdistributionArray.push(\n\t\tnew PeriodSummary(\n\t\t\tRM_TYPECODES.ACTUAL_FORECASTED_PRICES,\n\t\t\tRM_TYPECODES.PROTEIN_$_CWT,\n\t\t\t0\n\t\t)\n\t);\n\tdistributionArray.push(\n\t\tnew PeriodSummary(\n\t\t\tRM_TYPECODES.ACTUAL_FORECASTED_PRICES,\n\t\t\tRM_TYPECODES.NON_FAT_SOLIDS_$_LBS,\n\t\t\t0\n\t\t)\n\t);\n\tdistributionArray.push(\n\t\tnew PeriodSummary(\n\t\t\tRM_TYPECODES.ACTUAL_FORECASTED_PRICES,\n\t\t\tRM_TYPECODES.OTHER_SOLIDS_$_CWT,\n\t\t\t0\n\t\t)\n\t);\n\tdistributionArray.push(\n\t\tnew PeriodSummary(\n\t\t\tRM_TYPECODES.DECLARED_TESTS,\n\t\t\tRM_TYPECODES.BUTTERFAT_LBS_CWT,\n\t\t\t0\n\t\t)\n\t);\n\tdistributionArray.push(\n\t\tnew PeriodSummary(\n\t\t\tRM_TYPECODES.DECLARED_TESTS,\n\t\t\tRM_TYPECODES.PROTEIN_LBS_CWT,\n\t\t\t0\n\t\t)\n\t);\n\tdistributionArray.push(\n\t\tnew PeriodSummary(\n\t\t\tRM_TYPECODES.DECLARED_TESTS,\n\t\t\tRM_TYPECODES.NON_FAT_SOLIDS_$_LBS,\n\t\t\t0\n\t\t)\n\t);\n\tdistributionArray.push(\n\t\tnew PeriodSummary(\n\t\t\tRM_TYPECODES.DECLARED_TESTS,\n\t\t\tRM_TYPECODES.OTHER_SOLIDS_FIXED_LBS_CWT,\n\t\t\t0\n\t\t)\n\t);\n\tdistributionArray.push(\n\t\tnew PeriodSummary(RM_TYPECODES.INPUTS, RM_TYPECODES.DECLARED_PROD_QTR, 0)\n\t);\n\tdistributionArray.push(\n\t\tnew PeriodSummary(RM_TYPECODES.INPUTS, RM_TYPECODES.DECLARED_PROD_MONTH, 0)\n\t);\n\tdistributionArray.push(\n\t\tnew PeriodSummary(RM_TYPECODES.INPUTS, RM_TYPECODES.BUTTERFAT_QUOTE, 0)\n\t);\n\tdistributionArray.push(\n\t\tnew PeriodSummary(RM_TYPECODES.INPUTS, RM_TYPECODES.PROTEIN_QUOTE, 0)\n\t);\n\tdistributionArray.push(\n\t\tnew PeriodSummary(RM_TYPECODES.INPUTS, RM_TYPECODES.OTHER_SOLIDS_QUOTE, 0)\n\t);\n\tdistributionArray.push(\n\t\tnew PeriodSummary(RM_TYPECODES.INPUTS, RM_TYPECODES.NON_FAT_SOLIDS_QUOTE, 0)\n\t);\n\tdistributionArray.push(\n\t\tnew PeriodSummary(\n\t\t\tRM_TYPECODES.INPUTS,\n\t\t\tRM_TYPECODES.COMPONENT_WEIGHTING_FACTOR,\n\t\t\t0\n\t\t)\n\t);\n\tdistributionArray.push(\n\t\tnew PeriodSummary(\n\t\t\tRM_TYPECODES.INPUTS,\n\t\t\tRM_TYPECODES.NON_FAT_BUTTERFAT_WEIGHTING_FACTOR,\n\t\t\t0\n\t\t)\n\t);\n\tdistributionArray.push(\n\t\tnew PeriodSummary(RM_TYPECODES.INPUTS, RM_TYPECODES.TOTAL_PRICE, 0)\n\t);\n\tdistributionArray.push(\n\t\tnew PeriodSummary(RM_TYPECODES.INPUTS, RM_TYPECODES.PERCENT_MILK_COVERED, 0)\n\t);\n\tdistributionArray.push(\n\t\tnew PeriodSummary(\n\t\t\tRM_TYPECODES.INPUTS,\n\t\t\tRM_TYPECODES.PROTECTION_FACTOR_QTR,\n\t\t\t0\n\t\t)\n\t);\n\tdistributionArray.push(\n\t\tnew PeriodSummary(RM_TYPECODES.INPUTS, RM_TYPECODES.PREMIUM_PAID, 0)\n\t);\n\tdistributionArray.push(\n\t\tnew PeriodSummary(\n\t\t\tRM_TYPECODES.EXPECTED_OUTPUTS,\n\t\t\tRM_TYPECODES.EXPECTED_REVENUE_GUARANTEE,\n\t\t\t0\n\t\t)\n\t);\n\tdistributionArray.push(\n\t\tnew PeriodSummary(\n\t\t\tRM_TYPECODES.EXPECTED_OUTPUTS,\n\t\t\tRM_TYPECODES.BEGIN_PROFITABLE_LEVEL,\n\t\t\t0\n\t\t)\n\t);\n\tdistributionArray.push(\n\t\tnew PeriodSummary(\n\t\t\tRM_TYPECODES.EXPECTED_OUTPUTS,\n\t\t\tRM_TYPECODES.MARKET_PRICE_WEIGHTED,\n\t\t\t0\n\t\t)\n\t);\n\tdistributionArray.push(\n\t\tnew PeriodSummary(\n\t\t\tRM_TYPECODES.EXPECTED_OUTPUTS,\n\t\t\tRM_TYPECODES.MTM_PER_CWT,\n\t\t\t0\n\t\t)\n\t);\n\tdistributionArray.push(\n\t\tnew PeriodSummary(\n\t\t\tRM_TYPECODES.EXPECTED_OUTPUTS,\n\t\t\tRM_TYPECODES.MTM_PER_MONTH,\n\t\t\t0\n\t\t)\n\t);\n\tdistributionArray.push(\n\t\tnew PeriodSummary(\n\t\t\tRM_TYPECODES.EXPECTED_OUTPUTS,\n\t\t\tRM_TYPECODES.MTM_PER_QTR,\n\t\t\t0\n\t\t)\n\t);\n\tdistributionArray.push(\n\t\tnew PeriodSummary(RM_TYPECODES.ACTUAL_OUTPUTS, RM_TYPECODES.YF_RATIO, 0)\n\t);\n\tdistributionArray.push(\n\t\tnew PeriodSummary(\n\t\t\tRM_TYPECODES.ACTUAL_OUTPUTS,\n\t\t\tRM_TYPECODES.PROBABLE_INDEMNITY,\n\t\t\t0\n\t\t)\n\t);\n\tdistributionArray.push(\n\t\tnew PeriodSummary(\n\t\t\tRM_TYPECODES.ACTUAL_OUTPUTS,\n\t\t\tRM_TYPECODES.MTM_YF_ADJUSTMENTS,\n\t\t\t0\n\t\t)\n\t);\n\treturn distributionArray;\n};\n\nconst createDRPCompData = (\n\tcopMonth: string,\n\tcopYear: number,\n\tprevYearJournalEntryLine: GenericSchema\n) => {\n\tlet drpArray = [];\n\tlet distributionArray = createDRPCompDistributionArray();\n\n\tlet quarterStart = Math.ceil((FULL_MONTHS.indexOf(copMonth) + 1) / 3);\n\tlet currentQuarter = Math.ceil((new Date().getMonth() + 1) / 3);\n\n\tlet i = quarterStart;\n\tlet year = new Date().getFullYear();\n\tif (FULL_MONTHS.indexOf(copMonth) === 0) {\n\t\tcopYear++;\n\t}\n\tfor (copYear; copYear < year; ) {\n\t\tconst priorYearDrpCompData = getPriorYearDRPData(\n\t\t\tprevYearJournalEntryLine,\n\t\t\tString(i),\n\t\t\tString(copYear),\n\t\t\tRM_SECTION_CODES.DRP_COMP\n\t\t);\n\t\tif (!_.isEmpty(priorYearDrpCompData)) {\n\t\t\tdrpArray.push(priorYearDrpCompData);\n\t\t} else {\n\t\t\tdrpArray.push({\n\t\t\t\ttypeCode: RM_SECTION_CODES.DRP_COMP,\n\t\t\t\textension: {\n\t\t\t\t\tcode: [\n\t\t\t\t\t\t{ content: '', typeCode: 'Quote Type' },\n\t\t\t\t\t\t{ content: '', typeCode: 'Commodity' },\n\t\t\t\t\t],\n\t\t\t\t\tdistribution: JSON.parse(JSON.stringify(distributionArray)),\n\t\t\t\t\taccountingPeriod: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tidentifier: '',\n\t\t\t\t\t\t\tperiodIdentifier: String(i),\n\t\t\t\t\t\t\tyear: String(copYear),\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\t\tif (i === 4) {\n\t\t\ti = 1;\n\t\t\tcopYear++;\n\t\t} else {\n\t\t\ti++;\n\t\t}\n\t}\n\n\tif (copYear === year && i <= currentQuarter) {\n\t\tfor (i; i <= currentQuarter; i++) {\n\t\t\tconst priorYearDrpCompData = getPriorYearDRPData(\n\t\t\t\tprevYearJournalEntryLine,\n\t\t\t\tString(i),\n\t\t\t\tString(copYear),\n\t\t\t\tRM_SECTION_CODES.DRP_COMP\n\t\t\t);\n\t\t\tif (!_.isEmpty(priorYearDrpCompData)) {\n\t\t\t\tdrpArray.push(priorYearDrpCompData);\n\t\t\t} else {\n\t\t\t\tdrpArray.push({\n\t\t\t\t\ttypeCode: RM_SECTION_CODES.DRP_COMP,\n\t\t\t\t\textension: {\n\t\t\t\t\t\tcode: [\n\t\t\t\t\t\t\t{ content: '', typeCode: 'Quote Type' },\n\t\t\t\t\t\t\t{ content: '', typeCode: 'Commodity' },\n\t\t\t\t\t\t],\n\t\t\t\t\t\tdistribution: JSON.parse(JSON.stringify(distributionArray)),\n\t\t\t\t\t\taccountingPeriod: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tidentifier: '',\n\t\t\t\t\t\t\t\tperiodIdentifier: String(i),\n\t\t\t\t\t\t\t\tyear: String(year),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t} else if (copYear > year) {\n\t\tyear = copYear;\n\t}\n\n\tif (i === 5) {\n\t\ti = 1;\n\t\tyear++;\n\t}\n\n\tfor (let j = 0; j < 5; j++) {\n\t\tconst priorYearDrpCompData = getPriorYearDRPData(\n\t\t\tprevYearJournalEntryLine,\n\t\t\tString(i),\n\t\t\tString(year),\n\t\t\tRM_SECTION_CODES.DRP_COMP\n\t\t);\n\t\tif (!_.isEmpty(priorYearDrpCompData)) {\n\t\t\tdrpArray.push(priorYearDrpCompData);\n\t\t} else {\n\t\t\tdrpArray.push({\n\t\t\t\ttypeCode: RM_SECTION_CODES.DRP_COMP,\n\t\t\t\textension: {\n\t\t\t\t\tcode: [\n\t\t\t\t\t\t{ content: '', typeCode: 'Quote Type' },\n\t\t\t\t\t\t{ content: '', typeCode: 'Commodity' },\n\t\t\t\t\t],\n\t\t\t\t\tdistribution: JSON.parse(JSON.stringify(distributionArray)),\n\t\t\t\t\taccountingPeriod: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tidentifier: '',\n\t\t\t\t\t\t\tperiodIdentifier: String(i),\n\t\t\t\t\t\t\tyear: String(year),\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\t\tif (i === 4) {\n\t\t\ti = 1;\n\t\t\tyear++;\n\t\t} else {\n\t\t\ti++;\n\t\t}\n\t}\n\n\treturn drpArray;\n};\n\n//filter schema according to commodity\nconst filterPosition = (data: GenericSchema, commodity: string) => {\n\treturn data.filter((item: GenericSchema) => {\n\t\tconst propertyIndex = getPropertyIndex(\n\t\t\titem?.extension.code,\n\t\t\tRM_TYPECODES.COMMODITY\n\t\t);\n\t\treturn item?.extension.code[propertyIndex].content === getSymbol(commodity);\n\t});\n};\n\nconst restructurePositionsData = (\n\tdata: GenericSchema,\n\tcopMonth: string,\n\tcopYear: number,\n\tprevYearJournalEntryLine: GenericSchema\n) => {\n\tlet restructedData: GenericSchema = [];\n\n\tlet startingYear = Number(copYear);\n\tif (FULL_MONTHS.indexOf(copMonth) === 0) {\n\t\tstartingYear = startingYear + 1;\n\t}\n\n\tconst startDate = new Date(`${copMonth} ${startingYear}`);\n\tconst numNextMonths = NUM_OF_CARDS;\n\n\t// for Class 3/ Class 4 / Cheese\n\tObject.keys(RM_COMMODITIES).forEach((key: string, i: number) => {\n\t\tconst commodityData = filterPosition(data, key);\n\t\tconst restructedDataForEachCommodity = [];\n\t\tif (\n\t\t\tkey === RM_COMMODITIES.CLASS3.COMMODITY ||\n\t\t\tkey === RM_COMMODITIES.CLASS4.COMMODITY ||\n\t\t\tkey === RM_COMMODITIES.CHEESE.COMMODITY\n\t\t) {\n\t\t\tconst commodity = parseJSON(stringifyJSON(RM_COMMODITIES))[key]['SYMBOL'];\n\n\t\t\tfor (let i = 0; i < numNextMonths; i++) {\n\t\t\t\tconst date = addMonths(new Date(startDate), i);\n\t\t\t\tconst month = FULL_MONTHS[date.getMonth()];\n\t\t\t\tconst year = date.getFullYear().toString();\n\t\t\t\tconst quarter = Math.ceil((Number(month) + 1) / 3).toString();\n\n\t\t\t\tconst currentYearPosition = getAlreadyExistedData(\n\t\t\t\t\tcommodityData,\n\t\t\t\t\tmonth,\n\t\t\t\t\tyear\n\t\t\t\t);\n\n\t\t\t\tif (!_.isEmpty(currentYearPosition)) {\n\t\t\t\t\trestructedDataForEachCommodity.push(currentYearPosition);\n\t\t\t\t} else {\n\t\t\t\t\tconst priorYearPosition = getPriorYearPosition(\n\t\t\t\t\t\tprevYearJournalEntryLine,\n\t\t\t\t\t\tkey,\n\t\t\t\t\t\tmonth,\n\t\t\t\t\t\tyear\n\t\t\t\t\t);\n\t\t\t\t\tif (!_.isEmpty(priorYearPosition)) {\n\t\t\t\t\t\trestructedDataForEachCommodity.push(priorYearPosition);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst position = {\n\t\t\t\t\t\t\ttypeCode: RM_TYPECODES.POSITION,\n\t\t\t\t\t\t\textension: {\n\t\t\t\t\t\t\t\tcode: [\n\t\t\t\t\t\t\t\t\t{ content: '', typeCode: 'Quote Type' },\n\t\t\t\t\t\t\t\t\t{ content: commodity, typeCode: 'Commodity' },\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\tdistribution: cloneDeep(createPositionDistributionArray()),\n\t\t\t\t\t\t\t\taccountingPeriod: [\n\t\t\t\t\t\t\t\t\t{ identifier: month, periodIdentifier: quarter, year: year },\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t};\n\t\t\t\t\t\trestructedDataForEachCommodity.push(position);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (restructedDataForEachCommodity.length) {\n\t\t\trestructedData.push(...restructedDataForEachCommodity);\n\t\t} else {\n\t\t\trestructedData.push(...commodityData);\n\t\t}\n\t});\n\n\treturn restructedData;\n};\n\n// to get already saved data\nconst getAlreadyExistedData = (\n\tdata: GenericSchema,\n\tmonth: string,\n\tyear: string\n) => {\n\tlet obj = {};\n\t(data || []).forEach((item: GenericSchema) => {\n\t\tif (\n\t\t\titem?.extension?.accountingPeriod[0]?.identifier === month &&\n\t\t\titem?.extension?.accountingPeriod[0]?.year === year\n\t\t) {\n\t\t\tobj = item;\n\t\t}\n\t});\n\treturn obj;\n};\n\nconst restructureDMCData = (\n\tdata: GenericSchema,\n\tcopMonth: string,\n\tcopYear: number\n) => {\n\tlet startingYear = Number(copYear);\n\n\tif (FULL_MONTHS.indexOf(copMonth) === 0) {\n\t\tstartingYear = startingYear + 1;\n\t}\n\tconst startDate = new Date(`${copMonth} ${startingYear}`);\n\tlet dmcData: GenericSchema = [];\n\tfor (let monthInc = 0; monthInc < 12; monthInc++) {\n\t\tconst date = addMonths(new Date(startDate), monthInc);\n\t\tconst year = date.getFullYear().toString();\n\t\tconst month = FULL_MONTHS[date.getMonth()];\n\t\tconst quarter = Math.ceil((date.getMonth() + 1) / 3).toString();\n\n\t\tconst alreadyExistedData = getAlreadyExistedData(data, month, year);\n\t\tlet dmc = {};\n\t\tif (!_.isEmpty(alreadyExistedData)) {\n\t\t\tdmc = alreadyExistedData;\n\t\t} else {\n\t\t\tdmc = {\n\t\t\t\ttypeCode: RM_TYPECODES.DMC,\n\t\t\t\textension: {\n\t\t\t\t\tcode: [\n\t\t\t\t\t\t{ content: '', typeCode: 'Quote Type' },\n\t\t\t\t\t\t{ content: '', typeCode: 'Commodity' },\n\t\t\t\t\t],\n\t\t\t\t\tdistribution: [\n\t\t\t\t\t\tnew DMC(RM_TYPECODES.CORN, 1),\n\t\t\t\t\t\tnew DMC(RM_TYPECODES.SBM, 2),\n\t\t\t\t\t\tnew DMC(RM_TYPECODES.ALFALFA, 3),\n\t\t\t\t\t\tnew DMC(RM_TYPECODES.PROJECTED_FEED_TOTAL, 4),\n\t\t\t\t\t\tnew DMC(RM_TYPECODES.ACTUAL_FEED_TOTAL, 5),\n\t\t\t\t\t\tnew DMC(RM_TYPECODES.ALL_MILK, 6),\n\t\t\t\t\t\tnew DMC(RM_TYPECODES.MARGIN_OVER_FEED, 7),\n\t\t\t\t\t\tnew DMC(RM_TYPECODES.DMC_IDEMNITY, 8),\n\t\t\t\t\t\tnew DMC(RM_TYPECODES.INDEMNITY_PAYMENT, 9),\n\t\t\t\t\t\tnew DMC(RM_TYPECODES.NET_PAYMENT, 10),\n\t\t\t\t\t\tnew DMC(RM_TYPECODES.CUMMULATIVE_TOTAL_RETURN, 11),\n\t\t\t\t\t],\n\t\t\t\t\taccountingPeriod: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tidentifier: month,\n\t\t\t\t\t\t\tperiodIdentifier: quarter,\n\t\t\t\t\t\t\tyear: year,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\t\tdmcData.push(dmc);\n\t}\n\treturn dmcData;\n};\n\nconst restructureDRPClassData = (\n\tdata: GenericSchema,\n\tcopMonth: string,\n\tcopYear: string,\n\tprevYearJournalEntryLine: GenericSchema\n) => {\n\tlet quarterStart = Math.ceil((FULL_MONTHS.indexOf(copMonth) + 1) / 3);\n\tconst oldQuarterStart = Number(\n\t\tdata[0]['extension']['accountingPeriod'][0]['periodIdentifier']\n\t);\n\n\tlet distributionArray = createDRPClassDistributionArray();\n\tif (copMonth === FULL_MONTHS[0]) {\n\t\tdata = data.filter((ob: GenericSchema) => {\n\t\t\treturn ob['extension']['accountingPeriod'][0]['year'] !== copYear;\n\t\t});\n\t} else if (oldQuarterStart > quarterStart) {\n\t\tfor (let i = 0; i < oldQuarterStart - quarterStart; i++) {\n\t\t\tconst quater = oldQuarterStart - 1 - i;\n\t\t\tconst priorYearDrpClassData = getPriorYearDRPData(\n\t\t\t\tprevYearJournalEntryLine,\n\t\t\t\tString(quater),\n\t\t\t\tdata[0]['extension']['accountingPeriod'][0]['year'],\n\t\t\t\tRM_SECTION_CODES.DRP\n\t\t\t);\n\t\t\tlet drpQuarter = {};\n\t\t\tif (!_.isEmpty(priorYearDrpClassData)) {\n\t\t\t\tdrpQuarter = priorYearDrpClassData;\n\t\t\t} else {\n\t\t\t\tdrpQuarter = {\n\t\t\t\t\ttypeCode: RM_SECTION_CODES.DRP,\n\t\t\t\t\textension: {\n\t\t\t\t\t\tcode: [\n\t\t\t\t\t\t\t{ content: '', typeCode: 'Quote Type' },\n\t\t\t\t\t\t\t{ content: '', typeCode: 'Commodity' },\n\t\t\t\t\t\t],\n\t\t\t\t\t\tdistribution: cloneDeep(distributionArray),\n\t\t\t\t\t\taccountingPeriod: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tidentifier: '',\n\t\t\t\t\t\t\t\tperiodIdentifier: String(quater),\n\t\t\t\t\t\t\t\tyear: data[0]['extension']['accountingPeriod'][0]['year'],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\t\t\tdata.unshift(drpQuarter);\n\t\t}\n\t} else if (oldQuarterStart < quarterStart) {\n\t\tdata.splice(0, quarterStart - oldQuarterStart);\n\t}\n\n\tif (data.length < 10) {\n\t\tlet quarter = Number(\n\t\t\tdata[data.length - 1]['extension']['accountingPeriod'][0][\n\t\t\t\t'periodIdentifier'\n\t\t\t]\n\t\t);\n\t\tlet year = Number(\n\t\t\tdata[data.length - 1]['extension']['accountingPeriod'][0]['year']\n\t\t);\n\t\tconst length = 10 - data.length;\n\t\tfor (let i = 0; i < length; i++) {\n\t\t\tif (quarter === 4) {\n\t\t\t\tquarter = 0;\n\t\t\t\tyear++;\n\t\t\t}\n\t\t\tquarter++;\n\n\t\t\tdata.push({\n\t\t\t\ttypeCode: RM_SECTION_CODES.DRP,\n\t\t\t\textension: {\n\t\t\t\t\tcode: [\n\t\t\t\t\t\t{ content: '', typeCode: 'Quote Type' },\n\t\t\t\t\t\t{ content: '', typeCode: 'Commodity' },\n\t\t\t\t\t],\n\t\t\t\t\tdistribution: cloneDeep(distributionArray),\n\t\t\t\t\taccountingPeriod: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tidentifier: '',\n\t\t\t\t\t\t\tperiodIdentifier: String(quarter),\n\t\t\t\t\t\t\tyear: String(year),\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\t} else if (data.length > 10) {\n\t\twhile (data.length > 10) {\n\t\t\tdata.pop();\n\t\t}\n\t}\n\treturn data;\n};\n\nconst restructureDRPCompData = (\n\tdata: GenericSchema,\n\tcopMonth: string,\n\tcopYear: string,\n\tprevYearJournalEntryLine: GenericSchema\n) => {\n\tlet quarterStart = Math.ceil((FULL_MONTHS.indexOf(copMonth) + 1) / 3);\n\tconst oldQuarterStart = Number(\n\t\tdata[0]['extension']['accountingPeriod'][0]['periodIdentifier']\n\t);\n\n\tlet distributionArray = createDRPCompDistributionArray();\n\tif (copMonth === FULL_MONTHS[0]) {\n\t\tdata = data.filter((ob: GenericSchema) => {\n\t\t\treturn ob['extension']['accountingPeriod'][0]['year'] !== copYear;\n\t\t});\n\t} else if (oldQuarterStart > quarterStart) {\n\t\tfor (let i = 0; i < oldQuarterStart - quarterStart; i++) {\n\t\t\tconst quater = oldQuarterStart - 1 - i;\n\t\t\tconst priorYearDrpCompData = getPriorYearDRPData(\n\t\t\t\tprevYearJournalEntryLine,\n\t\t\t\tString(quater),\n\t\t\t\tdata[0]['extension']['accountingPeriod'][0]['year'],\n\t\t\t\tRM_SECTION_CODES.DRP_COMP\n\t\t\t);\n\t\t\tlet drpQuarter = {};\n\t\t\tif (!_.isEmpty(priorYearDrpCompData)) {\n\t\t\t\tdrpQuarter = priorYearDrpCompData;\n\t\t\t} else {\n\t\t\t\tdrpQuarter = {\n\t\t\t\t\ttypeCode: RM_SECTION_CODES.DRP_COMP,\n\t\t\t\t\textension: {\n\t\t\t\t\t\tcode: [\n\t\t\t\t\t\t\t{ content: '', typeCode: 'Quote Type' },\n\t\t\t\t\t\t\t{ content: '', typeCode: 'Commodity' },\n\t\t\t\t\t\t],\n\t\t\t\t\t\tdistribution: JSON.parse(JSON.stringify(distributionArray)),\n\t\t\t\t\t\taccountingPeriod: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tidentifier: '',\n\t\t\t\t\t\t\t\tperiodIdentifier: String(quater),\n\t\t\t\t\t\t\t\tyear: data[0]['extension']['accountingPeriod'][0]['year'],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\t\t\tdata.unshift(drpQuarter);\n\t\t}\n\t} else if (oldQuarterStart < quarterStart) {\n\t\tdata.splice(0, quarterStart - oldQuarterStart);\n\t}\n\n\tif (data.length < 10) {\n\t\tlet quarter = Number(\n\t\t\tdata[data.length - 1]['extension']['accountingPeriod'][0][\n\t\t\t\t'periodIdentifier'\n\t\t\t]\n\t\t);\n\t\tlet year = Number(\n\t\t\tdata[data.length - 1]['extension']['accountingPeriod'][0]['year']\n\t\t);\n\t\tconst length = 10 - data.length;\n\t\tfor (let i = 0; i < length; i++) {\n\t\t\tif (quarter === 4) {\n\t\t\t\tquarter = 0;\n\t\t\t\tyear++;\n\t\t\t}\n\t\t\tquarter++;\n\t\t\tdata.push({\n\t\t\t\ttypeCode: RM_SECTION_CODES.DRP_COMP,\n\t\t\t\textension: {\n\t\t\t\t\tcode: [\n\t\t\t\t\t\t{ content: '', typeCode: 'Quote Type' },\n\t\t\t\t\t\t{ content: '', typeCode: 'Commodity' },\n\t\t\t\t\t],\n\t\t\t\t\tdistribution: cloneDeep(distributionArray),\n\t\t\t\t\taccountingPeriod: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tidentifier: '',\n\t\t\t\t\t\t\tperiodIdentifier: String(quarter),\n\t\t\t\t\t\t\tyear: String(year),\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\t} else if (data.length > 10) {\n\t\twhile (data.length > 10) {\n\t\t\tdata.pop();\n\t\t}\n\t}\n\treturn data;\n};\n\nconst groupRMSummaryData = (\n\tdata: GenericSchema,\n\tcopMonth: string,\n\tcopYear: number\n) => {\n\tlet months: Array = [];\n\tlet year: Array = [];\n\tmonths = data.filter((item: GenericSchema) => {\n\t\treturn !!item['extension']['accountingPeriod'][0]['identifier'];\n\t});\n\tyear = data.filter((item: GenericSchema) => {\n\t\treturn (\n\t\t\t!item['extension']['accountingPeriod'][0]['identifier'] &&\n\t\t\t!item['extension']['accountingPeriod'][0]['periodIdentifier']\n\t\t);\n\t});\n\n\tconst dataStartMonthIndex = FULL_MONTHS.indexOf(\n\t\tmonths[0]['extension']['accountingPeriod'][0]['identifier']\n\t);\n\tconst copStartMonthIndex = FULL_MONTHS.indexOf(copMonth);\n\n\tconst startMonthIndex = months.findIndex((item: GenericSchema) => {\n\t\treturn item['extension']['accountingPeriod'][0]['identifier'] === copMonth;\n\t});\n\n\tif (startMonthIndex > 0) {\n\t\tconst monthsToShift = months.splice(startMonthIndex, months.length - 1);\n\t\tif (copStartMonthIndex > dataStartMonthIndex) {\n\t\t\tfor (let i = 0; i < months.length; i++) {\n\t\t\t\tmonths[i]['extension']['accountingPeriod'][0]['year'] = String(\n\t\t\t\t\tcopYear + 1\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (dataStartMonthIndex === 0) {\n\t\t\t\tfor (let i = 0; i < monthsToShift.length; i++) {\n\t\t\t\t\tmonthsToShift[i]['extension']['accountingPeriod'][0]['year'] = String(\n\t\t\t\t\t\tcopYear\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tfor (let i = 0; i < monthsToShift.length; i++) {\n\t\t\t\tmonthsToShift[i]['extension']['accountingPeriod'][0]['year'] = String(\n\t\t\t\t\tcopStartMonthIndex === 0 ? copYear + 1 : copYear\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (copStartMonthIndex === 0) {\n\t\t\t\tfor (let i = 0; i < months.length; i++) {\n\t\t\t\t\tmonths[i]['extension']['accountingPeriod'][0]['year'] = String(\n\t\t\t\t\t\tcopYear + 1\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tmonths.unshift(...monthsToShift);\n\t\tyear[0]['extension']['accountingPeriod'][0]['year'] =\n\t\t\tmonths[11]['extension']['accountingPeriod'][0]['year'];\n\t}\n\treturn {\n\t\t[RM_OPERATING_FORECAST_SECTION_CODES.MONTHS]: months,\n\t\t[RM_OPERATING_FORECAST_SECTION_CODES.YEAR]: year,\n\t};\n};\n\n// to get commodity symbol\nconst getSymbol = (commodity: string) => {\n\tswitch (commodity) {\n\t\tcase RM_COMMODITIES.CLASS3.COMMODITY:\n\t\t\treturn RM_COMMODITIES.CLASS3.SYMBOL;\n\t\tcase RM_COMMODITIES.CLASS4.COMMODITY:\n\t\t\treturn RM_COMMODITIES.CLASS4.SYMBOL;\n\t\tcase RM_COMMODITIES.CHEESE.COMMODITY:\n\t\t\treturn RM_COMMODITIES.CHEESE.SYMBOL;\n\t}\n};\n\n// to get prior year position\nconst getPriorYearPosition = (\n\tprevYearJournalEntryLine: GenericSchema,\n\tcommodity: string,\n\tmonth: string,\n\tyear: string\n) => {\n\tlet obj = {};\n\t(prevYearJournalEntryLine[0]?.journalEntryLines || []).forEach(\n\t\t(item: GenericSchema) => {\n\t\t\tif (\n\t\t\t\titem?.typeCode === RM_SECTION_CODES.POSITION &&\n\t\t\t\titem?.extension?.accountingPeriod[0]?.year === year &&\n\t\t\t\titem?.extension?.accountingPeriod[0]?.identifier === month &&\n\t\t\t\titem?.extension?.code[1]?.content === getSymbol(commodity)\n\t\t\t) {\n\t\t\t\tobj = item;\n\t\t\t}\n\t\t}\n\t);\n\treturn obj;\n};\n\n// to get prior year Drp Class data\nconst getPriorYearDRPData = (\n\tprevYearJournalEntryLine: GenericSchema,\n\tquater: string,\n\tyear: string,\n\tdrpTypeCode: string\n) => {\n\tlet obj = {};\n\t(prevYearJournalEntryLine[0]?.journalEntryLines || []).forEach(\n\t\t(item: GenericSchema) => {\n\t\t\tif (\n\t\t\t\titem?.typeCode === drpTypeCode &&\n\t\t\t\titem?.extension?.accountingPeriod[0]?.year === year &&\n\t\t\t\titem?.extension?.accountingPeriod[0]?.periodIdentifier === quater\n\t\t\t) {\n\t\t\t\tobj = item;\n\t\t\t}\n\t\t}\n\t);\n\treturn obj;\n};\n\nconst formatRMSchema = (\n\tschema: GenericSchema,\n\tcopYear: string,\n\tcopMonth: string,\n\tprevYearJournalEntryLine: GenericSchema\n) => {\n\tconst nodes: Array = [];\n\tconst isNew: boolean = !schema.journalEntry.journalEntryLine.length;\n\tif (isNew) {\n\t\tconst accountingPeriod =\n\t\t\tschema !== undefined\n\t\t\t\t? schema['showChartOfAccounts']['BASIC INFO']['accountingPeriod']\n\t\t\t\t: {};\n\n\t\tlet startingYear = Number(accountingPeriod?.year);\n\t\tconst startingMonth = accountingPeriod?.periodIdentifier;\n\n\t\tif (FULL_MONTHS.indexOf(copMonth) === 0) {\n\t\t\tstartingYear = startingYear + 1;\n\t\t}\n\t\tconst startDate = new Date(`${startingMonth} ${startingYear}`);\n\t\tconst numNextMonths = NUM_OF_CARDS;\n\n\t\tfor (let i = 0; i < numNextMonths; i++) {\n\t\t\tconst date = addMonths(new Date(startDate), i);\n\t\t\tconst month = FULL_MONTHS[date.getMonth()];\n\t\t\tconst year = date.getFullYear().toString();\n\t\t\tconst quarter = Math.ceil((i + 1) / 3);\n\n\t\t\tif (i < 12) {\n\t\t\t\t// DMC node\n\t\t\t\tconst dmc = {\n\t\t\t\t\ttypeCode: RM_TYPECODES.DMC,\n\t\t\t\t\textension: {\n\t\t\t\t\t\tcode: [\n\t\t\t\t\t\t\t{ content: 'FCST', typeCode: 'Quote Type' },\n\t\t\t\t\t\t\t{ content: '', typeCode: 'Commodity' },\n\t\t\t\t\t\t],\n\t\t\t\t\t\tdistribution: [\n\t\t\t\t\t\t\tnew DMC(RM_TYPECODES.CORN, 1),\n\t\t\t\t\t\t\tnew DMC(RM_TYPECODES.SBM, 2),\n\t\t\t\t\t\t\tnew DMC(RM_TYPECODES.ALFALFA, 3),\n\t\t\t\t\t\t\tnew DMC(RM_TYPECODES.PROJECTED_FEED_TOTAL, 4),\n\t\t\t\t\t\t\tnew DMC(RM_TYPECODES.ACTUAL_FEED_TOTAL, 5),\n\t\t\t\t\t\t\tnew DMC(RM_TYPECODES.ALL_MILK, 6),\n\t\t\t\t\t\t\tnew DMC(RM_TYPECODES.MARGIN_OVER_FEED, 7),\n\t\t\t\t\t\t\tnew DMC(RM_TYPECODES.DMC_IDEMNITY, 8),\n\t\t\t\t\t\t\tnew DMC(RM_TYPECODES.INDEMNITY_PAYMENT, 9),\n\t\t\t\t\t\t\tnew DMC(RM_TYPECODES.NET_PAYMENT, 10),\n\t\t\t\t\t\t\tnew DMC(RM_TYPECODES.CUMMULATIVE_TOTAL_RETURN, 11),\n\t\t\t\t\t\t],\n\t\t\t\t\t\taccountingPeriod: [\n\t\t\t\t\t\t\t{ identifier: month, periodIdentifier: quarter, year: year },\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t};\n\n\t\t\t\tnodes.push(dmc);\n\t\t\t}\n\n\t\t\t// for Class 3/ Class 4 / Cheese\n\t\t\tObject.keys(RM_COMMODITIES).forEach((key: string, i: number) => {\n\t\t\t\tif (\n\t\t\t\t\tkey === RM_COMMODITIES.CLASS3.COMMODITY ||\n\t\t\t\t\tkey === RM_COMMODITIES.CLASS4.COMMODITY ||\n\t\t\t\t\tkey === RM_COMMODITIES.CHEESE.COMMODITY\n\t\t\t\t) {\n\t\t\t\t\tconst commodity = parseJSON(stringifyJSON(RM_COMMODITIES))[key][\n\t\t\t\t\t\t'SYMBOL'\n\t\t\t\t\t];\n\n\t\t\t\t\tconst priorYearPosition = getPriorYearPosition(\n\t\t\t\t\t\tprevYearJournalEntryLine,\n\t\t\t\t\t\tkey,\n\t\t\t\t\t\tmonth,\n\t\t\t\t\t\tyear\n\t\t\t\t\t);\n\t\t\t\t\tif (!_.isEmpty(priorYearPosition)) {\n\t\t\t\t\t\tnodes.push(priorYearPosition);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst position = {\n\t\t\t\t\t\t\ttypeCode: RM_TYPECODES.POSITION,\n\t\t\t\t\t\t\textension: {\n\t\t\t\t\t\t\t\tcode: [\n\t\t\t\t\t\t\t\t\t{ content: '', typeCode: 'Quote Type' },\n\t\t\t\t\t\t\t\t\t{ content: commodity, typeCode: 'Commodity' },\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\tdistribution: cloneDeep(createPositionDistributionArray()),\n\t\t\t\t\t\t\t\taccountingPeriod: [\n\t\t\t\t\t\t\t\t\t{ identifier: month, periodIdentifier: quarter, year: year },\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t};\n\t\t\t\t\t\tnodes.push(position);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\tconst distributionList = createDRPClassDistributionArray();\n\n\t\tlet quarterStart = Math.ceil((FULL_MONTHS.indexOf(copMonth) + 1) / 3);\n\t\tlet currentQuarter = Math.ceil((new Date().getMonth() + 1) / 3);\n\n\t\tlet quatr = quarterStart;\n\t\tlet year = new Date().getFullYear();\n\t\tlet yearCOP = Number(copYear);\n\t\tif (FULL_MONTHS.indexOf(copMonth) === 0) {\n\t\t\tyearCOP++;\n\t\t}\n\t\tfor (yearCOP; yearCOP < year; ) {\n\t\t\tconst priorYearDrpClass = getPriorYearDRPData(\n\t\t\t\tprevYearJournalEntryLine,\n\t\t\t\tString(quatr),\n\t\t\t\tString(yearCOP),\n\t\t\t\tRM_SECTION_CODES.DRP\n\t\t\t);\n\t\t\tif (!_.isEmpty(priorYearDrpClass)) {\n\t\t\t\tnodes.push(priorYearDrpClass);\n\t\t\t} else {\n\t\t\t\tnodes.push({\n\t\t\t\t\ttypeCode: RM_SECTION_CODES.DRP,\n\t\t\t\t\textension: {\n\t\t\t\t\t\tcode: [\n\t\t\t\t\t\t\t{ content: '', typeCode: 'Quote Type' },\n\t\t\t\t\t\t\t{ content: '', typeCode: 'Commodity' },\n\t\t\t\t\t\t],\n\t\t\t\t\t\tdistribution: cloneDeep(distributionList),\n\t\t\t\t\t\taccountingPeriod: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tidentifier: '',\n\t\t\t\t\t\t\t\tperiodIdentifier: String(quatr),\n\t\t\t\t\t\t\t\tyear: String(Number(yearCOP)),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t}\n\t\t\tif (quatr === 4) {\n\t\t\t\tquatr = 1;\n\t\t\t\tyearCOP++;\n\t\t\t} else {\n\t\t\t\tquatr++;\n\t\t\t}\n\t\t}\n\t\tif (yearCOP === year && quatr <= currentQuarter) {\n\t\t\tfor (quatr; quatr <= currentQuarter; quatr++) {\n\t\t\t\tconst priorYearDrpClass = getPriorYearDRPData(\n\t\t\t\t\tprevYearJournalEntryLine,\n\t\t\t\t\tString(quatr),\n\t\t\t\t\tString(year),\n\t\t\t\t\tRM_SECTION_CODES.DRP\n\t\t\t\t);\n\t\t\t\tif (!_.isEmpty(priorYearDrpClass)) {\n\t\t\t\t\tnodes.push(priorYearDrpClass);\n\t\t\t\t} else {\n\t\t\t\t\tnodes.push({\n\t\t\t\t\t\ttypeCode: RM_SECTION_CODES.DRP,\n\t\t\t\t\t\textension: {\n\t\t\t\t\t\t\tcode: [\n\t\t\t\t\t\t\t\t{ content: '', typeCode: 'Quote Type' },\n\t\t\t\t\t\t\t\t{ content: '', typeCode: 'Commodity' },\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\tdistribution: cloneDeep(distributionList),\n\t\t\t\t\t\t\taccountingPeriod: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tidentifier: '',\n\t\t\t\t\t\t\t\t\tperiodIdentifier: String(quatr),\n\t\t\t\t\t\t\t\t\tyear: String(Number(year)),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t},\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (yearCOP > year) {\n\t\t\tyear = Number(yearCOP);\n\t\t}\n\n\t\tif (quatr === 5) {\n\t\t\tquatr = 1;\n\t\t\tyear++;\n\t\t}\n\n\t\tfor (let extraQuater = 0; extraQuater < 5; extraQuater++) {\n\t\t\tconst priorYearDrpClass = getPriorYearDRPData(\n\t\t\t\tprevYearJournalEntryLine,\n\t\t\t\tString(quatr),\n\t\t\t\tString(year),\n\t\t\t\tRM_SECTION_CODES.DRP\n\t\t\t);\n\t\t\tif (!_.isEmpty(priorYearDrpClass)) {\n\t\t\t\tnodes.push(priorYearDrpClass);\n\t\t\t} else {\n\t\t\t\tnodes.push({\n\t\t\t\t\ttypeCode: RM_SECTION_CODES.DRP,\n\t\t\t\t\textension: {\n\t\t\t\t\t\tcode: [\n\t\t\t\t\t\t\t{ content: '', typeCode: 'Quote Type' },\n\t\t\t\t\t\t\t{ content: '', typeCode: 'Commodity' },\n\t\t\t\t\t\t],\n\t\t\t\t\t\tdistribution: cloneDeep(distributionList),\n\t\t\t\t\t\taccountingPeriod: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tidentifier: '',\n\t\t\t\t\t\t\t\tperiodIdentifier: quatr,\n\t\t\t\t\t\t\t\tyear: String(year),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t}\n\t\t\tif (quatr === 4) {\n\t\t\t\tquatr = 1;\n\t\t\t\tyear = Number(year) + 1;\n\t\t\t} else {\n\t\t\t\tquatr++;\n\t\t\t}\n\t\t}\n\t}\n\n\tconst updatedDataWIthPosition = [\n\t\t...schema.journalEntry.journalEntryLine,\n\t\t...nodes,\n\t];\n\n\t//missed requirement ticket #67219\n\tconst feedExpense = schema[SECTION_TYPE_CODE.EXPENSE].find(\n\t\t(ob: GenericSchema) => {\n\t\t\treturn ob.identifier === IDENTIFIERS.FEED_EXPENSE;\n\t\t}\n\t);\n\n\tlet summaryId = 'Net Accrual Feed Cost';\n\tfor (const id in schema['showChartOfAccounts'][SECTION_CODES.CROP][\n\t\tSECTION_TYPE_CODE.ACCRUAL\n\t]) {\n\t\tif (\n\t\t\tschema['showChartOfAccounts'][SECTION_CODES.CROP][\n\t\t\t\tSECTION_TYPE_CODE.ACCRUAL\n\t\t\t][id][''] &&\n\t\t\tschema['showChartOfAccounts'][SECTION_CODES.CROP][\n\t\t\t\tSECTION_TYPE_CODE.ACCRUAL\n\t\t\t][id][''][''][0]['identifier'] === IDENTIFIERS.NET_ACCURAL_FEED_COST\n\t\t) {\n\t\t\tsummaryId =\n\t\t\t\tschema['showChartOfAccounts'][SECTION_CODES.CROP][\n\t\t\t\t\tSECTION_TYPE_CODE.ACCRUAL\n\t\t\t\t][id][''][''][0]['generalLedgerNominalAccount'];\n\t\t}\n\t}\n\tconst netAccrualFeedCost =\n\t\tschema['showChartOfAccounts'][SECTION_CODES.CROP][\n\t\t\tSECTION_TYPE_CODE.ACCRUAL\n\t\t][summaryId];\n\n\tfeedExpense.amount = netAccrualFeedCost[''][''][0].amount;\n\tfeedExpense.extension.measure.find((ob: GenericSchema) => {\n\t\treturn ob.typeCode === STORED_MEASURE_KEYS.PER_CWT;\n\t}).content = netAccrualFeedCost[''][''][0].extension.measure.find(\n\t\t(ob: GenericSchema) => {\n\t\t\treturn ob.typeCode === STORED_MEASURE_KEYS.PER_CWT;\n\t\t}\n\t).content;\n\tfeedExpense.extension.measure.find((ob: GenericSchema) => {\n\t\treturn ob.typeCode === STORED_MEASURE_KEYS.PER_COW_PER_YEAR;\n\t}).content = netAccrualFeedCost[''][''][0].extension.measure.find(\n\t\t(ob: GenericSchema) => {\n\t\t\treturn ob.typeCode === STORED_MEASURE_KEYS.PER_COW_PER_YEAR;\n\t\t}\n\t).content;\n\n\tconst LEVEL_1 = groupByCode(updatedDataWIthPosition, 'typeCode');\n\tconst LEVEL_2 = {\n\t\t...LEVEL_1,\n\t\t[RM_SECTION_CODES.OPERATION_FORECAST]: groupOperationForecast(\n\t\t\tLEVEL_1[RM_SECTION_CODES.OPERATION_FORECAST],\n\t\t\t!isNew,\n\t\t\tcopYear,\n\t\t\tcopMonth\n\t\t),\n\t};\n\tif (!schema.journalEntry.journalEntryHeader.accountingPeriod.year) {\n\t\tschema.journalEntry.journalEntryHeader.accountingPeriod.year = String(\n\t\t\tNumber(copYear) + 1\n\t\t);\n\t}\n\n\tif (isNew) {\n\t\tLEVEL_2[RM_SECTION_CODES.COP_FORECAST] = mapCOPForecast(\n\t\t\tschema[SECTION_TYPE_CODE.INCOME],\n\t\t\tschema[SECTION_TYPE_CODE.EXPENSE],\n\t\t\tcopYear\n\t\t);\n\t\tLEVEL_2[RM_SECTION_CODES.DRP_COMP] = createDRPCompData(\n\t\t\tcopMonth,\n\t\t\tNumber(copYear),\n\t\t\tprevYearJournalEntryLine\n\t\t);\n\t\t/// once objects are created make sure they have ten cards\n\t\tLEVEL_2[RM_SECTION_CODES.DRP] = restructureDRPClassData(\n\t\t\tLEVEL_2[RM_SECTION_CODES.DRP],\n\t\t\tcopMonth,\n\t\t\tcopYear,\n\t\t\tprevYearJournalEntryLine\n\t\t);\n\n\t\tLEVEL_2[RM_SECTION_CODES.DRP_COMP] = restructureDRPCompData(\n\t\t\tLEVEL_2[RM_SECTION_CODES.DRP_COMP],\n\t\t\tcopMonth,\n\t\t\tcopYear,\n\t\t\tprevYearJournalEntryLine\n\t\t);\n\t\tLEVEL_2[RM_SECTION_CODES.SUMMARY] = createRMSummaryData(\n\t\t\tcopMonth,\n\t\t\tNumber(copYear)\n\t\t);\n\t} else {\n\t\tLEVEL_2[RM_SECTION_CODES.SUMMARY] = groupRMSummaryData(\n\t\t\tLEVEL_2[RM_SECTION_CODES.SUMMARY],\n\t\t\tcopMonth,\n\t\t\tNumber(copYear)\n\t\t);\n\t\tLEVEL_2[RM_SECTION_CODES.DMC] = restructureDMCData(\n\t\t\tLEVEL_2[RM_SECTION_CODES.DMC],\n\t\t\tcopMonth,\n\t\t\tNumber(copYear)\n\t\t);\n\t\tLEVEL_2[RM_SECTION_CODES.POSITION] = restructurePositionsData(\n\t\t\tLEVEL_2[RM_SECTION_CODES.POSITION],\n\t\t\tcopMonth,\n\t\t\tNumber(copYear),\n\t\t\tprevYearJournalEntryLine\n\t\t);\n\n\t\tLEVEL_2[RM_SECTION_CODES.DRP] = restructureDRPClassData(\n\t\t\tLEVEL_2[RM_SECTION_CODES.DRP],\n\t\t\tcopMonth,\n\t\t\tcopYear,\n\t\t\tprevYearJournalEntryLine\n\t\t);\n\t\tLEVEL_2[RM_SECTION_CODES.DRP_COMP] = restructureDRPCompData(\n\t\t\tLEVEL_2[RM_SECTION_CODES.DRP_COMP],\n\t\t\tcopMonth,\n\t\t\tcopYear,\n\t\t\tprevYearJournalEntryLine\n\t\t);\n\t}\n\n\t// find index of Mad cap data update\n\tconst foundIndex = schema.journalEntry.journalEntryHeader.documentReference.findIndex(\n\t\t(item: any) => item.typeCode == lblMadCapLastUpdate\n\t);\n\n\t//console.log('foundIndex in existing:', foundIndex);\n\t// add map cap date if it does not exist\n\tif (\n\t\tfoundIndex === -1 &&\n\t\tprevYearJournalEntryLine.length > 0 &&\n\t\tprevYearJournalEntryLine[0].journalEntryHeader\n\t) {\n\t\t// find index of mad cap data update in previous document\n\t\tconst prevIndex = prevYearJournalEntryLine[0].journalEntryHeader.documentReference.findIndex(\n\t\t\t(item: any) => item.typeCode == lblMadCapLastUpdate\n\t\t);\n\n\t\t// console.log('prevIndex is :', prevIndex);\n\n\t\t// when date is found in previous document, add it to new document\n\t\tif (prevIndex !== -1) {\n\t\t\tschema.journalEntry.journalEntryHeader.documentReference.push(\n\t\t\t\tprevYearJournalEntryLine[0].journalEntryHeader.documentReference[\n\t\t\t\t\tprevIndex\n\t\t\t\t]\n\t\t\t);\n\t\t}\n\t}\n\n\tLEVEL_2[RM_SECTION_CODES.HEADER] = schema.journalEntry.journalEntryHeader;\n\tLEVEL_2['copData'] = schema['showChartOfAccounts'];\n\tLEVEL_2[SECTION_TYPE_CODE.INCOME] = schema[SECTION_TYPE_CODE.INCOME];\n\tLEVEL_2[SECTION_TYPE_CODE.EXPENSE] = schema[SECTION_TYPE_CODE.EXPENSE];\n\n\tLEVEL_2[RM_SECTION_CODES.DRP_COMP] = cleanupdrpdata(\n\t\tLEVEL_2[RM_SECTION_CODES.DRP_COMP],\n\t\t'drpcomp'\n\t);\n\t//Adding DRP-Reference and Note\n\tLEVEL_2[RM_SECTION_CODES.DRP_COMP] = LEVEL_2[RM_SECTION_CODES.DRP_COMP].map(\n\t\t(d: any) => {\n\t\t\td.extension.distribution = d.extension.distribution.map((ed: any) => {\n\t\t\t\tif (ed.typeCode === RM_TYPECODES.ENDORSEMENT) {\n\t\t\t\t\t// Check for \"drpReferences\" key\n\t\t\t\t\tif (Object.keys(ed).includes('drpReferences')) {\n\t\t\t\t\t\t// Rename \"drpReferences\" to \"dRPReferences\" and retain the value\n\t\t\t\t\t\ted.dRPReferences = ed.drpReferences;\n\t\t\t\t\t\tif (ed.dRPReferences == null) {\n\t\t\t\t\t\t\ted.dRPReferences = [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ttypeCode: 'DRP Reference',\n\t\t\t\t\t\t\t\t\tidentifier: '',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ttypeCode: 'DRP Source',\n\t\t\t\t\t\t\t\t\tidentifier: 'Manual',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ttypeCode: 'DRP Note',\n\t\t\t\t\t\t\t\t\tidentifier: '',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdelete ed.drpReferences;\n\t\t\t\t\t} else if (!Object.keys(ed).includes('dRPReferences')) {\n\t\t\t\t\t\t// If neither \"drpReferences\" nor \"dRPReferences\" exists, add \"dRPReferences\"\n\t\t\t\t\t\ted.dRPReferences = [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttypeCode: 'DRP Reference',\n\t\t\t\t\t\t\t\tidentifier: '',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttypeCode: 'DRP Source',\n\t\t\t\t\t\t\t\tidentifier: 'Manual',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttypeCode: 'DRP Note',\n\t\t\t\t\t\t\t\tidentifier: '',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn ed;\n\t\t\t});\n\t\t\treturn d;\n\t\t}\n\t);\n\n\tLEVEL_2[RM_SECTION_CODES.DRP] = cleanupdrpdata(\n\t\tLEVEL_2[RM_SECTION_CODES.DRP],\n\t\t'drpclass'\n\t);\n\t//Adding DRP-Reference and Note\n\tLEVEL_2[RM_SECTION_CODES.DRP] = LEVEL_2[RM_SECTION_CODES.DRP].map(\n\t\t(d: any) => {\n\t\t\td.extension.distribution = d.extension.distribution.map((ed: any) => {\n\t\t\t\tif (ed.typeCode === RM_TYPECODES.ENDORSEMENT) {\n\t\t\t\t\t// Check for \"drpReferences\" key\n\t\t\t\t\tif (Object.keys(ed).includes('drpReferences')) {\n\t\t\t\t\t\t// Rename \"drpReferences\" to \"dRPReferences\" and retain the value\n\t\t\t\t\t\ted.dRPReferences = ed.drpReferences;\n\t\t\t\t\t\tif (ed.dRPReferences == null) {\n\t\t\t\t\t\t\ted.dRPReferences = [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ttypeCode: 'DRP Reference',\n\t\t\t\t\t\t\t\t\tidentifier: '',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ttypeCode: 'DRP Source',\n\t\t\t\t\t\t\t\t\tidentifier: 'Manual',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ttypeCode: 'DRP Note',\n\t\t\t\t\t\t\t\t\tidentifier: '',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdelete ed.drpReferences;\n\t\t\t\t\t} else if (!Object.keys(ed).includes('dRPReferences')) {\n\t\t\t\t\t\t// If neither \"drpReferences\" nor \"dRPReferences\" exists, add \"dRPReferences\"\n\t\t\t\t\t\ted.dRPReferences = [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttypeCode: 'DRP Reference',\n\t\t\t\t\t\t\t\tidentifier: '',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttypeCode: 'DRP Source',\n\t\t\t\t\t\t\t\tidentifier: 'Manual',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttypeCode: 'DRP Note',\n\t\t\t\t\t\t\t\tidentifier: '',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn ed;\n\t\t\t});\n\t\t\treturn d;\n\t\t}\n\t);\n\n\treturn updateRefrence(LEVEL_2);\n};\n\nexport const formatSchema = (\n\tschema: GenericSchema,\n\tbasicInfo: GenericSchema | null = null,\n\tprevYearJournalEntryLine: Array = []\n) => {\n\tconst docIdentifier = schema?.showChartOfAccounts?.versionIdentifier;\n\tconst data = schema?.showChartOfAccounts?.dataArea?.chartOfAccounts;\n\t// mapped values placholder\n\tif (data && !basicInfo) {\n\t\tdata.forEach((item: GenericSchema) => {\n\t\t\titem.reportingSection = item?.extension.code.find((ob: GenericSchema) => {\n\t\t\t\treturn ob.typeCode === COA_TYPECODES.REPORTING_SECTION;\n\t\t\t})?.content;\n\t\t\titem.extTypeCode = item?.extension?.typeCode;\n\t\t\titem.amount = 0;\n\t\t\tif (!basicInfo) {\n\t\t\t\t(item.note = ''),\n\t\t\t\t\t(item.extension.amount = [\n\t\t\t\t\t\t{ content: 0, typeCode: STORED_AMT_KEYS.BEGINNING_BALANCE },\n\t\t\t\t\t\t{ content: 0, typeCode: STORED_AMT_KEYS.ENDING_BALANCE },\n\t\t\t\t\t\t{ content: 0, typeCode: STORED_AMT_KEYS.VALUE_PER_HEAD },\n\t\t\t\t\t\t{ content: 0, typeCode: STORED_AMT_KEYS.BEGINNING_NO_OF_HEAD },\n\t\t\t\t\t\t{ content: 0, typeCode: STORED_AMT_KEYS.ENDING_NO_OF_HEAD },\n\t\t\t\t\t\t{ content: 0, typeCode: STORED_AMT_KEYS.ASSIGNED_PERCENTAGE },\n\t\t\t\t\t]);\n\t\t\t\titem.extension.measure = [\n\t\t\t\t\t{ content: 0, typeCode: STORED_MEASURE_KEYS.PER_CWT },\n\t\t\t\t\t{ content: 0, typeCode: STORED_MEASURE_KEYS.PER_COW_PER_DAY },\n\t\t\t\t\t{ content: 0, typeCode: STORED_MEASURE_KEYS.PER_COW_PER_YEAR },\n\t\t\t\t\t{ content: 0, typeCode: STORED_MEASURE_KEYS.PER_ACRE },\n\t\t\t\t];\n\t\t\t}\n\t\t});\n\t} else if (data && schema?.journalEntry?.typeCode === SCHEMA_TYPE.RM) {\n\t\tdata.forEach((item: GenericSchema) => {\n\t\t\titem.reportingSection = item?.extension.code.find((ob: GenericSchema) => {\n\t\t\t\treturn ob.typeCode === COA_TYPECODES.REPORTING_SECTION;\n\t\t\t})?.content;\n\t\t\titem.extTypeCode = item?.extension?.typeCode;\n\t\t});\n\t}\n\n\tif (\n\t\t!schema.journalEntry ||\n\t\t(schema?.journalEntry?.typeCode === SCHEMA_TYPE.RM && data) ||\n\t\tschema?.journalEntry?.typeCode !== SCHEMA_TYPE.RM\n\t) {\n\t\t// Grouping COA section\n\t\tconst LEVEL_1: GenericSchema = groupByCode(data, 'reportingSection');\n\t\tlet LEVEL_2: GenericSchema = {};\n\t\tlet LEVEL_3: GenericSchema = {};\n\t\tlet LEVEL_4: GenericSchema = {};\n\t\tlet LEVEL_5: GenericSchema = {};\n\t\tfor (const property in LEVEL_1) {\n\t\t\tLEVEL_1[property] = sortBySequence(LEVEL_1[property]);\n\t\t\tLEVEL_2[property] = groupByCode(LEVEL_1[property], 'typeCode');\n\n\t\t\tfor (const property1 in LEVEL_2[property]) {\n\t\t\t\tLEVEL_2[property][property1] = sortBySequence(\n\t\t\t\t\tLEVEL_2[property][property1]\n\t\t\t\t);\n\n\t\t\t\tLEVEL_3[property] = LEVEL_3[property] ? LEVEL_3[property] : {};\n\t\t\t\tLEVEL_3[property][property1] = groupByCode(\n\t\t\t\t\tLEVEL_2[property][property1],\n\t\t\t\t\t'generalLedgerNominalAccount'\n\t\t\t\t);\n\n\t\t\t\tfor (const property2 in LEVEL_3[property][property1]) {\n\t\t\t\t\tLEVEL_3[property][property1][property2] = sortBySequence(\n\t\t\t\t\t\tLEVEL_3[property][property1][property2]\n\t\t\t\t\t);\n\n\t\t\t\t\tLEVEL_4[property] = LEVEL_4[property]\n\t\t\t\t\t\t? LEVEL_4[property]\n\t\t\t\t\t\t: LEVEL_3[property];\n\t\t\t\t\tLEVEL_4[property][property1][property2] = groupByCode(\n\t\t\t\t\t\tLEVEL_3[property][property1][property2],\n\t\t\t\t\t\t'accountTypeCode'\n\t\t\t\t\t);\n\n\t\t\t\t\tfor (const property3 in LEVEL_4[property][property1][property2]) {\n\t\t\t\t\t\tLEVEL_4[property][property1][property2][property3] = sortBySequence(\n\t\t\t\t\t\t\tLEVEL_4[property][property1][property2][property3]\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tLEVEL_5[property] = LEVEL_5[property]\n\t\t\t\t\t\t\t? LEVEL_5[property]\n\t\t\t\t\t\t\t: LEVEL_4[property];\n\t\t\t\t\t\tLEVEL_5[property][property1][property2][property3] = groupByCode(\n\t\t\t\t\t\t\tLEVEL_3[property][property1][property2][property3],\n\t\t\t\t\t\t\t'extTypeCode'\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tfor (const property4 in LEVEL_5[property][property1][property2][\n\t\t\t\t\t\t\tproperty3\n\t\t\t\t\t\t]) {\n\t\t\t\t\t\t\tLEVEL_5[property][property1][property2][property3][\n\t\t\t\t\t\t\t\tproperty4\n\t\t\t\t\t\t\t] = sortBySequence(\n\t\t\t\t\t\t\t\tLEVEL_5[property][property1][property2][property3][property4]\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t// mapped values placholder for header section\n\t\tLEVEL_4[SECTION_CODES.BASIC_INFO] = basicInfo\n\t\t\t? basicInfo\n\t\t\t: {\n\t\t\t\t\tid: '',\n\t\t\t\t\tidentifier: 0,\n\t\t\t\t\tdocumentDateTime: null,\n\t\t\t\t\trevisionIdentifier: 0,\n\t\t\t\t\tdocumentReference: {\n\t\t\t\t\t\tidentifier: docIdentifier,\n\t\t\t\t\t},\n\t\t\t\t\tstatus: { code: '' },\n\t\t\t\t\tnote: '',\n\t\t\t\t\tvariationIdentifier: 'Standard',\n\t\t\t\t\tdescription: '',\n\t\t\t\t\taccountingPeriod: {\n\t\t\t\t\t\tperiodIdentifier: 'January',\n\t\t\t\t\t\tyear: 0,\n\t\t\t\t\t\teffectiveTimePeriod: { duration: 12 },\n\t\t\t\t\t},\n\t\t\t\t\tparty: { identifier: '', name: '', location: { identifier: 0 } },\n\t\t\t\t\textension: {\n\t\t\t\t\t\tquantity: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcontent: 0,\n\t\t\t\t\t\t\t\ttypeCode: JOURNAL_HEADER_KEYS.AVG_NO_OF_MATURE_COWS,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcontent: 0,\n\t\t\t\t\t\t\t\ttypeCode: JOURNAL_HEADER_KEYS.AVG_NO_OF_REPLACEMENT_INVENTORY,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcontent: 0,\n\t\t\t\t\t\t\t\ttypeCode: JOURNAL_HEADER_KEYS.VOL_OF_MILK_SOLD_CWTS,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{ content: 0, typeCode: JOURNAL_HEADER_KEYS.CORN_FORAGE_ACRES },\n\t\t\t\t\t\t\t{ content: 0, typeCode: JOURNAL_HEADER_KEYS.CORN_GRAIN_ACRES },\n\t\t\t\t\t\t\t{ content: 0, typeCode: JOURNAL_HEADER_KEYS.ALFA_ALFA_ACRES },\n\t\t\t\t\t\t\t{ content: 0, typeCode: JOURNAL_HEADER_KEYS.OTHER_FORAGE_ACRES },\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcontent: 0,\n\t\t\t\t\t\t\t\ttypeCode: JOURNAL_HEADER_KEYS.OTHER_CASH_GRAIN_ACRES,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{ content: 0, typeCode: JOURNAL_HEADER_KEYS.TOTAL_ACRES },\n\t\t\t\t\t\t\t{ content: 0, typeCode: JOURNAL_HEADER_KEYS.TOTAL_CALVES },\n\t\t\t\t\t\t\t{ content: 0, typeCode: JOURNAL_HEADER_KEYS.TOTAL_HEIFERS },\n\t\t\t\t\t\t\t{ content: 0, typeCode: JOURNAL_HEADER_KEYS.TOTAL_BRED_HEIFERS },\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t };\n\n\t\tif (schema?.journalEntry?.typeCode === SCHEMA_TYPE.RM) {\n\t\t\tschema['showChartOfAccounts'] = updateRefrence(LEVEL_4);\n\n\t\t\treturn formatRMSchema(\n\t\t\t\tschema,\n\t\t\t\tbasicInfo?.accountingPeriod.year,\n\t\t\t\tbasicInfo?.accountingPeriod.periodIdentifier,\n\t\t\t\tprevYearJournalEntryLine\n\t\t\t);\n\t\t}\n\n\t\treturn updateRefrence(LEVEL_4);\n\t}\n\n\treturn formatRMSchema(\n\t\tschema,\n\t\tbasicInfo?.accountingPeriod.year,\n\t\tbasicInfo?.accountingPeriod.periodIdentifier,\n\t\tprevYearJournalEntryLine\n\t);\n};\n\nconst sortBySequence = (arr: Array) => {\n\treturn _.sortBy(arr, item => item?.extension?.sequenceNumber);\n};\n\nconst groupByCode = (arr: Array, code: string) => {\n\treturn _.groupBy(arr, code);\n};\n\nexport default reducer;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"hideelementnotreq\":\"footer_styles_hideelementnotreq__3Q_SZ\",\"marginRight24\":\"footer_styles_marginRight24__1dB0P\",\"marginLeft24\":\"footer_styles_marginLeft24__3HzNI\",\"marginRight10\":\"footer_styles_marginRight10__2UxlG\",\"marginRight16\":\"footer_styles_marginRight16__2Xppr\",\"marginRight7\":\"footer_styles_marginRight7__2utre\",\"marginTop15\":\"footer_styles_marginTop15__3_C4B\",\"marginTop10\":\"footer_styles_marginTop10__bRwo1\",\"marginTop20\":\"footer_styles_marginTop20__1QuwC\",\"marginBottom15\":\"footer_styles_marginBottom15__3OiVT\",\"marginBottom20\":\"footer_styles_marginBottom20__2DLNK\",\"marginBottom30\":\"footer_styles_marginBottom30__3P-7f\",\"marginRight20\":\"footer_styles_marginRight20__ZtVtc\",\"marginBottom8\":\"footer_styles_marginBottom8__Duvqw\",\"marginTopBottom15\":\"footer_styles_marginTopBottom15__2Gy4Q\",\"marginTop6\":\"footer_styles_marginTop6__2PWmA\",\"padding22\":\"footer_styles_padding22__2aktH\",\"padding6\":\"footer_styles_padding6__xejh6\",\"paddingbottom18\":\"footer_styles_paddingbottom18__sG30O\",\"paddingTopBottom22px\":\"footer_styles_paddingTopBottom22px__3-7Va\",\"paddingLeft11\":\"footer_styles_paddingLeft11__2rLo7\",\"margin15\":\"footer_styles_margin15__1QjA_\",\"paddingBtm20\":\"footer_styles_paddingBtm20__5cFOq\",\"paddingLeft55\":\"footer_styles_paddingLeft55__OAd6s\",\"paddingTopBottom8\":\"footer_styles_paddingTopBottom8__2qb1s\",\"padding0\":\"footer_styles_padding0__17aOH\",\"paddingRight8\":\"footer_styles_paddingRight8__2Z1Pi\",\"paddingTop0\":\"footer_styles_paddingTop0__2nal6\",\"paddingBottom0\":\"footer_styles_paddingBottom0__3nJ5d\",\"marginBtm0\":\"footer_styles_marginBtm0__3o1TZ\",\"padding30\":\"footer_styles_padding30__2lV68\",\"paddingTop51\":\"footer_styles_paddingTop51__vN1oC\",\"halfWidth\":\"footer_styles_halfWidth__1iepx\",\"fullWidth\":\"footer_styles_fullWidth__qh5p0\",\"fullHeight\":\"footer_styles_fullHeight__2YVVp\",\"cursorPointer\":\"footer_styles_cursorPointer__2cCO7\",\"contentSpaceBetween\":\"footer_styles_contentSpaceBetween__2jnou\",\"contenFlex\":\"footer_styles_contenFlex__9V0bO\",\"contentSpaceEvenly\":\"footer_styles_contentSpaceEvenly__1Faeo\",\"contentFlextGrowRow\":\"footer_styles_contentFlextGrowRow__2Q4yO\",\"contentFlextGrowcolumn\":\"footer_styles_contentFlextGrowcolumn__TlKnR\",\"contentFlexOne\":\"footer_styles_contentFlexOne__yEj86\",\"textAlignCenter\":\"footer_styles_textAlignCenter__3neRk\",\"contentSpaceAround\":\"footer_styles_contentSpaceAround__1WeKS\",\"contentAlignCenter\":\"footer_styles_contentAlignCenter__2N36n\",\"contentJustifyCenter\":\"footer_styles_contentJustifyCenter__1q_7t\",\"contentPlaceEnd\":\"footer_styles_contentPlaceEnd__3-Jco\",\"contentPlaceInlineFlex\":\"footer_styles_contentPlaceInlineFlex__3Atia\",\"contentPlaceCenter\":\"footer_styles_contentPlaceCenter__FkiIe\",\"herdscroller\":\"footer_styles_herdscroller__1GFke\",\"btnoutline\":\"footer_styles_btnoutline__1Lf_S\",\"btnFill\":\"footer_styles_btnFill__2IFxO\",\"btnSmall\":\"footer_styles_btnSmall__2Qw3-\",\"popUpBtn\":\"footer_styles_popUpBtn__RwuGi\",\"iconButton\":\"footer_styles_iconButton__irnS6\",\"btnLg\":\"footer_styles_btnLg__2WAtU\",\"btnDefault\":\"footer_styles_btnDefault__2EOHl\",\"btnDefaultFixed\":\"footer_styles_btnDefaultFixed__3O7ix\",\"btnSm\":\"footer_styles_btnSm__2ZtEU\",\"notesIconColor\":\"footer_styles_notesIconColor__1756R\",\"footerContainer\":\"footer_styles_footerContainer__1vG2C\",\"footerLogo\":\"footer_styles_footerLogo__3BJHy\",\"imageContainer\":\"footer_styles_imageContainer__3oYBX\",\"footerText\":\"footer_styles_footerText__-eymY\"};","const errorLog = {\n\t/**\n\t * Will log the error\n\t * @error: error thrown\n\t * @info: more info optional\n\t */\n\tlog: function (error: any, info: any = '') {\n\t\tconsole.log(error, info);\n\t},\n};\nexport default errorLog;\n","const localStore = {\n\t/**\n\t * Will set the data into Local storage\n\t * @storageKey: The key against which the data is to store\n\t * @datal: The data to store\n\t */\n\tset: function (storageKey: string, data: any) {\n\t\tif (typeof Storage !== 'undefined') {\n\t\t\tlocalStorage[storageKey] = data;\n\t\t} else {\n\t\t\talert('Sorry, your browser does not support web storage...');\n\t\t}\n\t},\n\n\t/**\n\t * Will get the data from Local storage\n\t * @storageKey: The key against which the data is stored\n\t */\n\tget: function (storageKey: string) {\n\t\treturn localStorage[storageKey];\n\t},\n\n\t/**\n\t * Will remove the data from Local storage\n\t * @storageKey: The key against which the data is stored\n\t */\n\tremove: function (storageKey: string) {\n\t\tdelete localStorage[storageKey];\n\t},\n};\nexport default localStore;\n","const loggger = {\n\tlog: function (msg: String) {\n\t\tconsole.log(msg);\n\t},\n};\nexport default loggger;\n","import axios, {\n\tAxiosRequestConfig,\n\tAxiosError,\n\tAxiosResponse,\n\tAxiosPromise,\n} from 'axios';\nimport localStore from './localstorage.service';\nimport errorLog from './error-log.service';\nimport { AUTH_TOKEN, REFRESH_TOKEN } from '../constants/constants';\nimport qs from 'qs';\n\ndeclare var window: any;\ninterface PayLoad {\n\t[key: string]: any;\n}\n\nclass HttpService {\n\tservice: HttpService;\n\tconstructor() {\n\t\tlet service = null;\n\t\tif (!window.HttpService) {\n\t\t\tservice = axios.create();\n\t\t\tservice.interceptors.request.use(\n\t\t\t\tthis.handleRequestSuccess,\n\t\t\t\tthis.handleRequestError\n\t\t\t);\n\t\t\tservice.interceptors.response.use(\n\t\t\t\tthis.handleResponseSuccess,\n\t\t\t\tthis.handleResponseError\n\t\t\t);\n\t\t\twindow.HttpService = service;\n\t\t}\n\n\t\tthis.service = window.HttpService;\n\t}\n\n\t// HTTP interceptor handlers\n\thandleRequestSuccess = (config: AxiosRequestConfig) => {\n\t\t// Do something before request is sent\n\t\treturn config;\n\t};\n\thandleRequestError = (error: AxiosError) => {\n\t\t// Do something with request error\n\t\treturn Promise.reject(error);\n\t};\n\thandleResponseSuccess = (response: AxiosResponse) => {\n\t\treturn response;\n\t};\n\n\thandleResponseError = (error: AxiosError) => {\n\t\ttry {\n\t\t\tconst status = error?.response?.status;\n\t\t\tconst msg =\n\t\t\t\terror?.response?.data?.message ||\n\t\t\t\terror?.response?.statusText ||\n\t\t\t\t'Something went wrong.Please try again.';\n\t\t\tswitch (status) {\n\t\t\t\tcase 400:\n\t\t\t\t\twindow.location.href = `/error?msg=${msg}`;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 401:\n\t\t\t\t\twindow.location.href = `/error?msg=${msg}`;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 404:\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\treturn Promise.reject(error);\n\t\t} catch (e) {\n\t\t\tconsole.log(error.response);\n\t\t}\n\t};\n\n\t//set headers\n\tget config() {\n\t\tconst token = localStore.get(AUTH_TOKEN) || '';\n\t\tconst refreshToken = localStore.get(REFRESH_TOKEN) || '';\n\t\treturn {\n\t\t\theaders: {\n\t\t\t\t'Content-Type': 'application/json',\n\t\t\t\t'Access-Control-Allow-Origin': '*',\n\t\t\t\t'refresh-token': `${refreshToken}`,\n\t\t\t\tAuthorization: `Bearer ${token}`,\n\t\t\t},\n\t\t};\n\t}\n\n\t// GET Request\n\tget(path: string, config = this.config): AxiosPromise {\n\t\treturn this.service.get(path, config);\n\t}\n\t// POST Request\n\tpost(path: string, payload: PayLoad, config = this.config): AxiosPromise {\n\t\treturn this.service.post(path, payload, config);\n\t}\n\t// PATCH Request\n\tpatch(path: string, payload: PayLoad, config = this.config): AxiosPromise {\n\t\treturn this.service.patch(path, payload, config);\n\t}\n\t// PUT Request\n\tput(path: string, payload: PayLoad, config = this.config): AxiosPromise {\n\t\treturn this.service.put(path, payload, config);\n\t}\n\t// DELETE Request\n\tdelete(path: string, id: number, config = this.config): AxiosPromise {\n\t\treturn this.service.delete(`${path}/${id}`, id, config);\n\t}\n\n\t// Auth Request\n\tauth(path: string, payload: PayLoad) {\n\t\treturn axios({\n\t\t\tmethod: 'post',\n\t\t\turl: path,\n\t\t\tdata: qs.stringify(payload),\n\t\t\theaders: {\n\t\t\t\t'content-type': 'application/x-www-form-urlencoded;charset=utf-8',\n\t\t\t},\n\t\t});\n\t}\n}\n\nconst http = new HttpService();\nconst httpInstance = window.HttpService || null;\n\nexport { http, httpInstance };\n","import {\n\tAPI_AGENCY_DRP,\n\tAPI_BASE_PATH,\n\tAPI_PARTIAL_AUTH,\n\tAPI_PARTIAL_COP,\n\tAPI_PARTIAL_RM,\n\tAPI_PARTIAL_WEB,\n\tSCHEMA_TYPE,\n} from '../constants/constants';\n\nconst AUTH_API = {\n\tAUTHORIZATION: (code: string): string => {\n\t\treturn `${API_BASE_PATH()}${API_PARTIAL_AUTH()}/userAuthorization/login?code=${code}`;\n\t},\n\tLOGOUT: (): string => {\n\t\treturn `${API_BASE_PATH()}${API_PARTIAL_AUTH()}/logout`;\n\t},\n};\n\nconst PRODUCER_API = {\n\tPRODUCERS: `${API_BASE_PATH()}${API_PARTIAL_WEB()}/partyMaster`,\n\tPRODUCER_BY_ID: (id: string): string => {\n\t\treturn `${API_BASE_PATH()}${API_PARTIAL_WEB()}/partyMaster/${id}`;\n\t},\n\tVERSION_UPDATE: (partyIdentifier: string): string => {\n\t\treturn `${API_BASE_PATH()}${API_PARTIAL_WEB()}/journalEntry/${partyIdentifier}/updateStatus`;\n\t},\n};\n\nconst RM_API = {\n\tMARKET_PRICE_LIST: (date: string = '', symbol: string = ''): string => {\n\t\treturn `${API_BASE_PATH()}${API_PARTIAL_WEB()}/marketPricing/?tradingDate=${date}&symbolCode=${symbol}`;\n\t},\n\tMARKET_PRICE_HISTORIC_LIST: (\n\t\tdate: string = '',\n\t\tmonth: string = '',\n\t\tyear: string = '',\n\t\tfetchNonLatest = false\n\t): string => {\n\t\treturn `${API_BASE_PATH()}${API_PARTIAL_WEB()}/marketPricing/?tradingDate=${date}&month=${month}&year=${year}&fetchNonLatest=${fetchNonLatest}`;\n\t},\n\n\tMARKET_PRICE_POST: () =>\n\t\t`${API_BASE_PATH()}${API_PARTIAL_WEB()}/marketPricing`,\n};\nconst COA_API = {\n\tGET_COP_SCHEMA: (identifer: string = ''): string => {\n\t\treturn `${API_BASE_PATH()}${API_PARTIAL_WEB()}/chartOfAccounts/?versionIdentifier=${identifer}`;\n\t},\n\tCOP_SAVE: (partyIdentifer: string, type: string = ''): string => {\n\t\tif (type.toLowerCase() == 'rm') {\n\t\t\treturn `${API_BASE_PATH()}${API_PARTIAL_RM()}/journalEntry/${partyIdentifer}?type=${type}`;\n\t\t} else {\n\t\t\treturn `${API_BASE_PATH()}${API_PARTIAL_COP()}/cop/${partyIdentifer}?type=${type}`;\n\t\t}\n\t},\n\tGET_COP_DATA: (\n\t\tpartyIdentifer: string,\n\t\tyear: string,\n\t\trevisionIdentifier: string,\n\t\ttype: string\n\t): string => {\n\t\tif (type.toLowerCase() == 'rm') {\n\t\t\treturn `${API_BASE_PATH()}${API_PARTIAL_RM()}/journalEntry/${partyIdentifer}?year=${year}&revisionIdentifier=${revisionIdentifier}&type=${type}`;\n\t\t} else {\n\t\t\treturn `${API_BASE_PATH()}${API_PARTIAL_COP()}/journalEntry/${partyIdentifer}?year=${year}&revisionIdentifier=${revisionIdentifier}&type=${type}`;\n\t\t}\n\t},\n\tGET_ACCOUNTING_YEARS: (partyIdentifer: string, type: string) => {\n\t\treturn `${API_BASE_PATH()}${API_PARTIAL_COP()}/copyears/${partyIdentifer}`;\n\t},\n\tGET_JOURNAL_ENTRY_LINES: (\n\t\tpartyIdentifer: string,\n\t\tidentifiers: string,\n\t\tyears: string,\n\t\ttype: string\n\t) => {\n\t\tif (type === SCHEMA_TYPE.RM) {\n\t\t\treturn `${API_BASE_PATH()}${API_PARTIAL_RM()}/journalEntry/${partyIdentifer}/journalEntryLines?type=${type}&typeCodes=${identifiers}&years=${years}`;\n\t\t} else {\n\t\t\treturn `${API_BASE_PATH()}${API_PARTIAL_COP()}/cop/${partyIdentifer}/journalEntryLines?type=${type}&lineIdentifiers=${identifiers}&years=${years}`;\n\t\t}\n\t},\n};\n\nconst MADCAP_API = {\n\tGETMADCAPDATA: (farmid: string, startdate: string, enddate: string) => {\n\t\treturn `${API_BASE_PATH()}/security/v1/userAuth/madcap/api/GetMadCapPositions?farmerID=${farmid}&startDate=${startdate}&endDate=${enddate}`;\n\t},\n};\nconst DRP_API = {\n\tGETDRPDATA: (farmid: string, startdate: string, enddate: string) => {\n\t\treturn `${API_BASE_PATH()}/finance/v1/drpapi/api/getendorsementdetails?farmID=${farmid}&startDate=${startdate}&endDate=${enddate}`;\n\t},\n};\nconst GET_POLICY_API = {\n\tGETPOLICYKEY: (policyNumber: string, agencyCode: string, farmID: string) => {\n\t\treturn `${API_BASE_PATH()}/finance/v1/drpapi/api/getpolicykey?policyNumber=${policyNumber}&aip=${agencyCode}&farmId=${farmID}`;\n\t},\n};\nconst GET_POLICY_RECORDS_API = {\n\tGETPOLICYRECORDS: (farmId: string) => {\n\t\treturn `${API_BASE_PATH()}/finance/v1/drpapi/api/getexistingmapping?farmId=${farmId}`;\n\t},\n};\nconst GET_AGENCIES = `${API_BASE_PATH()}${API_AGENCY_DRP()}`;\n\nconst POST_POLICY_RECORDS_API = {\n\tPOSTPOLICYRECORDS: () => {\n\t\treturn `${API_BASE_PATH()}/finance/v1/drpapi/api/savefarmpolicymappingrecords`;\n\t},\n};\nexport {\n\tAUTH_API,\n\tCOA_API,\n\tDRP_API,\n\tGET_AGENCIES,\n\tGET_POLICY_API,\n\tGET_POLICY_RECORDS_API,\n\tMADCAP_API,\n\tPOST_POLICY_RECORDS_API,\n\tPRODUCER_API,\n\tRM_API,\n};\n","import { LOGOUT_REDIRECT_URI, SSO_BASE_PATH } from '../constants';\nconst AUTH_CONFIG = {\n\tAUTHORIZATION: `${SSO_BASE_PATH()}/as/authorization.oauth2`,\n\tLOGOUT: `${SSO_BASE_PATH()}/idp/startSLO.ping?TargetResource=${LOGOUT_REDIRECT_URI()}`,\n\tCLIENT_ID: 'rs_client_azure',\n\tGRANT_TYPE: 'authorization_code',\n\tRESPONSE_TYPE: 'code',\n\tSCOPE: 'openid',\n\tREDIRECT_URI_DEV: 'https://webapp-cp-pp-dv.azurewebsites.net/auth',\n\tREDIRECT_URI_QA: 'https://webapp-cp-pp-qa.azurewebsites.net/auth',\n\tREDIRECT_URI_PROD: 'https://dairyrmi.com/auth',\n\tREDIRECT_URI_LOCAL: 'http://localhost:3000/auth',\n};\n\nexport { AUTH_CONFIG };\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"maincontainer\":\"layout_maincontainer__1tq17\",\"navigationcontainer\":\"layout_navigationcontainer__3GtiX\",\"contentcontainer\":\"layout_contentcontainer__2EDUo\",\"confirmbox\":\"layout_confirmbox__2dqD2\",\"confirmtext\":\"layout_confirmtext__1bpRo\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"medium\":\"login_medium__3Rd4X\",\"headingContainer\":\"login_headingContainer__3oEM8\",\"moduleHeader\":\"login_moduleHeader__2OtIU\",\"subHeadingContainer\":\"login_subHeadingContainer__3GZix\",\"subheading\":\"login_subheading__3nADJ\",\"indicator\":\"login_indicator__2PG0o\",\"cardHeading\":\"login_cardHeading__3pLpi\",\"hideelementnotreq\":\"login_hideelementnotreq__3_f5V\",\"marginRight24\":\"login_marginRight24__2OS0U\",\"marginLeft24\":\"login_marginLeft24__1ixw8\",\"marginRight10\":\"login_marginRight10__31GQB\",\"marginRight16\":\"login_marginRight16__1HpVh\",\"marginRight7\":\"login_marginRight7__3pD_K\",\"marginTop15\":\"login_marginTop15___iJlo\",\"marginTop10\":\"login_marginTop10__2khW7\",\"marginTop20\":\"login_marginTop20__2q_gP\",\"marginBottom15\":\"login_marginBottom15__2VuKX\",\"marginBottom20\":\"login_marginBottom20__1NTTI\",\"marginBottom30\":\"login_marginBottom30__21ZbO\",\"marginRight20\":\"login_marginRight20__2zZPt\",\"marginBottom8\":\"login_marginBottom8__Hw2xD\",\"marginTopBottom15\":\"login_marginTopBottom15__1r1tS\",\"marginTop6\":\"login_marginTop6__27TB8\",\"padding22\":\"login_padding22__BD4iw\",\"padding6\":\"login_padding6__1biEO\",\"paddingbottom18\":\"login_paddingbottom18__1mxI9\",\"paddingTopBottom22px\":\"login_paddingTopBottom22px__1vqRQ\",\"paddingLeft11\":\"login_paddingLeft11__FSQh-\",\"margin15\":\"login_margin15__lYmNw\",\"paddingBtm20\":\"login_paddingBtm20__3V2TN\",\"paddingLeft55\":\"login_paddingLeft55__1Offc\",\"paddingTopBottom8\":\"login_paddingTopBottom8__37OQu\",\"padding0\":\"login_padding0__3R6-l\",\"paddingRight8\":\"login_paddingRight8__hI_ie\",\"paddingTop0\":\"login_paddingTop0__2F1R0\",\"paddingBottom0\":\"login_paddingBottom0__2WQWu\",\"marginBtm0\":\"login_marginBtm0__Y92SC\",\"padding30\":\"login_padding30__1jKAC\",\"paddingTop51\":\"login_paddingTop51__2zlHc\",\"halfWidth\":\"login_halfWidth__3qgka\",\"fullWidth\":\"login_fullWidth__1Nboz\",\"fullHeight\":\"login_fullHeight__1FshD\",\"cursorPointer\":\"login_cursorPointer__GQR1m\",\"contentSpaceBetween\":\"login_contentSpaceBetween__3soLG\",\"contenFlex\":\"login_contenFlex__1GBnS\",\"contentSpaceEvenly\":\"login_contentSpaceEvenly__3Kc5n\",\"contentFlextGrowRow\":\"login_contentFlextGrowRow__2L9uu\",\"contentFlextGrowcolumn\":\"login_contentFlextGrowcolumn__3Qjnf\",\"contentFlexOne\":\"login_contentFlexOne__1tU4t\",\"textAlignCenter\":\"login_textAlignCenter__2c--a\",\"contentSpaceAround\":\"login_contentSpaceAround__2pFIY\",\"contentAlignCenter\":\"login_contentAlignCenter__1q35O\",\"contentJustifyCenter\":\"login_contentJustifyCenter__UNTai\",\"contentPlaceEnd\":\"login_contentPlaceEnd__SWcUf\",\"contentPlaceInlineFlex\":\"login_contentPlaceInlineFlex__3kBKe\",\"contentPlaceCenter\":\"login_contentPlaceCenter__3_1fC\",\"herdscroller\":\"login_herdscroller__2sMNg\",\"btnoutline\":\"login_btnoutline__1hvJf\",\"btnFill\":\"login_btnFill__L3zUW\",\"btnSmall\":\"login_btnSmall__2TTio\",\"popUpBtn\":\"login_popUpBtn__grP8L\",\"iconButton\":\"login_iconButton__48Cyy\",\"btnLg\":\"login_btnLg__ZGkaK\",\"btnDefault\":\"login_btnDefault__1vSkF\",\"btnDefaultFixed\":\"login_btnDefaultFixed__1NWFV\",\"btnSm\":\"login_btnSm__1lBQD\",\"notesIconColor\":\"login_notesIconColor__2my4y\",\"authtext\":\"login_authtext__c3Ebp\",\"title\":\"login_title__38BQz\",\"globebg\":\"login_globebg__1jVmc\",\"bgimage\":\"login_bgimage__1YQkt\",\"welcometext\":\"login_welcometext__1yJ4k\",\"backbtn\":\"login_backbtn__11f7S\",\"orangebtn\":\"login_orangebtn__-TDQ0\",\"logo\":\"login_logo__12_KZ\",\"rmilogo\":\"login_rmilogo__3dle_\",\"treebg\":\"login_treebg__fy4GZ\",\"loginmore\":\"login_loginmore__2zBlY\",\"submitbtn\":\"login_submitbtn__2Z27D\",\"confirmbox\":\"login_confirmbox__24CNo\",\"confirmtext\":\"login_confirmtext__2BHMR\",\"greenbtnWrapper\":\"login_greenbtnWrapper__2J-BL\",\"greenbtn\":\"login_greenbtn__N3b0W\",\"errorbtn\":\"login_errorbtn__3TWjC\",\"btnWrapper\":\"login_btnWrapper__2c5x7\",\"notesbox\":\"login_notesbox__zvaqz\",\"textboxwrap\":\"login_textboxwrap__1txYi\",\"popUpNotesContainer\":\"login_popUpNotesContainer__2JXF_\"};","export const PositionSourceType = { MadCap: 'MadCap', Manual: 'Manual' };\nexport const lblMadCapLastUpdate = 'Last MadCap Update';\nexport const MadCapTypeCode = {\n\tPositionSource: 'Position Source',\n\tMadCapReference: 'MadCap Reference',\n\tOrderStatus: 'Order Status',\n\tPositionNote: 'Position Note',\n\tMadCapRefOID: 'MadCap Ref OID',\n};\n\nexport const MADCAP_COMMODITY_NAME_MAP: any = {\n\t'@DA': 'CLASS III',\n\t'@DK': 'CLASS IV',\n\t'@CSC': 'CHEESE',\n};\n\nexport const Dict_For_Sorting_Position: { [id: string]: number } = {\n\tManual: 2,\n\tFilled: 1,\n\tWorking: 0,\n};\n\nexport const VolumeInOneContract = 200000;\n\nexport const ContractType = {\n\tFloor: 'Floor',\n\tCollar: 'Collar',\n\tCeiling: 'Ceiling',\n\tContract: 'Contract',\n};\n\nexport const MadCapStatus = {\n\tWorking: 'Working',\n\tFilled: 'Filled',\n\tCancelled: 'Cancelled',\n\tManual: 'Manual',\n};\n\nexport const MapStatusCodeToString = (statusCode: string) => {\n\tswitch (statusCode) {\n\t\tcase '1':\n\t\tcase '2':\n\t\tcase '3':\n\t\tcase '6':\n\t\tcase '7':\n\t\t\treturn MadCapStatus.Working;\n\t\tcase '4':\n\t\tcase '5':\n\t\t\treturn MadCapStatus.Filled;\n\t\tcase '8':\n\t\t\treturn MadCapStatus.Cancelled;\n\t\tdefault:\n\t\t\treturn MadCapStatus.Working;\n\t}\n};\n\nconst mapping_for_contracttype_from_subtype: any = {\n\t'5': ContractType.Collar,\n\t'3': ContractType.Floor,\n\t'4': ContractType.Ceiling,\n\t'2': ContractType.Contract,\n\t'1': ContractType.Contract,\n};\n\nexport const Get_ContractTypeFromSubType = (subtype: string): string => {\n\treturn mapping_for_contracttype_from_subtype[subtype];\n};\n\nexport const TrimSpaceFromMadCapID = (identifier: string) => {\n\treturn identifier.replace('\\\\', '').replace('\"', '').replace('\"', '').trim();\n};\n","import { AxiosError, AxiosResponse } from 'axios';\nimport { ActionCreator, Dispatch } from 'redux';\nimport { ThunkAction } from 'redux-thunk';\nimport { User } from '../../schemas';\nimport { AUTH_API, AUTH_CONFIG } from './../../common/configs';\nimport {\n\tAUTH_EXPIRATION,\n\tAUTH_TOKEN,\n\tMSG_TYPE,\n\tREFRESH_TOKEN,\n\tUSER_INFO,\n} from './../../common/constants/constants';\nimport { http, localStore } from './../../common/services';\nimport {\n\tdecodeJWT,\n\tparseJSON,\n\tstringifyJSON,\n} from './../../common/utils/utility';\nimport {\n\tAUTH_FAIL,\n\tAUTH_LOGOUT,\n\tAUTH_START,\n\tAUTH_SUCCESS,\n\tSET_AUTH_REDIRECT_PATH,\n} from './actions';\nimport { showMessage } from './message-notification';\n\ninterface IAuthAction {\n\ttype: string;\n}\ninterface IAuthSuceessAction extends IAuthAction {\n\tidToken: string;\n\tuserInfo: User;\n}\n\ninterface IAuthErrorAction extends IAuthAction {\n\terror: AxiosError;\n}\n\ninterface IAuthRedirectAction extends IAuthAction {\n\tpath: string;\n}\n\nconst authStart: ActionCreator = () => {\n\treturn {\n\t\ttype: AUTH_START,\n\t};\n};\n\nconst authSuccess: ActionCreator = (\n\ttoken: string,\n\tuser: User\n) => {\n\treturn {\n\t\ttype: AUTH_SUCCESS,\n\t\tidToken: token,\n\t\tuserInfo: user,\n\t};\n};\n\nconst authFail: ActionCreator = (error: AxiosError) => {\n\treturn {\n\t\ttype: AUTH_FAIL,\n\t\terror: error,\n\t};\n};\n\nconst authLogout: ActionCreator = () => {\n\treturn {\n\t\ttype: AUTH_LOGOUT,\n\t};\n};\n\n// logout\nconst logout = () => {\n\t//logout from SSO\n\tconst AUTH_TOKEN_VAL = localStore.get(AUTH_TOKEN) || '';\n\n\tif (AUTH_TOKEN_VAL) {\n\t\thttp\n\t\t\t.get(AUTH_API.LOGOUT())\n\t\t\t.then((response: AxiosResponse) => {})\n\t\t\t.catch((err: AxiosError) => {});\n\t\twindow.setTimeout(() => window.open(AUTH_CONFIG.LOGOUT, '_self'), 500);\n\t}\n\n\tlocalStore.remove(AUTH_TOKEN);\n\tlocalStore.remove(AUTH_EXPIRATION);\n\tlocalStore.remove(USER_INFO);\n\tlocalStore.remove(REFRESH_TOKEN);\n\n\treturn {\n\t\ttype: AUTH_LOGOUT,\n\t};\n};\n\n// auth time out after given second\nconst checkAuthTimeout: ActionCreator = (expirationTime: number) => {\n\treturn (dispatch: Dispatch) => {\n\t\tupdateRefreshToken(dispatch);\n\t\twindow.setTimeout(() => {\n\t\t\tdispatch(logout());\n\t\t}, expirationTime * 1000);\n\t};\n};\n\nlet intervalID: number | null = null;\nconst FETCH_REFRESH_TOKEN_IN_MIN = 60; // time after fetch refresh token\nconst REFRESH_TOKEN_INTERVAL = 1000 * 60 * 15; // 15 min\nconst updateRefreshToken = (dispatch: Dispatch) => {\n\tif (intervalID) {\n\t\tclearInterval(intervalID);\n\t\tintervalID = null;\n\t}\n\tintervalID = window.setInterval(() => {\n\t\tconst expiration = localStore.get(AUTH_EXPIRATION);\n\t\tif (expiration) {\n\t\t\tconst expirationDate = new Date(\n\t\t\t\tlocalStore.get(AUTH_EXPIRATION)\n\t\t\t).getTime();\n\t\t\tconst currentDate = new Date().getTime();\n\t\t\tconst diff: number = expirationDate - currentDate;\n\t\t\tconst diffinMin = Math.round(diff / 1000 / 60);\n\t\t\tif (diffinMin <= FETCH_REFRESH_TOKEN_IN_MIN) {\n\t\t\t\tconst msg =\n\t\t\t\t\tdiffinMin > 0\n\t\t\t\t\t\t? `Your session will expire in ${diffinMin} minutes.Please save your work and log back in to continue.`\n\t\t\t\t\t\t: `Your session is expired. Please login again to continue.`;\n\t\t\t\tdispatch(showMessage(msg, MSG_TYPE.ERROR, null));\n\t\t\t}\n\t\t}\n\t}, REFRESH_TOKEN_INTERVAL);\n};\n\n// get token\nconst auth: ActionCreator, any, any, any>> = (\n\tcode: string\n) => {\n\treturn (dispatch: Dispatch) => {\n\t\tdispatch(authStart());\n\n\t\t// SSO Authorization Token\n\t\tconst AUTH_URL = AUTH_API.AUTHORIZATION(code);\n\t\treturn http\n\t\t\t.get(AUTH_URL)\n\t\t\t.then((response: AxiosResponse) => {\n\t\t\t\tconst res = response.data;\n\t\t\t\tconst expirationDate = new Date(\n\t\t\t\t\tnew Date().getTime() + res.expires_in * 1000\n\t\t\t\t);\n\n\t\t\t\tlocalStore.set(AUTH_TOKEN, res.access_token);\n\t\t\t\tlocalStore.set(REFRESH_TOKEN, res.refresh_token);\n\t\t\t\tlocalStore.set(AUTH_EXPIRATION, expirationDate);\n\n\t\t\t\tconst user = decodeJWT(res.access_token);\n\t\t\t\tconst userInfo: User = {\n\t\t\t\t\tname: `${user.fname} ${user.lname}`,\n\t\t\t\t\tfname: user.fname,\n\t\t\t\t\tlname: user.lname,\n\t\t\t\t\tmail: user.mail,\n\t\t\t\t\trole: res.role,\n\t\t\t\t};\n\n\t\t\t\tlocalStore.set(USER_INFO, stringifyJSON(userInfo));\n\n\t\t\t\tdispatch(authSuccess(res.access_token, userInfo));\n\t\t\t\tdispatch(checkAuthTimeout(res.expires_in));\n\t\t\t})\n\t\t\t.catch((err: AxiosError) => {\n\t\t\t\tdispatch(authFail(err));\n\t\t\t});\n\t};\n};\n\n// set redirect path\nconst setAuthRedirectPath: ActionCreator = (\n\tpath: string\n) => {\n\treturn {\n\t\ttype: SET_AUTH_REDIRECT_PATH,\n\t\tpath: path,\n\t};\n};\n\n//check auth state for token is valid\nconst authCheckState = () => {\n\treturn (dispatch: Dispatch) => {\n\t\tconst token = localStore.get(AUTH_TOKEN);\n\t\tif (!token) {\n\t\t\tdispatch(logout());\n\t\t} else {\n\t\t\tconst expirationDate = new Date(localStore.get(AUTH_EXPIRATION));\n\t\t\tif (expirationDate <= new Date()) {\n\t\t\t\tdispatch(logout());\n\t\t\t} else {\n\t\t\t\tconst userInfo = localStore.get(USER_INFO)\n\t\t\t\t\t? parseJSON(localStore.get(USER_INFO))\n\t\t\t\t\t: '';\n\t\t\t\tdispatch(authSuccess(token, userInfo));\n\n\t\t\t\tdispatch(\n\t\t\t\t\tcheckAuthTimeout(\n\t\t\t\t\t\t(expirationDate.getTime() - new Date().getTime()) / 1000\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t};\n};\n\nexport {\n\tauthStart,\n\tauthSuccess,\n\tauthFail,\n\tlogout,\n\tcheckAuthTimeout,\n\tauth,\n\tsetAuthRedirectPath,\n\tauthCheckState,\n};\n","import { SIDEBAR_COLLAPSE, SIDEBAR_EXPAND } from './actions';\n\nexport const collapseMenuAction = () => {\n\treturn { type: SIDEBAR_COLLAPSE };\n};\nexport const expandMenuAction = () => {\n\treturn { type: SIDEBAR_EXPAND };\n};\n","import { COP_GET_PDF_PRINTDATA, COP_SAVE_PDF_PRINTDATA } from './actions';\n\n// Save PDF data\nconst copsavepdfdata = (data: any) => {\n\treturn {\n\t\ttype: COP_SAVE_PDF_PRINTDATA,\n\t\tdata: data,\n\t};\n};\n\nconst copgetpdfdata = () => {\n\treturn {\n\t\ttype: COP_GET_PDF_PRINTDATA,\n\t};\n};\n\nexport { copsavepdfdata, copgetpdfdata };\n","import {\n\tPRODUCERS_SYNC_START,\n\tPRODUCERS_SYNC_FAIL,\n\tPRODUCERS_SYNC_SUCCESS,\n\tPRODUCER_SYNC_OFFLINE,\n\tCOASCHEMA_SYNC_OFFLINE,\n\tCOA_SAVE_DATA_OFFLINE,\n\tCOA_SAVE_DATA_OFFLINE_UPDATE,\n\tLATEST_MARKETPRICE_SYNC_OFFLINE,\n\tDELETE_OFFLINE_VERSIONS,\n\tPRODUCER_SYNC_PROGRESS_OFFLINE,\n} from './actions';\nimport {\n\tProducer,\n\tGenericSchema,\n\tProducerYear,\n\tCostOfProduction,\n\tRiskManagement,\n\tMarketPrice,\n} from '../../schemas';\nimport { Dispatch, ActionCreator } from 'redux';\nimport { AxiosResponse, AxiosError } from 'axios';\nimport { http } from '../../common/services';\nimport { COA_API, RM_API } from '../../common/configs';\nimport * as _ from 'lodash';\nimport { SCHEMA_TYPE } from '../../common/constants';\nimport { formatDateForPriceCurve } from '../../common/utils';\nimport { showMessage } from './message-notification';\n\ninterface IAuthAction {\n\ttype: string;\n}\n\ninterface IAuthSyncYearsOfflineAction extends IAuthAction {\n\tpayload: Producer;\n}\n\ninterface IAuthSyncCOASchemaOfflineAction extends IAuthAction {\n\tpayload: GenericSchema;\n}\n\ninterface IAuthSyncLatestMarketPriceAction extends IAuthAction {\n\tpayload: GenericSchema;\n}\ninterface IAuthOfflineSaveAction {\n\ttype: string;\n\tpayload: GenericSchema;\n}\ninterface IAuthOfflineUpdateAction {\n\ttype: string;\n\tpayload: GenericSchema;\n}\n\ninterface IAuthDeleteOfflineVersionAction {\n\ttype: string;\n\tpayload: GenericSchema;\n}\n\ninterface IAuthSyncProgressOfflineVersionAction {\n\ttype: string;\n\tpayload: string;\n}\n\nconst producerSyncStart: ActionCreator = () => {\n\treturn {\n\t\ttype: PRODUCERS_SYNC_START,\n\t};\n};\n\nconst producerSyncFail: ActionCreator = () => {\n\treturn {\n\t\ttype: PRODUCERS_SYNC_FAIL,\n\t};\n};\n\nconst producerSyncSuccess: ActionCreator = () => {\n\treturn {\n\t\ttype: PRODUCERS_SYNC_SUCCESS,\n\t};\n};\n\nconst syncProducer: ActionCreator = (\n\tproducer: Producer,\n\tkey: string\n) => {\n\tproducerSyncStart();\n\treturn {\n\t\ttype: PRODUCER_SYNC_OFFLINE,\n\t\tpayload: { ...producer, key },\n\t};\n};\n\nconst syncProgress: ActionCreator = (\n\tpayload: string\n) => {\n\treturn {\n\t\ttype: PRODUCER_SYNC_PROGRESS_OFFLINE,\n\t\tpayload: payload,\n\t};\n};\n\nconst saveOffline: ActionCreator = (\n\trecord: CostOfProduction | RiskManagement,\n\tproducerIdentifier: string,\n\tyear: string,\n\ttype: string,\n\tkey: string = ''\n) => {\n\treturn {\n\t\ttype: COA_SAVE_DATA_OFFLINE,\n\t\tpayload: { key, record, producerIdentifier, year, type },\n\t};\n};\n\nconst updateOfflineData: ActionCreator = (\n\tproducerIdentifier: string,\n\tyear: string,\n\ttype: string,\n\tversionIdentifier: number,\n\tserverIdentifier: number,\n\tkey: string\n) => {\n\treturn {\n\t\ttype: COA_SAVE_DATA_OFFLINE_UPDATE,\n\t\tpayload: {\n\t\t\tversionIdentifier,\n\t\t\tproducerIdentifier,\n\t\t\tserverIdentifier,\n\t\t\tyear,\n\t\t\ttype,\n\t\t\tkey,\n\t\t},\n\t};\n};\n\nconst syncCOASchema: ActionCreator = (\n\tschema: GenericSchema,\n\tversionIdentifier: string\n) => {\n\treturn {\n\t\ttype: COASCHEMA_SYNC_OFFLINE,\n\t\tpayload: { ...schema, versionIdentifier },\n\t};\n};\n\nconst syncLatestMarketPrice: ActionCreator = (\n\tmarketPriceList: Array,\n\tkey: string\n) => {\n\treturn {\n\t\ttype: LATEST_MARKETPRICE_SYNC_OFFLINE,\n\t\tpayload: { marketPriceList, key },\n\t};\n};\n\n// delete all offline versions\nconst deleteOfflineVersions: ActionCreator = (\n\tproducerIdentifier: string,\n\tyear: string,\n\tkey: string\n) => {\n\treturn {\n\t\ttype: DELETE_OFFLINE_VERSIONS,\n\t\tpayload: { producerIdentifier, year, key },\n\t};\n};\n\n// get market price by RM - MTM date to sync offline\nconst getMarketPriceByDate = async (\n\tdate: string,\n\tmonth: string = '',\n\tyear: string = ''\n) => {\n\treturn await http.get(RM_API.MARKET_PRICE_HISTORIC_LIST(date, month, year));\n};\n\n// download data and take offline selected year(s) of a specific producer\nconst takeProducerOffline = (producer: Producer, key: string) => {\n\treturn (dispatch: Dispatch) => {\n\t\tdispatch(producerSyncStart());\n\t\tconst promises: Array = [];\n\t\tconst schemaVersion: Array = [];\n\t\tproducer.versions.forEach((version: ProducerYear) => {\n\t\t\tversion.costOfProductionVersions.forEach((cop: CostOfProduction) => {\n\t\t\t\tlet URL: string = COA_API.GET_COP_DATA(\n\t\t\t\t\tproducer.producerIdentifier,\n\t\t\t\t\tversion.year,\n\t\t\t\t\tString(cop.version),\n\t\t\t\t\tSCHEMA_TYPE.COP\n\t\t\t\t);\n\t\t\t\tpromises.push(\n\t\t\t\t\thttp.get(URL).then((response: AxiosResponse) => {\n\t\t\t\t\t\tcop.journalEntry = response.data;\n\t\t\t\t\t\tcop.isOffline = true;\n\t\t\t\t\t})\n\t\t\t\t);\n\t\t\t\tschemaVersion.push(String(cop.chartOfAccountsVersion));\n\t\t\t});\n\n\t\t\tversion.riskMarketingVersions.forEach((rm: RiskManagement) => {\n\t\t\t\tlet URL: string = COA_API.GET_COP_DATA(\n\t\t\t\t\tproducer.producerIdentifier,\n\t\t\t\t\tversion.year,\n\t\t\t\t\tString(rm.version),\n\t\t\t\t\tSCHEMA_TYPE.RM\n\t\t\t\t);\n\t\t\t\tpromises.push(\n\t\t\t\t\thttp.get(URL).then((response: AxiosResponse) => {\n\t\t\t\t\t\trm.journalEntry = response.data;\n\t\t\t\t\t\trm.isOffline = true;\n\t\t\t\t\t\trm.marketPriceList = [];\n\n\t\t\t\t\t\t// market price\n\t\t\t\t\t\tconst mtmDate =\n\t\t\t\t\t\t\tresponse?.data?.journalEntry?.journalEntryHeader\n\t\t\t\t\t\t\t\t?.documentReference[2]?.documentDateTime || '';\n\t\t\t\t\t\tconst finacialYear =\n\t\t\t\t\t\t\tString(\n\t\t\t\t\t\t\t\tNumber(\n\t\t\t\t\t\t\t\t\tresponse?.data?.journalEntry?.journalEntryLine[0]?.extension\n\t\t\t\t\t\t\t\t\t\t?.accountingPeriod[0]?.year\n\t\t\t\t\t\t\t\t) - 1\n\t\t\t\t\t\t\t) || '';\n\t\t\t\t\t\tconst financialYearStartmonth =\n\t\t\t\t\t\t\tresponse?.data?.journalEntry?.journalEntryLine[0]?.extension\n\t\t\t\t\t\t\t\t?.accountingPeriod[0]?.identifier || 'January';\n\t\t\t\t\t\tif (mtmDate) {\n\t\t\t\t\t\t\tconst date = formatDateForPriceCurve(mtmDate);\n\t\t\t\t\t\t\tconst price = getMarketPriceByDate(\n\t\t\t\t\t\t\t\tdate,\n\t\t\t\t\t\t\t\tfinancialYearStartmonth,\n\t\t\t\t\t\t\t\tfinacialYear\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tprice\n\t\t\t\t\t\t\t\t.then((response: AxiosResponse) => {\n\t\t\t\t\t\t\t\t\trm.marketPriceList = response.data || [];\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t.catch((err: AxiosError) => {\n\t\t\t\t\t\t\t\t\tdispatch(showMessage(err?.message));\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t);\n\t\t\t});\n\t\t});\n\n\t\tconst COAVersionToBeSynced = _.uniq(schemaVersion).join(',');\n\t\tlet schemas: Array = [];\n\t\tpromises.push(\n\t\t\thttp\n\t\t\t\t.get(COA_API.GET_COP_SCHEMA(COAVersionToBeSynced))\n\t\t\t\t.then((response: AxiosResponse) => {\n\t\t\t\t\tschemas = _.isArray(response.data) ? response.data : [response.data];\n\t\t\t\t})\n\t\t\t\t.catch((err: AxiosError) => {\n\t\t\t\t\tdispatch(showMessage(err?.message));\n\t\t\t\t})\n\t\t);\n\t\t//current version COA schema\n\t\tpromises.push(\n\t\t\thttp\n\t\t\t\t.get(COA_API.GET_COP_SCHEMA(''))\n\t\t\t\t.then((response: AxiosResponse) => {\n\t\t\t\t\tschemas.push(response.data);\n\t\t\t\t})\n\t\t\t\t.catch((err: AxiosError) => {\n\t\t\t\t\tdispatch(showMessage(err?.message));\n\t\t\t\t})\n\t\t);\n\n\t\t//current price\n\t\tconst date = formatDateForPriceCurve(new Date());\n\t\tpromises.push(\n\t\t\thttp\n\t\t\t\t.get(RM_API.MARKET_PRICE_HISTORIC_LIST(date))\n\t\t\t\t.then((response: AxiosResponse) => {\n\t\t\t\t\tconst marketPriceList = response.data || [];\n\n\t\t\t\t\tdispatch(syncLatestMarketPrice(marketPriceList, key));\n\t\t\t\t})\n\t\t\t\t.catch((err: AxiosError) => {\n\t\t\t\t\tdispatch(showMessage(err?.message));\n\t\t\t\t})\n\t\t);\n\n\t\tlet counter = 0;\n\t\tfor (let i = 0; i < promises.length; i++) {\n\t\t\tpromises[i].then((resp: AxiosResponse) => {\n\t\t\t\tcounter++;\n\t\t\t\tconst per = Math.floor((counter / promises?.length) * 100);\n\t\t\t\tdispatch(syncProgress(per));\n\t\t\t\treturn resp;\n\t\t\t});\n\t\t}\n\n\t\t// fetch all ans save it Offline\n\t\tPromise.all(promises)\n\t\t\t.then(() => {\n\t\t\t\tschemas.forEach((schema: GenericSchema) => {\n\t\t\t\t\tdispatch(\n\t\t\t\t\t\tsyncCOASchema(\n\t\t\t\t\t\t\tschema,\n\t\t\t\t\t\t\tschema?.showChartOfAccounts?.versionIdentifier\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t});\n\t\t\t\tdispatch(syncProducer(producer, key));\n\t\t\t\tdispatch(producerSyncSuccess());\n\t\t\t})\n\t\t\t.catch(() => {\n\t\t\t\tdispatch(producerSyncFail());\n\t\t\t\tdispatch(showMessage('Something went wrong,Please try again.'));\n\t\t\t});\n\t};\n};\n\nexport {\n\tproducerSyncStart,\n\tproducerSyncFail,\n\tproducerSyncSuccess,\n\ttakeProducerOffline,\n\tsaveOffline,\n\tupdateOfflineData,\n\tdeleteOfflineVersions,\n\tsyncProgress,\n};\n","import { SELECT_PRODUCER_YEAR, CLEAR_PRODUCER_YEAR } from './actions';\n\nexport const selectProducerYearAction = (yearData: any) => {\n\treturn { type: SELECT_PRODUCER_YEAR, payload: yearData };\n};\n\nexport const clearProducerYearAction = () => {\n\treturn { type: CLEAR_PRODUCER_YEAR };\n};\n","import { GenericSchema } from '..';\nimport {\n\tCLASS3_BREAKEVEN_ID,\n\tCLASS4_BREAKEVEN_ID,\n\tCOMMODITY_SUMMARY,\n\tComm_Divisor_Dict,\n\tComm_Multiplier_Dict,\n\tComm_SymbolTo_Volume_Dict,\n\tFULL_MONTHS,\n\tRM_COMMODITIES,\n\tRM_OPERATING_FORECAST_SECTION_CODES,\n\tRM_OPTIONS,\n\tRM_SECTION_CODES,\n\tRM_TYPECODES,\n\tSECTION_CODES,\n\tSECTION_TYPE_CODE,\n} from '../../common/constants';\nimport {\n\tPositionSourceType,\n\tVolumeInOneContract,\n} from '../../common/constants/madcap.constants';\nimport {\n\tgetMonthFromString,\n\tgetNumber,\n\tgetPropertyIndex,\n} from '../../common/utils';\nimport { Position_DICTIONARY } from '../../store/actions/actions';\ninterface IAverageCalculate {\n\tevaluate(pmlist: PositionModel[]): void;\n}\ninterface IJsonSerializer {\n\tfromJson(jsonObject: any): void;\n\ttoJson(): any;\n}\n\nconst PostionEvents = {\n\tCALCULATION_UPDATED: 'Calculation updated',\n};\nconst typeCodeIdentifierReducer = (arr: Array) => {\n\treturn arr.reduce((last: any, item: any) => {\n\t\tlast[item.typeCode.replace(/ /g, '_')] = item.identifier;\n\t\treturn last;\n\t}, {});\n};\nconst typeCodeIdentifierRestore = (obj: any) => {\n\tvar list = [];\n\tfor (var key in obj) {\n\t\tlist.push({\n\t\t\ttypeCode: key.replace(/_/g, ' '),\n\t\t\tidentifier: obj[key],\n\t\t});\n\t}\n\treturn list;\n};\n\nconst typeCodeContentReducer = (arr: Array) => {\n\treturn arr.reduce((last: any, item: any) => {\n\t\tlast[item.typeCode.replace(/ /g, '_')] = isNaN(parseFloat(item.content))\n\t\t\t? item.content\n\t\t\t: parseFloat(item.content);\n\t\treturn last;\n\t}, {});\n};\n\nconst typeCodeContentRestore = (obj: any) => {\n\tvar list = [];\n\tfor (var key in obj) {\n\t\tlist.push({\n\t\t\ttypeCode: key.replace(/_/g, ' '),\n\t\t\tcontent: obj[key],\n\t\t});\n\t}\n\treturn list;\n};\n\nexport enum PositionEditFieldType {\n\tStrike = 'Strike',\n\tNoOfContracts = 'NoOfContracts',\n\tAdminFee = 'AdminFee',\n\tPremium = 'Premium',\n\tMadCap_Reference = 'MadCap_Reference',\n}\n\nexport class PositionContainer implements IJsonSerializer {\n\tperiodSettlePrice: number = 1;\n\ttypeCode: string = '';\n\tcode: { Commodity: string } = { Commodity: '' };\n\taccountingPeriod: {\n\t\tidentifier: string;\n\t\tperiodIdentifier: string;\n\t\tyear: string;\n\t} = { identifier: '', periodIdentifier: '', year: '' };\n\tpositionList: PositionModel[] = [];\n\tconstructor() {\n\t\tthis.positionNotificationHandler = this.positionNotificationHandler.bind(\n\t\t\tthis\n\t\t);\n\t\tthis.returnMarketPrice = this.returnMarketPrice.bind(this);\n\t}\n\n\tfromJson(jsonObject: any): void {\n\t\t//console.log(\"typeCode ---\", jsonObject.typeCode);\n\n\t\tthis.typeCode = jsonObject.typeCode;\n\t\tthis.code = typeCodeContentReducer(jsonObject.extension.code);\n\t\tthis.accountingPeriod = jsonObject.extension.accountingPeriod[0];\n\t\tjsonObject.extension.distribution.forEach((positionJson: any) => {\n\t\t\t//console.log(\"typeCode ---\", positionJson.typeCode);\n\t\t\tif (positionJson.typeCode == 'Summary') {\n\t\t\t\tconst summaryModel = new PositionSummaryModel();\n\t\t\t\tsummaryModel.fromJson(positionJson);\n\t\t\t\tsummaryModel.getPeriodSettlePrice = this.returnMarketPrice;\n\t\t\t\t/// set the previous settled price for the entiry\n\t\t\t\tif (\n\t\t\t\t\tsummaryModel.extension.typeCode == COMMODITY_SUMMARY.CONTRACT_SETTLE\n\t\t\t\t) {\n\t\t\t\t\tthis.periodSettlePrice = summaryModel.extension.amount.Strike;\n\t\t\t\t}\n\t\t\t\tthis.positionList.push(summaryModel);\n\t\t\t} else {\n\t\t\t\tif (\n\t\t\t\t\tpositionJson.typeCode == RM_OPTIONS.CEILING &&\n\t\t\t\t\tpositionJson.extension.typeCode == RM_TYPECODES.MTM_FUTURES_POSITION\n\t\t\t\t) {\n\t\t\t\t\tconst netCeiling = new NetCeilingMTM();\n\t\t\t\t\tnetCeiling.fromJson(positionJson);\n\t\t\t\t\tthis.positionList.push(netCeiling);\n\t\t\t\t} else if (\n\t\t\t\t\tpositionJson.typeCode == RM_OPTIONS.FLOOR &&\n\t\t\t\t\tpositionJson.extension.typeCode == RM_TYPECODES.MTM_FUTURES_POSITION\n\t\t\t\t) {\n\t\t\t\t\tconst netFloorMTM = new NetFloorMTM();\n\t\t\t\t\tnetFloorMTM.fromJson(positionJson);\n\t\t\t\t\tthis.positionList.push(netFloorMTM);\n\t\t\t\t} else if (\n\t\t\t\t\tpositionJson.typeCode == RM_OPTIONS.CONTRACT &&\n\t\t\t\t\tpositionJson.extension.typeCode == RM_TYPECODES.MTM_FUTURES_POSITION\n\t\t\t\t) {\n\t\t\t\t\tconst netcontractMTM = new NetContractMTM();\n\t\t\t\t\tnetcontractMTM.fromJson(positionJson);\n\t\t\t\t\tthis.positionList.push(netcontractMTM);\n\t\t\t\t} else if (\n\t\t\t\t\tpositionJson.typeCode == RM_OPTIONS.COLLAR &&\n\t\t\t\t\tpositionJson.extension.typeCode == RM_TYPECODES.MTM_FUTURES_POSITION\n\t\t\t\t) {\n\t\t\t\t\tconst netCollarMTM = new NetCollarMTM();\n\t\t\t\t\tnetCollarMTM.fromJson(positionJson);\n\t\t\t\t\tthis.positionList.push(netCollarMTM);\n\t\t\t\t} else {\n\t\t\t\t\tconst pm = new PositionModel();\n\t\t\t\t\t// pm.notifyChange.addListener(\n\t\t\t\t\t// \tPostionEvents.CALCULATION_UPDATED,\n\t\t\t\t\t// \tthis.positionNotificationHandler\n\t\t\t\t\t// );\n\t\t\t\t\tpm.volumeInOneContract =\n\t\t\t\t\t\tComm_SymbolTo_Volume_Dict[this.code.Commodity];\n\t\t\t\t\tpm.divisor = Comm_Divisor_Dict[this.code.Commodity];\n\t\t\t\t\tpm.multiplier = Comm_Multiplier_Dict[this.code.Commodity];\n\t\t\t\t\tpm.getPeriodSettlePrice = this.returnMarketPrice;\n\t\t\t\t\tpm.fromJson(positionJson);\n\t\t\t\t\tthis.positionList.push(pm);\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.checkOptionSummary();\n\t\t});\n\t}\n\n\treturnMarketPrice() {\n\t\treturn this.periodSettlePrice;\n\t}\n\n\tcheckOptionSummary() {\n\t\tthis.checkOptionsSummaryObjectForType(RM_OPTIONS.CEILING, NetCeilingMTM);\n\t\tthis.checkOptionsSummaryObjectForType(RM_OPTIONS.COLLAR, NetCollarMTM);\n\t\tthis.checkOptionsSummaryObjectForType(RM_OPTIONS.CONTRACT, NetContractMTM);\n\t\tthis.checkOptionsSummaryObjectForType(RM_OPTIONS.FLOOR, NetFloorMTM);\n\t}\n\n\tcheckOptionsSummaryObjectForType(typeCode: string, type: any) {\n\t\tif (\n\t\t\tthis.positionList.filter(\n\t\t\t\titem => item instanceof type && item.typeCode == typeCode\n\t\t\t).length > 0\n\t\t) {\n\t\t\tconst netMtmFloorList = this.positionList.filter(\n\t\t\t\titem => item instanceof type\n\t\t\t);\n\t\t\t// delete all the additional item\n\t\t\tif (netMtmFloorList.length > 1) {\n\t\t\t\tfor (let i = 1; i < netMtmFloorList.length; i++) {\n\t\t\t\t\tconst currMtmFloorObj = netMtmFloorList[i];\n\t\t\t\t\tthis.positionList.splice(\n\t\t\t\t\t\tthis.positionList.indexOf(currMtmFloorObj),\n\t\t\t\t\t\t1\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// get a floor instance and call positionNotification\n\t\t\tconst foundItem = this.positionList.find(\n\t\t\t\titem => item instanceof PositionModel && item.typeCode == typeCode\n\t\t\t);\n\t\t\tif (foundItem) {\n\t\t\t\tthis.positionNotificationHandler(foundItem);\n\t\t\t}\n\t\t}\n\t}\n\n\tpositionNotificationHandler(data: PositionModel) {\n\t\tconsole.log('Listenting to changes data', data);\n\t\t// data.typeCode==\n\t\t// how to access model of ceiling summary, floor summary, collar amd contract\n\n\t\t// get summary objects for calculation via this.positionlist.filter(item=> typeof(item) == \"SummaryModel\" and RM Types)\n\t\tif (data.typeCode == RM_OPTIONS.FLOOR) {\n\t\t\tlet mtmfloor: any = this.positionList.find(\n\t\t\t\titem => item instanceof NetFloorMTM\n\t\t\t);\n\t\t\tif (!mtmfloor) {\n\t\t\t\tmtmfloor = new NetFloorMTM();\n\t\t\t\tthis.positionList.push(mtmfloor);\n\t\t\t}\n\t\t\tmtmfloor.evaluate(\n\t\t\t\tthis.positionList.filter(\n\t\t\t\t\titem =>\n\t\t\t\t\t\titem.typeCode == RM_OPTIONS.FLOOR &&\n\t\t\t\t\t\titem.extension.typeCode == RM_OPTIONS.FLOOR\n\t\t\t\t)\n\t\t\t);\n\t\t} else if (data.typeCode == RM_OPTIONS.CEILING) {\n\t\t\tlet mtmceiling: any = this.positionList.find(\n\t\t\t\titem => item instanceof NetCeilingMTM\n\t\t\t);\n\t\t\tif (!mtmceiling) {\n\t\t\t\tmtmceiling = new NetCeilingMTM();\n\t\t\t\tthis.positionList.push(mtmceiling);\n\t\t\t}\n\t\t\tmtmceiling.evaluate(\n\t\t\t\tthis.positionList.filter(\n\t\t\t\t\titem =>\n\t\t\t\t\t\titem.typeCode == RM_OPTIONS.CEILING &&\n\t\t\t\t\t\titem.extension.typeCode == RM_OPTIONS.CEILING\n\t\t\t\t)\n\t\t\t);\n\t\t} else if (data.typeCode == RM_OPTIONS.COLLAR) {\n\t\t\tlet mtmcollar: any = this.positionList.find(\n\t\t\t\titem => item instanceof NetCollarMTM\n\t\t\t);\n\t\t\tif (!mtmcollar) {\n\t\t\t\tmtmcollar = new NetCollarMTM();\n\t\t\t\tthis.positionList.push(mtmcollar);\n\t\t\t}\n\t\t\tmtmcollar.evaluate(\n\t\t\t\tthis.positionList.filter(item => item.typeCode == RM_OPTIONS.COLLAR)\n\t\t\t);\n\t\t} else if (data.typeCode == RM_OPTIONS.CONTRACT) {\n\t\t\tlet mtmContract: any = this.positionList.find(\n\t\t\t\titem => item instanceof NetContractMTM\n\t\t\t);\n\t\t\tif (!mtmContract) {\n\t\t\t\tmtmContract = new NetContractMTM();\n\t\t\t\tthis.positionList.push(mtmContract);\n\t\t\t}\n\t\t\tconsole.log(\n\t\t\t\t'mtmContract.evaluate',\n\t\t\t\tmtmContract.evalutate,\n\t\t\t\tmtmContract instanceof NetContractMTM,\n\t\t\t\ttypeof mtmContract.evaluate\n\t\t\t);\n\t\t\tif (mtmContract.evaluate) {\n\t\t\t\tmtmContract.evaluate(\n\t\t\t\t\tthis.positionList.filter(\n\t\t\t\t\t\titem =>\n\t\t\t\t\t\t\titem.typeCode == RM_OPTIONS.CONTRACT &&\n\t\t\t\t\t\t\titem.extension.typeCode == RM_OPTIONS.CONTRACT\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\tconst obj = this.positionList\n\t\t\t? this.positionList.filter(\n\t\t\t\t\titem => item.extension.typeCode == COMMODITY_SUMMARY.HEDGE_YIELD\n\t\t\t )\n\t\t\t: null;\n\n\t\tconsole.log('', obj);\n\t}\n\n\ttoJson() {\n\t\treturn {\n\t\t\ttypeCode: this.typeCode,\n\t\t\textension: {\n\t\t\t\tcode: typeCodeContentRestore(this.code),\n\t\t\t\taccountingPeriod: [this.accountingPeriod],\n\t\t\t\tdistribution: this.positionList.map(item => item.toJson()),\n\t\t\t},\n\t\t};\n\t}\n\n\tdeletePosition(positionModel: PositionModel) {\n\t\tif (this.positionList.indexOf(positionModel) != -1) {\n\t\t\tthis.positionList.splice(this.positionList.indexOf(positionModel), 1);\n\t\t\tthis.checkOptionsSummaryObjectForType(\n\t\t\t\tpositionModel.typeCode,\n\t\t\t\tpositionModel.typeCode == RM_OPTIONS.CEILING\n\t\t\t\t\t? NetCeilingMTM\n\t\t\t\t\t: positionModel.typeCode == RM_OPTIONS.COLLAR\n\t\t\t\t\t? NetCollarMTM\n\t\t\t\t\t: positionModel.typeCode == RM_OPTIONS.CONTRACT\n\t\t\t\t\t? NetContractMTM\n\t\t\t\t\t: positionModel.typeCode == RM_OPTIONS.FLOOR\n\t\t\t\t\t? NetFloorMTM\n\t\t\t\t\t: ''\n\t\t\t);\n\t\t}\n\t}\n\n\taddFloor() {\n\t\tconst pm = new PositionModel();\n\t\tpm.typeCode = RM_OPTIONS.FLOOR;\n\t\tpm.extension.typeCode = RM_OPTIONS.FLOOR;\n\t\tpm.quantity.Number_of_Contracts = 0;\n\t\tpm.volumeInOneContract = Comm_SymbolTo_Volume_Dict[this.code.Commodity];\n\t\tpm.divisor = Comm_Divisor_Dict[this.code.Commodity];\n\t\tpm.multiplier = Comm_Multiplier_Dict[this.code.Commodity];\n\t\tpm.quantity.Volume = 0;\n\n\t\tpm.getPeriodSettlePrice = this.returnMarketPrice;\n\t\tpm.positionReferences.Position_Source = PositionSourceType.Manual;\n\n\t\tthis.positionList.push(pm);\n\n\t\tpm.setAdminFee(0);\n\t\tpm.setStrike(0);\n\t\tpm.setPremium(0);\n\t\tthis.checkOptionsSummaryObjectForType(RM_OPTIONS.FLOOR, NetFloorMTM);\n\t}\n\n\taddCeiling() {\n\t\tconst pm = new PositionModel();\n\t\tpm.typeCode = RM_OPTIONS.CEILING;\n\t\tpm.extension.typeCode = RM_OPTIONS.CEILING;\n\t\tpm.quantity.Number_of_Contracts = 0;\n\t\tpm.getPeriodSettlePrice = this.returnMarketPrice;\n\t\tpm.volumeInOneContract = Comm_SymbolTo_Volume_Dict[this.code.Commodity];\n\t\tpm.quantity.Volume = 0;\n\t\tpm.divisor = Comm_Divisor_Dict[this.code.Commodity];\n\t\tpm.multiplier = Comm_Multiplier_Dict[this.code.Commodity];\n\t\tpm.positionReferences.Position_Source = PositionSourceType.Manual;\n\n\t\tthis.positionList.push(pm);\n\n\t\tpm.setAdminFee(0);\n\t\tpm.setStrike(0);\n\t\tpm.setPremium(0);\n\t\tthis.checkOptionsSummaryObjectForType(RM_OPTIONS.CEILING, NetCeilingMTM);\n\t}\n\n\taddContract() {\n\t\tconst pm = new PositionModel();\n\t\tpm.typeCode = RM_OPTIONS.CONTRACT;\n\t\tpm.extension.typeCode = RM_OPTIONS.CONTRACT;\n\t\tpm.quantity.Number_of_Contracts = 0;\n\t\tpm.getPeriodSettlePrice = this.returnMarketPrice;\n\t\tpm.volumeInOneContract = Comm_SymbolTo_Volume_Dict[this.code.Commodity];\n\t\tpm.divisor = Comm_Divisor_Dict[this.code.Commodity];\n\t\tpm.multiplier = Comm_Multiplier_Dict[this.code.Commodity];\n\t\tpm.quantity.Volume = 0;\n\t\tpm.positionReferences.Position_Source = PositionSourceType.Manual;\n\t\tthis.positionList.push(pm);\n\n\t\tpm.setAdminFee(0);\n\t\tpm.setStrike(0);\n\t\tpm.setPremium(0);\n\t\tthis.checkOptionsSummaryObjectForType(RM_OPTIONS.CONTRACT, NetContractMTM);\n\t}\n\n\taddCollar() {\n\t\tconst length = this.positionList.length;\n\t\tconst pm = new PositionModel();\n\t\tpm.identifierSet = { identifier: length };\n\t\tpm.typeCode = RM_OPTIONS.COLLAR;\n\t\tpm.extension.typeCode = RM_OPTIONS.FLOOR;\n\t\tpm.quantity.Number_of_Contracts = 0;\n\t\tpm.quantity.Volume = 0;\n\t\tpm.getPeriodSettlePrice = this.returnMarketPrice;\n\t\tpm.volumeInOneContract = Comm_SymbolTo_Volume_Dict[this.code.Commodity];\n\t\tpm.divisor = Comm_Divisor_Dict[this.code.Commodity];\n\t\tpm.multiplier = Comm_Multiplier_Dict[this.code.Commodity];\n\t\tpm.positionReferences.Position_Source = PositionSourceType.Manual;\n\n\t\tthis.positionList.push(pm);\n\n\t\tpm.setAdminFee(0);\n\t\tpm.setStrike(0);\n\t\tpm.setPremium(0);\n\n\t\tconst pm1 = new PositionModel();\n\t\tpm1.identifierSet = { identifier: length };\n\n\t\tpm1.typeCode = RM_OPTIONS.COLLAR;\n\t\tpm1.extension.typeCode = RM_OPTIONS.CEILING;\n\t\tpm1.quantity.Number_of_Contracts = 0;\n\t\tpm1.getPeriodSettlePrice = this.returnMarketPrice;\n\t\tpm1.volumeInOneContract = Comm_SymbolTo_Volume_Dict[this.code.Commodity];\n\n\t\tpm1.divisor = Comm_Divisor_Dict[this.code.Commodity];\n\t\tpm1.multiplier = Comm_Multiplier_Dict[this.code.Commodity];\n\n\t\t// pm1.notifyChange.addListener(\n\t\t// \tPostionEvents.CALCULATION_UPDATED,\n\t\t// \tthis.positionNotificationHandler\n\t\t// );\n\t\tpm1.positionReferences.Position_Source = PositionSourceType.Manual;\n\n\t\tthis.positionList.push(pm1);\n\n\t\tpm1.setAdminFee(0);\n\t\tpm1.setStrike(0);\n\t\tpm1.setPremium(0);\n\t\tthis.checkOptionsSummaryObjectForType(RM_OPTIONS.COLLAR, NetCollarMTM);\n\t}\n}\n\nexport class PositionModel implements IJsonSerializer {\n\tgetPeriodSettlePrice: () => number = () => {\n\t\t// if (store.getState()?.marketprice) {\n\t\t// \tconst MARKET_PRICE = store.getState()?.marketprice?.list;\n\t\t// \tconst marketpriceList = MARKET_PRICE.filter(\n\t\t// \t\t(item: MarketPrice) => item.symbolCode === 'commodity'\n\t\t// \t);\n\t\t// \tconst list = getUniqueLatestMarketPriceFromList(marketpriceList);\n\t\t// \tlet price: MarketPrice = new MarketPrice();\n\t\t// \tlist.forEach((item: MarketPrice) => {\n\t\t// \t\tif (\n\t\t// \t\t\titem.month.toString() == 'month' &&\n\t\t// \t\t\titem.year.toString() == 'year'\n\t\t// \t\t) {\n\t\t// \t\t\tprice = item;\n\t\t// \t\t}\n\t\t// \t});\n\t\t// \treturn price.settlementPriceAmount;\n\t\t// }\n\t\treturn Number.POSITIVE_INFINITY;\n\t};\n\ttypeCode: string = '';\n\tdivisor = 100;\n\tmultiplier = 1;\n\tvalidation = {\n\t\terror: true,\n\t\tmessage: 'Should either have MadCap Reference Or Comment.',\n\t};\n\tvolumeInOneContract = VolumeInOneContract;\n\tquantity: { Number_of_Contracts: number; Volume: number };\n\tidentifierSet: { identifier: string | number };\n\tpositionReferences: {\n\t\tPosition_Source: string;\n\t\tMadCap_Reference: string;\n\t\tOrder_Status: string;\n\t\tPosition_Note: string;\n\t\tMadCap_Ref_OID: string;\n\t};\n\n\t// notifyChange: EventEmitter = new EventEmitter();\n\n\textension: {\n\t\ttypeCode: string;\n\t\tamount: {\n\t\t\tAdmin_Fee: number;\n\t\t\tNet: number;\n\t\t\tPremium: number;\n\t\t\tStrike: number;\n\t\t};\n\t};\n\n\tconstructor() {\n\t\tthis.extension = {\n\t\t\ttypeCode: '',\n\t\t\tamount: { Admin_Fee: 0, Net: 0, Premium: 0, Strike: 0 },\n\t\t};\n\t\tthis.quantity = { Number_of_Contracts: 0, Volume: 0 };\n\t\tthis.positionReferences = {\n\t\t\tPosition_Source: PositionSourceType.Manual,\n\t\t\tMadCap_Reference: '',\n\t\t\tOrder_Status: 'Manual',\n\t\t\tPosition_Note: '',\n\t\t\tMadCap_Ref_OID: '',\n\t\t};\n\t\tthis.identifierSet = { identifier: 0 };\n\t\tthis.setStrike = this.setStrike.bind(this);\n\t\tthis.setNumberOfContracts = this.setNumberOfContracts.bind(this);\n\t\tthis.setAdminFee = this.setAdminFee.bind(this);\n\t\tthis.setPremium = this.setPremium.bind(this);\n\t}\n\n\tsetNumberOfContracts(value: number) {\n\t\tlet multiplier = 1;\n\t\tswitch (this.typeCode) {\n\t\t\tcase RM_OPTIONS.FLOOR:\n\t\t\t\tmultiplier = -1 * this.volumeInOneContract;\n\t\t\t\tbreak;\n\t\t\tcase RM_OPTIONS.CEILING:\n\t\t\t\tmultiplier = this.volumeInOneContract;\n\t\t\t\tbreak;\n\t\t\tcase RM_OPTIONS.CONTRACT:\n\t\t\t\tmultiplier = this.volumeInOneContract;\n\t\t\t\tbreak;\n\t\t\tcase RM_OPTIONS.COLLAR:\n\t\t\t\tif (this.extension.typeCode == RM_OPTIONS.FLOOR) {\n\t\t\t\t\tif (this.getPeriodSettlePrice() < this.extension.amount.Strike) {\n\t\t\t\t\t\tmultiplier = this.volumeInOneContract * -1;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tmultiplier = 0;\n\t\t\t\t\t}\n\t\t\t\t} else if (this.extension.typeCode == RM_OPTIONS.CEILING) {\n\t\t\t\t\tif (this.getPeriodSettlePrice() > this.extension.amount.Strike) {\n\t\t\t\t\t\tmultiplier = this.volumeInOneContract * 1;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tmultiplier = 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\n\t\t//if (value != this.quantity.Number_of_Contracts) {\n\t\tthis.quantity.Number_of_Contracts = value;\n\t\tthis.quantity.Volume = value * multiplier;\n\t\tthis.calculateNet();\n\t\t//}\n\t}\n\tsetAdminFee(value: number) {\n\t\tif (value != this.extension.amount.Admin_Fee) {\n\t\t\tthis.extension.amount.Admin_Fee = value;\n\t\t\tthis.calculateNet();\n\t\t}\n\t}\n\n\tsetPremium(value: number) {\n\t\tif (value != this.extension.amount.Premium) {\n\t\t\tthis.extension.amount.Premium = value;\n\t\t\tthis.calculateNet();\n\t\t}\n\t}\n\n\tsetStrike(value: number) {\n\t\tif (value != this.extension.amount.Strike) {\n\t\t\tthis.extension.amount.Strike = value;\n\t\t\tif (this.typeCode == RM_OPTIONS.COLLAR) {\n\t\t\t\tthis.setNumberOfContracts(this.quantity.Number_of_Contracts);\n\t\t\t}\n\t\t\tthis.calculateNet();\n\t\t}\n\t}\n\n\tfromJson(jsonObject: any): void {\n\t\tthis.typeCode = jsonObject.typeCode;\n\t\tthis.quantity = typeCodeContentReducer(jsonObject.quantity);\n\t\tthis.extension = {\n\t\t\ttypeCode: jsonObject.extension.typeCode,\n\t\t\tamount: typeCodeContentReducer(jsonObject.extension.amount),\n\t\t};\n\n\t\t// admin fee was added in phase 2 older record does not have value for it\n\t\tif (isNaN(this.extension.amount.Admin_Fee)) {\n\t\t\tthis.extension.amount.Admin_Fee = 0;\n\t\t}\n\n\t\tif (\n\t\t\tjsonObject.positionReferences &&\n\t\t\tjsonObject.positionReferences.length > 0\n\t\t) {\n\t\t\tthis.positionReferences = typeCodeIdentifierReducer(\n\t\t\t\tjsonObject.positionReferences\n\t\t\t);\n\t\t}\n\t\tthis.identifierSet = jsonObject.identifierSet;\n\t\t//console.log('After parsing log this', this);\n\t\tthis.calculateNet();\n\t}\n\n\ttoJson() {\n\t\treturn {\n\t\t\ttypeCode: this.typeCode,\n\t\t\tidentifierSet: this.identifierSet,\n\t\t\tpositionReferences: typeCodeIdentifierRestore(this.positionReferences),\n\t\t\tquantity: typeCodeContentRestore(this.quantity),\n\t\t\textension: {\n\t\t\t\ttypeCode: this.extension?.typeCode,\n\t\t\t\tamount: typeCodeContentRestore(this.extension?.amount),\n\t\t\t},\n\t\t};\n\t}\n\tgetNetValueFromSettleLessThanStrikeFloor() {\n\t\tif (this.getPeriodSettlePrice() < this.extension.amount.Strike) {\n\t\t\treturn (\n\t\t\t\t((this.getPeriodSettlePrice() -\n\t\t\t\t\tthis.extension.amount.Strike +\n\t\t\t\t\tthis.extension.amount.Premium +\n\t\t\t\t\tthis.extension.amount.Admin_Fee) *\n\t\t\t\t\tthis.quantity.Volume) /\n\t\t\t\tthis.divisor\n\t\t\t);\n\t\t} else {\n\t\t\treturn (\n\t\t\t\t((this.extension.amount.Premium + this.extension.amount.Admin_Fee) *\n\t\t\t\t\tthis.quantity.Volume) /\n\t\t\t\tthis.divisor\n\t\t\t);\n\t\t}\n\t}\n\n\tgetNetValueFromSettleGreaterThanStrikeCeiling() {\n\t\tif (\n\t\t\tthis.getPeriodSettlePrice() > this.extension.amount.Strike &&\n\t\t\tthis.extension.amount.Strike > 0\n\t\t) {\n\t\t\treturn (\n\t\t\t\t((this.getPeriodSettlePrice() -\n\t\t\t\t\tthis.extension.amount.Strike -\n\t\t\t\t\t(this.extension.amount.Premium + this.extension.amount.Admin_Fee)) *\n\t\t\t\t\tthis.quantity.Volume) /\n\t\t\t\tthis.divisor\n\t\t\t);\n\t\t} else {\n\t\t\treturn (\n\t\t\t\t(-1 *\n\t\t\t\t\t(this.extension.amount.Premium + this.extension.amount.Admin_Fee) *\n\t\t\t\t\tthis.quantity.Volume) /\n\t\t\t\tthis.divisor\n\t\t\t);\n\t\t}\n\t}\n\n\tgetNetValueCeilingCollar() {\n\t\tif (\n\t\t\tthis.getPeriodSettlePrice() > this.extension.amount.Strike &&\n\t\t\tthis.extension.amount.Strike > 0\n\t\t) {\n\t\t\treturn (\n\t\t\t\t(this.getPeriodSettlePrice() -\n\t\t\t\t\tthis.extension.amount.Strike -\n\t\t\t\t\t(this.extension.amount.Premium - this.extension.amount.Admin_Fee)) *\n\t\t\t\tthis.quantity.Number_of_Contracts *\n\t\t\t\tthis.multiplier\n\t\t\t);\n\t\t} else {\n\t\t\treturn (\n\t\t\t\t-1 *\n\t\t\t\t(this.extension.amount.Premium - this.extension.amount.Admin_Fee) *\n\t\t\t\tthis.quantity.Number_of_Contracts *\n\t\t\t\tthis.multiplier\n\t\t\t);\n\t\t}\n\t}\n\n\tgetNetValueFromFloorCollar() {\n\t\tif (this.getPeriodSettlePrice() < this.extension.amount.Strike) {\n\t\t\treturn (\n\t\t\t\t((this.getPeriodSettlePrice() - this.extension.amount.Strike) *\n\t\t\t\t\tthis.quantity.Number_of_Contracts *\n\t\t\t\t\tthis.multiplier +\n\t\t\t\t\t(this.extension.amount.Premium + this.extension.amount.Admin_Fee) *\n\t\t\t\t\t\tthis.quantity.Number_of_Contracts *\n\t\t\t\t\t\tthis.multiplier) *\n\t\t\t\t-1\n\t\t\t);\n\t\t} else {\n\t\t\treturn (\n\t\t\t\tthis.quantity.Number_of_Contracts *\n\t\t\t\t-1 *\n\t\t\t\tthis.multiplier *\n\t\t\t\t(this.extension.amount.Admin_Fee + this.extension.amount.Premium)\n\t\t\t);\n\t\t}\n\t}\n\n\tcalculateNet() {\n\t\tif (this.typeCode == RM_OPTIONS.CEILING) {\n\t\t\tthis.extension.amount.Net = this.getNetValueFromSettleGreaterThanStrikeCeiling();\n\t\t} else if (this.typeCode == RM_OPTIONS.FLOOR) {\n\t\t\tthis.extension.amount.Net = this.getNetValueFromSettleLessThanStrikeFloor();\n\t\t} else if (this.typeCode == RM_OPTIONS.COLLAR) {\n\t\t\tif (this.extension.typeCode == RM_OPTIONS.CEILING) {\n\t\t\t\tthis.extension.amount.Net = this.getNetValueCeilingCollar();\n\t\t\t} else if (this.extension.typeCode == RM_OPTIONS.FLOOR) {\n\t\t\t\tthis.extension.amount.Net = this.getNetValueFromFloorCollar();\n\t\t\t}\n\t\t} else if (this.typeCode == RM_OPTIONS.CONTRACT) {\n\t\t\tthis.extension.amount.Net =\n\t\t\t\t((this.extension.amount.Strike - this.getPeriodSettlePrice()) *\n\t\t\t\t\tthis.quantity.Volume) /\n\t\t\t\t\t-this.divisor +\n\t\t\t\t(this.extension.amount.Admin_Fee * this.quantity.Volume) / this.divisor;\n\t\t}\n\t\t// console.log('Calculated net for', this.typeCode, this.extension.amount.Net);\n\t\t// this.notifyChange.emit(PostionEvents.CALCULATION_UPDATED, this);\n\t}\n}\n\nexport class NetFloorMTM extends PositionModel implements IAverageCalculate {\n\tconstructor() {\n\t\tsuper();\n\t\tthis.typeCode = RM_OPTIONS.FLOOR;\n\t\tthis.extension.typeCode = RM_TYPECODES.MTM_FUTURES_POSITION;\n\t}\n\tevaluate(pmlist: PositionModel[]): void {\n\t\tthis.quantity.Volume = pmlist.reduce((total: number, item) => {\n\t\t\ttotal += item.quantity.Volume;\n\t\t\treturn total;\n\t\t}, 0);\n\t\tthis.quantity.Number_of_Contracts = pmlist.reduce((total: number, item) => {\n\t\t\ttotal += item.quantity.Number_of_Contracts;\n\t\t\treturn total;\n\t\t}, 0);\n\t\tthis.extension.amount.Net = pmlist.reduce((total: number, item) => {\n\t\t\ttotal += item.extension.amount.Net;\n\t\t\treturn total;\n\t\t}, 0);\n\n\t\tconst result = pmlist.reduce(\n\t\t\t(\n\t\t\t\ttotal: { contractIntoStrike: number; sumOfNoofContract: number },\n\t\t\t\titem\n\t\t\t) => {\n\t\t\t\ttotal.contractIntoStrike +=\n\t\t\t\t\titem.quantity.Number_of_Contracts * item.extension.amount.Strike;\n\t\t\t\ttotal.sumOfNoofContract += item.quantity.Number_of_Contracts;\n\t\t\t\treturn total;\n\t\t\t},\n\t\t\t{ contractIntoStrike: 0, sumOfNoofContract: 0 }\n\t\t);\n\t\tthis.extension.amount.Strike =\n\t\t\tresult.contractIntoStrike / result.sumOfNoofContract;\n\n\t\tif (this.quantity.Number_of_Contracts > 0) {\n\t\t\tconst result = pmlist.reduce(\n\t\t\t\t(\n\t\t\t\t\ttotal: { noOfContIntoPremium: number; sumOfNoOfContract: number },\n\t\t\t\t\titem\n\t\t\t\t) => {\n\t\t\t\t\ttotal.noOfContIntoPremium +=\n\t\t\t\t\t\titem.quantity.Number_of_Contracts * item.extension.amount.Premium;\n\t\t\t\t\ttotal.sumOfNoOfContract += item.quantity.Number_of_Contracts;\n\t\t\t\t\treturn total;\n\t\t\t\t},\n\t\t\t\t{ noOfContIntoPremium: 0, sumOfNoOfContract: 0 }\n\t\t\t);\n\t\t\tthis.extension.amount.Premium =\n\t\t\t\tresult.noOfContIntoPremium / result.sumOfNoOfContract;\n\n\t\t\tconst resultForAdminFee = pmlist.reduce(\n\t\t\t\t(\n\t\t\t\t\tprev: { productsumofadminFee: number; sumnoofcontract: number },\n\t\t\t\t\titem\n\t\t\t\t) => {\n\t\t\t\t\tprev.productsumofadminFee +=\n\t\t\t\t\t\titem.extension.amount.Admin_Fee * item.quantity.Number_of_Contracts;\n\t\t\t\t\tprev.sumnoofcontract += item.quantity.Number_of_Contracts;\n\t\t\t\t\treturn prev;\n\t\t\t\t},\n\t\t\t\t{ productsumofadminFee: 0, sumnoofcontract: 0 }\n\t\t\t);\n\t\t\tthis.extension.amount.Admin_Fee =\n\t\t\t\tresultForAdminFee.productsumofadminFee /\n\t\t\t\tresultForAdminFee.sumnoofcontract;\n\t\t} else {\n\t\t\tthis.extension.amount.Admin_Fee = 0;\n\t\t\tthis.extension.amount.Premium = 0;\n\t\t}\n\t\t// console.log('Evaluate MTM for ' + this.typeCode, this.extension.amount);\n\t}\n}\n\nexport class NetCollarMTM extends PositionModel implements IAverageCalculate {\n\tconstructor() {\n\t\tsuper();\n\t\tthis.typeCode = RM_OPTIONS.COLLAR;\n\t\tthis.extension.typeCode = RM_TYPECODES.MTM_FUTURES_POSITION;\n\t}\n\tevaluate(pmlist: PositionModel[]): void {\n\t\tthis.quantity.Volume = pmlist.reduce((total: number, item) => {\n\t\t\ttotal += item.quantity.Volume;\n\t\t\treturn total;\n\t\t}, 0);\n\n\t\tthis.quantity.Number_of_Contracts = Number.NaN;\n\n\t\tthis.extension.amount.Net = pmlist.reduce((total: number, item) => {\n\t\t\ttotal += item.extension.amount.Net;\n\t\t\treturn total;\n\t\t}, 0);\n\n\t\tvar listofFloorContracts = pmlist.filter(\n\t\t\titem => item.extension.typeCode == RM_OPTIONS.FLOOR\n\t\t);\n\n\t\tvar quantity = listofFloorContracts.reduce((prev, item) => {\n\t\t\tprev += item.quantity.Number_of_Contracts;\n\t\t\treturn prev;\n\t\t}, 0);\n\n\t\tif (quantity > 0) {\n\t\t\tconst result = pmlist.reduce(\n\t\t\t\t(\n\t\t\t\t\ttotal: { noOfContIntoPremium: number; sumOfNoOfContract: number },\n\t\t\t\t\titem\n\t\t\t\t) => {\n\t\t\t\t\ttotal.noOfContIntoPremium +=\n\t\t\t\t\t\titem.quantity.Number_of_Contracts * item.extension.amount.Premium;\n\n\t\t\t\t\tif (item.extension.typeCode == RM_OPTIONS.FLOOR)\n\t\t\t\t\t\ttotal.sumOfNoOfContract += item.quantity.Number_of_Contracts;\n\t\t\t\t\treturn total;\n\t\t\t\t},\n\t\t\t\t{ noOfContIntoPremium: 0, sumOfNoOfContract: 0 }\n\t\t\t);\n\t\t\tthis.extension.amount.Premium =\n\t\t\t\tresult.noOfContIntoPremium / result.sumOfNoOfContract;\n\n\t\t\t// summary value of premium should not be negative\n\t\t\tif (this.extension.amount.Premium < 0) {\n\t\t\t\tthis.extension.amount.Premium *= -1;\n\t\t\t}\n\n\t\t\tconst resultForAdminFee = pmlist.reduce(\n\t\t\t\t(\n\t\t\t\t\tprev: { productsumofadminFee: number; sumnoofcontract: number },\n\t\t\t\t\titem\n\t\t\t\t) => {\n\t\t\t\t\tlet multiplier = 1;\n\t\t\t\t\tif (item.extension.typeCode == RM_OPTIONS.CEILING) multiplier = -1;\n\n\t\t\t\t\tprev.productsumofadminFee +=\n\t\t\t\t\t\titem.extension.amount.Admin_Fee *\n\t\t\t\t\t\titem.quantity.Number_of_Contracts *\n\t\t\t\t\t\tmultiplier;\n\t\t\t\t\tif (item.extension.typeCode == RM_OPTIONS.FLOOR)\n\t\t\t\t\t\tprev.sumnoofcontract += item.quantity.Number_of_Contracts;\n\t\t\t\t\treturn prev;\n\t\t\t\t},\n\t\t\t\t{ productsumofadminFee: 0, sumnoofcontract: 0 }\n\t\t\t);\n\t\t\tthis.extension.amount.Admin_Fee =\n\t\t\t\tresultForAdminFee.productsumofadminFee /\n\t\t\t\tresultForAdminFee.sumnoofcontract;\n\n\t\t\t// Admin fee\n\t\t\tif (this.extension.amount.Admin_Fee < 0) {\n\t\t\t\tthis.extension.amount.Admin_Fee *= -1;\n\t\t\t}\n\t\t}\n\n\t\t// console.log('Evaluate MTM for Collar', this.extension.amount);\n\t}\n}\n\nexport class NetContractMTM extends PositionModel implements IAverageCalculate {\n\tconstructor() {\n\t\tsuper();\n\t\tthis.typeCode = RM_OPTIONS.CONTRACT;\n\t\tthis.extension.typeCode = RM_TYPECODES.MTM_FUTURES_POSITION;\n\t}\n\tevaluate(pmlist: PositionModel[]): void {\n\t\tthis.quantity.Volume = pmlist.reduce((total: number, item) => {\n\t\t\ttotal += item.quantity.Volume;\n\t\t\treturn total;\n\t\t}, 0);\n\t\tthis.quantity.Number_of_Contracts = pmlist.reduce((total: number, item) => {\n\t\t\ttotal += item.quantity.Number_of_Contracts;\n\t\t\treturn total;\n\t\t}, 0);\n\t\tthis.extension.amount.Net = pmlist.reduce((total: number, item) => {\n\t\t\ttotal += item.extension.amount.Net;\n\t\t\treturn total;\n\t\t}, 0);\n\n\t\tconst result = pmlist.reduce(\n\t\t\t(\n\t\t\t\ttotal: { contractIntoStrike: number; sumOfNoofContract: number },\n\t\t\t\titem\n\t\t\t) => {\n\t\t\t\ttotal.contractIntoStrike +=\n\t\t\t\t\titem.quantity.Number_of_Contracts * item.extension.amount.Strike;\n\t\t\t\ttotal.sumOfNoofContract += item.quantity.Number_of_Contracts;\n\t\t\t\treturn total;\n\t\t\t},\n\t\t\t{ contractIntoStrike: 0, sumOfNoofContract: 0 }\n\t\t);\n\t\tthis.extension.amount.Strike =\n\t\t\tresult.contractIntoStrike / result.sumOfNoofContract;\n\n\t\tif (this.quantity.Number_of_Contracts < 0) {\n\t\t\tconst resultofAvgAdminFee = pmlist.reduce(\n\t\t\t\t(\n\t\t\t\t\tprevVal: { noContractIntoAdminFee: number; sumofnoContact: number },\n\t\t\t\t\titem\n\t\t\t\t) => {\n\t\t\t\t\tprevVal.noContractIntoAdminFee +=\n\t\t\t\t\t\titem.quantity.Number_of_Contracts * item.extension.amount.Admin_Fee;\n\t\t\t\t\tprevVal.sumofnoContact += item.quantity.Number_of_Contracts;\n\t\t\t\t\treturn prevVal;\n\t\t\t\t},\n\t\t\t\t{ noContractIntoAdminFee: 0, sumofnoContact: 0 }\n\t\t\t);\n\n\t\t\tthis.extension.amount.Admin_Fee =\n\t\t\t\tresultofAvgAdminFee.noContractIntoAdminFee /\n\t\t\t\tresultofAvgAdminFee.sumofnoContact;\n\t\t}\n\n\t\tconsole.log('--Evaluate this Contract', this.quantity, this.extension);\n\t}\n}\n\nexport class NetCeilingMTM extends PositionModel implements IAverageCalculate {\n\tconstructor() {\n\t\tsuper();\n\t\tthis.typeCode = RM_OPTIONS.CEILING;\n\t\tthis.extension.typeCode = RM_TYPECODES.MTM_FUTURES_POSITION;\n\t}\n\tevaluate(pmlist: PositionModel[]): void {\n\t\tthis.quantity.Volume = pmlist.reduce((total: number, item) => {\n\t\t\ttotal += item.quantity.Volume;\n\t\t\treturn total;\n\t\t}, 0);\n\t\tthis.quantity.Number_of_Contracts = pmlist.reduce((total: number, item) => {\n\t\t\ttotal += item.quantity.Number_of_Contracts;\n\t\t\treturn total;\n\t\t}, 0);\n\t\tthis.extension.amount.Net = pmlist.reduce((total: number, item) => {\n\t\t\ttotal += item.extension.amount.Net;\n\t\t\treturn total;\n\t\t}, 0);\n\n\t\tconst result = pmlist.reduce(\n\t\t\t(\n\t\t\t\ttotal: { contractIntoStrike: number; sumOfNoofContract: number },\n\t\t\t\titem\n\t\t\t) => {\n\t\t\t\ttotal.contractIntoStrike +=\n\t\t\t\t\titem.quantity.Number_of_Contracts * item.extension.amount.Strike;\n\t\t\t\ttotal.sumOfNoofContract += item.quantity.Number_of_Contracts;\n\t\t\t\treturn total;\n\t\t\t},\n\t\t\t{ contractIntoStrike: 0, sumOfNoofContract: 0 }\n\t\t);\n\t\tthis.extension.amount.Strike =\n\t\t\tresult.contractIntoStrike / result.sumOfNoofContract;\n\n\t\tif (this.quantity.Number_of_Contracts > 0) {\n\t\t\tconst result = pmlist.reduce(\n\t\t\t\t(\n\t\t\t\t\ttotal: { noOfContIntoPremium: number; sumOfNoOfContract: number },\n\t\t\t\t\titem\n\t\t\t\t) => {\n\t\t\t\t\ttotal.noOfContIntoPremium +=\n\t\t\t\t\t\titem.quantity.Number_of_Contracts * item.extension.amount.Premium;\n\t\t\t\t\ttotal.sumOfNoOfContract += item.quantity.Number_of_Contracts;\n\t\t\t\t\treturn total;\n\t\t\t\t},\n\t\t\t\t{ noOfContIntoPremium: 0, sumOfNoOfContract: 0 }\n\t\t\t);\n\t\t\tthis.extension.amount.Premium =\n\t\t\t\tresult.noOfContIntoPremium / result.sumOfNoOfContract;\n\n\t\t\tconst resultForAdminFee = pmlist.reduce(\n\t\t\t\t(\n\t\t\t\t\tprev: { productsumofadminFee: number; sumnoofcontract: number },\n\t\t\t\t\titem\n\t\t\t\t) => {\n\t\t\t\t\tprev.productsumofadminFee +=\n\t\t\t\t\t\titem.extension.amount.Admin_Fee * item.quantity.Number_of_Contracts;\n\t\t\t\t\tprev.sumnoofcontract += item.quantity.Number_of_Contracts;\n\t\t\t\t\treturn prev;\n\t\t\t\t},\n\t\t\t\t{ productsumofadminFee: 0, sumnoofcontract: 0 }\n\t\t\t);\n\t\t\tthis.extension.amount.Admin_Fee =\n\t\t\t\tresultForAdminFee.productsumofadminFee /\n\t\t\t\tresultForAdminFee.sumnoofcontract;\n\t\t} else {\n\t\t\tthis.extension.amount.Admin_Fee = 0;\n\t\t\tthis.extension.amount.Premium = 0;\n\t\t}\n\t\t// console.log('Evaluate MTM for ' + this.typeCode, this.extension.amount);\n\t}\n}\n\nexport class PositionSummaryModel extends PositionModel {\n\t// implements IAverageCalculate {\n\n\tfromJson(jsonObject: any): void {\n\t\tsuper.fromJson(jsonObject);\n\t\tthis.quantity = {\n\t\t\tNumber_of_Contracts: 0,\n\t\t\tVolume_Total: 0,\n\t\t\tVolume_Filled: 0,\n\t\t\tVolume_Working: 0,\n\t\t\tVolume: 0,\n\t\t};\n\t}\n\n\tquantity: {\n\t\tNumber_of_Contracts: number;\n\t\tVolume_Total: number;\n\t\tVolume_Working: number;\n\t\tVolume_Filled: number;\n\t\tVolume: number;\n\t};\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis.quantity = {\n\t\t\tNumber_of_Contracts: 0,\n\t\t\tVolume_Total: 0,\n\t\t\tVolume_Filled: 0,\n\t\t\tVolume_Working: 0,\n\t\t\tVolume: 0,\n\t\t};\n\t}\n\n\ttoJson() {\n\t\t// making is any for typescipt to allow delete property\n\t\tlet json: any = super.toJson();\n\t\tdelete json.positionReferences;\n\t\treturn json;\n\t}\n\tevaluate(\n\t\tpmlist: PositionModel[],\n\t\tpayload: {\n\t\t\tmonth: string;\n\t\t\tyear: string;\n\t\t\tcommodity: string;\n\t\t\tfinancialYear: number;\n\t\t},\n\t\tstate: any\n\t): void {\n\t\tlet typecode = this.extension.typeCode;\n\t\tlet month = payload.month,\n\t\t\tyear = parseInt(payload.year);\n\t\tlet commodity = payload.commodity;\n\n\t\tconst getCashYieldVolume = (month: string, year: number) => {\n\t\t\tconst isCurrentFinancialYear = (month: string, year: number) => {\n\t\t\t\tconst financialYearStartmonth =\n\t\t\t\t\tstate?.calculatedSchema[RM_SECTION_CODES.COP_DATA][\n\t\t\t\t\t\tSECTION_CODES.BASIC_INFO\n\t\t\t\t\t]?.accountingPeriod?.periodIdentifier || 'January';\n\t\t\t\tconst numMonthsIncluded =\n\t\t\t\t\tstate?.calculatedSchema[RM_SECTION_CODES.COP_DATA][\n\t\t\t\t\t\tSECTION_CODES.BASIC_INFO\n\t\t\t\t\t]?.accountingPeriod?.effectiveTimePeriod?.duration || '12';\n\n\t\t\t\tlet financialYear = payload.financialYear;\n\t\t\t\tif (FULL_MONTHS.indexOf(financialYearStartmonth) != 0) {\n\t\t\t\t\tfinancialYear = payload.financialYear - 1;\n\t\t\t\t}\n\n\t\t\t\tlet financialYearStart = new Date(\n\t\t\t\t\tDate.parse(`${financialYearStartmonth} 1, ${financialYear}`)\n\t\t\t\t);\n\t\t\t\tlet endDate = new Date(\n\t\t\t\t\tDate.parse(`${financialYearStartmonth} 1, ${financialYear}`)\n\t\t\t\t);\n\t\t\t\tconst financialYearEnd = new Date(\n\t\t\t\t\tendDate.setMonth(\n\t\t\t\t\t\tfinancialYearStart.getMonth() + Number(numMonthsIncluded)\n\t\t\t\t\t)\n\t\t\t\t);\n\n\t\t\t\tconst currentDate = new Date(Date.parse(`${month} 1, ${year}`));\n\t\t\t\tif (\n\t\t\t\t\tcurrentDate >= financialYearStart &&\n\t\t\t\t\tcurrentDate < financialYearEnd\n\t\t\t\t) {\n\t\t\t\t\treturn true;\n\t\t\t\t} else {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t};\n\n\t\t\t// get forecast CWT per month for a given month and year\n\t\t\tconst getForecastCWTPerMonth = (month: string, year: number) => {\n\t\t\t\tconst data = state?.calculatedSchema;\n\t\t\t\tlet forecastByMonth =\n\t\t\t\t\tdata[RM_SECTION_CODES.OPERATION_FORECAST][\n\t\t\t\t\t\tRM_OPERATING_FORECAST_SECTION_CODES.MONTHS\n\t\t\t\t\t];\n\t\t\t\tlet index = getPropertyIndex(\n\t\t\t\t\tforecastByMonth && forecastByMonth?.length > 0\n\t\t\t\t\t\t? forecastByMonth[0]?.extension?.distribution[0]?.quantity\n\t\t\t\t\t\t: [],\n\t\t\t\t\tRM_TYPECODES.CWT_PER_MONTH\n\t\t\t\t);\n\t\t\t\tlet requiredRow = forecastByMonth?.filter(\n\t\t\t\t\t(forecast: GenericSchema) =>\n\t\t\t\t\t\tforecast?.extension?.accountingPeriod[0]?.identifier.includes(\n\t\t\t\t\t\t\tmonth\n\t\t\t\t\t\t) &&\n\t\t\t\t\t\tparseInt(forecast?.extension?.accountingPeriod[0]?.year) === year\n\t\t\t\t);\n\t\t\t\tif (requiredRow?.length > 0) {\n\t\t\t\t\treturn getNumber(\n\t\t\t\t\t\trequiredRow[0]?.extension.distribution[0]?.quantity[index]?.content\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn 0;\n\t\t\t};\n\n\t\t\t// get class weight factor\n\t\t\tconst getClassWeight = (id: string) => {\n\t\t\t\tconst data = state?.calculatedSchema;\n\t\t\t\tlet bsDetail =\n\t\t\t\t\tdata[RM_SECTION_CODES.COP_DATA][SECTION_CODES.BS_DETAIL][\n\t\t\t\t\t\tSECTION_TYPE_CODE.BASIS_ASSUMPTION\n\t\t\t\t\t];\n\t\t\t\tlet weight = 0;\n\t\t\t\tbsDetail &&\n\t\t\t\t\tObject.keys(bsDetail).map((key: string) => {\n\t\t\t\t\t\tconst assumptions = bsDetail[key];\n\t\t\t\t\t\tObject.keys(assumptions).map((classAssumption: string) => {\n\t\t\t\t\t\t\tif (assumptions[classAssumption][''][0].identifier === id) {\n\t\t\t\t\t\t\t\tweight = assumptions[classAssumption][''][0]?.amount;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\treturn getNumber(weight) / 100;\n\t\t\t};\n\n\t\t\tlet id =\n\t\t\t\tRM_COMMODITIES.CLASS4.SYMBOL === payload.commodity ? '108' : '107';\n\t\t\tlet factor =\n\t\t\t\tRM_COMMODITIES.CHEESE.SYMBOL === payload.commodity ? 10 : 100;\n\n\t\t\tconst getCashYieldVolumeByMonth = () => {\n\t\t\t\treturn getCashYieldVolume(month, year - 1);\n\t\t\t};\n\n\t\t\tconst getMonthCountByFiscalYear = (month: string) => {\n\t\t\t\tconst data = state?.calculatedSchema;\n\t\t\t\tlet basicInfo =\n\t\t\t\t\tdata[RM_SECTION_CODES.COP_DATA][SECTION_CODES.BASIC_INFO];\n\n\t\t\t\tconst financialYearStartmonth =\n\t\t\t\t\tbasicInfo?.accountingPeriod?.periodIdentifier || 'January';\n\t\t\t\tconst numMonthsIncluded =\n\t\t\t\t\tbasicInfo?.accountingPeriod?.effectiveTimePeriod?.duration || '12';\n\n\t\t\t\tlet financialYear = payload.financialYear;\n\t\t\t\tif (FULL_MONTHS.indexOf(financialYearStartmonth) != 0) {\n\t\t\t\t\tfinancialYear = payload.financialYear - 1;\n\t\t\t\t}\n\n\t\t\t\tlet financialYearStart = new Date(\n\t\t\t\t\tDate.parse(`${financialYearStartmonth} 1, ${financialYear}`)\n\t\t\t\t);\n\t\t\t\tlet endDate = new Date(\n\t\t\t\t\tDate.parse(`${financialYearStartmonth} 1, ${financialYear}`)\n\t\t\t\t);\n\n\t\t\t\tconst startMonth = financialYearStart.getMonth();\n\t\t\t\tconst currentMonth = getMonthFromString(month);\n\n\t\t\t\tif (currentMonth > startMonth) {\n\t\t\t\t\treturn currentMonth - startMonth;\n\t\t\t\t} else {\n\t\t\t\t\treturn 12 - startMonth + currentMonth;\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tconst getEstimatedProductionFactor = (month: string) => {\n\t\t\t\tconst data = state?.calculatedSchema;\n\t\t\t\tlet header = data[RM_SECTION_CODES.HEADER];\n\t\t\t\tconst monthInDigit = getMonthCountByFiscalYear(month);\n\t\t\t\tlet quater = Math.ceil(monthInDigit / 3);\n\t\t\t\tlet quater_prod_factor = '';\n\n\t\t\t\tswitch (quater) {\n\t\t\t\t\tcase 1:\n\t\t\t\t\t\tquater_prod_factor = RM_TYPECODES.Q1_EST_PROD_FACTOR;\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 2:\n\t\t\t\t\t\tquater_prod_factor = RM_TYPECODES.Q2_EST_PROD_FACTOR;\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 3:\n\t\t\t\t\t\tquater_prod_factor = RM_TYPECODES.Q3_EST_PROD_FACTOR;\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 4:\n\t\t\t\t\t\tquater_prod_factor = RM_TYPECODES.Q4_EST_PROD_FACTOR;\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tdefault:\n\t\t\t\t\t\treturn 0;\n\t\t\t\t}\n\t\t\t\tconst index = getPropertyIndex(\n\t\t\t\t\theader?.extension?.measure,\n\t\t\t\t\tquater_prod_factor\n\t\t\t\t);\n\t\t\t\treturn getNumber(header?.extension?.measure[index]?.content) / 100;\n\t\t\t};\n\n\t\t\tif (isCurrentFinancialYear(month, year)) {\n\t\t\t\tconst forcastCWTByMonth = getForecastCWTPerMonth(month, year);\n\t\t\t\tconst classWeight = getClassWeight(id);\n\t\t\t\treturn +forcastCWTByMonth * factor * +classWeight;\n\t\t\t} else {\n\t\t\t\tconst cashYieldLastYear: any = getCashYieldVolumeByMonth();\n\t\t\t\tconst estimatedProductionFactor = getEstimatedProductionFactor(month);\n\t\t\t\treturn cashYieldLastYear * estimatedProductionFactor;\n\t\t\t}\n\t\t};\n\n\t\tconst gethedgeyieldvolume = (pmlist: PositionModel[]) => {\n\t\t\tconst option_sum_list = pmlist?.filter(\n\t\t\t\titem =>\n\t\t\t\t\titem instanceof NetCeilingMTM ||\n\t\t\t\t\titem instanceof NetCollarMTM ||\n\t\t\t\t\titem instanceof NetContractMTM ||\n\t\t\t\t\titem instanceof NetFloorMTM\n\t\t\t);\n\n\t\t\tconst pm_model_list = pmlist?.filter(\n\t\t\t\titem =>\n\t\t\t\t\t!(\n\t\t\t\t\t\titem instanceof NetCeilingMTM ||\n\t\t\t\t\t\titem instanceof NetCollarMTM ||\n\t\t\t\t\t\titem instanceof NetContractMTM ||\n\t\t\t\t\t\titem instanceof NetFloorMTM\n\t\t\t\t\t)\n\t\t\t);\n\t\t\treturn {\n\t\t\t\tVolume_Total: option_sum_list\n\t\t\t\t\t? option_sum_list\n\t\t\t\t\t\t\t.filter(item => {\n\t\t\t\t\t\t\t\treturn item.typeCode !== 'Ceiling';\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.reduce((prev, item) => {\n\t\t\t\t\t\t\t\tprev += item.quantity.Volume;\n\t\t\t\t\t\t\t\treturn prev;\n\t\t\t\t\t\t\t}, 0)\n\t\t\t\t\t: 0,\n\t\t\t\tVolume_Filled: pm_model_list\n\t\t\t\t\t? pm_model_list\n\t\t\t\t\t\t\t.filter(item => {\n\t\t\t\t\t\t\t\treturn item.typeCode !== 'Ceiling';\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.reduce((prev, item) => {\n\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\titem.positionReferences.Order_Status == 'Filled' ||\n\t\t\t\t\t\t\t\t\titem.positionReferences.Order_Status == 'Manual'\n\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\tprev += item.quantity.Volume;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn prev;\n\t\t\t\t\t\t\t}, 0)\n\t\t\t\t\t: 0,\n\n\t\t\t\tVolume_Working: pm_model_list\n\t\t\t\t\t? pm_model_list\n\t\t\t\t\t\t\t.filter(item => {\n\t\t\t\t\t\t\t\treturn item.typeCode !== 'Ceiling';\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.reduce((prev, item) => {\n\t\t\t\t\t\t\t\tif (item.positionReferences.Order_Status == 'Working') {\n\t\t\t\t\t\t\t\t\tprev += item.quantity.Volume;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn prev;\n\t\t\t\t\t\t\t}, 0)\n\t\t\t\t\t: 0,\n\t\t\t};\n\t\t};\n\n\t\tconst getbreakeven = () => {\n\t\t\tlet id = CLASS3_BREAKEVEN_ID;\n\t\t\tif (payload.commodity === RM_COMMODITIES.CLASS4.SYMBOL) {\n\t\t\t\tid = CLASS4_BREAKEVEN_ID;\n\t\t\t}\n\t\t\tlet forecastSummary = state?.calculatedSchema[\n\t\t\t\tRM_SECTION_CODES.COP_FORECAST\n\t\t\t][0].extension.distribution.filter((ob: any) => {\n\t\t\t\treturn ob.documentReference.identifier === id;\n\t\t\t})[0];\n\n\t\t\tlet breakeven = forecastSummary['extension']['amount'].filter(\n\t\t\t\t(ob: any) => {\n\t\t\t\t\treturn ob.typeCode === RM_TYPECODES.FORECAST_AMOUNT;\n\t\t\t\t}\n\t\t\t)[0]['content'];\n\n\t\t\treturn payload.commodity === RM_COMMODITIES.CHEESE.SYMBOL\n\t\t\t\t? breakeven / 10\n\t\t\t\t: breakeven;\n\t\t};\n\n\t\tconst gethedgeyieldnet = () => {\n\t\t\tconst pm_model_list = pmlist.filter(\n\t\t\t\titem =>\n\t\t\t\t\t!(\n\t\t\t\t\t\titem instanceof NetCeilingMTM ||\n\t\t\t\t\t\titem instanceof NetCollarMTM ||\n\t\t\t\t\t\titem instanceof NetContractMTM ||\n\t\t\t\t\t\titem instanceof NetFloorMTM\n\t\t\t\t\t)\n\t\t\t);\n\t\t\treturn pm_model_list.reduce((prev, item) => {\n\t\t\t\tif (\n\t\t\t\t\titem.positionReferences.Order_Status == 'Filled' ||\n\t\t\t\t\titem.positionReferences.Order_Status == 'Manual'\n\t\t\t\t) {\n\t\t\t\t\tprev += item.extension.amount.Net;\n\t\t\t\t}\n\t\t\t\treturn prev;\n\t\t\t}, 0);\n\t\t};\n\n\t\tconst getMilkRevenueStrike = () => {\n\t\t\tlet cashYieldVolume = getCashYieldVolume(month, year);\n\t\t\tlet milrevenuenet =\n\t\t\t\tcashYieldVolume > 0\n\t\t\t\t\t? gethedgeyieldnet() / (cashYieldVolume / 100) +\n\t\t\t\t\t this.getPeriodSettlePrice()\n\t\t\t\t\t: 0;\n\t\t\tif (payload.commodity === RM_COMMODITIES.CHEESE.SYMBOL) {\n\t\t\t\tmilrevenuenet =\n\t\t\t\t\tcashYieldVolume > 0\n\t\t\t\t\t\t? gethedgeyieldnet() / cashYieldVolume + this.getPeriodSettlePrice()\n\t\t\t\t\t\t: 0;\n\t\t\t}\n\t\t\treturn milrevenuenet;\n\t\t};\n\n\t\tswitch (typecode) {\n\t\t\tcase COMMODITY_SUMMARY.HEDGE_YIELD:\n\t\t\t\t{\n\t\t\t\t\tconst pm_model_list = pmlist.filter(\n\t\t\t\t\t\titem =>\n\t\t\t\t\t\t\t!(\n\t\t\t\t\t\t\t\titem instanceof NetCeilingMTM ||\n\t\t\t\t\t\t\t\titem instanceof NetCollarMTM ||\n\t\t\t\t\t\t\t\titem instanceof NetContractMTM ||\n\t\t\t\t\t\t\t\titem instanceof NetFloorMTM\n\t\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t\tconst volumeobj = gethedgeyieldvolume(pmlist);\n\n\t\t\t\t\tthis.quantity.Volume_Total = volumeobj.Volume_Total;\n\t\t\t\t\tthis.quantity.Volume_Filled = volumeobj.Volume_Filled;\n\t\t\t\t\tthis.quantity.Volume_Working = volumeobj.Volume_Working;\n\n\t\t\t\t\tconst premResult = pm_model_list.reduce((prev, item) => {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\titem.positionReferences.Order_Status == 'Filled' ||\n\t\t\t\t\t\t\titem.positionReferences.Order_Status == 'Manual'\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tlet premium = item.extension.amount.Premium;\n\t\t\t\t\t\t\tpremium = isNaN(premium) ? 0 : premium;\n\t\t\t\t\t\t\tprev += item.quantity.Number_of_Contracts * premium;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn prev;\n\t\t\t\t\t}, 0);\n\n\t\t\t\t\tif (payload.commodity === RM_COMMODITIES.CHEESE.SYMBOL) {\n\t\t\t\t\t\tthis.extension.amount.Premium = 20000 * premResult;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.extension.amount.Premium = 2000 * premResult;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst adminFeeResult = pm_model_list.reduce((prev, item) => {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\titem.positionReferences.Order_Status == 'Filled' ||\n\t\t\t\t\t\t\titem.positionReferences.Order_Status == 'Manual'\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tlet admin = item.extension.amount.Admin_Fee;\n\t\t\t\t\t\t\tadmin = isNaN(admin) ? 0 : admin;\n\t\t\t\t\t\t\tlet multiplier = 1;\n\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\titem.typeCode === 'Contract' ||\n\t\t\t\t\t\t\t\t(item.typeCode === RM_OPTIONS.COLLAR &&\n\t\t\t\t\t\t\t\t\titem.extension.typeCode === RM_OPTIONS.CEILING)\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tmultiplier = -1;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tprev += item.quantity.Number_of_Contracts * admin * multiplier;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn prev;\n\t\t\t\t\t}, 0);\n\n\t\t\t\t\tif (payload.commodity === RM_COMMODITIES.CHEESE.SYMBOL) {\n\t\t\t\t\t\tthis.extension.amount.Admin_Fee = 20000 * adminFeeResult;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.extension.amount.Admin_Fee = 2000 * adminFeeResult;\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.extension.amount.Net = gethedgeyieldnet();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase COMMODITY_SUMMARY.NET_EXPOSURE:\n\t\t\t\tif (payload.commodity === RM_COMMODITIES.CLASS3.SYMBOL) {\n\t\t\t\t\tlet cheesepmlist =\n\t\t\t\t\t\tstate.calculatedSchema[Position_DICTIONARY][\n\t\t\t\t\t\t\tRM_COMMODITIES.CHEESE.SYMBOL\n\t\t\t\t\t\t][payload.month + '_' + payload.year].positionList;\n\t\t\t\t\tthis.quantity.Volume =\n\t\t\t\t\t\tgetCashYieldVolume(month, year) +\n\t\t\t\t\t\tgethedgeyieldvolume(pmlist).Volume_Total +\n\t\t\t\t\t\tcheesepmlist[0].quantity.Volume_Total * 10;\n\n\t\t\t\t\tthis.extension.amount.Net =\n\t\t\t\t\t\tthis.getPeriodSettlePrice() *\n\t\t\t\t\t\t((getCashYieldVolume(month, year) +\n\t\t\t\t\t\t\tgethedgeyieldvolume(pmlist).Volume_Filled +\n\t\t\t\t\t\t\tcheesepmlist[0].quantity.Volume_Filled * 10) /\n\t\t\t\t\t\t\t100);\n\t\t\t\t} else if (payload.commodity === RM_COMMODITIES.CLASS4.SYMBOL) {\n\t\t\t\t\tthis.quantity.Volume =\n\t\t\t\t\t\tgetCashYieldVolume(month, year) +\n\t\t\t\t\t\tgethedgeyieldvolume(pmlist).Volume_Total;\n\n\t\t\t\t\tthis.extension.amount.Net =\n\t\t\t\t\t\tthis.getPeriodSettlePrice() *\n\t\t\t\t\t\t((getCashYieldVolume(month, year) +\n\t\t\t\t\t\t\tgethedgeyieldvolume(pmlist).Volume_Filled) /\n\t\t\t\t\t\t\t100);\n\t\t\t\t} else {\n\t\t\t\t\tlet class3pmlist =\n\t\t\t\t\t\tstate.calculatedSchema[Position_DICTIONARY][\n\t\t\t\t\t\t\tRM_COMMODITIES.CLASS3.SYMBOL\n\t\t\t\t\t\t][payload.month + '_' + payload.year].positionList;\n\t\t\t\t\tthis.quantity.Volume =\n\t\t\t\t\t\tgetCashYieldVolume(month, year) * 10 +\n\t\t\t\t\t\tgethedgeyieldvolume(pmlist).Volume_Total * 10 +\n\t\t\t\t\t\tclass3pmlist[0].quantity.Volume_Total;\n\n\t\t\t\t\tthis.extension.amount.Net =\n\t\t\t\t\t\t(this.getPeriodSettlePrice() *\n\t\t\t\t\t\t\t(getCashYieldVolume(month, year) * 10 +\n\t\t\t\t\t\t\t\tgethedgeyieldvolume(pmlist).Volume_Filled * 10 +\n\t\t\t\t\t\t\t\tclass3pmlist[0].quantity.Volume_Filled)) /\n\t\t\t\t\t\t10;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase COMMODITY_SUMMARY.CASH_YIELD:\n\t\t\t\tthis.quantity.Volume = getCashYieldVolume(month, year);\n\n\t\t\t\tif (RM_COMMODITIES.CHEESE.SYMBOL === payload.commodity) {\n\t\t\t\t\tthis.extension.amount.Net =\n\t\t\t\t\t\tthis.getPeriodSettlePrice() * this.quantity.Volume;\n\t\t\t\t} else {\n\t\t\t\t\tthis.extension.amount.Net =\n\t\t\t\t\t\tthis.quantity.Volume > 0\n\t\t\t\t\t\t\t? this.getPeriodSettlePrice() * (this.quantity.Volume / 100)\n\t\t\t\t\t\t\t: 0;\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\n\t\t\tcase COMMODITY_SUMMARY.CL3_BREAKEVEN:\n\t\t\tcase COMMODITY_SUMMARY.CL4_BREAKEVEN:\n\t\t\tcase COMMODITY_SUMMARY.CHEESE_BREAKEVEN:\n\t\t\t\tthis.extension.amount.Strike = getbreakeven();\n\t\t\t\tbreak;\n\n\t\t\tcase COMMODITY_SUMMARY.CONTRACT_SETTLE:\n\t\t\t\tthis.extension.amount.Strike = this.getPeriodSettlePrice();\n\t\t\t\tbreak;\n\n\t\t\tcase COMMODITY_SUMMARY.CL3_MILK_REVENUE:\n\t\t\tcase COMMODITY_SUMMARY.CL4_MILK_REVENUE:\n\t\t\tcase COMMODITY_SUMMARY.CHEESE_MILK_REVENUE:\n\t\t\t\tthis.extension.amount.Strike = getMilkRevenueStrike();\n\t\t\t\tthis.extension.amount.Net =\n\t\t\t\t\t(getCashYieldVolume(month, year) / 100) *\n\t\t\t\t\tthis.extension.amount.Strike;\n\t\t\t\tif (payload.commodity === RM_COMMODITIES.CHEESE.SYMBOL) {\n\t\t\t\t\tthis.extension.amount.Net =\n\t\t\t\t\t\tthis.extension.amount.Strike * getCashYieldVolume(month, year);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase COMMODITY_SUMMARY.NET_MARIGIN:\n\t\t\t\tthis.extension.amount.Strike = getMilkRevenueStrike() - getbreakeven();\n\t\t\t\tthis.extension.amount.Net =\n\t\t\t\t\tpayload.commodity !== RM_COMMODITIES.CHEESE.SYMBOL\n\t\t\t\t\t\t? this.extension.amount.Strike *\n\t\t\t\t\t\t (getCashYieldVolume(month, year) / 100)\n\t\t\t\t\t\t: this.extension.amount.Strike * getCashYieldVolume(month, year);\n\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tconsole.log();\n\t\t}\n\t}\n}\n\n// export class PositionManager {\n// \tconstructor() {\n// \t\tthis.c = new PositionContainer();\n// \t}\n// \tc: PositionContainer;\n// }\n\n// window['pm'] = new PositionManager();\n","import {\n\tHIDE_MESSAGE,\n\tSHOW_MESSAGE,\n\tSHOW_MULTI_MESSAGE,\n\tSTART_MADCAP_LOADER,\n\tSTOP_MADCAP_LOADER,\n} from './actions';\n\nimport { ActionCreator } from 'redux';\nimport { GenericSchema } from '../../schemas';\n\ninterface IShowMessageAction {\n\ttype: string;\n\tpayload: GenericSchema;\n}\ninterface IHideMessageAction {\n\ttype: string;\n}\n\nconst hideMessage: ActionCreator = () => {\n\treturn {\n\t\ttype: HIDE_MESSAGE,\n\t};\n};\n\nconst startMadcaploader: ActionCreator = () => {\n\treturn {\n\t\ttype: START_MADCAP_LOADER,\n\t};\n};\n\nconst stopMadcaploader: ActionCreator = () => {\n\treturn {\n\t\ttype: STOP_MADCAP_LOADER,\n\t};\n};\n\nconst showMessage: ActionCreator = (\n\tmsg: string,\n\ttype: string = 'error',\n\tduration: number | null = 3000\n) => {\n\treturn {\n\t\ttype: SHOW_MESSAGE,\n\t\tpayload: { msg, type, duration },\n\t};\n};\n\nconst showMultiMessage: ActionCreator = (\n\tmsgarray: string[],\n\ttype1: string = 'error',\n\ttype2: string = 'error',\n\tduration: number | null = 3000\n) => {\n\treturn {\n\t\ttype: SHOW_MULTI_MESSAGE,\n\t\tpayload: { msgarray, type1, type2, duration },\n\t};\n};\n\nexport {\n\thideMessage,\n\tshowMessage,\n\tshowMultiMessage,\n\tstartMadcaploader,\n\tstopMadcaploader,\n};\n","import { RM_OPTIONS } from '../../../../common/constants';\nimport { Dict_For_Sorting_Position } from '../../../../common/constants/madcap.constants';\nimport { PositionModel } from '../../../../schemas/Model/position.model';\n\nexport const getsortedpositionList = (positionList: any) => {\n\t// Soting based on Order Status: Working->Filled ->Manual && Sorting in Descending Order according to MadCap Reference\n\tconst primarysortFunction = (a: PositionModel, b: PositionModel) => {\n\t\tif (\n\t\t\tDict_For_Sorting_Position[a.positionReferences.Order_Status] ==\n\t\t\tDict_For_Sorting_Position[b.positionReferences.Order_Status]\n\t\t) {\n\t\t\treturn isNaN(parseFloat(b.positionReferences.MadCap_Reference))\n\t\t\t\t? -1\n\t\t\t\t: parseFloat(b.positionReferences.MadCap_Reference) -\n\t\t\t\t\t\tparseFloat(a.positionReferences.MadCap_Reference);\n\t\t} else {\n\t\t\treturn (\n\t\t\t\tDict_For_Sorting_Position[a.positionReferences.Order_Status] -\n\t\t\t\tDict_For_Sorting_Position[b.positionReferences.Order_Status]\n\t\t\t);\n\t\t}\n\t};\n\n\tlet temppositionlist = positionList.filter((pd: any) => {\n\t\treturn pd.typeCode === 'Summary';\n\t});\n\t[\n\t\tRM_OPTIONS.FLOOR,\n\t\tRM_OPTIONS.COLLAR,\n\t\tRM_OPTIONS.CEILING,\n\t\tRM_OPTIONS.CONTRACT,\n\t].forEach((d: String) => {\n\t\tlet positionlistarray = positionList.filter((pd: any) => {\n\t\t\treturn pd.typeCode === d;\n\t\t});\n\n\t\tif (positionlistarray.length > 0) {\n\t\t\tpositionlistarray.sort(primarysortFunction);\n\t\t\ttemppositionlist.push(...positionlistarray);\n\t\t}\n\t});\n\treturn temppositionlist;\n};\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"medium\":\"dropdown_medium__1b1ls\",\"dropdowncontainer\":\"dropdown_dropdowncontainer__17v6p\",\"arrowup\":\"dropdown_arrowup__3sNhd\"};","import { COMMODITY_EXTENSION, SECTION_CODES } from '../../common/constants';\nimport {\n\tMULTI_YEAR_API_ADD_DATA,\n\tMULTI_YEAR_API_ADD_RESET,\n\tMULTI_YEAR_API_FETCH,\n\tMULTI_YEAR_API_SUCCESS,\n} from '../actions/actions';\n\nexport type MultiYearCOPState = {\n\tloading: boolean;\n\tdata: any | null;\n\tapiComplete: boolean;\n};\n\nconst MultiYearPrintReducer = (\n\tstate: MultiYearCOPState = { loading: false, data: null, apiComplete: false },\n\taction: { type: string; payload: any }\n) => {\n\tswitch (action.type) {\n\t\tcase MULTI_YEAR_API_FETCH:\n\t\t\tdelete state.data;\n\t\t\tstate = { ...state, loading: true, data: {}, apiComplete: false };\n\t\t\treturn state;\n\t\tcase MULTI_YEAR_API_ADD_DATA: {\n\t\t\tconst copyeardata = action.payload;\n\t\t\tconst year =\n\t\t\t\tcopyeardata[SECTION_CODES.BASIC_INFO][\n\t\t\t\t\tCOMMODITY_EXTENSION.ACCOUNTING_PERIOD\n\t\t\t\t]['year'];\n\t\t\tstate.data = { ...state.data, [year]: copyeardata };\n\t\t\treturn state;\n\t\t}\n\t\tcase MULTI_YEAR_API_SUCCESS:\n\t\t\tstate = { ...state, loading: false, apiComplete: true };\n\t\t\treturn state;\n\t\tcase MULTI_YEAR_API_ADD_RESET:\n\t\t\tstate = { loading: false, data: null, apiComplete: false };\n\t\t\treturn state;\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nexport default MultiYearPrintReducer;\n","import { offline } from '@redux-offline/redux-offline';\nimport offlineConfig from '@redux-offline/redux-offline/lib/defaults';\nimport * as localForage from 'localforage';\nimport { applyMiddleware, combineReducers, compose, createStore } from 'redux';\nimport createEncryptor from 'redux-persist-transform-encrypt';\nimport thunk from 'redux-thunk';\nimport { rehydrateStore } from './actions/rehydrate';\nimport {\n\tauthReducer,\n\tcoaReducer,\n\tdrpErrorReducer,\n\tdrpReducer,\n\tleftMenuReducer,\n\tmadcapintegrationReducer,\n\tmarketPriceReducer,\n\tmessageReducer,\n\tpdfprintdataReducer,\n\tproducerReducer,\n\trehydrateReducer,\n\tsyncOfflineReducer,\n\tyearReducer,\n} from './reducers';\nimport multiYearReportReducer from './reducers/multiYearPrintReducer';\ndeclare var window: any;\n\nconst effect = (effect: any, _action: any) => {\n\treturn effect;\n};\nconst discard = (error: any, _action: any, _retries: any) => {\n\tconst { request, response } = error;\n\tif (!request) throw error; // There was an error creating the request\n\tif (!response) return false; // There was no response\n\treturn 400 <= response.status && response.status < 500;\n};\n\nconst configkey = {\n\tencryptionKey: 'producer-profitability', // Placeholder for development purposes\n};\n\nconst encryptor = createEncryptor({\n\tsecretKey: configkey.encryptionKey,\n});\n\nconst persistOptions = {\n\tkey: 'pp',\n\tstorage: localForage,\n\tblacklist: ['rehydrate', 'coa', 'producer', 'marketprice', 'message'],\n\ttransforms: [encryptor],\n};\n\nconst config = {\n\t...offlineConfig,\n\teffect,\n\tpersistOptions,\n\tpersistCallback: () => {\n\t\tstore.dispatch(rehydrateStore());\n\t},\n};\nconst rootReducer = combineReducers({\n\tauth: authReducer,\n\tproducer: producerReducer,\n\tsynced: syncOfflineReducer,\n\trehydrate: rehydrateReducer,\n\tcoa: coaReducer,\n\tmarketprice: marketPriceReducer,\n\tmessage: messageReducer,\n\tleftMenu: leftMenuReducer,\n\tpdfdata: pdfprintdataReducer,\n\tselectedYear: yearReducer,\n\tmadcap: madcapintegrationReducer,\n\tmultiYearPrint: multiYearReportReducer,\n\tdrpReducer,\n\tdrpErrorReducer,\n});\nconst composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;\nconst store = createStore(\n\trootReducer,\n\tcomposeEnhancers(applyMiddleware(thunk), offline(config))\n);\n\nexport { store };\n","import { REHYDRATE_STORE } from './actions';\nimport { ActionCreator } from 'redux';\n\ninterface IAuthAction {\n\ttype: string;\n}\n\nconst rehydrateStore: ActionCreator = () => {\n\treturn {\n\t\ttype: REHYDRATE_STORE,\n\t};\n};\n\nexport { rehydrateStore };\n","const AUTH_START = 'AUTH_START';\nconst AUTH_SUCCESS = 'AUTH_SUCCESS';\nconst AUTH_FAIL = 'AUTH_FAIL';\nconst AUTH_LOGOUT: string = 'AUTH_LOGOUT';\n\nconst SET_AUTH_REDIRECT_PATH: string = 'SET_AUTH_REDIRECT_PATH';\n\nconst PRODUCERS_LIST: string = 'GET_PRODUCERS';\nconst PRODUCERS_FETCH_START: string = 'PRODUCERS_LIST_START';\nconst PRODUCERS_FETCH_SUCCESS: string = 'PRODUCERS_LIST_SUCCESS';\nconst PRODUCERS_FETCH_FAIL: string = 'PRODUCERS_LIST_FAIL';\nconst PRODUCER_SELECTED: string = 'PRODUCER_SELECTED';\nconst PRODUCER_REMOVE_SELECTED: string = 'PRODUCER_REMOVE_SELECTED';\n\nconst PRODUCERS_SYNC_START: string = 'PRODUCERS_SYNC_START';\nconst PRODUCERS_SYNC_SUCCESS: string = 'PRODUCERS_SYNC_SUCCESS';\nconst PRODUCERS_SYNC_FAIL: string = 'PRODUCERS_SYNC_FAIL';\nconst PRODUCER_SYNC_OFFLINE: string = 'PRODUCER_SYNC_OFFLINE';\nconst COASCHEMA_SYNC_OFFLINE: string = 'COASCHEMA_SYNC_OFFLINE';\nconst LATEST_MARKETPRICE_SYNC_OFFLINE: string =\n\t'LATEST_MARKETPRICE_SYNC_OFFLINE';\nconst DELETE_OFFLINE_VERSIONS: string = 'DELETE_OFFLINE_VERSIONS';\nconst PRODUCER_SYNC_PROGRESS_OFFLINE: string = 'PRODUCER_SYNC_PROGRESS_OFFLINE';\n\nconst COA_FETCH_START: string = 'COA_FETCH_START';\nconst COA_FETCH_FAIL: string = 'COA_FETCH_FAIL';\nconst COA_FETCH_SUCCESS: string = 'COA_FETCH_SUCCESS';\nconst COA_SCHEMA_SELECTED: string = 'COA_SCHEMA_SELECTED';\nconst COA_SCHEMA_REMOVE_SELECTED: string = 'COA_SCHEMA_REMOVE_SELECTED';\nconst COA_SAVE_DATA: string = 'COA_SAVE_DATA';\nconst COA_RESET_RM: string = 'COA_RESET_RM';\nconst COA_RESET_COP: string = 'COA_RESET_COP';\nconst COA_SAVE_DATA_OFFLINE: string = 'COA_SAVE_DATA_OFFLINE';\nconst COA_SAVE_DATA_OFFLINE_UPDATE: string = 'COA_SAVE_DATA_OFFLINE_UPDATE';\nconst COA_RESET_DATA: string = 'COA_RESET_DATA';\nconst COA_UPDATE_RESET: string = 'COA_UPDATE_RESET';\nconst COA_SAVE_DATA_TO_DB: string = 'COA_SAVE_DATA_TO_DB';\nconst COA_SAVE_DATA_TO_DB_START: string = 'COA_SAVE_DATA_TO_DB_START';\nconst COA_ERROR_SAVE_DATA_TO_DB: string = 'COA_ERROR_SAVE_DATA_TO_DB';\nconst COA_SCHEMA_MAAPED_WITH_DATA: string = 'COA_SCHEMA_MAAPED_WITH_DATA';\nconst COA_DATA_CHANGED: string = 'COA_DATA_CHANGED';\nconst ENTRY_FORM_ERROR: string = 'ENTRY_FORM_ERROR';\nconst COA_SCHEMA_CALCULATION_CHANGED: string = 'COA_SCHEMA_CALCULATION_CHANGED';\n\nconst MARKET_PRICE_REMOVE_SELECTED: string = 'MARKET_PRICE_REMOVE_SELECTED';\nconst MARKET_PRICE_LIST: string = 'MARKET_PRICE_LIST';\nconst MARKET_FETCH_SUCCESS: string = 'MARKET_FETCH_SUCCESS';\nconst MARKET_FETCH_FAIL: string = 'MARKET_FETCH_FAIL';\nconst MARKET_FETCH_START: string = 'MARKET_FETCH_START';\n\nconst PREPARE_DATAFRAME_MARKET_PRICE = 'PREPARE_DATAFRAME_MARKET_PRICE';\nconst EDIT_MARKET_PRICE = 'EDIT_MARKET_PRICE';\nconst ADD_MARKET_PRICE = 'ADD_MARKET_PRICE';\nconst EDIT_MARKET_FINALSYMBOL_STATUS = 'EDIT_MARKET_FINALSYMBOL_STATUS';\nconst EDIT_MARKET_SETTLEMENT_DATE_MONTH = 'EDIT_MARKET_SETTLEMENT_DATE_MONTH';\n\nconst SAVE_MARKET_PRICE_STARTS = 'SAVE_MARKET_PRICE_STARTS';\nconst SAVE_MARKET_PRICE_COMPLETE = 'SAVE_MARKET_PRICE_COMPLETE';\nconst SAVE_MARKET_PRICE_STAUS_RESET = 'SAVE_MARKET_PRICE_STAUS_RESET';\nconst SAVE_MARKET_PRICE_ERROR = 'SAVE_MARKET_PRICE_ERROR';\n\nconst SHOW_MESSAGE: string = 'SHOW_MESSAGE';\nconst SHOW_MULTI_MESSAGE: string = 'SHOW_MULTI_MESSAGE';\nconst MULTI_MESSAGE_RESET: string = 'MULTI_MESSAGE_RESET';\nconst HIDE_MESSAGE: string = 'HIDE_MESSAGE';\n\nexport const START_MADCAP_LOADER: string = 'START_MADCAP_LOADER';\nexport const STOP_MADCAP_LOADER: string = 'STOP_MADCAP_LOADER';\nexport const REHYDRATE_STORE = 'REHYDRATE_STORE';\nexport const SIDEBAR_COLLAPSE = 'SIDEBAR_COLLAPSE';\nexport const SIDEBAR_EXPAND = 'SIDEBAR_EXPAND';\n\nconst COP_SAVE_PDF_PRINTDATA = 'SAVE_PDF_PRINTDATA';\nconst COP_GET_PDF_PRINTDATA = 'GET_PDF_PRINTDATA';\n\nconst SELECT_PRODUCER_YEAR = 'SELECT_PRODUCER_YEAR';\nconst CLEAR_PRODUCER_YEAR = 'CLEAR_PRODUCER_YEAR';\n\nconst MULTI_YEAR_API_FETCH = 'MULTI_YEAR_API_FETCH';\nconst MULTI_YEAR_API_SUCCESS = 'MULTI_YEAR_API_SUCCESS';\nconst MULTI_YEAR_API_FAIL = 'MULTI_YEAR_API_FAIL';\nconst MULTI_YEAR_API_ADD_DATA = 'MULTI_YEAR_API_ADD_DATA';\nconst MULTI_YEAR_API_ADD_RESET = 'MULTI_YEAR_API_ADD_RESET';\n\nconst MAD_CAP_FETCH_START = 'MADCAP_FETCH_START';\nconst MAD_CAP_API_SUCCESS = 'MADCAP_API_SUCCESS';\nconst MAD_CAP_API_RESET = 'MAD_CAP_API_RESET';\n\nexport const RM_POSITION_DATA_FROM_MADCAP = 'RM_POSITION_DATA_FROM_MADCAP';\nexport const RM_POSITION_DATA_UPDATE = 'RM_POSITION_DATA_UPDATE';\nexport const RM_POSTION_DATA_COLLAR_COUNT = 'RM_POSTION_DATA_COLLAR_COUNT';\nexport const RM_POSITION_UPDATE_MARKETPRICE = 'RM_POSTION_UPDATE_MARKETPRICE';\nexport const Position_DICTIONARY = 'Position_DICTIONARY';\nexport const RM_POSITION_RECALCULATE_MONTH_YEAR =\n\t'RM_POSITION_RECALCULATE_MONTH_YEAR';\nexport const RM_POSITION_CALCULATE_ALL = 'RM_POSITION_CALCULATE_ALL';\nexport const RM_POSITION_DELETE = 'RM_POSITION_DELETE';\nexport const RM_ADD_NEW_POSITION = 'RM_ADD_NEW_POSITION';\nexport const RM_MOVE_POSITION_DICTIONARY_DATA =\n\t'RM_MOVE_POSITION_DICTIONARY_DATA';\nexport const RM_UPDATEVALIDATION_POSITION = 'RM_UPDATEVALIDATION_POSITION';\nexport const RM_POSITION_HEADER_UPDATE = 'RM_POSITION_HEADER_UPDATE';\nexport const COA_UPDATE_DRP_DATA = 'COA_UPDATE_DRP_DATA';\nexport const COA_UPDATE_RM_DATA = 'COA_UPDATE_RM_DATA';\nexport const SET_DRP_ERROR = 'SET_DRP_ERROR';\n\nexport {\n\tADD_MARKET_PRICE,\n\tAUTH_FAIL,\n\tAUTH_LOGOUT,\n\tAUTH_START,\n\tAUTH_SUCCESS,\n\tCLEAR_PRODUCER_YEAR,\n\tCOASCHEMA_SYNC_OFFLINE,\n\tCOA_DATA_CHANGED,\n\tCOA_ERROR_SAVE_DATA_TO_DB,\n\tCOA_FETCH_FAIL,\n\tCOA_FETCH_START,\n\tCOA_FETCH_SUCCESS,\n\tCOA_RESET_COP,\n\tCOA_RESET_DATA,\n\tCOA_RESET_RM,\n\tCOA_SAVE_DATA,\n\tCOA_SAVE_DATA_OFFLINE,\n\tCOA_SAVE_DATA_OFFLINE_UPDATE,\n\tCOA_SAVE_DATA_TO_DB,\n\tCOA_SAVE_DATA_TO_DB_START,\n\tCOA_SCHEMA_CALCULATION_CHANGED,\n\tCOA_SCHEMA_MAAPED_WITH_DATA,\n\tCOA_SCHEMA_REMOVE_SELECTED,\n\tCOA_SCHEMA_SELECTED,\n\tCOA_UPDATE_RESET,\n\tCOP_GET_PDF_PRINTDATA,\n\tCOP_SAVE_PDF_PRINTDATA,\n\tDELETE_OFFLINE_VERSIONS,\n\tEDIT_MARKET_FINALSYMBOL_STATUS,\n\tEDIT_MARKET_PRICE,\n\tEDIT_MARKET_SETTLEMENT_DATE_MONTH,\n\tENTRY_FORM_ERROR,\n\tHIDE_MESSAGE,\n\tLATEST_MARKETPRICE_SYNC_OFFLINE,\n\tMAD_CAP_API_RESET,\n\tMAD_CAP_API_SUCCESS,\n\tMAD_CAP_FETCH_START,\n\tMARKET_FETCH_FAIL,\n\tMARKET_FETCH_START,\n\tMARKET_FETCH_SUCCESS,\n\tMARKET_PRICE_LIST,\n\tMARKET_PRICE_REMOVE_SELECTED,\n\tMULTI_MESSAGE_RESET,\n\tMULTI_YEAR_API_ADD_DATA,\n\tMULTI_YEAR_API_ADD_RESET,\n\tMULTI_YEAR_API_FAIL,\n\tMULTI_YEAR_API_FETCH,\n\tMULTI_YEAR_API_SUCCESS,\n\tPREPARE_DATAFRAME_MARKET_PRICE,\n\tPRODUCERS_FETCH_FAIL,\n\tPRODUCERS_FETCH_START,\n\tPRODUCERS_FETCH_SUCCESS,\n\tPRODUCERS_LIST,\n\tPRODUCERS_SYNC_FAIL,\n\tPRODUCERS_SYNC_START,\n\tPRODUCERS_SYNC_SUCCESS,\n\tPRODUCER_REMOVE_SELECTED,\n\tPRODUCER_SELECTED,\n\tPRODUCER_SYNC_OFFLINE,\n\tPRODUCER_SYNC_PROGRESS_OFFLINE,\n\tSAVE_MARKET_PRICE_COMPLETE,\n\tSAVE_MARKET_PRICE_ERROR,\n\tSAVE_MARKET_PRICE_STARTS,\n\tSAVE_MARKET_PRICE_STAUS_RESET,\n\tSELECT_PRODUCER_YEAR,\n\tSET_AUTH_REDIRECT_PATH,\n\tSHOW_MESSAGE,\n\tSHOW_MULTI_MESSAGE,\n};\nexport const STORE_DRP_DATA = 'STORE_DRP_DATA';\n\nexport const storeDRPData = (data: any) => ({\n\ttype: STORE_DRP_DATA,\n\tpayload: data,\n});\n\nexport const updateDRPData = (updatedData: any) => ({\n\ttype: COA_UPDATE_DRP_DATA,\n\tpayload: updatedData,\n});\nexport const updateRMData = (newRMData: any) => ({\n\ttype: COA_UPDATE_RM_DATA,\n\tpayload: newRMData,\n});\n\nexport const setDrpError = (hasError: any) => ({\n\ttype: SET_DRP_ERROR,\n\tpayload: hasError,\n});\n","import axios, { AxiosError, AxiosResponse } from 'axios';\nimport * as _ from 'lodash';\nimport { ActionCreator, Dispatch } from 'redux';\nimport { COA_API, RM_API } from '../../common/configs';\nimport {\n\tMSG_TYPE,\n\tRM_ALLOCATION_TYPES,\n\tRM_SECTION_CODES,\n\tSCHEMA_TYPE,\n\tSECTION_CODES,\n\tSECTION_TYPE_CODE,\n\tVERSION_STATUS,\n} from '../../common/constants';\nimport { http } from '../../common/services';\nimport {\n\tformatDateForPriceCurve,\n\tsortArray,\n\tupdateRefrence,\n} from '../../common/utils';\nimport {\n\tAuthInfo,\n\tCostOfProduction,\n\tGenericSchema,\n\tMarketPrice,\n\tProducer,\n\tProducerYear,\n\tRiskManagement,\n\tRMHeader,\n\tSyncOffline,\n} from '../../schemas';\nimport {\n\tPositionEditFieldType,\n\tPositionModel,\n} from '../../schemas/Model/position.model';\nimport { moveRMPostionDictionaryData } from '../reducers/coa';\nimport { store } from './../../store';\nimport {\n\tCOA_DATA_CHANGED,\n\tCOA_ERROR_SAVE_DATA_TO_DB,\n\tCOA_FETCH_FAIL,\n\tCOA_FETCH_START,\n\tCOA_FETCH_SUCCESS,\n\tCOA_RESET_COP,\n\tCOA_RESET_DATA,\n\tCOA_RESET_RM,\n\tCOA_SAVE_DATA,\n\tCOA_SAVE_DATA_TO_DB,\n\tCOA_SAVE_DATA_TO_DB_START,\n\tCOA_SCHEMA_CALCULATION_CHANGED,\n\tCOA_SCHEMA_MAAPED_WITH_DATA,\n\tCOA_SCHEMA_REMOVE_SELECTED,\n\tCOA_SCHEMA_SELECTED,\n\tCOA_UPDATE_RESET,\n\tENTRY_FORM_ERROR,\n\tPosition_DICTIONARY,\n\tRM_ADD_NEW_POSITION,\n\tRM_MOVE_POSITION_DICTIONARY_DATA,\n\tRM_POSITION_CALCULATE_ALL,\n\tRM_POSITION_DATA_UPDATE,\n\tRM_POSITION_DELETE,\n\tRM_POSITION_RECALCULATE_MONTH_YEAR,\n\tRM_POSITION_UPDATE_MARKETPRICE,\n\tRM_POSTION_DATA_COLLAR_COUNT,\n\tRM_UPDATEVALIDATION_POSITION,\n} from './actions';\nimport {\n\tfetchStart,\n\tfetchSuccess,\n\tmarketPriceLoaded,\n\tremoveSelectedMarketPrice,\n\tsaveOffline,\n\tupdateOfflineData,\n} from './index';\nimport { showMessage } from './message-notification';\n\ninterface ICOAAction {\n\ttype: string;\n}\ninterface ICOAErrorAction extends ICOAAction {\n\tpayload: AxiosError;\n}\n\ninterface IAuthCOASelectedAction extends ICOAAction {\n\tpayload: GenericSchema | null;\n}\n\ninterface IAuthCOASavedAction extends ICOAAction {\n\tpayload: GenericSchema | null;\n}\n\ninterface IAuthCOACalculationChangedAction extends ICOAAction {\n\tpayload: GenericSchema | null;\n}\n\ninterface IAuthCOASchemaMappedAction extends ICOAAction {\n\tpayload: GenericSchema | null;\n}\n\ninterface IAuthEntryFormErrorAction extends ICOAAction {\n\tpayload: GenericSchema | null;\n}\n\ninterface ICOAResetAction extends ICOAAction {\n\tpayload: boolean;\n}\n\ninterface ICOAUpdateAction extends ICOAAction {\n\tpayload: boolean;\n}\n\nconst movePositionDataFromDictionary = () => {\n\treturn { type: RM_MOVE_POSITION_DICTIONARY_DATA };\n};\n\nconst updateValidationErrorPosition = () => {\n\treturn {\n\t\ttype: RM_UPDATEVALIDATION_POSITION,\n\t};\n};\n\nconst addNewPosition = (payload: {\n\ttype: string;\n\tmonth: string;\n\tyear: string;\n\tcommodity: string;\n\tsettledprice: number;\n\tfinancialYear: any;\n}) => {\n\treturn {\n\t\ttype: RM_ADD_NEW_POSITION,\n\t\tpayload: payload,\n\t};\n};\n\nconst updatePostionForMarketPrice = (payload: {\n\tmarketPriceList: Array;\n}) => {\n\treturn {\n\t\ttype: RM_POSITION_UPDATE_MARKETPRICE,\n\t\tpayload: payload,\n\t};\n};\n\nconst deletePositionFromPC = (payload: {\n\tsettledprice: number;\n\tfinancialYear: number;\n\tmodel: PositionModel;\n\tcommodity: string;\n\tmonth: string;\n\tyear: string;\n}) => {\n\treturn { type: RM_POSITION_DELETE, payload: payload };\n};\n\nconst calculateALLCommodities = (payload: { financialYear: any }) => {\n\treturn { type: RM_POSITION_CALCULATE_ALL, payload: payload };\n};\n\nconst calculateMonthCardPosition = (payload: {\n\tfinancialYear: number;\n\tmonth: string;\n\tyear: string;\n\tcommodity: string;\n}) => {\n\treturn { type: RM_POSITION_RECALCULATE_MONTH_YEAR, payload: payload };\n};\nconst updatePositionCalculation = (payload: {\n\tsettledprice: number;\n\tfinancialYear: number;\n\tmodel: PositionModel;\n\tcommodity: string;\n\tmonth: string;\n\tyear: string;\n\tfieldName: PositionEditFieldType;\n\tvalue: number;\n}) => {\n\treturn {\n\t\ttype: RM_POSITION_DATA_UPDATE,\n\t\tpayload: payload,\n\t};\n};\n\nconst updateCollarNumberAndVolume = (payload: {\n\tmodel: PositionModel;\n\tcommodity: string;\n\tmonth: string;\n\tyear: string;\n}) => {\n\treturn {\n\t\ttype: RM_POSTION_DATA_COLLAR_COUNT,\n\t\tpayload: payload,\n\t};\n};\n\nconst coaFetchStart: ActionCreator = () => {\n\treturn {\n\t\ttype: COA_FETCH_START,\n\t};\n};\n\nconst coaFetchFail: ActionCreator = (error: AxiosError) => {\n\treturn {\n\t\ttype: COA_FETCH_FAIL,\n\t\tpayload: error,\n\t};\n};\n\nconst coaSchemaSelected: ActionCreator = (\n\tschema: GenericSchema | null = null\n) => {\n\treturn {\n\t\ttype: COA_SCHEMA_SELECTED,\n\t\tpayload: schema,\n\t};\n};\n\nconst removeSelectedCOAScehma: ActionCreator = () => {\n\treturn {\n\t\ttype: COA_SCHEMA_REMOVE_SELECTED,\n\t};\n};\n\nconst resetCOAData: ActionCreator = () => {\n\treturn {\n\t\ttype: COA_RESET_DATA,\n\t};\n};\n\nconst resetRMData: ActionCreator = () => {\n\treturn {\n\t\ttype: COA_RESET_RM,\n\t};\n};\nconst resetCOPData: ActionCreator = () => {\n\treturn {\n\t\ttype: COA_RESET_COP,\n\t};\n};\n\nconst updateResetCOAData: ActionCreator = (\n\tisManuallyReset: boolean = false\n) => {\n\treturn {\n\t\ttype: COA_UPDATE_RESET,\n\t\tpayload: isManuallyReset,\n\t};\n};\n\nconst coaSaveData: ActionCreator = (\n\tdata: GenericSchema | null = null\n) => {\n\treturn {\n\t\ttype: COA_SAVE_DATA,\n\t\tpayload: data,\n\t};\n};\n\nconst coaUpdateCalculation: ActionCreator = (\n\tdata: GenericSchema | null = null\n) => {\n\treturn {\n\t\ttype: COA_SCHEMA_CALCULATION_CHANGED,\n\t\tpayload: data,\n\t};\n};\n\nconst coaSchemaMappedWithData: ActionCreator = (\n\tdata: GenericSchema | null = null\n) => {\n\treturn {\n\t\ttype: COA_SCHEMA_MAAPED_WITH_DATA,\n\t\tpayload: data,\n\t};\n};\nconst coaSyncedToDBStart: ActionCreator = () => {\n\treturn {\n\t\ttype: COA_SAVE_DATA_TO_DB_START,\n\t};\n};\nconst coaSyncedToDBSucces: ActionCreator = () => {\n\treturn {\n\t\ttype: COA_SAVE_DATA_TO_DB,\n\t};\n};\nconst coaSyncedToDBFail: ActionCreator = () => {\n\treturn {\n\t\ttype: COA_ERROR_SAVE_DATA_TO_DB,\n\t};\n};\n\nconst coaDataChanged: ActionCreator = (status: boolean) => {\n\treturn {\n\t\ttype: COA_DATA_CHANGED,\n\t\tpayload: status,\n\t};\n};\n\nconst coaFetchDataSuccess: ActionCreator = () => {\n\treturn {\n\t\ttype: COA_FETCH_SUCCESS,\n\t};\n};\n\nconst entryFormError: ActionCreator = (\n\tdata: GenericSchema | null = null\n) => {\n\treturn {\n\t\ttype: ENTRY_FORM_ERROR,\n\t\tpayload: data,\n\t};\n};\n\nconst sortBySequence = (arr: Array) => {\n\treturn _.sortBy(arr, item => item?.extension?.sequenceNumber);\n};\n\n// get schema for COP / RM\nconst getCOASchema = (\n\tschemaIdentifier: string = '',\n\tyear: string = '',\n\tpartyIdentifer: string = '',\n\trevisionIdentifier: string = '',\n\tschemaName: string = '',\n\trmRevisionIdentifier: string = ''\n) => {\n\treturn (dispatch: Dispatch) => {\n\t\tconst apiRequest = [];\n\t\tconst authInfo: AuthInfo = store.getState().auth;\n\t\tconst syncedData: SyncOffline = store.getState().synced;\n\t\tconst syncList = syncedData[authInfo?.userInfo?.mail]?.list || [];\n\t\tconst producer = syncList.filter(\n\t\t\t(p: Producer) => p.producerIdentifier == partyIdentifer\n\t\t);\n\t\tconst yearList =\n\t\t\tproducer?.length > 0\n\t\t\t\t? producer[0]?.versions.filter(\n\t\t\t\t\t\t(item: ProducerYear) => String(item.year) == String(year)\n\t\t\t\t )\n\t\t\t\t: [];\n\n\t\tconst versionCOP =\n\t\t\tyearList?.length > 0\n\t\t\t\t? yearList[0].costOfProductionVersions.filter(\n\t\t\t\t\t\t(item: CostOfProduction) =>\n\t\t\t\t\t\t\tNumber(item.version) == Number(revisionIdentifier)\n\t\t\t\t )\n\t\t\t\t: [];\n\t\tconst versionCOPJournalEntry =\n\t\t\tversionCOP?.length > 0 ? versionCOP[0].journalEntry : {};\n\t\tconst versionRM =\n\t\t\tyearList?.length > 0\n\t\t\t\t? yearList[0].riskMarketingVersions.filter(\n\t\t\t\t\t\t(item: RiskManagement) =>\n\t\t\t\t\t\t\tNumber(item.version) == Number(rmRevisionIdentifier)\n\t\t\t\t )\n\t\t\t\t: [];\n\t\tconst versionRMJournalEntry =\n\t\t\tversionRM?.length > 0 ? versionRM[0].journalEntry : {};\n\n\t\tdispatch(removeSelectedCOAScehma());\n\t\tdispatch(coaFetchStart());\n\n\t\t// get schema\n\t\tapiRequest.push(http.get(COA_API.GET_COP_SCHEMA(schemaIdentifier)));\n\n\t\tswitch (schemaName) {\n\t\t\tcase SCHEMA_TYPE.RM:\n\t\t\t\tloadMarketPrice(\n\t\t\t\t\tdispatch,\n\t\t\t\t\tpartyIdentifer,\n\t\t\t\t\tyear,\n\t\t\t\t\trevisionIdentifier,\n\t\t\t\t\trmRevisionIdentifier,\n\t\t\t\t\tversionRMJournalEntry\n\t\t\t\t);\n\t\t\t\t// get cop journal entry lines\n\t\t\t\tapiRequest.push(\n\t\t\t\t\thttp.get(\n\t\t\t\t\t\tCOA_API.GET_COP_DATA(\n\t\t\t\t\t\t\tpartyIdentifer,\n\t\t\t\t\t\t\tyear,\n\t\t\t\t\t\t\trevisionIdentifier,\n\t\t\t\t\t\t\tSCHEMA_TYPE.COP\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t);\n\n\t\t\t\t//get previous rm entry lines\n\t\t\t\tapiRequest.push(\n\t\t\t\t\thttp.get(\n\t\t\t\t\t\tCOA_API.GET_JOURNAL_ENTRY_LINES(\n\t\t\t\t\t\t\tpartyIdentifer,\n\t\t\t\t\t\t\t`${RM_SECTION_CODES.POSITION},${RM_SECTION_CODES.DRP},${RM_SECTION_CODES.DRP_COMP}`,\n\t\t\t\t\t\t\t(Number(year) - 1).toString(),\n\t\t\t\t\t\t\tSCHEMA_TYPE.RM\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t);\n\n\t\t\t\tif (Number(rmRevisionIdentifier) > 0) {\n\t\t\t\t\t//get rm journal entry lines\n\t\t\t\t\tapiRequest.push(\n\t\t\t\t\t\thttp.get(\n\t\t\t\t\t\t\tCOA_API.GET_COP_DATA(\n\t\t\t\t\t\t\t\tpartyIdentifer,\n\t\t\t\t\t\t\t\tyear,\n\t\t\t\t\t\t\t\trmRevisionIdentifier,\n\t\t\t\t\t\t\t\tSCHEMA_TYPE.RM\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\taxios\n\t\t\t\t\t.all(apiRequest)\n\t\t\t\t\t.then(\n\t\t\t\t\t\taxios.spread((...responses) => {\n\t\t\t\t\t\t\t// schema dispatched\n\t\t\t\t\t\t\tconst schema = responses[0]?.data;\n\t\t\t\t\t\t\tdispatch(coaSchemaSelected(schema));\n\n\t\t\t\t\t\t\t// cop journal entry lines\n\t\t\t\t\t\t\tconst copJournalEntryLines = responses[1]?.data;\n\n\t\t\t\t\t\t\t// previous year rm journal entry lines\n\t\t\t\t\t\t\tconst prevRmJournalEntryLines = responses[2]?.data;\n\n\t\t\t\t\t\t\t// rm journal entry lines\n\t\t\t\t\t\t\tconst rmJournalEntryLines = responses[3]?.data;\n\t\t\t\t\t\t\t// console.log('rmJournalEntryLines', rmJournalEntryLines);\n\n\t\t\t\t\t\t\tconst data = !_.isEmpty(copJournalEntryLines)\n\t\t\t\t\t\t\t\t? copJournalEntryLines\n\t\t\t\t\t\t\t\t: versionCOPJournalEntry;\n\t\t\t\t\t\t\tlet mergedSchema: GenericSchema;\n\n\t\t\t\t\t\t\tif (!_.isEmpty(data)) {\n\t\t\t\t\t\t\t\tmergedSchema = mapDatawithSchema(schema, data);\n\t\t\t\t\t\t\t\tif (Number(rmRevisionIdentifier) > 0) {\n\t\t\t\t\t\t\t\t\tlet journalEntry = !_.isEmpty(\n\t\t\t\t\t\t\t\t\t\trmJournalEntryLines?.journalEntry\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t? rmJournalEntryLines?.journalEntry\n\t\t\t\t\t\t\t\t\t\t: versionRMJournalEntry?.journalEntry;\n\n\t\t\t\t\t\t\t\t\t// prior year RM journalEntry line data\n\t\t\t\t\t\t\t\t\tconst prevYearJournalEntryLine =\n\t\t\t\t\t\t\t\t\t\tprevRmJournalEntryLines || [];\n\n\t\t\t\t\t\t\t\t\tconst staticData: GenericSchema = {};\n\t\t\t\t\t\t\t\t\tstaticData[\n\t\t\t\t\t\t\t\t\t\t'prevYearJournalEntryLine'\n\t\t\t\t\t\t\t\t\t] = prevYearJournalEntryLine;\n\t\t\t\t\t\t\t\t\tstaticData['schema'] = {\n\t\t\t\t\t\t\t\t\t\tshowChartOfAccounts:\n\t\t\t\t\t\t\t\t\t\t\tmergedSchema.schema.showChartOfAccounts,\n\t\t\t\t\t\t\t\t\t\tjournalEntry: journalEntry,\n\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\tstaticData['basicInfo'] = mergedSchema.basicInfo;\n\t\t\t\t\t\t\t\t\tstaticData['schema'][\n\t\t\t\t\t\t\t\t\t\tSECTION_TYPE_CODE.INCOME\n\t\t\t\t\t\t\t\t\t] = sortBySequence(\n\t\t\t\t\t\t\t\t\t\tschema.showChartOfAccounts.dataArea.chartOfAccounts.filter(\n\t\t\t\t\t\t\t\t\t\t\t(item: GenericSchema) => {\n\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\titem.extension.code[1].content !==\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tRM_ALLOCATION_TYPES.DO_NOT_FORECAST &&\n\t\t\t\t\t\t\t\t\t\t\t\t\titem.typeCode === SECTION_TYPE_CODE.INCOME\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\tstaticData['schema'][\n\t\t\t\t\t\t\t\t\t\tSECTION_TYPE_CODE.EXPENSE\n\t\t\t\t\t\t\t\t\t] = sortBySequence(\n\t\t\t\t\t\t\t\t\t\tschema.showChartOfAccounts.dataArea.chartOfAccounts.filter(\n\t\t\t\t\t\t\t\t\t\t\t(item: GenericSchema) => {\n\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\titem.extension.code[1].content !==\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tRM_ALLOCATION_TYPES.DO_NOT_FORECAST &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t(item.typeCode === SECTION_TYPE_CODE.EXPENSE ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.typeCode === SECTION_TYPE_CODE.ACCRUAL)\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t\tdispatch(coaSchemaMappedWithData(staticData));\n\t\t\t\t\t\t\t\t\tdispatch(coaFetchDataSuccess());\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t// prior year RM journalEntry line data\n\t\t\t\t\t\t\t\t\tconst prevYearJournalEntryLine =\n\t\t\t\t\t\t\t\t\t\tprevRmJournalEntryLines || [];\n\n\t\t\t\t\t\t\t\t\tconst staticData: GenericSchema = {};\n\t\t\t\t\t\t\t\t\tstaticData[\n\t\t\t\t\t\t\t\t\t\t'prevYearJournalEntryLine'\n\t\t\t\t\t\t\t\t\t] = prevYearJournalEntryLine;\n\t\t\t\t\t\t\t\t\tstaticData['schema'] = {\n\t\t\t\t\t\t\t\t\t\tshowChartOfAccounts:\n\t\t\t\t\t\t\t\t\t\t\tmergedSchema.schema.showChartOfAccounts,\n\t\t\t\t\t\t\t\t\t\tjournalEntry: {\n\t\t\t\t\t\t\t\t\t\t\ttypeCode: 'RM',\n\t\t\t\t\t\t\t\t\t\t\tjournalEntryHeader: RMHeader,\n\t\t\t\t\t\t\t\t\t\t\tjournalEntryLine: [],\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\tstaticData['basicInfo'] = mergedSchema.basicInfo;\n\t\t\t\t\t\t\t\t\tstaticData['schema'][\n\t\t\t\t\t\t\t\t\t\tSECTION_TYPE_CODE.INCOME\n\t\t\t\t\t\t\t\t\t] = sortBySequence(\n\t\t\t\t\t\t\t\t\t\tschema.showChartOfAccounts.dataArea.chartOfAccounts.filter(\n\t\t\t\t\t\t\t\t\t\t\t(item: GenericSchema) => {\n\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\titem.extension.code[1].content !==\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tRM_ALLOCATION_TYPES.DO_NOT_FORECAST &&\n\t\t\t\t\t\t\t\t\t\t\t\t\titem.typeCode === SECTION_TYPE_CODE.INCOME\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\tstaticData['schema'][\n\t\t\t\t\t\t\t\t\t\tSECTION_TYPE_CODE.EXPENSE\n\t\t\t\t\t\t\t\t\t] = sortBySequence(\n\t\t\t\t\t\t\t\t\t\tschema.showChartOfAccounts.dataArea.chartOfAccounts.filter(\n\t\t\t\t\t\t\t\t\t\t\t(item: GenericSchema) => {\n\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\titem.extension.code[1].content !==\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tRM_ALLOCATION_TYPES.DO_NOT_FORECAST &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t(item.typeCode === SECTION_TYPE_CODE.EXPENSE ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.typeCode === SECTION_TYPE_CODE.ACCRUAL)\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t\tdispatch(coaSchemaMappedWithData(staticData));\n\t\t\t\t\t\t\t\t\tdispatch(coaFetchDataSuccess());\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t)\n\t\t\t\t\t.catch((err: AxiosError) => {\n\t\t\t\t\t\tdispatch(coaFetchFail(err));\n\t\t\t\t\t\tdispatch(showMessage(err?.message));\n\t\t\t\t\t});\n\n\t\t\t\tbreak;\n\t\t\tcase SCHEMA_TYPE.COP:\n\t\t\t\t//get cop data\n\t\t\t\tif (Number(revisionIdentifier) > 0) {\n\t\t\t\t\tapiRequest.push(\n\t\t\t\t\t\thttp.get(\n\t\t\t\t\t\t\tCOA_API.GET_COP_DATA(\n\t\t\t\t\t\t\t\tpartyIdentifer,\n\t\t\t\t\t\t\t\tyear,\n\t\t\t\t\t\t\t\trevisionIdentifier,\n\t\t\t\t\t\t\t\tSCHEMA_TYPE.COP\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\taxios\n\t\t\t\t\t.all(apiRequest)\n\t\t\t\t\t.then(\n\t\t\t\t\t\taxios.spread((...responses) => {\n\t\t\t\t\t\t\t// schema dispatched\n\t\t\t\t\t\t\tconst schema = responses[0]?.data;\n\t\t\t\t\t\t\tdispatch(coaSchemaSelected(schema));\n\n\t\t\t\t\t\t\t// journal entry lines dispatched\n\t\t\t\t\t\t\tconst copJournalEntryLines = responses[1]?.data;\n\t\t\t\t\t\t\tconst data = !_.isEmpty(copJournalEntryLines)\n\t\t\t\t\t\t\t\t? copJournalEntryLines\n\t\t\t\t\t\t\t\t: versionCOPJournalEntry;\n\t\t\t\t\t\t\tif (!_.isEmpty(data)) {\n\t\t\t\t\t\t\t\tconst mergedSchema = mapDatawithSchema(schema, data);\n\t\t\t\t\t\t\t\tdispatch(coaSchemaMappedWithData(mergedSchema));\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tdispatch(coaFetchDataSuccess());\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t)\n\t\t\t\t\t.catch((err: AxiosError) => {\n\t\t\t\t\t\tdispatch(coaFetchFail(err));\n\t\t\t\t\t\tdispatch(showMessage(err?.message));\n\t\t\t\t\t});\n\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\t};\n};\n\nconst loadMarketPrice = (\n\tdispatch: ActionCreator,\n\tpartyIdentifer: string,\n\tyear: string,\n\trevisionIdentifier: string,\n\trmRevisionIdentifier: string,\n\tversionRMJournalEntry: GenericSchema | null\n) => {\n\tconst mtmRequest = [];\n\n\t//get cop journal entry line\n\tmtmRequest.push(\n\t\thttp.get(\n\t\t\tCOA_API.GET_COP_DATA(\n\t\t\t\tpartyIdentifer,\n\t\t\t\tyear,\n\t\t\t\trevisionIdentifier,\n\t\t\t\tSCHEMA_TYPE.COP\n\t\t\t)\n\t\t)\n\t);\n\n\tif (Number(rmRevisionIdentifier) > 0) {\n\t\t//get rm journal entry lines\n\t\tmtmRequest.push(\n\t\t\thttp.get(\n\t\t\t\tCOA_API.GET_COP_DATA(\n\t\t\t\t\tpartyIdentifer,\n\t\t\t\t\tyear,\n\t\t\t\t\trmRevisionIdentifier,\n\t\t\t\t\tSCHEMA_TYPE.RM\n\t\t\t\t)\n\t\t\t)\n\t\t);\n\t}\n\n\taxios.all(mtmRequest).then(\n\t\taxios.spread((...responses) => {\n\t\t\t// cop journal entry lines\n\t\t\tconst copJournalEntryLines = responses[0].data;\n\t\t\t// rm journal entry lines\n\t\t\tconst rmJournalEntryLines = responses[1]?.data;\n\n\t\t\t//when rn document is available\n\t\t\tif (Number(rmRevisionIdentifier) > 0) {\n\t\t\t\t// MTM date\n\t\t\t\tlet journalEntryHeader = !_.isEmpty(rmJournalEntryLines?.journalEntry)\n\t\t\t\t\t? rmJournalEntryLines?.journalEntry?.journalEntryHeader\n\t\t\t\t\t: versionRMJournalEntry?.journalEntry?.journalEntryHeader;\n\n\t\t\t\tconst mtmDate = formatDateForPriceCurve(\n\t\t\t\t\tjournalEntryHeader['documentReference'][2]['documentDateTime']\n\t\t\t\t);\n\t\t\t\tconst finacialYear = String(\n\t\t\t\t\tNumber(journalEntryHeader?.accountingPeriod?.year) + 1\n\t\t\t\t);\n\t\t\t\tconst financialYearStartmonth =\n\t\t\t\t\tcopJournalEntryLines?.accountingPeriod?.periodIdentifier || 'January';\n\t\t\t\tfetchMarketPrice(\n\t\t\t\t\tdispatch,\n\t\t\t\t\tmtmDate,\n\t\t\t\t\tfinancialYearStartmonth,\n\t\t\t\t\tfinacialYear\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tconst mtmDate = formatDateForPriceCurve(new Date());\n\t\t\t\tconst finacialYear = String(Number(year) + 1);\n\t\t\t\tconst financialYearStartmonth =\n\t\t\t\t\tcopJournalEntryLines?.accountingPeriod?.periodIdentifier || 'January';\n\t\t\t\tfetchMarketPrice(\n\t\t\t\t\tdispatch,\n\t\t\t\t\tmtmDate,\n\t\t\t\t\tfinancialYearStartmonth,\n\t\t\t\t\tfinacialYear\n\t\t\t\t);\n\t\t\t}\n\t\t})\n\t);\n};\n\n//fetch market price\nfunction fetchMarketPrice(\n\tdispatch: ActionCreator,\n\tmtmDate: string,\n\tfinancialYearStartmonth: string,\n\tfinacialYear: string\n) {\n\tdispatch(removeSelectedMarketPrice());\n\tdispatch(fetchStart({ date: mtmDate }));\n\thttp\n\t\t.get(\n\t\t\tRM_API.MARKET_PRICE_HISTORIC_LIST(\n\t\t\t\tmtmDate,\n\t\t\t\tfinancialYearStartmonth,\n\t\t\t\tfinacialYear\n\t\t\t)\n\t\t)\n\t\t.then((response: AxiosResponse) => {\n\t\t\tlet marketPriceList = response.data ? response.data : [];\n\t\t\tmarketPriceList.forEach((item: MarketPrice) => {\n\t\t\t\tconst monthYear = item.month + ' ' + item.year;\n\t\t\t\titem.date = new Date(monthYear);\n\t\t\t});\n\n\t\t\tmarketPriceList = _.orderBy(\n\t\t\t\tmarketPriceList,\n\t\t\t\t(item: MarketPrice) => new Date(item.tradingDateTime),\n\t\t\t\t['desc']\n\t\t\t);\n\t\t\tdispatch(marketPriceLoaded(marketPriceList));\n\t\t\tdispatch(fetchSuccess());\n\t\t});\n}\n\n//get schema for COP / RM in Offline Mode\nconst getCOASchemaOffline = (\n\tschemaIdentifier: string = '',\n\tyear: string = '',\n\tpartyIdentifer: string = '',\n\trevisionIdentifier: string = '',\n\tschemaName: string = '',\n\trmRevisionIdentifier: string = ''\n) => {\n\treturn (dispatch: Dispatch) => {\n\t\tdispatch(removeSelectedCOAScehma());\n\t\tdispatch(coaFetchStart());\n\t\tlet schema: GenericSchema = {};\n\t\tlet mergedSchema: GenericSchema = {};\n\t\tconst authInfo: AuthInfo = store.getState().auth;\n\t\tconst syncedData: SyncOffline = store.getState().synced;\n\t\tconst syncList = syncedData[authInfo?.userInfo?.mail]?.list || [];\n\t\tconst producer = syncList.filter(\n\t\t\t(p: Producer) => p.producerIdentifier == partyIdentifer\n\t\t);\n\t\tconst yearList =\n\t\t\tproducer?.length > 0\n\t\t\t\t? producer[0]?.versions.filter(\n\t\t\t\t\t\t(item: ProducerYear) => String(item.year) == String(year)\n\t\t\t\t )\n\t\t\t\t: [];\n\t\tconst versionCOP =\n\t\t\tyearList?.length > 0\n\t\t\t\t? yearList[0].costOfProductionVersions.filter(\n\t\t\t\t\t\t(item: CostOfProduction) =>\n\t\t\t\t\t\t\tNumber(item.version) == Number(revisionIdentifier)\n\t\t\t\t )\n\t\t\t\t: [];\n\t\tconst versionCOPJournalEntry =\n\t\t\tversionCOP?.length > 0 ? versionCOP[0].journalEntry : {};\n\t\tconst versionRM =\n\t\t\tyearList?.length > 0\n\t\t\t\t? yearList[0].riskMarketingVersions.filter(\n\t\t\t\t\t\t(item: RiskManagement) =>\n\t\t\t\t\t\t\tNumber(item.version) == Number(rmRevisionIdentifier)\n\t\t\t\t )\n\t\t\t\t: [];\n\t\tconst versionRMJournalEntry =\n\t\t\tversionRM?.length > 0 ? versionRM[0].journalEntry : {};\n\n\t\t// get COA schema\n\t\tif (Number(schemaIdentifier) > 0) {\n\t\t\tschema =\n\t\t\t\tsyncedData?.schemaList?.filter(\n\t\t\t\t\t(item: GenericSchema) =>\n\t\t\t\t\t\tNumber(item.versionIdentifier) == Number(schemaIdentifier)\n\t\t\t\t)[0] || {};\n\t\t} else {\n\t\t\tschema =\n\t\t\t\t_.sortBy(syncedData?.schemaList, 'versionIdentifier').reverse()[0] ||\n\t\t\t\t{};\n\t\t}\n\n\t\t// previous year data for prefilling previous year\n\t\tconst prevYear = (Number(year) - 1).toString();\n\t\tconst prevYearList =\n\t\t\tproducer?.length > 0\n\t\t\t\t? producer[0]?.versions.filter(\n\t\t\t\t\t\t(item: ProducerYear) => String(item.year) == String(prevYear)\n\t\t\t\t )\n\t\t\t\t: [];\n\t\tconst prevYearversionRM =\n\t\t\tprevYearList?.length > 0\n\t\t\t\t? sortArray(prevYearList[0].riskMarketingVersions, 'modifiedDate', true)\n\t\t\t\t: [];\n\t\tconst versionRMJournalEntryLine =\n\t\t\tprevYearversionRM?.length > 0\n\t\t\t\t? prevYearversionRM[0].journalEntry?.journalEntry?.journalEntryLine\n\t\t\t\t: [];\n\n\t\tswitch (schemaName) {\n\t\t\tcase SCHEMA_TYPE.RM:\n\t\t\t\t// get cop data\n\n\t\t\t\tif (!_.isEmpty(versionCOPJournalEntry)) {\n\t\t\t\t\tconst data = versionCOPJournalEntry;\n\t\t\t\t\tmergedSchema = mapDatawithSchema(schema, data);\n\t\t\t\t\tif (Number(rmRevisionIdentifier) > 0) {\n\t\t\t\t\t\t// get RM data\n\t\t\t\t\t\tconst data = versionRMJournalEntry;\n\n\t\t\t\t\t\tconst staticData: GenericSchema = {};\n\t\t\t\t\t\tstaticData['prevYearJournalEntryLine'] = [\n\t\t\t\t\t\t\t{ year: prevYear, journalEntryLines: versionRMJournalEntryLine },\n\t\t\t\t\t\t];\n\t\t\t\t\t\tstaticData['schema'] = {\n\t\t\t\t\t\t\tshowChartOfAccounts: mergedSchema.schema.showChartOfAccounts,\n\t\t\t\t\t\t\tjournalEntry: versionRMJournalEntry?.journalEntry,\n\t\t\t\t\t\t};\n\t\t\t\t\t\tstaticData['basicInfo'] = mergedSchema.basicInfo;\n\t\t\t\t\t\tstaticData['schema'][SECTION_TYPE_CODE.INCOME] = sortBySequence(\n\t\t\t\t\t\t\tschema.showChartOfAccounts.dataArea.chartOfAccounts.filter(\n\t\t\t\t\t\t\t\t(item: GenericSchema) => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\titem.extension.code[1].content !==\n\t\t\t\t\t\t\t\t\t\t\tRM_ALLOCATION_TYPES.DO_NOT_FORECAST &&\n\t\t\t\t\t\t\t\t\t\titem.typeCode === SECTION_TYPE_CODE.INCOME\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\t\t\t\t\t\tstaticData['schema'][SECTION_TYPE_CODE.EXPENSE] = sortBySequence(\n\t\t\t\t\t\t\tschema.showChartOfAccounts.dataArea.chartOfAccounts.filter(\n\t\t\t\t\t\t\t\t(item: GenericSchema) => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\titem.extension.code[1].content !==\n\t\t\t\t\t\t\t\t\t\t\tRM_ALLOCATION_TYPES.DO_NOT_FORECAST &&\n\t\t\t\t\t\t\t\t\t\t(item.typeCode === SECTION_TYPE_CODE.EXPENSE ||\n\t\t\t\t\t\t\t\t\t\t\titem.typeCode === SECTION_TYPE_CODE.ACCRUAL)\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tdispatch(coaSchemaMappedWithData(staticData));\n\t\t\t\t\t\tdispatch(coaFetchDataSuccess());\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst staticData: GenericSchema = {};\n\t\t\t\t\t\tstaticData['prevYearJournalEntryLine'] = [\n\t\t\t\t\t\t\t{ year: prevYear, journalEntryLines: versionRMJournalEntryLine },\n\t\t\t\t\t\t];\n\t\t\t\t\t\tstaticData['schema'] = {\n\t\t\t\t\t\t\tshowChartOfAccounts: mergedSchema.schema.showChartOfAccounts,\n\t\t\t\t\t\t\tjournalEntry: {\n\t\t\t\t\t\t\t\ttypeCode: 'RM',\n\t\t\t\t\t\t\t\tjournalEntryHeader: RMHeader,\n\t\t\t\t\t\t\t\tjournalEntryLine: [],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t};\n\t\t\t\t\t\tstaticData['basicInfo'] = mergedSchema.basicInfo;\n\t\t\t\t\t\tstaticData['schema'][SECTION_TYPE_CODE.INCOME] = sortBySequence(\n\t\t\t\t\t\t\tschema.showChartOfAccounts.dataArea.chartOfAccounts.filter(\n\t\t\t\t\t\t\t\t(item: GenericSchema) => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\titem.extension.code[1].content !==\n\t\t\t\t\t\t\t\t\t\t\tRM_ALLOCATION_TYPES.DO_NOT_FORECAST &&\n\t\t\t\t\t\t\t\t\t\titem.typeCode === SECTION_TYPE_CODE.INCOME\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\t\t\t\t\t\tstaticData['schema'][SECTION_TYPE_CODE.EXPENSE] = sortBySequence(\n\t\t\t\t\t\t\tschema.showChartOfAccounts.dataArea.chartOfAccounts.filter(\n\t\t\t\t\t\t\t\t(item: GenericSchema) => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\titem.extension.code[1].content !==\n\t\t\t\t\t\t\t\t\t\t\tRM_ALLOCATION_TYPES.DO_NOT_FORECAST &&\n\t\t\t\t\t\t\t\t\t\t(item.typeCode === SECTION_TYPE_CODE.EXPENSE ||\n\t\t\t\t\t\t\t\t\t\t\titem.typeCode === SECTION_TYPE_CODE.ACCRUAL)\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\t\t\t\t\t\tdispatch(coaSchemaMappedWithData(staticData));\n\t\t\t\t\t\tdispatch(coaFetchDataSuccess());\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase SCHEMA_TYPE.COP:\n\t\t\t\tdispatch(coaSchemaSelected(schema));\n\n\t\t\t\t//getting data\n\t\t\t\tif (Number(revisionIdentifier) > 0) {\n\t\t\t\t\t// GET DATA\n\t\t\t\t\tconst data = versionCOPJournalEntry;\n\t\t\t\t\tif (!_.isEmpty(data)) {\n\t\t\t\t\t\tconst mergedSchema = mapDatawithSchema(schema, data);\n\t\t\t\t\t\tdispatch(coaSchemaMappedWithData(mergedSchema));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdispatch(coaFetchDataSuccess());\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tdispatch(coaFetchDataSuccess());\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\t};\n};\n\n// save data to DB for COP & RM\nconst saveCOAData = (\n\tschemaOb: GenericSchema,\n\tproducerIdentifier: string,\n\tsaveLocal: boolean = true,\n\tisNewRecord: boolean = true,\n\ttype: string,\n\trevisionIdentifier: number\n) => {\n\treturn (dispatch: Dispatch) => {\n\t\tlet schema = updateRefrence(schemaOb);\n\t\tconst authInfo: AuthInfo = store.getState().auth;\n\t\tdispatch(coaSyncedToDBStart());\n\t\tif (saveLocal) {\n\t\t\tdispatch(coaSaveData(schema));\n\t\t} else {\n\t\t\t//get header\n\t\t\tlet journalEntryHeader: GenericSchema;\n\t\t\t// get entry line to store in DB\n\t\t\tlet journalEntryLine: Array = [];\n\t\t\tif (type === SCHEMA_TYPE.RM) {\n\t\t\t\tjournalEntryHeader = schema[RM_SECTION_CODES.HEADER];\n\t\t\t\tdelete schema[RM_SECTION_CODES.HEADER];\n\t\t\t\tdelete schema[SECTION_TYPE_CODE.INCOME];\n\t\t\t\tdelete schema[SECTION_TYPE_CODE.EXPENSE];\n\t\t\t\tdelete schema['copData'];\n\t\t\t\tmoveRMPostionDictionaryData({ calculatedSchema: schema });\n\t\t\t\tdelete schema[Position_DICTIONARY];\n\t\t\t\tjournalEntryLine = flattenedRMSchema(schema);\n\t\t\t} else {\n\t\t\t\tjournalEntryHeader = schema[SECTION_CODES?.BASIC_INFO];\n\t\t\t\tdelete schema[SECTION_CODES.BASIC_INFO];\n\t\t\t\tjournalEntryLine = flattenedSchema(schema).map(item => {\n\t\t\t\t\t//item.identifier from 77 to 80 is for Age Group under the Livestock Inventory\n\t\t\t\t\tif (item.identifier >= 77 && item.identifier <= 80) {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tlineNumberIdentifier: item.identifier,\n\t\t\t\t\t\t\tnote: item.note,\n\t\t\t\t\t\t\tamount: item.amount,\n\t\t\t\t\t\t\tdescription: item.description ? item.description : '',\n\t\t\t\t\t\t\textension: {\n\t\t\t\t\t\t\t\tamount: item.extension?.amount,\n\t\t\t\t\t\t\t\tmeasure: item.extension?.measure,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t};\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tlineNumberIdentifier: item.identifier,\n\t\t\t\t\t\t\tnote: item.note,\n\t\t\t\t\t\t\tamount: item.amount,\n\t\t\t\t\t\t\textension: {\n\t\t\t\t\t\t\t\tamount: item.extension?.amount,\n\t\t\t\t\t\t\t\tmeasure: item.extension?.measure,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// preparing params to be send\n\t\t\tconst obj = {\n\t\t\t\tid: journalEntryHeader?.id,\n\t\t\t\tjournalEntry: {\n\t\t\t\t\tjournalEntryLine: journalEntryLine,\n\t\t\t\t\tjournalEntryHeader: journalEntryHeader,\n\t\t\t\t\ttypeCode: type,\n\t\t\t\t},\n\t\t\t};\n\n\t\t\tconst URL = COA_API.COP_SAVE(producerIdentifier, type);\n\t\t\tlet req;\n\t\t\tif (isNewRecord) {\n\t\t\t\treq = http.post(URL, obj).then(\n\t\t\t\t\t(response: AxiosResponse) => {\n\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\tupdateOfflineData(\n\t\t\t\t\t\t\t\tproducerIdentifier,\n\t\t\t\t\t\t\t\tjournalEntryHeader?.accountingPeriod?.year,\n\t\t\t\t\t\t\t\ttype,\n\t\t\t\t\t\t\t\trevisionIdentifier,\n\t\t\t\t\t\t\t\tresponse?.data?.revisionIdentifier,\n\t\t\t\t\t\t\t\tauthInfo?.userInfo?.mail\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\t\t\t\t\t\tdispatch(coaSyncedToDBSucces());\n\t\t\t\t\t},\n\t\t\t\t\t(err: AxiosError) => {\n\t\t\t\t\t\tdispatch(showMessage(err?.message));\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\treq = http.patch(URL, obj).then(\n\t\t\t\t\t(response: AxiosResponse) => {\n\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\tupdateOfflineData(\n\t\t\t\t\t\t\t\tproducerIdentifier,\n\t\t\t\t\t\t\t\tjournalEntryHeader?.accountingPeriod?.year,\n\t\t\t\t\t\t\t\ttype,\n\t\t\t\t\t\t\t\trevisionIdentifier,\n\t\t\t\t\t\t\t\tresponse?.data?.revisionIdentifier,\n\t\t\t\t\t\t\t\tauthInfo?.userInfo?.mail\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\t\t\t\t\t\tdispatch(coaSyncedToDBSucces());\n\t\t\t\t\t\tdispatch(showMessage('Data saved Successfully', MSG_TYPE.SUCCESS));\n\t\t\t\t\t},\n\t\t\t\t\t(err: AxiosError) => {\n\t\t\t\t\t\tdispatch(showMessage(err?.message));\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn req;\n\t\t}\n\t};\n};\n\n// save data to DB for COP & RM in Offline Mode\nconst saveCOADataOffline = (\n\tschema: GenericSchema,\n\tproducerIdentifier: string,\n\tcopVersion: string,\n\tchartOfAccountsVersion: string,\n\ttype: string,\n\tmarketPriceList: Array = []\n) => {\n\treturn (dispatch: Dispatch) => {\n\t\tconst date = new Date();\n\t\t//get header\n\t\tlet journalEntryHeader: GenericSchema;\n\t\t// get entry line to store in DB\n\t\tlet journalEntryLine: Array = [];\n\t\tif (type === SCHEMA_TYPE.RM) {\n\t\t\tconsole.log('REached here:: ', schema);\n\t\t\tjournalEntryHeader = schema[RM_SECTION_CODES.HEADER];\n\t\t\tdelete schema[RM_SECTION_CODES.HEADER];\n\t\t\tdelete schema[SECTION_TYPE_CODE.INCOME];\n\t\t\tdelete schema[SECTION_TYPE_CODE.EXPENSE];\n\t\t\tdelete schema['copData'];\n\t\t\tmoveRMPostionDictionaryData({ calculatedSchema: schema });\n\t\t\tdelete schema[Position_DICTIONARY];\n\t\t\tjournalEntryLine = flattenedRMSchema(schema);\n\t\t} else {\n\t\t\tjournalEntryHeader = schema[SECTION_CODES?.BASIC_INFO];\n\t\t\tdelete schema[SECTION_CODES?.BASIC_INFO];\n\t\t\tjournalEntryLine = flattenedSchema(schema).map(item => {\n\t\t\t\tif (item.identifier >= 77 && item.identifier <= 80) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tlineNumberIdentifier: item.identifier,\n\t\t\t\t\t\tnote: item.note,\n\t\t\t\t\t\tamount: item.amount,\n\t\t\t\t\t\tdescription: item.description ? item.description : '',\n\t\t\t\t\t\textension: {\n\t\t\t\t\t\t\tamount: item.extension?.amount,\n\t\t\t\t\t\t\tmeasure: item.extension?.measure,\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t} else {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tlineNumberIdentifier: item.identifier,\n\t\t\t\t\t\tnote: item.note,\n\t\t\t\t\t\tamount: item.amount,\n\t\t\t\t\t\textension: {\n\t\t\t\t\t\t\tamount: item.extension?.amount,\n\t\t\t\t\t\t\tmeasure: item.extension?.measure,\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\t// preparing params to be send\n\n\t\tjournalEntryHeader.extension.dateTime[1].content = date.toISOString();\n\t\tconst obj = {\n\t\t\tid: journalEntryHeader?.id,\n\t\t\tjournalEntry: {\n\t\t\t\tjournalEntryLine: journalEntryLine,\n\t\t\t\tjournalEntryHeader: journalEntryHeader,\n\t\t\t\ttypeCode: type,\n\t\t\t},\n\t\t};\n\n\t\tconst record = {\n\t\t\tversion: date.getTime(),\n\t\t\tstatus: journalEntryHeader?.status?.code,\n\t\t\tmodifiedDate: date.toISOString(),\n\t\t\tnotes: journalEntryHeader?.description || '',\n\t\t\tarchived:\n\t\t\t\tjournalEntryHeader?.status?.code == VERSION_STATUS.ARCHIVED\n\t\t\t\t\t? true\n\t\t\t\t\t: false,\n\t\t\tcostOfProductionVersion: type === SCHEMA_TYPE.RM ? copVersion : '',\n\t\t\tchartOfAccountsVersion: chartOfAccountsVersion,\n\t\t\tjournalEntry: obj,\n\t\t\tisOfflineAdded: true,\n\t\t\tmarketPriceList: type === SCHEMA_TYPE.RM ? marketPriceList : [],\n\t\t};\n\n\t\tconst authInfo: AuthInfo = store.getState().auth;\n\t\tconst year: string = journalEntryHeader?.accountingPeriod?.year;\n\n\t\tdispatch(\n\t\t\tsaveOffline(\n\t\t\t\trecord,\n\t\t\t\tproducerIdentifier,\n\t\t\t\tyear,\n\t\t\t\ttype,\n\t\t\t\tauthInfo?.userInfo?.mail\n\t\t\t)\n\t\t);\n\t\tdispatch(coaSyncedToDBSucces());\n\t\tdispatch(showMessage('Offline Synced Successfully.', MSG_TYPE.SUCCESS));\n\t};\n};\n\n// map data with schema COP/RM\nexport const mapDatawithSchema = (\n\tschema: GenericSchema,\n\tdata: GenericSchema\n) => {\n\tconst schemaLineItem =\n\t\tschema?.showChartOfAccounts?.dataArea?.chartOfAccounts || [];\n\tconst documentData = data?.journalEntry?.journalEntryLine || [];\n\tconst documentHeader = data?.journalEntry?.journalEntryHeader;\n\tconst typeCode = data?.journalEntry?.typeCode;\n\n\tschemaLineItem.forEach((lineItem: GenericSchema) => {\n\t\tdocumentData.forEach((document: GenericSchema) => {\n\t\t\tif (lineItem.identifier == document.lineNumberIdentifier) {\n\t\t\t\tlineItem.amount = document.amount;\n\t\t\t\tlineItem.note = document.note;\n\t\t\t\tdocument.lineNumberIdentifier >= 77 &&\n\t\t\t\tdocument.lineNumberIdentifier <= 80\n\t\t\t\t\t? (lineItem.description = document.description\n\t\t\t\t\t\t\t? document.description\n\t\t\t\t\t\t\t: '')\n\t\t\t\t\t: '';\n\t\t\t\tlineItem.extension.amount = document.extension.amount;\n\t\t\t\tlineItem.extension.measure = document.extension.measure;\n\t\t\t}\n\t\t});\n\t});\n\n\tschema.showChartOfAccounts.dataArea.chartOfAccounts = schemaLineItem;\n\n\tconst BASIC_INFO = {\n\t\tid: data?.id,\n\t\tdocumentDateTime: documentHeader?.extension?.dateTime[1]?.content || '',\n\t\ttypeCode: typeCode,\n\t\tidentifier: documentHeader.identifier,\n\t\trevisionIdentifier: documentHeader.revisionIdentifier,\n\t\tdocumentReference: documentHeader.documentReference,\n\t\tstatus: documentHeader.status,\n\t\taccountingPeriod: documentHeader.accountingPeriod,\n\t\tparty: documentHeader.party,\n\t\textension: documentHeader.extension,\n\t\tdescription: documentHeader.description,\n\t\tnote: documentHeader.note,\n\t\tvariationIdentifier: documentHeader?.variationIdentifier,\n\t};\n\treturn {\n\t\tid: data?.id,\n\t\tschema: schema,\n\t\tbasicInfo: BASIC_INFO,\n\t};\n};\n\n// flattened schema for RM\nconst flattenedRMSchema = (schema: GenericSchema): Array => {\n\tlet arr: Array = [];\n\tlet LEVEL_1 = schema;\n\tfor (const L1 in LEVEL_1) {\n\t\tconst LEVEL_ARR_1 = LEVEL_1[L1];\n\t\t_.isArray(LEVEL_ARR_1) ? arr.push(LEVEL_ARR_1) : '';\n\n\t\tfor (const L2 in LEVEL_1[L1]) {\n\t\t\tconst LEVEL_ARR_2 = LEVEL_1[L1][L2];\n\t\t\t_.isArray(LEVEL_ARR_2) ? arr.push(LEVEL_ARR_2) : '';\n\t\t}\n\t}\n\treturn _.chain(arr).flatMap().sortBy('identifier').value();\n};\n// flattened schema for COP\nconst flattenedSchema = (schema: GenericSchema): Array => {\n\tlet arr: Array = [];\n\tlet LEVEL_1 = schema;\n\tfor (const L1 in LEVEL_1) {\n\t\tconst LEVEL_ARR_1 = LEVEL_1[L1];\n\t\t_.isArray(LEVEL_ARR_1) ? arr.push(LEVEL_ARR_1) : '';\n\n\t\tfor (const L2 in LEVEL_1[L1]) {\n\t\t\tconst LEVEL_ARR_2 = LEVEL_1[L1][L2];\n\t\t\t_.isArray(LEVEL_ARR_2) ? arr.push(LEVEL_ARR_2) : '';\n\n\t\t\tfor (const L3 in LEVEL_1[L1][L2]) {\n\t\t\t\tconst LEVEL_ARR_3 = LEVEL_1[L1][L2][L3];\n\t\t\t\t_.isArray(LEVEL_ARR_3) ? arr.push(LEVEL_ARR_3) : '';\n\n\t\t\t\tfor (const L4 in LEVEL_1[L1][L2][L3]) {\n\t\t\t\t\tconst LEVEL_ARR_4 = LEVEL_1[L1][L2][L3][L4];\n\t\t\t\t\t_.isArray(LEVEL_ARR_4) ? arr.push(LEVEL_ARR_4) : '';\n\n\t\t\t\t\tfor (const L5 in LEVEL_1[L1][L2][L3][L4]) {\n\t\t\t\t\t\tconst LEVEL_ARR_5 = LEVEL_1[L1][L2][L3][L4][L5];\n\t\t\t\t\t\t_.isArray(LEVEL_ARR_5) ? arr.push(LEVEL_ARR_5) : '';\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn _.chain(arr).flatMap().sortBy('identifier').value();\n};\n\nexport {\n\taddNewPosition,\n\tcalculateALLCommodities,\n\tcalculateMonthCardPosition,\n\tcoaDataChanged,\n\tcoaSyncedToDBSucces,\n\tcoaUpdateCalculation,\n\tdeletePositionFromPC,\n\tentryFormError,\n\tgetCOASchema,\n\tgetCOASchemaOffline,\n\tmovePositionDataFromDictionary,\n\tremoveSelectedCOAScehma,\n\tresetCOAData,\n\tresetCOPData,\n\tresetRMData,\n\tsaveCOAData,\n\tsaveCOADataOffline,\n\tupdateCollarNumberAndVolume,\n\tupdatePositionCalculation,\n\tupdatePostionForMarketPrice,\n\tupdateResetCOAData,\n\tupdateValidationErrorPosition,\n};\n","import {\n\tAUTH_START,\n\tAUTH_SUCCESS,\n\tAUTH_FAIL,\n\tAUTH_LOGOUT,\n\tSET_AUTH_REDIRECT_PATH,\n} from '../actions/actions';\nimport { updateObject } from '../../common/utils/utility';\nimport { AuthInfo, User, Error, ActionSchema } from '../../schemas';\nimport { Reducer } from 'react';\n\nconst initialState: AuthInfo = {\n\ttoken: '',\n\tuserInfo: new User(),\n\terror: new Error(),\n\tloading: false,\n\tauthRedirectPath: '/home',\n};\nconst reducer = (state = initialState, action: ActionSchema) => {\n\tswitch (action.type) {\n\t\tcase AUTH_START:\n\t\t\treturn updateObject(state, {\n\t\t\t\terror: null,\n\t\t\t\tloading: true,\n\t\t\t});\n\t\tcase AUTH_SUCCESS:\n\t\t\treturn updateObject(state, {\n\t\t\t\ttoken: action.idToken,\n\t\t\t\tuserInfo: action.userInfo,\n\t\t\t\terror: null,\n\t\t\t\tloading: false,\n\t\t\t});\n\t\tcase AUTH_FAIL:\n\t\t\treturn updateObject(state, {\n\t\t\t\terror: action.error,\n\t\t\t\tloading: false,\n\t\t\t});\n\t\tcase AUTH_LOGOUT:\n\t\t\treturn updateObject(state, {\n\t\t\t\ttoken: null,\n\t\t\t\tuserInfo: null,\n\t\t\t\tselected: null,\n\t\t\t\tlist: [],\n\t\t\t});\n\t\tcase SET_AUTH_REDIRECT_PATH:\n\t\t\treturn updateObject(state, {\n\t\t\t\tauthRedirectPath: action.path,\n\t\t\t});\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nexport default reducer;\n","import { STORE_DRP_DATA } from '../actions/actions';\n\nconst initialState = {\n\tdrpData: [],\n\t// other states...\n};\n\nconst drpReducer = (state = initialState, action: any) => {\n\tswitch (action.type) {\n\t\tcase STORE_DRP_DATA: {\n\t\t\t// Wrapping the code inside a block scope\n\t\t\tconst uniqueDrpData = action.payload.reduce((acc, item) => {\n\t\t\t\tif (\n\t\t\t\t\t!acc.find(\n\t\t\t\t\t\texistingItem => existingItem.drpReference === item.drpReference\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\tacc.push(item);\n\t\t\t\t}\n\t\t\t\treturn acc;\n\t\t\t}, []);\n\t\t\t// console.log('statedata', state.drpData);\n\t\t\t// console.log('uniqueDrpData:', uniqueDrpData);\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tdrpData: uniqueDrpData,\n\t\t\t};\n\t\t}\n\n\t\t// other cases...\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nexport default drpReducer;\n","import { SET_DRP_ERROR } from '../actions/actions';\n\n// Define the shape of the state\ninterface DrpErrorState {\n\tdrpError: boolean;\n\t// Add other state properties if needed\n}\n\n// Initial state\nconst initialState: DrpErrorState = {\n\tdrpError: false,\n\t// other state properties...\n};\n\n// Reducer function\nconst drpErrorReducer = (\n\tstate: DrpErrorState = initialState,\n\taction: any\n): DrpErrorState => {\n\tswitch (action.type) {\n\t\tcase SET_DRP_ERROR:\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tdrpError: action.payload,\n\t\t\t};\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nexport default drpErrorReducer;\n","import { SIDEBAR_COLLAPSE, SIDEBAR_EXPAND } from '../actions/actions';\n\nexport enum MenuState {\n\tExpanded = 1,\n\tCollapse = 0,\n}\n\nconst leftMenuReducer = (\n\tstate = MenuState.Expanded,\n\taction: { type: string }\n) => {\n\tswitch (action.type) {\n\t\tcase SIDEBAR_COLLAPSE:\n\t\t\tstate = MenuState.Collapse;\n\t\t\tbreak;\n\t\tcase SIDEBAR_EXPAND:\n\t\t\tstate = MenuState.Expanded;\n\t\t\tbreak;\n\t}\n\treturn state;\n};\n\nexport { leftMenuReducer };\n","import { updateObject } from '../../common/utils/utility';\nimport { ActionSchema } from '../../schemas';\nimport {\n\tMAD_CAP_API_RESET,\n\tMAD_CAP_API_SUCCESS,\n\tMAD_CAP_FETCH_START,\n} from '../actions/actions';\n\nexport type madcapstate = {\n\tsuccess: boolean;\n\tloading: boolean;\n\tmessage: string;\n};\n\nconst reducer = (\n\tstate: madcapstate = { message: '', success: false, loading: false },\n\taction: ActionSchema\n) => {\n\tswitch (action.type) {\n\t\tcase MAD_CAP_FETCH_START:\n\t\t\treturn updateObject(state, {\n\t\t\t\tloading: true,\n\t\t\t});\n\t\tcase MAD_CAP_API_SUCCESS:\n\t\t\treturn updateObject(state, {\n\t\t\t\tloading: false,\n\t\t\t\tsuccess: true,\n\t\t\t\tmessage: 'MadCap Data Update Complete',\n\t\t\t});\n\t\tcase MAD_CAP_API_RESET:\n\t\t\treturn updateObject(state, {\n\t\t\t\tloading: false,\n\t\t\t\tsuccess: false,\n\t\t\t\tmessage: '',\n\t\t\t});\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nexport default reducer;\n","import { updateObject } from '../../common/utils/utility';\nimport { ActionSchema, APIStatus, Error, MarketPriceInfo } from '../../schemas';\nimport {\n\tADD_MARKET_PRICE,\n\tEDIT_MARKET_FINALSYMBOL_STATUS,\n\tEDIT_MARKET_PRICE,\n\tEDIT_MARKET_SETTLEMENT_DATE_MONTH,\n\tMARKET_FETCH_FAIL,\n\tMARKET_FETCH_START,\n\tMARKET_FETCH_SUCCESS,\n\tMARKET_PRICE_LIST,\n\tMARKET_PRICE_REMOVE_SELECTED,\n\tPREPARE_DATAFRAME_MARKET_PRICE,\n\tSAVE_MARKET_PRICE_COMPLETE,\n\tSAVE_MARKET_PRICE_ERROR,\n\tSAVE_MARKET_PRICE_STARTS,\n\tSAVE_MARKET_PRICE_STAUS_RESET,\n} from '../actions/actions';\n\nconst initialState: MarketPriceInfo = {\n\tlist: [],\n\terror: new Error(),\n\tloading: false,\n\tdataFrame: {},\n\tmodifiedDictionary: {},\n\tisModified: false,\n\tsaveAPIStatus: APIStatus.IDLE,\n\tsaveResponseOrError: {},\n\tdate: '',\n};\nconst reducer = (state = initialState, action: ActionSchema) => {\n\tswitch (action.type) {\n\t\tcase MARKET_FETCH_START:\n\t\t\treturn updateObject(state, {\n\t\t\t\tloading: true,\n\t\t\t\tdate: action.payload\n\t\t\t\t\t? action.payload.date\n\t\t\t\t\t\t? action.payload.date\n\t\t\t\t\t\t: ''\n\t\t\t\t\t: '',\n\t\t\t});\n\t\tcase MARKET_FETCH_SUCCESS:\n\t\t\treturn updateObject(state, {\n\t\t\t\tloading: false,\n\t\t\t});\n\t\tcase MARKET_FETCH_FAIL:\n\t\t\treturn updateObject(state, {\n\t\t\t\terror: action.payload.error,\n\t\t\t\tloading: false,\n\t\t\t});\n\t\tcase MARKET_PRICE_LIST:\n\t\t\treturn updateObject(state, {\n\t\t\t\tlist: [...action.payload],\n\t\t\t\tloading: false,\n\t\t\t});\n\t\tcase MARKET_PRICE_REMOVE_SELECTED:\n\t\t\treturn updateObject(state, {\n\t\t\t\tlist: [],\n\t\t\t\tloading: false,\n\t\t\t\tdataFrame: {},\n\t\t\t\tmodifiedDictionary: [],\n\t\t\t\tisModified: false,\n\t\t\t});\n\t\tcase PREPARE_DATAFRAME_MARKET_PRICE:\n\t\t\tstate.dataFrame = reduceMarketDataInfoSymbolAndMonthTable(action.payload);\n\t\t\treturn state;\n\t\tcase SAVE_MARKET_PRICE_STARTS:\n\t\t\tstate.saveAPIStatus = APIStatus.LOADING;\n\t\t\treturn state;\n\t\tcase SAVE_MARKET_PRICE_COMPLETE:\n\t\t\tstate.saveAPIStatus = APIStatus.COMPLETE;\n\t\t\tstate.saveResponseOrError = action.payload;\n\t\t\treturn state;\n\t\tcase SAVE_MARKET_PRICE_STAUS_RESET: {\n\t\t\tconst res = state.saveResponseOrError;\n\t\t\tif (res && Array.isArray(res)) {\n\t\t\t\tres.forEach(item => {\n\t\t\t\t\tif (item.statusCode == 'OK' && item.marketpricingData) {\n\t\t\t\t\t\t//`Saved ${item.marketpricingData.symbolCode} for ${item.marketpricingData.month}-${item.marketpricingData.year}`\n\t\t\t\t\t\tstate.dataFrame[item.marketpricingData.symbolCode][\n\t\t\t\t\t\t\titem.marketpricingData.year + '_' + item.marketpricingData.month\n\t\t\t\t\t\t] = {\n\t\t\t\t\t\t\t...state.dataFrame[item.marketpricingData.symbolCode][\n\t\t\t\t\t\t\t\titem.marketpricingData.year + '_' + item.marketpricingData.month\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\tisModified: false,\n\t\t\t\t\t\t\t...item.marketpricingData,\n\t\t\t\t\t\t};\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tdelete state.modifiedDictionary[\n\t\t\t\t\t\t\t\titem.marketpricingData.symbolCode +\n\t\t\t\t\t\t\t\t\t'_' +\n\t\t\t\t\t\t\t\t\titem.marketpricingData.year +\n\t\t\t\t\t\t\t\t\t'_' +\n\t\t\t\t\t\t\t\t\titem.marketpricingData.month +\n\t\t\t\t\t\t\t\t\t'_PRICE'\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tstate.dataFrame['SETTLEDATE'][\n\t\t\t\t\t\t\t\t\titem.marketpricingData.year +\n\t\t\t\t\t\t\t\t\t\t'_' +\n\t\t\t\t\t\t\t\t\t\titem.marketpricingData.month\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tdelete state.dataFrame['SETTLEDATE'][\n\t\t\t\t\t\t\t\t\titem.marketpricingData.year +\n\t\t\t\t\t\t\t\t\t\t'_' +\n\t\t\t\t\t\t\t\t\t\titem.marketpricingData.month\n\t\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\tconsole.log(e);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (Object.keys(state.modifiedDictionary).length == 0) {\n\t\t\t\tstate.isModified = false;\n\t\t\t}\n\n\t\t\tstate.saveAPIStatus = APIStatus.IDLE;\n\t\t\tstate = { ...state };\n\t\t\treturn state;\n\t\t}\n\t\tcase SAVE_MARKET_PRICE_ERROR:\n\t\t\tstate.saveAPIStatus = APIStatus.ERROR;\n\t\t\tstate.saveResponseOrError = action.payload;\n\t\t\treturn state;\n\t\tcase ADD_MARKET_PRICE:\n\t\t\ttry {\n\t\t\t\tconst maxDate = new Date(action.payload.date);\n\t\t\t\tconst [year, month] = action.payload.rowKey.split('_');\n\t\t\t\tif (!state.dataFrame[action.payload.colKey]) {\n\t\t\t\t\tstate.dataFrame[action.payload.colKey] = {};\n\t\t\t\t}\n\t\t\t\tstate.dataFrame[action.payload.colKey][action.payload.rowKey] = {\n\t\t\t\t\t...state.dataFrame[action.payload.colKey][action.payload.rowKey],\n\t\t\t\t\tsettlementPriceAmount: action.payload.price,\n\t\t\t\t\tsettlementDate: `${maxDate.getFullYear()}-${(\n\t\t\t\t\t\t'0' +\n\t\t\t\t\t\t(maxDate.getMonth() + 1)\n\t\t\t\t\t).slice(-2)}-${('0' + maxDate.getDate()).slice(-2)}`,\n\t\t\t\t\tsymbolCode: action.payload.colKey,\n\t\t\t\t\tisModified: true,\n\t\t\t\t\tyear: year,\n\t\t\t\t\tmonth: month,\n\t\t\t\t};\n\t\t\t\tconst key = `${action.payload.colKey}_${action.payload.rowKey}_PRICE`;\n\t\t\t\tstate.modifiedDictionary = {\n\t\t\t\t\t...state.modifiedDictionary,\n\t\t\t\t\t[key]: action.payload,\n\t\t\t\t};\n\t\t\t\tstate.isModified = true;\n\t\t\t} catch (e) {\n\t\t\t\tconsole.log('Unable to update state :', e);\n\t\t\t}\n\t\t\treturn state;\n\t\tcase EDIT_MARKET_PRICE:\n\t\t\ttry {\n\t\t\t\tstate.dataFrame[action.payload.colKey][action.payload.rowKey] = {\n\t\t\t\t\t...state.dataFrame[action.payload.colKey][action.payload.rowKey],\n\t\t\t\t\tsettlementPriceAmount: action.payload.price,\n\t\t\t\t\tisModified: true,\n\t\t\t\t};\n\t\t\t\tconst key = `${action.payload.colKey}_${action.payload.rowKey}_PRICE`;\n\t\t\t\tstate.modifiedDictionary = {\n\t\t\t\t\t...state.modifiedDictionary,\n\t\t\t\t\t[key]: action.payload,\n\t\t\t\t};\n\t\t\t\tstate.isModified = true;\n\t\t\t} catch (e) {\n\t\t\t\tconsole.log('Unable to update state :', e);\n\t\t\t}\n\t\t\treturn state;\n\t\tcase EDIT_MARKET_FINALSYMBOL_STATUS:\n\t\t\ttry {\n\t\t\t\tif (!state.dataFrame[action.payload.colKey]) {\n\t\t\t\t\tstate.dataFrame[action.payload.colKey] = {};\n\t\t\t\t}\n\n\t\t\t\tstate.dataFrame[action.payload.colKey][action.payload.rowKey] = {\n\t\t\t\t\tsymbolFinalPriceIndicator:\n\t\t\t\t\t\taction.payload.blnSymbolFinalPriceIndicator,\n\t\t\t\t};\n\n\t\t\t\tconst key = `${action.payload.colKey}_${action.payload.rowKey}_STATUS`;\n\t\t\t\tstate.modifiedDictionary = {\n\t\t\t\t\t...state.modifiedDictionary,\n\t\t\t\t\t[key]: action.payload,\n\t\t\t\t};\n\t\t\t\tstate.isModified = true;\n\t\t\t} catch (e) {\n\t\t\t\tconsole.log('Unable to update state :', e);\n\t\t\t}\n\t\t\treturn state;\n\n\t\tcase EDIT_MARKET_SETTLEMENT_DATE_MONTH:\n\t\t\ttry {\n\t\t\t\tif (!state.dataFrame[action.payload.colKey]) {\n\t\t\t\t\tstate.dataFrame[action.payload.colKey] = {};\n\t\t\t\t}\n\t\t\t\tstate.dataFrame[action.payload.colKey][action.payload.rowKey] = {\n\t\t\t\t\tsettlementDate: action.payload.settlementDate,\n\t\t\t\t};\n\n\t\t\t\tconst key = `${action.payload.colKey}_${action.payload.rowKey}_SETTLEDATE`;\n\t\t\t\tstate.modifiedDictionary = {\n\t\t\t\t\t...state.modifiedDictionary,\n\t\t\t\t\t[key]: action.payload,\n\t\t\t\t};\n\t\t\t\tstate.isModified = true;\n\t\t\t} catch (e) {\n\t\t\t\tconsole.log('Unable to update state :', e);\n\t\t\t}\n\t\t\treturn state;\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nconst reduceMarketDataInfoSymbolAndMonthTable = (array: Array) => {\n\tlet initialValue = {};\n\treturn array.reduce((prev, item) => {\n\t\tconst key_year_month = item.year + '_' + item.month;\n\t\tif (!prev[item.symbolCode]) {\n\t\t\t// adding the object for the first time for symbol\n\t\t\tprev[item.symbolCode] = {};\n\t\t\tprev[item.symbolCode][key_year_month] = item;\n\t\t} else if (prev[item.symbolCode][key_year_month]) {\n\t\t\t// already object exists check date and replace if latest available\n\t\t\tconst oldItem = prev[item.symbolCode][key_year_month];\n\t\t\tconst oldItemDate = new Date(oldItem.settlementDate);\n\t\t\tconst currentItemDate = new Date(item.settlementDate);\n\t\t\tif (currentItemDate > oldItemDate) {\n\t\t\t\tprev[item.symbolCode][key_year_month] = item;\n\t\t\t}\n\t\t} else {\n\t\t\t// adding first time for year_month\n\t\t\tprev[item.symbolCode][key_year_month] = item;\n\t\t}\n\t\treturn prev;\n\t}, initialValue);\n};\n\nexport default reducer;\n","import { updateObject } from '../../common/utils/utility';\nimport { ActionSchema, MessageNotification } from '../../schemas';\nimport {\n\tHIDE_MESSAGE,\n\tSHOW_MESSAGE,\n\tSHOW_MULTI_MESSAGE,\n\tSTART_MADCAP_LOADER,\n\tSTOP_MADCAP_LOADER,\n} from '../actions/actions';\n\nconst initialState: MessageNotification = {\n\tshowMessage: false,\n\tmessage: '',\n\ttype: '',\n\tduration: 3000,\n\ttype1: 'error',\n\ttype2: 'error',\n\tshowMultiMessage: false,\n\tmessagearray: [],\n\tmadcaploader: false,\n};\nconst reducer = (state = initialState, action: ActionSchema) => {\n\tswitch (action.type) {\n\t\tcase SHOW_MULTI_MESSAGE:\n\t\t\treturn updateObject(state, {\n\t\t\t\tmessagearray: action.payload?.msgarray,\n\t\t\t\ttype1: action.payload?.type1,\n\t\t\t\ttype2: action.payload?.type2,\n\t\t\t\tshowMessage: false,\n\t\t\t\tshowMultiMessage: true,\n\t\t\t\tduration: action.payload?.duration,\n\t\t\t\tmadcaploader: true,\n\t\t\t});\n\t\tcase START_MADCAP_LOADER:\n\t\t\treturn updateObject(state, {\n\t\t\t\tmessagearray: action.payload?.msgarray,\n\t\t\t\ttype1: action.payload?.type1,\n\t\t\t\ttype2: action.payload?.type2,\n\t\t\t\tshowMessage: false,\n\t\t\t\tshowMultiMessage: true,\n\t\t\t\tduration: action.payload?.duration,\n\t\t\t\tmadcaploader: true,\n\t\t\t});\n\t\tcase STOP_MADCAP_LOADER:\n\t\t\treturn updateObject(state, {\n\t\t\t\tmessagearray: action.payload?.msgarray,\n\t\t\t\ttype1: action.payload?.type1,\n\t\t\t\ttype2: action.payload?.type2,\n\t\t\t\tshowMessage: false,\n\t\t\t\tshowMultiMessage: true,\n\t\t\t\tduration: action.payload?.duration,\n\t\t\t\tmadcaploader: false,\n\t\t\t});\n\t\tcase SHOW_MESSAGE:\n\t\t\treturn updateObject(state, {\n\t\t\t\tmessage: action.payload?.msg,\n\t\t\t\ttype: action.payload?.type,\n\t\t\t\tshowMessage: true,\n\t\t\t\tshowMultiMessage: false,\n\t\t\t\tduration: action.payload?.duration,\n\t\t\t});\n\t\tcase HIDE_MESSAGE:\n\t\t\treturn updateObject(state, {\n\t\t\t\tmessage: '',\n\t\t\t\ttype: '',\n\t\t\t\tshowMessage: false,\n\t\t\t\tshowMultiMessage: false,\n\t\t\t\tduration: 3000,\n\t\t\t\ttype1: 'error',\n\t\t\t\ttype2: 'error',\n\t\t\t\tmessagearray: [],\n\t\t\t});\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nexport default reducer;\n","import {\n\tCOP_GET_PDF_PRINTDATA,\n\tCOP_SAVE_PDF_PRINTDATA,\n} from '../actions/actions';\nimport { updateObject } from '../../common/utils/utility';\nimport { ActionSchema } from '../../schemas';\n\nconst initialState = {\n\tcop: {},\n\trm: {},\n};\nconst reducer = (state = initialState, action: ActionSchema) => {\n\tlet cop = {};\n\tswitch (action.type) {\n\t\tcase COP_SAVE_PDF_PRINTDATA:\n\t\t\treturn {\n\t\t\t\t...action.data,\n\t\t\t};\n\t\tcase COP_GET_PDF_PRINTDATA:\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\nexport default reducer;\n","import {\n\tPRODUCERS_FETCH_START,\n\tPRODUCERS_FETCH_FAIL,\n\tPRODUCERS_LIST,\n\tPRODUCER_SELECTED,\n\tPRODUCER_REMOVE_SELECTED,\n} from '../actions/actions';\nimport { updateObject, mergeArray } from '../../common/utils/utility';\nimport { ProducerInfo, ActionSchema, Error, Producer } from '../../schemas';\n\nconst initialState: ProducerInfo = {\n\tlist: [],\n\tselected: new Producer(),\n\terror: new Error(),\n\tloading: false,\n};\nconst reducer = (state = initialState, action: ActionSchema) => {\n\tswitch (action.type) {\n\t\tcase PRODUCERS_FETCH_START:\n\t\t\treturn updateObject(state, {\n\t\t\t\tloading: true,\n\t\t\t});\n\t\tcase PRODUCERS_FETCH_FAIL:\n\t\t\treturn updateObject(state, {\n\t\t\t\terror: action.payload.error,\n\t\t\t\tloading: false,\n\t\t\t});\n\t\tcase PRODUCERS_LIST:\n\t\t\treturn updateObject(state, {\n\t\t\t\tlist: mergeArray(state.list, action.payload, 'producerIdentifier'),\n\t\t\t\tloading: false,\n\t\t\t});\n\t\tcase PRODUCER_SELECTED:\n\t\t\treturn updateObject(state, {\n\t\t\t\tselected: action.payload,\n\t\t\t\tloading: false,\n\t\t\t});\n\t\tcase PRODUCER_REMOVE_SELECTED:\n\t\t\treturn updateObject(state, {\n\t\t\t\tselected: new Producer(),\n\t\t\t\tloading: false,\n\t\t\t});\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nexport default reducer;\n","import { REHYDRATE_STORE } from '../actions/actions';\nimport { ActionSchema } from '../../schemas';\n\nconst reducer = (state = false, action: ActionSchema) => {\n\tswitch (action.type) {\n\t\tcase REHYDRATE_STORE:\n\t\t\treturn true;\n\t\tdefault:\n\t\t\treturn false;\n\t}\n};\nexport default reducer;\n","import {\n\tPRODUCER_SYNC_OFFLINE,\n\tCOASCHEMA_SYNC_OFFLINE,\n\tPRODUCERS_SYNC_START,\n\tPRODUCERS_SYNC_SUCCESS,\n\tPRODUCERS_SYNC_FAIL,\n\tCOA_SAVE_DATA_OFFLINE,\n\tCOA_SAVE_DATA_OFFLINE_UPDATE,\n\tLATEST_MARKETPRICE_SYNC_OFFLINE,\n\tDELETE_OFFLINE_VERSIONS,\n\tPRODUCER_SYNC_PROGRESS_OFFLINE,\n} from '../actions/actions';\nimport {\n\tupdateObject,\n\tformatDate,\n\tsortArray,\n} from '../../common/utils/utility';\nimport {\n\tActionSchema,\n\tSyncOffline,\n\tProducer,\n\tGenericSchema,\n\tProducerYear,\n\tCostOfProduction,\n\tRiskManagement,\n} from '../../schemas';\nimport * as _ from 'lodash';\nimport { SCHEMA_TYPE } from '../../common/constants';\nimport { store } from './../index';\n\nconst initialState: SyncOffline = {};\nconst reducer = (state = initialState, action: ActionSchema) => {\n\tswitch (action.type) {\n\t\tcase PRODUCERS_SYNC_START:\n\t\t\treturn updateObject(state, { loading: true, syncProgress: '' });\n\t\tcase PRODUCERS_SYNC_SUCCESS:\n\t\t\treturn updateObject(state, { loading: false, syncProgress: '' });\n\t\tcase PRODUCERS_SYNC_FAIL:\n\t\t\treturn updateObject(state, { loading: false });\n\t\tcase PRODUCER_SYNC_OFFLINE:\n\t\t\treturn updateObject(state, syncProducer(state, action));\n\t\tcase COASCHEMA_SYNC_OFFLINE:\n\t\t\treturn updateObject(state, syncCOASchema(state, action));\n\t\tcase COA_SAVE_DATA_OFFLINE:\n\t\t\treturn updateObject(state, saveDataOffline(state, action));\n\t\tcase COA_SAVE_DATA_OFFLINE_UPDATE:\n\t\t\treturn updateObject(state, updateDataOffline(state, action));\n\t\tcase LATEST_MARKETPRICE_SYNC_OFFLINE:\n\t\t\treturn updateObject(state, syncMarketPrice(state, action));\n\t\tcase DELETE_OFFLINE_VERSIONS:\n\t\t\treturn updateObject(state, deleteOfflineVersions(state, action));\n\t\tcase PRODUCER_SYNC_PROGRESS_OFFLINE:\n\t\t\treturn updateObject(state, { syncProgress: action.payload });\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\n//delete all offline versions\nfunction deleteOfflineVersions(state = initialState, action: ActionSchema) {\n\tconst { producerIdentifier, year, key } = action.payload;\n\n\tconst list = state[key]?.list || [];\n\t// delete offline record to existing producer and year\n\tlist.forEach((producer: Producer) => {\n\t\tproducer.versions.forEach((pyear: ProducerYear, index: number) => {\n\t\t\tif (\n\t\t\t\tString(producer.producerIdentifier) == String(producerIdentifier) &&\n\t\t\t\tString(pyear.year) == String(year)\n\t\t\t) {\n\t\t\t\tpyear.costOfProductionVersions = [];\n\t\t\t\tpyear.riskMarketingVersions = [];\n\t\t\t\t//delete year\n\t\t\t\t_.remove(producer.versions, { year: year });\n\t\t\t}\n\t\t});\n\t});\n\n\t// delete producer\n\tlist.forEach((producer: Producer, index: number) => {\n\t\tif (\n\t\t\tproducer?.versions?.length === 0 &&\n\t\t\tString(producer.producerIdentifier) == String(producerIdentifier)\n\t\t) {\n\t\t\t_.remove(list, { producerIdentifier: producerIdentifier });\n\t\t}\n\t});\n\n\t//assiging to user state\n\tstate[key] = updateObject(state[key], {\n\t\tlist: _.compact(aggregateProducer(list)),\n\t});\n\n\treturn state;\n}\n\n//sync Market Price\nfunction syncMarketPrice(state = initialState, action: ActionSchema) {\n\tconst { key, marketPriceList } = action.payload;\n\t//assiging to user state\n\tstate[key] = updateObject(state[key], {\n\t\tmarketPriceList: marketPriceList,\n\t});\n\n\treturn state;\n}\n\n//sync COA schema\nfunction syncCOASchema(state = initialState, action: ActionSchema) {\n\tconst { versionIdentifier } = action.payload;\n\n\tconst list = state?.schemaList || [];\n\tlet updateList = state?.schemaList || [];\n\n\t// checking if it is new schema\n\tconst isSchemaExist = list.filter(\n\t\t(item: GenericSchema) =>\n\t\t\titem?.showChartOfAccounts?.versionIdentifier == versionIdentifier\n\t);\n\n\tif (isSchemaExist?.length > 0) {\n\t\t// adding and getting merged with existing schema\n\t\tconst incoming = action.payload;\n\t\tupdateList = list.map((existingItem: GenericSchema) => {\n\t\t\t// check the schema and update it\n\t\t\tif (\n\t\t\t\texistingItem?.showChartOfAccounts?.versionIdentifier ===\n\t\t\t\tincoming?.showChartOfAccounts?.versionIdentifier\n\t\t\t) {\n\t\t\t\texistingItem = incoming;\n\t\t\t}\n\n\t\t\treturn existingItem;\n\t\t});\n\t} else {\n\t\t// add if it is a new schema\n\t\tupdateList = _.concat(list, action.payload);\n\t}\n\n\t//assiging to user state\n\tstate = updateObject(state, {\n\t\tschemaList: _.compact(updateList),\n\t});\n\n\treturn state;\n}\n\n// sync producer\nfunction syncProducer(state = initialState, action: ActionSchema) {\n\tconst { key, producerIdentifier } = action.payload;\n\tstate[key] = state[key] ? state[key] : { list: [] };\n\n\tconst list = state[key]?.list || [];\n\tlet updateList = state[key]?.list || [];\n\n\t// checking if it is new producer\n\tconst isProducerExist = _.filter(list, {\n\t\tproducerIdentifier: producerIdentifier,\n\t});\n\tif (isProducerExist?.length > 0) {\n\t\t// adding and getting merged with existing producer\n\t\tconst incoming = action.payload;\n\t\tconst updateProducer = list.map((existingItem: Producer) => {\n\t\t\t// check the producer and update it\n\t\t\tif (existingItem.producerIdentifier === incoming.producerIdentifier) {\n\t\t\t\texistingItem = incoming;\n\t\t\t}\n\n\t\t\treturn existingItem;\n\t\t});\n\n\t\t// filter producer which have selected any one of the version(years)\n\t\tupdateList = updateProducer.filter(\n\t\t\t(item: Producer) => item.versions?.length > 0\n\t\t);\n\t} else {\n\t\t// add if it is a new producer\n\t\tupdateList = _.concat(list, action.payload);\n\t}\n\t//assiging to user state\n\tstate[key] = updateObject(state[key], {\n\t\tlist: _.compact(updateList),\n\t});\n\n\treturn state;\n}\n\n// sync producer\nfunction saveDataOffline(state = initialState, action: ActionSchema) {\n\tconst { year, producerIdentifier, type, key, record } = action.payload;\n\tstate[key] = state[key] ? state[key] : { list: [] };\n\n\tconst list = state[key]?.list;\n\tlet isYearAvailable: boolean = false;\n\n\t// add record to existing producer and year\n\tlist.forEach((producer: Producer) => {\n\t\tproducer.versions.forEach((pyear: ProducerYear) => {\n\t\t\tif (\n\t\t\t\tString(producer.producerIdentifier) == String(producerIdentifier) &&\n\t\t\t\tString(pyear.year) == String(year)\n\t\t\t) {\n\t\t\t\tif (type === SCHEMA_TYPE.COP) {\n\t\t\t\t\tconst version = _.concat(pyear.costOfProductionVersions, [record]);\n\t\t\t\t\tpyear.costOfProductionVersions = version;\n\t\t\t\t} else if (type === SCHEMA_TYPE.RM) {\n\t\t\t\t\tconst version = _.concat(pyear.riskMarketingVersions, [record]);\n\t\t\t\t\tpyear.riskMarketingVersions = version;\n\t\t\t\t}\n\t\t\t\tisYearAvailable = true;\n\t\t\t}\n\t\t});\n\t});\n\n\t// if it is new year add a new year\n\tif (!isYearAvailable) {\n\t\tlist.forEach((producer: Producer) => {\n\t\t\tif (String(producer.producerIdentifier) == String(producerIdentifier)) {\n\t\t\t\tconst yearObj: any = {\n\t\t\t\t\tyear: year,\n\t\t\t\t\tcostOfProductionVersions: type === SCHEMA_TYPE.COP ? [record] : [],\n\t\t\t\t\triskMarketingVersions: type === SCHEMA_TYPE.RM ? [record] : [],\n\t\t\t\t};\n\t\t\t\tconst version = _.concat(producer.versions, [yearObj]);\n\t\t\t\tproducer.versions = version;\n\t\t\t}\n\t\t});\n\t}\n\n\t//assiging to user state\n\tstate[key] = updateObject(state[key], {\n\t\tlist: _.compact(aggregateProducer(list)),\n\t});\n\n\treturn state;\n}\n\nfunction aggregateProducer(list: Array): Array {\n\tlist.forEach((producer: Producer) => {\n\t\tproducer.versions.forEach((p: ProducerYear) => {\n\t\t\tconst coplastupdatedval = sortArray(\n\t\t\t\tp?.costOfProductionVersions,\n\t\t\t\t'modifiedDate',\n\t\t\t\ttrue\n\t\t\t);\n\t\t\tconst rmlastupdatedval = sortArray(\n\t\t\t\tp?.riskMarketingVersions,\n\t\t\t\t'modifiedDate',\n\t\t\t\ttrue\n\t\t\t);\n\n\t\t\tif (coplastupdatedval.length > 0) {\n\t\t\t\tp.coplastupdated = formatDate(coplastupdatedval[0]?.modifiedDate);\n\t\t\t\tp.copstatus = coplastupdatedval[0]?.status;\n\t\t\t\tp.lastupdatedType = 'cop';\n\t\t\t\tp.rmlastCopVersion = coplastupdatedval[0]?.version;\n\t\t\t\tp.rmlastCoaVersion = coplastupdatedval[0]?.chartOfAccountsVersion;\n\t\t\t\tp.rmlastUpdatedVersion = 0;\n\t\t\t}\n\n\t\t\tif (rmlastupdatedval.length > 0) {\n\t\t\t\tp.rmlastupdated = formatDate(\n\t\t\t\t\trmlastupdatedval[0]?.modifiedDate\n\t\t\t\t).toLocaleString();\n\t\t\t\tp.rmstatus = rmlastupdatedval[0]?.status;\n\t\t\t\tp.rmlastCopVersion =\n\t\t\t\t\tcoplastupdatedval.length > 0 ? coplastupdatedval[0]?.version : 0;\n\t\t\t\tp.rmlastCoaVersion =\n\t\t\t\t\tcoplastupdatedval.length > 0\n\t\t\t\t\t\t? coplastupdatedval[0]?.chartOfAccountsVersion\n\t\t\t\t\t\t: 0;\n\t\t\t\tp.rmlastUpdatedVersion = rmlastupdatedval[0]?.version;\n\t\t\t\tp.lastupdatedType = 'rm';\n\t\t\t}\n\n\t\t\tconst allversionsConcated = _.chain(coplastupdatedval)\n\t\t\t\t.concat(rmlastupdatedval)\n\t\t\t\t.value();\n\n\t\t\tconst allversions = sortArray(allversionsConcated, 'modifiedDate', true);\n\n\t\t\tif (allversions?.length > 0) {\n\t\t\t\tp.lastupdated = formatDate(allversions[0]?.modifiedDate);\n\t\t\t\tp.lastupdatedVersion = allversions[0]?.version;\n\t\t\t\tp.lastupdatedVersionIdentifier = allversions[0]?.version;\n\t\t\t\tp.lastupdatedSchemaIdentifier = allversions[0]?.chartOfAccountsVersion;\n\t\t\t\tp.status = allversions[0]?.status;\n\t\t\t}\n\t\t});\n\t});\n\treturn list;\n}\n\n// update offline\nfunction updateDataOffline(state = initialState, action: ActionSchema) {\n\tconst {\n\t\tyear,\n\t\tproducerIdentifier,\n\t\ttype,\n\t\tversionIdentifier,\n\t\tserverIdentifier,\n\t\tkey,\n\t} = action.payload;\n\n\tconst list = state[key]?.list || [];\n\t// add record to existing producer and year\n\tlist.forEach((producer: Producer) => {\n\t\tproducer.versions.forEach((pyear: ProducerYear) => {\n\t\t\tif (\n\t\t\t\tString(producer.producerIdentifier) == String(producerIdentifier) &&\n\t\t\t\tString(pyear.year) == String(year)\n\t\t\t) {\n\t\t\t\tif (type === SCHEMA_TYPE.COP) {\n\t\t\t\t\tpyear.costOfProductionVersions = [];\n\t\t\t\t\tpyear.riskMarketingVersions.forEach(\n\t\t\t\t\t\t(rm: RiskManagement, index: number) => {\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tNumber(rm.costOfProductionVersion) == Number(versionIdentifier)\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\trm.costOfProductionVersion = serverIdentifier;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t} else if (type === SCHEMA_TYPE.RM) {\n\t\t\t\t\tpyear.riskMarketingVersions = [];\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t});\n\n\t// remove year\n\tlist.forEach((producer: Producer) => {\n\t\tproducer.versions.forEach((pyear: ProducerYear, index: number) => {\n\t\t\tif (\n\t\t\t\tString(producer.producerIdentifier) == String(producerIdentifier) &&\n\t\t\t\tString(pyear.year) == String(year) &&\n\t\t\t\tpyear.costOfProductionVersions?.length === 0 &&\n\t\t\t\tpyear.riskMarketingVersions?.length === 0\n\t\t\t) {\n\t\t\t\t_.remove(producer.versions, { year: year });\n\t\t\t}\n\t\t});\n\t});\n\n\t// remove producer\n\tlist.forEach((producer: Producer, index: number) => {\n\t\tif (\n\t\t\tproducer?.versions?.length === 0 &&\n\t\t\tString(producer.producerIdentifier) == String(producerIdentifier)\n\t\t) {\n\t\t\t_.remove(list, { producerIdentifier: producerIdentifier });\n\t\t}\n\t});\n\n\t//assiging to user state\n\tstate[key] = updateObject(state[key], {\n\t\tlist: _.compact(aggregateProducer(list)),\n\t});\n\n\treturn state;\n}\n\nexport default reducer;\n","import { SELECT_PRODUCER_YEAR, CLEAR_PRODUCER_YEAR } from '../actions/actions';\n\nconst yearReducer = (\n\tstate: { year: any } = { year: null },\n\taction: { type: string; payload: any }\n) => {\n\tswitch (action.type) {\n\t\tcase SELECT_PRODUCER_YEAR:\n\t\t\tstate = { ...state, year: action.payload };\n\t\t\tbreak;\n\t\tcase CLEAR_PRODUCER_YEAR:\n\t\t\tstate = { ...state, year: null };\n\t\t\tbreak;\n\t}\n\treturn state;\n};\n\nexport default yearReducer;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"hideelementnotreq\":\"navigation_hideelementnotreq__1R6Fe\",\"marginRight24\":\"navigation_marginRight24__8BzlW\",\"marginLeft24\":\"navigation_marginLeft24__9RmyV\",\"marginRight10\":\"navigation_marginRight10__1TeWM\",\"marginRight16\":\"navigation_marginRight16__3XZKs\",\"marginRight7\":\"navigation_marginRight7__1WYrZ\",\"marginTop15\":\"navigation_marginTop15__3219U\",\"marginTop10\":\"navigation_marginTop10__mB7m9\",\"marginTop20\":\"navigation_marginTop20__2Bljy\",\"marginBottom15\":\"navigation_marginBottom15__103vV\",\"marginBottom20\":\"navigation_marginBottom20__1RXrs\",\"marginBottom30\":\"navigation_marginBottom30__1of7m\",\"marginRight20\":\"navigation_marginRight20__18wQv\",\"marginBottom8\":\"navigation_marginBottom8__Qv2Ev\",\"marginTopBottom15\":\"navigation_marginTopBottom15__3aUI4\",\"marginTop6\":\"navigation_marginTop6__c98U5\",\"padding22\":\"navigation_padding22__1gR1v\",\"padding6\":\"navigation_padding6__2ktm1\",\"paddingbottom18\":\"navigation_paddingbottom18__14n6Z\",\"paddingTopBottom22px\":\"navigation_paddingTopBottom22px__eAXMA\",\"paddingLeft11\":\"navigation_paddingLeft11__2s_82\",\"margin15\":\"navigation_margin15__3sKlu\",\"paddingBtm20\":\"navigation_paddingBtm20__10Vyr\",\"paddingLeft55\":\"navigation_paddingLeft55__3H6Fl\",\"paddingTopBottom8\":\"navigation_paddingTopBottom8__YWBFK\",\"padding0\":\"navigation_padding0__lguJR\",\"paddingRight8\":\"navigation_paddingRight8__q97Km\",\"paddingTop0\":\"navigation_paddingTop0__3o4QX\",\"paddingBottom0\":\"navigation_paddingBottom0__2udZd\",\"marginBtm0\":\"navigation_marginBtm0__20zx0\",\"padding30\":\"navigation_padding30__10doD\",\"paddingTop51\":\"navigation_paddingTop51__1iqDC\",\"halfWidth\":\"navigation_halfWidth__3ZjMA\",\"fullWidth\":\"navigation_fullWidth__3TA_h\",\"fullHeight\":\"navigation_fullHeight__1K_LC\",\"cursorPointer\":\"navigation_cursorPointer__BHkhf\",\"contentSpaceBetween\":\"navigation_contentSpaceBetween__3u3ND\",\"contenFlex\":\"navigation_contenFlex__1OdK2\",\"contentSpaceEvenly\":\"navigation_contentSpaceEvenly__32LkQ\",\"contentFlextGrowRow\":\"navigation_contentFlextGrowRow___Ruhz\",\"contentFlextGrowcolumn\":\"navigation_contentFlextGrowcolumn__2EfjC\",\"contentFlexOne\":\"navigation_contentFlexOne__1Zjkx\",\"textAlignCenter\":\"navigation_textAlignCenter__Etqkk\",\"contentSpaceAround\":\"navigation_contentSpaceAround__1tzvk\",\"contentAlignCenter\":\"navigation_contentAlignCenter__33XgY\",\"contentJustifyCenter\":\"navigation_contentJustifyCenter__2ak8I\",\"contentPlaceEnd\":\"navigation_contentPlaceEnd__2P77V\",\"contentPlaceInlineFlex\":\"navigation_contentPlaceInlineFlex__3nxnm\",\"contentPlaceCenter\":\"navigation_contentPlaceCenter__1hUXF\",\"herdscroller\":\"navigation_herdscroller__2WXCq\",\"btnoutline\":\"navigation_btnoutline__3wgLa\",\"btnFill\":\"navigation_btnFill__22FU1\",\"btnSmall\":\"navigation_btnSmall__2cB58\",\"popUpBtn\":\"navigation_popUpBtn__2poZ-\",\"iconButton\":\"navigation_iconButton__3WNeb\",\"btnLg\":\"navigation_btnLg__3zjnl\",\"btnDefault\":\"navigation_btnDefault__1wYlz\",\"btnDefaultFixed\":\"navigation_btnDefaultFixed__1sjJA\",\"btnSm\":\"navigation_btnSm__pBoCx\",\"notesIconColor\":\"navigation_notesIconColor__3pPFB\",\"navigationContainer\":\"navigation_navigationContainer__1eExQ\",\"navigationHeader\":\"navigation_navigationHeader__lYcZo\",\"navigationContent\":\"navigation_navigationContent__2fGjt\",\"navigation\":\"navigation_navigation__3DMyp\",\"MuiStepConnector-vertical\":\"navigation_MuiStepConnector-vertical__e4j57\",\"MuiStepConnector-lineVertical\":\"navigation_MuiStepConnector-lineVertical__2iqah\",\"MuiStepConnector-line\":\"navigation_MuiStepConnector-line__22dVc\",\"stepLebel\":\"navigation_stepLebel__2GOPn\",\"stepLebelNoPointer\":\"navigation_stepLebelNoPointer__rkUwo\",\"navIconContainer\":\"navigation_navIconContainer__2bRk4\",\"navIconActiveColor\":\"navigation_navIconActiveColor__1jjJC\",\"stepLebelActive\":\"navigation_stepLebelActive__1v9Qt\",\"stepperLebelCollapse\":\"navigation_stepperLebelCollapse__3mUxW\",\"stepIconContainer\":\"navigation_stepIconContainer__2FcpV\",\"activeStepIcon\":\"navigation_activeStepIcon__JxNWX\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"medium\":\"header_medium__3w4eG\",\"header\":\"header_header__2oeTE\",\"full-width\":\"header_full-width__2eOH4\",\"headerLogo\":\"header_headerLogo__nVdH8\",\"toolBar\":\"header_toolBar__1jyYf\",\"alignRight\":\"header_alignRight__G8KPS\",\"userInitials\":\"header_userInitials__1_NAm\",\"profilename\":\"header_profilename__1dmve\",\"arrowup\":\"header_arrowup__1spCq\",\"arrowdown\":\"header_arrowdown__3QRaA\",\"profiledropdown\":\"header_profiledropdown__Ushgl\",\"notificationCenter\":\"header_notificationCenter__1Zv6J\",\"profileInfo\":\"header_profileInfo__2GIBO\",\"profieData\":\"header_profieData__16LxY\",\"onlineindicator\":\"header_onlineindicator__2gj1w\",\"offlineindicator\":\"header_offlineindicator__3um5F\"};","import React from 'react';\nimport { Grid } from '@material-ui/core';\nimport classes from '../../styles/layout/login.module.scss';\nimport { getQueryVariable } from '../../common/utils';\nimport { Link, RouteComponentProps } from 'react-router-dom';\nimport Box from '@material-ui/core/Box';\n\ninterface IProp extends RouteComponentProps {}\ntype Props = IProp;\nfunction Error(props: Props) {\n\tconst { location } = props;\n\tconst msg = decodeURIComponent(getQueryVariable(location.search, 'msg'));\n\treturn (\n\t\t
\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t{msg}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\n\t\t
\n\t);\n}\n\nexport default Error;\n","import { Grid } from '@material-ui/core';\nimport Box from '@material-ui/core/Box';\nimport React, { useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { RouteComponentProps } from 'react-router';\nimport { Link } from 'react-router-dom';\nimport { getQueryVariable } from '../../../common/utils';\nimport { Error, GlobalState } from '../../../schemas';\nimport { auth } from '../../../store/actions/index';\nimport classes from '../../../styles/layout/login.module.scss';\n\ninterface IProp extends RouteComponentProps {}\ntype Props = IProp;\nfunction AuthCallBack(props: Props) {\n\tconst { location } = props;\n\tconst token = getQueryVariable(location.search, 'code');\n\n\t// state\n\tconst dispatch = useDispatch();\n\tconst isAuthenticating: Boolean = useSelector(\n\t\t(state: GlobalState) => state.auth.loading\n\t);\n\tconst error: Error = useSelector((state: GlobalState) => state.auth.error);\n\n\tuseEffect(() => {\n\t\tif (token) {\n\t\t\tdispatch(auth(token));\n\t\t}\n\t}, [dispatch, token]);\n\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{!isAuthenticating && error ? (\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t{error.message}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t) : (\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\tPlease wait while we sign you in...\n\t\t\t\t\t\t
\n\t\t\t\t\t)}\n\t\t\t\t
\n\t\t\t\n\t\t\n\t);\n}\nexport default AuthCallBack;\n","export default __webpack_public_path__ + \"static/media/logo.a8587571.jpg\";","import { Grid } from '@material-ui/core';\nimport Box from '@material-ui/core/Box';\nimport React from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport logo from '../../assets/images/logo.jpg';\nimport { AUTH_CONFIG } from '../../common/configs';\nimport { ENVOIRMENT } from '../../common/constants';\nimport { getEnvoirment } from '../../common/utils';\nimport { GlobalState } from '../../schemas';\nimport classes from '../../styles/layout/login.module.scss';\n\ninterface Iprop {}\ntype Props = Iprop;\nconst Login = (props: Props) => {\n\tconst dispatch = useDispatch();\n\tconst isOnline: boolean = useSelector(\n\t\t(state: GlobalState) => state.offline.online\n\t);\n\tconst onLogin = (e: React.MouseEvent) => {\n\t\tconst ENV = getEnvoirment();\n\t\tlet REDIRECT_URI = AUTH_CONFIG.REDIRECT_URI_LOCAL;\n\t\tif (ENV === ENVOIRMENT.PROD) {\n\t\t\tREDIRECT_URI = AUTH_CONFIG.REDIRECT_URI_PROD;\n\t\t} else if (ENV === ENVOIRMENT.QA) {\n\t\t\tREDIRECT_URI = AUTH_CONFIG.REDIRECT_URI_QA;\n\t\t} else if (ENV === ENVOIRMENT.DEV) {\n\t\t\tREDIRECT_URI = AUTH_CONFIG.REDIRECT_URI_DEV;\n\t\t}\n\n\t\tconst url = `${AUTH_CONFIG.AUTHORIZATION}?client_id=${AUTH_CONFIG.CLIENT_ID}&response_type=${AUTH_CONFIG.RESPONSE_TYPE}&scope=${AUTH_CONFIG.SCOPE}&redirect_uri=${REDIRECT_URI}`;\n\t\twindow.open(url, '_self');\n\t};\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\"logo\"\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t

Risk Margin Insights

\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t);\n};\n\nexport default Login;\n","import { ClickAwayListener } from '@material-ui/core';\nimport React, { Suspense, useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useLocation } from 'react-router';\nimport {\n\tRedirect,\n\tRoute,\n\tRouteComponentProps,\n\tBrowserRouter as Router,\n\tSwitch,\n} from 'react-router-dom';\nimport { Loader, Message } from './common/components';\nimport { ConfirmModal, Modal } from './common/components/ui';\nimport { AUTH_TOKEN } from './common/constants';\nimport { localStore } from './common/services';\nimport Error from './containers/error/error';\nimport AuthCallBack from './containers/login/auth/auth';\nimport Login from './containers/login/login';\nimport { Layout } from './hoc';\nimport { GlobalState } from './schemas';\nimport { authCheckState, copsavepdfdata, hideMessage } from './store/actions';\nimport { setDrpError, storeDRPData } from './store/actions/actions';\nimport {\n\tfetchreset,\n\tMADCAPISSUEERRORMSG,\n\tMADCAPNOTFOUNDMSG,\n} from './store/actions/madcapintegration';\n// “No MadCap data available for given period”\nconst Home = React.lazy(() => import('./containers/home/home'));\nconst PriceEditor = React.lazy(() =>\n\timport('./containers/price-editor/PriceEditor')\n);\n\ninterface IProp extends RouteComponentProps {}\ntype Props = IProp & any;\n\n// Modal component to show the modal when back button is clicked\nfunction Confirm(props: Props) {\n\tconst isOnline: Boolean = useSelector(\n\t\t(state: GlobalState) => state.offline.online\n\t);\n\tconst [openModal, setOpenModal] = React.useState(isOnline);\n\tconst dispatch = useDispatch();\n\tfunction allowTransition() {\n\t\tdispatch(storeDRPData([]));\n\t\tdispatch(setDrpError(false));\n\t\tprops.setConfirm(false);\n\t\tprops.confirmCallback(true);\n\t}\n\n\tfunction blockTransition() {\n\t\tprops.setConfirm(false);\n\t\tprops.confirmCallback(false);\n\t}\n\n\tconst modalBody = (\n\t\t
\n\t\t\t {\n\t\t\t\t\tif (choice) {\n\t\t\t\t\t\tallowTransition();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tblockTransition();\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\tlabel=\"CANCEL\"\n\t\t\t/>\n\t\t
\n\t);\n\n\treturn (\n\t\t {\n\t\t\t\tsetOpenModal(false);\n\t\t\t}}\n\t\t\tbody={modalBody}\n\t\t>\n\t);\n}\n\nfunction App(props: Props) {\n\t// state\n\tconst dispatch = useDispatch();\n\tconst isAuthenticated = useSelector((state: GlobalState) => state.auth.token);\n\tconst location = useLocation();\n\tconst token = localStore.get(AUTH_TOKEN);\n\n\t// States for showing modal on back button click\n\tconst [confirm, setConfirm] = React.useState(false);\n\tconst [confirmCallback, setConfirmCallback] = React.useState(null);\n\n\t// callback function to stop the default browser dialog box\n\tfunction getConfirmation(message: String, callback: any) {\n\t\tsetConfirmCallback(() => callback);\n\t\tsetConfirm(true);\n\t}\n\n\tconst redirectPath =\n\t\ttoken || location.pathname.indexOf('/auth') > -1\n\t\t\t? location.pathname\n\t\t\t: '/login';\n\n\t//show Message\n\tconst MSG = useSelector((state: GlobalState) => state.message);\n\n\tuseEffect(() => {\n\t\tdispatch(\n\t\t\tcopsavepdfdata({\n\t\t\t\tcop: {\n\t\t\t\t\tgeneralexpensedata: {},\n\t\t\t\t\tgeneralfeeddetails: {},\n\t\t\t\t\tgeneralfeedinventoryaccrual: {},\n\t\t\t\t\tgeneralincomedata: {},\n\t\t\t\t\tbalancesheetlivestockinventory: {},\n\t\t\t\t\tbalancesheetnonfeedcroparap_prepays: {},\n\t\t\t\t\tbalancesheet_depreciation: {},\n\t\t\t\t\tbalancesheet_totalprincipalpaymentsforperiod: {},\n\t\t\t\t\tbalancesheet_copclass3class4basisinformation: {},\n\n\t\t\t\t\toperationalsummary: {},\n\t\t\t\t\tcopsummary_financialinsights_cashplus_depreciation_and_principal_and_feedCost: {},\n\t\t\t\t\tcopsummary_financialinsights: {},\n\t\t\t\t\tcopsummary_accrualadjustment: {},\n\t\t\t\t\tnotes: {},\n\t\t\t\t},\n\t\t\t\trm: {\n\t\t\t\t\tsummarytable: {},\n\t\t\t\t\tsummarygraphs: {},\n\t\t\t\t\tdmc: {},\n\t\t\t\t},\n\t\t\t})\n\t\t);\n\t\tdispatch(fetchreset());\n\t\tdispatch(authCheckState());\n\t}, [dispatch]);\n\n\tlet routes = (\n\t\t<>\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n\n\tif (isAuthenticated) {\n\t\troutes = (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{MSG && MSG?.showMessage && (\n\t\t\t\t<>\n\t\t\t\t\t{MSG.message === MADCAPNOTFOUNDMSG ||\n\t\t\t\t\tMSG.message === MADCAPISSUEERRORMSG ? (\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\tdispatch(hideMessage());\n\t\t\t\t\t\t\t\tdispatch(fetchreset());\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t) : (\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\n\t\t\t)}\n\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t\n\t\t\t\t\t{/* */}\n\t\t\t\t\t{routes}\n\t\t\t\t\t{confirm && (\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nexport default App;\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://cra.link/PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.0/8 are considered localhost for IPv4.\n window.location.hostname.match(/^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/)\n);\n\ntype Config = {\n onSuccess?: (registration: ServiceWorkerRegistration) => void;\n onUpdate?: (registration: ServiceWorkerRegistration) => void;\n};\n\nexport function register(config?: Config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://cra.link/PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl: string, config?: Config) {\n navigator.serviceWorker\n .register(swUrl)\n .then((registration) => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://cra.link/PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch((error) => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl: string, config?: Config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl, {\n headers: { 'Service-Worker': 'script' },\n })\n .then((response) => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then((registration) => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log('No internet connection found. App is running in offline mode.');\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready\n .then((registration) => {\n registration.unregister();\n })\n .catch((error) => {\n console.error(error.message);\n });\n }\n}\n","import React from 'react';\nimport 'react-app-polyfill/ie11';\nimport 'react-app-polyfill/stable';\nimport ReactDOM from 'react-dom';\nimport { Provider } from 'react-redux';\nimport { BrowserRouter } from 'react-router-dom';\nimport App from './App';\nimport { ErrorBoundary, Rehydrated } from './hoc';\nimport * as serviceWorkerRegistration from './serviceWorkerRegistration';\nimport { store } from './store';\nimport './styles/main.scss';\n\nReactDOM.render(\n\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t,\n\tdocument.getElementById('root')\n);\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://bit.ly/CRA-PWA\nserviceWorkerRegistration.register();\n","export interface UserAccess {\n\tfunction: string;\n\tauthorization: string;\n}\nexport interface UserAuthorization {\n\tmilkshed: string;\n\taccess: UserAccess;\n}\nexport class User {\n\tname: string = '';\n\tfname: string = '';\n\tlname: string = '';\n\tmail: string = '';\n\trole: string = '';\n}\n","export class Error {\n\tmessage: string = '';\n}\n","import { GenericSchema } from './generic.schema';\nimport { MarketPrice } from './market-price.schema';\n\nexport interface CostOfProduction {\n\tidentifier: number;\n\tversion: number;\n\tstatus: string;\n\tmodifiedDate: string;\n\tnotes: string;\n\tarchived: boolean;\n\ttype?: any;\n\tkey?: any;\n\tyear?: string;\n\tcostOfProductionVersion?: number;\n\tchartOfAccountsVersion?: number;\n\tjournalEntry?: GenericSchema;\n\tisOffline?: boolean;\n\tisSelected?: boolean;\n\teffectiveDuration?: string;\n\tstartMonth?: string;\n\tisOfflineAdded?: boolean;\n}\n\nexport interface RiskManagement {\n\tidentifier: number;\n\tversion: number;\n\tstatus: string;\n\tmodifiedDate: string;\n\tnotes: string;\n\tarchived: boolean;\n\tkey?: any;\n\ttype?: any;\n\tyear?: string;\n\tcostOfProductionVersion?: number;\n\tchartOfAccountsVersion?: number;\n\tjournalEntry?: GenericSchema;\n\tisOffline?: boolean;\n\tisSelected?: boolean;\n\tisOfflineAdded?: boolean;\n\tmarketPriceList?: Array;\n}\n\nexport interface ProducerYear {\n\trow: CostOfProduction;\n\tyear: string;\n\tcostOfProductionVersions: Array;\n\triskMarketingVersions: Array;\n\tcopstatus?: string;\n\tcoplastupdated?: string;\n\trmstatus?: string;\n\trmlastupdated?: string;\n\tlastupdated?: string;\n\tlastupdatedVersion?: number;\n\tlastupdatedVersionIdentifier?: number;\n\tlastupdatedType?: string;\n\tlastupdatedSchemaIdentifier?: number;\n\tstatus?: string;\n\tkey: number;\n\tisOffline: boolean;\n\trmlastCopVersion?: number;\n\trmlastCoaVersion?: number;\n\trmlastUpdatedVersion?: number;\n\trmlastCopVersionOffline?: boolean;\n\tisOfflineChanges?: boolean;\n}\n\nexport class Producer {\n\tid: string = '';\n\tproducerIdentifier: string = '';\n\tfarmId: string = '';\n\tfarmName: string = '';\n\tcontact: string = '';\n\tdairyBusinessAdvisor: string = '';\n\triskManagementPermission: string = '';\n\tcostOfProductionPermission: string = '';\n\tmilkshed: string = '';\n\tlastModificationDate: string = '';\n\tversions: Array = [];\n}\n","export class MarketPriceAggregation {\n\tdate: Date | null = new Date();\n\tavgHigh: number = 0;\n\tavgLow: number = 0;\n\tavgSettlement: number = 0;\n\tchange: number = 0;\n}\n\nexport class MarketPrice {\n\tvolatilityMeasure: number = 0;\n\tcontractHighDateTime: string = '';\n\tlowPriceAmount: number = 0;\n\tdescription: string = '';\n\texistingContracts: number = 0;\n\tdifferenceOpenInterestMeasure: number = 0;\n\tcontractAverageRangePrice: number = 0;\n\tdifferenceSettlementPrice: number = 0;\n\tmonth: string = '';\n\ttradeQuantity: number = 0;\n\tsymbolCode: string = '';\n\tcontractHighPriceAmount: number = 0;\n\ttradingDateTime: string = '';\n\tdifferenceCurrentDayPrice: number = 0;\n\tsettlementPriceAmount: number = 0;\n\tyear: string = '';\n\thighPriceAmount: number = 0;\n\topenPriceAmount: number = 0;\n\tcontractLowDateTime: string = '';\n\tcontractLowPriceAmount: number = 0;\n\tsettlementDate: string = '';\n\tdate: Date = new Date();\n\tsymbolFinalPriceIndicator: string = '';\n\tisModified = false;\n}\n","import { Error } from './error.schema';\nimport { MarketPrice } from './market-price.schema';\n\nexport enum APIStatus {\n\tIDLE = 'IDLE',\n\tLOADING = 'LOADING',\n\tCOMPLETE = 'COMPLETE',\n\tERROR = 'ERROR',\n}\nexport interface MarketPriceInfo {\n\tlist: Array;\n\tloading: boolean;\n\terror: Error;\n\tdataFrame: { [key: string]: any };\n\tmodifiedDictionary: any;\n\tisModified: boolean;\n\tsaveAPIStatus: APIStatus;\n\tsaveResponseOrError: any;\n\tdate: string;\n}\n","class DocumentReference {\n\ttypeCode: string = '';\n\tidentifier: string;\n\tconstructor(typeCode: string, identifier: string) {\n\t\tthis.typeCode = typeCode;\n\t\tthis.identifier = identifier;\n\t}\n}\n\nclass Data {\n\tcontent: number = 0;\n\ttypeCode: string = '';\n\tconstructor(content: number, typeCode: string) {\n\t\tthis.content = content;\n\t\tthis.typeCode = typeCode;\n\t}\n}\n\nclass Code {\n\tcontent: string = '';\n\ttypeCode: string = '';\n\tconstructor(content: string, typeCode: string) {\n\t\tthis.content = content;\n\t\tthis.typeCode = typeCode;\n\t}\n}\n\nclass Identifier {\n\tidentifier: number;\n\tconstructor(id: number) {\n\t\tthis.identifier = id;\n\t}\n}\n\nclass ExtensionSchema {\n\ttypeCode: string = '';\n\tamount: Array = [];\n\tcode: Array = [];\n\n\tconstructor(typeCode: string, amount: Array) {\n\t\tthis.typeCode = typeCode;\n\t\tthis.amount = amount;\n\t}\n}\n\nexport class PositionSummary {\n\ttypeCode: string = 'Summary';\n\tidentifierSet: Identifier;\n\tquantity: Array;\n\textension: ExtensionSchema;\n\n\tconstructor(typeCode: string, subTypeCode: string, identifier: number) {\n\t\tthis.typeCode = typeCode;\n\t\tthis.identifierSet = { identifier: identifier };\n\t\t(this.quantity = [\n\t\t\t{ content: 0, typeCode: 'Number of Contracts' },\n\t\t\t{ content: 0, typeCode: 'Volume' },\n\t\t]),\n\t\t\t(this.quantity = [\n\t\t\t\t{ content: 0, typeCode: 'Number of Contracts' },\n\t\t\t\t{ content: 0, typeCode: 'Volume' },\n\t\t\t]);\n\t\tthis.extension = new ExtensionSchema(subTypeCode, [\n\t\t\t{ content: 0, typeCode: 'Strike' },\n\t\t\t{ content: 0, typeCode: 'Premium' },\n\t\t\t{ content: 0, typeCode: 'Net' },\n\t\t\t{ content: 0, typeCode: 'Amount' },\n\t\t]);\n\t}\n}\n\nexport class PeriodSummary {\n\ttypeCode: string = 'Summary';\n\tidentifierSet: Identifier;\n\tquantity: Array;\n\textension: ExtensionSchema;\n\n\tconstructor(typeCode: string, subTypeCode: string, identifier: number) {\n\t\tthis.typeCode = typeCode;\n\t\tthis.identifierSet = { identifier: identifier };\n\t\t(this.quantity = []),\n\t\t\t(this.extension = new ExtensionSchema(subTypeCode, [\n\t\t\t\t{ content: 0, typeCode: 'Amount' },\n\t\t\t]));\n\t}\n}\n\nexport class PeriodSummaryForForecast extends PeriodSummary {\n\tpercentage: Data;\n\tdocumentReference: DocumentReference;\n\n\tconstructor(\n\t\ttypeCode: string,\n\t\tsubTypeCode: string,\n\t\tidentifier: number,\n\t\tdocType: string,\n\t\tdocId: string,\n\t\tcodeType: string = '',\n\t\tcodeContent: string = '',\n\t\tdefaultPercent: number = 100\n\t) {\n\t\tsuper(typeCode, subTypeCode, identifier);\n\t\tthis.quantity = [\n\t\t\t{ content: 0, typeCode: 'Lactating Cows' },\n\t\t\t{ content: 0, typeCode: 'Milk per Cow per Day' },\n\t\t\t{ content: 0, typeCode: 'CWTS per Month' },\n\t\t\t{ content: 0, typeCode: 'Number of Contracts' },\n\t\t\t{ content: 0, typeCode: 'Volume' },\n\t\t\t{ content: 0, typeCode: 'Per CWT' },\n\t\t];\n\t\tthis.documentReference = { typeCode: docType, identifier: docId };\n\n\t\tthis.percentage = new Data(defaultPercent, 'Allocation Percent');\n\t\tthis.extension.amount = [\n\t\t\t...this.extension.amount,\n\t\t\t{ content: 0, typeCode: 'Forecast Milk income' },\n\t\t\t{ content: 0, typeCode: 'Forecast Amount' },\n\t\t\t{ content: 0, typeCode: 'Strike' },\n\t\t\t{ content: 0, typeCode: 'Premium' },\n\t\t\t{ content: 0, typeCode: 'Forecast Per CWT' },\n\t\t\t{ content: 0, typeCode: 'Forecast Per Cow Per year' },\n\t\t\t{ content: 0, typeCode: 'Net' },\n\t\t];\n\n\t\tthis.extension.code = [new Code(codeContent, codeType)];\n\t}\n}\n","class DocumentReference {\n\ttypeCode: string = '';\n\tidentifier: string;\n\tconstructor(typeCode: string, identifier: string) {\n\t\tthis.typeCode = typeCode;\n\t\tthis.identifier = identifier;\n\t}\n}\n\nclass Data {\n\tcontent: number = 0;\n\ttypeCode: string = '';\n\tconstructor(content: number, typeCode: string) {\n\t\tthis.content = content;\n\t\tthis.typeCode = typeCode;\n\t}\n}\n\nclass Code {\n\tcontent: string = '';\n\ttypeCode: string = '';\n\tconstructor(content: string, typeCode: string) {\n\t\tthis.content = content;\n\t\tthis.typeCode = typeCode;\n\t}\n}\n\nclass Identifier {\n\tidentifier: number;\n\tconstructor(id: number) {\n\t\tthis.identifier = id;\n\t}\n}\n\nclass ExtensionSchema {\n\ttypeCode: string = '';\n\tamount: Array = [];\n\tcode: Array = [];\n\n\tconstructor(typeCode: string, amount: Array, code: Array) {\n\t\tthis.typeCode = typeCode;\n\t\tthis.amount = amount;\n\t\tthis.code = code;\n\t}\n}\n\nexport class DMC {\n\ttypeCode: string = 'DMC';\n\tidentifierSet: Identifier;\n\tquantity: Array;\n\textension: ExtensionSchema;\n\tpercentage: Data;\n\n\tconstructor(typeCode: string, identifier: number) {\n\t\tthis.typeCode = typeCode;\n\t\tthis.identifierSet = { identifier: identifier };\n\t\tthis.quantity = [];\n\t\tthis.extension = new ExtensionSchema(\n\t\t\t'',\n\t\t\t[{ content: 0, typeCode: 'DMC Amount' }],\n\t\t\t[]\n\t\t);\n\n\t\tthis.percentage = new Data(0, 'Allocation Percent');\n\t}\n}\n","class DocumentReference {\n\ttypeCode: string = '';\n\tidentifier: string;\n\tconstructor(typeCode: string, identifier: string) {\n\t\tthis.typeCode = typeCode;\n\t\tthis.identifier = identifier;\n\t}\n}\n\nclass Data {\n\tcontent: number = 0;\n\ttypeCode: string = '';\n\tconstructor(content: number, typeCode: string) {\n\t\tthis.content = content;\n\t\tthis.typeCode = typeCode;\n\t}\n}\n\nclass Code {\n\tcontent: string = '';\n\ttypeCode: string = '';\n\tconstructor(content: string, typeCode: string) {\n\t\tthis.content = content;\n\t\tthis.typeCode = typeCode;\n\t}\n}\n\nclass Identifier {\n\tidentifier: number;\n\tconstructor(id: number) {\n\t\tthis.identifier = id;\n\t}\n}\n\nclass ExtensionSchema {\n\ttypeCode: string = '';\n\tamount: Array = [];\n\tcode: Array = [];\n\n\tconstructor(typeCode: string, amount: Array, code: Array) {\n\t\tthis.typeCode = typeCode;\n\t\tthis.amount = amount;\n\t\tthis.code = code;\n\t}\n}\n\nexport class DRP {\n\ttypeCode: string = 'DRP';\n\tidentifierSet: Identifier;\n\tquantity: Array;\n\textension: ExtensionSchema;\n\tpercentage: Data;\n\n\tconstructor(typeCode: string, subTypeCode: string, identifier: number) {\n\t\tthis.typeCode = typeCode;\n\t\tthis.identifierSet = { identifier: identifier };\n\t\tthis.quantity = [];\n\t\tthis.extension = new ExtensionSchema(\n\t\t\tsubTypeCode,\n\t\t\t[{ content: 0, typeCode: 'Amount' }],\n\t\t\t[]\n\t\t);\n\n\t\tthis.percentage = new Data(0, 'Allocation Percent');\n\t}\n}\n","export const RMHeader = {\n\trevisionIdentifier: '1',\n\tdescription: '',\n\tnote: [\n\t\t{\n\t\t\tcontent: '',\n\t\t\ttypeCode: 'Forecast Notes',\n\t\t},\n\t\t{\n\t\t\tcontent: '',\n\t\t\ttypeCode: 'RM Plan Notes',\n\t\t},\n\t],\n\tdocumentReference: [\n\t\t{\n\t\t\ttypeCode: 'CoP Version',\n\t\t\tidentifier: '',\n\t\t},\n\t\t{\n\t\t\ttypeCode: 'CoA Version',\n\t\t\tidentifier: '',\n\t\t},\n\t\t{\n\t\t\ttypeCode: 'Market Prices',\n\t\t\tidentifier: '',\n\t\t\tdocumentDateTime: '',\n\t\t},\n\t],\n\tstatus: {\n\t\tcode: 'DRAFT',\n\t},\n\taccountingPeriod: {\n\t\tyear: '',\n\t},\n\tparty: {\n\t\tidentifier: '',\n\t\tname: '',\n\t\tlocation: {\n\t\t\tidentifier: '',\n\t\t},\n\t},\n\textension: {\n\t\tcode: {\n\t\t\tcontent: '',\n\t\t\ttypeCode: 'Valuation Method',\n\t\t},\n\t\tdateTime: [\n\t\t\t{\n\t\t\t\tcontent: '',\n\t\t\t\ttypeCode: 'Created At',\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: '',\n\t\t\t\ttypeCode: 'Modified At',\n\t\t\t},\n\t\t],\n\t\tmeasure: [\n\t\t\t{\n\t\t\t\tcontent: '100',\n\t\t\t\ttypeCode: 'Q1 Estimated Production Factor',\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: '100',\n\t\t\t\ttypeCode: 'Q2 Estimated Production Factor',\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: '100',\n\t\t\t\ttypeCode: 'Q3 Estimated Production Factor',\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: '100',\n\t\t\t\ttypeCode: 'Q4 Estimated Production Factor',\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: '',\n\t\t\t\ttypeCode: 'Estimated Average Herd Size',\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: '',\n\t\t\t\ttypeCode: 'Lbs Covered Annually (Lbs)',\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: '',\n\t\t\t\ttypeCode: 'Margin Floor Cover (dol per CWT)',\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: '',\n\t\t\t\ttypeCode: 'Margin Floor Premium (dol per CWT)',\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: '',\n\t\t\t\ttypeCode: 'Estimated Milk per C per Yr (Fcst))',\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: '',\n\t\t\t\ttypeCode: 'Estimated Milk per C per Yr (Historical)',\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: '',\n\t\t\t\ttypeCode: 'Annual Average pct Dry Heard',\n\t\t\t},\n\t\t],\n\t\tname: [\n\t\t\t{\n\t\t\t\tcontent: 'Uttaran Banerjee',\n\t\t\t\ttypeCode: 'Created By',\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: 'Uttaran Banerjee',\n\t\t\t\ttypeCode: 'Modified By',\n\t\t\t},\n\t\t],\n\t},\n};\n","import { RM_TYPECODES } from '../common/constants';\n\nexport const EndorsementModel = () => {\n\treturn {\n\t\ttypeCode: RM_TYPECODES.ENDORSEMENT,\n\t\tidentifierSet: {\n\t\t\tidentifier: '3',\n\t\t},\n\t\tdRPReferences: [\n\t\t\t{\n\t\t\t\ttypeCode: 'DRP Reference',\n\t\t\t\tidentifier: '',\n\t\t\t},\n\t\t\t{\n\t\t\t\ttypeCode: 'DRP Source',\n\t\t\t\tidentifier: 'Manual',\n\t\t\t},\n\t\t\t{\n\t\t\t\ttypeCode: 'DRP Note',\n\t\t\t\tidentifier: '',\n\t\t\t},\n\t\t],\n\t\tquantity: [\n\t\t\t{\n\t\t\t\tcontent: '0',\n\t\t\t\ttypeCode: RM_TYPECODES.DECLARED_PROD_QTR_END,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: '0.00',\n\t\t\t\ttypeCode: RM_TYPECODES.CLASS_3_FLOOR_PRICE,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: '0.00',\n\t\t\t\ttypeCode: RM_TYPECODES.CLASS_4_FLOOR_PRICE,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: '0',\n\t\t\t\ttypeCode: RM_TYPECODES.PERCENT_COVERED,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: '1.50',\n\t\t\t\ttypeCode: RM_TYPECODES.PROTECT_FACT,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: '0',\n\t\t\t\ttypeCode: RM_TYPECODES.PREMIUM_DOLLAR,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: '1',\n\t\t\t\ttypeCode: RM_TYPECODES.YIELD_ADJ,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: '0',\n\t\t\t\ttypeCode: RM_TYPECODES.CLASS3_WEIGHT_FACTOR,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: '0',\n\t\t\t\ttypeCode: RM_TYPECODES.CLASS4_WEIGHT_FACTOR,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: '0',\n\t\t\t\ttypeCode: RM_TYPECODES.PREMIUM_PAID,\n\t\t\t},\n\t\t],\n\t\textension: {\n\t\t\ttypeCode: 'Endorsement Summary',\n\t\t\tamount: [\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: RM_TYPECODES.GROSS_EXPECTED_REVENUE_GUARANTEE_CWT,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: RM_TYPECODES.BEGINNING_PROFITABLE_LEVEL_CWT,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: RM_TYPECODES.MARKET_PRICE_WEIGHTED_CWT,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: RM_TYPECODES.GROSS_PROBABLE_INDEMNITY_CWT,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: RM_TYPECODES.MTM_WYF_ADJUSTMENT_CWT,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: RM_TYPECODES.GROSS_EXPECTED_TOTAL,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: RM_TYPECODES.BEG_TOTAL,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: RM_TYPECODES.MARKET_PRICE_TOTAL,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: RM_TYPECODES.GROS_PROB_TOTAL,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: RM_TYPECODES.MTM_ADJ_TOTAL,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: RM_TYPECODES.MARKET_TO_MARKET_CWT,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: RM_TYPECODES.NET_MTM_TOTAL,\n\t\t\t\t},\n\t\t\t],\n\t\t\tcode: [],\n\t\t\tdatetime: new Date(),\n\t\t},\n\t\tvalidation: {\n\t\t\terror: true,\n\t\t\tmessage: 'Should either have DRP Reference Or Comment.',\n\t\t},\n\t};\n};\n\nexport const DRP_Quarterly_Endorsement_Summary = () => {\n\treturn {\n\t\ttypeCode: RM_TYPECODES.QUARTERLY_ENDORSEMENT_SUMMARY,\n\t\tidentifierSet: {\n\t\t\tidentifier: '4',\n\t\t},\n\t\tquantity: [],\n\t\textension: {\n\t\t\ttypeCode: '',\n\t\t\tamount: [\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: RM_TYPECODES.TOTAL_COVERED_PRODUCTION_QTR,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: RM_TYPECODES.TOTAL_COVERED_PRODUCTION_MO,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: RM_TYPECODES.TOTAL_COVERED_PRODUCTION_CLASS3,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: RM_TYPECODES.TOTAL_COVERED_PRODUCTION_CLASS4,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: RM_TYPECODES.GROSS_EXPECTED_REVENUE_GUARANTEE_CWT,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: RM_TYPECODES.GROSS_EXPECTED_REVENUE_GUARANTEE_MO_TOTAL,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: RM_TYPECODES.GROSS_EXPECTED_REVENUE_GUARANTEE_QTR_TOTAL,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: RM_TYPECODES.BEGINNING_PROFITABLE_LEVEL_CWT,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: RM_TYPECODES.BEGINNING_PROFITABLE_LEVEL_MO_TOTAL,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: RM_TYPECODES.BEGINNING_PROFITABLE_LEVEL_QTR_TOTAL,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: RM_TYPECODES.MARKET_PRICE_WEIGHTED_CWT,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: RM_TYPECODES.MARKET_PRICE_WEIGHTED_MO_TOTAL,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: RM_TYPECODES.MARKET_PRICE_WEIGHTED_QTR_TOTAL,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: RM_TYPECODES.MARKET_TO_MARKET_CWT,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: RM_TYPECODES.MARKET_TO_MARKET_MO_TOTAL,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: RM_TYPECODES.MARKET_TO_MARKET_QTR_TOTAL,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: RM_TYPECODES.WEIGHT_AVERAGE_YIELD_ADJUSTMENT_FACTOR,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: RM_TYPECODES.GROSS_PROBABLE_INDEMNITY_CWT,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: RM_TYPECODES.GROSS_PROBABLE_INDEMNITY_QTR_TOTAL,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: RM_TYPECODES.GROSS_PROBABLE_INDEMNITY_MO_TOTAL,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: RM_TYPECODES.MTM_WYF_ADJUSTMENT_CWT,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: RM_TYPECODES.MTM_WYF_ADJUSTMENT_MO_TOTAL,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: RM_TYPECODES.MTM_WYF_ADJUSTMENT_QTR_TOTAL,\n\t\t\t\t},\n\t\t\t],\n\t\t\tcode: [],\n\t\t\tdatetime: '4-1-2020',\n\t\t},\n\t};\n};\n","import {\n\tDRP_COMP_ENDORSEMENT,\n\tDRP_COMP_ENDORSEMENT_SUMMARY,\n\tDRP_COMP_QUARTERLY_SUMMARY,\n\tRM_TYPECODES,\n} from '../common/constants';\n\nexport const DRP_COMP_EndorsementModel = () => {\n\treturn {\n\t\ttypeCode: 'Endorsement',\n\t\tidentifierSet: {\n\t\t\tidentifier: '3',\n\t\t},\n\t\tdRPReferences: [\n\t\t\t{\n\t\t\t\ttypeCode: 'DRP Reference',\n\t\t\t\tidentifier: '',\n\t\t\t},\n\t\t\t{\n\t\t\t\ttypeCode: 'DRP Source',\n\t\t\t\tidentifier: 'Manual',\n\t\t\t},\n\t\t\t{\n\t\t\t\ttypeCode: 'DRP Note',\n\t\t\t\tidentifier: '',\n\t\t\t},\n\t\t],\n\t\tquantity: [\n\t\t\t{\n\t\t\t\tcontent: '0',\n\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT.Declared_Production_QTR,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: '0',\n\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT.QMP_Butterfat,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: '0',\n\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT.QMP_Protein,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: '0',\n\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT.QMP_Other_Solids,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: '0',\n\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT.QMP_Non_Fat_Solids,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: '3.70',\n\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT.DT_Butterfat,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: '3.05',\n\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT.DT_Protein,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: '5.70',\n\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT.DT_Other_Solids,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: '8.75',\n\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT.DT_Non_Fat_Solids,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: '0',\n\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT.QT_Butterfat,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: '0',\n\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT.QT_Protein,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: '0',\n\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT.QT_Other_Solids,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: '0',\n\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT.QT_Non_Fat_Solids,\n\t\t\t},\n\n\t\t\t{\n\t\t\t\tcontent: '100',\n\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT.Comp_Weight_factor,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: '0',\n\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT.NonFt_BF_Wght,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: '1.40',\n\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT.Protection_Factor,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: '95',\n\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT.Percentage_Covered,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: '1',\n\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT.Yield_Adj_Fact,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: '0',\n\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT.Premium_Paid_Total,\n\t\t\t},\n\t\t],\n\t\textension: {\n\t\t\ttypeCode: 'Endorsement Summary',\n\t\t\tamount: [\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT_SUMMARY.Total_Price_CWT,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT_SUMMARY.Gross_Expected_CWT,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT_SUMMARY.Beg_CWT,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT_SUMMARY.Market_Price_CWT,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT_SUMMARY.Gross_Prob_CWT,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT_SUMMARY.MTM_Adj_CWT,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT_SUMMARY.Gross_Expected_TOTAL,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT_SUMMARY.Beg_TOTAL,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT_SUMMARY.Market_Price_TOTAL,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT_SUMMARY.Gross_Prob_TOTAL,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT_SUMMARY.MTM_Adj_TOTAL,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT_SUMMARY.Net_MTM_CWT,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT_SUMMARY.Net_MTM_TOTAL,\n\t\t\t\t},\n\t\t\t],\n\t\t\tcode: [],\n\t\t\tdatetime: new Date(),\n\t\t},\n\t\tvalidation: {\n\t\t\terror: true,\n\t\t\tmessage: 'Should either have DRP Reference Or Comment.',\n\t\t},\n\t};\n};\n\nexport const DRP_Comp_Quarterly_Endorsement_Summary = () => {\n\treturn {\n\t\ttypeCode: RM_TYPECODES.QUARTERLY_ENDORSEMENT_SUMMARY,\n\t\tidentifierSet: {\n\t\t\tidentifier: '3',\n\t\t},\n\t\tquantity: [],\n\t\textension: {\n\t\t\ttypeCode: '',\n\t\t\tamount: [\n\t\t\t\t{\n\t\t\t\t\tcontent: '',\n\t\t\t\t\ttypeCode: DRP_COMP_QUARTERLY_SUMMARY.BEG_CWT,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '',\n\t\t\t\t\ttypeCode: DRP_COMP_QUARTERLY_SUMMARY.BEG_MONTH,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '',\n\t\t\t\t\ttypeCode: DRP_COMP_QUARTERLY_SUMMARY.BEG_QTR,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '',\n\t\t\t\t\ttypeCode: DRP_COMP_QUARTERLY_SUMMARY.GPI_CWT,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '',\n\t\t\t\t\ttypeCode: DRP_COMP_QUARTERLY_SUMMARY.GPI_MONTH,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '',\n\t\t\t\t\ttypeCode: DRP_COMP_QUARTERLY_SUMMARY.GPI_QTR,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '',\n\t\t\t\t\ttypeCode: DRP_COMP_QUARTERLY_SUMMARY.GROSS_EXPECTED_RG_CWT,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '',\n\t\t\t\t\ttypeCode: DRP_COMP_QUARTERLY_SUMMARY.GROSS_EXPECTED_RG_MONTH,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '',\n\t\t\t\t\ttypeCode: DRP_COMP_QUARTERLY_SUMMARY.GROSS_EXPECTED_RG_QTR,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '',\n\t\t\t\t\ttypeCode: DRP_COMP_QUARTERLY_SUMMARY.MARKET_PRICE_WEIGHTED_CWT,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '',\n\t\t\t\t\ttypeCode: DRP_COMP_QUARTERLY_SUMMARY.MARKET_PRICE_WEIGHTED_MONTHLY,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '',\n\t\t\t\t\ttypeCode: DRP_COMP_QUARTERLY_SUMMARY.MARKET_PRICE_WEIGHTED_QTR,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '',\n\t\t\t\t\ttypeCode: DRP_COMP_QUARTERLY_SUMMARY.MTM_ADJ_CWT,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '',\n\t\t\t\t\ttypeCode: DRP_COMP_QUARTERLY_SUMMARY.MTM_ADJ_MONTH,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '',\n\t\t\t\t\ttypeCode: DRP_COMP_QUARTERLY_SUMMARY.MTM_ADJ_QTR,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '',\n\t\t\t\t\ttypeCode: DRP_COMP_QUARTERLY_SUMMARY.MTM_CWT,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '',\n\t\t\t\t\ttypeCode: DRP_COMP_QUARTERLY_SUMMARY.MTM_MONTH,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '',\n\t\t\t\t\ttypeCode: DRP_COMP_QUARTERLY_SUMMARY.MTM_QTR,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '',\n\t\t\t\t\ttypeCode: DRP_COMP_QUARTERLY_SUMMARY.TOTAL_COVERED_PRODUCTION_MONTHLY,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '',\n\t\t\t\t\ttypeCode: DRP_COMP_QUARTERLY_SUMMARY.TOTAL_COVERED_PRODUCTION_QTR,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '',\n\t\t\t\t\ttypeCode: DRP_COMP_QUARTERLY_SUMMARY.WEIGHT_AVG_YIELD,\n\t\t\t\t},\n\t\t\t],\n\t\t\tcode: [],\n\t\t},\n\t};\n};\n","import * as _ from 'lodash';\nimport { GenericSchema, MarketPrice, PeriodSummary } from '../../schemas';\nimport { PositionContainer } from '../../schemas/Model/position.model';\nimport {\n\tACTION_CODE,\n\tDEFAULT_LOCALE,\n\tDRP_COMP_ENDORSEMENT,\n\tDRP_COMP_ENDORSEMENT_SUMMARY,\n\tENVOIRMENT,\n\tFULL_MONTHS,\n\tINDICATOR_KEYS,\n\tINPUT_TYPE,\n\tMONTHS,\n\tRM_OPERATING_FORECAST_SECTION_CODES,\n\tRM_SECTION_CODES,\n\tRM_TYPECODES,\n\tSTART_YEAR,\n\tSTORED_MEASURE_KEYS,\n} from '../constants';\n\nexport const cleanupdrpdata = (DRPCLASS_OR_COMP: any, type: string) => {\n\tconst checkfiltercondition = (distItem: any) => {\n\t\tif (type === 'drpclass') {\n\t\t\treturn (\n\t\t\t\tdistItem.typeCode == RM_TYPECODES.QUARTERLY_ENDORSEMENT_SUMMARY ||\n\t\t\t\tdistItem.typeCode == 'CME Prices' ||\n\t\t\t\tdistItem.typeCode === 'Endorsement'\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\tdistItem.typeCode == RM_TYPECODES.QUARTERLY_ENDORSEMENT_SUMMARY ||\n\t\t\tdistItem.typeCode === 'Endorsement'\n\t\t);\n\t};\n\tDRPCLASS_OR_COMP = DRPCLASS_OR_COMP.map((d: any) => {\n\t\td.extension.distribution = d.extension.distribution.filter(\n\t\t\t(distItem: any) => {\n\t\t\t\tif (checkfiltercondition(distItem)) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t}\n\t\t);\n\t\td.extension.distribution = d.extension.distribution.map((distItem: any) => {\n\t\t\tif (distItem.typeCode === 'Endorsement') {\n\t\t\t\tdistItem.quantity = distItem.quantity.filter((q: any) => {\n\t\t\t\t\treturn !(q.typeCode == 'Endorsement Date' || q.typeCode == '');\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn distItem;\n\t\t});\n\t\treturn d;\n\t});\n\n\treturn DRPCLASS_OR_COMP;\n};\n\nexport const checkvalidationerror = (drp: any, drpcomp: any) => {\n\tlet validationerror = false;\n\tdrp = drp.map((drpdata: any, index: number) => {\n\t\tdrpdata.extension.distribution = drpdata.extension.distribution.map(\n\t\t\t(subitem: any, subitemindex: number) => {\n\t\t\t\tif (subitem.validation && subitem.validation.error) {\n\t\t\t\t\tvalidationerror = true;\n\t\t\t\t} else {\n\t\t\t\t\tif (subitem.typeCode === 'Endorsement') {\n\t\t\t\t\t\tconst drpReferencesarray = subitem?.dRPReferences || [];\n\t\t\t\t\t\tconst drpReference = drpReferencesarray.find(\n\t\t\t\t\t\t\tref => ref.typeCode === 'DRP Reference'\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst drpNote = drpReferencesarray.find(\n\t\t\t\t\t\t\tref => ref.typeCode === 'DRP Note'\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tif (drpReference && drpNote) {\n\t\t\t\t\t\t\tif (drpNote.identifier === '' && drpReference.identifier === '') {\n\t\t\t\t\t\t\t\tsubitem.validation = {\n\t\t\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\t\t\tmessage: 'Should either have DRP Reference Or Comment.',\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn subitem;\n\t\t\t}\n\t\t);\n\t\treturn drpdata;\n\t});\n\n\tdrpcomp = drpcomp.map((drpcompdata: any, index: number) => {\n\t\tdrpcompdata.extension.distribution = drpcompdata.extension.distribution.map(\n\t\t\t(subitem: any, subitemindex: number) => {\n\t\t\t\tif (subitem.validation && subitem.validation.error) {\n\t\t\t\t\tvalidationerror = true;\n\t\t\t\t} else {\n\t\t\t\t\tif (subitem.typeCode === 'Endorsement') {\n\t\t\t\t\t\tconst drpReferencesarray = subitem?.dRPReferences || [];\n\t\t\t\t\t\tconst drpReference = drpReferencesarray.find(\n\t\t\t\t\t\t\tref => ref.typeCode === 'DRP Reference'\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst drpNote = drpReferencesarray.find(\n\t\t\t\t\t\t\tref => ref.typeCode === 'DRP Note'\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tif (drpReference && drpNote) {\n\t\t\t\t\t\t\tif (drpNote.identifier === '' && drpReference.identifier === '') {\n\t\t\t\t\t\t\t\tsubitem.validation = {\n\t\t\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\t\t\tmessage: 'Should either have DRP Reference Or Comment.',\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn subitem;\n\t\t\t}\n\t\t);\n\t\treturn drpcompdata;\n\t});\n\treturn validationerror;\n};\nexport const formatdata = (data: any, type: any) => {\n\tconst getval = (value: any, precision: any) => {\n\t\treturn Number(value).toLocaleString(DEFAULT_LOCALE, {\n\t\t\tuseGrouping: true,\n\t\t\tmaximumFractionDigits: precision,\n\t\t\tminimumFractionDigits: precision,\n\t\t});\n\t};\n\tlet val = '';\n\tswitch (type) {\n\t\tcase INPUT_TYPE.NUMBER:\n\t\t\tval = getval(data, 0);\n\t\t\tbreak;\n\t\tcase INPUT_TYPE.DECIMAL:\n\t\t\tval = getval(data, 2);\n\t\t\tbreak;\n\t\tcase INPUT_TYPE.DECIMAL_4_PLACES:\n\t\t\tval = getval(data, 4);\n\t\t\tbreak;\n\t\tcase INPUT_TYPE.DECIMAL_5_PLACES:\n\t\t\tval = getval(data, 5);\n\t\t\tbreak;\n\t\tcase INPUT_TYPE.DECIMAL_3_PLACES:\n\t\t\tval = getval(data, 3);\n\t\t\tbreak;\n\t\tcase INPUT_TYPE.DECIMAL_2_PLACES:\n\t\t\tval = getval(data, 2);\n\t\t\tbreak;\n\t\tcase INPUT_TYPE.DECIMAL_1_PLACE:\n\t\t\tval = getval(data, 1);\n\t\t\tbreak;\n\t\tcase INPUT_TYPE.PERCENT:\n\t\t\tval = getval(data, 2);\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tval = '0';\n\t}\n\treturn val.indexOf('-') === 0 ? val.replace('-', '(') + ')' : val;\n};\n\nconst updateObject = (oldObject: any, updatedProperties: any) => {\n\treturn {\n\t\t...oldObject,\n\t\t...updatedProperties,\n\t};\n};\n\nconst getDayInMonth = (month: any, dayinyear: any) => {\n\tlet dayinmonthdata = 30;\n\tif (month === 'February') {\n\t\tdayinmonthdata = 28;\n\t\tif (dayinyear === 366) {\n\t\t\tdayinmonthdata = 29;\n\t\t}\n\t} else if (['April', 'June', 'September', 'November'].includes(month)) {\n\t\tdayinmonthdata = 30;\n\t} else {\n\t\tdayinmonthdata = 31;\n\t}\n\treturn dayinmonthdata;\n};\n\nconst reducePositionListInfoDictionary = (positionList: []) => {\n\treturn positionList.reduce((prev: any, item: any) => {\n\t\tvar symbol = item.extension.code.find(\n\t\t\t(item1: any) => item1.typeCode == 'Commodity'\n\t\t).content;\n\t\tconst key = `${item.extension.accountingPeriod[0].identifier}_${item.extension.accountingPeriod[0].year}`;\n\t\tif (prev[symbol]) {\n\t\t\tvar pc = new PositionContainer();\n\t\t\tpc.fromJson(item);\n\t\t\tprev[symbol][key] = pc;\n\t\t} else {\n\t\t\tvar pc1 = new PositionContainer();\n\t\t\tpc1.fromJson(item);\n\t\t\tprev[symbol] = {};\n\t\t\tprev[symbol][key] = pc1;\n\t\t}\n\t\tif (prev[symbol]['keys']) {\n\t\t\tprev[symbol]['keys'].push(key);\n\t\t} else {\n\t\t\tprev[symbol]['keys'] = [key];\n\t\t}\n\t\treturn prev;\n\t}, {});\n};\n\nconst getDayInYear = (year: any) => {\n\tyear = parseInt(year);\n\tlet dayinyear = 365;\n\tif ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {\n\t\tdayinyear = 366;\n\t}\n\treturn dayinyear;\n};\n\nconst mergeArray = (\n\toldArr: Array,\n\tupdateArr: Array,\n\tuniqueKey: string\n): Array => {\n\tconst arr = _.unionBy(oldArr, updateArr, uniqueKey);\n\treturn arr;\n};\n\nconst stringifyJSON = (value: Object): string => {\n\treturn JSON.stringify(value);\n};\nconst parseJSON = (value: string) => {\n\treturn JSON.parse(value);\n};\n\nconst getRandomID = (): string => {\n\treturn '_' + Math.random().toString(36).substr(2, 9);\n};\n\nconst getQueryVariable = (queryString: string, variable: string): string => {\n\tconst query = queryString.substring(1);\n\tconst vars = query.split('&');\n\tlet value = '';\n\tfor (let i = 0; i < vars.length; i++) {\n\t\tconst pair = vars[i].split('=');\n\t\tif (pair[0] === variable) {\n\t\t\tvalue = pair[1];\n\t\t}\n\t}\n\treturn value;\n};\n\nconst formatDate = (date: string | Date): string => {\n\tconst months = MONTHS;\n\tconst d = new Date(date);\n\tconst datestr = `${\n\t\tmonths[d.getMonth()]\n\t} ${d.getDate()}, ${d.getFullYear()} ${String(d.getHours()).padStart(\n\t\t2,\n\t\t'0'\n\t)}:${String(d.getMinutes()).padStart(2, '0')}`;\n\treturn datestr;\n};\n\nconst formatDatewithTimeFirst = (date: string | Date): string => {\n\tconst months = MONTHS;\n\tconst d = new Date(date);\n\tconst datestr = `${String(d.getHours()).padStart(2, '0')}:${String(\n\t\td.getMinutes()\n\t).padStart(2, '0')} on ${\n\t\tmonths[d.getMonth()]\n\t} ${d.getDate()}, ${d.getFullYear()}`;\n\treturn datestr;\n};\n\nconst formatDatewithFullMonth = (date: string | Date): string => {\n\tconst months = FULL_MONTHS;\n\tconst d = new Date(date);\n\tconst datestr = `${months[d.getMonth()]} ${d.getDate()}, ${d.getFullYear()}`;\n\treturn datestr;\n};\n\nconst formatDatewithMMDDYYYY = (date: string | Date): string => {\n\tconst d = new Date(date);\n\tconst datestr = `${d.getMonth() + 1}-${d.getDate()}-${d.getFullYear()}`;\n\treturn datestr;\n};\nconst formatDatewithMMDDYYYYTimeLast = (date: string | Date): string => {\n\tconst d = new Date(date);\n\tconst datestr = `${\n\t\td.getMonth() + 1\n\t}/${d.getDate()}/${d.getFullYear()} @${String(d.getHours()).padStart(\n\t\t2,\n\t\t'0'\n\t)}:${String(d.getMinutes()).padStart(2, '0')}`;\n\treturn datestr;\n};\nconst formatDateForPriceCurve = (date: Date = new Date()): string => {\n\tconst d = new Date(date);\n\tconst month = String(d.getMonth() + 1).padStart(2, '0');\n\tconst day = String(d.getDate()).padStart(2, '0');\n\tconst year = d.getFullYear();\n\n\treturn `${month}${day}${year}`;\n};\n\nconst getformattedvalue = (value: any) => {\n\tconst formattedvalue = new Intl.NumberFormat('en-US')\n\t\t.format(value)\n\t\t.toString();\n\treturn formattedvalue;\n};\n\nconst decodeJWT = (token: string) => {\n\treturn JSON.parse(atob(token.split('.')[1]));\n};\n\nconst getEnvoirment = (): string => {\n\tconst host = window.location.host;\n\tlet envoirment = '';\n\tif (host.indexOf('dairyrmi') > -1) {\n\t\tenvoirment = ENVOIRMENT.PROD;\n\t} else if (host.indexOf('-dv') > -1) {\n\t\tenvoirment = ENVOIRMENT.DEV;\n\t} else if (host.indexOf('-qa') > -1) {\n\t\tenvoirment = ENVOIRMENT.QA;\n\t} else {\n\t\tenvoirment = ENVOIRMENT.LOCAL;\n\t}\n\treturn envoirment;\n};\n\nconst minTwoDigits = (n: number): string => {\n\treturn (n < 10 ? '0' : '') + n;\n};\n\nconst toDecimalPlaces = (\n\tnum: number,\n\tdecimalPlaces: number,\n\tformatNegativeValue?: boolean\n) => {\n\tconst commas = num.toLocaleString(DEFAULT_LOCALE, {\n\t\tuseGrouping: true,\n\t\tminimumFractionDigits: decimalPlaces,\n\t\tmaximumFractionDigits: decimalPlaces,\n\t});\n\tif (formatNegativeValue) {\n\t\treturn commas.indexOf('-') === 0 ? commas.replace('-', '(') + ')' : commas;\n\t}\n\treturn commas;\n};\n\nconst toMaxDecimalPlaces = (\n\tnum: number,\n\tdecimalPlaces: number,\n\tformatNegativeValue?: boolean\n) => {\n\tconst commas = num.toLocaleString(DEFAULT_LOCALE, {\n\t\tuseGrouping: true,\n\t\tmaximumFractionDigits: decimalPlaces,\n\t});\n\tif (formatNegativeValue) {\n\t\treturn commas.indexOf('-') === 0 ? commas.replace('-', '(') + ')' : commas;\n\t}\n\treturn commas;\n};\n\nconst upto2DecimalPlaces = (number: any, formatNegativeValue?: boolean) => {\n\treturn isNaN(number)\n\t\t? toDecimalPlaces(0, 2, formatNegativeValue)\n\t\t: toDecimalPlaces(Number(number), 2, formatNegativeValue);\n};\n\nconst upto4DecimalPlaces = (number: any, formatNegativeValue?: boolean) => {\n\treturn isNaN(number)\n\t\t? toDecimalPlaces(0, 4, formatNegativeValue)\n\t\t: toDecimalPlaces(Number(number), 4, formatNegativeValue);\n};\nconst upto3DecimalPlaces = (number: any, formatNegativeValue?: boolean) => {\n\treturn isNaN(number)\n\t\t? toDecimalPlaces(0, 3, formatNegativeValue)\n\t\t: toDecimalPlaces(Number(number), 3, formatNegativeValue);\n};\n\nconst uptoZeroDecimalPlaces = (number: any, formatNegativeValue?: boolean) => {\n\treturn isNaN(number)\n\t\t? toDecimalPlaces(0, 0, formatNegativeValue)\n\t\t: toDecimalPlaces(Number(number), 0, formatNegativeValue);\n};\n\nconst upto5DecimalPlaces = (number: any, formatNegativeValue?: boolean) => {\n\treturn isNaN(number)\n\t\t? toDecimalPlaces(0, 5, formatNegativeValue)\n\t\t: toDecimalPlaces(Number(number), 5, formatNegativeValue);\n};\n\nconst formatNegativeValues = (num: number) => {\n\treturn num\n\t\t? num.toString().indexOf('-') === 0\n\t\t\t? num.toString().replace('-', '(') + ')'\n\t\t\t: num\n\t\t: num;\n};\n\nconst updateRefrence = (data: any): any => {\n\treturn _.cloneDeep(data);\n};\n\nconst removeComma = (val: string) => {\n\treturn val ? Number(val.split(',').join('')) : 0;\n};\n\nconst getNumber = (val: any) => {\n\treturn typeof val === 'number' && !isNaN(val)\n\t\t? val\n\t\t: val && !isNaN(Number(val.split(',').join('')))\n\t\t? Number(val.split(',').join(''))\n\t\t: 0;\n};\n\nconst createRMSummaryData = (copMonth: string, copYear: number) => {\n\tlet summaryArray = [];\n\tlet monthStart = FULL_MONTHS.indexOf(copMonth);\n\tlet year = monthStart === 0 ? copYear + 1 : copYear;\n\tlet distributionArray: any = [];\n\tlet typeCodes = [\n\t\tRM_TYPECODES.PROD_COVERAGE,\n\t\tRM_TYPECODES.PERCENT_COVERAGE,\n\t\tRM_TYPECODES.POSITION_COST,\n\t\tRM_TYPECODES.NET_POSITION_UPLIFT_DRAG,\n\t];\n\tlet extTypeCodes = [\n\t\tRM_TYPECODES.CLASS_3,\n\t\tRM_TYPECODES.CLASS_4,\n\t\tRM_TYPECODES.CHEESE,\n\t\tRM_TYPECODES.DMC,\n\t\tRM_TYPECODES.DRP_CLASS,\n\t\tRM_TYPECODES.DRP_COMPONENT,\n\t];\n\tconst addtodistributionArray = (typecode: string, exttypecode: string) => {\n\t\tdistributionArray.push(new PeriodSummary(typecode, exttypecode, 0));\n\t};\n\n\taddtodistributionArray(\n\t\tRM_TYPECODES.PROD_COVERAGE,\n\t\tRM_TYPECODES.FORECAST_MILK_VOLUME_LBS\n\t);\n\n\tfor (let i = 0; i < typeCodes.length; i++) {\n\t\tfor (let j = 0; j < extTypeCodes.length; j++) {\n\t\t\taddtodistributionArray(typeCodes[i], extTypeCodes[j]);\n\t\t}\n\t\tif (\n\t\t\ttypeCodes[i] === RM_TYPECODES.PROD_COVERAGE ||\n\t\t\ttypeCodes[i] === RM_TYPECODES.PERCENT_COVERAGE\n\t\t) {\n\t\t\taddtodistributionArray(typeCodes[i], RM_TYPECODES.NET_OPEN_MILK);\n\t\t\taddtodistributionArray(typeCodes[i], RM_TYPECODES.NET_OPEN_MILK_WO_DRP);\n\n\t\t\taddtodistributionArray(typeCodes[i], RM_TYPECODES.CLASS3_WORKING);\n\t\t\taddtodistributionArray(typeCodes[i], RM_TYPECODES.CLASS4_WORKING);\n\t\t\taddtodistributionArray(typeCodes[i], RM_TYPECODES.CHEESE_WORKING);\n\t\t\taddtodistributionArray(\n\t\t\t\ttypeCodes[i],\n\t\t\t\tRM_TYPECODES.NET_OPEN_MILK_INC_WORKING\n\t\t\t);\n\t\t\taddtodistributionArray(\n\t\t\t\ttypeCodes[i],\n\t\t\t\tRM_TYPECODES.NET_OPEN_MILK_WO_DRP_WORKING\n\t\t\t);\n\t\t\t// Add the new Working Order Typecodes for \"Position Coverage\" and \"% Coverage Table here\"\n\t\t} else if (typeCodes[i] === RM_TYPECODES.POSITION_COST) {\n\t\t\taddtodistributionArray(typeCodes[i], RM_TYPECODES.TOTAL_POSITION_COST);\n\t\t\taddtodistributionArray(typeCodes[i], RM_TYPECODES.COST_PER_CWT_COVERED);\n\t\t\taddtodistributionArray(\n\t\t\t\ttypeCodes[i],\n\t\t\t\tRM_TYPECODES.COST_PER_CWT_EST_PRODUCTION\n\t\t\t);\n\t\t} else if (typeCodes[i] === RM_TYPECODES.NET_POSITION_UPLIFT_DRAG) {\n\t\t\taddtodistributionArray(typeCodes[i], RM_TYPECODES.NET_UPLIFT_DRAG);\n\t\t\taddtodistributionArray(\n\t\t\t\ttypeCodes[i],\n\t\t\t\tRM_TYPECODES.NET_UPLIFT_DRAG_PER_CWT_COVERED\n\t\t\t);\n\t\t\taddtodistributionArray(\n\t\t\t\ttypeCodes[i],\n\t\t\t\tRM_TYPECODES.NET_UPLIFT_DRAG_PER_CWT_EST_PRODUCTION\n\t\t\t);\n\t\t\taddtodistributionArray(\n\t\t\t\ttypeCodes[i],\n\t\t\t\tRM_TYPECODES.FORECASTED_NET_MILK_REVENUE\n\t\t\t);\n\t\t\t// Add Estimated Net Income /CWT and Total\n\t\t\taddtodistributionArray(\n\t\t\t\ttypeCodes[i],\n\t\t\t\tRM_TYPECODES.ESTIMATED_NET_INCOME_CWT\n\t\t\t);\n\t\t\taddtodistributionArray(\n\t\t\t\ttypeCodes[i],\n\t\t\t\tRM_TYPECODES.ESTIMATED_NET_INCOME_TOTAL\n\t\t\t);\n\t\t}\n\t}\n\n\tfor (let i = 0; i < 12; i++) {\n\t\tsummaryArray.push({\n\t\t\ttypeCode: RM_SECTION_CODES.SUMMARY,\n\t\t\textension: {\n\t\t\t\tcode: [],\n\t\t\t\tdistribution: JSON.parse(JSON.stringify(distributionArray)),\n\t\t\t\taccountingPeriod: [\n\t\t\t\t\t{\n\t\t\t\t\t\tidentifier: FULL_MONTHS[monthStart],\n\t\t\t\t\t\tperiodIdentifier: String(Math.ceil((monthStart + 1) / 3)),\n\t\t\t\t\t\tyear: String(year),\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t});\n\t\tif (monthStart === 11) {\n\t\t\tmonthStart = 0;\n\t\t\tyear++;\n\t\t} else {\n\t\t\tmonthStart++;\n\t\t}\n\t}\n\treturn {\n\t\t[RM_OPERATING_FORECAST_SECTION_CODES.MONTHS]: summaryArray,\n\t\t[RM_OPERATING_FORECAST_SECTION_CODES.YEAR]: [\n\t\t\t{\n\t\t\t\ttypeCode: RM_SECTION_CODES.SUMMARY,\n\t\t\t\textension: {\n\t\t\t\t\tcode: [],\n\t\t\t\t\tdistribution: JSON.parse(JSON.stringify(distributionArray)),\n\t\t\t\t\taccountingPeriod: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tidentifier: '',\n\t\t\t\t\t\t\tperiodIdentifier: '',\n\t\t\t\t\t\t\tyear: String(monthStart === 0 ? year - 1 : year),\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t};\n};\n\n// get number of days in a each month of the year\nconst getNumDaysInMonth = (month: string, year: number) => {\n\tswitch (month) {\n\t\tcase MONTHS[0]:\n\t\tcase FULL_MONTHS[0]: //January\n\t\tcase '1':\n\t\t\treturn 31;\n\n\t\tcase MONTHS[1]:\n\t\tcase FULL_MONTHS[1]: //February\n\t\tcase '2':\n\t\t\treturn isLeapYear(year) ? 29 : 28;\n\n\t\tcase MONTHS[2]:\n\t\tcase FULL_MONTHS[2]: //March\n\t\tcase '3':\n\t\t\treturn 31;\n\n\t\tcase MONTHS[3]:\n\t\tcase FULL_MONTHS[3]: //April\n\t\tcase '4':\n\t\t\treturn 30;\n\n\t\tcase MONTHS[4]:\n\t\tcase FULL_MONTHS[4]: //May\n\t\tcase '5':\n\t\t\treturn 31;\n\n\t\tcase MONTHS[5]:\n\t\tcase FULL_MONTHS[5]: //June\n\t\tcase '6':\n\t\t\treturn 30;\n\n\t\tcase MONTHS[6]:\n\t\tcase FULL_MONTHS[6]: //July\n\t\tcase '7':\n\t\t\treturn 31;\n\n\t\tcase MONTHS[7]:\n\t\tcase FULL_MONTHS[7]: //August\n\t\tcase '8':\n\t\t\treturn 31;\n\n\t\tcase MONTHS[8]:\n\t\tcase FULL_MONTHS[8]: //September\n\t\tcase '9':\n\t\t\treturn 30;\n\n\t\tcase MONTHS[9]:\n\t\tcase FULL_MONTHS[9]: //October\n\t\tcase '10':\n\t\t\treturn 31;\n\n\t\tcase MONTHS[10]:\n\t\tcase FULL_MONTHS[10]: //November\n\t\tcase '11':\n\t\t\treturn 30;\n\n\t\tcase MONTHS[11]:\n\t\tcase FULL_MONTHS[11]: //December\n\t\tcase '12':\n\t\t\treturn 31;\n\t}\n};\n\nconst getFirstDate = (year: string, month: string) => {\n\tif (getMonthFromString(month) > 0) {\n\t\tlet YY = getMonthFromString(month) === 1 ? Number(year) : Number(year) - 1;\n\t\tlet MM = ('0' + getMonthFromString(month)).slice(-2);\n\t\tlet DD = '01';\n\t\treturn MM + '/' + DD + '/' + YY;\n\t}\n\treturn '';\n};\n\nconst getLastDate = (year: string, month: string, duration: string) => {\n\tif (getMonthFromString(month) > 0) {\n\t\tlet mon = getMonthFromString(month) - 1 + +Number(duration);\n\t\tlet addInYear = mon > 12 ? mon / 12 : 0;\n\t\tlet endingMonth = mon > 12 ? mon % 12 : mon;\n\t\tlet MM = ('0' + endingMonth).slice(-2);\n\t\tlet endingYear = +year + Math.floor(+addInYear);\n\t\tlet DD = getNumDaysInMonth(String(endingMonth), Number(year));\n\t\treturn MM + '/' + DD + '/' + year;\n\t}\n\treturn '';\n};\n\nfunction getMonthFromString(mon: string) {\n\tvar d = Date.parse(`${mon} 1, ${new Date().getFullYear()}`);\n\tif (!isNaN(d)) {\n\t\treturn new Date(d).getMonth() + 1;\n\t}\n\treturn -1;\n}\n\nconst verifyAccess = (\n\taccessList: Array,\n\tallowedType: string\n): boolean => {\n\treturn _.indexOf(accessList, allowedType) !== -1;\n};\n\nconst isLeapYear = (year: number) => {\n\treturn year % 100 === 0 ? year % 400 === 0 : year % 4 === 0;\n};\n\nconst monthDiff = (dateFrom: Date, dateTo: Date): number => {\n\treturn (\n\t\tdateTo.getMonth() -\n\t\tdateFrom.getMonth() +\n\t\t12 * (dateTo.getFullYear() - dateFrom.getFullYear())\n\t);\n};\n\nconst addMonths = (date: Date, months: number): Date => {\n\tvar d = date.getDate();\n\tdate.setMonth(date.getMonth() + +months);\n\tif (date.getDate() != d) {\n\t\tdate.setDate(0);\n\t}\n\treturn date;\n};\n\nconst getPropertyIndex = (arr: Array, value: string) => {\n\tlet index: number = -1;\n\t(arr || []).forEach((item: GenericSchema, i: number) => {\n\t\tif (item?.typeCode === value) {\n\t\t\tindex = i;\n\t\t}\n\t});\n\treturn index;\n};\n\nconst getPropertyIndexByExtension = (arr: Array, value: string) => {\n\tlet index: number = -1;\n\t(arr || []).forEach((item: GenericSchema, i: number) => {\n\t\tif (item?.extension?.typeCode === value) {\n\t\t\tindex = i;\n\t\t}\n\t});\n\treturn index;\n};\n\nconst scrollToBottom = (className: string) => {\n\tconst nodes = document.getElementsByClassName(className);\n\tfor (let i = 0; i < nodes?.length; i++) {\n\t\tnodes[i].scrollTop = nodes[i].scrollHeight;\n\t}\n};\n\nconst getYearsList = (): Array => {\n\tlet list = [];\n\tconst curYear = new Date().getFullYear() + 1; // added one for handling bugNo. 67604 //Adjust Year handling to align fiscal year\n\tfor (let i = START_YEAR; i <= curYear; i++) {\n\t\tlist.push(i.toString());\n\t}\n\treturn list.reverse();\n};\n\nconst getOptions = (\n\tstart: number,\n\tend: number,\n\tdifference: number,\n\tprecision: number = 0\n) => {\n\tlet list = [];\n\tfor (\n\t\tlet i = start;\n\t\tNumber(toDecimalPlaces(i, precision)) <= end;\n\t\ti = i + difference\n\t) {\n\t\tlist.push(toDecimalPlaces(i, precision));\n\t}\n\treturn list;\n};\n\nconst getAmountByIdentifier = (items: GenericSchema, identifier: string) => {\n\tlet amount = 0;\n\tObject.keys(items || []).map((topLevelKey: string) => {\n\t\tconst item = items[topLevelKey];\n\t\tObject.keys(item).map((key: string) => {\n\t\t\tconst innerItem = item[key];\n\t\t\tObject.keys(innerItem).map((innerKey: string) => {\n\t\t\t\tif (innerItem[innerKey][0].identifier === identifier) {\n\t\t\t\t\tamount = innerItem[innerKey][0]?.amount;\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t});\n\n\treturn amount;\n};\n\nconst setAmountByIdentifier = (\n\titems: GenericSchema,\n\tidentifier: string,\n\tamount: number\n) => {\n\tObject.keys(items || []).map((topLevelKey: string) => {\n\t\tconst item = items[topLevelKey];\n\t\tObject.keys(item).map((key: string) => {\n\t\t\tconst innerItem = item[key];\n\t\t\tObject.keys(innerItem).map((innerKey: string) => {\n\t\t\t\tif (innerItem[innerKey][0].identifier === identifier) {\n\t\t\t\t\tinnerItem[innerKey][0].amount = amount;\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t});\n};\n\nconst getMeasureDataByIdentifier = (\n\titems: GenericSchema,\n\tidentifier: string,\n\tstoredKey: string\n) => {\n\tlet amount = 0;\n\n\tObject.keys(items || []).map((topLevelKey: string) => {\n\t\tconst item = items[topLevelKey];\n\t\tObject.keys(item).map((key: string) => {\n\t\t\tconst innerItem = item[key];\n\t\t\tObject.keys(innerItem).map((innerKey: string) => {\n\t\t\t\tif (innerItem[innerKey][0].identifier === identifier) {\n\t\t\t\t\tlet row = innerItem[innerKey][0];\n\t\t\t\t\tlet index = getPropertyIndex(row.extension?.measure, storedKey);\n\t\t\t\t\tamount = row.extension?.measure[index]?.content;\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t});\n\treturn amount;\n};\n\nconst getIndicatorKey = (storedKey: string) => {\n\tswitch (storedKey) {\n\t\tcase STORED_MEASURE_KEYS.PER_CWT:\n\t\t\treturn INDICATOR_KEYS.PER_CWT;\n\t\tcase STORED_MEASURE_KEYS.PER_COW_PER_YEAR:\n\t\t\treturn INDICATOR_KEYS.PER_COW_PER_YEAR;\n\t\tcase STORED_MEASURE_KEYS.PER_COW_PER_DAY:\n\t\t\treturn INDICATOR_KEYS.PER_COW_PER_DAY;\n\t\tcase STORED_MEASURE_KEYS.PER_ACRE:\n\t\t\treturn INDICATOR_KEYS.PER_ACRE;\n\t\tdefault:\n\t\t\treturn '';\n\t}\n};\n\nconst setMeasureDataByIdentifier = (\n\titems: GenericSchema,\n\tidentifier: string,\n\tstoredKey: string,\n\tamount: number\n) => {\n\tObject.keys(items || []).map((topLevelKey: string) => {\n\t\tconst item = items[topLevelKey];\n\t\tObject.keys(item).map((key: string) => {\n\t\t\tconst innerItem = item[key];\n\t\t\tObject.keys(innerItem).map((innerKey: string) => {\n\t\t\t\tlet row = innerItem[innerKey][0];\n\t\t\t\tconst perCWTIndIndex = getPropertyIndex(\n\t\t\t\t\trow.extension?.indicator,\n\t\t\t\t\tgetIndicatorKey(storedKey)\n\t\t\t\t);\n\t\t\t\tif (\n\t\t\t\t\trow.identifier === identifier &&\n\t\t\t\t\trow.extension?.indicator[perCWTIndIndex]?.content === 'True'\n\t\t\t\t) {\n\t\t\t\t\tlet index = getPropertyIndex(row.extension?.measure, storedKey);\n\t\t\t\t\trow.extension.measure[index].content = amount;\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t});\n};\n\nconst getAmountByActionCode = (amount: number, action: string) => {\n\tif (action === ACTION_CODE.CREDIT) return amount * -1;\n\treturn amount;\n};\n\nconst abbreviateNumber = (value: number): string | string[] => {\n\tif (value >= 1e12) return toDecimalPlaces(+(value / 1e12), 1, true) + 'T';\n\tif (value >= 1e9) return toDecimalPlaces(+(value / 1e9), 1, true) + 'B';\n\tif (value >= 1e6) return toDecimalPlaces(+(value / 1e6), 1, true) + 'M';\n\tif (value >= 1e3) return toDecimalPlaces(+(value / 1e3), 1, true) + 'K';\n\tif (value <= -1e12) return toDecimalPlaces(+(value / 1e12), 1, true) + 'T';\n\tif (value <= -1e9) return toDecimalPlaces(+(value / 1e9), 1, true) + 'B';\n\tif (value <= -1e6) return toDecimalPlaces(+(value / 1e6), 1, true) + 'M';\n\tif (value <= -1e3) return toDecimalPlaces(+(value / 1e3), 1, true) + 'K';\n\tif (value < 1e3) return toMaxDecimalPlaces(value, 2, true);\n\t//TODO: Need default return statement\n\treturn toMaxDecimalPlaces(value, 2, true);\n};\n\nconst abbreviateNumberBarChart = (value: number): string | string[] => {\n\tif (value >= 1e12) return toDecimalPlaces(+(value / 1e12), 1, true) + 'T';\n\tif (value >= 1e9) return toDecimalPlaces(+(value / 1e9), 1, true) + 'B';\n\tif (value >= 1e6) return toDecimalPlaces(+(value / 1e6), 1, true) + 'M';\n\tif (value >= 1e3) return toDecimalPlaces(+(value / 1e3), 1, true) + 'K';\n\tif (value <= -1e12) return toDecimalPlaces(+(value / 1e12), 1, true) + 'T';\n\tif (value <= -1e9) return toDecimalPlaces(+(value / 1e9), 1, true) + 'B';\n\tif (value <= -1e6) return toDecimalPlaces(+(value / 1e6), 1, true) + 'M';\n\tif (value <= -1e3) return toDecimalPlaces(+(value / 1e3), 1, true) + 'K';\n\tif (value < 1e3) return '$' + toMaxDecimalPlaces(value, 2, true);\n\t//TODO: Need default return statement\n\treturn '$' + toMaxDecimalPlaces(value, 2, true);\n};\n\nconst compareValues = (value1: any, value2: any) => {\n\treturn _.isEqual(value1, value2);\n};\n\nconst annualizeAmount = (amount: number, numMonthIncluded: number) => {\n\treturn numMonthIncluded > 0 ? (amount / numMonthIncluded) * 12 : 0;\n};\n\nconst sortArray = (\n\tdata: Array,\n\tfieldName: string,\n\tsortDesc: boolean = false,\n\ttype: string = 'date'\n): Array => {\n\treturn data.sort((a: any, b: any) => {\n\t\tconst a1: any = _.chain(a[fieldName])\n\t\t\t.split('.')\n\t\t\t.map(val => val.padStart(2, '0'))\n\t\t\t.join('.')\n\t\t\t.value();\n\t\tconst b1: any = _.chain(b[fieldName])\n\t\t\t.split('.')\n\t\t\t.map(val => val.padStart(2, '0'))\n\t\t\t.join('.')\n\t\t\t.value();\n\t\tif (sortDesc) {\n\t\t\tif (a1 > b1) return -1;\n\t\t\tif (a1 < b1) return 1;\n\t\t\treturn b1 - a1;\n\t\t} else {\n\t\t\tif (a1 < b1) return -1;\n\t\t\tif (a1 > b1) return 1;\n\t\t\treturn a1 - b1;\n\t\t}\n\t});\n};\n\nconst checkNote = (type: any) => {\n\tif (type != null && type.replace)\n\t\treturn type\n\t\t\t.replace(/

/g, '')\n\t\t\t.replace(/<\\/p>/g, '')\n\t\t\t.replace(/
/g, '')\n\t\t\t.replace(/ /g, '') === ''\n\t\t\t? 0\n\t\t\t: 1;\n\telse return 0;\n};\nconst svgString2Image = async function (\n\tsvgData: any,\n\twidth: any,\n\theight: any,\n\tformat: any\n) {\n\treturn new Promise(resolve => {\n\t\t// set default for format parameter\n\t\tformat = format ? format : 'png';\n\t\t// SVG data URL from SVG string\n\t\t// create canvas in memory(not in DOM)\n\t\tvar canvas = document.createElement('canvas');\n\t\t// get canvas context for drawing on canvas\n\t\tvar context = canvas.getContext('2d');\n\t\t// set canvas size\n\t\tcanvas.width = width;\n\t\tcanvas.height = height;\n\t\t// create image in memory(not in DOM)\n\t\tvar image = new Image();\n\t\timage.src = svgData;\n\n\t\timage.onload = e => {\n\t\t\t// clear canvas\n\t\t\tif (context) {\n\t\t\t\tcontext.clearRect(0, 0, width, height);\n\t\t\t\t// draw image with SVG data to canvas\n\t\t\t\tcontext.drawImage(image, 0, 0, width, height);\n\t\t\t}\n\t\t\t// snapshot canvas as png\n\t\t\tvar pngData = canvas.toDataURL('image/' + format);\n\t\t\tresolve(pngData);\n\t\t};\n\t});\n};\n\nconst getUniqueLatestMarketPriceFromList = (marketPriceList: MarketPrice[]) => {\n\tconst newList: any[] = [];\n\tconst testDictionary: any = {};\n\tmarketPriceList.forEach((item: MarketPrice) => {\n\t\tif (testDictionary[item.month.toString() + '_' + item.year.toString()]) {\n\t\t\tconst price =\n\t\t\t\ttestDictionary[item.month.toString() + '_' + item.year.toString()];\n\t\t\tconst priceDate = price.settlementDate;\n\n\t\t\tif (\n\t\t\t\tnew Date(item.settlementDate).getTime() > new Date(priceDate).getTime()\n\t\t\t) {\n\t\t\t\tconst index = newList.indexOf(price);\n\n\t\t\t\tif (index != -1) {\n\t\t\t\t\tnewList.splice(index, 1);\n\t\t\t\t\tnewList.push(item);\n\t\t\t\t\ttestDictionary[\n\t\t\t\t\t\titem.month.toString() + '_' + item.year.toString()\n\t\t\t\t\t] = item;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tnewList.push(item);\n\t\t\ttestDictionary[item.month.toString() + '_' + item.year.toString()] = item;\n\t\t}\n\t});\n\treturn newList;\n};\n\nconst toTitleCase = (str: string) =>\n\tstr.replace(\n\t\t/(^\\w|\\s\\w)(\\S*)/g,\n\t\t(_, m1, m2) => m1.toUpperCase() + m2.toLowerCase()\n\t);\n\nconst mapDRPApiResponseToEndorsementModel = (apiItem: any) => {\n\t// console.log('apiItem processing model', apiItem);\n\treturn {\n\t\ttypeCode: 'Endorsement',\n\t\tidentifierSet: {\n\t\t\tidentifier: '3', // Assuming this is constant or you can derive it from the API response\n\t\t},\n\t\tdRPReferences: [\n\t\t\t{\n\t\t\t\ttypeCode: 'DRP Reference',\n\t\t\t\tidentifier: apiItem.drpReference || '',\n\t\t\t},\n\t\t\t{\n\t\t\t\ttypeCode: 'DRP Source',\n\t\t\t\tidentifier: 'System',\n\t\t\t},\n\t\t\t{\n\t\t\t\ttypeCode: 'DRP Note',\n\t\t\t\tidentifier: apiItem.note || '', // You may need to derive this based on other conditions\n\t\t\t},\n\t\t],\n\t\tquantity: [\n\t\t\t{\n\t\t\t\tcontent: new Date(apiItem.endrosementDate), // assuming date conversion is needed\n\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT.Endorsement_Date,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: apiItem.declaredProduction?.toString() || '0',\n\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT.Declared_Production_QTR,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: apiItem.qtrlyMilkPriceButterfat?.toString() || '0',\n\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT.QMP_Butterfat,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: apiItem.qtrlyMilkPriceProtein?.toString() || '0',\n\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT.QMP_Protein,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: apiItem.qtrlyMilkPriceOtherSolids?.toString() || '0',\n\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT.QMP_Other_Solids,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: apiItem.qtrlyMilkPriceNonfatSolids?.toString() || '0',\n\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT.QMP_Non_Fat_Solids,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: apiItem.declaredTestButterfat?.toString() || '0',\n\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT.DT_Butterfat,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: apiItem.declaredTestProtein?.toString() || '0',\n\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT.DT_Protein,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: '5.70',\n\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT.DT_Other_Solids,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: '8.75',\n\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT.DT_Non_Fat_Solids,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: apiItem.quoteButterfatPrice || '0',\n\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT.QT_Butterfat,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: apiItem.quoteProteinPrice || '0',\n\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT.QT_Protein,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: apiItem.quoteOtherSolidsPrice || '0',\n\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT.QT_Other_Solids,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: apiItem.quoteNonfatSolidsPrice || '0',\n\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT.QT_Non_Fat_Solids,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: '100',\n\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT.Comp_Weight_factor,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: '0',\n\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT.NonFt_BF_Wght,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: apiItem.protectionFactor?.toString() || '1.40',\n\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT.Protection_Factor,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: apiItem.covered?.toString() || '95',\n\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT.Percentage_Covered,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: apiItem.yieldAdjustment?.toString() || '1',\n\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT.Yield_Adj_Fact,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: apiItem.premium?.toString() || '0',\n\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT.Premium_Paid_Total,\n\t\t\t},\n\t\t],\n\t\textension: {\n\t\t\ttypeCode: 'Endorsement Summary',\n\t\t\tamount: [\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT_SUMMARY.Total_Price_CWT,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT_SUMMARY.Gross_Expected_CWT,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT_SUMMARY.Beg_CWT,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT_SUMMARY.Market_Price_CWT,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT_SUMMARY.Gross_Prob_CWT,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT_SUMMARY.MTM_Adj_CWT,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT_SUMMARY.Gross_Expected_TOTAL,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT_SUMMARY.Beg_TOTAL,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT_SUMMARY.Market_Price_TOTAL,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT_SUMMARY.Gross_Prob_TOTAL,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT_SUMMARY.MTM_Adj_TOTAL,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT_SUMMARY.Net_MTM_CWT,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: DRP_COMP_ENDORSEMENT_SUMMARY.Net_MTM_TOTAL,\n\t\t\t\t},\n\t\t\t],\n\t\t\tcode: [], // Assuming there are no corresponding fields for this in API response\n\t\t\tdateTime: new Date(apiItem.endrosementDate).toISOString(),\n\t\t},\n\t};\n};\nconst mapDRPClassApiResponseToEndorsementModel = (apiItem: any) => {\n\treturn {\n\t\ttypeCode: RM_TYPECODES.ENDORSEMENT,\n\t\tidentifierSet: {\n\t\t\tidentifier: '3', // Assuming static identifier as in the example model\n\t\t},\n\t\tdRPReferences: [\n\t\t\t{\n\t\t\t\ttypeCode: 'DRP Reference',\n\t\t\t\tidentifier: apiItem.drpReference || '',\n\t\t\t},\n\t\t\t{\n\t\t\t\ttypeCode: 'DRP Source',\n\t\t\t\tidentifier: 'System',\n\t\t\t},\n\t\t\t{\n\t\t\t\ttypeCode: 'DRP Note',\n\t\t\t\tidentifier: apiItem.note || '',\n\t\t\t},\n\t\t],\n\t\tquantity: [\n\t\t\t{\n\t\t\t\tcontent: apiItem.declaredProduction || '0',\n\t\t\t\ttypeCode: RM_TYPECODES.DECLARED_PROD_QTR_END,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: apiItem.class_3_Floor_Price || '0.00',\n\t\t\t\ttypeCode: RM_TYPECODES.CLASS_3_FLOOR_PRICE,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: apiItem.class_4_Floor_Price || '0.00',\n\t\t\t\ttypeCode: RM_TYPECODES.CLASS_4_FLOOR_PRICE,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: apiItem.covered ? apiItem.covered.toString() : '0',\n\t\t\t\ttypeCode: RM_TYPECODES.PERCENT_COVERED,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: apiItem.protectionFactor\n\t\t\t\t\t? apiItem.protectionFactor.toString()\n\t\t\t\t\t: '1.50',\n\t\t\t\ttypeCode: RM_TYPECODES.PROTECT_FACT,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: apiItem.premium ? apiItem.premium.toString() : '0',\n\t\t\t\ttypeCode: RM_TYPECODES.PREMIUM_DOLLAR,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: apiItem.yieldAdjustment\n\t\t\t\t\t? apiItem.yieldAdjustment.toString()\n\t\t\t\t\t: '1.0000',\n\t\t\t\ttypeCode: RM_TYPECODES.YIELD_ADJ,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: apiItem.class3Weight ? apiItem.class3Weight.toString() : '0',\n\t\t\t\ttypeCode: RM_TYPECODES.CLASS3_WEIGHT_FACTOR,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: apiItem.class4Weight ? apiItem.class4Weight.toString() : '0',\n\t\t\t\ttypeCode: RM_TYPECODES.CLASS4_WEIGHT_FACTOR,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontent: '0', // Assuming no data provided, placeholder\n\t\t\t\ttypeCode: RM_TYPECODES.PREMIUM_PAID,\n\t\t\t},\n\t\t],\n\t\textension: {\n\t\t\ttypeCode: 'Endorsement Summary',\n\t\t\tamount: [\n\t\t\t\t{\n\t\t\t\t\tcontent: '0', // Assuming placeholders; replace with real data if available\n\t\t\t\t\ttypeCode: RM_TYPECODES.GROSS_EXPECTED_REVENUE_GUARANTEE_CWT,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: RM_TYPECODES.BEGINNING_PROFITABLE_LEVEL_CWT,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: RM_TYPECODES.MARKET_PRICE_WEIGHTED_CWT,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: RM_TYPECODES.GROSS_PROBABLE_INDEMNITY_CWT,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: RM_TYPECODES.MTM_WYF_ADJUSTMENT_CWT,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: RM_TYPECODES.GROSS_EXPECTED_TOTAL,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: RM_TYPECODES.BEG_TOTAL,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: RM_TYPECODES.MARKET_PRICE_TOTAL,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: RM_TYPECODES.GROS_PROB_TOTAL,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: RM_TYPECODES.MTM_ADJ_TOTAL,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: RM_TYPECODES.MARKET_TO_MARKET_CWT,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: '0',\n\t\t\t\t\ttypeCode: RM_TYPECODES.NET_MTM_TOTAL,\n\t\t\t\t},\n\t\t\t],\n\t\t\tcode: [],\n\t\t\tdateTime: apiItem.endrosementDate || '24-11-2021', // Example date fallback\n\t\t},\n\t};\n};\nconst filterEndorsement = (drpData, calculatedSchemaState) => {\n\tconst uniqueDrpData = Array.from(\n\t\tnew Map(drpData.map(item => [item.drpReference, item])).values()\n\t);\n\n\t// Step 2: Create a Map for quick lookup of `drpData` by `drpReference`\n\tconst drpDataMap = new Map(\n\t\tuniqueDrpData.map(item => [item.drpReference, item])\n\t);\n\t// Step 3: Process `CALCULATED_SCHEMA` to filter endorsements\n\tconst updatedCalculatedSchema = calculatedSchemaState.map(schemaItem => {\n\t\tconst distribution = schemaItem.extension?.distribution || [];\n\n\t\t// Step 4: Filter endorsements based on DRP Reference and Source\n\n\t\tconst filteredDistribution = distribution.filter(distItem => {\n\t\t\tif (distItem.typeCode === 'Endorsement') {\n\t\t\t\tconst drpReferences = distItem?.dRPReferences;\n\t\t\t\t// Find DRP Reference, DRP Source, and DRP Note objects\n\t\t\t\tconst drpReference = drpReferences?.find(\n\t\t\t\t\tref => ref.typeCode === 'DRP Reference'\n\t\t\t\t);\n\t\t\t\tconst drpSource = drpReferences?.find(\n\t\t\t\t\tref => ref.typeCode === 'DRP Source'\n\t\t\t\t);\n\t\t\t\tconst drpNote = drpReferences?.find(ref => ref.typeCode === 'DRP Note');\n\n\t\t\t\tconst hasDrpReferenceMatch =\n\t\t\t\t\tdrpReference && drpDataMap?.has(drpReference.identifier?.trim());\n\t\t\t\tconst isManualSource = drpSource?.identifier === 'Manual';\n\t\t\t\tconst hasEmptyDrpReference = drpReference?.identifier?.trim() === '';\n\t\t\t\tconst hasDrpNoteValue = drpNote?.identifier?.trim() !== '';\n\n\t\t\t\t// Return true if:\n\t\t\t\t// 1. DRP Reference matches any in drpDataMap\n\t\t\t\t// 2. DRP Reference is empty, Source is Manual, and DRP Note is populated\n\t\t\t\treturn (\n\t\t\t\t\thasDrpReferenceMatch ||\n\t\t\t\t\t(hasEmptyDrpReference && isManualSource && hasDrpNoteValue)\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// Retain items that are not endorsements or do not require DRP References\n\t\t\treturn true;\n\t\t});\n\n\t\t// Step 5: Map `drpData` to new endorsements for matching quarter and year\n\t\tuniqueDrpData.forEach(apiItem => {\n\t\t\tconst isMatchingQuarterAndYear = item => {\n\t\t\t\t// Implement the quarter/year match logic here\n\t\t\t\treturn (\n\t\t\t\t\titem.extension?.accountingPeriod?.[0]?.periodIdentifier ===\n\t\t\t\t\t\tapiItem.calQuarter.replace('Q', '') &&\n\t\t\t\t\titem.extension?.accountingPeriod?.[0]?.year === apiItem.calYear\n\t\t\t\t);\n\t\t\t};\n\n\t\t\tif (isMatchingQuarterAndYear(schemaItem)) {\n\t\t\t\tconst mappedEndorsement = mapDRPApiResponseToEndorsementModel(apiItem);\n\t\t\t\tfilteredDistribution.push(mappedEndorsement);\n\t\t\t}\n\t\t});\n\t\t// console.log('filteredDistribution :', filteredDistribution);\n\n\t\t// Step 6: Update `schemaItem` with the filtered and updated distribution\n\t\treturn {\n\t\t\t...schemaItem,\n\t\t\textension: {\n\t\t\t\t...schemaItem.extension,\n\t\t\t\tdistribution: filteredDistribution,\n\t\t\t},\n\t\t};\n\t});\n\n\treturn updatedCalculatedSchema;\n};\n\nfunction formatToFourDecimalPlaces(value: number | string): string {\n\t// Convert string to a number if necessary\n\tconst numericValue = typeof value === 'string' ? parseFloat(value) : value;\n\n\t// If the value is exactly 1, return \"1\"\n\tif (numericValue === 1) {\n\t\treturn '1';\n\t}\n\t// If the value is invalid or not provided, return \"0\"\n\tif (isNaN(numericValue) || value === null || value === undefined) {\n\t\treturn '1';\n\t}\n\t// Otherwise, format the number to four decimal places\n\treturn numericValue.toFixed(4);\n}\n\nexport {\n\tabbreviateNumber,\n\tabbreviateNumberBarChart,\n\taddMonths,\n\tannualizeAmount,\n\tcheckNote,\n\tcompareValues,\n\tcreateRMSummaryData,\n\tdecodeJWT,\n\tfilterEndorsement,\n\tformatDate,\n\tformatDateForPriceCurve,\n\tformatDatewithFullMonth,\n\tformatDatewithMMDDYYYY,\n\tformatDatewithMMDDYYYYTimeLast,\n\tformatDatewithTimeFirst,\n\tformatNegativeValues,\n\tformatToFourDecimalPlaces,\n\tgetAmountByActionCode,\n\tgetAmountByIdentifier,\n\tgetDayInMonth,\n\tgetDayInYear,\n\tgetEnvoirment,\n\tgetFirstDate,\n\tgetformattedvalue,\n\tgetLastDate,\n\tgetMeasureDataByIdentifier,\n\tgetMonthFromString,\n\tgetNumber,\n\tgetNumDaysInMonth,\n\tgetOptions,\n\tgetPropertyIndex,\n\tgetPropertyIndexByExtension,\n\tgetQueryVariable,\n\tgetRandomID,\n\tgetUniqueLatestMarketPriceFromList,\n\tgetYearsList,\n\tisLeapYear,\n\tmergeArray,\n\tminTwoDigits,\n\tmonthDiff,\n\tparseJSON,\n\treducePositionListInfoDictionary,\n\tremoveComma,\n\tscrollToBottom,\n\tsetAmountByIdentifier,\n\tsetMeasureDataByIdentifier,\n\tsortArray,\n\tstringifyJSON,\n\tsvgString2Image,\n\ttoDecimalPlaces,\n\ttoMaxDecimalPlaces,\n\ttoTitleCase,\n\tupdateObject,\n\tupdateRefrence,\n\tupto2DecimalPlaces,\n\tupto3DecimalPlaces,\n\tupto4DecimalPlaces,\n\tupto5DecimalPlaces,\n\tuptoZeroDecimalPlaces,\n\tverifyAccess,\n};\n","import { Grid } from '@material-ui/core';\nimport Box from '@material-ui/core/Box';\nimport React from 'react';\nimport '../../../styles/components/loader.scss';\n\nconst loader = () => (\n\t\n\t\t\n\t\t\t\n\t\t\t\t

\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\n\t\t\n\t\n);\n\nexport default loader;\n","import { ClickAwayListener, MuiThemeProvider } from '@material-ui/core';\nimport AppBar from '@material-ui/core/AppBar';\nimport Grid from '@material-ui/core/Grid';\nimport { createTheme, Theme } from '@material-ui/core/styles';\nimport Toolbar from '@material-ui/core/Toolbar';\nimport cx from 'classnames';\nimport React, { useState } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { RouteComponentProps, useLocation, withRouter } from 'react-router-dom';\nimport LogoRMI from '../../../assets/images/logo-rmi-lockup.svg';\nimport { GlobalState, User } from '../../../schemas';\nimport {\n\tlogout,\n\tremoveSelectedCOAScehma,\n\tremoveSelectedMarketPrice,\n} from '../../../store/actions';\nimport customcss from '../../../styles/components/header.module.scss';\n\nconst theme: Theme = createTheme({\n\tprops: {\n\t\tMuiIconButton: {\n\t\t\tdisableRipple: true,\n\t\t},\n\t},\n\toverrides: {\n\t\tMuiIconButton: {\n\t\t\troot: {\n\t\t\t\t'&:hover': {\n\t\t\t\t\tbackgroundColor: 'transparent !important',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n});\ninterface IProp extends RouteComponentProps {}\ntype Props = IProp;\n\nfunction Header(props: Props) {\n\tlet location = useLocation();\n\tconst IS_COP = location.pathname.indexOf('/cop') > -1;\n\tconst IS_RM = location.pathname.indexOf('/rm') > -1;\n\tconst IS_COP_RM = IS_COP || IS_RM;\n\tconst [auth] = useState(true);\n\tconst [isMenuOpened, setToggleMenu] = useState(false);\n\n\t//state\n\tconst dispatch = useDispatch();\n\tconst userInfo: User = useSelector(\n\t\t(state: GlobalState) => state.auth.userInfo\n\t);\n\n\tconst isOnline: boolean = useSelector(\n\t\t(state: GlobalState) => state.offline.online\n\t);\n\n\tconst isCOPDataModified = useSelector(\n\t\t(state: GlobalState) => state.coa.isDataModified\n\t);\n\n\tconst userInitials = (userInfo: any) => {\n\t\tif (typeof userInfo !== 'undefined' && userInfo != null) {\n\t\t\tlet firstName = userInfo.fname;\n\t\t\tlet lastName = userInfo.lname;\n\t\t\tvar fisrtandLastName =\n\t\t\t\tfirstName.charAt(0).toUpperCase() + lastName.charAt(0).toUpperCase();\n\n\t\t\treturn fisrtandLastName;\n\t\t}\n\t\treturn null;\n\t};\n\n\tconst onLogout = () => {\n\t\tdispatch(logout());\n\t\tprops.history.push('/');\n\t};\n\n\tconst price_update_click = () => {\n\t\tdispatch(removeSelectedMarketPrice());\n\t\tprops.history.push('/priceedit');\n\t};\n\n\tconst toggleMenu = (\n\t\tevent: React.MouseEvent\n\t) => {\n\t\tconst menuOpened = !isMenuOpened;\n\t\tsetToggleMenu(menuOpened);\n\t};\n\n\tconst handleClickAway = () => {\n\t\tsetToggleMenu(false);\n\t};\n\n\tconst onNavigate = (url: string) => {\n\t\tif (IS_COP_RM && isCOPDataModified) {\n\t\t\t// toggleModal(true);\n\t\t\tprops.history.push(url);\n\t\t} else {\n\t\t\tdispatch(removeSelectedCOAScehma());\n\t\t\tprops.history.push(url);\n\t\t}\n\t};\n\n\tconst isLoggedInUserAdmin = () => {\n\t\tif (userInfo.role && userInfo.role.toLowerCase() == 'admin') {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t};\n\n\treturn (\n\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{location.pathname.length > 14 ? (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\tonNavigate('/home/producer');\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\"\"\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{auth && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t{userInitials(userInfo)}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{userInfo.fname} {userInfo.lname}\n\t\t\t\t\t\t\t\t\t\t\t{isMenuOpened ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t{isMenuOpened ? (\n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t
{userInfo.name}
\n\t\t\t\t\t\t\t\t\t\t\t\t\t
{userInfo.mail}
\n\t\t\t\t\t\t\t\t\t\t\t\t\t{isLoggedInUserAdmin() && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tEnter Pricing\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t
LOG OUT
\n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t''\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t);\n}\nexport default withRouter(Header);\n","import React, { useState, memo } from 'react';\nimport cx from 'classnames';\nimport './list-producer.scss';\nimport { StylesProvider } from '@material-ui/styles';\nimport { createTheme } from '@material-ui/core/styles';\nimport { MuiThemeProvider, Theme } from '@material-ui/core/styles';\nimport MoreVertIcon from '@material-ui/icons/MoreVert';\nimport CloseIcon from '@material-ui/icons/Close';\nimport { useSelector } from 'react-redux';\nimport { GlobalState } from '../../../schemas';\nimport { compareValues } from '../../utils';\n\ninterface IProp {\n\tdefaultContent?: any;\n\tmoreContent?: any;\n\ttype?: string;\n}\n\ntype Props = IProp;\nfunction ListProducer(props: Props) {\n\tlet [isMenuOpen, setMenu] = useState(false);\n\tconst { defaultContent, moreContent, type } = props;\n\n\tconst isOnline: Boolean = useSelector(\n\t\t(state: GlobalState) => state.offline.online\n\t);\n\n\tconst toggleMenu = () => {\n\t\tconst isMenuOpened = !isMenuOpen;\n\t\tsetMenu(isMenuOpened);\n\t};\n\n\treturn (\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t{isOnline || type == 'PRODUCER_YEAR' ? (\n\t\t\t\t\t\tisMenuOpen ? (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)\n\t\t\t\t\t) : (\n\t\t\t\t\t\t''\n\t\t\t\t\t)}\n\t\t\t\t\n\t\t\t\t{defaultContent}\n\t\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t{isOnline || type == 'PRODUCER_YEAR' ? (\n\t\t\t\t\t\tisMenuOpen ? (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)\n\t\t\t\t\t) : (\n\t\t\t\t\t\t''\n\t\t\t\t\t)}\n\t\t\t\t\n\t\t\t\t{moreContent}\n\t\t\t
\n\t\t
\n\t);\n}\n\nexport default memo(ListProducer, compareValues);\n","import React, { memo } from 'react';\nimport './list-producer.scss';\nimport { StylesProvider } from '@material-ui/styles';\nimport { createTheme } from '@material-ui/core/styles';\nimport { MuiThemeProvider, Theme } from '@material-ui/core/styles';\nimport MoreVertIcon from '@material-ui/icons/MoreVert';\nimport Skeleton from '@material-ui/lab/Skeleton';\nimport { compareValues } from '../../utils';\n\nconst theme: Theme = createTheme({\n\toverrides: {\n\t\tMuiGrid: {\n\t\t\titem: {\n\t\t\t\tbackgroundColor: 'transparent',\n\t\t\t},\n\t\t},\n\t\tMuiSvgIcon: {\n\t\t\troot: {\n\t\t\t\tfill: '#808078',\n\t\t\t},\n\t\t},\n\t},\n});\n\nfunction ListProducerLoader() {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t);\n}\n\nexport default memo(ListProducerLoader, compareValues);\n","import { Box, Snackbar, Typography } from '@material-ui/core';\nimport CheckCircleIcon from '@material-ui/icons/CheckCircle';\nimport ErrorIcon from '@material-ui/icons/Error';\nimport WarningIcon from '@material-ui/icons/Warning';\nimport MuiAlert from '@material-ui/lab/Alert';\nimport React from 'react';\nimport { useDispatch } from 'react-redux';\nimport { hideMessage } from '../../../store/actions';\nimport '../../../styles/layout/mixed-chart.scss';\n\ninterface IProp {\n\tmsg?: string;\n\ttype?: any;\n\tmessagearray?: string[] | undefined;\n\ttype1?: 'success' | 'error' | 'warning' | undefined;\n\ttype2?: 'success' | 'error' | 'warning' | undefined;\n\tduration?: number | null;\n}\ntype Props = IProp;\nfunction Message(props: Props) {\n\t// const { msg, type, duration } = props;\n\tconst dispatch = useDispatch();\n\n\tconst getIcon = (type: 'success' | 'warning' | 'error' | undefined) => {\n\t\tswitch (type) {\n\t\t\tcase 'success':\n\t\t\t\treturn (\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\tcase 'warning':\n\t\t\t\treturn (\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\tcase 'error':\n\t\t\t\treturn (\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\tdefault:\n\t\t\t\treturn null;\n\t\t}\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t{props.messagearray && props.type1 && props.type1 ? (\n\t\t\t\t {\n\t\t\t\t\t\tdispatch(hideMessage());\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t\n\t\t\t\t\t\t{props.messagearray.map((message, index) => (\n\t\t\t\t\t\t\t 0 ? '1rem' : '0',\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{getIcon(index === 0 ? props.type1 : props.type2)}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{message}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t))}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t) : (\n\t\t\t\t {\n\t\t\t\t\t\tdispatch(hideMessage());\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t\n\t\t\t\t\t\t{props.msg}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n}\nexport default Message;\n","import { createTheme, MuiThemeProvider, Theme } from '@material-ui/core';\nimport Step from '@material-ui/core/Step';\nimport StepLabel from '@material-ui/core/StepLabel';\nimport Stepper from '@material-ui/core/Stepper';\nimport React, { useState } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { Prompt, useHistory, useLocation } from 'react-router-dom';\nimport { GlobalState, Producer, ProducerYear } from '../../../schemas';\nimport { removeSelectedCOAScehma } from '../../../store/actions';\nimport { setDrpError, storeDRPData } from '../../../store/actions/actions';\nimport classes from '../../../styles/layout/navigation.module.scss';\nimport { sortArray } from '../../utils';\nimport { ConfirmModal, Modal } from '../ui';\n\nenum enumSteps {\n\tProducer,\n\tYears,\n\tCOP,\n\tRM,\n}\n\nconst theme: Theme = createTheme({\n\toverrides: {\n\t\tMuiStepper: {\n\t\t\troot: {\n\t\t\t\tpadding: '0',\n\t\t\t},\n\t\t},\n\t\tMuiStepConnector: {\n\t\t\tvertical: {\n\t\t\t\tpadding: '0px',\n\t\t\t\tmarginLeft: '18px',\n\t\t\t\t// margin: '6px 0px 6px 10px'\n\t\t\t},\n\t\t\tlineVertical: {\n\t\t\t\tborderLeftWidth: '1px',\n\t\t\t\tminHeight: '21px',\n\t\t\t\tmarginTop: '-5px',\n\t\t\t\tmarginBottom: '-5px',\n\t\t\t\tborderColor: 'rgba(0,0,0,.21)',\n\t\t\t},\n\t\t},\n\t\tMuiStepIcon: {\n\t\t\troot: {\n\t\t\t\t'&.MuiStepIcon-active': {\n\t\t\t\t\tcolor: '#fff',\n\t\t\t\t\t'& .MuiStepIcon-text': {\n\t\t\t\t\t\tfill: 'grey',\n\t\t\t\t\t\tfontWeight: '900',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t'&.MuiStepIcon-completed': {\n\t\t\t\t\tcolor: '#004c73',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tMuiSvgIcon: {\n\t\t\troot: {\n\t\t\t\tfontSize: '1.5rem!important',\n\t\t\t},\n\t\t},\n\t},\n});\n\nconst Navigation = (props: any) => {\n\tconst history = useHistory();\n\tlet location = useLocation();\n\n\tlet yearData = useSelector((state: GlobalState) => state.selectedYear);\n\n\tlet producerIdentifier = '';\n\tlet year = '';\n\tlet revisionIdentifier = '0';\n\tlet chartOfAccountsVersion = '0';\n\tlet rmVersionIdentifier = '0';\n\tlet currentActiveStep = 0;\n\n\tconst params = location.pathname.split('/');\n\tconst IS_COP = location.pathname.indexOf('/cop') > -1;\n\tconst IS_RM = location.pathname.indexOf('/rm') > -1;\n\tconst COP_RM = IS_COP || IS_RM;\n\n\trmVersionIdentifier = isNaN(Number(params[8])) ? '0' : params[8];\n\tchartOfAccountsVersion = isNaN(Number(params[7])) ? '0' : params[7];\n\trevisionIdentifier = isNaN(Number(params[6])) ? '0' : params[6];\n\tyear = params[5];\n\tproducerIdentifier = params[3];\n\n\tif (producerIdentifier && producerIdentifier === 'rm') {\n\t\tcurrentActiveStep = 3;\n\t} else if (producerIdentifier && producerIdentifier === 'cop') {\n\t\tcurrentActiveStep = 2;\n\t} else if (producerIdentifier) {\n\t\tcurrentActiveStep = 1;\n\t} else {\n\t\tcurrentActiveStep = 0;\n\t}\n\n\tlet steps = [\n\t\t{\n\t\t\tlabel: 'Producers',\n\t\t\tid: enumSteps.Producer,\n\t\t\troute: '/home/producer',\n\t\t\tenabled: true,\n\t\t},\n\t\t{\n\t\t\tlabel: 'Years',\n\t\t\tid: enumSteps.Years,\n\t\t\troute: '/home/producer',\n\t\t\tenabled: currentActiveStep != 0,\n\t\t},\n\t\t{\n\t\t\tlabel: 'Cost of Production',\n\t\t\tid: enumSteps.COP,\n\t\t\troute: '/home/producer',\n\t\t\tenabled: currentActiveStep == 3,\n\t\t},\n\t\t{\n\t\t\tlabel: 'Risk Management',\n\t\t\tid: enumSteps.RM,\n\t\t\troute: '/home/producer',\n\t\t\tenabled: currentActiveStep == 2,\n\t\t},\n\t];\n\n\tif (props?.YEAR_LIST) {\n\t\tif (props.YEAR_LIST?.length > 1) {\n\t\t\tsteps = steps.filter(d => !(d.label === 'Risk Management'));\n\t\t}\n\t}\n\n\tconst selectedProducer: Producer = useSelector((state: GlobalState) => {\n\t\tconst selected = state.producer.selected;\n\t\treturn selected;\n\t});\n\n\t// get latest Risk Marketing version identifier\n\tconst latestRMVersion = (selectedProducer: Producer, year: string) => {\n\t\tconst selectedYear: Array = selectedProducer.versions.filter(\n\t\t\t(item: ProducerYear) => item.year == year\n\t\t);\n\t\tlet latestRMVersion = '0';\n\t\tlet rmlastCopVersionOffline: boolean | undefined = false;\n\t\tif (selectedYear && selectedYear?.length > 0) {\n\t\t\tconst year: ProducerYear = selectedYear[0];\n\t\t\tconst rmVersions = sortArray(\n\t\t\t\tyear?.riskMarketingVersions,\n\t\t\t\t'modifiedDate',\n\t\t\t\ttrue\n\t\t\t);\n\t\t\tlatestRMVersion =\n\t\t\t\trmVersions?.length > 0 ? String(rmVersions[0]?.version) : '0';\n\t\t\trmlastCopVersionOffline = year.rmlastCopVersionOffline;\n\t\t}\n\t\treturn {\n\t\t\tlatestRMVersion: latestRMVersion,\n\t\t\trmlastCopVersionOffline: rmlastCopVersionOffline,\n\t\t};\n\t};\n\n\tconst isCOPDataModified = useSelector(\n\t\t(state: GlobalState) => state.coa.isDataModified\n\t);\n\n\tconst [navigationURL, setNavigationURL] = useState('');\n\tconst [openModal, setOpenModal] = useState(false);\n\n\tconst dispatch = useDispatch();\n\n\tconst modalBody = (\n\t\t
\n\t\t\t {\n\t\t\t\t\tconfirmReset(yes);\n\t\t\t\t}}\n\t\t\t\tlabel=\"CANCEL\"\n\t\t\t/>\n\t\t
\n\t);\n\tconst confirmReset = (yes: boolean) => {\n\t\tsetOpenModal(false);\n\t\tdispatch(storeDRPData([]));\n\t\tdispatch(setDrpError(false));\n\t\tif (yes) {\n\t\t\tdispatch(removeSelectedCOAScehma());\n\n\t\t\thistory.push(navigationURL);\n\t\t}\n\t};\n\n\tconst navigation_click_handler = (step: {\n\t\tlabel: string;\n\t\tid: enumSteps;\n\t\troute: string;\n\t}) => {\n\t\tlet path = '';\n\t\tswitch (step.id) {\n\t\t\tcase enumSteps.Producer:\n\t\t\t\tpath = step.route;\n\t\t\t\tbreak;\n\t\t\tcase enumSteps.Years:\n\t\t\t\tif (producerIdentifier)\n\t\t\t\t\tpath = step.route + `/${selectedProducer.producerIdentifier}`;\n\t\t\t\tbreak;\n\t\t\tcase enumSteps.COP:\n\t\t\t\tif (chartOfAccountsVersion && chartOfAccountsVersion != '0')\n\t\t\t\t\tif (yearData.year) {\n\t\t\t\t\t\t// year will be null on refresh\n\t\t\t\t\t\tpath = `/home/producer/cop/${selectedProducer.producerIdentifier}/${yearData.year.year}/${yearData.year.rmlastCopVersion}/${yearData.year.rmlastCoaVersion}/entry`;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tpath = `/home/producer/cop/${selectedProducer.producerIdentifier}/${year}/${revisionIdentifier}/${chartOfAccountsVersion}/entry`;\n\t\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase enumSteps.RM: {\n\t\t\t\tif (year) {\n\t\t\t\t\t// year will be null on refresh\n\t\t\t\t\t/// get path only if th value of year is available\n\t\t\t\t\tconst rmDetails = latestRMVersion(selectedProducer, year);\n\t\t\t\t\tif (yearData.year) {\n\t\t\t\t\t\tpath = `/home/producer/rm/${selectedProducer.producerIdentifier}/${yearData.year.year}/${yearData.year.rmlastCopVersion}/${yearData.year.rmlastCoaVersion}/${yearData.year.rmlastUpdatedVersion}/entry`;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tpath = `/home/producer/rm/${producerIdentifier}/${year}/${revisionIdentifier}/${chartOfAccountsVersion}/${rmDetails?.latestRMVersion}/entry`;\n\t\t\t\t\t}\n\t\t\t\t\t// `/home/producer/rm/${producer.producerIdentifier}/${item.year}/${item.rmlastCopVersion}/${item.rmlastCoaVersion}/${item.rmlastUpdatedVersion}/entry`\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif (path) {\n\t\t\tif (COP_RM && isCOPDataModified) {\n\t\t\t\tsetNavigationURL(path);\n\t\t\t\tsetOpenModal(true);\n\t\t\t} else {\n\t\t\t\tdispatch(removeSelectedCOAScehma());\n\t\t\t\thistory.push(path);\n\t\t\t}\n\t\t}\n\t};\n\n\treturn (\n\t\t\n\t\t\t{/* Commented due to issue in COP Save:: infinite loop >> visit later */}\n\t\t\t {\n\t\t\t\t\treturn `Are you sure you want to go to ${location.pathname}`;\n\t\t\t\t}}\n\t\t\t/>\n\t\t\t
\n\t\t\t\t

SECTIONS

\n\t\t\t\t\n\t\t\t\t\t{steps.map((step, index) => (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\tconst icons = {\n\t\t\t\t\t\t\t\t\t\t1: 'P',\n\t\t\t\t\t\t\t\t\t\t2: 'Y',\n\t\t\t\t\t\t\t\t\t\t3: 'C',\n\t\t\t\t\t\t\t\t\t\t4: 'R',\n\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{icons[props.icon]}\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tclasses={{\n\t\t\t\t\t\t\t\t\tlabelContainer: classes.stepperLebelCollapse,\n\t\t\t\t\t\t\t\t\tlabel: `${\n\t\t\t\t\t\t\t\t\t\tstep.enabled\n\t\t\t\t\t\t\t\t\t\t\t? classes.stepLebel\n\t\t\t\t\t\t\t\t\t\t\t: classes.stepLebelNoPointer\n\t\t\t\t\t\t\t\t\t}`,\n\t\t\t\t\t\t\t\t\tactive: classes.stepLebelActive,\n\t\t\t\t\t\t\t\t\ticonContainer: `${\n\t\t\t\t\t\t\t\t\t\tindex == currentActiveStep\n\t\t\t\t\t\t\t\t\t\t\t? `${classes.navIconContainer} ${classes.navIconActiveColor}`\n\t\t\t\t\t\t\t\t\t\t\t: classes.navIconContainer\n\t\t\t\t\t\t\t\t\t}`,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tonClick={event => {\n\t\t\t\t\t\t\t\t\tnavigation_click_handler(step);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{step.label}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t))}\n\t\t\t\t\n\t\t\t\n\t\t\t{openModal && (\n\t\t\t\t {\n\t\t\t\t\t\tsetOpenModal(false);\n\t\t\t\t\t}}\n\t\t\t\t\tbody={modalBody}\n\t\t\t\t>\n\t\t\t)}\n\t\t
\n\t);\n};\n\nexport default Navigation;\n","import {\n\tcreateTheme,\n\tmakeStyles,\n\tMuiThemeProvider,\n\tTheme,\n\twithStyles,\n} from '@material-ui/core/styles';\nimport TextField from '@material-ui/core/TextField';\nimport SearchIcon from '@material-ui/icons/Search';\nimport Autocomplete from '@material-ui/lab/Autocomplete';\nimport { StylesProvider } from '@material-ui/styles';\nimport * as _ from 'lodash';\nimport React, { memo } from 'react';\nimport { Producer } from '../../../../schemas';\n\nconst CssTextField = withStyles({\n\troot: {\n\t\tborderTopLeftRadius: '0px',\n\t\tborderTopRightRadius: '10px',\n\t\tborderBottomLeftRadius: '0px',\n\t\tborderBottomRightRadius: '10px',\n\t\tMuiOutlinedInput: {\n\t\t\troot: {\n\t\t\t\tborderRadius: '0 !important',\n\t\t\t},\n\t\t},\n\t\t'& .MuiOutlinedInput-root': {\n\t\t\t'& fieldset': {\n\t\t\t\tborderColor: 'rgba(0,76,115, 0.3)',\n\t\t\t},\n\t\t\t'&:hover fieldset': {\n\t\t\t\tborderColor: '#808078',\n\t\t\t},\n\t\t\t'&.Mui-focused fieldset': {\n\t\t\t\tborderColor: '#808078',\n\t\t\t},\n\t\t},\n\t\t'& .MuiInputBase-adornedStart': {\n\t\t\tminHeight: '40px',\n\t\t},\n\t\tinput: {\n\t\t\t'&::placeholder': {\n\t\t\t\tcolor: 'red !important',\n\t\t\t},\n\t\t},\n\t},\n})(TextField);\n\nconst useStyles = makeStyles((theme: any) => ({\n\tdropdownStyle: {\n\t\tselectedTextColor: 'white',\n\t\tmargin: theme.spacing(0),\n\t\tborder: '2px solid #D1CCBD',\n\t\tborderRadius: '10%',\n\t\tbackgroundColor: '#fff',\n\t\tboxShadow: ' 0 1px 2px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);',\n\t\tcolor: '#808078',\n\t\t'&:before': {\n\t\t\tborderTop: '2px solid black',\n\t\t\tdisplay: 'block',\n\t\t\tcontent: '',\n\t\t},\n\t},\n\tpopupIndicator: {\n\t\t'& span': {\n\t\t\t'& svg': {\n\t\t\t\t'& path': {\n\t\t\t\t\td: \"path('M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z')\",\n\t\t\t\t\tfill: '#782b79',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n}));\n\nconst theme: Theme = createTheme({\n\toverrides: {\n\t\tMuiInputBase: {\n\t\t\troot: {\n\t\t\t\twidth: '100%',\n\t\t\t\tlineHeight: '1.61876em',\n\t\t\t},\n\t\t\tinput: {\n\t\t\t\t'&::placeholder': {\n\t\t\t\t\tfontSize: '14px',\n\t\t\t\t},\n\t\t\t},\n\t\t\tadornedStart: {\n\t\t\t\tminHeight: '60px',\n\t\t\t},\n\t\t},\n\t\tMuiSelect: {\n\t\t\ticon: {\n\t\t\t\tcolor: '#38383B',\n\t\t\t\tright: '8px',\n\t\t\t},\n\t\t},\n\t\tMuiFormControl: {\n\t\t\tfullWidth: {\n\t\t\t\twidth: '100%',\n\t\t\t},\n\t\t\troot: {\n\t\t\t\tbackgroundColor: '#fff',\n\t\t\t\tborderRadius: '0px 10px 10px 0px',\n\t\t\t},\n\t\t},\n\t\tMuiOutlinedInput: {\n\t\t\troot: {\n\t\t\t\tpaddingLeft: '33px!important',\n\t\t\t},\n\t\t},\n\t\tMuiList: {\n\t\t\tpadding: {\n\t\t\t\tpaddingTop: '0px',\n\t\t\t\tpaddingBottom: '0px',\n\t\t\t},\n\t\t},\n\t\tMuiListItem: {\n\t\t\tgutters: {\n\t\t\t\tpaddingLeft: '26px',\n\t\t\t\tpaddingRight: '0px',\n\t\t\t},\n\n\t\t\troot: {\n\t\t\t\t'&:hover': {\n\t\t\t\t\tbackgroundColor: '#00B1AD ',\n\t\t\t\t},\n\t\t\t\t'&$selected': {\n\t\t\t\t\tbackgroundColor: '#00B1AD ',\n\t\t\t\t\tcolor: '#fff',\n\t\t\t\t},\n\t\t\t\tselected: {},\n\t\t\t},\n\t\t},\n\t},\n});\n\ninterface IProp {\n\tdata: Array;\n\tfilterField: string;\n\tinputText: string;\n\tonSelect(producer: Producer): void;\n\tonInputChange(val: string): void;\n}\ntype Props = IProp & any;\nfunction Autodropdown(props: Props) {\n\tconst classes = useStyles();\n\tconst getLabel = (option: any, field: string) => {\n\t\treturn field == 'farmId'\n\t\t\t? `${option['farmId']} - ${option['farmName']}`\n\t\t\t: option[field];\n\t};\n\tconst uniqData = (data: Array, field: string) => {\n\t\treturn ['farmId', 'farmName'].includes(field)\n\t\t\t? data\n\t\t\t: _.chain(data)\n\t\t\t\t\t.uniqBy(field)\n\t\t\t\t\t.sortBy(function (item: any) {\n\t\t\t\t\t\treturn item[field] ? item[field].toLowerCase() : '';\n\t\t\t\t\t})\n\t\t\t\t\t.value();\n\t};\n\tconst getRecordNotFoundLabel = (field: string) => {\n\t\tlet msg = '';\n\t\tswitch (field) {\n\t\t\tcase 'farmName':\n\t\t\t\tmsg = 'Producer not found';\n\t\t\t\tbreak;\n\t\t\tcase 'farmId':\n\t\t\t\tmsg = 'FarmId not found';\n\t\t\t\tbreak;\n\t\t\tcase 'milkshed':\n\t\t\t\tmsg = 'Milkshed not found';\n\t\t\t\tbreak;\n\t\t\tcase 'dairyBusinessAdvisor':\n\t\t\t\tmsg = 'DBA not found';\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\t\treturn msg;\n\t};\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t option[props?.filterField] || ''}\n\t\t\t\t\trenderOption={(option: any) => (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{getLabel(option, props?.filterField)}\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\tonChange={(event: object, value: any, reason: string) => {\n\t\t\t\t\t\tif (['farmId', 'farmName'].includes(props?.filterField)) {\n\t\t\t\t\t\t\tprops?.onSelect(value);\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\tinputValue={props?.inputText || ''}\n\t\t\t\t\tonInputChange={(event: object, value: any, reason: string) => {\n\t\t\t\t\t\tprops?.onInputChange(value);\n\t\t\t\t\t}}\n\t\t\t\t\trenderInput={(params: any) => (\n\t\t\t\t\t\t,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t/>\n\t\t\t\n\t\t\n\t);\n}\n\nexport default memo(Autodropdown);\n","import { Button as MButton, makeStyles } from '@material-ui/core';\nimport React from 'react';\n\n// const useStyles = makeStyles({\n// \troot: {\n// \t\ttextTransform: 'none',\n// \t\tbackground: '#E87722',\n// \t\tborderRadius: 25,\n// \t\tborder: '1px solid white',\n// \t\tboxShadow: '0 0 0 2px #E87722',\n// \t\tcolor: 'white',\n// \t\theight: 35,\n// \t\tpadding: '0 30px',\n// \t\t'&:hover': {\n// \t\t\tbackgroundColor: '#fff',\n// \t\t\tborderColor: '#E87722',\n// \t\t\tboxShadow: 'none',\n// \t\t\tcolor: '#E87722',\n// \t\t},\n// \t\t'&:active': {\n// \t\t\tboxShadow: 'none',\n// \t\t\tbackgroundColor: '#E87722',\n// \t\t\tborderColor: '#E87722',\n// \t\t},\n// \t},\n// });\ninterface IProp {\n\tonSelect(): void;\n\tlabel: string;\n\tcolor?: any;\n\tclassName?: any;\n\tstartIcon?: any;\n}\ntype Props = IProp;\nfunction Button(props: Props) {\n\t// const classes = useStyles();\n\treturn (\n\t\t
\n\t\t\t\n\t\t\t\t{props.label}\n\t\t\t\n\t\t
\n\t);\n}\nexport default Button;\n","import { makeStyles, Checkbox } from '@material-ui/core';\nimport React from 'react';\n\nconst useStyles = makeStyles({\n\troot: {\n\t\t'&$checked': {\n\t\t\tcolor: '#026e6b',\n\t\t},\n\t},\n\tchecked: {},\n});\ninterface IProp {\n\tchecked?: boolean;\n\tonChange?: any;\n\tdisabled?: boolean;\n}\ntype Props = IProp;\nfunction CheckBox(props: Props) {\n\tconst classes = useStyles();\n\treturn (\n\t\t\n\t);\n}\n\nexport default CheckBox;\n","var _path;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction SvgArrow(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n height: \"16px\",\n viewBox: \"0 0 512 512\",\n width: \"16px\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#530fdd\",\n d: \"m256 512c-68.378906 0-132.667969-26.628906-181.019531-74.980469-48.351563-48.351562-74.980469-112.640625-74.980469-181.019531s26.628906-132.667969 74.980469-181.019531c48.351562-48.351563 112.640625-74.980469 181.019531-74.980469s132.667969 26.628906 181.019531 74.980469c48.351563 48.351562 74.980469 112.640625 74.980469 181.019531s-26.628906 132.667969-74.980469 181.019531c-48.351562 48.351563-112.640625 74.980469-181.019531 74.980469zm0-472c-119.101562 0-216 96.898438-216 216s96.898438 216 216 216 216-96.898438 216-216-96.898438-216-216-216zm138.285156 182-28.285156-28.285156-110 110-110-110-28.285156 28.285156 138.285156 138.285156zm0 0\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgArrow);\nexport default __webpack_public_path__ + \"static/media/arrow.c23bb1c2.svg\";\nexport { ForwardRef as ReactComponent };","import { Select } from '@material-ui/core';\nimport InputBase from '@material-ui/core/InputBase';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport {\n\tcreateTheme,\n\tMuiThemeProvider,\n\tTheme,\n\twithStyles,\n} from '@material-ui/core/styles';\nimport KeyboardArrowDownIcon from '@material-ui/icons/KeyboardArrowDown';\nimport React, { PureComponent } from 'react';\nimport { RouteComponentProps } from 'react-router-dom';\nimport classes from '../../../../styles/components/dropdown.module.scss';\nimport { ReactComponent as roundedDropdown } from './../../../../assets/images/arrow.svg';\nimport { DROPDOWN_ARROW_TYPE, DROPDOWN_TYPE } from './../../../constants';\n\ndeclare var document: any;\n\nconst BootstrapInput = withStyles(theme => ({\n\tinput: {\n\t\tposition: 'relative',\n\t\tbackgroundColor: theme.palette.background.paper,\n\t\tborder: '1px solid #808078',\n\t\tfontSize: '15px',\n\t\tfontFamily: `Inter`,\n\t\tcolor: ' #38383B',\n\t\tpadding: '14px 26px 15px 12px',\n\t\tminHeight: '60px',\n\t\tboxSizing: 'border-box',\n\t\tboxShadow: ' 0 1px 2px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);',\n\t\ttransition: theme.transitions.create(['border-color', 'box-shadow']),\n\t\t'&:focus': {\n\t\t\tborderRadius: '4px!important',\n\t\t\tborder: '2px solid #004c73',\n\t\t\t// boxShadow: '0 0 0 0.2rem rgba(0,123,255,.25)',\n\t\t\tcolor: ' #38383B ',\n\t\t\tbackgroundColor: '#fff',\n\t\t},\n\t},\n}))(InputBase);\nconst BootstrapInput2 = withStyles(theme => ({\n\troot: {\n\t\twidth: '100%',\n\t\tlineHeight: '1.61876em',\n\t},\n\tinput: {\n\t\tposition: 'relative',\n\t\tbackgroundColor: theme.palette.background.paper,\n\t\tborder: '1px solid #989898',\n\t\tborderRadius: '4px!important',\n\t\tcolor: ' #38383B',\n\t\tmaxHeight: '30px',\n\t\tboxSizing: 'border-box',\n\t\tfontFamily: `Inter`,\n\t\tfontSize: '15px',\n\t\t'&:focus': {\n\t\t\tborderRadius: '4px!important',\n\t\t\tborder: '2px solid #004c73',\n\t\t\t// boxShadow: '0 0 4px 0 rgba(0, 0, 0, 0.25)',\n\t\t\ttransition: theme.transitions.create(['border-color', 'box-shadow']),\n\t\t\tcolor: ' #38383B ',\n\t\t\tbackgroundColor: '#fff',\n\t\t},\n\t\t'&:acive': {\n\t\t\tborder: '2px solid #004c73',\n\t\t},\n\t},\n}))(InputBase);\n\nconst SearchBootstrapInput = withStyles(theme => ({\n\troot: {\n\t\twidth: '100%',\n\t\tlineHeight: '1.61876em',\n\t},\n\tinput: {\n\t\tposition: 'relative',\n\t\tbackgroundColor: theme.palette.background.paper,\n\t\t// border: '1px solid rgba(0,76,115, 0.3)',\n\t\tcolor: ' #38383B',\n\t\tminHeight: '40px',\n\t\tpaddingTop: '7px!important',\n\t\tboxSizing: 'border-box',\n\t\tclipPath: 'polygon(0% 0%, 84% 0, 100% 50%, 84% 100%, 0% 100%)',\n\t\tfontFamily: `Inter`,\n\t\tfontSize: '15px',\n\t\t'&:focus': {\n\t\t\tborder: '2px solid #004c73',\n\t\t\t// boxShadow: '0 0 4px 0 rgba(0, 0, 0, 0.25)',\n\t\t\ttransition: theme.transitions.create(['border-color', 'box-shadow']),\n\t\t\tcolor: ' #38383B ',\n\t\t\tbackgroundColor: '#fff',\n\t\t},\n\t\t'&:acive': {\n\t\t\tborder: '2px solid #004c73',\n\t\t},\n\t},\n}))(InputBase);\nconst SortBootstrapInput = withStyles(theme => ({\n\troot: {\n\t\twidth: '100%',\n\t\tlineHeight: '1.61876em',\n\t},\n\tinput: {\n\t\tposition: 'relative',\n\t\tbackgroundColor: theme.palette.background.paper,\n\t\tborder: '1px solid rgba(0,76,115, 0.3)',\n\t\tcolor: ' #38383B',\n\t\tminHeight: '42px',\n\t\tborderRadius: '4px!important',\n\t\tpaddingTop: '7px!important',\n\t\tboxSizing: 'border-box',\n\t\tfontFamily: `Inter`,\n\t\tfontSize: '15px',\n\t\t'&:focus': {\n\t\t\tborder: '2px solid #004c73',\n\t\t\tborderRadius: '4px!important',\n\t\t\t// boxShadow: '0 0 4px 0 rgba(0, 0, 0, 0.25)',\n\t\t\ttransition: theme.transitions.create(['border-color', 'box-shadow']),\n\t\t\tcolor: ' #38383B ',\n\t\t\tbackgroundColor: '#fff',\n\t\t},\n\t\t'&:acive': {\n\t\t\tborder: '2px solid #004c73',\n\t\t},\n\t},\n}))(InputBase);\nconst BootstrapInputdisabled = withStyles(theme => ({\n\troot: {\n\t\twidth: '100%',\n\t\tlineHeight: '1.61876em',\n\t},\n\tinput: {\n\t\tposition: 'relative',\n\t\tbackgroundColor: '#dbdbdb',\n\t\tborder: '1px solid #808078',\n\t\tborderRadius: '4px!important',\n\t\tcolor: '#808078',\n\t\tmaxHeight: '30px',\n\t\tboxSizing: 'border-box',\n\t\tfontFamily: `URWDINCond-Black`,\n\t\topacity: '0.8',\n\t},\n}))(InputBase);\nconst theme: Theme = createTheme({\n\ttypography: {\n\t\t// fontFamily: `URWDINCond-Black`,\n\t\tfontSize: 16,\n\t\tfontWeightLight: 300,\n\t\tfontWeightRegular: 400,\n\t\tfontWeightMedium: 500,\n\t\tbody2: {\n\t\t\tfontSize: 14,\n\t\t},\n\t},\n\toverrides: {\n\t\tMuiInputBase: {\n\t\t\troot: {\n\t\t\t\twidth: '100%',\n\t\t\t\tlineHeight: '1.61876em',\n\t\t\t},\n\t\t\tinput: {\n\t\t\t\tpadding: 'unset!important',\n\t\t\t},\n\t\t},\n\t\tMuiSelect: {\n\t\t\ticon: {\n\t\t\t\ttop: '50%',\n\t\t\t\ttransform: 'translateY(-50%)',\n\t\t\t\ttransition: 'all 0.4s ease',\n\t\t\t},\n\t\t\ticonOpen: {\n\t\t\t\ttransform: 'translateY(-50%) rotate(180deg) !important',\n\t\t\t},\n\t\t\tselect: {\n\t\t\t\t'&.MuiSelect-select': {\n\t\t\t\t\tpaddingRight: '15px!important',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\n\t\tMuiPopover: {\n\t\t\tpaper: {\n\t\t\t\tmarginTop: '10px',\n\t\t\t\toverflow: 'visible !important',\n\t\t\t\tborderRadius: '20px',\n\t\t\t\t'&::after': {\n\t\t\t\t\tcontent: \"''\",\n\t\t\t\t\tposition: 'absolute',\n\t\t\t\t\ttop: '-12px',\n\t\t\t\t\tleft: '40%',\n\t\t\t\t\twidth: '0',\n\t\t\t\t\theight: '0',\n\t\t\t\t\tborderLeft: '12px solid transparent',\n\t\t\t\t\tborderRight: '12px solid transparent',\n\t\t\t\t\tborderBottom: '12px solid #ffffff\t',\n\t\t\t\t\ttransition: 'all 0.2s ease',\n\t\t\t\t},\n\t\t\t\t'&.first-selected': {\n\t\t\t\t\t'&::after': {\n\t\t\t\t\t\tborderBottom: '12px solid #004c73',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\n\t\tMuiList: {\n\t\t\tpadding: {\n\t\t\t\tpaddingTop: '0px',\n\t\t\t\tpaddingBottom: '0px',\n\t\t\t},\n\t\t\troot: {\n\t\t\t\toverflow: 'auto !important',\n\t\t\t\tmaxHeight: '200px !important',\n\t\t\t\tborderRadius: '8px !important',\n\t\t\t\tbackgroundColor: '#fff !important',\n\t\t\t\tboxShadow: '0px 3px 13px 0px rgb(0 0 0 / 17%)',\n\t\t\t},\n\t\t},\n\t\tMuiMenuItem: {\n\t\t\troot: {\n\t\t\t\tfontSize: '15px',\n\t\t\t\tfontFamily: 'Inter',\n\t\t\t},\n\t\t},\n\t\tMuiListItem: {\n\t\t\tgutters: {\n\t\t\t\tpaddingLeft: '22px',\n\t\t\t},\n\n\t\t\troot: {\n\t\t\t\t'&:last-child': {\n\t\t\t\t\tborderBottomLeftRadius: '8px',\n\t\t\t\t\tborderBottomRightRadius: '8px',\n\t\t\t\t},\n\t\t\t\t'&:first-child': {\n\t\t\t\t\tborderTopLeftRadius: '8px',\n\t\t\t\t\tborderTopRightRadius: '8px',\n\t\t\t\t},\n\t\t\t\tminHeight: '35px !important',\n\t\t\t\toverflow: 'visible !important',\n\t\t\t\t'&:hover': {\n\t\t\t\t\tbackgroundColor: 'rgba(152, 152, 152, 0.3) ',\n\t\t\t\t},\n\t\t\t\t'&$selected': {\n\t\t\t\t\tbackgroundColor: '#004c73 ',\n\t\t\t\t\tcolor: '#fff',\n\t\t\t\t\t'&:first-child': {\n\t\t\t\t\t\tposition: 'relative',\n\t\t\t\t\t\t'&::after': {\n\t\t\t\t\t\t\tcontent: \"''\",\n\t\t\t\t\t\t\tposition: 'absolute',\n\t\t\t\t\t\t\tborderBottom: '12px solid #004c73',\n\t\t\t\t\t\t\ttransition: 'all 0.2s ease',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t'&$selected:hover': {\n\t\t\t\t\tbackgroundColor: '#004c73 ',\n\t\t\t\t},\n\t\t\t\tselected: {},\n\t\t\t},\n\t\t},\n\t},\n});\n\nconst getRandomID = () => {\n\treturn '_' + Math.random().toString(36).substr(2, 9);\n};\n\ninterface IProp extends RouteComponentProps {\n\toptions: Array;\n\tselected: any;\n\tonSelected(val: string): string;\n\tarrow: any;\n\tdisabled?: boolean;\n\tisSearchDropDown?: boolean;\n\tisSortDropDown?: boolean;\n}\n\ninterface IState {\n\tlabel: '';\n\tvalue: '';\n\tselected: '';\n}\n\ntype Props = IProp & any;\nclass DropDown extends PureComponent {\n\tstate = {\n\t\toptions: [],\n\t\tselected: null,\n\t};\n\n\t// make tool tip active\n\tmakeTooltipActive = () => {\n\t\tconst activeOption = document\n\t\t\t?.querySelector('.MuiPopover-paper li:first-child')\n\t\t\t?.classList.contains('Mui-selected');\n\t\tif (activeOption) {\n\t\t\tdocument\n\t\t\t\t?.querySelector('.MuiPopover-paper')\n\t\t\t\t?.classList.add('first-selected');\n\t\t} else {\n\t\t\tdocument\n\t\t\t\t?.querySelector('.MuiPopover-paper')\n\t\t\t\t?.classList.remove('first-selected');\n\t\t}\n\t};\n\n\tcomponentDidMount() {\n\t\tconst options = this.props.options;\n\t\tif (options.length > 0) {\n\t\t\tthis.setState({ options: options, selected: options[0] });\n\t\t}\n\t}\n\n\tcomponentDidUpdate(prevProps: any, prevState: any, snapshot: any) {\n\t\tif (this.props?.selected && this.props.selected !== prevState.selected) {\n\t\t\tthis.setState({ selected: this.props.selected });\n\t\t\twindow.setTimeout(() => this.makeTooltipActive(), 200);\n\t\t}\n\t}\n\tchangeDropDown = (event: React.ChangeEvent) => {\n\t\tconst selVal = event.target['value'];\n\t\tthis.setState({ selected: selVal });\n\t\tif (this.props?.onSelected) {\n\t\t\tthis.props.onSelected(selVal);\n\t\t}\n\t};\n\n\trender() {\n\t\tconst { selected, options } = this.state;\n\t\tconst optionList = options.map((item: any, key: number) => {\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t{item}\n\t\t\t\t\n\t\t\t);\n\t\t});\n\t\treturn (\n\t\t\t<>\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\twindow.setTimeout(() => this.makeTooltipActive(), 0);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tinput={\n\t\t\t\t\t\t\t\tthis.props.type === DROPDOWN_TYPE.ROUNDED ? (\n\t\t\t\t\t\t\t\t\tthis.props.disabled ? (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t) : !this.props.isSearchDropDown ? (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t) : this.props.isSortDropDown ? (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t) : !this.props.isSearchDropDown ? (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t) : this.props.isSortDropDown ? (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{optionList}\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\n\t\t);\n\t}\n}\nexport default DropDown;\n","import {\n\tmakeStyles,\n\tModal,\n\tcreateStyles,\n\tBackdrop,\n\tFade,\n\tTheme,\n} from '@material-ui/core';\nimport React from 'react';\n\nconst useStyles = makeStyles((theme: Theme) =>\n\tcreateStyles({\n\t\tmodal: {\n\t\t\tdisplay: 'flex',\n\t\t\talignItems: 'center',\n\t\t\tjustifyContent: 'center',\n\t\t},\n\t\tpaper: {\n\t\t\tbackgroundColor: theme.palette.background.paper,\n\t\t\tpadding: theme.spacing(2, 4, 3),\n\t\t\tborderRadius: '10px',\n\t\t\t'@media screen and (max-width:769px)': {\n\t\t\t\tpadding: theme.spacing(2, 2, 3),\n\t\t\t},\n\t\t},\n\t})\n);\n\ninterface IProp {\n\tbody: any;\n\topen: boolean;\n\tonClose(): void;\n}\ntype Props = IProp;\nfunction CustomModal(props: Props) {\n\tconst classes = useStyles();\n\tconst body = (\n\t\t\n\t\t\t
{props.body}
\n\t\t
\n\t);\n\treturn (\n\t\t\n\t\t\t{body}\n\t\t\n\t);\n}\n\nexport default CustomModal;\n","import { createTheme } from '@material-ui/core/styles';\nimport React from 'react';\n\nimport {\n\tMuiThemeProvider,\n\tStep,\n\tStepContent,\n\tStepLabel,\n\tStepper,\n\tStylesProvider,\n\tTheme,\n} from '@material-ui/core';\nimport AutorenewIcon from '@material-ui/icons/Autorenew';\nimport HourglassFullIcon from '@material-ui/icons/HourglassFull';\nimport cx from 'classnames';\nimport { useSelector } from 'react-redux';\nimport { RouteComponentProps } from 'react-router-dom';\nimport { CustomToolTip as Tooltip } from '..';\nimport { GlobalState, IStep, ISubStep } from './../../../../schemas';\nimport './../../../../styles/components/step-wizard.scss';\n\nconst theme: Theme = createTheme({\n\ttypography: {\n\t\tfontFamily: `\"URWDINCond-Black\"`,\n\t\tfontSize: 16,\n\t\tfontWeightLight: 300,\n\t\tfontWeightRegular: 400,\n\t\tfontWeightMedium: 500,\n\t\tbody2: {\n\t\t\tfontSize: 14,\n\t\t},\n\t},\n\toverrides: {\n\t\tMuiStepper: {\n\t\t\troot: {\n\t\t\t\tpadding: '20px 20px 15px',\n\t\t\t\t'@media screen and (max-width:1050px)': {\n\t\t\t\t\tpadding: '20px 15px 5px',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tMuiStep: {\n\t\t\troot: {\n\t\t\t\tcursor: 'pointer',\n\t\t\t},\n\t\t\tcompleted: {\n\t\t\t\tposition: 'relative',\n\t\t\t\t'&:first-child::before': {\n\t\t\t\t\tcontent: \"'1'\",\n\t\t\t\t},\n\t\t\t\t'&:nth-child(3)::before': {\n\t\t\t\t\tcontent: \"'2'\",\n\t\t\t\t},\n\t\t\t\t'&:nth-child(5)::before': {\n\t\t\t\t\tcontent: \"'3'\",\n\t\t\t\t},\n\t\t\t\t'&:nth-child(7)::before': {\n\t\t\t\t\tcontent: \"'4'\",\n\t\t\t\t},\n\t\t\t\t'&:nth-child(9)::before': {\n\t\t\t\t\tcontent: \"'5'\",\n\t\t\t\t},\n\t\t\t\t'&:nth-child(11)::before': {\n\t\t\t\t\tcontent: \"'6'\",\n\t\t\t\t},\n\t\t\t\t'&::before': {\n\t\t\t\t\tposition: 'absolute',\n\t\t\t\t\tcolor: 'white',\n\t\t\t\t\twidth: '27px',\n\t\t\t\t\theight: '27px',\n\t\t\t\t\tbackground: '#00B1AD',\n\t\t\t\t\tborderRadius: '50%',\n\t\t\t\t\tpadding: '4px 9px',\n\t\t\t\t\tfontWeight: 'bold',\n\t\t\t\t\tfontSize: '18px',\n\t\t\t\t\tboxSizing: 'border-box',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\n\t\tMuiStepLabel: {\n\t\t\troot: {\n\t\t\t\ttextTransform: 'uppercase',\n\t\t\t},\n\t\t\tactive: {\n\t\t\t\tcolor: '#204f56 !important',\n\t\t\t\tfontSize: '16px',\n\t\t\t\tfontWeight: 'bold',\n\t\t\t\twhiteSpace: 'nowrap',\n\t\t\t},\n\t\t\tcompleted: {\n\t\t\t\tcolor: '#204f56 !important',\n\t\t\t\tfontSize: '16px',\n\t\t\t\tfontWeight: 'bold',\n\t\t\t\twhiteSpace: 'nowrap',\n\t\t\t},\n\t\t},\n\t\tMuiStepContent: {\n\t\t\troot: {\n\t\t\t\tmarginTop: '0',\n\t\t\t},\n\t\t},\n\n\t\tMuiStepConnector: {\n\t\t\tline: {\n\t\t\t\tborderColor: '#808078',\n\t\t\t},\n\t\t\tvertical: {\n\t\t\t\tpadding: '0',\n\t\t\t},\n\t\t\tlineVertical: {\n\t\t\t\tborderLeftWidth: '1.5px',\n\t\t\t},\n\t\t\tactive: {\n\t\t\t\tposition: 'relative',\n\t\t\t\t'&::after': {\n\t\t\t\t\tcontent: \"''\",\n\t\t\t\t\theight: '24px',\n\t\t\t\t\tposition: 'absolute',\n\t\t\t\t\ttop: '0',\n\t\t\t\t\tborderLeft: '1.5px solid #00B1AD',\n\t\t\t\t},\n\t\t\t},\n\t\t\tcompleted: {\n\t\t\t\tposition: 'relative',\n\n\t\t\t\t'&::after': {\n\t\t\t\t\tcontent: \"''\",\n\t\t\t\t\theight: '35px',\n\t\t\t\t\tposition: 'absolute',\n\t\t\t\t\ttop: '0',\n\t\t\t\t\tborderLeft: '1.5px solid #00B1AD',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tMuiStepIcon: {\n\t\t\troot: {\n\t\t\t\tfill: '#808078',\n\t\t\t},\n\t\t\tactive: {\n\t\t\t\tfill: '#530fdd',\n\t\t\t},\n\t\t\tcompleted: {\n\t\t\t\topacity: '0',\n\t\t\t},\n\t\t},\n\t},\n});\n\ninterface Iprop extends RouteComponentProps {\n\tactiveStep: number;\n\tactiveSubStep: number;\n\tsteps: Array;\n\tid: string;\n\tcompleteClicked(): void;\n\tsaveClicked(): void;\n\tstepClicked(clickedIndex: number): number;\n\tsubStepClicked(\n\t\tsteps: Array,\n\t\tstep: IStep,\n\t\tsubstep: ISubStep,\n\t\tindex: number\n\t): ISubStep;\n\tnextClicked(step: number, id: string): IStep;\n\tsaveAndClose(): void;\n\thandleClose(): void;\n\treset(): void;\n\tprint(): void;\n\tupdateMts(): void;\n\tdisabled?: boolean;\n\tprintMsg?: string;\n\tisComponentInitialized?: boolean;\n}\ntype Props = Iprop & any;\nfunction StepWizard(props: Props) {\n\tvar currentDate: any;\n\tvar today = new Date();\n\tcurrentDate =\n\t\ttoday.getMonth() + 1 + '/' + today.getDate() + '/' + today.getFullYear();\n\n\tconst { activeStep, id, steps, activeSubStep, disabled } = props;\n\n\tconst handleNext = () => {\n\t\tprops.nextClicked(activeStep, id);\n\t};\n\tconst handleSave = () => {\n\t\tprops.saveClicked();\n\t};\n\n\tconst handleClose = () => {\n\t\tprops.handleClose();\n\t};\n\n\tconst handleComplete = () => {\n\t\tprops.completeClicked();\n\t};\n\tconst handleStep = (clickedStep: number, id: string) => () => {\n\t\tprops.stepClicked(clickedStep, id);\n\t};\n\tconst updateDate = () => {\n\t\tif (!props?.disabled) {\n\t\t\tprops.updateMts();\n\t\t}\n\t};\n\tconst handleSaveAndClose = () => {\n\t\tprops.saveAndClose();\n\t};\n\n\tconst handleReset = () => {\n\t\tprops.reset();\n\t};\n\tconst printPdf = () => {\n\t\tprops.print();\n\t};\n\tconst subStepClicked = (\n\t\tsteps: Array,\n\t\tstep: IStep,\n\t\tsubstep: ISubStep,\n\t\tindex: number\n\t) => {\n\t\tprops.subStepClicked(steps, step, substep, index);\n\t};\n\n\t// get market price date\n\tconst MTM = useSelector((state: GlobalState) => {\n\t\tconst mtmDate =\n\t\t\tstate.marketprice.list?.length > 0\n\t\t\t\t? new Date(state.marketprice.list[0].tradingDateTime)\n\t\t\t\t: null;\n\n\t\tconst date = mtmDate\n\t\t\t? String(mtmDate.getMonth() + 1).padStart(2, '0') +\n\t\t\t '/' +\n\t\t\t String(mtmDate.getDate()).padStart(2, '0') +\n\t\t\t '/' +\n\t\t\t mtmDate.getFullYear()\n\t\t\t: null;\n\n\t\treturn {\n\t\t\tdate: date,\n\t\t\tisLoading: state.marketprice.loading,\n\t\t};\n\t});\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{steps.map((step: IStep, index: number) => (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{step.name}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{step.substeps.map((substep: ISubStep, index: number) => {\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\t\tsubStepClicked(steps, step, substep, index);\n\t\t\t\t\t\t\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\tkey={index}\n\t\t\t\t\t\t\t\t\t\t\t\tclassName={`${\n\t\t\t\t\t\t\t\t\t\t\t\t\tactiveSubStep === index\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'active'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: substep.completed\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'completed'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: ''\n\t\t\t\t\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{substep.name}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t))}\n\t\t\t\t\n\n\t\t\t\t
\n\t\t\t\t\t{activeStep !== steps.length && (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tNext Step\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\t{activeStep === steps.length && (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tSubmit\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\n\t\t\t\t\t\n\t\t\t\t\t\tSAVE AND CLOSE\n\t\t\t\t\t\n\t\t\t\t\t{/* \n\t\t\t\t\t\tClose\n\t\t\t\t\t */}\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tRESET\n\t\t\t\t\t\t\n\t\t\t\t\t\t{!props?.printMsg && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tPRINT\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t
\n\t\t\t\t\t{props?.printMsg && (\n\t\t\t\t\t\t
{props?.printMsg || ''}
\n\t\t\t\t\t)}\n\t\t\t\t
\n\t\t\t\t{props?.update && (\n\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t{!MTM?.isLoading && MTM?.date ? (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\tMTM DATE: {MTM.date}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\tRefreshing...\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t)}\n\t\t\t
\n\t\t
\n\t);\n}\nexport default StepWizard;\n","import { Popper } from '@material-ui/core';\nimport HighlightOffIcon from '@material-ui/icons/HighlightOff';\nimport cx from 'classnames';\nimport PropTypes from 'prop-types';\nimport React, { ChangeEvent, Component } from 'react';\nimport { connect } from 'react-redux';\nimport { RouteComponentProps } from 'react-router';\nimport styled from 'styled-components';\nimport { store } from '../../../../store';\nimport classes from '../../../../styles/components/text-input.module.scss';\nimport { DEFAULT_LOCALE, INPUT_TYPE, TEXT_SIZE } from '../../../constants';\nimport { compareValues } from '../../../utils';\nimport { entryFormError } from './../../../../store/actions';\n\nconst PopperWrapper = styled(Popper)`\n\t&& {\n\t\ttop: -3px !important;\n\t}\n`;\nconst StyledPopper = styled.div`\n\t&& {\n\t\tcolor: white;\n\t\tmin-height: 29px;\n\t\twidth: 150px;\n\t\tborder-radius: 3px;\n\t\tfont-size: 10px;\n\t\tposition: relative;\n\t\ttext-align: center;\n\t\tfont-weight: bold;\n\t\tbackground: #00b4ae;\n\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\tpadding: 7px 10px;\n\n\t\t::after {\n\t\t\tcontent: '';\n\t\t\tposition: absolute;\n\t\t\tleft: 45%;\n\t\t\ttransform: translateX(-50%);\n\t\t\ttop: 100%;\n\t\t\tborder-left: 8px solid transparent;\n\t\t\tborder-right: 8px solid transparent;\n\t\t}\n\t}\n`;\nconst ErrorPopper = styled(StyledPopper)`\n\tbackground: #ec4757;\n\t&::after {\n\t\tborder-top: 8px solid #ec4757;\n\t}\n`;\nconst EmptyPopper = styled(StyledPopper)`\n\tbackground: #00b4ae;\n\t&::after {\n\t\tborder-top: 8px solid #00b4ae;\n\t}\n`;\n\nconst getRandomID = () => {\n\t// this should not be done as it causes react to redraw these components\n\t// unique id should be given when inside a for loop or map function\n\treturn '_' + Math.random().toString(36).substr(2, 9);\n};\n\nconst INPUT_STATE = {\n\tFOCUSED: 'FOCUSED',\n\tERROR: 'ERROR',\n\tVALID: 'VALID',\n\tNONE: '',\n};\n\ninterface IProp extends RouteComponentProps {\n\tvalue: string | number;\n\tlocale: string;\n\ttype: string;\n\tprefix: string;\n\tthousandSeparator: boolean;\n\tdisabled: boolean;\n\tautomationId?: string;\n}\ntype Props = IProp & any;\nclass TextInput extends Component {\n\tinputElem: any;\n\tlocale: string;\n\tinputType: string;\n\tthousandSeparator: boolean;\n\tprevValue: string;\n\tuID: string;\n\tsize: any;\n\tconstructor(props: Props) {\n\t\tsuper(props);\n\t\tconst { value, locale, type, thousandSeparator, disabled } = props;\n\t\tthis.state = {\n\t\t\tvalue: value,\n\t\t\terrorMsg: '',\n\t\t\tisError: false,\n\t\t\tcurState: INPUT_STATE.NONE,\n\t\t\tdisabled: disabled,\n\t\t\tclosepop: true,\n\t\t};\n\t\tthis.inputElem = props.inputElemref;\n\t\tthis.locale = locale;\n\t\tthis.inputType = type;\n\t\tthis.thousandSeparator = thousandSeparator;\n\t\tthis.prevValue = value;\n\t\tthis.uID = getRandomID();\n\t\tthis.size = type;\n\t}\n\n\tstatic defaultProps = {\n\t\tid: '',\n\t\tvalue: '',\n\t\tplaceholder: '',\n\t\tautomationId: '',\n\t\tlocale: DEFAULT_LOCALE,\n\t\ttype: INPUT_TYPE.TEXT,\n\t\tthousandSeparator: true,\n\t\tprefix: '',\n\t\tpostfix: '',\n\t\tvalidation: null,\n\t\tdisabled: false,\n\t\tsize: TEXT_SIZE.SMALL,\n\t\tblnRoundingDefaultFalse: false,\n\t};\n\n\tstatic propTypes = {\n\t\tid: PropTypes.any.isRequired,\n\t\tvalue: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n\t\tplaceholder: PropTypes.string,\n\t\tautomationId: PropTypes.string,\n\t\tlocale: PropTypes.string,\n\t\ttype: PropTypes.string,\n\t\tthousandSeparator: PropTypes.bool,\n\t\tprefix: PropTypes.string,\n\t\tpostfix: PropTypes.string,\n\t\tvalidation: PropTypes.object,\n\t\tonChange: PropTypes.func,\n\t\tonBlur: PropTypes.func,\n\t\tonKeyUp: PropTypes.func,\n\t\tonTabKeyDown: PropTypes.func,\n\t\tonFocus: PropTypes.func,\n\t\tonClear: PropTypes.func,\n\t\tt: PropTypes.func,\n\t\tpassInputReference: PropTypes.func,\n\t\tdisabled: PropTypes.bool,\n\t};\n\n\tcomponentDidMount() {\n\t\tthis.changeValue(undefined, true);\n\t}\n\n\tcomponentDidUpdate(prevProps: Props) {\n\t\tif (\n\t\t\tprevProps.value !== this.props.value &&\n\t\t\tthis.props.value !== this.state.value\n\t\t) {\n\t\t\tthis.setState({ value: this.props.value }, () => {\n\t\t\t\tthis.changeValue(undefined, this.state.closepop);\n\t\t\t});\n\t\t}\n\t}\n\n\tchangeValue(event?: ChangeEvent, isFormUpdated?: boolean) {\n\t\tconst el = this.inputElem;\n\t\tconst value =\n\t\t\tthis.props.disabled || this.inputType === INPUT_TYPE.TEXT_AREA\n\t\t\t\t? el.value\n\t\t\t\t: this.removeComma(el.value);\n\n\t\t// emit value to parent\n\t\t// auto resize input\n\t\tel.style.width = (value.length + 1) * 7.7 + 'px';\n\t\tif (this.props.disabled) {\n\t\t\tlet datavalue = new Intl.NumberFormat('en-US')\n\t\t\t\t.format(parseInt((value + '').replaceAll(',', '')))\n\t\t\t\t.toString();\n\t\t\tif (\n\t\t\t\t[\n\t\t\t\t\tINPUT_TYPE.DECIMAL_5_PLACES,\n\t\t\t\t\tINPUT_TYPE.DECIMAL_4_PLACES,\n\t\t\t\t\tINPUT_TYPE.DECIMAL_3_PLACES,\n\t\t\t\t\tINPUT_TYPE.DECIMAL_2_PLACES,\n\t\t\t\t\tINPUT_TYPE.DECIMAL_1_PLACE,\n\t\t\t\t].includes(this.inputType)\n\t\t\t) {\n\t\t\t\tlet decimalplace = 2;\n\t\t\t\tswitch (this.inputType) {\n\t\t\t\t\tcase INPUT_TYPE.DECIMAL_5_PLACES:\n\t\t\t\t\t\tdecimalplace = 5;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase INPUT_TYPE.DECIMAL_4_PLACES:\n\t\t\t\t\t\tdecimalplace = 4;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase INPUT_TYPE.DECIMAL_3_PLACES:\n\t\t\t\t\t\tdecimalplace = 3;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase INPUT_TYPE.DECIMAL_2_PLACES:\n\t\t\t\t\t\tdecimalplace = 2;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase INPUT_TYPE.DECIMAL_1_PLACE:\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tdecimalplace = 1;\n\t\t\t\t}\n\t\t\t\tdatavalue = new Intl.NumberFormat('en-US', {\n\t\t\t\t\tminimumFractionDigits: decimalplace,\n\t\t\t\t\tmaximumFractionDigits: decimalplace,\n\t\t\t\t})\n\t\t\t\t\t.format(value)\n\t\t\t\t\t.toString();\n\t\t\t\tthis.setState({ value: datavalue }, () => {});\n\t\t\t} else {\n\t\t\t\tthis.setState({ value: datavalue }, () => {});\n\t\t\t}\n\t\t} else {\n\t\t\tthis.setState({ value }, () => {\n\t\t\t\t// check for validation\n\t\t\t\tthis.checkValid(!isFormUpdated);\n\t\t\t});\n\t\t}\n\t}\n\n\thandleEnter(event: any) {\n\t\tif (event.key === 'Enter') {\n\t\t\tevent.preventDefault();\n\t\t\tconst currentNode = event.target;\n\n\t\t\t//find all tab-able elements\n\t\t\tconst allElements: any = document.querySelectorAll(\n\t\t\t\t'input[type=text]:enabled, textarea'\n\t\t\t);\n\n\t\t\t//Find the current tab index.\n\t\t\tconst currentIndex = [...allElements].findIndex(el =>\n\t\t\t\tcurrentNode.isEqualNode(el)\n\t\t\t);\n\n\t\t\t//focus the following element\n\t\t\tconst targetIndex = (currentIndex + 1) % allElements.length;\n\t\t\t// const targetIndex = (currentIndex) % allElements.length;\n\t\t\tallElements[targetIndex].focus();\n\t\t} else {\n\t\t\tif (event.key === 'Tab' && this.props.onTabKeyDown) {\n\t\t\t\tthis.props.onTabKeyDown(event);\n\t\t\t}\n\t\t}\n\t}\n\n\thandleBlur() {\n\t\tconst el = this.inputElem;\n\t\tconst values =\n\t\t\tthis.inputType === INPUT_TYPE.TEXT_AREA\n\t\t\t\t? el?.value\n\t\t\t\t: this.removeComma(\n\t\t\t\t\t\tel?.value,\n\t\t\t\t\t\tthis.props.prefix &&\n\t\t\t\t\t\t\tthis.props.prefix === '$' &&\n\t\t\t\t\t\t\t!this.props.blnRoundingDefaultFalse\n\t\t\t\t );\n\n\t\tthis.setState(\n\t\t\t{\n\t\t\t\tvalue: values || this.inputType === INPUT_TYPE.TEXT_AREA ? values : '0',\n\t\t\t},\n\t\t\t() => {\n\t\t\t\t// check for validation\n\t\t\t\tthis.checkValid();\n\t\t\t}\n\t\t);\n\n\t\tconst { value } = this.state;\n\t\tif (value && value !== 0) {\n\t\t\tif (this.props?.onBlur) {\n\t\t\t\t// update the pop up previous value\n\t\t\t\tthis.prevValue = this.props.value;\n\t\t\t\t// this.props.onBlur(value);\n\t\t\t}\n\t\t\tthis.setState({ curState: INPUT_STATE.NONE, isError: true });\n\t\t} else {\n\t\t\tthis.setState({ curState: INPUT_STATE.NONE, isError: false });\n\t\t}\n\t}\n\n\tclearValue() {\n\t\tthis.inputElem.value = this.inputType === INPUT_TYPE.TEXT_AREA ? '' : '0';\n\t\tthis.inputElem.focus();\n\t\tthis.changeValue();\n\t\tthis.props?.onInputError(null);\n\t\tif (this.props?.onClear) {\n\t\t\tthis.props.onClear(this.inputElem.value);\n\t\t}\n\t}\n\n\thandleKeyPress() {\n\t\tif (this.props?.onKeyPress) {\n\t\t\tthis.props.onKeyPress();\n\t\t}\n\t}\n\n\thandleKeyUp() {\n\t\tif (this.props?.onKeyUp) {\n\t\t\tthis.props.onKeyUp(this.inputElem.value);\n\t\t}\n\t}\n\n\thandleFocus() {\n\t\tconst el = this.inputElem;\n\t\tconst value =\n\t\t\tthis.inputType === INPUT_TYPE.TEXT_AREA\n\t\t\t\t? el.value\n\t\t\t\t: this.removeComma(el.value);\n\t\tif (!this.state.isError) {\n\t\t\tthis.setState(\n\t\t\t\t{\n\t\t\t\t\tcurState: INPUT_STATE.FOCUSED,\n\t\t\t\t\tisError: false,\n\t\t\t\t\tvalue:\n\t\t\t\t\t\tvalue.indexOf('(') === 0\n\t\t\t\t\t\t\t? value.replace('(', '-').replace(')', '')\n\t\t\t\t\t\t\t: value,\n\t\t\t\t},\n\t\t\t\t() => {\n\t\t\t\t\tthis.inputElem.setSelectionRange(0, this.inputElem.value.length);\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t\tif (this.props?.onFocus) {\n\t\t\tthis.props.onFocus();\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tif (!this.state.isError) {\n\t\t\tthis.props?.onInputError(null);\n\t\t}\n\t}\n\n\tcheckValid(isChangeEvent?: boolean) {\n\t\t// validation test\n\t\tconst { validation } = this.props;\n\t\tconst { value } = this.state;\n\t\tconst entryForm: any = store.getState()?.coa;\n\t\tconst entryFormError: any = entryForm?.formError;\n\n\t\tconst setval = () => {\n\t\t\tthis.setState({\n\t\t\t\tcurState: INPUT_STATE.VALID,\n\t\t\t\tisError: false,\n\t\t\t\terrorMsg: '',\n\t\t\t});\n\t\t\tconst errorInput = null;\n\t\t\tif (!compareValues(entryFormError, errorInput)) {\n\t\t\t\tthis.props?.onInputError(errorInput);\n\t\t\t}\n\t\t\t// showing comma separated value for Number Field\n\t\t\tlet changestateflag = false,\n\t\t\t\tstatevalue = '';\n\t\t\tconst getval = (value: any, maxfragment: any) => {\n\t\t\t\treturn Number(value).toLocaleString(this.locale, {\n\t\t\t\t\tuseGrouping: true,\n\t\t\t\t\tmaximumFractionDigits: maxfragment,\n\t\t\t\t});\n\t\t\t};\n\t\t\tif (!isChangeEvent) {\n\t\t\t\tif (!isNaN(value) && this.thousandSeparator) {\n\t\t\t\t\tswitch (this.inputType) {\n\t\t\t\t\t\tcase INPUT_TYPE.NUMBER:\n\t\t\t\t\t\t\tstatevalue = getval(value, 0);\n\t\t\t\t\t\t\tchangestateflag = true;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase INPUT_TYPE.DECIMAL:\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t'Class 3 Basis (historic)',\n\t\t\t\t\t\t\t\t\t'Assumed Class 3 Basis (for Forecast)',\n\t\t\t\t\t\t\t\t\t'Class 4 Basis (historic)',\n\t\t\t\t\t\t\t\t\t'Assumed Class 4 Basis (for Forecast)',\n\t\t\t\t\t\t\t\t].includes(this.props.automationId)\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tstatevalue = Number(value).toLocaleString(this.locale, {\n\t\t\t\t\t\t\t\t\tuseGrouping: true,\n\t\t\t\t\t\t\t\t\tmaximumFractionDigits: 2,\n\t\t\t\t\t\t\t\t\tminimumFractionDigits: 2,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tstatevalue = getval(value, 2);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tchangestateflag = true;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase INPUT_TYPE.DECIMAL_4_PLACES:\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t['YIELD_ADJ', 'MKT_PRICE', 'DT_Non_Fat_Solids'].includes(\n\t\t\t\t\t\t\t\t\tthis.props.automationId\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tstatevalue = Number(value).toLocaleString(this.locale, {\n\t\t\t\t\t\t\t\t\tuseGrouping: true,\n\t\t\t\t\t\t\t\t\tmaximumFractionDigits: 4,\n\t\t\t\t\t\t\t\t\tminimumFractionDigits: 4,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tstatevalue = getval(value, 4);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tchangestateflag = true;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase INPUT_TYPE.DECIMAL_3_PLACES:\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t['Margin_Floor', 'Margin_Floor_Pre'].includes(\n\t\t\t\t\t\t\t\t\tthis.props.automationId\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tstatevalue = Number(value).toLocaleString(this.locale, {\n\t\t\t\t\t\t\t\t\tuseGrouping: true,\n\t\t\t\t\t\t\t\t\tmaximumFractionDigits: 3,\n\t\t\t\t\t\t\t\t\tminimumFractionDigits: 3,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tstatevalue = getval(value, 3);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tchangestateflag = true;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase INPUT_TYPE.DECIMAL_2_PLACES:\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t'Equipmento',\n\t\t\t\t\t\t\t\t\t'Facility/Buildingso',\n\t\t\t\t\t\t\t\t\t'CLASS_3_FLOOR_PRICE',\n\t\t\t\t\t\t\t\t\t'CLASS_4_FLOOR_PRICE',\n\t\t\t\t\t\t\t\t\t'DT_Other_Solids',\n\t\t\t\t\t\t\t\t].includes(this.props.automationId)\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tstatevalue = Number(value).toLocaleString(this.locale, {\n\t\t\t\t\t\t\t\t\tuseGrouping: true,\n\t\t\t\t\t\t\t\t\tmaximumFractionDigits: 2,\n\t\t\t\t\t\t\t\t\tminimumFractionDigits: 2,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tstatevalue = getval(value, 2);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tchangestateflag = true;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase INPUT_TYPE.DECIMAL_1_PLACE:\n\t\t\t\t\t\t\tstatevalue = getval(value, 1);\n\t\t\t\t\t\t\tchangestateflag = true;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase INPUT_TYPE.PERCENT:\n\t\t\t\t\t\t\tstatevalue = getval(value, 2);\n\t\t\t\t\t\t\tchangestateflag = true;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tstatevalue = '0';\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (this.inputType === INPUT_TYPE.PERCENT && !isNaN(value)) {\n\t\t\t\t\t\tstatevalue = getval(value, 2);\n\t\t\t\t\t\tchangestateflag = true;\n\t\t\t\t\t} else if (this.inputType !== INPUT_TYPE.TEXT_AREA && isNaN(value)) {\n\t\t\t\t\t\tstatevalue = '0';\n\t\t\t\t\t\tchangestateflag = true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (this.props?.onBlur) {\n\t\t\t\t\t\t\t// emit value to parent\n\t\t\t\t\t\t\tthis.props.onBlur(value);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (changestateflag) {\n\t\t\t\t\tthis.setState(\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue:\n\t\t\t\t\t\t\t\tstatevalue.indexOf('-') === 0\n\t\t\t\t\t\t\t\t\t? statevalue.replace('-', '(') + ')'\n\t\t\t\t\t\t\t\t\t: statevalue,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\tif (this.props?.onBlur) {\n\t\t\t\t\t\t\t\t// emit value to parent\n\t\t\t\t\t\t\t\tthis.props.onBlur(value);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\tconst regexValidation = () => {\n\t\t\tconst regex = new RegExp(validation.REGEX);\n\t\t\tif (\n\t\t\t\t!regex.test(\n\t\t\t\t\tvalue.indexOf('.') === value.length - 1 ? value + '0' : value\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tthis.setState({\n\t\t\t\t\tcurState: INPUT_STATE.ERROR,\n\t\t\t\t\tisError: true,\n\t\t\t\t\terrorMsg: validation.MSG,\n\t\t\t\t});\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.inputElem?.focus();\n\t\t\t\t}, 0);\n\t\t\t\tconst errorInput = { elemID: this.inputElem?.id, status: true };\n\t\t\t\tif (!compareValues(entryFormError, errorInput)) {\n\t\t\t\t\tthis.props?.onInputError(errorInput);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tsetval();\n\t\t\t}\n\t\t};\n\n\t\tif (validation && value.length > 0) {\n\t\t\tif (validation.ISNEGATIVE && validation.NEGATIVEMSG) {\n\t\t\t\tif ((value && value.toString().includes('-')) || value < 0) {\n\t\t\t\t\tif (!this.state.isError) {\n\t\t\t\t\t\tthis.setState({\n\t\t\t\t\t\t\tcurState: INPUT_STATE.ERROR,\n\t\t\t\t\t\t\tisError: true,\n\t\t\t\t\t\t\terrorMsg: validation.NEGATIVEMSG,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tthis.inputElem?.focus();\n\t\t\t\t\t}, 0);\n\t\t\t\t\tconst errorInput = { elemID: this.inputElem?.id, status: true };\n\t\t\t\t\tif (!compareValues(entryFormError, errorInput)) {\n\t\t\t\t\t\tthis.props?.onInputError(errorInput);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tregexValidation();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tregexValidation();\n\t\t\t}\n\t\t} else if (isChangeEvent) {\n\t\t\tthis.setState({\n\t\t\t\tcurState: INPUT_STATE.FOCUSED,\n\t\t\t\tisError: false,\n\t\t\t});\n\t\t} else {\n\t\t\tthis.setState({\n\t\t\t\tcurState: INPUT_STATE.NONE,\n\t\t\t\tisError: false,\n\t\t\t\tclosepop: true,\n\t\t\t});\n\t\t}\n\t}\n\n\tremoveComma(val: string, isRoundOff?: boolean) {\n\t\tif (\n\t\t\t(this.inputType === INPUT_TYPE.NUMBER ||\n\t\t\t\tthis.inputType === INPUT_TYPE.DECIMAL ||\n\t\t\t\t// this.inputType === INPUT_TYPE.DECIMAL_4_PLACES || Commented to avoid round off 4 decimal input fields\n\t\t\t\tthis.inputType === INPUT_TYPE.DECIMAL_1_PLACE ||\n\t\t\t\tthis.inputType === INPUT_TYPE.PERCENT) &&\n\t\t\tthis.thousandSeparator\n\t\t) {\n\t\t\treturn isRoundOff && !isNaN(+val?.split(',').join(''))\n\t\t\t\t? String(Math.round(+val?.split(',').join('')))\n\t\t\t\t: val?.split(',').join('');\n\t\t}\n\t\treturn isRoundOff && !isNaN(+val) ? String(+val) : val;\n\t}\n\tgetStateClass(state: string) {\n\t\tlet className = '';\n\t\tif (state === INPUT_STATE.FOCUSED) {\n\t\t\tclassName += classes.focused;\n\t\t} else if (state === INPUT_STATE.ERROR) {\n\t\t\tclassName += classes.error;\n\t\t} else if (state === INPUT_STATE.VALID) {\n\t\t\tclassName += classes.valid;\n\t\t}\n\t\treturn className;\n\t}\n\n\tpopup() {\n\t\tconst { errorMsg, isError, curState, closepop } = this.state;\n\t\tconst anchorEl = document.getElementById(this.uID);\n\t\tconst isPrevVal =\n\t\t\tcurState === INPUT_STATE.FOCUSED &&\n\t\t\tthis.prevValue &&\n\t\t\tthis.prevValue !== '0'\n\t\t\t\t? true\n\t\t\t\t: false;\n\t\tconst isOpenPopup = isError || isPrevVal;\n\n\t\treturn (\n\t\t\t\n\t\t\t\t{isError ? Error : {errorMsg} : ''}\n\t\t\t\t{isPrevVal ? (\n\t\t\t\t\tPrevious Value: {this.prevValue}\n\t\t\t\t) : (\n\t\t\t\t\t''\n\t\t\t\t)}\n\t\t\t\n\t\t);\n\t}\n\trender() {\n\t\tconst {\n\t\t\tid,\n\t\t\tplaceholder,\n\t\t\tprefix,\n\t\t\tpostfix,\n\t\t\tdisabled,\n\t\t\tautomationId,\n\t\t} = this.props;\n\t\tconst { value, curState } = this.state;\n\t\tconst activeClass = this.getStateClass(curState);\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t\n\t\t\t\t\t{this.props.disabled ? '' : this.popup()}\n\t\t\t\t\t{this.inputType === INPUT_TYPE.TEXT_AREA ? (\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\tthis.inputElem = input;\n\t\t\t\t\t\t\t\tif (this.props.passInputReference) {\n\t\t\t\t\t\t\t\t\tthis.props.passInputReference(input);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tclassName={cx('form-control', classes.textbox)}\n\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\tonKeyDown={this.handleEnter.bind(this)}\n\t\t\t\t\t\t\tonKeyUp={this.handleKeyUp.bind(this)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : this.props.size === TEXT_SIZE.SMALL ? (\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\tthis.inputElem = input;\n\t\t\t\t\t\t\t\t// this.props?.passInputReference(input);\n\t\t\t\t\t\t\t\tif (this.props.passInputReference) {\n\t\t\t\t\t\t\t\t\tthis.props.passInputReference(input);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tclassName={cx('form-control')}\n\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\tonKeyDown={this.handleEnter.bind(this)}\n\t\t\t\t\t\t\tonKeyUp={this.handleKeyUp.bind(this)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\tthis.inputElem = input;\n\t\t\t\t\t\t\t\tif (this.props.passInputReference) {\n\t\t\t\t\t\t\t\t\tthis.props.passInputReference(input);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tclassName=\"form-control\"\n\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\tonKeyDown={this.handleEnter.bind(this)}\n\t\t\t\t\t\t\tonKeyUp={this.handleKeyUp.bind(this)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t{prefix}\n\t\t\t\t\t{value && !disabled ? (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t) : (\n\t\t\t\t\t\t''\n\t\t\t\t\t)}\n\t\t\t\t\t{postfix ? (\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t{postfix}\n\t\t\t\t\t\t
\n\t\t\t\t\t) : (\n\t\t\t\t\t\t''\n\t\t\t\t\t)}\n\t\t\t\t\n\t\t\t\n\t\t);\n\t}\n}\n\nTextInput.defaultProps = {\n\tid: '',\n\tvalue: '',\n\tplaceholder: '',\n\tautomationId: '',\n\tlocale: DEFAULT_LOCALE,\n\ttype: INPUT_TYPE.TEXT,\n\tthousandSeparator: true,\n\tprefix: '',\n\tpostfix: '',\n\tvalidation: null,\n\tdisabled: false,\n\tsize: TEXT_SIZE.DEFAULT,\n\tblnRoundingDefaultFalse: false,\n};\nTextInput.propTypes = {\n\tid: PropTypes.any.isRequired,\n\tvalue: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n\tplaceholder: PropTypes.string,\n\tautomationId: PropTypes.string,\n\tlocale: PropTypes.string,\n\ttype: PropTypes.string,\n\tthousandSeparator: PropTypes.bool,\n\tprefix: PropTypes.string,\n\tpostfix: PropTypes.string,\n\tvalidation: PropTypes.object,\n\tonChange: PropTypes.func,\n\tonBlur: PropTypes.func,\n\tonKeyUp: PropTypes.func,\n\tonTabKeyDown: PropTypes.func,\n\tonFocus: PropTypes.func,\n\tonClear: PropTypes.func,\n\tpassInputReference: PropTypes.func,\n\tt: PropTypes.func,\n\tdisabled: PropTypes.bool,\n};\nconst mapDispatchToProps = (dispatch: any) => {\n\treturn {\n\t\tonInputError: (info: any) => dispatch(entryFormError(info)),\n\t};\n};\nexport default connect(null, mapDispatchToProps)(TextInput);\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport cx from 'classnames';\nimport classes from '../../../../styles/components/number-stepper.module.scss';\nimport TextInput from '../text-input/text-input';\nimport { RouteComponentProps } from 'react-router';\nimport { Grid } from '@material-ui/core';\n\ninterface IProp extends RouteComponentProps {\n\tvalue: string;\n\tautomationId?: string;\n\taddNoBorderCss?: boolean;\n}\ntype Props = IProp & any;\nclass TextStepper extends Component {\n\tconstructor(props: IProp) {\n\t\tsuper(props);\n\t\tconst { value } = props;\n\t\tthis.state = {\n\t\t\tvalue: value,\n\t\t};\n\t}\n\n\tstatic defaultProps = {\n\t\tvalue: '',\n\t\tlabel: '',\n\t};\n\n\tstatic propTypes = {\n\t\tvalue: PropTypes.string,\n\t\tlabel: PropTypes.string,\n\t\tonChange: PropTypes.func,\n\t};\n\n\tcomponentDidUpdate(prevProps: Props) {\n\t\tif (prevProps.value !== this.props.value) {\n\t\t\tthis.setState({ value: this.props.value });\n\t\t}\n\t}\n\n\tupdateStepper(operation: string) {\n\t\tlet { value } = this.state;\n\t\tlet val = Number(value);\n\t\tif (operation === 'SUB' && val > 0) {\n\t\t\tval--;\n\t\t} else if (operation === 'ADD' && val > -1) {\n\t\t\tval++;\n\t\t}\n\t\tvalue = String(val);\n\t\tthis.setState({ value });\n\t\tthis.props.onValueUpdated(value);\n\t}\n\trender() {\n\t\tconst { value } = this.state;\n\t\tconst { label } = this.props;\n\t\treturn (\n\t\t\t<>\n\t\t\t\t\n\t\t\t\t\t{/* \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t

-

\n\t\t\t\t\t\t\n\t\t\t\t\t
*/}\n\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\tthis.setState({ value: val });\n\t\t\t\t\t\t\t\t\tthis.props.onValueUpdated(val);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t{/* \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t+\n\t\t\t\t\t\t\n\t\t\t\t\t */}\n\t\t\t\t\n\t\t\t\n\t\t);\n\t}\n}\nTextStepper.defaultProps = {\n\tvalue: '',\n\tlabel: '',\n};\nTextStepper.propTypes = {\n\tvalue: PropTypes.string,\n\tlabel: PropTypes.string,\n\tonChange: PropTypes.func,\n};\n\nexport default TextStepper;\n","import React from 'react';\nimport classes from '../../../../../styles/layout/login.module.scss';\ninterface IProp {\n\tcloseModal(yes: boolean): void;\n\tmessage: string;\n\ttext: string;\n}\ntype Props = IProp & any;\n\nfunction ConfirmModal(props: Props) {\n\treturn (\n\t\t
\n\t\t\t
{props.message}
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t {\n\t\t\t\t\t\t\tevt.stopPropagation();\n\t\t\t\t\t\t\tprops.closeModal(true);\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\tCONTINUE\n\t\t\t\t\t\n\t\t\t\t\t {\n\t\t\t\t\t\t\tevt.stopPropagation();\n\t\t\t\t\t\t\tprops.closeModal(false);\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{props.label}\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t);\n}\nexport default ConfirmModal;\n","import React from 'react';\nimport { CustomToolTip as Tooltip } from '..';\nimport { RM_OPTIONS } from '../../../constants';\nimport { formatNegativeValues, upto2DecimalPlaces } from '../../../utils';\nimport { MarketPrice } from './../../../../schemas';\nimport './../../../../styles/components/popup.scss';\ninterface IProp {\n\tdata: MarketPrice | any;\n\toptionSelected(item: MarketPrice, optionType: string): void;\n\tshowFullValues?: boolean;\n}\ntype Props = IProp;\nfunction Popup(props: Props) {\n\tconst { data, showFullValues } = props;\n\treturn (\n\t\t
\n\t\t\t
\n\t\t\t\t{data?.month} {data?.year}\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
TODAY'S ACTIVITY
\n\t\t\t\t\t
\n\t\t\t\t\t\t

SETTLED

\n\t\t\t\t\t\t

{data?.settlementPriceAmount || '-'}

\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tCHANGE\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t

\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\t{(showFullValues\n\t\t\t\t\t\t\t\t? formatNegativeValues(data?.differenceSettlementPrice)\n\t\t\t\t\t\t\t\t: upto2DecimalPlaces(data?.differenceSettlementPrice, true)) ||\n\t\t\t\t\t\t\t\t'-'}\n\t\t\t\t\t\t

\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t

HIGH

\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\t{(showFullValues\n\t\t\t\t\t\t\t\t? formatNegativeValues(data?.highPriceAmount)\n\t\t\t\t\t\t\t\t: upto2DecimalPlaces(data?.highPriceAmount, true)) || '-'}\n\t\t\t\t\t\t

\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t

LOW

\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\t{(showFullValues\n\t\t\t\t\t\t\t\t? formatNegativeValues(data?.lowPriceAmount)\n\t\t\t\t\t\t\t\t: upto2DecimalPlaces(data?.lowPriceAmount, true)) || '-'}\n\t\t\t\t\t\t

\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t

OPEN

\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\t{(showFullValues\n\t\t\t\t\t\t\t\t? formatNegativeValues(data?.openPriceAmount)\n\t\t\t\t\t\t\t\t: upto2DecimalPlaces(data?.openPriceAmount, true)) || '-'}\n\t\t\t\t\t\t

\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t

VOLUME

\n\t\t\t\t\t\t

{data?.tradeQuantity || '-'}

\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
CONTRACT LIFE
\n\t\t\t\t\t
\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tOPEN INTEREST\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t

\n\t\t\t\t\t\t

{data?.existingContracts || '-'}

\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tINTEREST CHANGE\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t

\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\t{(showFullValues\n\t\t\t\t\t\t\t\t? formatNegativeValues(data?.differenceOpenInterestMeasure1)\n\t\t\t\t\t\t\t\t: upto2DecimalPlaces(\n\t\t\t\t\t\t\t\t\t\tdata?.differenceOpenInterestMeasure1,\n\t\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t )) || '-'}\n\t\t\t\t\t\t

\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t

HIGH ({data?.contractHighDateTime || '-'})

\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\t{(showFullValues\n\t\t\t\t\t\t\t\t? formatNegativeValues(data?.contractHighPriceAmount)\n\t\t\t\t\t\t\t\t: upto2DecimalPlaces(data?.contractHighPriceAmount, true)) ||\n\t\t\t\t\t\t\t\t'-'}\n\t\t\t\t\t\t

\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t

LOW ({data?.contractLowDateTime || '-'})

\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\t{(showFullValues\n\t\t\t\t\t\t\t\t? formatNegativeValues(data?.contractLowPriceAmount)\n\t\t\t\t\t\t\t\t: upto2DecimalPlaces(data?.contractLowPriceAmount, true)) ||\n\t\t\t\t\t\t\t\t'-'}\n\t\t\t\t\t\t

\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tAVG RANGE\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t

\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\t{(showFullValues\n\t\t\t\t\t\t\t\t? formatNegativeValues(data?.contractAverageRangePrice)\n\t\t\t\t\t\t\t\t: upto2DecimalPlaces(data?.contractAverageRangePrice, true)) ||\n\t\t\t\t\t\t\t\t'-'}\n\t\t\t\t\t\t

\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tVOLATILITY\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t

\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\t{(showFullValues\n\t\t\t\t\t\t\t\t? formatNegativeValues(data?.volatilityMeasure)\n\t\t\t\t\t\t\t\t: upto2DecimalPlaces(data?.volatilityMeasure, true)) || '-'}\n\t\t\t\t\t\t

\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t {\n\t\t\t\t\t\t\tprops?.optionSelected(data, RM_OPTIONS.FLOOR);\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{/* */}\n\t\t\t\t\t\tADD FLOOR\n\t\t\t\t\t\t{/* {' '} */}\n\t\t\t\t\t\n\t\t\t\t\t {\n\t\t\t\t\t\t\tprops?.optionSelected(data, RM_OPTIONS.CEILING);\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{/* */}\n\t\t\t\t\t\tADD CEILING\n\t\t\t\t\t\n\t\t\t\t\t {\n\t\t\t\t\t\t\tprops?.optionSelected(data, RM_OPTIONS.CONTRACT);\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{/* */}\n\t\t\t\t\t\tADD CONTRACT\n\t\t\t\t\t\t{/* {' '} */}\n\t\t\t\t\t\n\t\t\t\t\t {\n\t\t\t\t\t\t\tprops?.optionSelected(data, RM_OPTIONS.COLLAR);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tclassName={'btnoutline popUpBtn '}\n\t\t\t\t\t>\n\t\t\t\t\t\t{/* */}\n\t\t\t\t\t\tADD COLLAR\n\t\t\t\t\t\t

(Buy Floor/Sell Ceiling combo)

\n\t\t\t\t\t\t{/* {' '} */}\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t);\n}\nexport default Popup;\n","import { Tooltip, withStyles, Theme } from '@material-ui/core';\nimport React from 'react';\n\nconst CustToolTip = withStyles((theme: Theme) => ({\n\ttooltip: {\n\t\tfontSize: 13,\n\t},\n}))(Tooltip);\n\ninterface IProp {}\ntype Props = IProp & any;\nfunction CustomToolTip(props: Props) {\n\treturn ;\n}\n\nexport default CustomToolTip;\n"],"sourceRoot":""}