Examples of Approver


Examples of com.defaultcompany.external.model.Approver

    sql.append(" VALUES (?       , ?           , ?           , ?                 , ?        , ?           , ?          , ?           , ?     , ?     , ?           ) ");
   
    BatchPreparedStatementSetter pss = new BatchPreparedStatementSetter() {
     
      public void setValues(PreparedStatement ps, int index) throws SQLException {
        Approver approver = approverList.get(index);
        int parameterIndex = 1;
        ps.setString(parameterIndex++, approver.getApprovalKey());
        ps.setInt(parameterIndex++, approver.getVersion());
        ps.setString(parameterIndex++, approver.getEmpCode());
        ps.setString(parameterIndex++, approver.getTruthEmpCode());
        ps.setString(parameterIndex++, approver.getType());
        ps.setString(parameterIndex++, approver.getComment());
        ps.setString(parameterIndex++, approver.getStatus());
        ps.setTimestamp(parameterIndex++, approver.getEndDate());
        ps.setString(parameterIndex++, approver.getTaskId());
        ps.setString(parameterIndex++, approver.getTracingTag());
        ps.setInt(parameterIndex++, approver.getOrder());
      }
     
      public int getBatchSize() {
        return approverList.size();
      }
View Full Code Here

Examples of com.defaultcompany.external.model.Approver

    sql.append(" WHERE APPR_KEY = ? AND APPR_ORDERBY = ? AND APPR_VERSION = ? ");
   
    BatchPreparedStatementSetter pss = new BatchPreparedStatementSetter() {
     
      public void setValues(PreparedStatement ps, int index) throws SQLException {
        Approver approver = approverList.get(index);
        int parameterIndex = 1;
        ps.setString(parameterIndex++, approver.getTaskId());
        ps.setString(parameterIndex++, approver.getTruthEmpCode());
        ps.setString(parameterIndex++, approver.getStatus());
        ps.setTimestamp(parameterIndex++, approver.getEndDate());
        ps.setString(parameterIndex++, approver.getTracingTag());
        ps.setString(parameterIndex++, approver.getComment());
       
        ps.setString(parameterIndex++, approver.getApprovalKey());
        ps.setInt(parameterIndex++, approver.getOrder());
        ps.setInt(parameterIndex++, approver.getVersion());
      }
     
      public int getBatchSize() {
        return approverList.size();
      }
View Full Code Here

Examples of com.defaultcompany.external.model.Approver

  }
 
  class ApproverRowMapper implements RowMapper {

    public Object mapRow(ResultSet rs, int arg1) throws SQLException {
      Approver approver = new Approver();
      approver.setApprovalKey(rs.getString("APPR_KEY"));
      approver.setVersion(rs.getInt("APPR_VERSION"));
      approver.setComment(rs.getString("APPR_COMMENT"));
      approver.setEndDate(rs.getTimestamp("APPR_ENDDATE"));
      approver.setType(rs.getString("APPR_TYPE"));
      approver.setStatus(rs.getString("APPR_STATUS"));
      approver.setTaskId(rs.getString("TASKID"));
      approver.setTracingTag(rs.getString("TRCTAG"));
      approver.setOrder(rs.getInt("APPR_ORDERBY"));
     
      approver.setEmpCode(rs.getString("APPR_EMPCODE"));
      approver.setTruthEmpCode(rs.getString("APPR_TRUTH_EMPCODE"));
     
      return approver;
    }
View Full Code Here

Examples of com.defaultcompany.external.model.Approver

     
      //반려시에는 ExternalApprovalActivity 의 afterComplete 를 타지 않는다.(바로 윗줄에 보면 worklist 테이블만 update 시킨다.) 따라서 수동 update
      Calendar endTime = GlobalContext.getNow(instance.getProcessTransactionContext());
     
      ApproverDAO approverDAO = new ApproverDAO(DefaultConnectionFactory.create().getDataSource());
      Approver approver = approverDAO.getByInstanceIdAndTracingTag(aacMsg.getApprovalKey(), Integer.parseInt(instance.getInstanceId()), aacMsg.getTracingTag());
      approver.setTruthEmpCode(aacMsg.getEndpoint());
      approver.setTaskId(approvalAct.getTaskIds(instance)[0]);
      approver.setStatus(ExternalApprovalActivity.SIGN_REJECT);
      approver.setEndDate(new Timestamp(endTime.getTimeInMillis()));
      approver.setComment(aacMsg.getComment());
      approverDAO.update(approver);
     
     
      //반려 로직
      ExternalApprovalLineActivity approvalLineAct = approvalAct.getApprovalLineActivity();
      int rejectOption = approvalLineAct.getRejectOption();
     
      // 기안 단계로 반려
      if (rejectOption == ExternalApprovalLineActivity.LOOPING_OPTION_BACK_TO_DRAFT) {
        approvalLineAct.getDraftActivity().compensateToThis(instance);
       
        // 결재 DB update
        List<Approver> _approverList = approverDAO.list(aacMsg.getApprovalKey());
        int version = _approverList.get(0).getVersion() + 1;
        for (int i = 0; i < _approverList.size(); i++) {
          Approver _approver = _approverList.get(i);
          _approver.setVersion(version);
          _approver.setComment(null);
          _approver.setEndDate(null);
          _approver.setTruthEmpCode(null);
          _approver.setStatus(null);
         
          if (i > 0) {
            _approver.setTracingTag(null);
            _approver.setTaskId(null);
          }
        }
        approvalLine.setVersion(version);
        approvalLineDAO.update(approvalLine);
        approverDAO.add(_approverList);
     
      // 바로 이전 결재로 반려
      } else if (rejectOption == ExternalApprovalLineActivity.LOOPING_OPTION_BACK_TO_PREV) {
        Vector<? extends Activity> childActs = approvalLineAct.getChildActivities();
        Activity currentAct = instance.getProcessDefinition().getActivity(aacMsg.getTracingTag());
        int prevIndex = 0;
        if (currentAct.getParentActivity() instanceof AllActivity) {
          prevIndex = childActs.indexOf(currentAct.getParentActivity()) - 1
        } else {
          prevIndex = childActs.indexOf(approvalAct) - 1;
        }
       
        Activity prevAct = childActs.get(prevIndex);
       
        Approver prevApprover = approverDAO.getByInstanceIdAndTracingTag(aacMsg.getApprovalKey(), Integer.parseInt(instance.getInstanceId()), prevAct.getTracingTag());
       
        prevAct.compensateToThis(instance);
       
        // ExternalApprovalActivity 의 afterExecute() 를 타기 때문에 강제로 다시 update
        approverDAO.update(prevApprover);
       
       
        // 결재 DB update
        List<Approver> _approverList = approverDAO.list(aacMsg.getApprovalKey());
        int version = _approverList.get(0).getVersion() + 1;
        for (int i = 0; i < _approverList.size(); i++) {
          Approver _approver = _approverList.get(i);
          _approver.setVersion(version);
         
          if ( aacMsg.getTracingTag().equalsIgnoreCase(_approver.getTracingTag()) &&
              _approver.getTaskId().equalsIgnoreCase(aacMsg.getTaskId()) ) {
           
            // 현재 결재자
            _approver.setComment(null);
            _approver.setEndDate(null);
            _approver.setTruthEmpCode(null);
            _approver.setStatus(null);
            _approver.setTaskId(null);
           
            // 이전 결재자
            Approver _prevApprover = _approverList.get(i - 1);
            _prevApprover.setComment(null);
            _prevApprover.setEndDate(null);
            _prevApprover.setTruthEmpCode(null);
            _prevApprover.setStatus(null);
           
          }
        }
        approvalLine.setVersion(version);
        approvalLineDAO.update(approvalLine);
        approverDAO.add(_approverList);
     
      // 플래그로 반려
      } else if (rejectOption == ExternalApprovalLineActivity.LOOPING_OPTION_BACK_TO_FLAG) {
        BackActivity backActivity = new BackActivity();
        backActivity.setTargetSource(BackActivity.Flag);
        backActivity.setFlag(approvalLineAct.getFlag());
        backActivity.executeActivity(instance);
       
      // 결재선 종료
      } else if (rejectOption == ExternalApprovalLineActivity.LOOPING_OPTION_FINISH) {
        approvalAct.setEndTime(instance, endTime);
        approvalAct.getApprovalLineActivity().fireComplete(instance);
       
      }
     
   
    // 전결
    } else if (ExternalApprovalActivity.SIGN_ARBITRARY_APPROVED.equalsIgnoreCase(aacMsg.getApprovalStatus())) {
     
      ExternalApprovalActivity approvalAct = (ExternalApprovalActivity) instance.getProcessDefinition().getActivity(aacMsg.getTracingTag());
      approvalAct.setApprovalStatus(instance, ExternalApprovalActivity.SIGN_ARBITRARY_APPROVED);
     
      String taskId = approvalAct.getTaskIds(instance)[0];
      Calendar endTime = GlobalContext.getNow(instance.getProcessTransactionContext());
      instance.getWorkList().completeWorkItem(taskId, new KeyedParameter[]{}, instance.getProcessTransactionContext());
      approvalAct.setEndTime(instance, endTime);

      //전결시에는 NavienApprovalActivity 의 afterComplete 를 타지 않는다.(바로 윗줄에 보면 worklist 테이블만 update 시킨다.) 따라서 수동 update
      ApproverDAO approverDAO = new ApproverDAO(DefaultConnectionFactory.create().getDataSource());
      Approver approver = approverDAO.getByInstanceIdAndTracingTag(aacMsg.getApprovalKey(), Integer.parseInt(instance.getInstanceId()), aacMsg.getTracingTag());
      approver.setTruthEmpCode(aacMsg.getEndpoint());
      approver.setTaskId(taskId);
      approver.setStatus(ExternalApprovalActivity.SIGN_ARBITRARY_APPROVED);
      approver.setEndDate(new Timestamp(endTime.getTimeInMillis()));
      approver.setComment(aacMsg.getComment());
      approverDAO.update(approver);
     
      approvalAct.getApprovalLineActivity().fireComplete(instance);
     
    }   
View Full Code Here

Examples of com.defaultcompany.external.model.Approver

    }
   
    if (readyIndex > 0) {
      String preApprovalType = null;
      for (int i = readyIndex; i < approverList.size(); i++) {
        Approver approver = approverList.get(i);
       
        ExternalApprovalActivity childAct = (ExternalApprovalActivity) draftAct.clone();
        childAct.setName("결재");
        childAct.setTracingTag(null);
        childAct.setRole(null);
        childAct.setApprovalTypeByString(approver.getType());
       
        RoleMapping rm = RoleMapping.create();
        rm.setEndpoint(approver.getEmpCode());
        rm.fill(instance);
       
        // 결재 -> 합의
        if (!ExternalApprovalActivity.APPROVAL_TYPE_COOPERATION.equals(preApprovalType) && ExternalApprovalActivity.APPROVAL_TYPE_COOPERATION.equals(approver.getType())) {
          AllActivity allAct = new AllActivity();
          allAct.setTracingTag(null);
         
          parent.addChildActivity(allAct);
          parent = allAct;
        // 합의 -> 결재
        } else if (ExternalApprovalActivity.APPROVAL_TYPE_COOPERATION.equals(preApprovalType) && !ExternalApprovalActivity.APPROVAL_TYPE_COOPERATION.equals(approver.getType())) {
          parent = (ComplexActivity) approvalLineAct;
        }
       
        parent.addChildActivity(childAct);
        childAct.setApprover(instance, rm);
       
        approver.setTracingTag(childAct.getTracingTag());
       
        preApprovalType = approver.getType();
      }
     
      pm.changeProcessDefinition(alcMsg.getInstanceId(), tempPd);
      approverDAO.update(approverList);
    }
View Full Code Here

Examples of com.defaultcompany.external.model.Approver

  public void afterExecute(ProcessInstance instance) throws Exception {
   
    if (this.getApprovalType() > 1) {
      ApproverDAO alDAO = new ApproverDAO(DefaultConnectionFactory.create().getDataSource());
      String approvalKey = (String) instance.getProperty(approvalLineActivity.getTracingTag(), ExternalApprovalLineActivity.KEY_APPR_KEY);
      Approver approver = alDAO.getByInstanceIdAndTracingTag(approvalKey, Integer.parseInt(instance.getInstanceId()), getTracingTag());
      if (approver != null) {
        approver.setTaskId(getTaskIds(instance)[0]);
        approver.setStatus(null);
        alDAO.update(approver)
      }
    }
   
    super.afterExecute(instance);
View Full Code Here

Examples of com.defaultcompany.external.model.Approver

    }
   
    if (this.getApprovalType() > 1) {
      ApproverDAO alDAO = new ApproverDAO(DefaultConnectionFactory.create().getDataSource());
      String approvalKey = (String) instance.getProperty(approvalLineActivity.getTracingTag(), ExternalApprovalLineActivity.KEY_APPR_KEY);
      Approver approver = alDAO.getByInstanceIdAndTracingTag(approvalKey, Integer.parseInt(instance.getInstanceId()), getTracingTag());
      if (approver != null) {
        approver.setTruthEmpCode(getRole().getMapping(instance).getEndpoint());
        approver.setTaskId(getTaskIds(instance)[0]);
        approver.setStatus(ExternalApprovalActivity.SIGN_APPROVED);
        approver.setEndDate(new Timestamp(Calendar.getInstance().getTimeInMillis()));
        approver.setComment(instance.getProcessTransactionContext().getServletRequest().getParameter("comment"));
        alDAO.update(approver);
      }
    }
   
    super.afterComplete(instance);
View Full Code Here

Examples of org.apache.isis.example.application.claims.dom.claim.Approver

    @Test
    public void cannotSubmitTwice() throws Exception {
        final Claim tomsSubmittedClaim = tomsSubmittedClaim();
        try {
            final Approver approver = tomEmployee.getDefaultApprover();
            tomsSubmittedClaim.submit(approver);
            fail("Should not be able to submit again");
        } catch (final DisabledException e) {
            assertThat(e.getMessage(), Matchers.containsString("Claim has already been submitted"));
        }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.