|
@@ -13,9 +13,11 @@ import com.github.jfcloud.gene.lis.config.LisDb;
|
|
|
import com.github.jfcloud.gene.lis.entity.HtScienceApply;
|
|
|
import com.github.jfcloud.gene.lis.entity.HtScienceApplyItem;
|
|
|
import com.github.jfcloud.gene.sample.entity.SampleCheckOrder;
|
|
|
+import com.github.jfcloud.gene.sample.entity.SampleInfo;
|
|
|
import com.github.jfcloud.gene.sample.enums.ScientificSampleTypeEnum;
|
|
|
import com.github.jfcloud.gene.sample.mapper.SampleCheckOrderMapper;
|
|
|
import com.github.jfcloud.gene.sample.service.SampleAnimalService;
|
|
|
+import com.github.jfcloud.gene.sample.service.SampleInfoService;
|
|
|
import com.github.jfcloud.gene.sample.vo.CheckItemSerumVo;
|
|
|
import com.github.jfcloud.gene.sample.vo.SampleAnimalVo;
|
|
|
import com.github.jfcloud.gene.sample.vo.SampleCheckSerumVo;
|
|
@@ -38,11 +40,13 @@ public class LisSyncService {
|
|
|
private final LisDb lisDb;
|
|
|
private final SampleCheckOrderMapper checkOrderMapper;
|
|
|
private final SampleAnimalService sampleAnimalService;
|
|
|
+ private final SampleInfoService sampleInfoService;
|
|
|
|
|
|
/**
|
|
|
* 同步LIS
|
|
|
*/
|
|
|
public void sync(Long sampleId) {
|
|
|
+ SampleInfo sampleInfo = sampleInfoService.getById(sampleId);
|
|
|
SampleAnimalVo animalDetail = sampleAnimalService.getDetail(sampleId);
|
|
|
Assert.notNull(animalDetail, "同步LIS失败,动物样本检测不存在");
|
|
|
Assert.isTrue(StrUtil.isNotBlank(animalDetail.getScientificSampleType()) &&
|
|
@@ -63,8 +67,8 @@ public class LisSyncService {
|
|
|
Map<Long, Entity> depMap = depEntities.stream().collect(Collectors.toMap(e -> e.getLong("id"), Function.identity()));
|
|
|
|
|
|
//根据昵称查询用户id
|
|
|
- Entity applyUser = lisDb.queryOne("select top 1 user_id from dbo.HT_INFO_USER_EXTEND where name = N'" + serum.getApplyUserName() + "' order by user_id desc");
|
|
|
- Assert.notNull(applyUser, "同步LIS失败,申请人姓名[{}]不存在LIS系统", serum.getApplyUserName());
|
|
|
+ Entity applyUser = lisDb.queryOne("select top 1 user_id from dbo.HT_INFO_USER_EXTEND where name = N'" + sampleInfo.getApplicantName() + "' order by user_id desc");
|
|
|
+ Assert.notNull(applyUser, "同步LIS失败,申请人姓名[{}]不存在LIS系统", sampleInfo.getApplicantName());
|
|
|
|
|
|
//记录HtScienceApply的id
|
|
|
Map<String, Long> applyIdMap = new HashMap<>();
|
|
@@ -100,12 +104,16 @@ public class LisSyncService {
|
|
|
scienceApply.setAgeDisplay(ageObj.toJSONString());
|
|
|
scienceApply.setSampleId(item.getLisSampleTypeId().toString());
|
|
|
scienceApply.setFastFlag(Integer.parseInt(item.getQuick()));
|
|
|
- scienceApply.setApplyDep(serum.getSendOrgId().toString());
|
|
|
- scienceApply.setApplyDocId(serum.getSendUserId().toString());
|
|
|
+ if (serum.getSendOrgId() != null) {
|
|
|
+ scienceApply.setApplyDep(serum.getSendOrgId().toString());
|
|
|
+ }
|
|
|
+ if (serum.getSendUserId() != null) {
|
|
|
+ scienceApply.setApplyDocId(serum.getSendUserId().toString());
|
|
|
+ scienceApply.setDeliverOperId(serum.getSendUserId().toString());
|
|
|
+ }
|
|
|
scienceApply.setApplyDoc(serum.getSendUserName());
|
|
|
- scienceApply.setApplyTime(new DateTime(item.getApplyDate()));
|
|
|
scienceApply.setDeliverOper(serum.getSendUserName());
|
|
|
- scienceApply.setDeliverOperId(serum.getSendUserId().toString());
|
|
|
+ scienceApply.setApplyTime(new DateTime(item.getApplyDate()));
|
|
|
scienceApply.setDeliverTime(new DateTime(item.getSendDate()));
|
|
|
scienceApply.setSampleCount(Integer.parseInt(item.getNum()));
|
|
|
Assert.isTrue(scienceApply.getSampleCount() > 0, "同步LIS失败,样本数量不能为0");
|