|
@ -17,7 +17,10 @@ import com.qs.serve.modules.bms.service.BmsMasterUserService; |
|
|
import com.qs.serve.modules.sys.entity.SysUser; |
|
|
import com.qs.serve.modules.sys.entity.SysUser; |
|
|
import com.qs.serve.modules.tbs.common.TbsCenterType; |
|
|
import com.qs.serve.modules.tbs.common.TbsCenterType; |
|
|
import com.qs.serve.modules.tbs.entity.TbsActivityCenter; |
|
|
import com.qs.serve.modules.tbs.entity.TbsActivityCenter; |
|
|
|
|
|
import com.qs.serve.modules.tbs.entity.TbsBudget; |
|
|
import com.qs.serve.modules.tbs.service.TbsActivityCenterService; |
|
|
import com.qs.serve.modules.tbs.service.TbsActivityCenterService; |
|
|
|
|
|
import com.qs.serve.modules.tbs.service.TbsBudgetCostItemService; |
|
|
|
|
|
import com.qs.serve.modules.tbs.service.TbsBudgetService; |
|
|
import lombok.AllArgsConstructor; |
|
|
import lombok.AllArgsConstructor; |
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
import org.springframework.security.access.prepost.PreAuthorize; |
|
|
import org.springframework.security.access.prepost.PreAuthorize; |
|
@ -46,6 +49,7 @@ public class BmsCostCenterController { |
|
|
private BmsCostCenterService bmsCostCenterService; |
|
|
private BmsCostCenterService bmsCostCenterService; |
|
|
private BmsMasterUserService bmsMasterUserService; |
|
|
private BmsMasterUserService bmsMasterUserService; |
|
|
private TbsActivityCenterService activityCenterService; |
|
|
private TbsActivityCenterService activityCenterService; |
|
|
|
|
|
private TbsBudgetService tbsBudgetService; |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* 树查询 |
|
|
* 树查询 |
|
@ -77,6 +81,7 @@ public class BmsCostCenterController { |
|
|
lqw.eq(BmsMasterUser::getType, MasterUserType.Center); |
|
|
lqw.eq(BmsMasterUser::getType, MasterUserType.Center); |
|
|
List<BmsMasterUser> masterUsers = bmsMasterUserService.list(lqw); |
|
|
List<BmsMasterUser> masterUsers = bmsMasterUserService.list(lqw); |
|
|
List<String> centerIds = masterUsers.stream().map(BmsMasterUser::getTargetId).collect(Collectors.toList()); |
|
|
List<String> centerIds = masterUsers.stream().map(BmsMasterUser::getTargetId).collect(Collectors.toList()); |
|
|
|
|
|
|
|
|
if(centerIds.size()>0){ |
|
|
if(centerIds.size()>0){ |
|
|
List<BmsCostCenter> costCenters = bmsCostCenterService.listByIds(centerIds); |
|
|
List<BmsCostCenter> costCenters = bmsCostCenterService.listByIds(centerIds); |
|
|
Map<Integer,List<BmsCostCenter>> listMap = costCenters.stream().collect(Collectors.groupingBy(BmsCostCenter::getLevel)); |
|
|
Map<Integer,List<BmsCostCenter>> listMap = costCenters.stream().collect(Collectors.groupingBy(BmsCostCenter::getLevel)); |
|
@ -172,12 +177,15 @@ public class BmsCostCenterController { |
|
|
private void commonEdit(BmsCostCenterBo param){ |
|
|
private void commonEdit(BmsCostCenterBo param){ |
|
|
BmsCostCenter costCenter = CopierUtil.copy(param,new BmsCostCenter()); |
|
|
BmsCostCenter costCenter = CopierUtil.copy(param,new BmsCostCenter()); |
|
|
BmsCostCenter dbCostCenter = bmsCostCenterService.getById(costCenter.getId()); |
|
|
BmsCostCenter dbCostCenter = bmsCostCenterService.getById(costCenter.getId()); |
|
|
|
|
|
BmsCostCenter parent = bmsCostCenterService.getById(costCenter.getPid()); |
|
|
|
|
|
if(costCenter.getPid()==null||costCenter.getPid().equals(0L)){ |
|
|
|
|
|
costCenter.setPid(0L); |
|
|
|
|
|
costCenter.setLevel(1); |
|
|
|
|
|
}else { |
|
|
|
|
|
costCenter.setLevel(parent.getLevel()+1); |
|
|
|
|
|
} |
|
|
if(dbCostCenter!=null && !dbCostCenter.getPid().equals(costCenter.getPid())){ |
|
|
if(dbCostCenter!=null && !dbCostCenter.getPid().equals(costCenter.getPid())){ |
|
|
if(costCenter.getPid()==null||costCenter.getPid().equals(0L)){ |
|
|
if(!costCenter.getPid().equals(0L)) { |
|
|
costCenter.setPid(0L); |
|
|
|
|
|
costCenter.setLevel(1); |
|
|
|
|
|
}else { |
|
|
|
|
|
BmsCostCenter parent = bmsCostCenterService.getById(costCenter.getPid()); |
|
|
|
|
|
Integer level = parent.getLevel(); |
|
|
Integer level = parent.getLevel(); |
|
|
if(level>1){ |
|
|
if(level>1){ |
|
|
checkRepeat(parent,dbCostCenter.getId()); |
|
|
checkRepeat(parent,dbCostCenter.getId()); |
|
@ -221,6 +229,12 @@ public class BmsCostCenterController { |
|
|
@PreAuthorize("hasRole('bms:costCenter:delete')") |
|
|
@PreAuthorize("hasRole('bms:costCenter:delete')") |
|
|
public R<?> deleteById(@PathVariable("id") Long id){ |
|
|
public R<?> deleteById(@PathVariable("id") Long id){ |
|
|
//未校验已用不能删,预算和费用申请
|
|
|
//未校验已用不能删,预算和费用申请
|
|
|
|
|
|
LambdaQueryWrapper<TbsBudget> budgetLambdaQueryWrapper = new LambdaQueryWrapper<>(); |
|
|
|
|
|
budgetLambdaQueryWrapper.eq(TbsBudget::getCenterType,TbsCenterType.center); |
|
|
|
|
|
budgetLambdaQueryWrapper.eq(TbsBudget::getCenterId,id); |
|
|
|
|
|
if(0<tbsBudgetService.count(budgetLambdaQueryWrapper)){ |
|
|
|
|
|
return R.error("预算含当前成本中心,删除失败"); |
|
|
|
|
|
} |
|
|
LambdaQueryWrapper<TbsActivityCenter> lqw = new LambdaQueryWrapper<>(); |
|
|
LambdaQueryWrapper<TbsActivityCenter> lqw = new LambdaQueryWrapper<>(); |
|
|
lqw.eq(TbsActivityCenter::getCenterId,id); |
|
|
lqw.eq(TbsActivityCenter::getCenterId,id); |
|
|
lqw.eq(TbsActivityCenter::getCenterType, TbsCenterType.center.name()); |
|
|
lqw.eq(TbsActivityCenter::getCenterType, TbsCenterType.center.name()); |
|
|