From 7fc2dc993e762886ed5b9136d789ab8e45204687 Mon Sep 17 00:00:00 2001 From: 赵文轩 <1652863494@qq.com> Date: 星期六, 15 六月 2024 13:05:12 +0800 Subject: [PATCH] 价格计算 --- ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysDeptController.java | 42 ++++++++++++++++++++++++++---------------- 1 files changed, 26 insertions(+), 16 deletions(-) diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysDeptController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysDeptController.java index c85003a..5a4ab70 100644 --- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysDeptController.java +++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysDeptController.java @@ -113,6 +113,8 @@ private ITjFlowingWaterService tjFlowingWaterService; @Autowired private HisApiGetMethodService hisApiGetMethodService; + @Autowired + private LtkjJianchajianyanTreeService ltkjJianchajianyanTreeService; /** * 璇ヤ綋妫�绉戝涓嬪鎴峰垪琛ㄦ樉绀烘帴鍙� @@ -1428,28 +1430,36 @@ tjCustomerLambdaQueryWrapper.eq(TjCustomer::getCusId,tjOrder.getUserId()); TjCustomer tjCustomer = tjCustomerService.getOne(tjCustomerLambdaQueryWrapper); HashMap<String, Object> hisRequestParams = new HashMap<>(); - hisRequestParams.put("card_no",tjCustomer.getCusIdcard()); - hisRequestParams.put("patientId",tjCustomer.getPationId()); + // 涓嶅湪闇�瑕佽韩浠借瘉鍙� +// hisRequestParams.put("card_no",tjCustomer.getCusIdcard()); + hisRequestParams.put("patientId",tjCustomer.getCardId()); AjaxResult queryPay = hisApiGetMethodService.getHISDataNew("QueryPay", hisRequestParams); if (Integer.parseInt(queryPay.get("code").toString()) == 200) { List<Map<String, String>> data = (List<Map<String, String>>) queryPay.get("data"); - Date date = new Date(); - SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); - List<Map<String, String>> list = data.stream().filter(item -> String.valueOf(item.get("PayDate")).equals(dateFormat.format(date))).collect(Collectors.toList()); - JSONArray jsonArray = JSONUtil.parseArray(list); - BigDecimal decimal = new BigDecimal("0"); - for (Object o : jsonArray) { - JSONObject object = (JSONObject) o; - JSONArray items = object.getJSONArray("Items"); - for (Object item : items) { - JSONObject jsonObject = (JSONObject) item; - BigDecimal fee = jsonObject.getBigDecimal("Fee"); - decimal.add(fee); - } + ArrayList<String> sqdhs = new ArrayList<>(); + ArrayList<String> xmfls = new ArrayList<>(); + BigDecimal cateFeeAll = BigDecimal.ZERO; + for (Map<String, String> datum : data) { + String advId = datum.get("Adv_Id").split("_")[1]; + BigDecimal cateFee = new BigDecimal(datum.get("CateFee")); + String cateCode = datum.get("CateCode"); + cateFeeAll = cateFeeAll.add(cateFee); + sqdhs.add(advId); + xmfls.add(cateCode); } - if (decimal.compareTo(new BigDecimal("0")) != 0){ + LambdaQueryWrapper<LtkjJianchajianyanTree> queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.in(LtkjJianchajianyanTree::getSqdh, sqdhs) + .in(LtkjJianchajianyanTree::getXmfl, xmfls) + .groupBy(LtkjJianchajianyanTree::getType) + .select(LtkjJianchajianyanTree::getFyhj); + List<LtkjJianchajianyanTree> results = ltkjJianchajianyanTreeService.list(queryWrapper); + BigDecimal total = results.stream() + .map(item -> new BigDecimal(item.getFyhj())) + .reduce(BigDecimal.ZERO, BigDecimal::add); + if (cateFeeAll.compareTo(total) != 0){ return AjaxResult.error("瀛樺湪鏈即璐归」鐩�"); } + tjFlowingWater.setPayStasus(1L); tjFlowingWater.setPayType(0L); tjFlowingWater.setTollCollectorId("148"); -- Gitblit v1.8.0