Thursday, 20 April 2017

Pay roll Earning Statement Integrations

Pay roll Earning Statement  Integrations




class AifPayRollFeedsService
{
}



[SysEntryPointAttribute(true), AifCollectionTypeAttribute('_PayRoll',Types::Class)]
public void PayRollFeeds1(AIFPayRollContract _PayRoll)
{


        PayrollEarningStatement         payrollEarningStatement;
          str                           ErrorMessage;
        HcmEmployment                   HcmEmployment;
        Dirpersonname                   dirpersonname;
        HcmWorker                       hcmWorker;
        PayrollPayPeriod                payrollPayPeriod;
        PayrollPayCycle                 payrollPayCycle;
        DirPerson                       dirPerson;
        DirPartyTable                   dirPartyTable;
        SourceDocumentHeader            SourceDocumentHeader;
        PayrollEarningStatementLine     payrollEarningStatementLine;
        PayrollEarningCode              payrollEarningCode;
        PayrollEarningQuantity          Quantity;
        HcmWorkerRecId                  Worker;
        TransDate                       EarningDate;
        PayrollEarningCodeRecId         EarningcodeRecid;
        PayrollEarningCodeId            Earningcode;





    try
    {
        changeCompany (_PayRoll.Company())
        //ErrorMessage = this.ValidateTimeSheet(_TimeSheets);
            if(ErrorMessage != "")
            {
                throw Error(strFmtLB(ErrorMessage));
            }
            else
            {
             ttsBegin;







                payrollEarningStatement  = payrollEarningStatement::findByDocumentNumber(_PayRoll.DocumentNumber(),true);
                if(!payrollEarningStatement.RecId)
                    {
                    payrollEarningStatement.Note                    = _PayRoll.Note();
                    payrollEarningStatement.Worker                  = hcmWorker::findByPersonnelNumber(_PayRoll.PersonnelNumber()).RecId;
                    PayrollPayPeriod.PayCycle                       = PayrollPayCycle::findByPayCycle(_PayRoll.PayCycleId()).RecId;
                    PayrollPayPeriod.PeriodStartDate                = _PayRoll.PeriodStartDate();
                    PayrollPayPeriod.PeriodEndDate                  = _PayRoll.PeriodEndDate();
                    payrollEarningStatement.PayPeriod               =  PayrollPayPeriod::find(_PayRoll.PayPeriod()).RecId;
                    payrollEarningStatement.DocumentNumber          = _PayRoll.DocumentNumber();
                    payrollEarningStatement.insert();
                    }
                if(!payrollEarningStatementLine.RecId)
                    {
                    payrollEarningStatementLine.EarningStatement            = payrollEarningStatement.RecId;
                    payrollEarningStatementLine.EarningDate                 = _PayRoll.EarningDate();
                    payrollEarningStatementLine.EarningRate                 = _PayRoll.EarningRate();
                    payrollEarningStatementLine.Quantity                    = _PayRoll. Quantity();
                    payrollEarningStatementLine.AccountingCurrencyAmount    = _PayRoll.AccountingCurrencyAmount();
                    payrollEarningStatementLine.EarningCode                 = payrollEarningCode::findByEarningCode(_PayRoll.EarningCode()).RecId;
                    //payrollEarningStatementLine.Position                    = HcmPosition::findByPosition(_PayRoll.PositionId()).RecId;
                    payrollEarningStatementLine.Position                    = HcmPosition::findByPosition(_PayRoll.PositionId()).RecId;
                    //PayrollWorkerTaxRegion.TaxRegion                        = PayrollTaxRegion::findByLogisticsLocation(_PayRoll.LogisticsLocation()).RecId;
                   // payrollEarningStatementLine.WorkerTaxRegion             = PayrollWorkerTaxRegion::findByWorkerTaxRegion(_PayRoll.TaxRegion()).RecId;
                    //payrollEarningStatementLine.WorkerTaxRegion             = PayrollWorkerTaxRegion::findByWorkerTaxRegion(_PayRoll.Worker(),_PayRoll.TaxRegion()).RecId;
                    payrollEarningCode.QuantityUnit                         = PayrollQuantityUnit::Pieces;
                    payrollEarningCode.Description                          = _PayRoll.Description();
                    payrollEarningStatementLine.PaymentStatus               = PayrollPaymentProcessingStatus::Processed;
                    payrollEarningStatementLine.GenerationSource            = PayrollGenerationSource::UserEntry;
                    payrollEarningStatementLine.insert();
                    }
                }
                 ttsCommit;
    }
    //}
    catch (Exception::Error)
    {
        ttsAbort;
        throw Exception::Error;
    }

    }




callling  job




static void Job_Payroll(Args _args)
{
        AIFPayRollContract      _AIFPayRollContract = new AIFPayRollContract();

        AifPayRollFeedsService  _AifPayRollFeedsService = new AifPayRollFeedsService();




        _AIFPayRollContract.DocumentNumber('DRC-00000002');
        _AIFPayRollContract.SourceRelationType( 45812341);
        _AIFPayRollContract.Note("dfs");
        _AIFPayRollContract.TypeEnumName("sdafsf134");
        _AIFPayRollContract.TypeEnumValue(45871234);
        _AIFPayRollContract.Description('Regular');
        _AIFPayRollContract.PayCycleId("m");
       // _AIFPayRollContract.QuantityUnit(PayrollQuantityUnit::Each);


        _AIFPayRollContract.PersonnelNumber("A0045");
        _AIFPayRollContract.PeriodStartDate(5\1\2017);
        _AIFPayRollContract.PeriodEndDate(5\3\2017);

    // Line
    _AIFPayRollContract.EarningDate(5\3\2017);
    _AIFPayRollContract.EarningRate (345.00);
    _AIFPayRollContract.Quantity(345);
    _AIFPayRollContract.EarningCode("Regular");
    _AIFPayRollContract.PositionId("000493");
    _AIFPayRollContract.WorkerTaxRegion("AK - Fairbanks");
    _AIFPayRollContract.AccountingCurrencyAmount(147);
    _AIFPayRollContract.Company("DRC");


      _AifPayRollFeedsService.PayRollFeeds1(_AIFPayRollContract);
   // _AifPayRollFeedsService.PayRollFeeds(_AIFPayRollContract);
    info(_AIFPayRollContract.DocumentNumber());





}

No comments:

Post a Comment