更新
This commit is contained in:
@@ -0,0 +1,49 @@
|
|||||||
|
package digital.laboratory.platform.entrustment.enums;
|
||||||
|
|
||||||
|
import lombok.Getter;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分析项目枚举
|
||||||
|
*/
|
||||||
|
@Getter
|
||||||
|
public enum AnalysisOptionEnums {
|
||||||
|
|
||||||
|
QUALITATIVE(1, "定性", "qualitative"),
|
||||||
|
|
||||||
|
RATION(2, "定量", "ration"),
|
||||||
|
|
||||||
|
QUALITATIVE_AND_RATION(3, "定性定量", "qualitativeAndRation"),
|
||||||
|
|
||||||
|
RELEVANCE(4, "关联性", "relevance"),
|
||||||
|
|
||||||
|
OTHER(4, "其他", "other"),
|
||||||
|
;
|
||||||
|
|
||||||
|
private final Integer code;
|
||||||
|
|
||||||
|
private final String chineseName;
|
||||||
|
|
||||||
|
private final String englishName;
|
||||||
|
|
||||||
|
AnalysisOptionEnums(Integer code, String chineseName, String englishName) {
|
||||||
|
this.code = code;
|
||||||
|
this.chineseName = chineseName;
|
||||||
|
this.englishName = englishName;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据状态码获取对应的枚举值
|
||||||
|
*
|
||||||
|
* @param code 状态码
|
||||||
|
* @return 对应的枚举值
|
||||||
|
* @throws IllegalArgumentException 当给定的状态码没有对应的枚举值时抛出此异常
|
||||||
|
*/
|
||||||
|
public static AnalysisOptionEnums fromCode(Integer code) {
|
||||||
|
for (AnalysisOptionEnums analysisOptionEnums : values()) {
|
||||||
|
if (analysisOptionEnums.getCode().equals(code)) {
|
||||||
|
return analysisOptionEnums;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
throw new IllegalArgumentException("No enum constant with code: " + code);
|
||||||
|
}
|
||||||
|
}
|
||||||
+1
-1
@@ -22,7 +22,7 @@ public enum EntrustAlterApplyStatus {
|
|||||||
this.desc = desc;
|
this.desc = desc;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 根据名称获取指纹类型
|
// 根据名称获取状态值
|
||||||
public static EntrustAlterApplyStatus fromStatus(Integer status) {
|
public static EntrustAlterApplyStatus fromStatus(Integer status) {
|
||||||
for (EntrustAlterApplyStatus entrustAlterApplyStatus : values()) {
|
for (EntrustAlterApplyStatus entrustAlterApplyStatus : values()) {
|
||||||
if (entrustAlterApplyStatus.getStatus().equals(status)) {
|
if (entrustAlterApplyStatus.getStatus().equals(status)) {
|
||||||
|
|||||||
+3
-3
@@ -20,11 +20,11 @@ import digital.laboratory.platform.entrustment.entity.CaseEvent;
|
|||||||
import digital.laboratory.platform.entrustment.entity.EntrustAlterApply;
|
import digital.laboratory.platform.entrustment.entity.EntrustAlterApply;
|
||||||
import digital.laboratory.platform.entrustment.entity.Entrustment;
|
import digital.laboratory.platform.entrustment.entity.Entrustment;
|
||||||
import digital.laboratory.platform.entrustment.entity.EntrustmentIdentificationMaterial;
|
import digital.laboratory.platform.entrustment.entity.EntrustmentIdentificationMaterial;
|
||||||
|
import digital.laboratory.platform.entrustment.enums.AnalysisOptionEnums;
|
||||||
import digital.laboratory.platform.entrustment.enums.EntrustAlterApplyStatus;
|
import digital.laboratory.platform.entrustment.enums.EntrustAlterApplyStatus;
|
||||||
import digital.laboratory.platform.entrustment.mapper.EntrustAlterApplyMapper;
|
import digital.laboratory.platform.entrustment.mapper.EntrustAlterApplyMapper;
|
||||||
import digital.laboratory.platform.entrustment.query.EntrustAlterApplyQuery;
|
import digital.laboratory.platform.entrustment.query.EntrustAlterApplyQuery;
|
||||||
import digital.laboratory.platform.entrustment.service.*;
|
import digital.laboratory.platform.entrustment.service.*;
|
||||||
import digital.laboratory.platform.entrustment.utils.EntrustUtils;
|
|
||||||
import digital.laboratory.platform.entrustment.vo.EntrustAlterApplyVO;
|
import digital.laboratory.platform.entrustment.vo.EntrustAlterApplyVO;
|
||||||
import digital.laboratory.platform.sys.entity.DrugLite;
|
import digital.laboratory.platform.sys.entity.DrugLite;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@@ -254,9 +254,9 @@ public class EntrustAlterApplyServiceImpl extends ServiceImpl<EntrustAlterApplyM
|
|||||||
if (!equalsAnalysisOption) {
|
if (!equalsAnalysisOption) {
|
||||||
updateRecordBuilder
|
updateRecordBuilder
|
||||||
.append(" 分析项目由 [")
|
.append(" 分析项目由 [")
|
||||||
.append(EntrustUtils.getZhCnName(oldMaterial.getAnalysisOption()))
|
.append(AnalysisOptionEnums.fromCode(oldMaterial.getAnalysisOption()).getChineseName())
|
||||||
.append("] 更改为 [")
|
.append("] 更改为 [")
|
||||||
.append(EntrustUtils.getZhCnName(analysisOption)).append("]");
|
.append(AnalysisOptionEnums.fromCode(analysisOption).getChineseName()).append("]");
|
||||||
}
|
}
|
||||||
if (!equalsDrugInfo) {
|
if (!equalsDrugInfo) {
|
||||||
updateRecordBuilder
|
updateRecordBuilder
|
||||||
|
|||||||
+89
-124
@@ -24,6 +24,7 @@ import digital.laboratory.platform.common.oss.service.OssFile;
|
|||||||
import digital.laboratory.platform.common.security.util.SecurityUtils;
|
import digital.laboratory.platform.common.security.util.SecurityUtils;
|
||||||
import digital.laboratory.platform.entrustment.dto.PrintDTO;
|
import digital.laboratory.platform.entrustment.dto.PrintDTO;
|
||||||
import digital.laboratory.platform.entrustment.entity.*;
|
import digital.laboratory.platform.entrustment.entity.*;
|
||||||
|
import digital.laboratory.platform.entrustment.enums.AnalysisOptionEnums;
|
||||||
import digital.laboratory.platform.entrustment.enums.EntrustmentStatusConstants;
|
import digital.laboratory.platform.entrustment.enums.EntrustmentStatusConstants;
|
||||||
import digital.laboratory.platform.entrustment.handler.AppStartupRunner;
|
import digital.laboratory.platform.entrustment.handler.AppStartupRunner;
|
||||||
import digital.laboratory.platform.entrustment.mapper.EntrustmentIdentificationMaterialMapper;
|
import digital.laboratory.platform.entrustment.mapper.EntrustmentIdentificationMaterialMapper;
|
||||||
@@ -983,33 +984,9 @@ public class EntrustmentIdentificationMaterialServiceImpl extends ServiceImpl<En
|
|||||||
entrustMaterialOfThirdSys.setPackageType(entrustmentMapper.getTypeForDictionary(identificationMaterial.getPack()));
|
entrustMaterialOfThirdSys.setPackageType(entrustmentMapper.getTypeForDictionary(identificationMaterial.getPack()));
|
||||||
entrustMaterialOfThirdSys.setAmount(identificationMaterial.getQuantity());
|
entrustMaterialOfThirdSys.setAmount(identificationMaterial.getQuantity());
|
||||||
List<DrugLite> candidateDrugs = identificationMaterial.getCandidateDrugs();
|
List<DrugLite> candidateDrugs = identificationMaterial.getCandidateDrugs();
|
||||||
List<String> stringList = new ArrayList<>();
|
|
||||||
|
|
||||||
for (DrugLite candidateDrug : candidateDrugs) {
|
entrustMaterialOfThirdSys.setTargetObjectTypeList(JSON.toJSONString(candidateDrugs.stream().map(DrugLite::getName).collect(Collectors.toList())));
|
||||||
String name = candidateDrug.getName();
|
entrustMaterialOfThirdSys.setAnalysisType(AnalysisOptionEnums.fromCode(identificationMaterial.getAnalysisOption()).getEnglishName());
|
||||||
stringList.add(name);
|
|
||||||
}
|
|
||||||
String listJSONString = JSON.toJSONString(stringList);
|
|
||||||
entrustMaterialOfThirdSys.setTargetObjectTypeList(listJSONString);
|
|
||||||
String analysisType = "";
|
|
||||||
switch (identificationMaterial.getAnalysisOption()) {
|
|
||||||
case 1:
|
|
||||||
analysisType = "qualitative";
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
analysisType = "ration";
|
|
||||||
break;
|
|
||||||
case 3:
|
|
||||||
analysisType = "qualitativeAndRation";
|
|
||||||
break;
|
|
||||||
case 4:
|
|
||||||
analysisType = "relevance";
|
|
||||||
break;
|
|
||||||
case 5:
|
|
||||||
analysisType = "other";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
entrustMaterialOfThirdSys.setAnalysisType(analysisType);
|
|
||||||
synchronizeMaterialVoService.updateById(entrustMaterialOfThirdSys);
|
synchronizeMaterialVoService.updateById(entrustMaterialOfThirdSys);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1269,74 +1246,15 @@ public class EntrustmentIdentificationMaterialServiceImpl extends ServiceImpl<En
|
|||||||
} else {
|
} else {
|
||||||
String id = IdWorker.get32UUID().toUpperCase();
|
String id = IdWorker.get32UUID().toUpperCase();
|
||||||
if (entrustment.getDataSources() == 1) {
|
if (entrustment.getDataSources() == 1) {
|
||||||
EntrustOfThirdSys entrustOfThirdSys = synchronizeDataService.getOne(new LambdaQueryWrapper<EntrustOfThirdSys>().eq(EntrustOfThirdSys::getEntrustMainId, entrustment.getId()));
|
saveEntrustMaterialToThirdSys(identificationMaterial, entrustment, id);
|
||||||
EntrustMaterialOfThirdSys entrustMaterialOfThirdSys = new EntrustMaterialOfThirdSys();
|
|
||||||
entrustMaterialOfThirdSys.setEntrustId(entrustOfThirdSys.getId());
|
|
||||||
entrustMaterialOfThirdSys.setId(id);
|
|
||||||
List<EntrustMaterialOfThirdSys> list = synchronizeMaterialVoService.list(new LambdaQueryWrapper<EntrustMaterialOfThirdSys>().eq(EntrustMaterialOfThirdSys::getEntrustId, entrustOfThirdSys.getId()));
|
|
||||||
entrustMaterialOfThirdSys.setOrder_index(((Integer) (list.size() + 1)).toString());
|
|
||||||
entrustMaterialOfThirdSys.setName(identificationMaterial.getName());
|
|
||||||
String unitByZhCn = ConvertUtils.getUnitByZhCn(identificationMaterial.getUnit());
|
|
||||||
entrustMaterialOfThirdSys.setUnit(unitByZhCn);
|
|
||||||
entrustMaterialOfThirdSys.setSampleUnit(unitByZhCn);
|
|
||||||
entrustMaterialOfThirdSys.setColorType(identificationMaterial.getColor());
|
|
||||||
entrustMaterialOfThirdSys.setShapeType(entrustmentMapper.getTypeForDictionary(identificationMaterial.getType()));
|
|
||||||
entrustMaterialOfThirdSys.setPackageType(identificationMaterial.getPackName());
|
|
||||||
entrustMaterialOfThirdSys.setAmount(identificationMaterial.getQuantity());
|
|
||||||
List<DrugLite> candidateDrugs = identificationMaterial.getCandidateDrugs();
|
|
||||||
List<String> stringList = new ArrayList<>();
|
|
||||||
|
|
||||||
for (DrugLite candidateDrug : candidateDrugs) {
|
|
||||||
String name = candidateDrug.getName();
|
|
||||||
stringList.add(name);
|
|
||||||
}
|
|
||||||
String listJSONString = JSON.toJSONString(stringList);
|
|
||||||
entrustMaterialOfThirdSys.setTargetObjectTypeList(listJSONString);
|
|
||||||
String analysisType = "";
|
|
||||||
switch (identificationMaterial.getAnalysisOption()) {
|
|
||||||
case 1:
|
|
||||||
analysisType = "qualitative";
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
analysisType = "ration";
|
|
||||||
break;
|
|
||||||
case 3:
|
|
||||||
analysisType = "qualitativeAndRation";
|
|
||||||
break;
|
|
||||||
case 4:
|
|
||||||
analysisType = "relevance";
|
|
||||||
break;
|
|
||||||
case 5:
|
|
||||||
analysisType = "other";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
entrustMaterialOfThirdSys.setAnalysisType(analysisType);
|
|
||||||
synchronizeMaterialVoService.save(entrustMaterialOfThirdSys);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
String entrustmentId = identificationMaterial.getEntrustmentId();
|
String entrustmentId = identificationMaterial.getEntrustmentId();
|
||||||
|
// 校验案件信息是否合法
|
||||||
if (StrUtil.isBlank(identificationMaterial.getCaseId())) {
|
CaseEvent cj = validateCaseInfo(identificationMaterial);
|
||||||
throw new RuntimeException(String.format("检材必须与某个案件关联, 必须提供 caseId"));
|
|
||||||
}
|
|
||||||
CaseEvent cj = caseEventService.getById(identificationMaterial.getCaseId());
|
|
||||||
if (cj == null) {
|
|
||||||
throw new RuntimeException(String.format("不存在 id 为 %s 的案件", identificationMaterial.getCaseId()));
|
|
||||||
}
|
|
||||||
if (StrUtil.isBlank(cj.getCaseNo())) {
|
|
||||||
throw new RuntimeException(String.format("对应的案件资料不完整, 不存在案件编号。请先完善案件资料"));
|
|
||||||
}
|
|
||||||
|
|
||||||
////若提前创建好了物证,则关联通过物证编号关联检材编号即可;
|
////若提前创建好了物证,则关联通过物证编号关联检材编号即可;
|
||||||
if (StrUtil.isNotBlank(identificationMaterial.getEvidenceId())) {
|
setMaterialIdentificationNo(identificationMaterial, cj);
|
||||||
CaseEvidence caseEvidence = caseEvidenceService.getById(identificationMaterial.getEvidenceId());
|
|
||||||
identificationMaterial.setImNo(this.getNewIdentificationMaterialNo(caseEvidence.getEvidenceNo()));
|
|
||||||
|
|
||||||
} else {
|
|
||||||
String newEvidenceCode = caseEvidenceService.getNewEvidenceCode(cj.getCaseNo());
|
|
||||||
String materialNo = this.getNewIdentificationMaterialNo(newEvidenceCode);
|
|
||||||
identificationMaterial.setImNo(materialNo);
|
|
||||||
}
|
|
||||||
Boolean copyAttachemnts = false;
|
Boolean copyAttachemnts = false;
|
||||||
if (copyAttachemnts == null) {
|
if (copyAttachemnts == null) {
|
||||||
copyAttachemnts = false;
|
copyAttachemnts = false;
|
||||||
@@ -1398,10 +1316,7 @@ public class EntrustmentIdentificationMaterialServiceImpl extends ServiceImpl<En
|
|||||||
//identificationMaterial.setSample1No(sampleService.getNewSampleNo(identificationMaterial.getImNo(),1));
|
//identificationMaterial.setSample1No(sampleService.getNewSampleNo(identificationMaterial.getImNo(),1));
|
||||||
// 初始化委托序号
|
// 初始化委托序号
|
||||||
currentEntrustMaterialCount++;
|
currentEntrustMaterialCount++;
|
||||||
if (StrUtil.isBlank(identificationMaterial.getImEntrustNumber())) {
|
|
||||||
// 如果为空则设置默认值
|
|
||||||
identificationMaterial.setImEntrustNumber(currentEntrustMaterialCount.toString());
|
identificationMaterial.setImEntrustNumber(currentEntrustMaterialCount.toString());
|
||||||
}
|
|
||||||
identificationMaterial.setCreateBy(dlpUser.getId());
|
identificationMaterial.setCreateBy(dlpUser.getId());
|
||||||
identificationMaterial.setCreateTime(LocalDateTime.now());
|
identificationMaterial.setCreateTime(LocalDateTime.now());
|
||||||
identificationMaterial.setAcceptNo(null);
|
identificationMaterial.setAcceptNo(null);
|
||||||
@@ -1436,6 +1351,7 @@ public class EntrustmentIdentificationMaterialServiceImpl extends ServiceImpl<En
|
|||||||
return identificationMaterialList;
|
return identificationMaterialList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override//打印小标签模板的方法
|
@Override//打印小标签模板的方法
|
||||||
public List<String> printLabel(List<PrintDTO> printDTOList) {
|
public List<String> printLabel(List<PrintDTO> printDTOList) {
|
||||||
|
|
||||||
@@ -1592,13 +1508,7 @@ public class EntrustmentIdentificationMaterialServiceImpl extends ServiceImpl<En
|
|||||||
if (materialList.size() < 18) {//这份文件的行数为18
|
if (materialList.size() < 18) {//这份文件的行数为18
|
||||||
index = 18 - materialList.size();
|
index = 18 - materialList.size();
|
||||||
for (int i = 0; i < index; i++) {
|
for (int i = 0; i < index; i++) {
|
||||||
EntrustmentIdentificationMaterial entrustmentIdentificationMaterial = new EntrustmentIdentificationMaterial();
|
EntrustmentIdentificationMaterial entrustmentIdentificationMaterial = getEntrustmentIdentificationMaterial();
|
||||||
entrustmentIdentificationMaterial.setPrintAcceptTime("");
|
|
||||||
entrustmentIdentificationMaterial.setAcceptNo("");
|
|
||||||
entrustmentIdentificationMaterial.setTypeName("");
|
|
||||||
entrustmentIdentificationMaterial.setFormName("");
|
|
||||||
entrustmentIdentificationMaterial.setPackName("");
|
|
||||||
entrustmentIdentificationMaterial.setDescription("");
|
|
||||||
materialList.add(entrustmentIdentificationMaterial);
|
materialList.add(entrustmentIdentificationMaterial);
|
||||||
}
|
}
|
||||||
//如果大于18条数据了 证明不止一页了,那我们看看剩下的是否填充满了一页,如果没有就构建数据
|
//如果大于18条数据了 证明不止一页了,那我们看看剩下的是否填充满了一页,如果没有就构建数据
|
||||||
@@ -1606,13 +1516,7 @@ public class EntrustmentIdentificationMaterialServiceImpl extends ServiceImpl<En
|
|||||||
index = materialList.size() % 18;
|
index = materialList.size() % 18;
|
||||||
if (index != 0) {
|
if (index != 0) {
|
||||||
for (int i = 0; i < 18 - index; i++) {
|
for (int i = 0; i < 18 - index; i++) {
|
||||||
EntrustmentIdentificationMaterial entrustmentIdentificationMaterial = new EntrustmentIdentificationMaterial();
|
EntrustmentIdentificationMaterial entrustmentIdentificationMaterial = getEntrustmentIdentificationMaterial();
|
||||||
entrustmentIdentificationMaterial.setPrintAcceptTime("");
|
|
||||||
entrustmentIdentificationMaterial.setAcceptNo("");
|
|
||||||
entrustmentIdentificationMaterial.setTypeName("");
|
|
||||||
entrustmentIdentificationMaterial.setFormName("");
|
|
||||||
entrustmentIdentificationMaterial.setPackName("");
|
|
||||||
entrustmentIdentificationMaterial.setDescription("");
|
|
||||||
materialList.add(entrustmentIdentificationMaterial);
|
materialList.add(entrustmentIdentificationMaterial);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1647,32 +1551,27 @@ public class EntrustmentIdentificationMaterialServiceImpl extends ServiceImpl<En
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//用作于处理一些打印委托书或鉴定事项确认书时的字段类型转换
|
|
||||||
|
|
||||||
|
private static EntrustmentIdentificationMaterial getEntrustmentIdentificationMaterial() {
|
||||||
|
EntrustmentIdentificationMaterial entrustmentIdentificationMaterial = new EntrustmentIdentificationMaterial();
|
||||||
|
entrustmentIdentificationMaterial.setPrintAcceptTime("");
|
||||||
|
entrustmentIdentificationMaterial.setAcceptNo("");
|
||||||
|
entrustmentIdentificationMaterial.setTypeName("");
|
||||||
|
entrustmentIdentificationMaterial.setFormName("");
|
||||||
|
entrustmentIdentificationMaterial.setPackName("");
|
||||||
|
entrustmentIdentificationMaterial.setDescription("");
|
||||||
|
return entrustmentIdentificationMaterial;
|
||||||
|
}
|
||||||
|
|
||||||
|
//用作于处理一些打印委托书或鉴定事项确认书时的字段类型转换
|
||||||
@Override
|
@Override
|
||||||
public void conformityDrugs(List<EntrustmentIdentificationMaterial> list) {
|
public void conformityDrugs(List<EntrustmentIdentificationMaterial> list) {
|
||||||
if (list != null && list.size() > 0) {
|
if (list != null && list.size() > 0) {
|
||||||
for (EntrustmentIdentificationMaterial material : list) {
|
for (EntrustmentIdentificationMaterial material : list) {
|
||||||
Integer analysisOption = material.getAnalysisOption();
|
Integer analysisOption = material.getAnalysisOption();
|
||||||
material.setQuantity(material.getQuantity().setScale(2, BigDecimal.ROUND_HALF_UP));
|
material.setQuantity(material.getQuantity().setScale(2, BigDecimal.ROUND_HALF_UP));
|
||||||
switch (analysisOption) {
|
|
||||||
case 1:
|
|
||||||
material.setAnalysisOptionValue("定性分析");
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
material.setAnalysisOptionValue("定量分析");
|
|
||||||
break;
|
|
||||||
case 3:
|
|
||||||
material.setAnalysisOptionValue("定性定量分析");
|
|
||||||
break;
|
|
||||||
case 4:
|
|
||||||
material.setAnalysisOptionValue("关联性判断");
|
|
||||||
break;
|
|
||||||
case 5:
|
|
||||||
material.setAnalysisOptionValue("其他");
|
|
||||||
break;
|
|
||||||
|
|
||||||
}
|
material.setAnalysisOptionValue(AnalysisOptionEnums.fromCode(analysisOption).getChineseName());
|
||||||
material.setPrintDrawTime(LocalDateTimeUtil.format(material.getDrawTime(), "yyyy-MM-dd"));
|
material.setPrintDrawTime(LocalDateTimeUtil.format(material.getDrawTime(), "yyyy-MM-dd"));
|
||||||
List<DrugLite> candidateDrugs = material.getCandidateDrugs();
|
List<DrugLite> candidateDrugs = material.getCandidateDrugs();
|
||||||
String drugsValue = "";
|
String drugsValue = "";
|
||||||
@@ -1692,4 +1591,70 @@ public class EntrustmentIdentificationMaterialServiceImpl extends ServiceImpl<En
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 将委托鉴定材料保存到第三方系统
|
||||||
|
*
|
||||||
|
* @param identificationMaterial 委托鉴定材料对象
|
||||||
|
* @param entrustment 委托对象
|
||||||
|
* @param id 材料唯一标识
|
||||||
|
*/
|
||||||
|
private void saveEntrustMaterialToThirdSys(EntrustmentIdentificationMaterial identificationMaterial, Entrustment entrustment, String id) {
|
||||||
|
EntrustOfThirdSys entrustOfThirdSys = synchronizeDataService.getOne(new LambdaQueryWrapper<EntrustOfThirdSys>().eq(EntrustOfThirdSys::getEntrustMainId, entrustment.getId()));
|
||||||
|
EntrustMaterialOfThirdSys entrustMaterialOfThirdSys = new EntrustMaterialOfThirdSys();
|
||||||
|
entrustMaterialOfThirdSys.setEntrustId(entrustOfThirdSys.getId());
|
||||||
|
entrustMaterialOfThirdSys.setId(id);
|
||||||
|
List<EntrustMaterialOfThirdSys> list = synchronizeMaterialVoService.list(new LambdaQueryWrapper<EntrustMaterialOfThirdSys>().eq(EntrustMaterialOfThirdSys::getEntrustId, entrustOfThirdSys.getId()));
|
||||||
|
entrustMaterialOfThirdSys.setOrder_index(((Integer) (list.size() + 1)).toString());
|
||||||
|
entrustMaterialOfThirdSys.setName(identificationMaterial.getName());
|
||||||
|
String unitByZhCn = ConvertUtils.getUnitByZhCn(identificationMaterial.getUnit());
|
||||||
|
entrustMaterialOfThirdSys.setUnit(unitByZhCn);
|
||||||
|
entrustMaterialOfThirdSys.setSampleUnit(unitByZhCn);
|
||||||
|
entrustMaterialOfThirdSys.setColorType(identificationMaterial.getColor());
|
||||||
|
entrustMaterialOfThirdSys.setShapeType(entrustmentMapper.getTypeForDictionary(identificationMaterial.getType()));
|
||||||
|
entrustMaterialOfThirdSys.setPackageType(identificationMaterial.getPackName());
|
||||||
|
entrustMaterialOfThirdSys.setAmount(identificationMaterial.getQuantity());
|
||||||
|
List<DrugLite> candidateDrugs = identificationMaterial.getCandidateDrugs();
|
||||||
|
|
||||||
|
entrustMaterialOfThirdSys.setTargetObjectTypeList(JSON.toJSONString(candidateDrugs.stream().map(DrugLite::getName).collect(Collectors.toList())));
|
||||||
|
entrustMaterialOfThirdSys.setAnalysisType(AnalysisOptionEnums.fromCode(identificationMaterial.getAnalysisOption()).getEnglishName());
|
||||||
|
synchronizeMaterialVoService.save(entrustMaterialOfThirdSys);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设置委托鉴定材料的鉴定编号
|
||||||
|
*
|
||||||
|
* @param identificationMaterial 委托鉴定材料对象
|
||||||
|
* @param cj 案件事件对象
|
||||||
|
*/
|
||||||
|
private void setMaterialIdentificationNo(EntrustmentIdentificationMaterial identificationMaterial, CaseEvent cj) {
|
||||||
|
if (StrUtil.isNotBlank(identificationMaterial.getEvidenceId())) {
|
||||||
|
CaseEvidence caseEvidence = caseEvidenceService.getById(identificationMaterial.getEvidenceId());
|
||||||
|
identificationMaterial.setImNo(this.getNewIdentificationMaterialNo(caseEvidence.getEvidenceNo()));
|
||||||
|
|
||||||
|
} else {
|
||||||
|
String newEvidenceCode = caseEvidenceService.getNewEvidenceCode(cj.getCaseNo());
|
||||||
|
String materialNo = this.getNewIdentificationMaterialNo(newEvidenceCode);
|
||||||
|
identificationMaterial.setImNo(materialNo);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 校验案件信息是否合法
|
||||||
|
* @param identificationMaterial
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
private CaseEvent validateCaseInfo(EntrustmentIdentificationMaterial identificationMaterial) {
|
||||||
|
if (StrUtil.isBlank(identificationMaterial.getCaseId())) {
|
||||||
|
throw new RuntimeException(String.format("检材必须与某个案件关联, 必须提供 caseId"));
|
||||||
|
}
|
||||||
|
CaseEvent cj = caseEventService.getById(identificationMaterial.getCaseId());
|
||||||
|
if (cj == null) {
|
||||||
|
throw new RuntimeException(String.format("不存在 id 为 %s 的案件", identificationMaterial.getCaseId()));
|
||||||
|
}
|
||||||
|
if (StrUtil.isBlank(cj.getCaseNo())) {
|
||||||
|
throw new RuntimeException(String.format("对应的案件资料不完整, 不存在案件编号。请先完善案件资料"));
|
||||||
|
}
|
||||||
|
return cj;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-4
@@ -34,13 +34,13 @@ import digital.laboratory.platform.entrustment.constant.EntrustMarkConstants;
|
|||||||
import digital.laboratory.platform.entrustment.convert.DrugLiteConvert;
|
import digital.laboratory.platform.entrustment.convert.DrugLiteConvert;
|
||||||
import digital.laboratory.platform.entrustment.dto.EntrustmentDTO;
|
import digital.laboratory.platform.entrustment.dto.EntrustmentDTO;
|
||||||
import digital.laboratory.platform.entrustment.entity.*;
|
import digital.laboratory.platform.entrustment.entity.*;
|
||||||
|
import digital.laboratory.platform.entrustment.enums.AnalysisOptionEnums;
|
||||||
import digital.laboratory.platform.entrustment.enums.EntrustAlterApplyStatus;
|
import digital.laboratory.platform.entrustment.enums.EntrustAlterApplyStatus;
|
||||||
import digital.laboratory.platform.entrustment.enums.EntrustmentStatusConstants;
|
import digital.laboratory.platform.entrustment.enums.EntrustmentStatusConstants;
|
||||||
import digital.laboratory.platform.entrustment.handler.AppStartupRunner;
|
import digital.laboratory.platform.entrustment.handler.AppStartupRunner;
|
||||||
import digital.laboratory.platform.entrustment.mapper.EntrustmentMapper;
|
import digital.laboratory.platform.entrustment.mapper.EntrustmentMapper;
|
||||||
import digital.laboratory.platform.entrustment.misc.ProcessFlowMapper;
|
import digital.laboratory.platform.entrustment.misc.ProcessFlowMapper;
|
||||||
import digital.laboratory.platform.entrustment.service.*;
|
import digital.laboratory.platform.entrustment.service.*;
|
||||||
import digital.laboratory.platform.entrustment.utils.EntrustUtils;
|
|
||||||
import digital.laboratory.platform.entrustment.vo.EntrustmentIdentificationMaterialVO;
|
import digital.laboratory.platform.entrustment.vo.EntrustmentIdentificationMaterialVO;
|
||||||
import digital.laboratory.platform.entrustment.vo.EntrustmentVO;
|
import digital.laboratory.platform.entrustment.vo.EntrustmentVO;
|
||||||
import digital.laboratory.platform.entrustment.vo.MaterialListForBookVo;
|
import digital.laboratory.platform.entrustment.vo.MaterialListForBookVo;
|
||||||
@@ -72,7 +72,6 @@ import javax.servlet.http.HttpServletResponse;
|
|||||||
import java.awt.image.BufferedImage;
|
import java.awt.image.BufferedImage;
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.math.RoundingMode;
|
|
||||||
import java.security.Principal;
|
import java.security.Principal;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
@@ -835,7 +834,7 @@ public class EntrustmentServiceImpl extends ServiceImpl<EntrustmentMapper, Entru
|
|||||||
sbDrugDes.append(item.getName()).append("、");
|
sbDrugDes.append(item.getName()).append("、");
|
||||||
});
|
});
|
||||||
sbDrugDes.delete(sbDrugDes.length() - 1, sbDrugDes.length());//删除多余的连接号
|
sbDrugDes.delete(sbDrugDes.length() - 1, sbDrugDes.length());//删除多余的连接号
|
||||||
sbAnalysisDes.append(EntrustUtils.getZhCnName(materialObj.getAnalysisOption()));
|
sbAnalysisDes.append(AnalysisOptionEnums.fromCode(materialObj.getAnalysisOption()).getChineseName());
|
||||||
}
|
}
|
||||||
executeCount++;
|
executeCount++;
|
||||||
}
|
}
|
||||||
@@ -866,7 +865,7 @@ public class EntrustmentServiceImpl extends ServiceImpl<EntrustmentMapper, Entru
|
|||||||
sbDrugDes.append(item.getName()).append("、");
|
sbDrugDes.append(item.getName()).append("、");
|
||||||
});
|
});
|
||||||
sbDrugDes.delete(sbDrugDes.length() - 1, sbDrugDes.length());//删除多余的连接号
|
sbDrugDes.delete(sbDrugDes.length() - 1, sbDrugDes.length());//删除多余的连接号
|
||||||
sbAnalysisDes.append(EntrustUtils.getZhCnName(materialObj.getAnalysisOption()));
|
sbAnalysisDes.append(AnalysisOptionEnums.fromCode(materialObj.getAnalysisOption()).getChineseName());
|
||||||
}
|
}
|
||||||
executeCount++;
|
executeCount++;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,28 +0,0 @@
|
|||||||
package digital.laboratory.platform.entrustment.utils;
|
|
||||||
|
|
||||||
// 委托系统工具类
|
|
||||||
public class EntrustUtils {
|
|
||||||
|
|
||||||
//获取分析项目的中文名字
|
|
||||||
public static String getZhCnName(int value) {
|
|
||||||
String retName = "";
|
|
||||||
switch (value) {
|
|
||||||
case 1:
|
|
||||||
retName = "定性";
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
retName = "定量";
|
|
||||||
break;
|
|
||||||
case 3:
|
|
||||||
retName = "定性定量";
|
|
||||||
break;
|
|
||||||
case 4:
|
|
||||||
retName = "关联性";
|
|
||||||
break;
|
|
||||||
case 5:
|
|
||||||
retName = "其他";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
return retName;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user