Example #1
0
        /**
         * @breif  결재관리 마지막 결재자 이름/직위 를  반환한다.
         * @return 결재관리 마지막 결재자 이름/직위
         */
        public ApproverHist GetApprLastApproverHistData(ApproverHist ApprHist)
        {
            List <ApproverHist> approverHist = null;

            approverHist = GetApproverInfoHist();
            if ((approverHist == null) || (approverHist.Count <= 0))
            {
                ApprHist = null;
                return(ApprHist);
            }

            string       strUserID = GetTagData("CLIENTID");
            ApproverHist temp      = null;

            for (int i = 0; i < approverHist.Count; i++)
            {
                temp = approverHist[i];
                if (temp == null)
                {
                    continue;
                }

                if (temp.m_strApproverID.Equals(strUserID))
                {
                    ApprHist = temp;
                    break;
                }
            }
            return(ApprHist);
        }
Example #2
0
        /**
         * @breif  전송관리 마지막 결재자 이름/직위 를  반환한다.
         * @return 전송관리 마지막 결재자 이름/직위
         */
        public ApproverHist GetTransLastApproverHistData(ApproverHist ApprHist)
        {
            List <ApproverHist> approverHist = null;

            approverHist = GetApproverInfoHist();
            if ((approverHist == null) || (approverHist.Count <= 0))
            {
                ApprHist = null;
                return(ApprHist);
            }

            string       strApproveWait   = xmlConf.GetTitle("T_COMMON_APPROVE_WAIT");      // 승인대기
            string       strApporve       = xmlConf.GetTitle("T_COMMON_APPROVE");           // 승인
            string       strReject        = xmlConf.GetTitle("T_COMMON_REJECTION");         // 반려
            string       strCancel        = xmlConf.GetTitle("T_COMMON_REQUESTCANCEL");     // 요청취소
            string       strCurApprStatus = "";
            string       strPreApprStatus = "";
            ApproverHist temp             = null;

            for (int i = 0; i < approverHist.Count; i++)
            {
                temp = approverHist[i];
                if (temp == null)
                {
                    continue;
                }

                strCurApprStatus = temp.m_strApprStatus;
                if (strCurApprStatus.Equals(strReject))                                     // 반려이면 마지막 결재자
                {
                    ApprHist = temp;
                    break;
                }

                if (
                    (strPreApprStatus.Equals(strReject)) ||                                 // 반려
                    (strPreApprStatus.Equals(strApproveWait)) ||                            // 승인대기
                    (strPreApprStatus.Equals(strCancel))                                    // 요청취소
                    )
                {
                    if (!strPreApprStatus.Equals(strApporve))
                    {
                        continue;
                    }
                }
                else
                {
                    ApprHist = temp;
                }

                strPreApprStatus = strCurApprStatus;
            }
            return(ApprHist);
        }
Example #3
0
        /**
         * @breif  결재 이력 정보를 반환한다..
         * @return 결재 이력 리스트
         */
        public List <ApproverHist> GetApproverInfoHist()
        {
            List <ApproverHist> approverHist = new List <ApproverHist>();
            ApproverHist        tmpApprover;

            List <Dictionary <int, string> > DicData = null;

            DicData = GetApproverInfo();

            if (DicData == null)
            {
                return(null);
            }

            int nApproverCount = DicData.Count;

            if (nApproverCount <= 0)
            {
                return(null);
            }

            string strApprUserID  = "";             // 결재자 ID
            string strApprName    = "";             // 결재자 이름
            string strApprPos     = "";             // 결재자 직급 및 직위
            string strApprDate    = "";             // 결재일
            string strApprStatus  = "";             // 결재 상태
            string strApprReason  = "";             // 반려사유
            string strApprStep    = "";             // 결재 Step
            string strPrivacyAppr = "";             // 보안결재자 여부.

            string strPreApprStatusCode = "";       // 이전 결재상태
            string strApprStatusCode    = "";       // 결재 상태 원본코드

            for (int i = 0; i < nApproverCount; i++)
            {
                Dictionary <int, string> Dictemp = DicData[i];
                if (Dictemp.TryGetValue(0, out strApprUserID))      // 결재자 ID
                {
                    strApprUserID = Dictemp[0];
                }
                else
                {
                    strApprUserID = "-";
                }

                if (Dictemp.TryGetValue(1, out strApprName))      // 결재자 이름
                {
                    strApprName = Dictemp[1];
                }
                else
                {
                    strApprName = "-";
                }

                if (Dictemp.TryGetValue(2, out strApprPos))      // 결재자 직급 및 직위
                {
                    strApprPos = Dictemp[2];
                }
                else
                {
                    strApprPos = "-";
                }

                if (Dictemp.TryGetValue(3, out strApprDate))      // 결재일
                {
                    strApprDate = Dictemp[3];
                }
                else
                {
                    strApprDate = "-";
                }

                if (Dictemp.TryGetValue(4, out strApprStatus))      // 결재 상태
                {
                    strApprStatus = Dictemp[4];
                }
                else
                {
                    strApprStatus = "-";
                }

                if (Dictemp.TryGetValue(5, out strApprReason))      // 반려 사유
                {
                    strApprReason = Dictemp[5];
                }
                else
                {
                    strApprReason = "-";
                }

                if (Dictemp.TryGetValue(6, out strApprStep))      // 결재 Step
                {
                    strApprStep = Dictemp[6];
                }
                else
                {
                    strApprStep = "-";
                }

                if (Dictemp.TryGetValue(7, out strPrivacyAppr))      // 보안결재자 여부.
                {
                    strPrivacyAppr = Dictemp[7];
                }
                else
                {
                    strPrivacyAppr = "-";
                }


                strApprName = strApprName + " " + strApprPos;        // 승인자 정보 (이름 + 직위)

                strApprStatusCode = strApprStatus;

                if (!strApprStatus.Equals(""))
                {
                    int nApprStatus = Convert.ToInt32(strApprStatus);
                    switch (nApprStatus)
                    {
                    case 1:
                        strApprStatus = xmlConf.GetTitle("T_COMMON_APPROVE_WAIT");                  // 승인대기
                        break;

                    case 2:
                        strApprStatus = xmlConf.GetTitle("T_COMMON_APPROVE");                       // 승인
                        break;

                    case 3:
                        strApprStatus = xmlConf.GetTitle("T_COMMON_REJECTION");                     // 반려
                        break;

                    default:
                        strApprStatus = "-";
                        break;
                    }
                }

                if (strApprStatusCode.Equals("1"))
                {
                    strApprDate = "-";
                }
                else if (strApprStatusCode.Equals("2"))
                {
                    strApprReason = "-";
                }

                string strTransStatus = GetBasicTagData("TRANSSTATUS");
                if ((strTransStatus.Equals("C")) || (strTransStatus.Equals("F")))             // 전송취소 이거나 전송실패
                {
                    if ((!strApprStatusCode.Equals("2")) && (!strApprStatusCode.Equals("3"))) // 승인이 아니고 반려가 아니라면
                    {
                        strApprDate   = "-";
                        strApprReason = "-";
                        strApprStatus = xmlConf.GetTitle("T_COMMON_REQUESTCANCEL");       // 요청취소
                    }
                }

                if (strPreApprStatusCode.Equals("3"))
                {
                    strApprDate   = "-";
                    strApprReason = "-";
                    strApprStatus = xmlConf.GetTitle("T_COMMON_REQUESTCANCEL");       // 요청취소
                }
                else
                {
                    strPreApprStatusCode = strApprStatusCode;
                }

                if (strApprReason.Equals(""))
                {
                    strApprReason = "-";
                }
                else if (strApprDate.Equals(""))
                {
                    strApprDate = "-";
                }
                tmpApprover = new ApproverHist();
                tmpApprover.SetData(strApprUserID, strApprName, strApprStatus, strApprDate, strApprReason, strApprStep);
                if (strApprStep != "-")
                {
                    tmpApprover.m_nApprStep = int.Parse(strApprStep);
                }
                else
                {
                    tmpApprover.m_nApprStep = 0;
                }
                approverHist.Add(tmpApprover);
            }

            return(approverHist);
        }