| | |
| | | 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; |
| | |
| | | private ITjFlowingWaterService tjFlowingWaterService; |
| | | @Autowired |
| | | private HisApiGetMethodService hisApiGetMethodService; |
| | | @Autowired |
| | | private LtkjJianchajianyanTreeService ltkjJianchajianyanTreeService; |
| | | |
| | | /** |
| | | * 该体检科室下客户列表显示接口 |
| | |
| | | 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"); |
| | |
| | | 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"); |