class SLD_POStatusReportUIBuilder extends SrsReportDataContractUIBuilder
{
SLD_POStatusReportContract contract;
DialogField PurchOrder;
DialogField VendorIDList;
DialogField POStatusList;
List POrderStatusList = new List(Types::String);
List POrderApprovalStatusList = new List(Types::String);
List POVendorIDList = new List(Types::String);
List PONumberList = new List(Types::String);
TransDate fromDateRange,ToDateRange;
utcDateTime dateFrom,dateTo;
DialogField DfromDate;
DialogField DtoDate;
DialogField ExclInvPO, ExclUnconPO,ExclCanlPO;
DialogField POApprovalStatusList;
container purchOrderCon, purchOrderVendorCon,purchOrderStatusCon,purchapprovalcon;
public void build()
{
contract = this.dataContractObject();
DfromDate = this.addDialogField(methodStr(SLD_POStatusReportContract,parmFromDate),contract);
DtoDate = this.addDialogField(methodStr(SLD_POStatusReportContract,parmToDate),contract);
//ExclInvPO = this.addDialogField(methodStr(SLD_POStatusReportContract,parmExclInvPO),contract);
// ExclCanlPO = this.addDialogField(methodStr(SLD_POStatusReportContract,parmExclCanclPO),contract);
POStatusList = this.addDialogField(methodStr(SLD_POStatusReportContract,parmPOHeaderStatus),contract);
POApprovalStatusList = this.addDialogField(methodStr(SLD_POStatusReportContract, parmpoApprovalStatus), contract);
VendorIDList = this.addDialogField(methodStr(SLD_POStatusReportContract, parmPOVendor ), contract);
PurchOrder = this.addDialogField(methodStr(SLD_POStatusReportContract, parmPONumber), contract);
}
public void postBuild()
{
////FromDate
DfromDate = this.bindInfo().getDialogField(contract,methodStr(SLD_POStatusReportContract, parmFromDate));
DfromDate.registerOverrideMethod(methodStr(FormDateControl, leave), methodStr(SLD_POStatusReportUIBuilder, fromDateLeave), this);
////toDate Leave
DtoDate = this.bindInfo().getDialogField(contract,methodStr(SLD_POStatusReportContract, parmToDate));
DtoDate.registerOverrideMethod(methodStr(FormDateControl, leave), methodStr(SLD_POStatusReportUIBuilder, toDateLeave), this);
/* ///ExclInvPO
ExclInvPO = this.bindInfo().getDialogField(contract,methodStr(SLD_POStatusReportContract, parmExclInvPO));
///ExclUnconPO
ExclUnconPO = this.bindInfo().getDialogField(contract,methodStr(SLD_POStatusReportContract, parmExclUncPO));
///ExclCanlPO
ExclCanlPO = this.bindInfo().getDialogField(contract,methodStr(SLD_POStatusReportContract, parmExclCanclPO));
*/
///PO status
POStatusList = this.bindInfo().getDialogField(contract,methodStr(SLD_POStatusReportContract, parmpoheaderstatus));
POStatusList.registerOverrideMethod(methodStr(FormStringControl, lookup), methodStr(SLD_POStatusReportUIBuilder, POHeaderStatusLookup), this);
POStatusList.registerOverrideMethod(methodStr(FormStringControl, leave), methodStr(SLD_POStatusReportUIBuilder, VendorIDLeave), this);
POStatusList.lookupButton(2);
//PO APproval lookup
POApprovalStatusList = this.bindInfo().getDialogField(contract,methodStr(SLD_POStatusReportContract, parmpoApprovalStatus));
POApprovalStatusList.registerOverrideMethod(methodStr(FormStringControl, lookup), methodStr(SLD_POStatusReportUIBuilder,POApprovallookup),this);
POApprovalStatusList.registerOverrideMethod(methodStr(FormStringControl, leave), methodStr(SLD_POStatusReportUIBuilder, VendorIDapprovalLeave), this);
POApprovalStatusList.lookupButton(2);
///VendorIDList
VendorIDList = this.bindInfo().getDialogField(contract,methodStr(SLD_POStatusReportContract, parmpovendor));
VendorIDList.registerOverrideMethod(methodStr(FormStringControl, lookup), methodStr(SLD_POStatusReportUIBuilder, VendorIdlookup), this);
VendorIDList.registerOverrideMethod(methodStr(FormStringControl, leave), methodStr(SLD_POStatusReportUIBuilder, VendorIDListLeave), this);
///PONumber
PurchOrder = this.bindInfo().getDialogField(contract,methodStr(SLD_POStatusReportContract, parmPONumber));
PurchOrder.registerOverrideMethod(methodStr(FormStringControl, lookup), methodStr(SLD_POStatusReportUIBuilder,PONumberlookup), this);
}
///
///
///
///
///
public boolean fromDateLeave(FormDateControl _control)
{
if (_control.dateValue() != dateNull())
{
fromDateRange = _control.dateValue();
}
return true;
}
/// /// ///
public boolean toDateLeave(FormDateControl _control)
{
if (_control.dateValue() != dateNull())
{
ToDateRange = _control.dateValue();
}
return true;
}
//leave method for vendor ID list
public boolean VendorIDListLeave(FormStringControl _control)
{
if (_control.valueStr() != '')
{
POVendorIDList = strSplit(_control.valueStr(), ';');
}
return true;
}
// for PO number lookup
public void PONumberlookup(FormStringControl _control)
{
Query query = new Query();
QueryBuildDataSource qbds;
ListEnumerator enum,enum1,enumapprove;
qbds = query.addDataSource(tableNum(PurchTable));
///qbds.relations(false);
qbds.fields().dynamic(true);
qbds.fields().clearFieldList();
qbds.addSelectionField(fieldNum(PurchTable, PurchId));
qbds.addSelectionField(fieldNum(PurchTable, PurchName));
dateFrom = DateTimeUtil::newDateTime(fromDateRange,DateTimeUtil::time(DateTimeUtil::minValue()));
dateTo = DateTimeUtil::newDateTime(toDateRange,DateTimeUtil::time(DateTimeUtil::maxValue()));
qbds.addRange(fieldNum(PurchTable, CreatedDateTime)).value(SysQuery::range(dateFrom,dateTo));
if (POVendorIDList)
{
enum = POVendorIDList.getEnumerator();
while (enum.moveNext())
{
qbds.addRange(fieldNum(PurchTable, OrderAccount)).value(enum.current());
}
}
//filter based on purch status
if (POrderStatusList)
{
enum1 = POrderStatusList.getEnumerator();
while (enum1.moveNext())
{
qbds.addRange(fieldNum(PurchTable, PurchStatus)).value(enum1.current());
}
}
//filter based on approval staus
if(POrderApprovalStatusList)
{
enumapprove = POrderApprovalStatusList.getEnumerator();
while (enumapprove.moveNext())
{
qbds.addRange(fieldNum(PurchTable, DocumentState)).value(enumapprove.current());
}
}
// //for
SysLookupMultiSelectGrid::lookup(query,
_control,
_control,
_control,
purchOrderCon);
}
public void POHeaderStatusLookup(FormStringControl _control)
{
Query query = new Query();
QueryBuildFieldList fieldList;
QueryBuildDataSource qbds;
qbds = query.addDataSource(tableNum(PurchTable));
qbds.fields().dynamic(false);
qbds.fields().clearFieldList();
qbds.addSelectionField(fieldNum(PurchTable,PurchStatus));
qbds.addGroupByField(fieldNum(PurchTable,PurchStatus));
SysLookupMultiSelectGrid::lookup(query,
_control,
_control,
_control,
purchOrderStatusCon);
}
public boolean VendorIDLeave(FormStringControl _control)
{
if (_control.valueStr() != '')
{
POrderStatusList = strSplit(_control.valueStr(), ';');
}
return true;
}
public boolean VendorIDapprovalLeave(FormStringControl _control)
{
if(_control.valueStr() != '')
{
POrderApprovalStatusList = strSplit(_control.valueStr(), ';');
}
return true;
}
public void VendorIdlookup(FormStringControl _control)
{
Query query = new Query();
QueryBuildDataSource qbdspurch,qbdsvend;
QueryBuildFieldList fieldList;
// ListIterator listIterator,listIteratorappr;
ListEnumerator enum,enumapprove;
qbdspurch = query.addDataSource(tableNum(VendTable));
qbdspurch.fields().dynamic(false);
qbdspurch.fields().clearFieldList();
qbdspurch.addSelectionField(fieldNum(VendTable,AccountNum));
qbdspurch.addGroupByField(fieldNum(VendTable,AccountNum));
//filter based on date new added
/*
dateFrom = DateTimeUtil::newDateTime(fromDateRange,DateTimeUtil::time(DateTimeUtil::minValue()));
dateTo = DateTimeUtil::newDateTime(toDateRange,DateTimeUtil::time(DateTimeUtil::maxValue()));
qbdspurch.addRange(fieldNum(PurchTable, CreatedDateTime)).value(SysQuery::range(dateFrom,dateTo));
*/
//filter vendor based on PO
/*
if (POrderStatusList)
{
enum = POrderStatusList.getEnumerator();
while (enum.moveNext())
{
qbdspurch.addRange(fieldNum(PurchTable, PurchStatus)).value(enum.current());
}
}
if(POrderApprovalStatusList)
{
enumapprove = POrderApprovalStatusList.getEnumerator();
while (enumapprove.moveNext())
{
qbdspurch.addRange(fieldNum(PurchTable, DocumentState)).value(enumapprove.current());
}
}*/
SysLookupMultiSelectGrid::lookup(query,
_control,
_control,
_control,
purchOrderVendorCon);
}
public void POApprovallookup(FormStringControl _control)
{
Query query = new Query();
QueryBuildDataSource qbds;
QueryBuildRange qbr;
ListEnumerator enum;
qbds = query.addDataSource(tableNum(PurchTable));
///qbds.relations(false);
qbds.fields().dynamic(false);
qbds.fields().clearFieldList();
qbds.addSelectionField(fieldNum(PurchTable, DocumentState));
qbds.addGroupByField(fieldNum(PurchTable,DocumentState));
//qbds.addRange(fieldNum(PurchTable, DocumentState)).value(queryValue(VersioningDocumentState::Approved));
//qbds.addRange(fieldNum(PurchTable, DocumentState)).value(queryValue(VersioningDocumentState::Confirmed));
//qbds.addRange(fieldNum(PurchTable, DocumentState)).value(queryValue(VersioningDocumentState::Draft));
//qbds.addRange(fieldNum(PurchTable, DocumentState)).value(queryValue(VersioningDocumentState::Finalized));
//qbds.addRange(fieldNum(PurchTable, DocumentState)).value(queryValue(VersioningDocumentState::InExternalReview));
//qbds.addRange(fieldNum(PurchTable, DocumentState)).value(queryValue(VersioningDocumentState::InReview));
//qbds.addRange(fieldNum(PurchTable, DocumentState)).value(queryValue(VersioningDocumentState::Rejected));
SysLookupMultiSelectGrid::lookup(query,
_control,
_control,
_control,
purchapprovalcon);
}
//}
public void postRun()
{
///super();
}
}
UI Builder class