use of org.kuali.kfs.kns.document.MaintenanceDocument in project cu-kfs by CU-CommunityApps.
the class PaymentWorksDataProcessingIntoKfsServiceImpl method createValidateAndRouteKFSVendor.
@Override
public boolean createValidateAndRouteKFSVendor(PaymentWorksVendor pmwVendor, Map<String, List<PaymentWorksIsoFipsCountryItem>> paymentWorksIsoToFipsCountryMap, Map<String, SupplierDiversity> paymentWorksToKfsDiversityMap, PaymentWorksNewVendorRequestsBatchReportData reportData) {
boolean processingSuccessful = false;
MaintenanceDocument vendorMaintenceDoc = createKfsVendorMaintenaceDocument(pmwVendor, paymentWorksIsoToFipsCountryMap, paymentWorksToKfsDiversityMap, reportData);
if (ObjectUtils.isNotNull(vendorMaintenceDoc) && kfsVendorMaintenanceDocumentValidated(vendorMaintenceDoc, reportData, pmwVendor) && kfsVendorMaintenceDocumentRouted(vendorMaintenceDoc, reportData, pmwVendor)) {
pmwVendor.setKfsVendorDocumentNumber(vendorMaintenceDoc.getDocumentNumber());
processingSuccessful = true;
}
return processingSuccessful;
}
use of org.kuali.kfs.kns.document.MaintenanceDocument in project cu-kfs by CU-CommunityApps.
the class PayeeACHAccountExtractServiceImplTest method createMockPAATDocument.
private MaintenanceDocument createMockPAATDocument() throws Exception {
MaintenanceDocument paatDocument = EasyMock.createMock(MaintenanceDocumentBase.class);
EasyMock.expect(paatDocument.getNewMaintainableObject()).andStubReturn(createNewMaintainableForPAAT());
EasyMock.expect(paatDocument.getDocumentHeader()).andStubReturn(new DocumentHeader());
EasyMock.expect(paatDocument.getObjectId()).andStubReturn("0");
paatDocument.addNote(EasyMock.isA(Note.class));
EasyMock.expectLastCall().anyTimes();
EasyMock.replay(paatDocument);
return paatDocument;
}
use of org.kuali.kfs.kns.document.MaintenanceDocument in project cu-kfs by CU-CommunityApps.
the class AccountGlobalRule method checkExpirationDate.
/**
* This method checks to see if any expiration date field rules were violated Loops through each detail object and calls
* {@link AccountGlobalRule#checkExpirationDate(MaintenanceDocument, AccountGlobalDetail)}
*
* @param maintenanceDocument
* @return false on rules violation
*/
protected boolean checkExpirationDate(MaintenanceDocument maintenanceDocument) {
LOG.info("checkExpirationDate called");
boolean success = true;
Date newExpDate = newAccountGlobal.getAccountExpirationDate();
// and the approver hasn't changed the value
if (maintenanceDocument.isNew() && ObjectUtils.isNotNull(newExpDate)) {
Date oldExpDate = null;
if (maintenanceDocument.getDocumentHeader().getWorkflowDocument().isApprovalRequested()) {
try {
MaintenanceDocument oldMaintDoc = (MaintenanceDocument) SpringContext.getBean(DocumentService.class).getByDocumentHeaderId(maintenanceDocument.getDocumentNumber());
AccountGlobal oldAccountGlobal = (AccountGlobal) oldMaintDoc.getDocumentBusinessObject();
if (ObjectUtils.isNotNull(oldAccountGlobal)) {
oldExpDate = oldAccountGlobal.getAccountExpirationDate();
}
} catch (WorkflowException ex) {
LOG.warn("Error retrieving maintenance doc for doc #" + maintenanceDocument.getDocumentNumber() + ". This shouldn't happen.", ex);
}
}
if (ObjectUtils.isNull(oldExpDate) || !oldExpDate.equals(newExpDate)) {
// KFSUPGRADE-925 check parameter to see if back date is allowed
Collection<String> fundGroups = SpringContext.getBean(ParameterService.class).getParameterValuesAsString(Account.class, KFSConstants.ChartApcParms.EXPIRATION_DATE_BACKDATING_FUND_GROUPS);
if (fundGroups == null || (ObjectUtils.isNotNull(newAccountGlobal.getSubFundGroup()) && !fundGroups.contains(newAccountGlobal.getSubFundGroup().getFundGroupCode()))) {
if (!newExpDate.after(today) && !newExpDate.equals(today)) {
putFieldError("accountExpirationDate", KFSKeyConstants.ERROR_DOCUMENT_ACCMAINT_EXP_DATE_TODAY_LATER);
success &= false;
}
}
}
}
// a continuation account is required if the expiration date is completed.
success &= checkContinuationAccount(maintenanceDocument, newExpDate);
for (AccountGlobalDetail detail : newAccountGlobal.getAccountGlobalDetails()) {
success &= checkExpirationDate(maintenanceDocument, detail);
}
return success;
}
use of org.kuali.kfs.kns.document.MaintenanceDocument in project cu-kfs by CU-CommunityApps.
the class AccountGlobalRule method checkExpirationDate.
/**
* This method checks to see if any expiration date field rules were violated in relation to the given detail record
*
* @param maintenanceDocument
* @param detail - the account detail we are investigating
* @return false on rules violation
*/
protected boolean checkExpirationDate(MaintenanceDocument maintenanceDocument, AccountGlobalDetail detail) {
boolean success = true;
Date newExpDate = newAccountGlobal.getAccountExpirationDate();
Date prevExpDate = null;
// get previous expiration date for possible check later
if (maintenanceDocument.getDocumentHeader().getWorkflowDocument().isApprovalRequested()) {
try {
MaintenanceDocument oldMaintDoc = (MaintenanceDocument) SpringContext.getBean(DocumentService.class).getByDocumentHeaderId(maintenanceDocument.getDocumentNumber());
AccountGlobal oldAccountGlobal = (AccountGlobal) oldMaintDoc.getDocumentBusinessObject();
if (ObjectUtils.isNotNull(oldAccountGlobal)) {
prevExpDate = oldAccountGlobal.getAccountExpirationDate();
}
} catch (WorkflowException ex) {
LOG.warn("Error retrieving maintenance doc for doc #" + maintenanceDocument.getDocumentNumber() + ". This shouldn't happen.", ex);
}
}
// load the object by keys
Account account = SpringContext.getBean(BusinessObjectService.class).findByPrimaryKey(Account.class, detail.getPrimaryKeys());
if (ObjectUtils.isNotNull(account)) {
Date oldExpDate = account.getAccountExpirationDate();
// is an edit doc
if (isUpdatedExpirationDateInvalid(account, newAccountGlobal)) {
// we're not interested unless the approver changed the value
if (ObjectUtils.isNull(prevExpDate) || !prevExpDate.equals(newExpDate)) {
if (newAccountGlobal.getClosed() != null && newAccountGlobal.getClosed()) {
/*If the Account is being closed and the date is before today's date, the EXP date can only be today*/
putFieldError(KFSPropertyConstants.ACCOUNT_EXPIRATION_DATE, KFSKeyConstants.ERROR_DOCUMENT_ACCMAINT_ACCT_CANNOT_BE_CLOSED_EXP_DATE_INVALID);
} else {
/*If the Account is not being closed and the date is before today's date, the EXP date can only be today or at a later date*/
putFieldError(KFSPropertyConstants.ACCOUNT_EXPIRATION_DATE, KFSKeyConstants.ERROR_DOCUMENT_ACCMAINT_EXP_DATE_TODAY_LATER);
}
success &= false;
}
}
// acct_expiration_dt can not be before acct_effect_dt
Date effectiveDate = null;
if (ObjectUtils.isNotNull(newAccountGlobal.getAccountEffectiveDate())) {
effectiveDate = newAccountGlobal.getAccountEffectiveDate();
} else {
effectiveDate = account.getAccountEffectiveDate();
}
if (ObjectUtils.isNotNull(effectiveDate) && ObjectUtils.isNotNull(newExpDate)) {
if (newExpDate.before(effectiveDate)) {
putFieldError(KFSPropertyConstants.ACCOUNT_EXPIRATION_DATE, CUKFSKeyConstants.ERROR_DOCUMENT_ACCT_GLB_MAINT_EXP_DATE_CANNOT_BE_BEFORE_EFFECTIVE_DATE, new String[] { detail.getAccountNumber() });
success &= false;
}
}
}
return success;
}
use of org.kuali.kfs.kns.document.MaintenanceDocument in project cu-kfs by CU-CommunityApps.
the class EzraServiceImpl method routeProposalDocument.
private void routeProposalDocument(Proposal proposal) {
GlobalVariables.clear();
GlobalVariables.setUserSession(new UserSession(KFSConstants.SYSTEM_USER));
MaintenanceDocument proposalDoc = null;
try {
proposalDoc = (MaintenanceDocument) documentService.getNewDocument("PRPL");
} catch (WorkflowException we) {
we.printStackTrace();
}
proposalDoc.getDocumentHeader().setDocumentDescription("Auto creation of new proposal: " + proposal.getProposalNumber());
proposalDoc.getNewMaintainableObject().setBusinessObject(proposal);
try {
documentService.saveDocument(proposalDoc);
proposalDoc.getDocumentHeader().getWorkflowDocument().route("Automatically created and routed");
} catch (WorkflowException we) {
we.printStackTrace();
}
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Aggregations