From 15f8d75b658de41d33b3432eb262ee33300c2133 Mon Sep 17 00:00:00 2001 From: zhaowenxuan <chacca165@163.com> Date: 星期一, 17 三月 2025 13:45:26 +0800 Subject: [PATCH] 折扣计费处理 --- ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java | 34 ++++++++++++++++++++++++---------- 1 files changed, 24 insertions(+), 10 deletions(-) diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java index a442cf0..aed5c62 100644 --- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java +++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java @@ -1402,6 +1402,7 @@ wrapper.gt(TbTransition::getNowPrice, 0); List<TbTransition> list = tbTransitionService.list(wrapper); + BigDecimal zongjia = new BigDecimal("0.0"); for (TbTransition transition : list) { LambdaQueryWrapper<TjProject> wrapper1 = new LambdaQueryWrapper<>(); wrapper1.eq(TjProject::getProId, transition.getProId()); @@ -1412,7 +1413,8 @@ SysDept dept = sysDeptService.getOne(wrapper2); JSONObject obj = JSONUtil.createObj(); - Integer sl = project.getSl(); +// Integer sl = project.getSl(); + int sl = 1; BigDecimal danjia = transition.getNowPrice(); BigDecimal allPrice = danjia.multiply(new BigDecimal(sl)); obj.putOpt("danJia", danjia); @@ -1423,8 +1425,10 @@ obj.putOpt("shouFeiXmId", project.getHisXmbm()); obj.putOpt("shouFeiXmMc", project.getHisXmmc()); array.add(obj); + zongjia = zongjia.add(allPrice); } map.put("feiYongInfoList", array); + log.info("璋冪敤His鎺ュ彛鍓� 鏀惰垂鎬讳环:{}", zongjia.toString()); String post = HttpClientUtils.sendPost(apiUrl + "/api/his/" + hospbm + "/creatCostInfo", map); JSONObject object = JSONUtil.parseObj(post); @@ -3948,6 +3952,7 @@ public AjaxResult updateTransitionnewPrice(@RequestBody List<UpdateTransitionnewPriceDto> dtos) { if (null != dtos && !dtos.isEmpty()) { + boolean flag = false; for (UpdateTransitionnewPriceDto dto : dtos) { LambdaQueryWrapper<TbTransition> wq = new LambdaQueryWrapper<>(); wq.eq(TbTransition::getCusId, dto.getCusIdCard()); @@ -3958,22 +3963,31 @@ log.info("鐖堕」鐩甶d涓�: " + dto.getParentProId()); log.info("鎶樻墸涓�: " + new BigDecimal(dto.getDiscount())); if (null != list && !list.isEmpty()) { - BigDecimal dxzj = transitionService.getTbTransitionPriceAndOrdPrice(dto.getCusIdCard(), dto.getParentProId()); + for (TbTransition transition : list) { BigDecimal ordPrice = transition.getOrdPrice(); BigDecimal multiply = ordPrice.multiply((new BigDecimal(dto.getDiscount()).divide(BigDecimal.valueOf(10)))); - log.info("鍚庣璁$畻鐨勯噾棰�: " + multiply); + log.info("鍚庣璁$畻鐨勯噾棰�: " + multiply.toString()); transition.setNowPrice(multiply); transition.setDiscount(new BigDecimal(dto.getDiscount())); transitionService.updateById(transition); } - if (null != dto.getYhj() && dto.getYhj().compareTo(BigDecimal.ZERO) >= 0) { - List<TbTransition> transitionList = list.stream().filter(a -> - transitionService.getTbTransitionPriceAndOrdPrice(dto.getCusIdCard(), dto.getParentProId()).subtract(dto.getYhj()).compareTo(BigDecimal.ZERO) >= 0).collect(Collectors.toList()); - if (!transitionList.isEmpty()) { - TbTransition tbTransition = transitionList.get(0); - tbTransition.setNowPrice(dxzj); - transitionService.updateById(tbTransition); + + BigDecimal dxzj = transitionService.getTbTransitionPriceAndOrdPrice(dto.getCusIdCard(), dto.getParentProId()); + + BigDecimal yhj = dto.getYhj(); + log.info("鍓嶇浼犻�掔殑浠锋牸锛歿}",yhj.toString()); + BigDecimal cj = yhj.subtract(dxzj); + log.info("璁$畻鐨勫樊浠凤細{}",cj.toString()); + for (TbTransition transition : list) { + BigDecimal result = transition.getNowPrice().add(cj); + log.info("琛ヤ笂宸环鍓嶇殑浠锋牸涓猴細{}",transition.getNowPrice().toString()); + if (result.compareTo(BigDecimal.ZERO)>0 && !flag && cj.compareTo(BigDecimal.ZERO) != 0){ + transition.setNowPrice(result); + transitionService.updateById(transition); + log.info("淇敼 琛ヤ笂宸环鍚庣殑浠锋牸涓猴細{}",result.toString()); + flag = true; + break; } } } -- Gitblit v1.8.0