我有一个如下所示的数据集。
数据集:
现在的业务逻辑是找出每笔贷款的最后付款日期。我尝试使用tmap组件,它调用一个具有静态变量last_paid_dt的java例程,该例程将存储每日存款时的交易日期>但是,当每日存款小于0时,静态变量不会改变。当支付金额为0时,此方法正常。
问题 - 请参阅下表中的红色突出显示值
当支付的金额在一天或之后被撤销时,最后支付的金额应该来自之前的非逆转正数。我无法完成那件事。 此外,当新的贷款ID开始处理时,我需要静态变量来重置,这当前没有发生 如果我目前的方法是错误的,请帮助我以更好,更有效的方式做。感谢
预期产出:
答案 0 :(得分:0)
首先,您需要使用Map组件,其中键是loanId。 您不想覆盖该值。即如果地图中存在该键,则不要使用新值覆盖它。 你可以根据需要使用globalMap,在这种情况下我可以:
globalMap.get(" loan _" + loanId)!= null? globalMap.put(" loand _" + loanId,loanDate):loanDate
然后:
globalMap.get("贷款_&#34 +的LoanID)
不优雅,但有效。 a更优雅的是定义您放入globalMap的自己的地图,并在该过程将其置空后,以便释放内存。但这一切都取决于你工作的复杂性。