SocialPayOrder 对象处理和待缴费订单汇总
这段代码主要是对一个待缴费订单进行修改和处理的过程。首先创建一个SocialPayOrder对象modifySocialPayOrder,并设置它的一些属性值。然后通过调用sendSocialSecPay方法发送请求,并获取返回的响应数据。接着对返回的数据进行解析,获取其中的一些字段值。然后根据这些字段值进行一些循环处理和合并操作,最终得到一个待缴费汇总列表collectList。这段代码的目的是对待缴费订单进行一些处理,以便后续的操作使用。\n\nSocialPayOrder modifySocialPayOrder = new SocialPayOrder()\nmodifySocialPayOrder.setMerOrderNo(merOrderNo);\nmodifySocialPayOrder.setQueryType(UPSConst.SocialQureryType.THREE)\ntry {\nMap<String, Obiect> resp = sendSocialSecPay(billoueryInfo. bussode. event);\nString billDetailInfo = MapUtils.getString(resp, UPSDict.BillQueryInfo);\nString queryId = MapUtils,getString(resp. UpsDict,OueryId);\nevent.setData(UPsDict.QueryId, queryId);\nMap<String, Object> threeQryResp = SocialSecPayutils.resolveThreeQuery(billDetailInfo);\n//待缴费汇总List\nList<Map<String, 0bject>> collectList = new ArrayList<>();\nMap<String,Map> pendingKeyMap = new HashMap<>();\nMap<String,0bject> pendingPayMap;\n灵活就业循环处理\nif (UPSConst.SocialPayType.Agile0ld,equals(producttype) || UPSConst.SocialPaylype.AgileMedical.equals(productType)) {\n//多次查询获取全部待缴费详情List\nString totalSegNo = MapUtils.getString(three0ryResp, UPSDict.SocialSecTotalSegNo);\nList<Map<String, 0biect>> list = (List<Map<string, 0bject>>)Maptils,get0bject(threeryResp, UPSDict,SocialSecBillDetaillist);\nint totalSegNoInt = Integer.parseInt(totalSegNo);\nfor (int i = 2; i <= totalSegNoInt; i++) {\nString seq;\nif (i < 10) {\nseg ='' + i;\n} else }\nseq = String.value0f(i);}\nbillQueryInfo.put(UPSDict.ing_seg_no,seg);//当前页码\nevent.setData(UPSDict.SocialOrigOryId, queryId);\nresp =sendSocialSecPay(billQueryInfo, bussCode, event):billDetailInfo = MapUtis.getString(resp,UPSDict.BillQueryInfo);threeQryResp = SocialSecPayUtils.resolveThreeQuery(billDetailInfo);List<Map<string, 0bject>> listTem = (listhap<String, 0bject>>)Maputils,get0bject(threelryRep, UPSDict,SocialSecBillDetaillist)list.addAll(listTem);\nthreeQryResp.put(uPsDict.SocialSecBillDetailList, list);\nString socialSerialNo;\nMap<String,Object> tempMap = new HashMap<>():\n//梳理&合并代缴费List\nfor (int i = 0; i < list.size(); i++) {\npendingPayMap = list.get(i);\nsocialSerialNo = (String) pendingPayMap.get(UPSDict.SocialSecSocialSerialNo);socialSerialNo = socialSerialNo + pendingPayMap.get(UPsDict.SocialSecSettleBankInfo);if (!pendingKeyMap.containsKey(socialSerialNo)) \n//处理金额字段 去”元' \nString trsAmtFirstString = (String) pendingPayMap.get(uPSDict.SocialSecPayAmt);\ntrsAmtFirstString = trsAmtFirstString.substring(0, trsAmtFirstString.length() - 1);\npendingPayMap.put(UPSDict.SocialSecPayAmt,trsAmtFirstString);\ntempMap.put(UPSDict.SocialSecPayAmt,trsAmtFirstString);\ntempMap.put(UPSDictBelongStart. pendingPavMap.cet(upsDict,BelonaStart));\ntempMap.put(UPsDict.SocialDetail, pendingPayMap.get(uPsDict.SocialDetail));\ntempMap.put(UPSDict.SocialSecItemCode, pendingPayMap,get(uPSDict,SociglSecItemCode));\ntempMap.put(UPSDict.SocialSecSocialSerialNo pendingPayMap.get(UPSDict.SocialSecSocialSerialNo));\ntempMap.put(UPSDict.SocialSecProjectCode, pendingPayMap.get(UPSDict.SocialSecProjectCode));\ntempMap.put(UPSDict.SocialSecProjectName, pendingPayMap.get(UPSDict.SocialSecProjectName));\ntempMap.put(UPSDictSocialSecSettleBankInfo, pendingPayMap,get(UPSDict.SocialSecSettleBankInfo));tempMap.put(UPSDict.SocialSecTaxUnitCode, pendingPayMap.get(UPSDict.SocialSecTaxUnitCode));tempMap,put(UPsDict.SocialSecDataSource, pendingPavMap,get(UPsDict.SocialSecDataSource)):\npendingKeyMap.put(socialSerialNo, tempMap);] else {\n//合并相同社保流水号的缴费项目 合并缴费金额、序号等\ntempMap = pendingKeyMap.get(socialSerialNo);String trsAmtString = (String) pendingPayMap.get(UPSDict,SocialSecPayAmt);try {\ntrsAmtString = trsAmtString,substring(0,trsAmtString.length() - 1);BigDecimal trsAmt = new BigDecimal(trsAmtString);\nString trsAmtTotalString = (String) tempMap.get(UPSDict.SocialSecPayAmt);BigDecimal trsAmtTotal = new BigDecimal(trsAmtTotalString);//合并金额\ntrsAmtTotal = trsAmtTotal.add(trsAmt):tempMap.put(UPSDict.SocialSecPayAmt,trsAmtTotal.toString()):\n//合并序号String detailTotal = (String) tempMap.get(UPsDict.SocialDetail);String detail = (String) pendingPayMap.get(UPSDict.SocialDetail)detailTotal = detailTotal + DETAIL_CONCAT + detail;tempMap.put(UPSDict.SocialDetail, detailTotal);tempMap.put(uPSDict.BelongEnd,pendingPayMap.get(UPSDict.BelongEnd));catch (Exception e) {\nlog.error('Error:' + e);\nthrow new AthenaRuntimeException(UPSMsg.ATP_CHECK_MERGE_AMOUNT_FAIL):}}}\nfor (Map map : pendingKeyMap.values()) {String payAmt = (String) map.get(UPSDict.SocialSecPayAmt);//对汇总后的金额做处理 转换金额格式(元)为分String amtFen = convertYuanToFen(payAmt)map.put(UPSDict.SocialSecPayBase, amtFen)collectList.add(map);\nthreeQryResp.put(UPSDict.PendingPayInfo,collectList);
原文地址: https://www.cveoy.top/t/topic/pxBt 著作权归作者所有。请勿转载和采集!