use of edu.cornell.kfs.coa.businessobject.AccountExtendedAttribute in project cu-kfs by CU-CommunityApps.
the class CUAccountMaintainableImpl method saveBusinessObject.
@Override
public void saveBusinessObject() {
boolean isClosingAccount = isClosingAccount();
Account account = (Account) getBusinessObject();
AccountExtendedAttribute aea = (AccountExtendedAttribute) (account.getExtension());
BusinessObjectService bos = SpringContext.getBean(BusinessObjectService.class);
HashMap<String, String> keys = new HashMap<String, String>();
keys.put("programCode", aea.getProgramCode());
keys.put(SUB_FUND_GROUP_CODE, aea.getSubFundGroupCode());
SubFundProgram sfp = (SubFundProgram) bos.findByPrimaryKey(SubFundProgram.class, keys);
aea.setSubFundProgram(sfp);
aea.setSubFundGroupCode(account.getSubFundGroupCode());
keys = new HashMap<String, String>();
keys.put("appropriationAccountNumber", aea.getAppropriationAccountNumber());
keys.put(SUB_FUND_GROUP_CODE, aea.getSubFundGroupCode());
AppropriationAccount aan = (AppropriationAccount) bos.findByPrimaryKey(AppropriationAccount.class, keys);
aea.setAppropriationAccount(aan);
if (account.isClosed() && aea.getAccountClosedDate() == null) {
aea.setAccountClosedDate(SpringContext.getBean(DateTimeService.class).getCurrentSqlDate());
} else if (!account.isClosed() && aea.getAccountClosedDate() != null) {
aea.setAccountClosedDate(null);
}
super.saveBusinessObject();
// trickle down Account Reversion inactivation
if (isClosingAccount) {
SpringContext.getBean(AccountReversionTrickleDownInactivationService.class).trickleDownInactivateAccountReversions((Account) getBusinessObject(), getDocumentNumber());
}
// content and will display any future notes on account edits as well
try {
Document document = SpringContext.getBean(DocumentService.class).getByDocumentHeaderId(getDocumentNumber());
Account xmlaccount = (Account) ((MaintenanceDocument) document).getNewMaintainableObject().getBusinessObject();
if (ObjectUtils.isNull(xmlaccount.getObjectId()) && (KFSConstants.MAINTENANCE_NEW_ACTION.equals(getMaintenanceAction()) || KFSConstants.MAINTENANCE_COPY_ACTION.equals(getMaintenanceAction()))) {
((MaintenanceDocument) document).getNewMaintainableObject().setBusinessObject(account);
SpringContext.getBean(DocumentService.class).saveDocument(document);
}
} catch (Exception e) {
LOG.error("Account doc not saved successfully " + e.getMessage());
}
}
use of edu.cornell.kfs.coa.businessobject.AccountExtendedAttribute in project cu-kfs by CU-CommunityApps.
the class AccountExtensionRule method checkSubFundProgram.
protected boolean checkSubFundProgram(MaintenanceDocument document) {
boolean success = true;
String subFundGroupCode = newAccount.getSubFundGroupCode();
String subFundProg = ((AccountExtendedAttribute) newAccount.getExtension()).getProgramCode();
// String subFundProgramCode = ((AccountExtendedAttribute)newAccount.getExtension()).getSubFundProgram().getProgramCode();
BusinessObjectService bos = SpringContext.getBean(BusinessObjectService.class);
if (!StringUtils.isBlank(subFundProg)) {
Map fieldValues = new HashMap();
fieldValues.put("subFundGroupCode", subFundGroupCode);
fieldValues.put("programCode", subFundProg);
Collection<SubFundProgram> retVals = bos.findMatching(SubFundProgram.class, fieldValues);
if (retVals.isEmpty()) {
success = false;
putFieldError("extension.programCode", CUKFSKeyConstants.ERROR_DOCUMENT_ACCMAINT_PROGRAM_CODE_NOT_GROUP_CODE, new String[] { subFundProg, subFundGroupCode });
} else {
for (SubFundProgram sfp : retVals) {
if (!sfp.isActive()) {
putFieldError("extension.programCode", KFSKeyConstants.ERROR_INACTIVE, getFieldLabel(Account.class, "extension.programCode"));
success = false;
}
}
}
} else {
// BusinessObjectService bos = SpringContext.getBean(BusinessObjectService.class);
Map fieldValues = new HashMap();
fieldValues.put("subFundGroupCode", subFundGroupCode);
Collection<SubFundProgram> retVals = bos.findMatching(SubFundProgram.class, fieldValues);
if (!retVals.isEmpty()) {
success = false;
putFieldError("extension.programCode", CUKFSKeyConstants.ERROR_DOCUMENT_ACCMAINT_PROGRAM_CODE_CANNOT_BE_BLANK_FOR_GROUP_CODE, new String[] { subFundGroupCode });
}
}
return success;
}
use of edu.cornell.kfs.coa.businessobject.AccountExtendedAttribute in project cu-kfs by CU-CommunityApps.
the class AccountGlobalRule method checkAccountExtensionProgramCd.
private boolean checkAccountExtensionProgramCd(Account account, String subFundGroupCode, String subFundProg) {
boolean success = true;
if (StringUtils.isBlank(subFundGroupCode)) {
if (StringUtils.isNotBlank(subFundProg)) {
SubFundProgram subFundProgram = getMatchedRecord(SubFundProgram.class, account.getSubFundGroupCode(), CUKFSPropertyConstants.PROGRAM_CODE, subFundProg);
if (subFundProgram == null) {
success = false;
GlobalVariables.getMessageMap().putError(KFSPropertyConstants.ACCOUNT_NUMBER, CUKFSKeyConstants.ERROR_DOCUMENT_ACCT_GLB_MAINT_ACCT_PROGRAM_CODE_NOT_GROUP_CODE, new String[] { subFundProg, account.getSubFundGroupCode(), account.getAccountNumber() });
} else {
if (!subFundProgram.isActive()) {
putFieldError(CUKFSPropertyConstants.PROGRAM_CODE, KFSKeyConstants.ERROR_INACTIVE, getFieldLabel(Account.class, CUKFSPropertyConstants.PROGRAM_CODE));
success = false;
}
}
}
} else {
AccountExtendedAttribute accountExtension = (AccountExtendedAttribute) account.getExtension();
if (StringUtils.isBlank(subFundProg)) {
if (StringUtils.isBlank(accountExtension.getProgramCode())) {
SubFundProgram subFundProgram = getMatchedRecord(SubFundProgram.class, subFundGroupCode, CUKFSPropertyConstants.PROGRAM_CODE, accountExtension.getProgramCode());
if (subFundProgram != null) {
success = false;
GlobalVariables.getMessageMap().putError(KFSPropertyConstants.ACCOUNT_NUMBER, CUKFSKeyConstants.ERROR_DOCUMENT_ACCT_GLB_MAINT_ACCT_PROGRAM_CODE_CANNOT_BE_BLANK_FOR_GROUP_CODE, new String[] { subFundGroupCode, account.getAccountNumber() });
}
} else {
SubFundProgram subFundProgram = getMatchedRecord(SubFundProgram.class, subFundGroupCode, CUKFSPropertyConstants.PROGRAM_CODE, accountExtension.getProgramCode());
if (subFundProgram == null) {
success = false;
GlobalVariables.getMessageMap().putError(KFSPropertyConstants.ACCOUNT_NUMBER, CUKFSKeyConstants.ERROR_DOCUMENT_ACCT_GLB_MAINT_ACCT_PROGRAM_CODE_NOT_GROUP_CODE, new String[] { accountExtension.getProgramCode(), subFundGroupCode, account.getAccountNumber() });
}
}
}
}
return success;
}
use of edu.cornell.kfs.coa.businessobject.AccountExtendedAttribute in project cu-kfs by CU-CommunityApps.
the class AccountGlobalRule method checkAccountExtensionApprAcct.
private boolean checkAccountExtensionApprAcct(Account account, String subFundGroupCode, String appropriationAccountNumber) {
boolean success = true;
if (StringUtils.isBlank(subFundGroupCode)) {
if (StringUtils.isNotBlank(appropriationAccountNumber)) {
AppropriationAccount appropriationAcct = getMatchedRecord(AppropriationAccount.class, account.getSubFundGroupCode(), CUKFSPropertyConstants.APPROPRIATION_ACCT_NUMBER, appropriationAccountNumber);
if (appropriationAcct == null) {
success = false;
GlobalVariables.getMessageMap().putError(KFSPropertyConstants.ACCOUNT_NUMBER, CUKFSKeyConstants.ERROR_DOCUMENT_ACCMAINT_ACCT_APPROP_ACCT_NOT_GROUP_CODE, new String[] { appropriationAccountNumber, account.getSubFundGroupCode(), account.getAccountNumber() });
} else {
if (!appropriationAcct.isActive()) {
putFieldError(CUKFSPropertyConstants.APPROPRIATION_ACCT_NUMBER, KFSKeyConstants.ERROR_INACTIVE, getFieldLabel(AccountGlobal.class, CUKFSPropertyConstants.APPROPRIATION_ACCT_NUMBER));
success = false;
}
}
}
} else {
AccountExtendedAttribute accountExtension = (AccountExtendedAttribute) account.getExtension();
if (StringUtils.isBlank(appropriationAccountNumber)) {
if (StringUtils.isNotBlank(accountExtension.getAppropriationAccountNumber())) {
AppropriationAccount appropriationAcct = getMatchedRecord(AppropriationAccount.class, subFundGroupCode, CUKFSPropertyConstants.APPROPRIATION_ACCT_NUMBER, accountExtension.getAppropriationAccountNumber());
if (appropriationAcct == null) {
success = false;
GlobalVariables.getMessageMap().putError(KFSPropertyConstants.ACCOUNT_NUMBER, CUKFSKeyConstants.ERROR_DOCUMENT_ACCMAINT_ACCT_APPROP_ACCT_NOT_GROUP_CODE, new String[] { accountExtension.getAppropriationAccountNumber(), subFundGroupCode, account.getAccountNumber() });
}
}
}
}
return success;
}
use of edu.cornell.kfs.coa.businessobject.AccountExtendedAttribute in project cu-kfs by CU-CommunityApps.
the class AccountExtensionRule method checkMajorReportingCategoryCode.
protected boolean checkMajorReportingCategoryCode(MaintenanceDocument document) {
boolean success = true;
String majorReportingCategoryCode = ((AccountExtendedAttribute) newAccount.getExtension()).getMajorReportingCategoryCode();
BusinessObjectService bos = SpringContext.getBean(BusinessObjectService.class);
// MajorReportingCategory code is not a required field, if no value is entered no validation is performed
if (!StringUtils.isBlank(majorReportingCategoryCode)) {
Map fieldValues = new HashMap();
fieldValues.put("majorReportingCategoryCode", majorReportingCategoryCode);
Collection<MajorReportingCategory> retVals = bos.findMatching(MajorReportingCategory.class, fieldValues);
if (retVals.isEmpty()) {
putFieldError("extension.majorReportingCategoryCode", CUKFSKeyConstants.ERROR_DOCUMENT_ACCMAINT_MJR_RPT_CAT_CODE_NOT_EXIST, new String[] { majorReportingCategoryCode });
success = false;
} else {
for (MajorReportingCategory sfp : retVals) {
if (!sfp.isActive()) {
putFieldError("extension.majorReportingCategoryCode", KFSKeyConstants.ERROR_INACTIVE, getFieldLabel(Account.class, "extension.majorReportingCategoryCode"));
success = false;
}
}
}
}
return success;
}
Aggregations