HaseMap封装参数
Map<String, Object> paramMap = new HashMap<String, Object>();
List<Long> aprrovalStatus = new ArrayList<Long>();
aprrovalStatus.add(AprrovalStatus.COMMITED.getKey());
aprrovalStatus.add(AprrovalStatus.SYNCHRONIZED.getKey());
paramMap.put("aprrovalStatus", aprrovalStatus);
paramMap.put("parentFundsId", detailId);
查询
Long commitedAmt = LONG_ZERO;
Long CommitedTotalAmt = reconFundsDetailTmpService.queryCommitedTotalAmt(paramMap); // 大于0入金多,小于0出金多
<select id="queryCommitedTotalAmt" parameterType="java.util.HashMap" resultType="java.lang.Long">
SELECT
SUM(FUNDS_AMT_IN)-SUM(FUNDS_AMT_OUT)
FROM
T_CBS_RECON_FUNDS_DETAIL_TMP
WHERE
PARENT_FUNDS_ID = #{parentFundsId}
AND APRROVAL_STATUS in
<foreach item="item" index="index" collection="aprrovalStatus" open="(" separator="," close=")">
#{item}
</foreach>
</select>
if (CommitedTotalAmt != null) {
commitedAmt = CommitedTotalAmt;
}
//顺便提一下, 对于小数的处理, 用的是BigDecimal, 在页面上对小数的控制
BigDecimal bigAmt = new BigDecimal(String.valueOf(amt));// 拆分金额