|
@@ -8,6 +8,7 @@ import cn.hutool.core.lang.Assert;
|
|
import cn.hutool.core.util.RandomUtil;
|
|
import cn.hutool.core.util.RandomUtil;
|
|
import cn.hutool.core.util.ReflectUtil;
|
|
import cn.hutool.core.util.ReflectUtil;
|
|
import cn.hutool.core.util.StrUtil;
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
|
+import cn.hutool.db.Entity;
|
|
import com.alibaba.fastjson.JSON;
|
|
import com.alibaba.fastjson.JSON;
|
|
import com.alibaba.fastjson.JSONArray;
|
|
import com.alibaba.fastjson.JSONArray;
|
|
import com.alibaba.fastjson.JSONObject;
|
|
import com.alibaba.fastjson.JSONObject;
|
|
@@ -22,7 +23,9 @@ import com.github.jfcloud.gene.constants.GeneStatusEnum;
|
|
import com.github.jfcloud.gene.file.service.FileInfoService;
|
|
import com.github.jfcloud.gene.file.service.FileInfoService;
|
|
import com.github.jfcloud.gene.flow.entity.FlowAudit;
|
|
import com.github.jfcloud.gene.flow.entity.FlowAudit;
|
|
import com.github.jfcloud.gene.flow.service.FlowAuditService;
|
|
import com.github.jfcloud.gene.flow.service.FlowAuditService;
|
|
|
|
+import com.github.jfcloud.gene.lis.config.LisDb;
|
|
import com.github.jfcloud.gene.sample.entity.*;
|
|
import com.github.jfcloud.gene.sample.entity.*;
|
|
|
|
+import com.github.jfcloud.gene.sample.enums.AgeUnitEnum;
|
|
import com.github.jfcloud.gene.sample.enums.PathogenSampleTypeEnum;
|
|
import com.github.jfcloud.gene.sample.enums.PathogenSampleTypeEnum;
|
|
import com.github.jfcloud.gene.sample.enums.ScientificSampleTypeEnum;
|
|
import com.github.jfcloud.gene.sample.enums.ScientificSampleTypeEnum;
|
|
import com.github.jfcloud.gene.sample.mapper.InspectionCommissionMapper;
|
|
import com.github.jfcloud.gene.sample.mapper.InspectionCommissionMapper;
|
|
@@ -43,11 +46,9 @@ import org.springframework.stereotype.Service;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.lang.reflect.Field;
|
|
import java.lang.reflect.Field;
|
|
-import java.util.HashSet;
|
|
|
|
-import java.util.List;
|
|
|
|
-import java.util.Optional;
|
|
|
|
-import java.util.Set;
|
|
|
|
|
|
+import java.util.*;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
+import java.util.stream.Stream;
|
|
|
|
|
|
@Slf4j
|
|
@Slf4j
|
|
@Service
|
|
@Service
|
|
@@ -65,6 +66,7 @@ public class SampleAnimalServiceImpl extends ServiceImpl<SampleAnimalMapper, Sam
|
|
private final UserIdNameCache userIdNameCache;
|
|
private final UserIdNameCache userIdNameCache;
|
|
private final FlowAuditService flowAuditService;
|
|
private final FlowAuditService flowAuditService;
|
|
private final CommonSampleEditServiceImpl commonSampleEditService;
|
|
private final CommonSampleEditServiceImpl commonSampleEditService;
|
|
|
|
+ private final LisDb lisDb;
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public void removeBySampleId(Long sampleId) {
|
|
public void removeBySampleId(Long sampleId) {
|
|
@@ -187,6 +189,29 @@ public class SampleAnimalServiceImpl extends ServiceImpl<SampleAnimalMapper, Sam
|
|
SampleInfo sampleInfo = sampleInfoMapper.selectById(sampleId);
|
|
SampleInfo sampleInfo = sampleInfoMapper.selectById(sampleId);
|
|
SampleAnimalVo sampleAnimal = getDetail(sampleId);
|
|
SampleAnimalVo sampleAnimal = getDetail(sampleId);
|
|
|
|
|
|
|
|
+ //血清样本送检
|
|
|
|
+ if (sampleAnimal.getScientificSampleType().contains(ScientificSampleTypeEnum.serum.getDescription())) {
|
|
|
|
+ //获取检测指标
|
|
|
|
+ String sql = "select id, name from dbo.HT_DICT_ITEM where status=1 and type=0";
|
|
|
|
+ List<Entity> entities = lisDb.query(sql);
|
|
|
|
+ Map<String, String> dictItemMap = entities.stream()
|
|
|
|
+ .collect(Collectors.toMap(e -> e.getStr("id"), e -> e.getStr("name")));
|
|
|
|
+
|
|
|
|
+ sampleAnimal.getOrder().getSerum().getItems().forEach(item -> {
|
|
|
|
+ //加急
|
|
|
|
+ item.setQuick(WhetherEnum.getLabel(item.getQuick()));
|
|
|
|
+ //年龄
|
|
|
|
+ item.setAge(item.getAge() + AgeUnitEnum.getLabel(item.getAgeUnit()));
|
|
|
|
+ //检测指标
|
|
|
|
+ if (StrUtil.isNotBlank(item.getTarget())) {
|
|
|
|
+ String target = Stream.of(item.getTarget().split(","))
|
|
|
|
+ .map(dictItemMap::get)
|
|
|
|
+ .collect(Collectors.joining("、"));
|
|
|
|
+ item.setTarget(target);
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+
|
|
//文件名称:项目名称-申请人-申请日期-随机四位.docx
|
|
//文件名称:项目名称-申请人-申请日期-随机四位.docx
|
|
String applyDate = DateUtil.format(sampleInfo.getApplyTime(), DatePattern.CHINESE_DATE_PATTERN);
|
|
String applyDate = DateUtil.format(sampleInfo.getApplyTime(), DatePattern.CHINESE_DATE_PATTERN);
|
|
String fileName = String.format("动物样本检测送检申请表-%s-%s-%s-%s.docx",
|
|
String fileName = String.format("动物样本检测送检申请表-%s-%s-%s-%s.docx",
|