|
|
@@ -13,11 +13,14 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.github.jfcloud.common.core.constant.enums.YesNoEnum;
|
|
|
import com.github.jfcloud.common.core.util.R;
|
|
|
import com.github.jfcloud.common.data.datascope.DataScope;
|
|
|
+import com.github.jfcloud.error.annotation.ErrorLog;
|
|
|
+import com.github.jfcloud.error.util.ErrorLogTool;
|
|
|
import com.github.jfcloud.gene.cache.UserIdNameCache;
|
|
|
import com.github.jfcloud.gene.common.constant.StrConstant;
|
|
|
import com.github.jfcloud.gene.common.util.CustomIdGenerator;
|
|
|
import com.github.jfcloud.gene.common.util.UserUtil;
|
|
|
import com.github.jfcloud.gene.constants.GeneStatusEnum;
|
|
|
+import com.github.jfcloud.gene.event.SyncKyEvent;
|
|
|
import com.github.jfcloud.gene.file.vo.FileVo;
|
|
|
import com.github.jfcloud.gene.flow.entity.FlowAudit;
|
|
|
import com.github.jfcloud.gene.flow.service.FlowAuditService;
|
|
|
@@ -29,6 +32,7 @@ import com.github.jfcloud.gene.sample.dto.SamplePageDto;
|
|
|
import com.github.jfcloud.gene.sample.entity.SampleInfo;
|
|
|
import com.github.jfcloud.gene.sample.enums.SampleTypeEnum;
|
|
|
import com.github.jfcloud.gene.sample.mapper.SampleInfoMapper;
|
|
|
+import com.github.jfcloud.gene.sample.service.SampleCheckOrderService;
|
|
|
import com.github.jfcloud.gene.sample.service.SampleEditService;
|
|
|
import com.github.jfcloud.gene.sample.service.SampleInfoService;
|
|
|
import com.github.jfcloud.gene.sample.service.biz.SampleAnimalImagingServiceImpl;
|
|
|
@@ -45,6 +49,7 @@ import com.github.jfcloud.project.api.feign.RemoteProjectService;
|
|
|
import com.github.jfcloud.project.api.feign.SubProjectFeign;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.springframework.context.event.EventListener;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
@@ -66,6 +71,7 @@ public class SampleInfoServiceImpl extends ServiceImpl<SampleInfoMapper, SampleI
|
|
|
private final DBSystemPropertiesService systemPropertiesService;
|
|
|
private final RemoteProjectService remoteProjectService;
|
|
|
private final SubProjectFeign subProjectFeign;
|
|
|
+ private final SampleCheckOrderService checkOrderService;
|
|
|
|
|
|
/**
|
|
|
* 根据样本检测类型获取对应的Service
|
|
|
@@ -219,6 +225,10 @@ public class SampleInfoServiceImpl extends ServiceImpl<SampleInfoMapper, SampleI
|
|
|
item.setFileUrl(latestFile.getUrl());
|
|
|
item.setFilename(latestFile.getName());
|
|
|
item.setStatusLabel(Objects.requireNonNull(GeneStatusEnum.getByStatus(item.getStatus())).getDescription());
|
|
|
+ //查询lis id
|
|
|
+ if (SampleTypeEnum.ANIMAL.getType().equals(item.getType())) {
|
|
|
+ item.setLisId(checkOrderService.getLisId(item.getId()));
|
|
|
+ }
|
|
|
});
|
|
|
pageResult.setRecords(records);
|
|
|
return pageResult;
|
|
|
@@ -350,6 +360,7 @@ public class SampleInfoServiceImpl extends ServiceImpl<SampleInfoMapper, SampleI
|
|
|
return auditDtos;
|
|
|
}
|
|
|
|
|
|
+ @ErrorLog("同步科研")
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
@Override
|
|
|
public void execute(Long id, SynProjectVo vo) {
|
|
|
@@ -385,6 +396,10 @@ public class SampleInfoServiceImpl extends ServiceImpl<SampleInfoMapper, SampleI
|
|
|
ProjectFeignDTO projectFeignDTO = new ProjectFeignDTO();
|
|
|
projectFeignDTO.setName(projectName);
|
|
|
projectFeignDTO.setLeader(vo.getProjectLeader());
|
|
|
+ if (projectFeignDTO.getLeader() == null) {
|
|
|
+ //默认部门负责人
|
|
|
+ projectFeignDTO.setLeader(sampleInfo.getDepartLeaderId());
|
|
|
+ }
|
|
|
projectFeignDTO.setProjectType(vo.getApprovalType());
|
|
|
projectFeignDTO.setProjectCode(projectNo);
|
|
|
projectFeignDTO.setApplicantUserId(userIdNameCache.getUserIdByUsername(sampleInfo.getCreateBy()));
|
|
|
@@ -424,6 +439,14 @@ public class SampleInfoServiceImpl extends ServiceImpl<SampleInfoMapper, SampleI
|
|
|
getServiceByType(sampleInfo.getType()).afterExecute(id);
|
|
|
}
|
|
|
|
|
|
+ @EventListener(SyncKyEvent.class)
|
|
|
+ public void listenKy(SyncKyEvent event) {
|
|
|
+ try {
|
|
|
+ execute(event.getSampleId(), new SynProjectVo());
|
|
|
+ } catch (Exception e) {
|
|
|
+ ErrorLogTool.logError(e, "同步科研");
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
|