zero 1 rok pred
rodič
commit
dcbf172cb3

+ 6 - 0
src/main/java/cn/cslg/pas/common/dto/AddNoveltyProjectDTO.java

@@ -33,12 +33,18 @@ public class AddNoveltyProjectDTO {
 
     private String applicationRemark;
 
+    private Integer replenishMeans;
+
+    private Integer writeAdvice;
+
     private Integer projectId;
 
     private Integer entrustType;
 
     private String entrustId;
 
+    private String entrustName;
+
     private String headId;
 
     private String departmentId;

+ 7 - 0
src/main/java/cn/cslg/pas/domain/business/NoveltyProject.java

@@ -69,4 +69,11 @@ public class NoveltyProject extends BaseEntity<NoveltyProject> {
     @TableField(value = "project_id")
     private Integer projectId;
 
+    //需要补充资料
+    @TableField(value = "replenish_means")
+    private Integer replenishMeans;
+
+    //撰写要点建议
+    @TableField(value = "write_advice")
+    private Integer writeAdvice;
 }

+ 74 - 1
src/main/java/cn/cslg/pas/service/business/NoveltyProjectService.java

@@ -1,6 +1,7 @@
 package cn.cslg.pas.service.business;
 
 import cn.cslg.pas.common.dto.AddNoveltyProjectDTO;
+import cn.cslg.pas.common.dto.ClientDTO;
 import cn.cslg.pas.common.dto.NoveltyProjectIdDTO;
 import cn.cslg.pas.common.dto.QueryNoveltyProjectDTO;
 import cn.cslg.pas.common.model.cronModel.*;
@@ -11,6 +12,7 @@ import cn.cslg.pas.common.vo.QueryNoveltyProjectVO;
 import cn.cslg.pas.domain.business.AssoProjectFile;
 import cn.cslg.pas.domain.business.NoveltyProject;
 import cn.cslg.pas.domain.business.Project;
+import cn.cslg.pas.exception.XiaoShiException;
 import cn.cslg.pas.mapper.NoveltyProjectMapper;
 import cn.cslg.pas.mapper.ProjectMapper;
 import cn.cslg.pas.service.common.FileManagerService;
@@ -181,10 +183,46 @@ public class NoveltyProjectService extends ServiceImpl<NoveltyProjectMapper, Nov
 
         Project project = new Project();
         BeanUtils.copyProperties(vo, project);
+        if (vo.getEntrustId() != null || vo.getEntrustName() != null) {
+
+            //根据创建人的租户类型设置project的委托类型
+            if (personnelVO.getTenantType().equals("1")) {
+                project.setEntrustType(1);
+
+                //当委托方id不为空时
+                if (vo.getEntrustId() != null) {
+                    project.setEntrustId(vo.getEntrustId());
+                }
+
+                //若且租户类型为代理机构,并且委托方id为空,委托方名称不为空时,新增委托方
+                else {
+                    if (StringUtils.isNotEmpty(vo.getEntrustName())) {
+                        ClientDTO clientDTO = new ClientDTO();
+                        clientDTO.setName(vo.getEntrustName());
+                        clientDTO.setTenantId(personnelVO.getTenantId());
+
+                        try {
+                            String res = permissionService.addClient(clientDTO);
+                            JSONObject jsonObject = JSONObject.parseObject(res);
+                            Integer clientId = Integer.parseInt(jsonObject.get("data").toString());
+                            project.setEntrustId(clientId.toString());
+                            project.setEntrustType(1);
+                        } catch (Exception e) {
+                            throw new XiaoShiException("网络异常");
+                        }
+                    }
+                }
+
+            } else {
+                if (vo.getEntrustId() != null) {
+                    project.setEntrustType(0);
+                    project.setEntrustId(vo.getEntrustId());
+                }
+            }
+        }
         project.setType(4);
         project.setTenantId(personnelVO.getTenantId());
         project.setCreateId(personnelVO.getId());
-        project.setCreateTime(new Date());
         project.insert();
 
         NoveltyProject noveltyProject = new NoveltyProject();
@@ -197,8 +235,43 @@ public class NoveltyProjectService extends ServiceImpl<NoveltyProjectMapper, Nov
 
     @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Throwable.class)
     public Integer updateNoveltyProject(AddNoveltyProjectDTO vo) {
+        //获取登陆人信息 用于设置创建人
+        PersonnelVO personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
         Project project = projectMapper.selectById(vo.getProjectId());
         BeanUtils.copyProperties(vo, project);
+        if (vo.getEntrustId() != null || vo.getEntrustName() != null) {
+            //根据创建人的租户类型设置project的委托类型
+            if (personnelVO.getTenantType().equals("1")) {
+                project.setEntrustType(1);
+
+                //当委托方id不为空时
+                if (vo.getEntrustId() != null) {
+                    project.setEntrustId(vo.getEntrustId());
+                }
+                //若且租户类型为代理机构,并且委托方id为空,委托方名称不为空时,新增委托方
+                else {
+                    if (vo.getEntrustName() != null && vo.getEntrustName().trim() != "") {
+                        ClientDTO clientDTO = new ClientDTO();
+                        clientDTO.setName(vo.getEntrustName());
+                        clientDTO.setTenantId(personnelVO.getTenantId());
+                        try {
+                            String res = permissionService.addClient(clientDTO);
+                            JSONObject jsonObject = JSONObject.parseObject(res);
+                            Integer clientId = Integer.parseInt(jsonObject.get("data").toString());
+                            project.setEntrustId(clientId.toString());
+                            project.setEntrustType(1);
+                        } catch (Exception e) {
+                            throw new XiaoShiException("网络异常");
+                        }
+                    }
+                }
+            } else {
+                if (vo.getEntrustId() != null) {
+                    project.setEntrustType(0);
+                    project.setEntrustId(vo.getEntrustId());
+                }
+            }
+        }
         project.updateById();
 
         NoveltyProject noveltyProject = noveltyProjectMapper.selectOne(new LambdaQueryWrapper<NoveltyProject>()

+ 4 - 5
src/main/java/cn/cslg/pas/service/business/TechnicalCaseService.java

@@ -47,7 +47,7 @@ public class TechnicalCaseService extends ServiceImpl<TechnicalCaseMapper, Techn
 
     @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Throwable.class)
     public Integer addOrUpdateTechnicalCase(AddTechnicalCaseDTO vo) {
-        Integer id = null;
+        Integer technicalCaseId = null;
         if (vo.getTechnicalCaseId() == null) {
             if (vo.getProjectId() == null) {
                 PersonnelVO personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
@@ -55,7 +55,6 @@ public class TechnicalCaseService extends ServiceImpl<TechnicalCaseMapper, Techn
                 project.setType(4);
                 project.setCreateId(personnelVO.getId());
                 project.setTenantId(personnelVO.getTenantId());
-                project.setCreateTime(new Date());
                 project.insert();
                 vo.setProjectId(project.getId());
                 NoveltyProject noveltyProject = new NoveltyProject();
@@ -65,14 +64,14 @@ public class TechnicalCaseService extends ServiceImpl<TechnicalCaseMapper, Techn
             TechnicalCase technicalCase = new TechnicalCase();
             BeanUtils.copyProperties(vo, technicalCase);
             technicalCase.insert();
-            id = technicalCase.getId();
+            technicalCaseId = technicalCase.getId();
         } else {
             TechnicalCase technicalCase = technicalCaseMapper.selectById(vo.getTechnicalCaseId());
             BeanUtils.copyProperties(vo, technicalCase);
             technicalCase.updateById();
-            id = technicalCase.getId();
+            technicalCaseId = technicalCase.getId();
         }
-        return id;
+        return technicalCaseId;
     }
 
     public TechnicalCaseVO queryTechnicalCase(TechnicalCaseIdDTO vo) {