예제 #1
0
  @Override
  public String execute() {
    HttpServletRequest request = ServletActionContext.getRequest();
    User entity;
    UserHelper userHelper = AppContextUtil.getAppContext().getBean("userHelper", UserHelper.class);
    try {
      String createUserLoginId = ParamUtil.getString(request, "createUserLoginId");
      if (userHelper.getUserByUserId(createUserLoginId) != null) {
        request.setAttribute(
            AppConsts.MSG_ERROR, MessageHelper.getMessage(MessageConsts.USER_EXIST));
        return ERROR;
      }

      entity = setEntity(request);

      userHelper.saveEntity(entity);
    } catch (Exception e) {
      if (MessageConsts.MSG_COMMON_SESSION_TIMEOUT.equals(e.getMessage())) {
        request.setAttribute(AppConsts.MSG_ERROR, MessageHelper.getMessage(e.getMessage()));
      } else {
        request.setAttribute(
            AppConsts.MSG_ERROR, MessageHelper.getMessage(MessageConsts.MSG_PAYMENT_ERROR));
      }
      return ERROR;
    }
    request.setAttribute("xID", String.valueOf(entity.getxID()));

    request.setAttribute(
        AppConsts.MSG_SUCCESS, MessageHelper.getMessage(MessageConsts.MSG_COMMON_SUBMIT_SUC));
    entity = userHelper.getUserByXId(entity.getxID());
    // request.setAttribute("entity", entity);
    return SUCCESS;
  }
예제 #2
0
 @Override
 public String execute() {
   logger.info("----->PaymentEditAction execute");
   HttpServletRequest request = ServletActionContext.getRequest();
   // Handle The Switch
   String method = ParamUtil.getString(request, "methodName");
   try {
     if ("search".equals(method)) {
       // TODO
       logger.info("----->PaymentEditAction do Search");
       search(request);
     } else if ("edit".equals(method)) {
       logger.info("----->PaymentEditAction do Edit");
       try {
         // TODO
         edit(request);
       } catch (Exception e) {
         // TODO Auto-generated catch block
         e.printStackTrace();
       }
     }
   } catch (Exception e) {
     if (MessageConsts.MSG_COMMON_SESSION_TIMEOUT.equals(e.getMessage())) {
       request.setAttribute(AppConsts.MSG_ERROR, MessageHelper.getMessage(e.getMessage()));
     } else {
       request.setAttribute(
           AppConsts.MSG_ERROR, MessageHelper.getMessage(MessageConsts.MSG_PAYMENT_ERROR));
     }
     return ERROR;
   }
   return SUCCESS;
 }
예제 #3
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");
  }
예제 #4
0
  private User 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();
    User entity = new User();

    DeptHelper deptHelper = AppContextUtil.getAppContext().getBean("deptHelper", DeptHelper.class);
    String deptId = ParamUtil.getString(request, "deptId");
    Dept dept = deptHelper.getByXID(Integer.valueOf(deptId), true);
    // ParamUtil.setSessionAttr(request, "dept", dept);
    String createUserLoginId = ParamUtil.getString(request, "createUserLoginId");
    String createUserDisplayName = ParamUtil.getString(request, "createUserDisplayName");
    String createUserPWD = ParamUtil.getString(request, "createUserPWD");
    String sourcexID = ParamUtil.getString(request, "xID");

    if (!StringUtil.isEmpty(sourcexID)) {
      entity.setxID(Integer.valueOf(sourcexID));
      entity.setxUPDATE_ID(userId);
    } else {
      entity.setxCREATER_ID(userId);
    }

    entity.setxDEPT_xID(Integer.valueOf(deptId));
    entity.setxPRIVILEGE_xID(dept.getPrivilege().getxID());
    entity.setxPRIVILEGE_xNAME(dept.getPrivilege().getxPRIVILEGE_NAME());
    entity.setxLOGIN_ID(createUserLoginId);
    entity.setxDISPLAY_NAME(createUserDisplayName);
    entity.setxPWD(createUserPWD);

    return entity;
  }
예제 #5
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;
  }
예제 #6
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);
  }