작업일지

서비스에서 Rank 구하기

소마후니 2015. 9. 14. 18:47


if(pstContKey->lCnty == 1) //처음 데이터가 들어왔을때
    {
        pstMsg->OutLst[i].lRnk = pstContKey->lCntx; //순위 1을 넣어준다
        pstContKey->lAmt = pdbFetlSlTblEmpPrfm01->o.lBnsctrAmt[nIdx]; //첫번째 데이터의 금액을 구조체에 임시로 저장해둔다.
        pstContKey->lCnty++;
    }
    else //처음이 아닌 2번째 이후 데이터인경우
    {
        if(pstContKey->lAmt == pdbFetlSlTblEmpPrfm01->o.lBnsctrAmt[nIdx]) //이전데이터의 금액과 현재 금액이 같은경우
        {
            pstMsg->OutLst[i].lRnk = pstContKey->lCntx; //이전데이터의 순위를 그대로 넣어준다.
            pstContKey->lAmt = pdbFetlSlTblEmpPrfm01->o.lBnsctrAmt[nIdx];
            pstContKey->lCnty++;
        }
        else
        {
            pstMsg->OutLst[i].lRnk = pstContKey->lCnty;
            pstContKey->lAmt = pdbFetlSlTblEmpPrfm01->o.lBnsctrAmt[nIdx];
            pstContKey->lCntx = pstContKey->lCnty;  //현재의 순위를 lCntx에 넣어준다.
            pstContKey->lCnty++;
        }
    }