zjh
2024-06-19 2ece722bfafa27e3ef5dd5e060ee0624e6f263a6
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjPackageController.java
@@ -69,6 +69,67 @@
    @Autowired
    private IMallCategoryService mallCategoryService;
    @GetMapping("/getPacList")
    @ApiOperation(value = "查询体检套餐列表(自带有分页)(新)")
    //@PreAuthorize("@ss.hasPermi('hosp:package:list')")
    public TableDataInfo getPacList(@ApiParam(value = "体检套餐对象") TjPackage tjPackage) {
        startPage();
        List<TjPackage> list = tjPackageService.selectTjPackageList(tjPackage);
        if (null != list && list.size() > 0) {
            for (TjPackage aPackage : list) {
                aPackage.setAllProName(tjPackageService.getTjPacProNames(String.valueOf(aPackage.getPacId())));
                final String keywords = aPackage.getKeywords();
                if (keywords != null) {
                    final String[] strings = keywords.split(",");
                    aPackage.setKeyNames(mallKeywordService.getKeyNames(strings));
                    aPackage.setKeyIds(mallKeywordService.getKeyIds(strings));
                }
                final MallCategory byId = mallCategoryService.getById(aPackage.getCategoryId());
                if (byId != null) {
                    aPackage.setCategoryNames(byId.getName());
                }
            }
        }
        return getDataTable(list);
    }
    @GetMapping("/getPacInFo")
    @ApiOperation(value = "查询体检套餐列表(详细)(自带有分页)(新)")
    //@PreAuthorize("@ss.hasPermi('hosp:package:list')")
    public AjaxResult getPacInFo(@ApiParam(value = "体检套餐对象id") String pacId) {
        TjPackage aPackage = tjPackageService.getById(pacId);
        if (null != aPackage) {
                List<TjProject> tjProjectList = new ArrayList<>();
                List<TjPackageProject> pplist = ppservice.getTjPackageProjectListByPacId(String.valueOf(aPackage.getPacId()));
                if (null != pplist) {
                    for (TjPackageProject packageProject : pplist) {
//                        StringBuilder allSonProName = new StringBuilder();   //2023.2.7 套餐内每一父项目的子项目字符串
                        TjProject tjProject = tjProjectService.getById(packageProject.getProId());
                        if (null != tjProject) {
//                            List<TjProject> listBySoneId = tjProjectService.getTjProjectListBySoneId(String.valueOf(packageProject.getProId()));
//                            for (TjProject project : listBySoneId) {
//                                allSonProName.append(project.getProName()).append(";");  //2023.2.7 套餐内每一父项目的子项目字符串
//                            }
                            tjProject.setAllSonProName(tjProjectService.getAllSonNames(String.valueOf(packageProject.getProId())));   //2023.2.7 套餐内每一父项目的子项目字符串
                            tjProjectList.add(tjProject);
                            //现价赋值判断null赋原价  2023.2.8
                            if (packageProject.getPriceNow() != null) {
                                tjProject.setPriceNow(packageProject.getPriceNow());
                            } else {
                                tjProject.setPriceNow(tjProject.getProPrice());
                            }
                        }
                    }
                }
                aPackage.setTjProjectList(tjProjectList);
        }
        return AjaxResult.success(aPackage);
    }
    /**
     * 查询体检套餐列表
     */
@@ -98,14 +159,6 @@
                            }
                            tjProject.setAllSonProName(allSonProName.toString());   //2023.2.7 套餐内每一父项目的子项目字符串
                            tjProjectList.add(tjProject);
//                            LambdaQueryWrapper<TjProConsumables> wrapper1 = new LambdaQueryWrapper<>();
//                            wrapper1.eq(TjProConsumables::getProId, packageProject.getProId());
//                            List<TjProConsumables> list0 = tjProConsumablesService.list(wrapper1);
//                            List<TjConsumables> list1 = new ArrayList<>();
//                            for (TjProConsumables tjProConsumables : list0) {
//                                list1.add(tjConsumablesService.getById(tjProConsumables.getConsumablesId()));
//                            }
//                            tjProject.setConsumablesList(list1);
                            //现价赋值判断null赋原价  2023.2.8
                            if (packageProject.getPriceNow() != null) {
                                tjProject.setPriceNow(packageProject.getPriceNow());
@@ -118,7 +171,7 @@
                }
                aPackage.setTjProjectList(tjProjectList);
                aPackage.setAllProName(allProName.toString());
                aPackage.setAllSonName(allSonName.toString());
//                aPackage.setAllSonName(allSonName.toString());
                StringBuffer a = new StringBuffer();
                List<String> b = new ArrayList<>();
@@ -183,14 +236,61 @@
//            return getDataTable(tjPackageList);
//        }
        String pacName="";
        if (cusSex.equals("2")) {
            return getDataTable(tjPackageService.getPacListBySqlAndAll(pacName));
        if (cusSex==null || cusSex.equals("2")) {
            final List<TjPackage> pacListBySqlAndAll = tjPackageService.getPacListBySqlAndAll(pacName);
            if (pacListBySqlAndAll!=null){
                for (TjPackage tjPackage : pacListBySqlAndAll) {
                    List<TjProject> res=new ArrayList<>();
                    LambdaQueryWrapper<TjPackageProject> wqq=new LambdaQueryWrapper<>();
                    wqq.eq(TjPackageProject::getPacId,tjPackage.getPacId());
                    final List<TjPackageProject> list = ppservice.list(wqq);
                    if (list!=null){
                        for (TjPackageProject tjPackageProject : list) {
                            final TjProject byId = tjProjectService.getById(tjPackageProject.getProId());
                            res.add(byId);
                        }
                        tjPackage.setTjProjectList(res);
                    }
                }
            }
            return getDataTable(pacListBySqlAndAll);
        } else {
            if (cusSex.equals("0")) {
                return getDataTable(tjPackageService.getPacListBySqlAndMan(pacName));
                final List<TjPackage> pacListBySqlAndMan = tjPackageService.getPacListBySqlAndMan(pacName);
                if (pacListBySqlAndMan!=null){
                    for (TjPackage tjPackage : pacListBySqlAndMan) {
                        List<TjProject> res=new ArrayList<>();
                        LambdaQueryWrapper<TjPackageProject> wqq=new LambdaQueryWrapper<>();
                        wqq.eq(TjPackageProject::getPacId,tjPackage.getPacId());
                        final List<TjPackageProject> list = ppservice.list(wqq);
                        if (list!=null){
                            for (TjPackageProject tjPackageProject : list) {
                                final TjProject byId = tjProjectService.getById(tjPackageProject.getProId());
                                res.add(byId);
                            }
                            tjPackage.setTjProjectList(res);
                        }
                    }
                }
                return getDataTable(pacListBySqlAndMan);
            }else {
                return getDataTable(tjPackageService.getPacListBySqlAndWomen(pacName));
                final List<TjPackage> pacListBySqlAndWomen = tjPackageService.getPacListBySqlAndWomen(pacName);
                if (pacListBySqlAndWomen!=null){
                    for (TjPackage tjPackage : pacListBySqlAndWomen) {
                        List<TjProject> res=new ArrayList<>();
                        LambdaQueryWrapper<TjPackageProject> wqq=new LambdaQueryWrapper<>();
                        wqq.eq(TjPackageProject::getPacId,tjPackage.getPacId());
                        final List<TjPackageProject> list = ppservice.list(wqq);
                        if (list!=null){
                            for (TjPackageProject tjPackageProject : list) {
                                final TjProject byId = tjProjectService.getById(tjPackageProject.getProId());
                                res.add(byId);
                            }
                            tjPackage.setTjProjectList(res);
                        }
                    }
                }
                return getDataTable(pacListBySqlAndWomen);
            }
        }
    }
@@ -301,16 +401,25 @@
                BigDecimal money = new BigDecimal("0.00");
                for (TjProject tjProject : tjProjectList) {
                    TjPackageProject tjpp = new TjPackageProject();
                    if (null != tjProject.getPriceNow()) {
                        tjpp.setPriceNow(tjProject.getPriceNow().setScale(Integer.parseInt(configService.selectConfigByKey("sys.price.save")), Integer.parseInt(configService.selectConfigByKey("sys.price"))));
                    } else {
                        tjpp.setPriceNow(tjProject.getProPrice());
                    }
//                    if (null != tjProject.getPriceNow()) {
//                        tjpp.setPriceNow(tjProject.getPriceNow().setScale(Integer.parseInt(configService.selectConfigByKey("sys.price.save")), Integer.parseInt(configService.selectConfigByKey("sys.price"))));
//                    } else {
//                        tjpp.setPriceNow(tjProject.getProPrice());
//                    }
                    tjpp.setPriceNow(tjProject.getProPrice());
                    tjpp.setProId(tjProject.getProId());
                    tjpp.setPacId(tjPackage.getPacId());
                    //判断当前套餐下有没有这个项目  有的话跳过添加
                    LambdaQueryWrapper<TjPackageProject> wqq=new LambdaQueryWrapper<>();
                    wqq.eq(TjPackageProject::getPacId,tjPackage.getPacId());
                    wqq.eq(TjPackageProject::getProId,tjProject.getProId());
                    final TjPackageProject one = ppservice.getOne(wqq);
                    if (one!=null){
                        continue;
                    }
                    ppservice.save(tjpp);
                    if (null != tjProject.getPriceNow()) {
                        money = money.add(tjProject.getPriceNow());
                    if (null != tjProject.getProPrice()) {
                        money = money.add(tjProject.getProPrice());
                    }
                }
                tjPackage.setPrice(money.setScale(Integer.parseInt(configService.selectConfigByKey("sys.price.save")), Integer.parseInt(configService.selectConfigByKey("sys.price"))));
@@ -337,17 +446,27 @@
                ppservice.remove(wq);
                BigDecimal money = new BigDecimal(0);
                for (TjProject tjProject : tjProjectList) {
                    TjPackageProject tjpp = new TjPackageProject();
                    if (null != tjProject.getPriceNow()) {
                        tjpp.setPriceNow(tjProject.getPriceNow());
                    } else {
                        tjpp.setPriceNow(new BigDecimal(0).setScale(Integer.parseInt(configService.selectConfigByKey("sys.price.save")), Integer.parseInt(configService.selectConfigByKey("sys.price"))));
                    //判断当前套餐下有没有这个项目  有的话跳过添加
                    LambdaQueryWrapper<TjPackageProject> wqq=new LambdaQueryWrapper<>();
                    wqq.eq(TjPackageProject::getPacId,tjPackage.getPacId());
                    wqq.eq(TjPackageProject::getProId,tjProject.getProId());
                    final TjPackageProject one = ppservice.getOne(wqq);
                    if (one!=null){
                        continue;
                    }
                    TjPackageProject tjpp = new TjPackageProject();
//                    if (null != tjProject.getPriceNow()) {
//                        tjpp.setPriceNow(tjProject.getPriceNow());
//                    } else {
//                        tjpp.setPriceNow(new BigDecimal(0).setScale(Integer.parseInt(configService.selectConfigByKey("sys.price.save")), Integer.parseInt(configService.selectConfigByKey("sys.price"))));
//                    }
                    tjpp.setPriceNow(tjProject.getProPrice());
                    tjpp.setProId(tjProject.getProId());
                    tjpp.setPacId(tjPackage.getPacId());
                    ppservice.save(tjpp);
                    if (null != tjProject.getPriceNow()) {
                        money = money.add(tjProject.getPriceNow());
                    if (null != tjProject.getProPrice()) {
                        money = money.add(tjProject.getProPrice());
                    }
                }
                tjPackage.setPrice(money.setScale(Integer.parseInt(configService.selectConfigByKey("sys.price.save")), Integer.parseInt(configService.selectConfigByKey("sys.price"))));