zjh
2025-03-14 0f658843b92eb41a87cb113c9eb6416e25e76a2e
zjh20250314
1个文件已修改
126 ■■■■■ 已修改文件
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java 126 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java
@@ -3977,6 +3977,7 @@
        if (null != dtos && !dtos.isEmpty()) {
            int index = 0;
            boolean flag = false;
            for (UpdateTransitionnewPriceDto dto : dtos) {
                index++;
                LambdaQueryWrapper<TbTransition> wq = new LambdaQueryWrapper<>();
@@ -3988,49 +3989,90 @@
                log.info("父项目id为: " + dto.getParentProId());
                log.info("折扣为: " + new BigDecimal(dto.getDiscount()));
                if (null != list && !list.isEmpty()) {
                    BigDecimal dxzj = transitionService.getTbTransitionPriceAndOrdPrice(dto.getCusIdCard(), dto.getParentProId());
                    log.info("dxzj:{}",dxzj.toString());
                    if (index == dtos.size()){
                        BigDecimal yhj = dto.getYhj();
                        log.info("前端传递的价格:{}",yhj.toString());
                        BigDecimal cj = yhj.subtract(dxzj);
                        log.info("计算的差价:{}",cj.toString());
                        int index1 = 0;
                        for (TbTransition transition : list) {
                            BigDecimal ordPrice = transition.getOrdPrice();
                            BigDecimal multiply = ordPrice.multiply((new BigDecimal(dto.getDiscount()).divide(BigDecimal.valueOf(10))));
                            if (index1 == 0){
                                log.info("修改小项 {}{} 原本价格:{}",transition.getProId(),transition.getProName(),multiply.toString());
                                multiply = multiply.add(cj);
                                log.info("增加差价后:{}",multiply.toString());
                            }
                            index1++;
                            log.info("后端计算的金额: " + multiply.toString());
//                        log.info("前端传递的金额: " + dto.getYhj());
                            transition.setNowPrice(multiply);
                            transition.setDiscount(new BigDecimal(dto.getDiscount()));
                            transitionService.updateById(transition);
                        }
                    }else {
                        for (TbTransition transition : list) {
                            BigDecimal ordPrice = transition.getOrdPrice();
                            BigDecimal multiply = ordPrice.multiply((new BigDecimal(dto.getDiscount()).divide(BigDecimal.valueOf(10))));
                            log.info("后端计算的金额: " + multiply.toString());
//                        log.info("前端传递的金额: " + dto.getYhj());
                            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);
//                            }
//                        }
                    for (TbTransition transition : list) {
                        BigDecimal ordPrice = transition.getOrdPrice();
                        BigDecimal multiply = ordPrice.multiply((new BigDecimal(dto.getDiscount()).divide(BigDecimal.valueOf(10))));
                        log.info("后端计算的金额: " + multiply.toString());
                        transition.setNowPrice(multiply);
                        transition.setDiscount(new BigDecimal(dto.getDiscount()));
                        transitionService.updateById(transition);
                    }
                    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());
//                        int index1 = 0;
                    for (TbTransition transition : list) {
//                        BigDecimal ordPrice = transition.getOrdPrice();
//                        BigDecimal multiply = ordPrice.multiply((new BigDecimal(dto.getDiscount()).divide(BigDecimal.valueOf(10))));
                        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;
                        }
//                            if (index1 == 0 ){
//                                log.info("修改小项 {}{} 原本价格:{}",transition.getProId(),transition.getProName(),multiply.toString());
//                                multiply = multiply.add(cj);
//                                log.info("增加差价后:{}",multiply.toString());
//                            }
//                            index1++;
//                            log.info("后端计算的金额: " + multiply.toString());
////                        log.info("前端传递的金额: " + dto.getYhj());
//                            transition.setNowPrice(multiply);
//                            transition.setDiscount(new BigDecimal(dto.getDiscount()));
//                            transitionService.updateById(transition);
                    }
//                    log.info("dxzj:{}",dxzj.toString());
//                    if (index == dtos.size()){
//                        BigDecimal yhj = dto.getYhj();
//                        log.info("前端传递的价格:{}",yhj.toString());
//                        BigDecimal cj = yhj.subtract(dxzj);
//                        log.info("计算的差价:{}",cj.toString());
//                        int index1 = 0;
//                        for (TbTransition transition : list) {
//                            BigDecimal ordPrice = transition.getOrdPrice();
//                            BigDecimal multiply = ordPrice.multiply((new BigDecimal(dto.getDiscount()).divide(BigDecimal.valueOf(10))));
//                            if (index1 == 0 ){
//                                log.info("修改小项 {}{} 原本价格:{}",transition.getProId(),transition.getProName(),multiply.toString());
//                                multiply = multiply.add(cj);
//                                log.info("增加差价后:{}",multiply.toString());
//                            }
//                            index1++;
//                            log.info("后端计算的金额: " + multiply.toString());
////                        log.info("前端传递的金额: " + dto.getYhj());
//                            transition.setNowPrice(multiply);
//                            transition.setDiscount(new BigDecimal(dto.getDiscount()));
//                            transitionService.updateById(transition);
//                        }
//                    }else {
//                        for (TbTransition transition : list) {
//                            BigDecimal ordPrice = transition.getOrdPrice();
//                            BigDecimal multiply = ordPrice.multiply((new BigDecimal(dto.getDiscount()).divide(BigDecimal.valueOf(10))));
//                            log.info("后端计算的金额: " + multiply.toString());
////                        log.info("前端传递的金额: " + dto.getYhj());
//                            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);
////                            }
////                        }
//                    }
                }
            }
        }