package com.ltkj.web.controller.system; import java.math.BigDecimal; import java.math.RoundingMode; import java.util.*; import java.util.stream.Collectors; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import cn.hutool.extra.pinyin.PinyinUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ltkj.common.core.redis.RedisCache; import com.ltkj.hosp.domain.*; import com.ltkj.hosp.service.*; import com.ltkj.mall.domain.MallCategory; import com.ltkj.mall.domain.MallKeyword; import com.ltkj.mall.service.IMallCategoryService; import com.ltkj.mall.service.IMallKeywordService; import com.ltkj.system.service.ISysConfigService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import jodd.util.StringUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; import com.ltkj.common.annotation.Log; import com.ltkj.common.core.controller.BaseController; import com.ltkj.common.core.domain.AjaxResult; import com.ltkj.common.enums.BusinessType; import com.ltkj.common.utils.poi.ExcelUtil; import com.ltkj.common.core.page.TableDataInfo; /** * 体检套餐Controller * * @author ltkj * @date 2022-11-17 */ @RestController @RequestMapping("/system/package") @Api(tags = "体检套餐管理") @Slf4j public class TjPackageController extends BaseController { @Resource private ITjPackageService tjPackageService; @Resource private ITjPackageProjectService ppservice; @Resource private ITjProjectService tjProjectService; @Resource private TjProConsumablesService tjProConsumablesService; @Resource private ITjConsumablesService tjConsumablesService; @Resource private ISysConfigService configService; @Autowired private IMallKeywordService mallKeywordService; @Autowired private IMallCategoryService mallCategoryService; @GetMapping("/getPacList") @ApiOperation(value = "查询体检套餐列表(自带有分页)(新)") //@PreAuthorize("@ss.hasPermi('hosp:package:list')") public TableDataInfo getPacList(@ApiParam(value = "体检套餐对象") TjPackage tjPackage) { startPage(); List list = tjPackageService.selectTjPackageList(tjPackage); if (null != list && !list.isEmpty()) { 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 pplist = ppservice.getTjPackageProjectListByPacId(String.valueOf(aPackage.getPacId())); if (null != pplist) { for (TjPackageProject packageProject : pplist) { TjProject tjProject = tjProjectService.getById(packageProject.getProId()); if (null != tjProject) { packageProject.setProName(tjProject.getProName()); } } } aPackage.setPackageProjects(pplist); return AjaxResult.success(aPackage); } return AjaxResult.error(); } /** * 查询体检套餐列表 */ @GetMapping("/list") @ApiOperation(value = "查询体检套餐列表(自带有分页)") //@PreAuthorize("@ss.hasPermi('hosp:package:list')") public TableDataInfo list(@ApiParam(value = "体检套餐对象") TjPackage tjPackage) { startPage(); List list = tjPackageService.selectTjPackageList(tjPackage); if (null != list && !list.isEmpty()) { for (TjPackage aPackage : list) { StringBuilder allProName = new StringBuilder(); StringBuilder allSonName = new StringBuilder(); List tjProjectList = new ArrayList<>(); List 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) { allProName.append(tjProject.getProName()).append(";"); List listBySoneId = tjProjectService.getTjProjectListBySoneId(String.valueOf(packageProject.getProId())); for (TjProject project : listBySoneId) { allSonProName.append(project.getProName()).append(";"); //2023.2.7 套餐内每一父项目的子项目字符串 allSonName.append(project.getProName()).append(";"); } tjProject.setAllSonProName(allSonProName.toString()); //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); aPackage.setAllProName(allProName.toString()); // aPackage.setAllSonName(allSonName.toString()); StringBuffer a = new StringBuffer(); List b = new ArrayList<>(); final String keywords = aPackage.getKeywords(); if (keywords != null) { final String[] strings = keywords.split(","); for (String string : strings) { final MallKeyword byId = mallKeywordService.getById(string); if (byId != null) { a.append(byId.getKeyword()); a.append(";"); b.add((byId.getId()).toString()); } } aPackage.setKeyNames(String.valueOf(a)); aPackage.setKeyIds(b); } final MallCategory byId = mallCategoryService.getById(aPackage.getCategoryId()); if (byId != null) { aPackage.setCategoryNames(byId.getName()); } } } return getDataTable(list); } /** * 查询体检套餐列表 */ @GetMapping("getList") @ApiOperation(value = "查询体检套餐列表") public TableDataInfo getList(@RequestParam(required = false) @ApiParam(value = "性别") String cusSex) { // List tjPackageList = null; // List list = null; // if (cusSex == null || cusSex.equals("2")) { // if (redisCache.hasKey("getTjPackageListBySex")) { // list = redisCache.getCacheMapValue("getTjPackageListBySex", "getTjPackageListByManAndWoMan"); // } else { // tjPackageList = tjPackageService.list(new LambdaQueryWrapper().eq(TjPackage::getPacStatus,0)); // } // } else { // if (cusSex.equals("0")) { // if (redisCache.hasKey("getTjPackageListBySex")) { // list = redisCache.getCacheMapValue("getTjPackageListBySex", "getTjPackageListByMan"); // } else { // tjPackageList = tjPackageService.getTjPackageListByMan(); // } // } else { // if (redisCache.hasKey("getTjPackageListBySex")) { // list = redisCache.getCacheMapValue("getTjPackageListBySex", "getTjPackageListByWoMan"); // } else { // tjPackageList = tjPackageService.getTjPackageListByWoMan(); // } // } // } // asyncService.getTjPackageList(); // if (null != list && list.size() > 0) { // return getDataTable(list); // } else { // getTjPackageList(tjPackageList); // return getDataTable(tjPackageList); // } String pacName=""; if (cusSex==null || cusSex.equals("2")) { final List pacListBySqlAndAll = tjPackageService.getPacListBySqlAndAll(pacName); if (pacListBySqlAndAll!=null){ for (TjPackage tjPackage : pacListBySqlAndAll) { List res=new ArrayList<>(); LambdaQueryWrapper wqq=new LambdaQueryWrapper<>(); wqq.eq(TjPackageProject::getPacId,tjPackage.getPacId()); final List 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")) { final List pacListBySqlAndMan = tjPackageService.getPacListBySqlAndMan(pacName); if (pacListBySqlAndMan!=null){ for (TjPackage tjPackage : pacListBySqlAndMan) { List res=new ArrayList<>(); LambdaQueryWrapper wqq=new LambdaQueryWrapper<>(); wqq.eq(TjPackageProject::getPacId,tjPackage.getPacId()); final List 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 { final List pacListBySqlAndWomen = tjPackageService.getPacListBySqlAndWomen(pacName); if (pacListBySqlAndWomen!=null){ for (TjPackage tjPackage : pacListBySqlAndWomen) { List res=new ArrayList<>(); LambdaQueryWrapper wqq=new LambdaQueryWrapper<>(); wqq.eq(TjPackageProject::getPacId,tjPackage.getPacId()); final List 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); } } } private void getTjPackageList(List tjPackageList) { if (null != tjPackageList && !tjPackageList.isEmpty()) { for (TjPackage aPackage : tjPackageList) { List tjProjectList = new ArrayList<>(); List pplist = ppservice.getTjPackageProjectListByPacId(String.valueOf(aPackage.getPacId())); StringBuilder allProName = new StringBuilder(); String allSonName = null; if (null != pplist) { for (TjPackageProject packageProject : pplist) { TjProject tjProject = tjProjectService.selectTjProjectByProId(packageProject.getProId()); if (null != tjProject) { allProName.append(tjProject.getProName()).append(";"); String name = tjProjectService.appendTjProjectName(String.valueOf(packageProject.getProId())); allSonName = name; tjProject.setAllSonProName(name); tjProjectList.add(tjProject); List list1 = tjConsumablesService.getTjConsumablesList(String.valueOf(packageProject.getProId())); tjProject.setConsumablesList(list1); } } } aPackage.setTjProjectList(tjProjectList); aPackage.setAllProName(allProName.toString()); aPackage.setAllSonName(allSonName); } } } /** * 导出体检套餐列表 */ @Log(title = "体检套餐", businessType = BusinessType.EXPORT) @PostMapping("/export") @ApiOperation(value = "导出体检套餐列表") //@PreAuthorize("@ss.hasPermi('system:package:export')") public void export(HttpServletResponse response, TjPackage tjPackage) { List list = tjPackageService.selectTjPackageList(tjPackage); ExcelUtil util = new ExcelUtil(TjPackage.class); util.exportExcel(response, list, "体检套餐数据"); } /** * 根据套餐id获取项目集合 */ @GetMapping("/listByPacId") @ApiOperation(value = "根据套餐id获取体检套餐详细信息") //@PreAuthorize("@ss.hasPermi('system:package:Seach')") public AjaxResult listByPacId(@ApiParam(value = "体检套餐id") @RequestParam Long pacId) { if (pacId != null) { TjPackage tjPackage = tjPackageService.getById(pacId); LambdaQueryWrapper wq = new LambdaQueryWrapper<>(); wq.eq(TjPackageProject::getPacId, pacId); List packageProjectList = ppservice.list(wq); StringBuilder allName = new StringBuilder(); StringBuilder allSonName = new StringBuilder(); if (null != packageProjectList && packageProjectList.size() > 0) { List projectList = new ArrayList<>(); for (TjPackageProject tjPackageProject : packageProjectList) { LambdaQueryWrapper wq1 = new LambdaQueryWrapper<>(); wq1.eq(TjProject::getProId, tjPackageProject.getProId()); wq1.eq(TjProject::getProParentId, 0); if (null != tjProjectService.getOne(wq1)) { projectList.add(tjProjectService.getOne(wq1)); allName.append(tjProjectService.getOne(wq1).getProName()).append(";"); } } tjPackage.setAllProName(allName.toString()); for (TjProject tjProject : projectList) { LambdaQueryWrapper wq2 = new LambdaQueryWrapper<>(); wq2.eq(TjProject::getProParentId, tjProject.getProId()); tjProject.setTjProjectList(tjProjectService.list(wq2)); for (TjProject project : tjProjectService.list(wq2)) { allSonName.append(project.getProName()).append(";"); } tjProject.setAllSonProName(allSonName.toString()); } tjPackage.setTjProjectList(projectList); return AjaxResult.success(tjPackage); } return success("暂时没有数据"); } return error("套餐ID不能为空"); } /** * 新增体检套餐 */ @Log(title = "体检套餐", businessType = BusinessType.INSERT) @PostMapping @ApiOperation(value = "新增体检套餐") //@PreAuthorize("@ss.hasPermi('system:package:add')") public AjaxResult add(@RequestBody @ApiParam(value = "体检套餐对象") TjPackage tjPackage) { if (null != tjPackage.getPrice()) { BigDecimal money = new BigDecimal("0.00"); tjPackage.setPrice(money); } tjPackage.setPym(PinyinUtil.getFirstLetter(tjPackage.getPacName(),"")); if (tjPackageService.save(tjPackage)) { List tjProjectList = tjPackage.getTjProjectList(); if (null != tjProjectList && !tjProjectList.isEmpty()) { 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()); // } tjpp.setPriceNow(tjProject.getProPrice()); tjpp.setProId(tjProject.getProId()); tjpp.setPacId(tjPackage.getPacId()); //判断当前套餐下有没有这个项目 有的话跳过添加 LambdaQueryWrapper 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.getProPrice()) { money = money.add(tjProject.getProPrice()); } } tjPackage.setPrice(money.setScale(Integer.parseInt(configService.selectConfigByKey("sys.price.save")), Integer.parseInt(configService.selectConfigByKey("sys.price")))); tjPackageService.updateById(tjPackage); } return AjaxResult.success(); } return AjaxResult.error("新增失败"); } /** * 修改体检套餐 */ @Log(title = "体检套餐", businessType = BusinessType.UPDATE) @PutMapping @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 tjProjectList = tjPackage.getTjProjectList(); if (null != tjProjectList && !tjProjectList.isEmpty()) { LambdaQueryWrapper wq = new LambdaQueryWrapper<>(); wq.eq(TjPackageProject::getPacId, tjPackage.getPacId()); ppservice.remove(wq); BigDecimal money = new BigDecimal(0); for (TjProject tjProject : tjProjectList) { //判断当前套餐下有没有这个项目 有的话跳过添加 LambdaQueryWrapper 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.getProPrice()) { money = money.add(tjProject.getProPrice()); } } tjPackage.setPrice(money.setScale(Integer.parseInt(configService.selectConfigByKey("sys.price.save")), Integer.parseInt(configService.selectConfigByKey("sys.price")))); tjPackageService.updateById(tjPackage); } return AjaxResult.success(); } return AjaxResult.error(); } @PostMapping("/updateStatus") @ApiOperation(value = "修改套餐状态按钮接口") public AjaxResult updateStatus(@RequestBody TjPackage tjPackage) { if (null != tjPackage) { // if (tjPackage.getPacStatus().equals("1")) { // List list = ppservice.getTjPackageProjectListByPacId(String.valueOf(tjPackage.getPacId())); // if(null !=list && list.size()>0){ // return AjaxResult.error("该套餐下有项目正在使用不能停用!!!"); // } // } final TjPackage byId = tjPackageService.getById(tjPackage.getPacId()); byId.setPacStatus(tjPackage.getPacStatus()); tjPackageService.updateById(byId); return AjaxResult.success("操作成功!!!!"); } return AjaxResult.error(); } /** * 删除体检套餐 */ @Log(title = "体检套餐", businessType = BusinessType.DELETE) @DeleteMapping("/{pacIds}") @ApiOperation(value = "删除体检套餐") //@PreAuthorize("@ss.hasPermi('system:package:remove')") public AjaxResult remove(@PathVariable Long[] pacIds) { if (null != pacIds && pacIds.length > 0) { for (Long pacId : pacIds) { TjPackage byId = tjPackageService.getById(pacId); if (null != byId) { if (byId.getPacStatus().equals(0)) { return AjaxResult.error("该套餐正在使用中不能删除"); } if (tjPackageService.removeById(pacId)) { LambdaQueryWrapper wq = new LambdaQueryWrapper<>(); wq.eq(TjPackageProject::getPacId, pacId); ppservice.remove(wq); } } } return AjaxResult.success("删除成功"); } return AjaxResult.error("请选择要删除的套餐"); } /** * 更改体检套餐和其中的项目 */ @GetMapping("/updateProject") @ApiOperation(value = "更改体检套餐 和 其中的项目") //@PreAuthorize("@ss.hasPermi('system:package:updateProject')") public AjaxResult updateProject(@RequestParam TjPackage tjPackage, @RequestParam TjProject[] proIds) { if (tjPackage == null) { return AjaxResult.error(); } tjPackageService.updateTjPackage(tjPackage); if (proIds.length <= 0) { return AjaxResult.error(); } LambdaQueryWrapper wq = new LambdaQueryWrapper<>(); wq.eq(TjPackageProject::getPacId, tjPackage.getPacId()); boolean remove = ppservice.remove(wq); if (!remove) { return AjaxResult.error(); } for (TjProject project : proIds) { TjPackageProject packageProject = new TjPackageProject(); packageProject.setPacId(tjPackage.getPacId()); packageProject.setProId(project.getProId()); packageProject.setPriceNow(project.getPriceNow()); ppservice.save(packageProject); } return AjaxResult.success(); } /** * 根据拼音码或套餐名称搜索套餐 */ @GetMapping("/getPackageListByPyName") @ApiOperation(value = "根据拼音码或套餐名称搜索套餐") public AjaxResult getPackageListByPyName(@RequestParam @ApiParam(value = "拼音码或名称") String name) { if (null != name) { LambdaQueryWrapper wq0 = new LambdaQueryWrapper<>(); wq0.like(TjPackage::getPacName, name); List packageList = tjPackageService.list(wq0); if (null != packageList && !packageList.isEmpty()) { for (TjPackage aPackage : packageList) { List tjProjectList = new ArrayList<>(); LambdaQueryWrapper wq = new LambdaQueryWrapper<>(); wq.eq(TjPackageProject::getPacId, aPackage.getPacId()); List pplist = ppservice.list(wq); StringBuilder allProName = new StringBuilder(); StringBuilder allSonName = new StringBuilder(); if (null != pplist) { for (TjPackageProject packageProject : pplist) { StringBuilder allSonProName = new StringBuilder(); TjProject tjProject = tjProjectService.getById(packageProject.getProId()); if (null != tjProject) { allProName.append(tjProject.getProName()).append(";"); LambdaQueryWrapper wq2 = new LambdaQueryWrapper<>(); wq2.eq(TjProject::getProParentId, packageProject.getProId()); for (TjProject project : tjProjectService.list(wq2)) { allSonProName.append(project.getProName()).append(";"); allSonName.append(project.getProName()).append(";"); tjProject.setAllSonProName(allSonProName.toString()); } tjProjectList.add(tjProject); LambdaQueryWrapper wrapper1 = new LambdaQueryWrapper<>(); wrapper1.eq(TjProConsumables::getProId, packageProject.getProId()); List list = tjProConsumablesService.list(wrapper1); List list1 = new ArrayList<>(); for (TjProConsumables tjProConsumables : list) { list1.add(tjConsumablesService.getById(tjProConsumables.getConsumablesId())); } tjProject.setConsumablesList(list1); } } } aPackage.setTjProjectList(tjProjectList); aPackage.setAllProName(allProName.toString()); aPackage.setAllSonName(allSonName.toString()); } return AjaxResult.success(packageList); } List tjPackageList = tjPackageService.list(); if (null != tjPackageList && !tjPackageList.isEmpty()) { List lisi = new ArrayList<>(); for (TjPackage aPackage : tjPackageList) { String pinyin = PinyinUtil.getFirstLetter(aPackage.getPacName(), ""); if (pinyin.contains(name)) { List tjProjectList = new ArrayList<>(); LambdaQueryWrapper wq = new LambdaQueryWrapper<>(); wq.eq(TjPackageProject::getPacId, aPackage.getPacId()); List pplist = ppservice.list(wq); StringBuilder allProName = new StringBuilder(); StringBuilder allSonName = new StringBuilder(); if (null != pplist) { for (TjPackageProject packageProject : pplist) { StringBuilder allSonProName = new StringBuilder(); TjProject tjProject = tjProjectService.getById(packageProject.getProId()); if (null != tjProject) { allProName.append(tjProject.getProName()).append(";"); LambdaQueryWrapper wq2 = new LambdaQueryWrapper<>(); wq2.eq(TjProject::getProParentId, packageProject.getProId()); for (TjProject project : tjProjectService.list(wq2)) { allSonProName.append(project.getProName()).append(";"); allSonName.append(project.getProName()).append(";"); tjProject.setAllSonProName(allSonProName.toString()); } tjProjectList.add(tjProject); LambdaQueryWrapper wrapper1 = new LambdaQueryWrapper<>(); wrapper1.eq(TjProConsumables::getProId, packageProject.getProId()); List list = tjProConsumablesService.list(wrapper1); List list1 = new ArrayList<>(); for (TjProConsumables tjProConsumables : list) { list1.add(tjConsumablesService.getById(tjProConsumables.getConsumablesId())); } tjProject.setConsumablesList(list1); } } } aPackage.setTjProjectList(tjProjectList); aPackage.setAllProName(allProName.toString()); aPackage.setAllSonName(allSonName.toString()); lisi.add(aPackage); } } return AjaxResult.success(lisi); } } return AjaxResult.error("请输入你要查询的内容"); } @PostMapping("/saveOreditTjPacNew") @ApiOperation(value = "体检套餐新增修改接口") public AjaxResult saveOreditTjPacNew(@RequestBody @ApiParam(value = "体检套餐对象") TjPackage tjPackage) { tjPackage.setPym(PinyinUtil.getFirstLetter(tjPackage.getPacName(),"")); if (tjPackageService.saveOrUpdate(tjPackage)) { List projectList = tjPackage.getPackageProjects(); if (null != projectList && !projectList.isEmpty()) { if(StringUtil.isNotBlank(tjPackage.getPacId())){ ppservice.deleteTjPackageProjectByPacId(tjPackage.getPacId()); for (TjPackageProject project : projectList) { project.setPacId(tjPackage.getPacId()); ppservice.save(project); } } } return AjaxResult.success(); } return AjaxResult.error(); } }