zjh
2024-12-30 1b7ed7edb09aaecf68ddf3396ee007bc6eadf52a
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<>();
@@ -342,17 +395,19 @@
            BigDecimal money = new BigDecimal("0.00");
            tjPackage.setPrice(money);
        }
        tjPackage.setPym(PinyinUtil.getFirstLetter(tjPackage.getPacName(),""));
        if (tjPackageService.save(tjPackage)) {
            List<TjProject> tjProjectList = tjPackage.getTjProjectList();
            if (null != tjProjectList && tjProjectList.size() > 0) {
                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());
                    //判断当前套餐下有没有这个项目  有的话跳过添加
@@ -364,8 +419,8 @@
                        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"))));
@@ -384,6 +439,7 @@
    @ApiOperation(value = "修改体检套餐")
    //@PreAuthorize("@ss.hasPermi('system:package:edit')")
    public AjaxResult edit(@RequestBody @ApiParam(value = "体检套餐对象") TjPackage tjPackage) {
        tjPackage.setPym(PinyinUtil.getFirstLetter(tjPackage.getPacName(),""));
        if (tjPackageService.updateById(tjPackage)) {
            List<TjProject> tjProjectList = tjPackage.getTjProjectList();
            if (null != tjProjectList && tjProjectList.size() > 0) {
@@ -392,17 +448,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"))));