chendayu před 2 roky
rodič
revize
708b38975c

+ 1 - 1
PAS/src/main/java/cn/cslg/pas/domain/Project.java

@@ -13,7 +13,7 @@ import java.util.List;
  * 专题库表
  * </p>
  *
- * @author 王岩
+ * @author  王岩
  * @since 2022-01-24
  */
 @Data

+ 37 - 4
PAS/src/main/java/cn/cslg/pas/service/ProjectService.java

@@ -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();
     }