From 2ece722bfafa27e3ef5dd5e060ee0624e6f263a6 Mon Sep 17 00:00:00 2001 From: zjh <zjh@888> Date: 星期三, 19 六月 2024 19:20:14 +0800 Subject: [PATCH] zjh 本地 2024/06/19 --3 --- ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysDeptController.java | 56 +++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 45 insertions(+), 11 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 0cf4c0d..50895b3 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 @@ -1,10 +1,15 @@ package com.ltkj.web.controller.system; import java.io.*; +import java.math.BigDecimal; +import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; import cn.hutool.core.date.DateUtil; +import cn.hutool.json.JSONArray; +import cn.hutool.json.JSONObject; +import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; @@ -108,6 +113,8 @@ private ITjFlowingWaterService tjFlowingWaterService; @Autowired private HisApiGetMethodService hisApiGetMethodService; + @Autowired + private LtkjJianchajianyanTreeService ltkjJianchajianyanTreeService; /** * 璇ヤ綋妫�绉戝涓嬪鎴峰垪琛ㄦ樉绀烘帴鍙� @@ -1413,22 +1420,47 @@ LambdaQueryWrapper<TjOrder> tjOrderLambdaQueryWrapper = new LambdaQueryWrapper<>(); tjOrderLambdaQueryWrapper.eq(TjOrder::getTjNumber,tjNumber); TjOrder tjOrder = orderService.getOne(tjOrderLambdaQueryWrapper); - LambdaQueryWrapper<TjFlowingWater> tjFlowingWaterLambdaQueryWrapper1 = new LambdaQueryWrapper<>(); - tjFlowingWaterLambdaQueryWrapper1.eq(TjFlowingWater::getOrderId,tjOrder.getOrderId()); - tjFlowingWaterLambdaQueryWrapper1.ne(TjFlowingWater::getPayStasus,2); - TjFlowingWater tjFlowingWater1 = tjFlowingWaterService.getOne(tjFlowingWaterLambdaQueryWrapper1); - if (tjFlowingWater1.getPayStasus() != 1){ + LambdaQueryWrapper<TjFlowingWater> tjFlowingWaterLambdaQueryWrapper = new LambdaQueryWrapper<>(); + tjFlowingWaterLambdaQueryWrapper.eq(TjFlowingWater::getOrderId,tjOrder.getOrderId()); + tjFlowingWaterLambdaQueryWrapper.ne(TjFlowingWater::getPayStasus,2); + tjFlowingWaterLambdaQueryWrapper.eq(TjFlowingWater::getIsAddition,"N"); + TjFlowingWater tjFlowingWater = tjFlowingWaterService.getOne(tjFlowingWaterLambdaQueryWrapper); +// if (tjFlowingWater1.getPayStasus() != 1){ LambdaQueryWrapper<TjCustomer> tjCustomerLambdaQueryWrapper = new LambdaQueryWrapper<>(); 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",tjOrder.getCardId()); AjaxResult queryPay = hisApiGetMethodService.getHISDataNew("QueryPay", hisRequestParams); if (Integer.parseInt(queryPay.get("code").toString()) == 200) { - LambdaQueryWrapper<TjFlowingWater> tjFlowingWaterLambdaQueryWrapper = new LambdaQueryWrapper<>(); - tjFlowingWaterLambdaQueryWrapper.eq(TjFlowingWater::getOrderId,tjOrder.getOrderId()); - TjFlowingWater tjFlowingWater = tjFlowingWaterService.getOne(tjFlowingWaterLambdaQueryWrapper); + List<Map<String, String>> data = (List<Map<String, String>>) queryPay.get("data"); + 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); + } + LambdaQueryWrapper<LtkjJianchajianyanTree> queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.in(LtkjJianchajianyanTree::getSqdh, sqdhs) + .in(LtkjJianchajianyanTree::getXmfl, xmfls) + .eq(LtkjJianchajianyanTree::getCardId,tjOrder.getCardId()) + .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"); @@ -1442,8 +1474,10 @@ tjOrderDetailLambdaUpdateWrapper.set(TjOrderDetail::getFlowingWaterId,tjSerialNumber); tjOrderDetailLambdaUpdateWrapper.in(TjOrderDetail::getOrderDetailId,detailIds); detailService.update(tjOrderDetailLambdaUpdateWrapper); + }else { + return AjaxResult.error("鏈煡璇㈠埌缂磋垂璁板綍"); } - } +// } } String config = configService.selectConfigByKey("qt_open_xdt"); String byKey = configService.selectConfigByKey("qt_kjksid"); -- Gitblit v1.8.0