20250225 更新

master
陈江保 4 months ago
parent 62619cff80
commit 89d25b990d
  1. 2
      src/main/java/digital/laboratory/platform/entrustment/controller/EntrustmentController.java
  2. 14
      src/main/java/digital/laboratory/platform/entrustment/controller/EntrustmentIdentificationMaterialController.java
  3. 6
      src/main/java/digital/laboratory/platform/entrustment/convert/DrugLiteConvert.java
  4. 12
      src/main/java/digital/laboratory/platform/entrustment/convert/EntrustMaterialCheckoutResultConvert.java
  5. 4
      src/main/java/digital/laboratory/platform/entrustment/entity/EntrustMaterialCheckoutResult.java
  6. 9
      src/main/java/digital/laboratory/platform/entrustment/entity/Entrustment.java
  7. 2
      src/main/java/digital/laboratory/platform/entrustment/mapper/EntrustMaterialCheckoutResultMapper.java
  8. 60
      src/main/java/digital/laboratory/platform/entrustment/service/impl/EntrustMaterialCheckoutResultServiceImpl.java
  9. 2
      src/main/java/digital/laboratory/platform/entrustment/service/impl/EntrustmentServiceImpl.java
  10. 11
      src/main/java/digital/laboratory/platform/entrustment/vo/EntrustMaterialCheckoutResultVO.java
  11. 11
      src/main/resources/mapper/EntrustMaterialCheckoutResultMapper.xml
  12. 6
      src/main/resources/mapper/EntrustmentMapper.xml

@ -190,7 +190,7 @@ public class EntrustmentController {
.eq(StrUtil.isNotBlank(caseId), "e.case_id", caseId) .eq(StrUtil.isNotBlank(caseId), "e.case_id", caseId)
.in((statuses != null) && (statuses.size() > 0), "e.status", statuses) .in((statuses != null) && (statuses.size() > 0), "e.status", statuses)
.eq(dataSources != null, "e.data_sources", dataSources) .eq(dataSources != null, "e.data_sources", dataSources)
.inSql(checkoutQuery.equals(1), "e.id", "SELECT entrust_id FROM b_entrust_material_checkout_result") // 筛选检材检出结果记录不为0 的委托 // .inSql(checkoutQuery.equals(1), "e.id", "SELECT entrust_id FROM b_entrust_material_checkout_result") // 筛选检材检出结果记录不为0 的委托
.like(StrUtil.isNotBlank(caseName), "c.case_name", caseName) .like(StrUtil.isNotBlank(caseName), "c.case_name", caseName)
.orderByDesc(statuses != null && statuses.size() > 0 && statuses.get(0) == 9, "CAST(SUBSTRING(e.accept_no, 1,4) AS UNSIGNED)", "CAST(SUBSTRING(e.accept_no, 6) AS UNSIGNED)") .orderByDesc(statuses != null && statuses.size() > 0 && statuses.get(0) == 9, "CAST(SUBSTRING(e.accept_no, 1,4) AS UNSIGNED)", "CAST(SUBSTRING(e.accept_no, 6) AS UNSIGNED)")
.orderByDesc(statuses != null && statuses.size() > 0 && statuses.get(0) == 7, "CAST(SUBSTRING(e.entrustment_no, 4,4) AS UNSIGNED)", "CAST(SUBSTRING(e.entrustment_no, 9) AS UNSIGNED)") .orderByDesc(statuses != null && statuses.size() > 0 && statuses.get(0) == 7, "CAST(SUBSTRING(e.entrustment_no, 4,4) AS UNSIGNED)", "CAST(SUBSTRING(e.entrustment_no, 9) AS UNSIGNED)")

@ -672,15 +672,21 @@ public class EntrustmentIdentificationMaterialController {
@PreAuthorize("@pms.hasPermission('EntrustmentAccept')") @PreAuthorize("@pms.hasPermission('EntrustmentAccept')")
public R uploadAcceptAttachmentObj(@PathVariable("identificationMaterialId") String identificationMaterialId, @RequestPart("file") MultipartFile file) throws Exception { public R uploadAcceptAttachmentObj(@PathVariable("identificationMaterialId") String identificationMaterialId, @RequestPart("file") MultipartFile file) throws Exception {
EntrustmentIdentificationMaterial im = entrustmentIdentificationMaterialService.getById(identificationMaterialId); EntrustmentIdentificationMaterial im = entrustmentIdentificationMaterialService.getById(identificationMaterialId);
String entrustId = im.getEntrustmentId();
if (im != null) { if (im != null) {
if (im.getAcceptPassed() == null || im.getAcceptPassed() != 1) { if (im.getAcceptPassed() == null || im.getAcceptPassed() != 1) {
System.out.println(String.format("uploadAcceptAttachmentObj: entrustmentId=%s identificationMaterialId=%s OriginalFilename=%s", im.getEntrustmentId(), identificationMaterialId, file.getOriginalFilename())); System.out.println(String.format("uploadAcceptAttachmentObj: entrustmentId=%s identificationMaterialId=%s OriginalFilename=%s", entrustId, identificationMaterialId, file.getOriginalFilename()));
String path = OSSDirectoryConstants.ACCEPT_DIRECTORY + "/" + im.getEntrustmentId() + "/" + identificationMaterialId; String path = OSSDirectoryConstants.ACCEPT_DIRECTORY + "/" + entrustId + "/" + identificationMaterialId;
boolean r = ossFile.fileUpload(file, path); boolean r = ossFile.fileUpload(file, path);
Map<String, String> ResultData = new HashMap<>(); Map<String, String> ResultData = new HashMap<>();
ResultData.put("fileName", FileNameUtil.getName(file.getOriginalFilename())); ResultData.put("fileName", FileNameUtil.getName(file.getOriginalFilename()));
ResultData.put("path", path); ResultData.put("path", path);
if (r) { if (r) {
Entrustment entrust = entrustmentService.getById(entrustId);
if (!entrust.getMaterialImageFlag()) {
// 如果该委托并上传检材照片则更新
entrustmentService.update(Wrappers.<Entrustment>lambdaUpdate().eq(Entrustment::getId, entrustId).set(Entrustment::getMaterialImageFlag, Boolean.TRUE));
}
return R.ok(ResultData, "上传成功"); return R.ok(ResultData, "上传成功");
} }
return R.failed("上传失败"); return R.failed("上传失败");
@ -741,6 +747,10 @@ public class EntrustmentIdentificationMaterialController {
boolean r = ossFile.fileSave(path + "/" + fileName, is); boolean r = ossFile.fileSave(path + "/" + fileName, is);
if (r) { if (r) {
Thread.sleep(10); Thread.sleep(10);
if (!entrustObj.getMaterialImageFlag()) {
// 如果该委托并上传检材照片则更新
entrustmentService.update(Wrappers.<Entrustment>lambdaUpdate().eq(Entrustment::getId, entrustId).set(Entrustment::getMaterialImageFlag, Boolean.TRUE));
}
return R.ok(ResultData, "上传成功"); return R.ok(ResultData, "上传成功");
} }
return R.failed("上传失败"); return R.failed("上传失败");

@ -23,7 +23,11 @@ public class DrugLiteConvert {
return Collections.emptyList(); return Collections.emptyList();
} }
String drugToString = JSONArray.toJSONString(drugLitesJson); String drugToString = JSONArray.toJSONString(drugLitesJson);
List<DrugLite> drugLiteList = JSONArray.parseArray(drugToString, DrugLite.class).stream().sorted(Comparator.comparing(DrugLite::getName)).collect(Collectors.toList());; return getDrugLites(drugToString);
}
public static List<DrugLite> getDrugLites(String drugToString) {
List<DrugLite> drugLiteList = JSONArray.parseArray(drugToString, DrugLite.class).stream().sorted(Comparator.comparing(DrugLite::getName)).collect(Collectors.toList());
return drugLiteList; return drugLiteList;
} }

@ -1,9 +1,13 @@
package digital.laboratory.platform.entrustment.convert; package digital.laboratory.platform.entrustment.convert;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import digital.laboratory.platform.entrustment.dto.EntrustMaterialCheckoutResultDTO; import digital.laboratory.platform.entrustment.dto.EntrustMaterialCheckoutResultDTO;
import digital.laboratory.platform.entrustment.entity.EntrustMaterialCheckoutResult; import digital.laboratory.platform.entrustment.entity.EntrustMaterialCheckoutResult;
import digital.laboratory.platform.entrustment.vo.EntrustMaterialCheckoutResultVO; import digital.laboratory.platform.entrustment.vo.EntrustMaterialCheckoutResultVO;
import digital.laboratory.platform.sys.entity.DrugLite;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -15,7 +19,11 @@ public class EntrustMaterialCheckoutResultConvert {
public static EntrustMaterialCheckoutResult dtoToEntity(EntrustMaterialCheckoutResultDTO dto) { public static EntrustMaterialCheckoutResult dtoToEntity(EntrustMaterialCheckoutResultDTO dto) {
if (dto == null) return null; if (dto == null) return null;
EntrustMaterialCheckoutResult entrustMaterialCheckoutResult = new EntrustMaterialCheckoutResult(); EntrustMaterialCheckoutResult entrustMaterialCheckoutResult = new EntrustMaterialCheckoutResult();
entrustMaterialCheckoutResult.setQualitativeResult(dto.getQualitativeResult()); if (CollUtil.isNotEmpty(dto.getQualitativeResult())) {
entrustMaterialCheckoutResult.setQualitativeResult(JSON.toJSONString(dto.getQualitativeResult()));
} else {
entrustMaterialCheckoutResult.setQualitativeResult(null);
}
entrustMaterialCheckoutResult.setQuantitativeResult(dto.getQuantitativeResult().stream().collect(Collectors.joining("、"))); entrustMaterialCheckoutResult.setQuantitativeResult(dto.getQuantitativeResult().stream().collect(Collectors.joining("、")));
entrustMaterialCheckoutResult.setOtherResult(dto.getOtherResult()); entrustMaterialCheckoutResult.setOtherResult(dto.getOtherResult());
entrustMaterialCheckoutResult.setCheckoutRemark(dto.getCheckoutRemark()); entrustMaterialCheckoutResult.setCheckoutRemark(dto.getCheckoutRemark());
@ -28,7 +36,7 @@ public class EntrustMaterialCheckoutResultConvert {
EntrustMaterialCheckoutResultVO vo = new EntrustMaterialCheckoutResultVO(); EntrustMaterialCheckoutResultVO vo = new EntrustMaterialCheckoutResultVO();
vo.setId(entity.getId()); vo.setId(entity.getId());
vo.setQualitativeResult(entity.getQualitativeResult()); vo.setQualitativeResult(entity.getQualitativeResult());
vo.setQuantitativeResult(StrUtil.split(entity.getQuantitativeResult(), "、")); vo.setQuantitativeResult(entity.getQuantitativeResult());
vo.setOtherResult(entity.getOtherResult()); vo.setOtherResult(entity.getOtherResult());
vo.setCheckoutRemark(entity.getCheckoutRemark()); vo.setCheckoutRemark(entity.getCheckoutRemark());
return vo; return vo;

@ -35,8 +35,8 @@ public class EntrustMaterialCheckoutResult extends BaseEntity {
/** /**
* 定性结果 * 定性结果
*/ */
@TableField(typeHandler = FastjsonTypeHandler.class) // @TableField(typeHandler = FastjsonTypeHandler.class)
private List<DrugLite> qualitativeResult; private String qualitativeResult;
/** /**
* 定量结果 * 定量结果

@ -748,12 +748,7 @@ public class Entrustment extends BaseEntity {
@ApiModelProperty(value="是否退回(0:未退回,-1:已退回)") @ApiModelProperty(value="是否退回(0:未退回,-1:已退回)")
private Integer returnOrNot; private Integer returnOrNot;
// /** @ApiModelProperty("标记该委托是否已经上传了检材照片, 默认false")
// * 20250121 新增的一个委托类型,选择生物样本类型后需要区分是 0 委托、1 初筛、 2 两社人员、 3 其他人员, 常规毒品 0 委托 1 初筛,其他的不需要区分 private Boolean materialImageFlag = false;
// * 存字符串,不用code表达
// */
// @ApiModelProperty("新增的一个委托类型,选择生物样本类型后需要区分是 0 委托、1 初筛、 2 两社人员、 3 其他人员, 常规毒品 0 委托 1 初筛,其他的不需要区分")
// private String type;
} }

@ -23,7 +23,7 @@ import java.util.List;
@Mapper @Mapper
public interface EntrustMaterialCheckoutResultMapper extends BaseMapper<EntrustMaterialCheckoutResult> { public interface EntrustMaterialCheckoutResultMapper extends BaseMapper<EntrustMaterialCheckoutResult> {
IPage<EntrustMaterialCheckoutResultVO> getEntrustMaterialCheckoutResultVOPage(@Param("page") IPage<EntrustMaterialCheckoutResult> page, @Param(Constants.WRAPPER) Wrapper<EntrustMaterialCheckoutResult> qw); IPage<EntrustMaterialCheckoutResultVO> getEntrustMaterialCheckoutResultVOPage(@Param("page") IPage<EntrustMaterialCheckoutResult> page, @Param(Constants.WRAPPER) Wrapper<EntrustMaterialCheckoutResultVO> qw);
List<EntrustMaterialCheckoutResultVO> voList(@Param(Constants.WRAPPER) Wrapper<EntrustMaterialCheckoutResult> qw); List<EntrustMaterialCheckoutResultVO> voList(@Param(Constants.WRAPPER) Wrapper<EntrustMaterialCheckoutResult> qw);

@ -67,27 +67,34 @@ public class EntrustMaterialCheckoutResultServiceImpl extends ServiceImpl<Entrus
@Override @Override
public String buildEntrustMaterialCheckoutResultStr(String entrustId) { public String buildEntrustMaterialCheckoutResultStr(String entrustId) {
// 先获取检材列表 // 先获取检材列表
List<EntrustmentIdentificationMaterial> materialList = entrustmentIdentificationMaterialService.list(Wrappers.<EntrustmentIdentificationMaterial>lambdaQuery().eq(EntrustmentIdentificationMaterial::getEntrustmentId, entrustId)); // List<EntrustmentIdentificationMaterial> materialList = entrustmentIdentificationMaterialService.list(Wrappers.<EntrustmentIdentificationMaterial>lambdaQuery().eq(EntrustmentIdentificationMaterial::getEntrustmentId, entrustId));
Map<String, EntrustmentIdentificationMaterial> materialMap = materialList.stream().collect(Collectors.toMap(EntrustmentIdentificationMaterial::getId, Function.identity())); // Map<String, EntrustmentIdentificationMaterial> materialMap = materialList.stream().collect(Collectors.toMap(EntrustmentIdentificationMaterial::getId, Function.identity()));
// 获取检测结果 // 获取检测结果
List<EntrustMaterialCheckoutResult> checkoutResultList = super.list(Wrappers.<EntrustMaterialCheckoutResult>lambdaQuery().eq(EntrustMaterialCheckoutResult::getEntrustId, entrustId)); List<EntrustMaterialCheckoutResultVO> checkoutResultList = baseMapper.voList(Wrappers.<EntrustMaterialCheckoutResult>query().eq("emr.entrust_id", entrustId));
if (CollUtil.isEmpty(checkoutResultList)) { if (CollUtil.isEmpty(checkoutResultList)) {
return ""; return "";
} }
List<EntrustMaterialCheckoutResultVO> materialCheckoutResults = checkoutResultList.stream().filter(o -> StrUtil.isNotBlank(o.getQualitativeResult())).collect(Collectors.toList());
List<EntrustMaterialCheckoutResultVO> materialNotCheckoutResults = checkoutResultList.stream().filter(o -> StrUtil.isEmpty(o.getQualitativeResult())).collect(Collectors.toList());
List<String> resultStrList = new ArrayList<>(); List<String> resultStrList = new ArrayList<>();
// 对检测结果进行分组 // 对检测结果进行分组
Map<String, List<EntrustMaterialCheckoutResult>> checkoutResultGroupMap = checkoutResultList.stream().collect(Collectors.groupingBy(item -> DrugLiteConvert.joiningDrugListNameToStr(item.getQualitativeResult(), "、"))); Map<String, List<EntrustMaterialCheckoutResultVO>> checkoutResultGroupMap = materialCheckoutResults.stream().collect(Collectors.groupingBy(item -> DrugLiteConvert.joiningDrugListNameToStr(DrugLiteConvert.getDrugLites(item.getQualitativeResult()), "、")));
checkoutResultGroupMap.forEach((key, value) -> { checkoutResultGroupMap.forEach((key, value) -> {
StringBuilder builder = new StringBuilder(); StringBuilder builder = new StringBuilder();
builder builder
.append(value.stream().map(item -> materialMap.get(item.getId()).getOrderNo1()).sorted().collect(Collectors.joining("、"))) .append(value.stream().map(item -> item.getOrderNo() + "号检材").sorted().collect(Collectors.joining("、")))
.append(" : [") .append(" : [")
.append(key) .append(key)
.append("]"); .append("]");
resultStrList.add(builder.toString()); resultStrList.add(builder.toString());
}); });
if (CollUtil.isNotEmpty(materialNotCheckoutResults)) {
String notCheckoutStr = materialNotCheckoutResults.stream().map(result -> result.getOrderNo() + "号检材").sorted().collect(Collectors.joining("、")) + materialNotCheckoutResults.get(0).getCheckoutRemark();
return resultStrList.stream().sorted().collect(Collectors.joining("\n")) + notCheckoutStr;
}
return resultStrList.stream().sorted().collect(Collectors.joining("\n")); return resultStrList.stream().sorted().collect(Collectors.joining("\n"));
} }
@ -188,26 +195,31 @@ public class EntrustMaterialCheckoutResultServiceImpl extends ServiceImpl<Entrus
*/ */
@Override @Override
public IPage<EntrustMaterialCheckoutResultVO> voiPage(EntrustMaterialCheckoutResultQuery query) { public IPage<EntrustMaterialCheckoutResultVO> voiPage(EntrustMaterialCheckoutResultQuery query) {
IPage<EntrustMaterialCheckoutResult> page = this.page( // IPage<EntrustMaterialCheckoutResult> page = this.page(
// new Page<>(query.getCurrent(), query.getSize()),
// Wrappers.<EntrustMaterialCheckoutResult>lambdaQuery()
// .eq(StrUtil.isNotBlank(query.getEntrustId()), EntrustMaterialCheckoutResult::getEntrustId, query.getEntrustId())
// .orderByDesc(EntrustMaterialCheckoutResult::getUpdateTime)
// );
// IPage<EntrustMaterialCheckoutResultVO> voPage = new Page<>();
// BeanUtils.copyProperties(page, voPage, "records");
// List<EntrustMaterialCheckoutResult> records = page.getRecords();
// if (CollUtil.isNotEmpty(records)) {
// List<EntrustmentIdentificationMaterial> entrustmentIdentificationMaterials = entrustmentIdentificationMaterialService.list(Wrappers.<EntrustmentIdentificationMaterial>lambdaQuery().in(EntrustmentIdentificationMaterial::getId, records.stream().map(EntrustMaterialCheckoutResult::getId).collect(Collectors.toSet())));
// Map<String, EntrustmentIdentificationMaterial> materialMap = entrustmentIdentificationMaterials.stream().collect(Collectors.toMap(EntrustmentIdentificationMaterial::getId, Function.identity()));
// List<EntrustMaterialCheckoutResultVO> entrustMaterialCheckoutResultVOS = records.stream().map(record -> {
// EntrustMaterialCheckoutResultVO entrustMaterialCheckoutResultVO = EntrustMaterialCheckoutResultConvert.entityToVO(record);
// entrustMaterialCheckoutResultVO.setName(materialMap.get(record.getId()).getName());
// return entrustMaterialCheckoutResultVO;
// }).collect(Collectors.toList());
// voPage.setRecords(entrustMaterialCheckoutResultVOS);
// }
return baseMapper.getEntrustMaterialCheckoutResultVOPage(
new Page<>(query.getCurrent(), query.getSize()), new Page<>(query.getCurrent(), query.getSize()),
Wrappers.<EntrustMaterialCheckoutResult>lambdaQuery() Wrappers.<EntrustMaterialCheckoutResultVO>query()
.eq(StrUtil.isNotBlank(query.getEntrustId()), EntrustMaterialCheckoutResult::getEntrustId, query.getEntrustId()) .eq(StrUtil.isNotBlank(query.getEntrustId()), "emr.entrust_id", query.getEntrustId())
.orderByDesc(EntrustMaterialCheckoutResult::getUpdateTime) .orderByAsc("em.order_no")
); );
IPage<EntrustMaterialCheckoutResultVO> voPage = new Page<>();
BeanUtils.copyProperties(page, voPage, "records");
List<EntrustMaterialCheckoutResult> records = page.getRecords();
if (CollUtil.isNotEmpty(records)) {
List<EntrustmentIdentificationMaterial> entrustmentIdentificationMaterials = entrustmentIdentificationMaterialService.list(Wrappers.<EntrustmentIdentificationMaterial>lambdaQuery().in(EntrustmentIdentificationMaterial::getId, records.stream().map(EntrustMaterialCheckoutResult::getId).collect(Collectors.toSet())));
Map<String, EntrustmentIdentificationMaterial> materialMap = entrustmentIdentificationMaterials.stream().collect(Collectors.toMap(EntrustmentIdentificationMaterial::getId, Function.identity()));
List<EntrustMaterialCheckoutResultVO> entrustMaterialCheckoutResultVOS = records.stream().map(record -> {
EntrustMaterialCheckoutResultVO entrustMaterialCheckoutResultVO = EntrustMaterialCheckoutResultConvert.entityToVO(record);
entrustMaterialCheckoutResultVO.setName(materialMap.get(record.getId()).getName());
return entrustMaterialCheckoutResultVO;
}).collect(Collectors.toList());
voPage.setRecords(entrustMaterialCheckoutResultVOS);
}
return voPage;
} }
/** /**
@ -315,7 +327,7 @@ public class EntrustMaterialCheckoutResultServiceImpl extends ServiceImpl<Entrus
excelDTO.setFormName(material.getFormName()); excelDTO.setFormName(material.getFormName());
EntrustMaterialCheckoutResult entrustMaterialCheckoutResult = checkoutResultMap.get(material.getId()); EntrustMaterialCheckoutResult entrustMaterialCheckoutResult = checkoutResultMap.get(material.getId());
excelDTO.setQualitativeResult( excelDTO.setQualitativeResult(
DrugLiteConvert.convertDirtyLiteByJSON(entrustMaterialCheckoutResult.getQualitativeResult()) DrugLiteConvert.getDrugLites(entrustMaterialCheckoutResult.getQualitativeResult())
.stream().map(DrugLite::getName).collect(Collectors.joining("、")) .stream().map(DrugLite::getName).collect(Collectors.joining("、"))
); );
excelDTO.setQuantitativeResult(entrustMaterialCheckoutResult.getQuantitativeResult()); excelDTO.setQuantitativeResult(entrustMaterialCheckoutResult.getQuantitativeResult());

@ -3268,7 +3268,7 @@ public class EntrustmentServiceImpl extends ServiceImpl<EntrustmentMapper, Entru
markersVOS.add(new MarkersVO(EntrustMarkConstants.CASE_ACCEPT, entrustmentList2.size(), "待受理 (大数据平台)")); markersVOS.add(new MarkersVO(EntrustMarkConstants.CASE_ACCEPT, entrustmentList2.size(), "待受理 (大数据平台)"));
markersVOS.add(new MarkersVO(EntrustMarkConstants.CASE_ACCEPT, entrustmentList3.size(), String.format("已受理 (%s)", EntrustMarkConstants.PUBLIC_SECURITY_BUREAU))); markersVOS.add(new MarkersVO(EntrustMarkConstants.CASE_ACCEPT, entrustmentList3.size(), String.format("已受理 (%s)", EntrustMarkConstants.PUBLIC_SECURITY_BUREAU)));
markersVOS.add(new MarkersVO(EntrustMarkConstants.CASE_ACCEPT, entrustmentList4.size(), "已受理 (大数据平台)")); markersVOS.add(new MarkersVO(EntrustMarkConstants.CASE_ACCEPT, entrustmentList4.size(), "已受理 (大数据平台)"));
markersVOS.add(new MarkersVO(EntrustMarkConstants.CASE_ACCEPT, this.list(Wrappers.<Entrustment>lambdaQuery().inSql(Entrustment::getId, "SELECT entrust_id FROM b_entrust_material_checkout_result")).size(), "检测结果")); markersVOS.add(new MarkersVO(EntrustMarkConstants.CASE_ACCEPT, entrustmentList3.size(), "检测结果"));
markersVOS.add(new MarkersVO(EntrustMarkConstants.REVIEW_OR_APPROVAL, markersVOS.add(new MarkersVO(EntrustMarkConstants.REVIEW_OR_APPROVAL,
this.list(new LambdaQueryWrapper<Entrustment>() this.list(new LambdaQueryWrapper<Entrustment>()
.in(Entrustment::getStatus, integers1) .in(Entrustment::getStatus, integers1)

@ -1,5 +1,8 @@
package digital.laboratory.platform.entrustment.vo; package digital.laboratory.platform.entrustment.vo;
import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
import digital.laboratory.platform.sys.entity.DrugLite; import digital.laboratory.platform.sys.entity.DrugLite;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
@ -20,6 +23,9 @@ public class EntrustMaterialCheckoutResultVO {
@ApiModelProperty("委托检材id列表, 支持批量") @ApiModelProperty("委托检材id列表, 支持批量")
private String id; private String id;
@ApiModelProperty(value = "检材受理编号")
private String acceptNo;
/** /**
* 委托检材id * 委托检材id
*/ */
@ -36,13 +42,14 @@ public class EntrustMaterialCheckoutResultVO {
* 定性结果 * 定性结果
*/ */
@ApiModelProperty("定性结果") @ApiModelProperty("定性结果")
private List<DrugLite> qualitativeResult; private String qualitativeResult;
/** /**
* 定量结果 * 定量结果
*/ */
@ApiModelProperty("定量结果") @ApiModelProperty("定量结果")
private List<String> quantitativeResult; private String quantitativeResult;
/** /**
* 其他鉴定结果 * 其他鉴定结果

@ -7,9 +7,10 @@
<resultMap id="BaseResultMap" type="digital.laboratory.platform.entrustment.entity.EntrustMaterialCheckoutResult"> <resultMap id="BaseResultMap" type="digital.laboratory.platform.entrustment.entity.EntrustMaterialCheckoutResult">
<id property="id" column="entrust_material_id" jdbcType="VARCHAR"/> <id property="id" column="entrust_material_id" jdbcType="VARCHAR"/>
<result property="entrustId" column="entrust_id" jdbcType="VARCHAR"/> <result property="entrustId" column="entrust_id" jdbcType="VARCHAR"/>
<result property="qualitativeResult" column="qualitative_result" jdbcType="VARCHAR" typeHandler="com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler"/> <result property="qualitativeResult" column="qualitative_result"/>
<result property="quantitativeResult" column="quantitative_result" jdbcType="VARCHAR"/> <result property="quantitativeResult" column="quantitative_result" jdbcType="VARCHAR"/>
<result property="otherResult" column="other_result" jdbcType="VARCHAR"/> <result property="otherResult" column="other_result" jdbcType="VARCHAR"/>
<result property="checkoutRemark" column="checkout_remark" jdbcType="VARCHAR"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/> <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="createBy" column="create_by" jdbcType="VARCHAR"/> <result property="createBy" column="create_by" jdbcType="VARCHAR"/>
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/> <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
@ -18,6 +19,7 @@
<resultMap id="EntrustMaterialCheckoutResultVO" type="digital.laboratory.platform.entrustment.vo.EntrustMaterialCheckoutResultVO" extends="BaseResultMap"> <resultMap id="EntrustMaterialCheckoutResultVO" type="digital.laboratory.platform.entrustment.vo.EntrustMaterialCheckoutResultVO" extends="BaseResultMap">
<result property="name" column ="name"/> <result property="name" column ="name"/>
<result property="acceptNo" column ="accept_no"/>
<result property="orderNo" column ="order_no"/> <result property="orderNo" column ="order_no"/>
</resultMap> </resultMap>
@ -35,9 +37,14 @@
<sql id="getEntrustMaterialCheckoutResultVO"> <sql id="getEntrustMaterialCheckoutResultVO">
SELECT SELECT
<include refid="Base_Column_List"/>, emr.entrust_material_id,
emr.entrust_id,
emr.qualitative_result,
emr.quantitative_result,
emr.other_result,
em.name, em.name,
em.entrustment_id, em.entrustment_id,
em.accept_no,
em.order_no em.order_no
FROM b_entrust_material_checkout_result emr FROM b_entrust_material_checkout_result emr
LEFT JOIN b_entrustment_identification_material em LEFT JOIN b_entrustment_identification_material em

@ -121,6 +121,7 @@
<result property="updateTime" column="update_time"/> <result property="updateTime" column="update_time"/>
<result property="updateBy" column="update_by"/> <result property="updateBy" column="update_by"/>
<result property="returnOrNot" column="return_or_not"/> <result property="returnOrNot" column="return_or_not"/>
<result property="returnOrNot" column="material_image_flag"/>
</resultMap> </resultMap>
<resultMap id="entrustmentVO" type="digital.laboratory.platform.entrustment.vo.EntrustmentVO" extends="entrustmentMap"> <resultMap id="entrustmentVO" type="digital.laboratory.platform.entrustment.vo.EntrustmentVO" extends="entrustmentMap">
@ -274,7 +275,8 @@
e.entrust_requirement, e.entrust_requirement,
e.post_address, e.post_address,
e.return_or_not, e.return_or_not,
e.is_trans e.is_trans,
e.material_image_flag
</sql> </sql>
<sql id="getEntrustmentVOSQL"> <sql id="getEntrustmentVOSQL">
@ -363,7 +365,7 @@
where i.id = e.identification_id where i.id = e.identification_id
) as identification_no, ) as identification_no,
( (
SELECT COUNT(*) FROM b_entrust_material_checkout_result emr WHERE emr.entrust_id = e.id SELECT COUNT(*) FROM b_entrust_material_checkout_result emr WHERE emr.entrust_id = e.id AND qualitative_result != '' AND qualitative_result IS NOT NULL
) AS checkout_result_count ) AS checkout_result_count
FROM b_entrustment e FROM b_entrustment e

Loading…
Cancel
Save