예제 #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
  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;
  }
예제 #3
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;
  }
예제 #4
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);
  }