|
@@ -12,6 +12,7 @@ import com.alibaba.fastjson.JSONObject;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.github.jfcloud.common.core.util.R;
|
|
|
import com.github.jfcloud.common.data.datascope.DataScope;
|
|
|
import com.github.jfcloud.common.holder.RequestHolder;
|
|
|
import com.github.jfcloud.gene.cache.UserIdNameCache;
|
|
@@ -35,6 +36,7 @@ import com.github.jfcloud.gene.flow.service.NotifyService;
|
|
|
import com.github.jfcloud.gene.flow.vo.FlowAuditVo;
|
|
|
import com.github.jfcloud.gene.flow.vo.FlowDetailVo;
|
|
|
import com.github.jfcloud.gene.flow.vo.FlowPageVo;
|
|
|
+import com.github.jfcloud.gene.flow.vo.SynProjectVo;
|
|
|
import com.github.jfcloud.gene.form.dto.StrainCustomDto;
|
|
|
import com.github.jfcloud.gene.form.dto.StrainPurificationInfoDto;
|
|
|
import com.github.jfcloud.gene.form.entity.StrainCustomInfo;
|
|
@@ -43,6 +45,8 @@ import com.github.jfcloud.gene.form.service.StrainCustomInfoService;
|
|
|
import com.github.jfcloud.gene.form.service.StrainPurificationInfoService;
|
|
|
import com.github.jfcloud.gene.util.WordDataService;
|
|
|
import com.github.jfcloud.gene.util.WordUtil;
|
|
|
+import com.github.jfcloud.project.api.dto.ProjectFeignDTO;
|
|
|
+import com.github.jfcloud.project.api.feign.RemoteProjectService;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
import lombok.SneakyThrows;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
@@ -71,6 +75,7 @@ public class FlowInfoServiceImpl extends ServiceImpl<FlowInfoMapper, FlowInfo> i
|
|
|
private final WordDataService wordDataService;
|
|
|
private final FileInfoService fileInfoService;
|
|
|
private final FlowFileVersionService fileVersionService;
|
|
|
+ private final RemoteProjectService remoteProjectService;
|
|
|
|
|
|
@Override
|
|
|
public Page<FlowPageDto> getPage(FlowPageVo vo) {
|
|
@@ -280,8 +285,34 @@ public class FlowInfoServiceImpl extends ServiceImpl<FlowInfoMapper, FlowInfo> i
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public void execute(Long id) {
|
|
|
+ public void execute(Long id, SynProjectVo vo) {
|
|
|
+ FlowInfo flowInfo = getById(id);
|
|
|
+ Assert.notNull(flowInfo, "基因定制流程不存在");
|
|
|
+ Assert.isTrue(GeneStatusEnum.COMPLETED.getStatus().equals(flowInfo.getStatus()), "基因定制流程非完成状态");
|
|
|
+ Assert.isNull(flowInfo.getKyId(), "基因定制流程已执行");
|
|
|
+
|
|
|
+ //推送数据到科研项目,并得到科研项目id
|
|
|
+ ProjectFeignDTO projectFeignDTO = new ProjectFeignDTO();
|
|
|
+ projectFeignDTO.setName(flowInfo.getProjectName());
|
|
|
+ projectFeignDTO.setLeader(vo.getProjectLeader());
|
|
|
+ projectFeignDTO.setProjectType(vo.getApprovalType());
|
|
|
+
|
|
|
+ //推送申请人nickname
|
|
|
+ String nickname = userIdNameCache.getNicknameByUserId(vo.getProjectLeader());
|
|
|
+ projectFeignDTO.setLeaders(nickname);
|
|
|
+
|
|
|
+ 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();
|
|
|
}
|
|
|
|
|
|
/**
|