|
@@ -5,15 +5,14 @@ import cn.cslg.pas.common.core.exception.CustomException;
|
|
|
import cn.cslg.pas.common.model.PersonnelVO;
|
|
|
import cn.cslg.pas.common.model.dto.ClientDTO;
|
|
|
import cn.cslg.pas.common.model.dto.UploadFileDTO;
|
|
|
-import cn.cslg.pas.common.model.vo.ProjectExportVO;
|
|
|
-import cn.cslg.pas.common.model.vo.ProjectImportVO;
|
|
|
-import cn.cslg.pas.common.model.vo.ProjectVO;
|
|
|
-import cn.cslg.pas.common.model.vo.TaskParams;
|
|
|
+import cn.cslg.pas.common.model.vo.*;
|
|
|
import cn.cslg.pas.common.utils.*;
|
|
|
import cn.cslg.pas.common.utils.SecurityUtils.LoginUtils;
|
|
|
import cn.cslg.pas.common.utils.SecurityUtils.SecurityUtils;
|
|
|
import cn.cslg.pas.common.utils.auth.checkAuth;
|
|
|
import cn.cslg.pas.domain.*;
|
|
|
+import cn.cslg.pas.mapper.AssoStructurePatentMapper;
|
|
|
+import cn.cslg.pas.mapper.ProductMapper;
|
|
|
import cn.cslg.pas.mapper.ProjectMapper;
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
|
import cn.hutool.core.collection.IterUtil;
|
|
@@ -36,6 +35,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.context.annotation.Lazy;
|
|
|
import org.springframework.scheduling.annotation.Async;
|
|
@@ -59,6 +59,7 @@ import java.util.stream.Collectors;
|
|
|
* @author 王岩
|
|
|
* @since 2022-01-24
|
|
|
*/
|
|
|
+@Slf4j
|
|
|
@Service
|
|
|
@RequiredArgsConstructor(onConstructor_ = {@Lazy})
|
|
|
public class ProjectService extends ServiceImpl<ProjectMapper, Project> {
|
|
@@ -101,12 +102,14 @@ public class ProjectService extends ServiceImpl<ProjectMapper, Project> {
|
|
|
private final UserService userService;
|
|
|
private final LoginUtils loginUtils;
|
|
|
private final RequestService requestService;
|
|
|
+ private final AssoStructurePatentMapper assoStructurePatentMapper;
|
|
|
+ private final ProductMapper productMapper;
|
|
|
|
|
|
public Project getProjectByName(String name) {
|
|
|
LambdaQueryWrapper<Project> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
- PersonnelVO personnelVO =cacheUtils.getLoginUser(loginUtils.getId());
|
|
|
+ PersonnelVO personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
|
|
|
queryWrapper.eq(Project::getName, name);
|
|
|
- queryWrapper.eq(Project::getTenantId,personnelVO.getTenantId());
|
|
|
+ queryWrapper.eq(Project::getTenantId, personnelVO.getTenantId());
|
|
|
queryWrapper.last("limit 1");
|
|
|
return this.getOne(queryWrapper);
|
|
|
}
|
|
@@ -128,6 +131,7 @@ public class ProjectService extends ServiceImpl<ProjectMapper, Project> {
|
|
|
params.setTenantId(personnelVO.getTenantId());
|
|
|
}
|
|
|
}
|
|
|
+ //分页查询专题库列表
|
|
|
IPage<Project> pageList = baseMapper.getPageList(new Page<>(params.getCurrent(), params.getSize()), params);
|
|
|
|
|
|
List<Project> dataList = pageList.getRecords();
|
|
@@ -139,6 +143,12 @@ public class ProjectService extends ServiceImpl<ProjectMapper, Project> {
|
|
|
JSONArray jsonArray1 = JSON.parseArray(jsonObject);
|
|
|
List<ProjectVO.Department> departmentList = jsonArray1.toJavaList(ProjectVO.Department.class);
|
|
|
for (Project project : dataList) {
|
|
|
+ Integer productId = project.getProductId();
|
|
|
+ if (productId != null) {
|
|
|
+ ProductVO queryResult = productMapper.getStandardById(productId);
|
|
|
+ String productName = queryResult.getProductName();
|
|
|
+ project.setProductName(productName);
|
|
|
+ }
|
|
|
for (ProjectVO.Department department : departmentList) {
|
|
|
if (project.getDepartmentId() != null) {
|
|
|
if (project.getDepartmentId().equals(department.getId())) {
|
|
@@ -190,7 +200,19 @@ public class ProjectService extends ServiceImpl<ProjectMapper, Project> {
|
|
|
}
|
|
|
LambdaQueryWrapper<Project> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
queryWrapper.in(Project::getId, ids);
|
|
|
+ //根据ids查询专题库列表
|
|
|
List<Project> dataList = this.list(queryWrapper);
|
|
|
+ //↓根据专题库id查询专题库时,查询到的就是一条,就将当前专题库的产品名字赋值(他妈的两个控制层方法调当前业务层,坑爹)
|
|
|
+ if (dataList.size() == 1) {
|
|
|
+ for (Project project : dataList) {
|
|
|
+ Integer productId = project.getProductId();
|
|
|
+ if (productId != null) {
|
|
|
+ ProductVO queryResult = productMapper.getStandardById(productId);
|
|
|
+ String productName = queryResult.getProductName();
|
|
|
+ project.setProductName(productName);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
try {
|
|
|
//获取所属部门对应信息
|
|
|
String jsonObject = requestService.getDepartmentFromPCS(dataList);
|
|
@@ -260,8 +282,7 @@ public class ProjectService extends ServiceImpl<ProjectMapper, Project> {
|
|
|
item.setTypeList(StringUtils.changeStringToInteger(item.getType(), ","));
|
|
|
item.setTypeName(systemDictList.stream().filter(systemDict -> systemDict.getType().equals(Constants.INVESTIGATION_TYPE) && item.getTypeList().contains(Integer.parseInt(systemDict.getValue()))).map(SystemDict::getLabel).collect(Collectors.toList()));
|
|
|
item.setType(null);
|
|
|
- }
|
|
|
- else{
|
|
|
+ } else {
|
|
|
item.setTypeList(new ArrayList<Integer>());
|
|
|
}
|
|
|
});
|
|
@@ -410,11 +431,12 @@ public class ProjectService extends ServiceImpl<ProjectMapper, Project> {
|
|
|
@Transactional
|
|
|
public String add(Project project) throws IOException {
|
|
|
PersonnelVO user = cacheUtils.getLoginUserPersonnel(loginUtils.getId());
|
|
|
+ //检查专题库名称是否被占用
|
|
|
Project temp = this.getProjectByName(project.getName());
|
|
|
if (temp != null) {
|
|
|
return Response.error("专题库名称已存在");
|
|
|
}
|
|
|
- if (project.getClientId()==null||project.getClientId() == -1) {
|
|
|
+ if (project.getClientId() == null || project.getClientId() == -1) {
|
|
|
ClientDTO clientDTO = new ClientDTO();
|
|
|
clientDTO.setName(project.getClientName());
|
|
|
clientDTO.setTenantId(user.getTenantId());
|
|
@@ -428,6 +450,8 @@ public class ProjectService extends ServiceImpl<ProjectMapper, Project> {
|
|
|
project.setCreateBy(loginUtils.getId());
|
|
|
project.setCreateTime(DateUtils.getDateTime());
|
|
|
project.setTenantId(user.getTenantId());
|
|
|
+ //专题库表新增数据
|
|
|
+ log.info("专题库表新增数据");
|
|
|
project.insert();
|
|
|
this.addProjectUser(project.getId());
|
|
|
return Response.success(project.getId());
|
|
@@ -435,11 +459,13 @@ public class ProjectService extends ServiceImpl<ProjectMapper, Project> {
|
|
|
|
|
|
@Transactional
|
|
|
public String edit(Project project) throws IOException {
|
|
|
+ System.out.println(project);
|
|
|
Project temp = this.getProjectByName(project.getName());
|
|
|
+ //检查尝试修改的新专题库名称是否被占用
|
|
|
if (temp != null && !temp.getId().equals(project.getId())) {
|
|
|
return Response.error("专题库名称已存在");
|
|
|
}
|
|
|
- if (project.getClientId()==null||project.getClientId() == -1) {
|
|
|
+ if (project.getClientId() == null || project.getClientId() == -1) {
|
|
|
ClientDTO clientDTO = new ClientDTO();
|
|
|
clientDTO.setName(project.getClientName());
|
|
|
clientDTO.setTenantId(project.getTenantId());
|
|
@@ -450,12 +476,16 @@ public class ProjectService extends ServiceImpl<ProjectMapper, Project> {
|
|
|
}
|
|
|
project.setScenario(StringUtils.join(project.getScenarioList(), ","));
|
|
|
project.setType(StringUtils.join(project.getTypeList(), ","));
|
|
|
+ //专题库表修改数据
|
|
|
+ log.info("专题库表修改数据");
|
|
|
project.updateById();
|
|
|
return Response.success();
|
|
|
}
|
|
|
|
|
|
@Transactional
|
|
|
public String delete(Integer id) {
|
|
|
+ //专题库表删除数据
|
|
|
+ log.info("专题库表删除数据");
|
|
|
this.removeById(id);
|
|
|
this.deleteProjectUser(id, loginUtils.getId());
|
|
|
projectPatentLinkService.deleteByProjectId(id);
|
|
@@ -464,6 +494,8 @@ public class ProjectService extends ServiceImpl<ProjectMapper, Project> {
|
|
|
projectUserService.deleteByProjectId(id);
|
|
|
projectFileService.deleteByProjectId(id);
|
|
|
patentApplicantMergeLinkService.deleteByProjectId(id);
|
|
|
+ //陈宇 ↓ 删除专题库id关联产品id关联架构id(asso_structure_patent表)数据
|
|
|
+ assoStructurePatentMapper.deleteByProjectId(id);
|
|
|
return Response.success();
|
|
|
}
|
|
|
|