diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSubSampleController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSubSampleController.java index 6b45a6d..7d241c1 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSubSampleController.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSubSampleController.java @@ -90,6 +90,14 @@ public class BusinessSubSampleController implements BusinessControllerMarker { return success(result); } + @GetMapping("/getPrintSubSample") + @Operation(summary = "获得打印子样业务") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + public CommonResult getPrintSubSample(@RequestParam("id") Long id) { + BusinessSubSampleExtendRespVO result = businessSubSampleService.getPrintSubSample(id); + return success(result); + } + @GetMapping("/list") @Operation(summary = "获得子样业务列表") //@PreAuthorize("@ss.hasPermission('qms:business-sub-sample:query')") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubSampleExtendRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubSampleExtendRespVO.java index 3439535..6a60a80 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubSampleExtendRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubSampleExtendRespVO.java @@ -1,9 +1,15 @@ package com.zt.plat.module.qms.business.bus.controller.vo; +import java.time.LocalDateTime; import java.util.List; import java.util.stream.Collectors; import org.apache.commons.lang3.StringUtils; +import org.springframework.format.annotation.DateTimeFormat; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer; import cn.hutool.core.collection.CollUtil; import io.swagger.v3.oas.annotations.media.Schema; @@ -63,6 +69,21 @@ public class BusinessSubSampleExtendRespVO extends BusinessSubSampleRespVO { @Schema(description = "样品标签打印模版") private String printTemplate; + + @Schema(description = "样品标签打印份数") + private Integer codePrintQuantity; + + @Schema(description = "收样人") + private String sampleReceiver; + + @Schema(description = "分析项目") + private String assayProject; + + @JsonSerialize(using = LocalDateTimeSerializer.class) // 序列化(响应) + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Schema(description = "收样时间") + private LocalDateTime sampleReceiveTime; @Schema(description = "库位编码") private String warehouseLocationCode; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskDataMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskDataMapper.java index 978cbb2..669497b 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskDataMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskDataMapper.java @@ -217,6 +217,20 @@ public interface BusinessAssayTaskDataMapper extends BaseMapperX() .eq(BusinessAssayTaskDataDO::getBusinessSubSampleId, businessSubSampleId)); } + + + /** + * 根据子样及分析部门查询分析任务 + * @param businessSubSampleId 子样id + * @param assayDepartmentId 分析部门id + * @return + */ + default List selectByBusinessSubSampleIdAndAssayDepartmentId(Long businessSubSampleId, Long assayDepartmentId) { + return selectList(new LambdaQueryWrapperX() + .eq(BusinessAssayTaskDataDO::getBusinessSubSampleId, businessSubSampleId) + .eq(BusinessAssayTaskDataDO::getAssayDepartmentId, assayDepartmentId)); + } + /** * 根据子样查询分析任务 diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSubSampleAnalysisGroupMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSubSampleAnalysisGroupMapper.java index 4680c73..2e4a679 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSubSampleAnalysisGroupMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSubSampleAnalysisGroupMapper.java @@ -61,5 +61,11 @@ public interface BusinessSubSampleAnalysisGroupMapper extends BaseMapperX() + .eq(BusinessSubSampleAnalysisGroupDO::getBusinessSubSampleId, businessSubSampleId) + .eq(BusinessSubSampleAnalysisGroupDO::getAssayDepartmentId, assayDepartmentId)); + } } \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSubSampleMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSubSampleMapper.java index d8ee39b..4799e20 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSubSampleMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSubSampleMapper.java @@ -206,6 +206,7 @@ public interface BusinessSubSampleMapper extends BaseMapperX businessAssayTaskDataDOList = businessAssayTaskDataMapper.selectByBusinessSubSampleIdAndAssayDepartmentId(id, loginUser.getVisitDeptId()); + Map> businessAssayTaskDataDOMap = businessAssayTaskDataDOList.stream().collect(Collectors.groupingBy(BusinessAssayTaskDataDO::getConfigAssayMethodId)); + List assayProjectList = new ArrayList<>(); + for (Map.Entry> entry : businessAssayTaskDataDOMap.entrySet()) { + List val = entry.getValue(); + BusinessAssayTaskDataDO businessAssayTaskDataDO = val.get(0); + String assayProject = businessAssayTaskDataDO.getAssayProject(); + String[] split = assayProject.split(","); + for (String s : split) { + if (!assayProjectList.contains(s)) { + assayProjectList.add(s); + } + } + } + businessSubSample.setAssayProject(CollUtil.join(assayProjectList, ",")); + return businessSubSample; + } + @Override public BusinessSubSampleDO getBySampleCode(String sampleCode) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();