赵文轩
2024-06-14 89052f1dd07ee5c5c014d536b8481db31b611b17
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;
@@ -1413,11 +1418,12 @@
            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);
@@ -1426,9 +1432,24 @@
                hisRequestParams.put("patientId",tjCustomer.getPationId());
                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");
                    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);
                        }
                    }
                    if (decimal.compareTo(new BigDecimal("0")) != 0){
                        return AjaxResult.error("存在未缴费项目");
                    }
                    tjFlowingWater.setPayStasus(1L);
                    tjFlowingWater.setPayType(0L);
                    tjFlowingWater.setTollCollectorId("148");
@@ -1442,8 +1463,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");