oMeter := TDrMeta():New( "¿¬Ã¼ ÀÌÀÚ¸¦ °è»êÁßÀÔ´Ï´Ù.", "Wait...", ::oFindDb:RecCount() )
WHILE !::oFindDb:Eof()
cQuery := "select * from m_payin where "
cQuery += " J_NO = " + Clip2Sql( ::oFindDb:J_NO )+ " and "
cQuery += " PAY_CODE = " + Clip2Sql( ALLTRIM( ::oFindDb:PAY_CODE ) ) + " and "
cQuery += " PAY_CODE2 = " + Clip2Sql( ALLTRIM( ::oFindDb:PAY_CODE2 ) )
cQuery += " order by PAY_IN_DATE"
oFindDb2:Query( cQuery )
//::Get_PayIn( oFindDb2, ::oFindDb:J_NO, ::oFindDb:PAY_CODE, ::oFindDb:PAY_CODE2 )
IF (::oFindDb:PAY_MONEY == oFindDb2:PAY_IN_MONEY) .AND. (::oFindDb:PAY_DATE == oFindDb2:PAY_IN_DATE)
::oFindDb:Skip()
LOOP
ENDIF
oMeter:SetData( ::oFindDb:RecNo(),,,,,.f. )
/*
¿ÏÀü¹Ì³³
*/
IF oFindDb2:RecCount() == 0
oDispDb:Append()
oDispDb:J_NO := ::oFindDb:J_NO
oDispDb:I_PAY_CODE := ::oFindDb:PAY_CODE
oDispDb:I_PAY_CODE2 := ::oFindDb:PAY_CODE2
oDispDb:I_DESC := ::oFindDb:PAY_NAME
oDispDb:I_DATE1 := ::oFindDb:PAY_DATE
oDispDb:I_DATE2 := dDate
oDispDb:I_MONEY := ::oFindDb:PAY_MONEY
oDispDb:I_IN_MONEY := 0
oDispDb:I_JAN := ::oFindDb:PAY_MONEY
oDispDb:I_DAYS := Dr_ELAPSED( oDispDb:I_DATE1, oDispDb:I_DATE2 )[1][1] + 1
oDispDb:I_RATIO := ::oFindDb:PAY_RATIO
oDispDb:I_FEE := Count_Fee( oDispDb:I_JAN, ::oFindDb:PAY_RATIO, oDispDb:I_DAYS, oDispDb )
oDispDb:Save()
::oFindDb:Skip()
LOOP
ENDIF
nPayMoney := ::oFindDb:PAY_MONEY
nINMoney := oFindDb2:PAY_IN_MONEY
dPaydate := ::oFindDb:PAY_DATE
/*
½±°Ô »ý°¢ Çϱâ À§ÇØ ºÐ¸®ÇÔ
*/
WHILE !oFindDb2:Eof()
nINMoney := oFindDb2:PAY_IN_MONEY
IF oFinddb2:RecNo() > 1
IF EMPTY( oDispDb:I_DATE2 )
IF nInMoney == nPayMoney .AND. oDispDb:I_DATE1 == oFindDb2:PAY_IN_DATE
oDispDb:I_DATE2 := oFindDb2:PAY_IN_DATE
ELSE
oDispDb:I_DATE2 := oFindDb2:PAY_IN_DATE -1
ENDIF
oDispDb:I_JAN := nPayMoney
oDispDb:I_RATIO := ::oFindDb:PAY_RATIO
oDispDb:I_DAYS := Dr_ELAPSED( oDispDb:I_DATE1, oDispDb:I_DATE2 )[1][1]
oDispDb:I_FEE := Count_Fee( oDispDb:I_JAN, ::oFindDb:PAY_RATIO, oDispDb:I_DAYS, oDispDb )
oDispDb:Save()
ENDIF
ENDIF
oDispDb:Append()
oDispDb:J_NO := ::oFindDb:J_NO
oDispDb:I_PAY_CODE := ::oFindDb:PAY_CODE
oDispDb:I_PAY_CODE2 := ::oFindDb:PAY_CODE2
oDispDb:I_DESC := ::oFindDb:PAY_NAME
oDispDb:I_DATE1 := ::oFindDb:PAY_DATE
oDispDb:I_MONEY := nPayMoney
oDispDb:Save()
IF nPayMoney <= oFindDb2:PAY_IN_MONEY
oDispDb:I_DATE2 := oFindDb2:PAY_IN_DATE
oDispDb:I_IN_MONEY := nInMoney
oDispDb:I_JAN := nInMoney
oDispDb:I_RATIO := ::oFindDb:PAY_RATIO
oDispDb:I_DAYS := Dr_ELAPSED( oDispDb:I_DATE1, oDispDb:I_DATE2 )[1][1]
oDispDb:I_FEE := Count_Fee( oDispDb:I_JAN, ::oFindDb:PAY_RATIO, oDispDb:I_DAYS, oDispDb )
oDispDb:Save()
oFindDb2:Skip()
LOOP
ELSE
oDispDb:I_DATE2 := oFindDb2:PAY_IN_DATE
oDispDb:I_IN_MONEY := nInMoney
oDispDb:I_JAN := nInMoney
oDispDb:I_RATIO := ::oFindDb:PAY_RATIO
oDispDb:I_DAYS := Dr_ELAPSED( oDispDb:I_DATE1, oDispDb:I_DATE2 )[1][1]
oDispDb:I_FEE := Count_Fee( oDispDb:I_JAN, ::oFindDb:PAY_RATIO, oDispDb:I_DAYS, oDispDb )
oDispDb:Save()
nPayMoney := ::oFindDb:PAY_MONEY - oFindDb2:PAY_IN_MONEY
oDispDb:Append()
oDispDb:J_NO := ::oFindDb:J_NO
oDispDb:I_PAY_CODE := ::oFindDb:PAY_CODE
oDispDb:I_PAY_CODE2 := ::oFindDb:PAY_CODE2
oDispDb:I_DESC := ::oFindDb:PAY_NAME
oDispDb:I_DATE1 := ::oFindDb:PAY_DATE
oDispDb:I_MONEY := nPayMoney
oDispDb:Save()
oFindDb2:Skip()
ENDIF
ENDDO
IF EMPTY( oDispDb:I_DATE2 )
oDispDb:I_DATE2 := dDate
oDispDb:I_JAN := nPayMoney
oDispDb:I_RATIO := ::oFindDb:PAY_RATIO
oDispDb:I_DAYS := Dr_ELAPSED( oDispDb:I_DATE1, oDispDb:I_DATE2 )[1][1]
IF nInMoney == 0
oDispDb:I_DAYS := oDispDb:I_DAYS + 1
ENDIF
oDispDb:I_FEE := Count_Fee( oDispDb:I_JAN, ::oFindDb:PAY_RATIO, oDispDb:I_DAYS, oDispDb )
oDispDb:Save()
ENDIF
::oFindDb:Skip()
ENDDO