|
@@ -5,16 +5,15 @@ 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.ProductMapper;
|
|
|
import cn.cslg.pas.mapper.ProjectMapper;
|
|
|
+import cn.cslg.pas.mapper.asso.AssoStructurePatentMapper;
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
|
import cn.hutool.core.collection.IterUtil;
|
|
|
import cn.hutool.core.date.DateField;
|
|
@@ -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,6 +102,8 @@ 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<>();
|
|
@@ -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);
|
|
@@ -409,6 +431,7 @@ 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("专题库名称已存在");
|
|
@@ -427,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());
|
|
@@ -434,7 +459,9 @@ public class ProjectService extends ServiceImpl<ProjectMapper, Project> {
|
|
|
|
|
|
@Transactional
|
|
|
public String edit(Project project) throws IOException {
|
|
|
+ Integer productId = project.getProductId();
|
|
|
Project temp = this.getProjectByName(project.getName());
|
|
|
+ //检查尝试修改的新专题库名称是否被占用
|
|
|
if (temp != null && !temp.getId().equals(project.getId())) {
|
|
|
return Response.error("专题库名称已存在");
|
|
|
}
|
|
@@ -449,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);
|
|
@@ -463,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();
|
|
|
}
|
|
|
|