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