Esempio n. 1
0
  private Payment setEntity(HttpServletRequest request) throws Exception {
    User user = (User) ParamUtil.getSessionAttr(request, "LOGIN_USER");
    if (user == null) throw new Exception(MessageConsts.MSG_COMMON_SESSION_TIMEOUT);
    String userId = user.getxLOGIN_ID();
    Payment entity = new Payment();
    int companyPrincipleId = ParamUtil.getInt(request, "companyPrincipleId");
    int projectId = ParamUtil.getInt(request, "projectId");
    int companyId = -1;

    CompanyPrincipalHelper companyPrincipalHelper =
        AppContextUtil.getAppContext()
            .getBean("companyPrincipalHelper", CompanyPrincipalHelper.class);
    CompanyPrincipal companyPrincipal =
        companyPrincipalHelper.getCompanyPrincipal(companyPrincipleId);
    if (companyPrincipal != null) {
      companyId = companyPrincipal.getxCOMPANY_xID();
    }

    double payAmt = ParamUtil.getDouble(request, "payAmt");
    Date payDate = ParamUtil.getDate(request, "payDate");
    String sourcexID = ParamUtil.getString(request, "xID");
    /*		String paymentWhat = URLDecoder.decode(ParamUtil.getString(request, "paymentWhat"), "utf-8");
    String remark = URLDecoder.decode(ParamUtil.getString(request, "remark"), "utf-8");*/

    String paymentWhat = ParamUtil.getString(request, "paymentWhat");
    String remark = ParamUtil.getString(request, "remark");

    if (!StringUtil.isEmpty(sourcexID)) {
      entity.setxID(Integer.valueOf(sourcexID));
      entity.setxUPDATE_ID(userId);
    } else {
      entity.setxCREATER_ID(userId);
    }
    entity.setxPAY_AMT(payAmt);
    entity.setxPAY_DATE(payDate);
    entity.setxPAY_REASON(paymentWhat);
    entity.setxREMARK(remark);
    entity.setxCOMPANY_PRINCIPAL_xID(companyPrincipleId);
    entity.setxPROJECT_xID(projectId);
    entity.setxCOMPANY_xID(companyId);

    return entity;
  }
Esempio n. 2
0
  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");
  }
Esempio n. 3
0
  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);
  }