Bladeren bron

科研同步时增加申请人id

陈长荣 2 maanden geleden
bovenliggende
commit
799115c8b5

+ 1 - 1
jfcloud-gene-biz/pom.xml

@@ -62,7 +62,7 @@
     <dependency>
       <groupId>com.github.jfcloud</groupId>
       <artifactId>jfcloud-project-api</artifactId>
-      <version>k6.1.3</version>
+      <version>k7.0.3</version>
     </dependency>
 
     <dependency>

+ 12 - 12
jfcloud-gene-biz/src/main/java/com/github/jfcloud/gene/flow/service/impl/FlowInfoServiceImpl.java

@@ -294,6 +294,10 @@ public class FlowInfoServiceImpl extends ServiceImpl<FlowInfoMapper, FlowInfo> i
 
     @Override
     public void execute(Long id, SynProjectVo vo) {
+        if (!systemPropertiesService.getBooleanValue("gene.sync.ky")) {
+            throw new RuntimeException("基因定制-科研同步配置未开启,不进行同步");
+        }
+
         FlowInfo flowInfo = getById(id);
         Assert.notNull(flowInfo, "基因定制流程不存在");
         Assert.isTrue(GeneStatusEnum.COMPLETED.getStatus().equals(flowInfo.getStatus()), "基因定制流程非完成状态");
@@ -311,24 +315,20 @@ public class FlowInfoServiceImpl extends ServiceImpl<FlowInfoMapper, FlowInfo> i
         projectFeignDTO.setLeader(vo.getProjectLeader());
         projectFeignDTO.setProjectType(vo.getApprovalType());
         projectFeignDTO.setProjectCode(flowInfo.getApprovalNo());
+        projectFeignDTO.setApplicantUserId(Long.parseLong(flowInfo.getCreateBy()));
 
         //推送申请人nickname
         String nickname = userIdNameCache.getNicknameByUserId(vo.getProjectLeader());
         projectFeignDTO.setLeaders(nickname);
 
-        Long kyId = null;
-        if (systemPropertiesService.getBooleanValue("gene.sync.ky")) {
-            log.info("推送科研项目:flowId={}, param={}", id, JSON.toJSONString(projectFeignDTO));
-            R<Long> longR = remoteProjectService.initProject(projectFeignDTO);
-            if (!longR.isOk()) {
-                log.error("projectId={}推送科研失败,{}", id, longR);
-            }
-            Assert.isTrue(longR.isOk(), "操作失败,科研" + longR);
-            kyId = longR.getData();
-            new FlowInfo().setId(id).setKyId(kyId).updateById();
-        } else {
-            log.warn("基因定制-科研同步配置未开启,不进行同步");
+        log.info("基因定制推送科研项目:flowId={}, param={}", id, JSON.toJSONString(projectFeignDTO));
+        R<Long> longR = remoteProjectService.initProject(projectFeignDTO);
+        if (!longR.isOk()) {
+            log.error("projectId={}推送科研失败,{}", id, longR);
         }
+        Assert.isTrue(longR.isOk(), "操作失败,科研" + longR);
+        Long kyId = longR.getData();
+        new FlowInfo().setId(id).setKyId(kyId).updateById();
 
         if (kyId != null && systemPropertiesService.getBooleanValue("sample.sync.animal")) {
             //同步动物中心,生成动物中心项目信息

+ 12 - 13
jfcloud-gene-biz/src/main/java/com/github/jfcloud/gene/sample/service/impl/SampleInfoServiceImpl.java

@@ -328,6 +328,10 @@ public class SampleInfoServiceImpl extends ServiceImpl<SampleInfoMapper, SampleI
 
     @Override
     public void execute(Long id, SynProjectVo vo) {
+        if (!systemPropertiesService.getBooleanValue("sample.sync.ky")) {
+            throw new RuntimeException("样本送检-科研同步配置未开启,不进行同步");
+        }
+
         SampleInfo sampleInfo = getById(id);
         Assert.notNull(sampleInfo, "样本送检流程不存在");
         Assert.isTrue(GeneStatusEnum.COMPLETED.getStatus().equals(sampleInfo.getStatus()), "样本送检流程非完成状态");
@@ -358,25 +362,20 @@ public class SampleInfoServiceImpl extends ServiceImpl<SampleInfoMapper, SampleI
         projectFeignDTO.setLeader(vo.getProjectLeader());
         projectFeignDTO.setProjectType(vo.getApprovalType());
         projectFeignDTO.setProjectCode(projectNo);
+        projectFeignDTO.setApplicantUserId(Long.parseLong(sampleInfo.getCreateBy()));
 
         //推送申请人nickname
         String leaderNickname = userIdNameCache.getNicknameByUserId(vo.getProjectLeader());
         projectFeignDTO.setLeaders(leaderNickname);
 
-        Long kyId;
-        if (systemPropertiesService.getBooleanValue("sample.sync.ky")) {
-            log.info("推送科研项目:flowId={}, param={}", id, JSON.toJSONString(projectFeignDTO));
-            R<Long> longR = remoteProjectService.initProject(projectFeignDTO);
-            if (!longR.isOk()) {
-                log.error("projectId={}推送科研失败,{}", id, longR);
-            }
-            Assert.isTrue(longR.isOk(), "操作失败,科研" + longR);
-            kyId = longR.getData();
-            new SampleInfo().setId(id).setKyId(kyId).updateById();
-        } else {
-            log.warn("样本送检-科研同步配置未开启,不进行同步");
-            return;
+        log.info("样本送检推送科研项目:flowId={}, param={}", id, JSON.toJSONString(projectFeignDTO));
+        R<Long> longR = remoteProjectService.initProject(projectFeignDTO);
+        if (!longR.isOk()) {
+            log.error("projectId={}推送科研失败,{}", id, longR);
         }
+        Assert.isTrue(longR.isOk(), "操作失败,科研" + longR);
+        Long kyId = longR.getData();
+        new SampleInfo().setId(id).setKyId(kyId).updateById();
 
         if (kyId != null && systemPropertiesService.getBooleanValue("sample.sync.animal")) {
             //同步动物中心,生成动物中心项目信息