这段代码是一个灵活就业循环处理的逻辑,主要用于获取并合并多个查询结果,最终形成一个包含所有待缴费详情的Map对象。

具体步骤如下:

  1. 获取待缴费汇总信息的Map对象: 使用SocialSecPayUtils工具类的resolveThreeQuery方法,传入billDetailInfo参数,返回一个Map<String, Object>对象,赋值给threeQryResp变量。

  2. 创建一个待缴费汇总列表collectList,用于存储待缴费详情的Map对象。

  3. 创建一个pendingKeyMap,用于存储待缴费详情的关键信息。

  4. 判断productlype是否等于'Agile0d'或'AgileMedical',如果是则进入循环处理。这里的判断条件可能有问题,因为等号应该是'=='而不是'equals'。

  5. 多次查询获取全部待缴费详情List: 首先获取totalSegNo的值,即待缴费详情的总页数。然后使用循环,从第2页开始依次查询并获取待缴费详情的List,将每次查询的结果添加到list中。

  6. 将待缴费详情的List添加到threeQryResp的'SocialSecBillDetailList'键中。

  7. 创建一个临时变量tempMap,用于存储合并后的待缴费详情信息。

  8. 梳理&合并代缴费list: 使用循环遍历待缴费详情的List。

  9. 获取待缴费详情的关键信息,包括社保流水号和结算银行信息。

  10. 判断pendingKeyMap中是否已经存在相同社保流水号的待缴费详情,如果不存在则直接将待缴费详情信息添加到pendingKeyMap中。

  11. 如果已存在相同社保流水号的待缴费详情,则合并缴费金额和序号等信息。

  12. 对合并后的金额字段进行处理,去掉最后一个字符'元'。

  13. 将合并后的待缴费详情信息添加到tempMap中。

  14. 将tempMap添加到pendingKeyMap中,以社保流水号作为键。

  15. 合并代缴费账单List: 使用循环遍历pendingKeyMap的所有值,将待缴费详情的金额转换为分,并将其添加到collectList中。

  16. 将collectList添加到threeQryResp的'PendingPayInfo'键中。

整体来说,这段代码的作用是将多次查询得到的待缴费详情合并并汇总,最终返回一个包含合并后待缴费详情信息的Map对象。


原文地址: https://www.cveoy.top/t/topic/pEQI 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录