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