Package com.defaultcompany.external.activities

Examples of com.defaultcompany.external.activities.ExternalApprovalLineActivity


      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);
View Full Code Here

TOP

Related Classes of com.defaultcompany.external.activities.ExternalApprovalLineActivity

Copyright © 2018 www.massapicom. 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.