From 0a3ef87d4d1c4eb8590577e4974b791c4ba34400 Mon Sep 17 00:00:00 2001 From: wxr Date: Fri, 27 Feb 2026 16:12:01 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A0=B7=E5=93=81=E7=B1=BB=E5=88=AB=E5=8F=8A?= =?UTF-8?q?=E6=A0=B7=E5=93=81=E6=B5=81=E8=BD=AC=E7=AD=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...BusinessSampleEntrustDetailController.java | 2 - ...sinessSampleEntrustDetailExtendRespVO.java | 38 +++++++++++++++++-- .../BusinessSampleEntrustDetailPageReqVO.java | 3 ++ .../vo/BusinessSampleEntrustDetailReqVO.java | 3 ++ .../vo/BusinessSampleEntrustDetailRespVO.java | 3 ++ .../BusinessSampleEntrustDetailSaveReqVO.java | 4 +- .../BusinessSampleEntrustDetailDO.java | 5 +++ .../BusinessSampleEntrustDetailMapper.java | 7 ++++ .../liteflow/param/SampleEntrustDetail.java | 3 ++ .../service/AutoIngredientsServiceImpl.java | 17 ++++++--- 10 files changed, 72 insertions(+), 13 deletions(-) diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSampleEntrustDetailController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSampleEntrustDetailController.java index d8dd8772..a0ca01a0 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSampleEntrustDetailController.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSampleEntrustDetailController.java @@ -4,7 +4,6 @@ import com.zt.plat.module.qms.business.bus.controller.vo.*; import org.springframework.web.bind.annotation.*; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; -import org.springframework.security.access.prepost.PreAuthorize; import com.zt.plat.framework.business.interceptor.BusinessControllerMarker; import io.swagger.v3.oas.annotations.tags.Tag; @@ -26,7 +25,6 @@ import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIg import static com.zt.plat.framework.common.pojo.CommonResult.success; import com.zt.plat.framework.excel.core.util.ExcelUtils; -import com.zt.plat.module.qms.business.bus.controller.vo.*; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleEntrustDetailDO; import com.zt.plat.module.qms.business.bus.service.BusinessSampleEntrustDetailService; import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDetailExtendRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDetailExtendRespVO.java index 05eb8416..18bd6104 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDetailExtendRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDetailExtendRespVO.java @@ -3,12 +3,13 @@ package com.zt.plat.module.qms.business.bus.controller.vo; import java.time.LocalDateTime; import java.util.List; +import org.apache.commons.lang3.StringUtils; import org.springframework.format.annotation.DateTimeFormat; +import com.alibaba.fastjson2.JSON; +import com.alibaba.fastjson2.JSONObject; import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer; import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer; import io.swagger.v3.oas.annotations.media.Schema; @@ -16,7 +17,36 @@ import lombok.Data; @Data public class BusinessSampleEntrustDetailExtendRespVO extends BusinessSampleEntrustDetailRespVO { - + + /** + * 委托单号 + */ + private String entrustNumber; + + /** + * 委托单位 + */ + private String entrustUnit; + + /** + * 委托扩展信息 + */ + private String externalInfomation; + + /** + * 样品类别: 装港样/卸港样 + */ + private String sampleCategory; + + public String getSampleCategory() { + this.sampleCategory = null; + if (StringUtils.isNotBlank(this.externalInfomation)) { + JSONObject extInfJsonObject = JSON.parseObject(this.externalInfomation); + this.sampleCategory = extInfJsonObject.getString("sampleCategory"); + } + return this.sampleCategory; + } + /** * 样品类型key */ @@ -34,7 +64,7 @@ public class BusinessSampleEntrustDetailExtendRespVO extends BusinessSampleEntru @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 = "任务结束时间(yyyy-MM-dd HH:mm:ss)") + @Schema(description = "创建时间(yyyy-MM-dd HH:mm:ss)") private LocalDateTime createTime; private List sampleEntrustDetailProjectList; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDetailPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDetailPageReqVO.java index e7cccb99..5ba39d1a 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDetailPageReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDetailPageReqVO.java @@ -49,6 +49,9 @@ public class BusinessSampleEntrustDetailPageReqVO extends PageParam { @Schema(description = "是否称重,1-启用,0-不启用") private Integer isWeighing; + @Schema(description = "样品流转信息") + private String sampleFlowInfomation; + @Schema(description = "所属部门") private String systemDepartmentCode; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDetailReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDetailReqVO.java index 6fa1b09f..72f13f17 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDetailReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDetailReqVO.java @@ -47,6 +47,9 @@ public class BusinessSampleEntrustDetailReqVO { @Schema(description = "是否称重,1-启用,0-不启用") private Integer isWeighing; + @Schema(description = "样品流转信息") + private String sampleFlowInfomation; + @Schema(description = "所属部门") private String systemDepartmentCode; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDetailRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDetailRespVO.java index b2df5590..e3c0b7ca 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDetailRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDetailRespVO.java @@ -64,6 +64,9 @@ public class BusinessSampleEntrustDetailRespVO { @ExcelProperty("是否称重,1-启用,0-不启用") private Integer isWeighing; + @Schema(description = "样品流转信息") + private String sampleFlowInfomation; + @Schema(description = "所属部门") @ExcelProperty("所属部门") private String systemDepartmentCode; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDetailSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDetailSaveReqVO.java index e96cfbd4..6f67ea88 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDetailSaveReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDetailSaveReqVO.java @@ -54,9 +54,11 @@ public class BusinessSampleEntrustDetailSaveReqVO { private Integer sort; @Schema(description = "是否称重,1-启用,0-不启用", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "是否称重,1-启用,0-不启用不能为空") private Integer isWeighing; + @Schema(description = "样品流转信息") + private String sampleFlowInfomation; + @Schema(description = "所属部门") private String systemDepartmentCode; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessSampleEntrustDetailDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessSampleEntrustDetailDO.java index 44c4081a..60f6c83e 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessSampleEntrustDetailDO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessSampleEntrustDetailDO.java @@ -92,6 +92,11 @@ public class BusinessSampleEntrustDetailDO extends BusinessBaseDO { @TableField("IS_WG") private Integer isWeighing; /** + * 样品流转信息 + */ + @TableField("SMP_FLW_INF") + private String sampleFlowInfomation; + /** * 所属部门 */ @TableField("SYS_DEPT_CD") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSampleEntrustDetailMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSampleEntrustDetailMapper.java index b2e53d7f..fe1cccfa 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSampleEntrustDetailMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSampleEntrustDetailMapper.java @@ -8,6 +8,7 @@ import com.zt.plat.framework.mybatis.core.query.MPJLambdaWrapperX; import com.zt.plat.module.qms.business.bus.controller.vo.*; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessBaseSampleDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleEntrustDetailDO; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleEntrustRegistrationDO; import com.zt.plat.module.qms.business.config.dal.dataobject.BaseSampleDO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigBaseSampleDO; import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; @@ -25,11 +26,15 @@ public interface BusinessSampleEntrustDetailMapper extends BaseMapperX selectList(BusinessSampleEntrustDetailReqVO reqVO) { return selectJoinList(BusinessSampleEntrustDetailExtendRespVO.class, new MPJLambdaWrapperX() + .leftJoin(BusinessSampleEntrustRegistrationDO.class, BusinessSampleEntrustRegistrationDO::getId, BusinessSampleEntrustDetailDO::getBusinessSampleEntrustRegistrationId) .leftJoin(BaseSampleDO.class, BaseSampleDO::getId, BusinessSampleEntrustDetailDO::getBaseSampleId) .leftJoin(BusinessBaseSampleDO.class, BusinessBaseSampleDO::getId, BusinessSampleEntrustDetailDO::getBusinessBaseSampleId) .leftJoin(ConfigBaseSampleDO.class, ConfigBaseSampleDO::getId, BusinessBaseSampleDO::getConfigBaseSampleId) .selectAll(BusinessSampleEntrustDetailDO.class) .selectAs(BaseSampleDO::getName, BusinessSampleEntrustDetailExtendRespVO::getBaseSampleName) + .selectAs(BusinessSampleEntrustRegistrationDO::getEntrustNumber, BusinessSampleEntrustDetailExtendRespVO::getEntrustNumber) + .selectAs(BusinessSampleEntrustRegistrationDO::getEntrustUnit, BusinessSampleEntrustDetailExtendRespVO::getEntrustUnit) + .selectAs(BusinessSampleEntrustRegistrationDO::getExternalInfomation, BusinessSampleEntrustDetailExtendRespVO::getExternalInfomation) .selectAs(BusinessBaseSampleDO::getConfigBaseSampleId, BusinessSampleEntrustDetailExtendRespVO::getConfigBaseSampleId) .selectAs(ConfigBaseSampleDO::getPrintTemplate, BusinessSampleEntrustDetailExtendRespVO::getPrintTemplate) .eqIfPresent(BusinessSampleEntrustDetailDO::getBusinessSampleEntrustRegistrationId, reqVO.getBusinessSampleEntrustRegistrationId()) @@ -44,6 +49,7 @@ public interface BusinessSampleEntrustDetailMapper extends BaseMapperX taskDetailList(Long taskId) { //查询任务分配信息 - BusinessAssayTaskDO businessAssayTaskDO = businessAssayTaskMapper.selectById(taskId); +// BusinessAssayTaskDO businessAssayTaskDO = businessAssayTaskMapper.selectById(taskId); //查询子样检测任务 BusinessAssayTaskDataReqVO search = new BusinessAssayTaskDataReqVO(); search.setBusinessAssayTaskId(taskId); @@ -121,8 +121,11 @@ public class AutoIngredientsServiceImpl implements AutoIngredientsService { //子样配置id列表 List configSubSampleIdList = list.stream().map(m -> m.getConfigSubSampleId()).distinct().collect(Collectors.toList()); + //方法id列表 + List configAssayMethodIdList = list.stream().map(m -> m.getConfigAssayMethodId()).distinct().collect(Collectors.toList()); + //子样配置方法 - List configSubSampleMethodList = configSubSampleMethodMapper.selectByConfigSubSampleIdsAndConfigAssayMethodId(configSubSampleIdList, businessAssayTaskDO.getConfigAssayMethodId()); + List configSubSampleMethodList = configSubSampleMethodMapper.selectByConfigSubSampleIdsAndConfigAssayMethodIds(configSubSampleIdList, configAssayMethodIdList); //分析任务id列表 List businessAssayTaskDataIdList = list.stream().map(m -> m.getId()).collect(Collectors.toList()); @@ -145,7 +148,7 @@ public class AutoIngredientsServiceImpl implements AutoIngredientsService { //分析人员信息 AdminUserRespDTO user = userList.stream().filter(f -> f.getId().equals(m.getAssayOperatorId())).findFirst().orElse(null); //子样配置信息 - ConfigSubSampleMethodExtendRespVO configSubSampleMethodDO = configSubSampleMethodList.stream().filter(f -> f.getConfigSubSampleId().equals(m.getConfigSubSampleId())).findFirst().orElse(null); + ConfigSubSampleMethodExtendRespVO configSubSampleMethodDO = configSubSampleMethodList.stream().filter(f -> f.getConfigSubSampleId().equals(m.getConfigSubSampleId()) && f.getConfigAssayMethodId().equals(m.getConfigAssayMethodId())).findFirst().orElse(null); String configInfomation = configSubSampleMethodDO.getConfigInfomation(); //当前检测项目列表 List currentBusinessAssayProjectDataList = businessAssayProjectDataList.stream().filter(f -> f.getBusinessAssayTaskDataId().equals(m.getId())).collect(Collectors.toList()); @@ -229,9 +232,11 @@ public class AutoIngredientsServiceImpl implements AutoIngredientsService { //获取子样 List businessSubSampleDOList = businessSubSampleMapper.selectByIds(businessSubSampleIdList); //子样配置id列表 - List configSubSampleIdList = businessSubSampleDOList.stream().map(m -> m.getConfigSubSampleId()).distinct().collect(Collectors.toList()); + List configSubSampleIdList = businessSubSampleDOList.stream().map(m -> m.getConfigSubSampleId()).distinct().collect(Collectors.toList()); + //方法id列表 + List configAssayMethodIdList = businessAssayTaskDataDOList.stream().map(m -> m.getConfigAssayMethodId()).distinct().collect(Collectors.toList()); //子样配置方法 - List configSubSampleMethodList = configSubSampleMethodMapper.selectByConfigSubSampleIdsAndConfigAssayMethodId(configSubSampleIdList, businessAssayTaskDO.getConfigAssayMethodId()); + List configSubSampleMethodList = configSubSampleMethodMapper.selectByConfigSubSampleIdsAndConfigAssayMethodIds(configSubSampleIdList, configAssayMethodIdList); //查询分析任务属性 List businessAssayTaskParameterDataList = businessAssayTaskParameterDataMapper.selectExtendByBusinessAssayTaskDataIds(businessAssayTaskDataIdList); @@ -249,7 +254,7 @@ public class AutoIngredientsServiceImpl implements AutoIngredientsService { BusinessSubSampleDO businessSubSampleDO = businessSubSampleDOList.stream().filter(f -> f.getId().equals(businessAssayTaskDataDO.getBusinessSubSampleId())).findFirst().orElse(null); //子样配置信息 - ConfigSubSampleMethodExtendRespVO configSubSampleMethodDO = configSubSampleMethodList.stream().filter(f -> f.getConfigSubSampleId().equals(businessSubSampleDO.getConfigSubSampleId())).findFirst().orElse(null); + ConfigSubSampleMethodExtendRespVO configSubSampleMethodDO = configSubSampleMethodList.stream().filter(f -> f.getConfigSubSampleId().equals(businessSubSampleDO.getConfigSubSampleId()) && f.getConfigAssayMethodId().equals(businessAssayTaskDataDO.getConfigAssayMethodId())).findFirst().orElse(null); String configInfomation = configSubSampleMethodDO.getConfigInfomation(); if (StringUtils.isNotBlank(configInfomation)) { ConfigSubSampleMethodConfInfo configSubSampleMethodConfInfo = JSON.parseObject(configInfomation, ConfigSubSampleMethodConfInfo.class);