Преглед изворни кода

项目编号兼容批准编号

陈长荣 пре 2 месеци
родитељ
комит
636b487984

+ 15 - 0
jfcloud-gene-biz/src/main/java/com/github/jfcloud/gene/sample/dto/SamplePageDto.java

@@ -33,6 +33,21 @@ public class SamplePageDto {
     @Schema(description = "申请人名称")
     private String applicantName;
 
+    @Schema(description = "部门负责人Id")
+    private Long departLeaderId;
+
+    @Schema(description = "部门负责人姓名")
+    private String departLeaderName;
+
+    @Schema(description = "项目管理部审核人")
+    private Long projectManageId;
+
+    @Schema(description = "项目管理部审核人姓名")
+    private String projectManageName;
+
+    @Schema(description = "批准编号")
+    private String approvalNo;
+
     @Schema(description = "申请时间")
     @JsonFormat(pattern = "yyyy-MM-dd")
     private LocalDateTime applyTime;

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

@@ -330,12 +330,18 @@ public class SampleInfoServiceImpl extends ServiceImpl<SampleInfoMapper, SampleI
         Assert.isTrue(GeneStatusEnum.COMPLETED.getStatus().equals(sampleInfo.getStatus()), "样本送检流程非完成状态");
         Assert.isNull(sampleInfo.getKyId(), "样本送检流程已执行");
 
+        String projectNo = sampleInfo.getProjectNo();
+        if (StrUtil.isBlank(projectNo)) {
+            projectNo = sampleInfo.getApprovalNo();
+        }
+        Assert.notEmpty(projectNo, "项目编号为空,无法同步");
+
         //推送数据到科研项目,并得到科研项目id
         ProjectFeignDTO projectFeignDTO = new ProjectFeignDTO();
         projectFeignDTO.setName(sampleInfo.getProjectName());
         projectFeignDTO.setLeader(vo.getProjectLeader());
         projectFeignDTO.setProjectType(vo.getApprovalType());
-        projectFeignDTO.setProjectCode(sampleInfo.getProjectNo());
+        projectFeignDTO.setProjectCode(projectNo);
 
         //推送申请人nickname
         String leaderNickname = userIdNameCache.getNicknameByUserId(vo.getProjectLeader());
@@ -358,7 +364,7 @@ public class SampleInfoServiceImpl extends ServiceImpl<SampleInfoMapper, SampleI
         lacmsProjectDTO.setPl(leaderNickname);
         lacmsProjectDTO.setEthicsCode(sampleInfo.getProjectNo());
         lacmsProjectDTO.setProjectType("样本送检");
-        lacmsProjectDTO.setProjectNum(sampleInfo.getProjectNo());
+        lacmsProjectDTO.setProjectNum(projectNo);
         log.info("推送动物中心:flowId={}, param={}", id, JSON.toJSONString(lacmsProjectDTO));
         subProjectFeign.initProject(lacmsProjectDTO);
     }