/** * @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); }
/** * @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); }
/** * @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); }