|
@@ -1,11 +1,17 @@
|
|
package com.dayou.service.impl;
|
|
package com.dayou.service.impl;
|
|
|
|
|
|
import cn.dev33.satoken.stp.StpUtil;
|
|
import cn.dev33.satoken.stp.StpUtil;
|
|
|
|
+import cn.hutool.core.util.ObjectUtil;
|
|
|
|
+import com.dayou.common.BaseEntity;
|
|
import com.dayou.dto.AssetsProjectQueryDTO;
|
|
import com.dayou.dto.AssetsProjectQueryDTO;
|
|
|
|
+import com.dayou.entity.AssetsCalculate;
|
|
import com.dayou.entity.AssetsProject;
|
|
import com.dayou.entity.AssetsProject;
|
|
|
|
+import com.dayou.entity.AssetsReport;
|
|
import com.dayou.mapper.AssetsProjectMapper;
|
|
import com.dayou.mapper.AssetsProjectMapper;
|
|
|
|
+import com.dayou.service.AssetsCalculateService;
|
|
import com.dayou.service.AssetsProjectService;
|
|
import com.dayou.service.AssetsProjectService;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
|
+import com.dayou.service.AssetsReportService;
|
|
import com.dayou.vo.AssetsProjectVO;
|
|
import com.dayou.vo.AssetsProjectVO;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
@@ -18,6 +24,8 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
|
|
+import java.util.Objects;
|
|
|
|
+
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -34,6 +42,12 @@ public class AssetsProjectServiceImpl extends ServiceImpl<AssetsProjectMapper, A
|
|
@Autowired
|
|
@Autowired
|
|
private AssetsProjectMapper assetsProjectMapper;
|
|
private AssetsProjectMapper assetsProjectMapper;
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
+ private AssetsCalculateService assetsCalculateService;
|
|
|
|
+
|
|
|
|
+ @Autowired
|
|
|
|
+ private AssetsReportService assetsReportService;
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* 获取资产项目列表
|
|
* 获取资产项目列表
|
|
* @param page 分页
|
|
* @param page 分页
|
|
@@ -60,7 +74,19 @@ public class AssetsProjectServiceImpl extends ServiceImpl<AssetsProjectMapper, A
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public Boolean update(AssetsProject assetsProject){
|
|
public Boolean update(AssetsProject assetsProject){
|
|
- return this.updateById(assetsProject);
|
|
|
|
|
|
+ AssetsProject oldInfo = this.getById(assetsProject.getId());
|
|
|
|
+ // 判断是否有更改项目类型
|
|
|
|
+ if (!Objects.equals(oldInfo.getProjectTypeId(), assetsProject.getProjectTypeId())) { // 更改了项目类型
|
|
|
|
+ // 如果更改了项目类型,且项目下已经创建了测算表或报告就不允许更改项目类型
|
|
|
|
+ int calculateCount = assetsCalculateService.count(new LambdaQueryWrapper<AssetsCalculate>().eq(AssetsCalculate::getProjectId, assetsProject.getId()).eq(BaseEntity::getDeleteStatus, 0));
|
|
|
|
+ int reportCount = assetsReportService.count(new LambdaQueryWrapper<AssetsReport>().eq(AssetsReport::getProjectId, assetsProject.getId()).eq(BaseEntity::getDeleteStatus, 0));
|
|
|
|
+ if ((ObjectUtil.isNotNull(calculateCount) && calculateCount > 0) || (ObjectUtil.isNotNull(reportCount) && reportCount > 0)) { // 创建了测算表或报告
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
|
|
+ return this.updateById(assetsProject);
|
|
|
|
+ } else {
|
|
|
|
+ return this.updateById(assetsProject);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|