private void search(HttpServletRequest request) throws Exception { logger.info("----->PaymentEditAction into Search"); // Get payment entity BudgetActionHelper actionHelper = AppContextUtil.getAppContext().getBean("budgetActionHelper", BudgetActionHelper.class); PaymentHelper paymentHelper = AppContextUtil.getAppContext().getBean("paymentHelper", PaymentHelper.class); BudgetHelper budgetHelper = AppContextUtil.getAppContext().getBean("budgetHelper", BudgetHelper.class); int xID = ParamUtil.getInt(request, "xID"); // String borrowFromOther = AppConsts.NO; Budget budget = null; double borrowAmt = 0.0; int borrowDeptId = 0; int borrowBudgetId = 0; // 1.Get the payment logger.info("----->PaymentEditAction into Search 1.Get the payment "); Payment payment = paymentHelper.getPayment(xID, true); // 2.Get the budget and budget action logger.info("----->PaymentEditAction into Search Ready to Get the actionList "); List<BudgetAction> actionList = actionHelper.getActionByActionTypeAndPaymentID(MessageConsts.BUDGET_TYPE_BORROW_OUT, xID); logger.info( "----->PaymentEditAction into Search 2.Get the budget and budget action actionList size" + actionList.size()); if (actionList != null && actionList.size() > 0) { logger.info("----->PaymentEditAction into Search borrow From Other"); BudgetAction borrowOutAction = actionList.get(0); if (borrowOutAction != null) { // Set the borrowFromOther == Yes // borrowFromOther = AppConsts.YES; // Get the borrow amt borrowAmt = borrowOutAction.getxACTION_AMT(); // Get the borrow dept by budget borrowBudgetId = borrowOutAction.getxBUDGET_xID(); if (borrowBudgetId > 0) { budget = budgetHelper.getBudget(borrowBudgetId, false); if (budget != null) { borrowDeptId = budget.getxDEPT_xID(); } } } } request.setAttribute("xID", xID); request.setAttribute("entity", payment); // request.setAttribute("borrowFromOther", borrowFromOther); request.setAttribute("borrowAmt", borrowAmt); request.setAttribute("borrowDeptId", borrowDeptId); logger.info("----->PaymentEditAction ready Go out Search"); }
private void rollBackPreviousAction(Payment payment) { int xID = payment.getxID(); BudgetActionHelper budgetActionHelper = AppContextUtil.getAppContext().getBean("budgetActionHelper", BudgetActionHelper.class); List<BudgetAction> budgetActions = budgetActionHelper.getActionByActionTypeAndPaymentID(null, xID); BudgetHelper budgetHelper = AppContextUtil.getAppContext().getBean("budgetHelper", BudgetHelper.class); Budget borrowOutBudget = null; Budget currentBudget = null; Double borrowInAmt = 0.0D; if (budgetActions != null && budgetActions.size() > 0) { // for (int i = 0; i < budgetActions.size(); i++) { BudgetAction action = budgetActions.get(i); if (MessageConsts.BUDGET_TYPE_BORROW_OUT.equals(action.getxACTION())) { double borrowOutAmt = action.getxACTION_AMT(); borrowInAmt = borrowOutAmt; } } for (int i = 0; i < budgetActions.size(); i++) { BudgetAction action = budgetActions.get(i); // add the budgetAmt to borrowOut Budget if (MessageConsts.BUDGET_TYPE_BORROW_OUT.equals(action.getxACTION())) { // Get the borrow out budget int borrowOutBudgetId = action.getxBUDGET_xID(); double borrowOutAmt = action.getxACTION_AMT(); // Add the borrowOutAmt to the borrow out budget borrowOutBudget = budgetHelper.getBudget(borrowOutBudgetId, false); if (borrowOutBudget != null) { logger.info( "BorrowOut Budget Amt: " + String.valueOf( Calculator.add(borrowOutBudget.getxBALANCE_AMT(), borrowOutAmt))); borrowOutBudget.setxBALANCE_AMT( Calculator.add(borrowOutBudget.getxBALANCE_AMT(), borrowOutAmt)); budgetHelper.update(borrowOutBudget); } } // add the budgetAmt to current Budget if (MessageConsts.BUDGET_TYPE_PAYMENT.equals(action.getxACTION())) { // Get the borrow out budget int currentBudgetId = action.getxBUDGET_xID(); double payOutAmt = action.getxACTION_AMT(); // Add the budgetAmt to the current budget currentBudget = budgetHelper.getBudget(currentBudgetId, false); if (currentBudget != null) { logger.info( "currentBudget.getxBALANCE_AMT(): " + String.valueOf(currentBudget.getxBALANCE_AMT())); logger.info("payOutAmt: " + String.valueOf(payOutAmt)); logger.info("borrowInAmt: " + String.valueOf(borrowInAmt)); logger.info( "Current Budget Amt " + Calculator.sub( Calculator.add(currentBudget.getxBALANCE_AMT(), payOutAmt), borrowInAmt)); currentBudget.setxBALANCE_AMT( Calculator.sub( Calculator.add(currentBudget.getxBALANCE_AMT(), payOutAmt), borrowInAmt)); budgetHelper.update(currentBudget); } } // delete this budget action budgetActionHelper.delete(action.getxID()); } } }
private void handleBudget(HttpServletRequest request, Payment entity) throws Exception { BudgetActionHelper budgetActionHelper = AppContextUtil.getAppContext().getBean("budgetActionHelper", BudgetActionHelper.class); BudgetHelper budgetHelper = AppContextUtil.getAppContext().getBean("budgetHelper", BudgetHelper.class); // handle budget User user = (User) ParamUtil.getSessionAttr(request, "LOGIN_USER"); if (user == null) throw new Exception(MessageConsts.MSG_COMMON_SESSION_TIMEOUT); Budget currentBudget = budgetHelper.getBudgetByPaydate(user.getxDEPT_xID(), entity.getxPAY_DATE()); // if there are no budget,then no paymentAction too if (currentBudget == null) { return; } BudgetAction paymenAction = new BudgetAction(); paymenAction.setxACTION(MessageConsts.BUDGET_TYPE_PAYMENT); paymenAction.setxPAYMENT_ID(entity.getxID()); paymenAction.setxACTION_AMT(entity.getxPAY_AMT()); paymenAction.setxCREATER_ID(user.getxLOGIN_ID()); if (currentBudget != null) { paymenAction.setxBUDGET_xID(currentBudget.getxID()); paymenAction.setxSOURCE_AMT(currentBudget.getxBALANCE_AMT()); } budgetActionHelper.insert(paymenAction); // handle borrow int deptId = ParamUtil.getInt(request, "deptId", 0); double borrowAmt = ParamUtil.getDouble(request, "borrowAmtHidden", 0); logger.info("PaymentAction-->borrowDeptId:" + deptId); logger.info("PaymentAction-->borrowAmt:" + borrowAmt); if (deptId > 0 && borrowAmt > 0) { Budget borrowBudget = budgetHelper.getBudgetByPaydate(deptId, entity.getxPAY_DATE()); BudgetAction borrowOutAction = new BudgetAction(); borrowOutAction.setxBUDGET_xID(borrowBudget.getxID()); borrowOutAction.setxPAYMENT_ID(entity.getxID()); borrowOutAction.setxACTION(MessageConsts.BUDGET_TYPE_BORROW_OUT); borrowOutAction.setxSOURCE_AMT(borrowBudget.getxBALANCE_AMT()); borrowOutAction.setxACTION_AMT(borrowAmt); borrowOutAction.setxCREATER_ID(user.getxLOGIN_ID()); budgetActionHelper.insert(borrowOutAction); borrowBudget.setxBALANCE_AMT(Calculator.sub(borrowBudget.getxBALANCE_AMT(), borrowAmt)); budgetHelper.update(borrowBudget); BudgetAction borrowInAction = new BudgetAction(); borrowInAction.setxBUDGET_xID(currentBudget.getxID()); borrowInAction.setxPAYMENT_ID(entity.getxID()); borrowInAction.setxACTION(MessageConsts.BUDGET_TYPE_BORROW_IN); borrowInAction.setxSOURCE_AMT(currentBudget.getxBALANCE_AMT()); borrowInAction.setxACTION_AMT(borrowAmt); borrowInAction.setxRELATED_BUDGET_ACTION_ID(borrowOutAction.getxID()); borrowInAction.setxCREATER_ID(user.getxLOGIN_ID()); budgetActionHelper.insert(borrowInAction); borrowOutAction.setxRELATED_BUDGET_ACTION_ID(borrowInAction.getxID()); budgetActionHelper.update(borrowOutAction); } double currentBalanceAmt = Calculator.add( Calculator.sub(currentBudget.getxBALANCE_AMT(), entity.getxPAY_AMT()), borrowAmt); currentBudget.setxBALANCE_AMT(currentBalanceAmt); budgetHelper.update(currentBudget); }
private void edit(HttpServletRequest request) throws Exception { BudgetHelper budgetHelper = AppContextUtil.getAppContext().getBean("budgetHelper", BudgetHelper.class); BudgetActionHelper actionHelper = AppContextUtil.getAppContext().getBean("budgetActionHelper", BudgetActionHelper.class); PaymentHelper paymentHelper = AppContextUtil.getAppContext().getBean("paymentHelper", PaymentHelper.class); // Get payment entity // --> logger.info("----->PaymentEditAction into edit<-----"); // Get the entity Payment payment = setEntity(request); paymentHelper.saveEntity(payment); payment = paymentHelper.getPayment(payment.getxID(), true); // Roll back old records rollBackPreviousAction(payment); // HandleBudget handleBudget(request, payment); // Past the data to the Jsp Budget budget = null; double borrowAmt = 0.0; int borrowDeptId = 0; int borrowBudgetId = 0; logger.info("----->PaymentEditAction into Search Ready to Get the actionList "); List<BudgetAction> actionList = actionHelper.getActionByActionTypeAndPaymentID( MessageConsts.BUDGET_TYPE_BORROW_OUT, payment.getxID()); logger.info( "----->PaymentEditAction into Search 2.Get the budget and budget action actionList size" + actionList.size()); if (actionList != null && actionList.size() > 0) { logger.info("----->PaymentEditAction into Search borrow From Other"); BudgetAction borrowOutAction = actionList.get(0); if (borrowOutAction != null) { // Get the borrow amt borrowAmt = borrowOutAction.getxACTION_AMT(); // Get the borrow dept by budget borrowBudgetId = borrowOutAction.getxBUDGET_xID(); if (borrowBudgetId > 0) { budget = budgetHelper.getBudget(borrowBudgetId, false); if (budget != null) { borrowDeptId = budget.getxDEPT_xID(); } } } } request.setAttribute("xID", payment.getxID()); request.setAttribute("entity", payment); // request.setAttribute("borrowFromOther", borrowFromOther); request.setAttribute("borrowAmt", borrowAmt); request.setAttribute("borrowDeptId", borrowDeptId); request.setAttribute("hasSave", AppConsts.YES); logger.info("----->PaymentEditAction End of Edit Method <-----"); }