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 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;
|
|
@Resource
|
private TjAsyncService asyncService;
|
|
@Resource
|
private RedisCache redisCache;
|
|
@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<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);
|
}
|
|
|
/**
|
* 查询体检套餐列表
|
*/
|
@GetMapping("/list")
|
@ApiOperation(value = "查询体检套餐列表(自带有分页)")
|
//@PreAuthorize("@ss.hasPermi('hosp:package:list')")
|
public TableDataInfo list(@ApiParam(value = "体检套餐对象") TjPackage tjPackage) {
|
startPage();
|
List<TjPackage> list = tjPackageService.selectTjPackageList(tjPackage);
|
if (null != list && list.size() > 0) {
|
for (TjPackage aPackage : list) {
|
StringBuilder allProName = new StringBuilder();
|
StringBuilder allSonName = new StringBuilder();
|
|
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) {
|
allProName.append(tjProject.getProName()).append(";");
|
List<TjProject> 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<String> 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<TjPackage> tjPackageList = null;
|
// List<TjPackage> list = null;
|
// if (cusSex == null || cusSex.equals("2")) {
|
// if (redisCache.hasKey("getTjPackageListBySex")) {
|
// list = redisCache.getCacheMapValue("getTjPackageListBySex", "getTjPackageListByManAndWoMan");
|
// } else {
|
// tjPackageList = tjPackageService.list(new LambdaQueryWrapper<TjPackage>().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<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")) {
|
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 {
|
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);
|
}
|
}
|
}
|
|
private void getTjPackageList(List<TjPackage> tjPackageList) {
|
if (null != tjPackageList && tjPackageList.size() > 0) {
|
for (TjPackage aPackage : tjPackageList) {
|
List<TjProject> tjProjectList = new ArrayList<>();
|
List<TjPackageProject> 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<TjConsumables> 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<TjPackage> list = tjPackageService.selectTjPackageList(tjPackage);
|
ExcelUtil<TjPackage> util = new ExcelUtil<TjPackage>(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<TjPackageProject> wq = new LambdaQueryWrapper<>();
|
wq.eq(TjPackageProject::getPacId, pacId);
|
List<TjPackageProject> packageProjectList = ppservice.list(wq);
|
StringBuilder allName = new StringBuilder();
|
StringBuilder allSonName = new StringBuilder();
|
if (null != packageProjectList && packageProjectList.size() > 0) {
|
List<TjProject> projectList = new ArrayList<>();
|
for (TjPackageProject tjPackageProject : packageProjectList) {
|
LambdaQueryWrapper<TjProject> 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<TjProject> 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);
|
}
|
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());
|
}
|
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());
|
}
|
}
|
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) {
|
if (tjPackageService.updateById(tjPackage)) {
|
List<TjProject> tjProjectList = tjPackage.getTjProjectList();
|
if (null != tjProjectList && tjProjectList.size() > 0) {
|
LambdaQueryWrapper<TjPackageProject> wq = new LambdaQueryWrapper<>();
|
wq.eq(TjPackageProject::getPacId, tjPackage.getPacId());
|
ppservice.remove(wq);
|
BigDecimal money = new BigDecimal(0);
|
for (TjProject tjProject : tjProjectList) {
|
//判断当前套餐下有没有这个项目 有的话跳过添加
|
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.setProId(tjProject.getProId());
|
tjpp.setPacId(tjPackage.getPacId());
|
ppservice.save(tjpp);
|
if (null != tjProject.getPriceNow()) {
|
money = money.add(tjProject.getPriceNow());
|
}
|
}
|
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<TjPackageProject> 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<TjPackageProject> 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<TjPackageProject> 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<TjPackage> wq0 = new LambdaQueryWrapper<>();
|
wq0.like(TjPackage::getPacName, name);
|
List<TjPackage> packageList = tjPackageService.list(wq0);
|
if (null != packageList && packageList.size() > 0) {
|
for (TjPackage aPackage : packageList) {
|
List<TjProject> tjProjectList = new ArrayList<>();
|
LambdaQueryWrapper<TjPackageProject> wq = new LambdaQueryWrapper<>();
|
wq.eq(TjPackageProject::getPacId, aPackage.getPacId());
|
List<TjPackageProject> 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<TjProject> 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<TjProConsumables> wrapper1 = new LambdaQueryWrapper<>();
|
wrapper1.eq(TjProConsumables::getProId, packageProject.getProId());
|
List<TjProConsumables> list = tjProConsumablesService.list(wrapper1);
|
List<TjConsumables> 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<TjPackage> tjPackageList = tjPackageService.list();
|
if (null != tjPackageList && tjPackageList.size() > 0) {
|
List<TjPackage> lisi = new ArrayList<>();
|
for (TjPackage aPackage : tjPackageList) {
|
String pinyin = PinyinUtil.getFirstLetter(aPackage.getPacName(), "");
|
if (pinyin.contains(name)) {
|
List<TjProject> tjProjectList = new ArrayList<>();
|
LambdaQueryWrapper<TjPackageProject> wq = new LambdaQueryWrapper<>();
|
wq.eq(TjPackageProject::getPacId, aPackage.getPacId());
|
List<TjPackageProject> 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<TjProject> 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<TjProConsumables> wrapper1 = new LambdaQueryWrapper<>();
|
wrapper1.eq(TjProConsumables::getProId, packageProject.getProId());
|
List<TjProConsumables> list = tjProConsumablesService.list(wrapper1);
|
List<TjConsumables> 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("请输入你要查询的内容");
|
}
|
}
|