|
@@ -2,6 +2,7 @@ package com.jeeplus.finance.projectBusinessType.service;
|
|
|
|
|
|
import cn.hutool.core.collection.CollectionUtil;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
@@ -17,6 +18,7 @@ import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
@@ -28,7 +30,8 @@ public class CwProjectBusinessTypeService extends ServiceImpl<CwProjectBusinessT
|
|
|
private CwProjectBusinessTypeMapper cwProjectBusinessTypeMapper;
|
|
|
|
|
|
public IPage<CwProjectBusinessTypeDTO> findList(Page<CwProjectBusinessTypeDTO> page, QueryWrapper<CwProjectBusinessType> queryWrapper){
|
|
|
- queryWrapper.eq("cw_pbt.del_flag","0").orderByAsc("cw_pbt.sort");
|
|
|
+ queryWrapper.eq("cw_pbt.del_flag","0").orderByAsc("cw_pbt.sort_mark");
|
|
|
+ IPage<CwProjectBusinessTypeDTO> list = cwProjectBusinessTypeMapper.findList(page, queryWrapper);
|
|
|
return cwProjectBusinessTypeMapper.findList(page,queryWrapper);
|
|
|
}
|
|
|
|
|
@@ -46,17 +49,21 @@ public class CwProjectBusinessTypeService extends ServiceImpl<CwProjectBusinessT
|
|
|
|
|
|
public ResponseEntity saveType(CwProjectBusinessTypeDTO cwProjectBusinessTypeDTO) {
|
|
|
CwProjectBusinessType cwProjectBusinessType = CwProjectBusinessTypeWrapper.INSTANCE.toEntity(cwProjectBusinessTypeDTO);
|
|
|
+ cwProjectBusinessType.setIsShow(cwProjectBusinessTypeDTO.getIsShow());
|
|
|
+ cwProjectBusinessType.setSortMark(cwProjectBusinessTypeDTO.getSortMark());
|
|
|
if (ObjectUtil.isNotEmpty(cwProjectBusinessTypeDTO)) {
|
|
|
if (StringUtils.isBlank(cwProjectBusinessTypeDTO.getId())) {
|
|
|
if (StringUtils.isNotBlank(cwProjectBusinessTypeDTO.getParentId())){
|
|
|
if ("0".equals(cwProjectBusinessTypeDTO.getParentId())){
|
|
|
cwProjectBusinessType.setLevel(1);
|
|
|
+ cwProjectBusinessType.setIsShow("1");
|
|
|
cwProjectBusinessType.setParentIds("0,");
|
|
|
}else{
|
|
|
CwProjectBusinessType byId = this.getById(cwProjectBusinessTypeDTO.getParentId());
|
|
|
CwProjectBusinessTypeDTO pbt = CwProjectBusinessTypeWrapper.INSTANCE.toDTO(byId);
|
|
|
if(ObjectUtil.isNotEmpty(pbt)){
|
|
|
cwProjectBusinessType.setLevel(pbt.getLevel()+1);
|
|
|
+ cwProjectBusinessType.setIsShow("1");
|
|
|
cwProjectBusinessType.setParentIds(pbt.getParentIds()+pbt.getId()+",");
|
|
|
}
|
|
|
}
|
|
@@ -64,6 +71,27 @@ public class CwProjectBusinessTypeService extends ServiceImpl<CwProjectBusinessT
|
|
|
}
|
|
|
}
|
|
|
this.saveOrUpdate(cwProjectBusinessType);
|
|
|
+ //查询数据下边是否有子集
|
|
|
+ LambdaQueryWrapper<CwProjectBusinessType> cl2 = new LambdaQueryWrapper<>();
|
|
|
+ cl2.eq(CwProjectBusinessType::getParentId,cwProjectBusinessType.getId());
|
|
|
+ List<CwProjectBusinessType> cwProjectBusinessTypes = cwProjectBusinessTypeMapper.selectList(cl2);
|
|
|
+ ArrayList<String> list = new ArrayList<>();
|
|
|
+ if (ObjectUtil.isAllEmpty(cwProjectBusinessTypes)){
|
|
|
+ return ResponseEntity.ok("保存成功");
|
|
|
+ }else {
|
|
|
+ for (CwProjectBusinessType projectBusinessType : cwProjectBusinessTypes) {
|
|
|
+ list.add(projectBusinessType.getId());
|
|
|
+ }
|
|
|
+ List<CwProjectBusinessType>list1= cwProjectBusinessTypeMapper.selectByParentIds(list);
|
|
|
+ if (ObjectUtil.isAllEmpty(list1)){
|
|
|
+ cwProjectBusinessTypeMapper.updateIsShowByIds(list,cwProjectBusinessType.getIsShow());
|
|
|
+ }else {
|
|
|
+ for (CwProjectBusinessType projectBusinessType : list1) {
|
|
|
+ list.add(projectBusinessType.getId());
|
|
|
+ }
|
|
|
+ cwProjectBusinessTypeMapper.updateIsShowByIds(list,cwProjectBusinessType.getIsShow());
|
|
|
+ }
|
|
|
+ }
|
|
|
return ResponseEntity.ok("保存成功");
|
|
|
}
|
|
|
|