Public class NW_ApproveBlacklistSupplierRequestUIBuilder    extends SysOperationAutomaticUIBuilder
{
    NW_ApproveBlacklistSupplierRequestContract      Contract;
    DialogField                                         DepartmentName,PersonnelNumber,FromDate,ToDate,RequestId;

    public void build()
    {
        Contract = this.dataContractObject();
        FromDate                = this.addDialogField(methodStr(NW_ApproveBlacklistSupplierRequestContract,parmFromDate),contract);
        ToDate                     = this.addDialogField(methodStr(NW_ApproveBlacklistSupplierRequestContract,parmToDate),contract);
        DepartmentName = this.addDialogField(methodStr(NW_ApproveBlacklistSupplierRequestContract,parmDepartmentName),contract);
        PersonnelNumber = this.addDialogField(methodStr(NW_ApproveBlacklistSupplierRequestContract,parmPersonnelnumber),contract);
        RequestId                = this.addDialogField(methodStr(NW_ApproveBlacklistSupplierRequestContract,parmRequestId),contract);



    }

    public void postbuild()
    {
        super();
        Contract = this.dataContractObject();
        DepartmentName =  this.bindInfo().getDialogField(Contract,methodStr(NW_ApproveBlacklistSupplierRequestContract,parmDepartmentName));
        DepartmentName.registerOverrideMethod(methodStr(FormStringControl,lookup),methodStr(NW_ApproveBlacklistSupplierRequestUIBuilder, DepartmentLookup),this);
       
        FromDate =  this.bindInfo().getDialogField(Contract,methodStr(NW_ApproveBlacklistSupplierRequestContract,parmFromDate));
        ToDate      =  this.bindInfo().getDialogField(Contract,methodStr(NW_ApproveBlacklistSupplierRequestContract,parmToDate));

        personnelnumber =  this.bindInfo().getDialogField(Contract,methodStr(NW_ApproveBlacklistSupplierRequestContract,parmPersonnelnumber));
        personnelnumber.registerOverrideMethod(methodStr(FormStringControl,lookup),methodStr(NW_ApproveBlacklistSupplierRequestUIBuilder, PersonnelnumberLookup),this);
        
        RequestId =  this.bindInfo().getDialogField(Contract,methodStr(NW_ApproveBlacklistSupplierRequestContract,parmRequestId));


    }

    private void DepartmentLookup( FormStringControl _control)
    {
        Query                   query = new Query();
        QueryBuildDataSource    qbd, qbdPerson;
        QueryBuildDataSource qbds;
        QueryBuildDataSource qbdsJoin;
        SysTableLookup sysTableLookup = sysTableLookup::newParameters(tableNum(OMOperatingUnit), _control);
        qbds= query.addDataSource(tableNum(OMOperatingUnit));
        sysTableLookup.parmQuery(query);
        sysTableLookup.addLookupfield(fieldNum(OMOperatingUnit, OMOperatingUnitNumber), false);
        sysTableLookup.addLookupfield(fieldNum(OMOperatingUnit, Name), true);
        sysTableLookup.addLookupfield(fieldNum(OMOperatingUnit, OMOperatingUnitType), false);

        qbds.addRange(fieldNum(OMOperatingUnit, OMOperatingUnitType)).value(enum2Str(OMOperatingUnitType::OMDepartment));

        sysTableLookup.parmQuery(query);
        sysTableLookup.parmUseLookupValue(False);
        sysTableLookup.performFormLookup();


    }

    private Void PersonnelnumberLookup(FormStringControl _control)
    {
        Query                   query = new Query();
        QueryBuildDataSource    qbd, qbdPerson;
        QueryBuildDataSource qbds;
        QueryBuildDataSource qbdsJoin;
        SysTableLookup sysTableLookup = sysTableLookup::newParameters(tableNum(HcmWorker), _control);
        qbds= query.addDataSource(tableNum(HcmWorker));
        sysTableLookup.parmQuery(query);
        sysTableLookup.addLookupfield(fieldNum(HcmWorker, PersonnelNumber), true);
        sysTableLookup.addLookupMethod(tablemethodStr(HcmWorker, Name), true);

        sysTableLookup.parmQuery(query);
        sysTableLookup.parmUseLookupValue(False);
        sysTableLookup.performFormLookup();
    }

}