diff --git a/zt-module-qms/zt-module-qms-api/src/main/java/com/zt/plat/module/qms/enums/ErrorCodeConstants.java b/zt-module-qms/zt-module-qms-api/src/main/java/com/zt/plat/module/qms/enums/ErrorCodeConstants.java index 0e767d6..d512974 100644 --- a/zt-module-qms/zt-module-qms-api/src/main/java/com/zt/plat/module/qms/enums/ErrorCodeConstants.java +++ b/zt-module-qms/zt-module-qms-api/src/main/java/com/zt/plat/module/qms/enums/ErrorCodeConstants.java @@ -47,7 +47,7 @@ public interface ErrorCodeConstants { ErrorCode CONFIG_SUB_SAMPLE_PARENT_NOT_EXISTS = new ErrorCode(1_032_050_000, "分样配置不存在"); ErrorCode CONFIG_SUB_SAMPLE_PARENT_METHOD_NOT_EXISTS = new ErrorCode(1_032_050_000, "分样与检测方法配置不存在"); //ErrorCode CONFIG_SUB_SAMPLE_PARENT_RECHECK_NOT_EXISTS = new ErrorCode(1_032_050_000, "分样与复检配置不存在"); - ErrorCode CONFIG_SUB_SAMPLE_METHOD_NOT_EXISTS = new ErrorCode(1_032_050_000, "子样与检测方法配置不存在"); + ErrorCode CONFIG_SUB_SAMPLE_METHOD_NOT_EXISTS = new ErrorCode(1_032_050_000, "子样与分样检测方法配置表不存在"); ErrorCode CONFIG_SUB_SAMPLE_NOT_EXISTS = new ErrorCode(1_032_050_000, "子样配置不存在"); ErrorCode CONFIG_SAMPLE_REPORT_NOT_EXISTS = new ErrorCode(1_032_050_000, "样品报表关系不存在"); ErrorCode CONFIG_SAMPLE_FLOW_NOT_EXISTS = new ErrorCode(1_032_050_000, "样品流程配置不存在"); diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/SampleTaskAssignController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/SampleTaskAssignController.java index f47fc73..8e962b0 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/SampleTaskAssignController.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/SampleTaskAssignController.java @@ -9,6 +9,7 @@ import org.springframework.web.bind.annotation.RestController; import static com.zt.plat.framework.common.pojo.CommonResult.success; +import java.util.Arrays; import java.util.List; import com.zt.plat.framework.business.interceptor.BusinessControllerMarker; @@ -20,6 +21,8 @@ import com.zt.plat.module.qms.business.bus.liteflow.param.SampleTaskAssignMethod import com.zt.plat.module.qms.business.bus.liteflow.param.SampleTaskAssignSampleParam; import com.zt.plat.module.qms.business.bus.service.SampleTaskAssignService; import com.zt.plat.module.system.api.user.dto.AdminUserRespDTO; + +import cn.hutool.core.collection.CollUtil; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.annotation.Resource; @@ -53,11 +56,20 @@ public class SampleTaskAssignController implements BusinessControllerMarker { return success(list); } + /** @GetMapping("/getAssayMethodList") public CommonResult getAssayMethodList(Long businessSubSampleId, Long configAssayMethodId) { List list = sampleTaskAssignService.getAssayMethodList(businessSubSampleId, configAssayMethodId); return success(list); } + **/ + + @GetMapping("/getAssayMethodProjectList") + public CommonResult getAssayMethodProjectList(String businessSubSampleIds, Long configAssayMethodId) { + List businessSubSampleIdList = Arrays.asList(businessSubSampleIds.split(",")).stream().map(Long::parseLong).toList(); + List list = sampleTaskAssignService.getAssayMethodProjectList(businessSubSampleIdList, configAssayMethodId); + return success(list); + } @PostMapping("/changeMethod") public CommonResult changeMethod(@RequestBody ChangeAssayMethodReqVO req) { diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/AssayMethodProjectRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/AssayMethodProjectRespVO.java new file mode 100644 index 0000000..95fba2d --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/AssayMethodProjectRespVO.java @@ -0,0 +1,28 @@ +package com.zt.plat.module.qms.business.bus.controller.vo; + +import java.util.List; + +import com.zt.plat.module.qms.business.config.controller.vo.ConfigAssayMethodProjectExtendRespVO; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +public class AssayMethodProjectRespVO { + + private Long dictionaryProjectId; + + private String dictionaryProjectName; + + private String dictionaryProjectSimpleName; + + private String dictionaryProjectShowName; + + private Long configAssayMethodId; + + private String configAssayMethodName; + + @Schema(description = "检测方法配置名称及类别") + private String configAssayMethodNameAndCategory; + + private List methodList; +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDataReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDataReqVO.java index 6438367..156ec33 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDataReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDataReqVO.java @@ -117,6 +117,9 @@ public class BusinessAssayTaskDataReqVO { @Schema(description = "样品编号") private String sampleCode; + + @Schema(description = "样品名称") + private String sampleName; @Schema(description = "分析编号") private String sampleAssayCode; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubParentSampleAssessmentExtendRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubParentSampleAssessmentExtendRespVO.java index 7ca9494..1d1e605 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubParentSampleAssessmentExtendRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubParentSampleAssessmentExtendRespVO.java @@ -5,6 +5,12 @@ import lombok.Data; @Data public class BusinessSubParentSampleAssessmentExtendRespVO extends BusinessSubParentSampleAssessmentRespVO { + + @Schema(description = "主样id") + private Long businessBaseSampleId; + + @Schema(description = "分样配置id") + private Long configSubSampleParentId; @Schema(description = "检测项目key") private String dictionaryProjectKey; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessXRFDataPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessXRFDataPageReqVO.java index 93689ac..eb5a58b 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessXRFDataPageReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessXRFDataPageReqVO.java @@ -46,6 +46,9 @@ public class BusinessXRFDataPageReqVO extends PageParam { @Schema(description = "检测任务ID", example = "16505") private Long businessAssayTaskDataId; + + @Schema(description = "检测任务ID", example = "940") + private Long businessQCManagementDataId; @Schema(description = "检测数据") private String assayData; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessXRFDataReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessXRFDataReqVO.java index f767309..3ed2865 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessXRFDataReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessXRFDataReqVO.java @@ -49,6 +49,9 @@ public class BusinessXRFDataReqVO { @Schema(description = "检测任务ID", example = "16505") private Long businessAssayTaskDataId; + + @Schema(description = "检测任务ID", example = "940") + private Long businessQCManagementDataId; @Schema(description = "检测数据") private String assayData; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessXRFDataRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessXRFDataRespVO.java index eb2ef7b..d0522fe 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessXRFDataRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessXRFDataRespVO.java @@ -58,6 +58,9 @@ public class BusinessXRFDataRespVO { @Schema(description = "检测任务ID", example = "16505") private Long businessAssayTaskDataId; + + @Schema(description = "检测任务ID", example = "940") + private Long businessQCManagementDataId; @Schema(description = "检测数据", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("检测数据") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessXRFDataSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessXRFDataSaveReqVO.java index cfe3d2c..287906a 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessXRFDataSaveReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessXRFDataSaveReqVO.java @@ -51,6 +51,9 @@ public class BusinessXRFDataSaveReqVO { @Schema(description = "检测任务ID", example = "16505") private Long businessAssayTaskDataId; + + @Schema(description = "检测任务ID", example = "940") + private Long businessQCManagementDataId; @Schema(description = "检测数据", requiredMode = Schema.RequiredMode.REQUIRED) @NotEmpty(message = "检测数据不能为空") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/ChangeAssayMethodReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/ChangeAssayMethodReqVO.java index 85f692d..70814c4 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/ChangeAssayMethodReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/ChangeAssayMethodReqVO.java @@ -7,10 +7,10 @@ import lombok.Data; @Data public class ChangeAssayMethodReqVO { - private Long businessSubSampleId; + private List businessSubSampleIdList; private Long configAssayMethodId; - private List changeConfigAssayMethodIdList; + private List changeConfigAssayMethodProjectList; } diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/UnAssignTaskedSubSampleRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/UnAssignTaskedSubSampleRespVO.java index 99f408d..7c8da2c 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/UnAssignTaskedSubSampleRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/UnAssignTaskedSubSampleRespVO.java @@ -34,6 +34,12 @@ public class UnAssignTaskedSubSampleRespVO implements Serializable { @Schema(description = "检测方法配置ID", example = "9130") private Long configAssayMethodId; + + @Schema(description = "分析方法名称") + private String configAssayMethodName; + + @Schema(description = "检测方法配置名称及类别") + private String configAssayMethodNameAndCategory; @Schema(description = "分析类型,【字典】【jy_sample_assay_type】单杯-single_cup、双杯-double_cup、平行-single_parallel...", example = "2") private String assayType; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessXRFDataDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessXRFDataDO.java index a503aef..9865524 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessXRFDataDO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessXRFDataDO.java @@ -89,6 +89,11 @@ public class BusinessXRFDataDO extends BusinessBaseDO { @TableField("BSN_ASY_TSK_DAT_ID") private Long businessAssayTaskDataId; /** + * 检测任务ID + */ + @TableField("BSN_QC_MNGT_DAT_ID") + private Long businessQCManagementDataId; + /** * 检测数据 */ @TableField("ASY_DAT") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayProjectDataMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayProjectDataMapper.java index cbaf477..7d3e037 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayProjectDataMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayProjectDataMapper.java @@ -6,9 +6,6 @@ import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; 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.controller.vo.BusinessAssayProjectAndParameterRespVO; -import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayProjectDataPageReqVO; -import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayProjectDataReqVO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayProjectDataDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDataDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleDO; @@ -17,6 +14,7 @@ import com.zt.plat.module.qms.business.dic.dal.dataobject.DictionaryProjectDO; import com.zt.plat.module.qms.common.dic.dal.dataobject.DictionaryBusinessDO; import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** * 检测项目数据业务 Mapper @@ -97,11 +95,17 @@ public interface BusinessAssayProjectDataMapper extends BaseMapperX selectByBusinessAssayTaskDataIds(List businessAssayTaskDataIds) { return selectJoinList(BusinessAssayProjectDataExtendRespVO.class, new MPJLambdaWrapperX() + .leftJoin(BusinessAssayTaskDataDO.class, BusinessAssayTaskDataDO::getId, BusinessAssayProjectDataDO::getBusinessAssayTaskDataId) .leftJoin(DictionaryProjectDO.class, DictionaryProjectDO::getId, BusinessAssayProjectDataDO::getDictionaryProjectId) .selectAll(BusinessAssayProjectDataDO.class) .selectAs(DictionaryProjectDO::getKey, BusinessAssayProjectDataExtendRespVO::getDictionaryProjectKey) .selectAs(DictionaryProjectDO::getSimpleName, BusinessAssayProjectDataExtendRespVO::getSimpleName) .selectAs(DictionaryProjectDO::getShowName, BusinessAssayProjectDataExtendRespVO::getShowName) + .selectAs(BusinessAssayTaskDataDO::getAssayOperator, BusinessAssayProjectDataExtendRespVO::getAssayOperator) + .selectAs(BusinessAssayTaskDataDO::getAnalysisCount, BusinessAssayProjectDataExtendRespVO::getAnalysisCount) + .selectAs(BusinessAssayTaskDataDO::getBusinessBaseSampleId, BusinessAssayProjectDataExtendRespVO::getBusinessBaseSampleId) + .selectAs(BusinessAssayTaskDataDO::getBusinessSubParentSampleId, BusinessAssayProjectDataExtendRespVO::getBusinessSubParentSampleId) + .selectAs(BusinessAssayTaskDataDO::getBusinessSubSampleId, BusinessAssayProjectDataExtendRespVO::getBusinessSubSampleId) .in(BusinessAssayProjectDataDO::getBusinessAssayTaskDataId, businessAssayTaskDataIds)); } @@ -130,4 +134,6 @@ public interface BusinessAssayProjectDataMapper extends BaseMapperX selectAssayMethodProjectByBusinessSubSampleIdListAndConfigAssayMethodId(@Param("businessSubSampleIdList")List businessSubSampleIdList, @Param("configAssayMethodId") Long configAssayMethodId); + } \ 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/BusinessAssayReportDataMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayReportDataMapper.java index bb5434e..93352a0 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayReportDataMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayReportDataMapper.java @@ -46,6 +46,11 @@ public interface BusinessAssayReportDataMapper extends BaseMapperX selectBytBusinessBaseSampleIds(List businessBaseSampleIds) { + return selectList(new LambdaQueryWrapperX() + .inIfPresent(BusinessAssayReportDataDO::getBusinessBaseSampleId, businessBaseSampleIds)); + } + //查询报告待编制数据 Page queryWaitingDataForReport(IPage page, @Param("param") BusinessAssayReportDataPageReqVO param); 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 9b6c5ac..53794bb 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 @@ -420,7 +420,7 @@ public interface BusinessAssayTaskDataMapper extends BaseMapperX selectByBusinessSubParentSampleIdsAndConfigAssayMethodId(List businessSubParentSampleIds, - Long configAssayMethodId) { - return selectList(new LambdaQueryWrapperX() + default List selectByBusinessSubParentSampleIdsAndConfigAssayMethodId(List businessSubParentSampleIds, Long configAssayMethodId) { + return selectJoinList(BusinessSubParentSampleAssessmentExtendRespVO.class, new MPJLambdaWrapperX() + .leftJoin(BusinessSubParentSampleDO.class, BusinessSubParentSampleDO::getId, BusinessSubParentSampleAssessmentDO::getBusinessSubParentSampleId) + .selectAll(BusinessSubParentSampleAssessmentDO.class) + .selectAs(BusinessSubParentSampleDO::getConfigSubSampleParentId, BusinessSubParentSampleAssessmentExtendRespVO::getConfigSubSampleParentId) + .selectAs(BusinessSubParentSampleDO::getBusinessBaseSampleId, BusinessSubParentSampleAssessmentExtendRespVO::getBusinessBaseSampleId) .in(BusinessSubParentSampleAssessmentDO::getBusinessSubParentSampleId, businessSubParentSampleIds) .eq(BusinessSubParentSampleAssessmentDO::getConfigAssayMethodId, configAssayMethodId)); } diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSubSampleAssessmentMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSubSampleAssessmentMapper.java index 13376e6..f5cc17a 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSubSampleAssessmentMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSubSampleAssessmentMapper.java @@ -37,6 +37,18 @@ public interface BusinessSubSampleAssessmentMapper extends BaseMapperX() + .eq(BusinessSubSampleAssessmentDO::getBusinessSubParentSampleId, businessSubParentSampleId) + .eq(BusinessSubSampleAssessmentDO::getConfigAssayMethodId, configAssayMethodId)); + } + + default List selectByBusinessSubParentSampleIdsAndConfigAssayMethodId(List businessSubParentSampleIds, Long configAssayMethodId) { + return selectList(new LambdaQueryWrapperX() + .in(BusinessSubSampleAssessmentDO::getBusinessSubParentSampleId, businessSubParentSampleIds) + .eq(BusinessSubSampleAssessmentDO::getConfigAssayMethodId, configAssayMethodId)); + } + default BusinessSubSampleAssessmentDO selectByBusinessSubSampleIdAndConfigAssayMethodId(Long businessSubSampleId, Long configAssayMethodId) { return selectOne(new LambdaQueryWrapperX() .eq(BusinessSubSampleAssessmentDO::getBusinessSubSampleId, businessSubSampleId) diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessXRFDataMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessXRFDataMapper.java index fde1a91..4d6bd8c 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessXRFDataMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessXRFDataMapper.java @@ -30,6 +30,7 @@ public interface BusinessXRFDataMapper extends BaseMapperX { .eqIfPresent(BusinessXRFDataDO::getBusinessSubParentSampleId, reqVO.getBusinessSubParentSampleId()) .eqIfPresent(BusinessXRFDataDO::getBusinessSubSampleId, reqVO.getBusinessSubSampleId()) .eqIfPresent(BusinessXRFDataDO::getBusinessAssayTaskDataId, reqVO.getBusinessAssayTaskDataId()) + .eqIfPresent(BusinessXRFDataDO::getBusinessQCManagementDataId, reqVO.getBusinessQCManagementDataId()) .eqIfPresent(BusinessXRFDataDO::getAssayData, reqVO.getAssayData()) .eqIfPresent(BusinessXRFDataDO::getIsCheckCreate, reqVO.getIsCheckCreate()) .eqIfPresent(BusinessXRFDataDO::getIsMatched, reqVO.getIsMatched()) @@ -57,6 +58,7 @@ public interface BusinessXRFDataMapper extends BaseMapperX { .eqIfPresent(BusinessXRFDataDO::getBusinessSubParentSampleId, reqVO.getBusinessSubParentSampleId()) .eqIfPresent(BusinessXRFDataDO::getBusinessSubSampleId, reqVO.getBusinessSubSampleId()) .eqIfPresent(BusinessXRFDataDO::getBusinessAssayTaskDataId, reqVO.getBusinessAssayTaskDataId()) + .eqIfPresent(BusinessXRFDataDO::getBusinessQCManagementDataId, reqVO.getBusinessQCManagementDataId()) .eqIfPresent(BusinessXRFDataDO::getAssayData, reqVO.getAssayData()) .eqIfPresent(BusinessXRFDataDO::getIsCheckCreate, reqVO.getIsCheckCreate()) .eqIfPresent(BusinessXRFDataDO::getIsMatched, reqVO.getIsMatched()) diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/entrust/SampleEntrustGenSampleDataCmp.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/entrust/SampleEntrustGenSampleDataCmp.java index 9380874..175f5af 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/entrust/SampleEntrustGenSampleDataCmp.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/entrust/SampleEntrustGenSampleDataCmp.java @@ -51,6 +51,7 @@ import com.zt.plat.module.qms.business.bus.liteflow.slot.SampleEntrustContext; import com.zt.plat.module.qms.business.config.controller.vo.ConfigAssayMethodProjectExtendRespVO; import com.zt.plat.module.qms.business.config.controller.vo.ConfigSubSampleMethodConfAdd; import com.zt.plat.module.qms.business.config.controller.vo.ConfigSubSampleMethodConfInfo; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigSubSampleMethodExtendRespVO; import com.zt.plat.module.qms.business.config.dal.dataobject.BaseSampleDO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodDO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodProjectParameterDO; @@ -205,7 +206,7 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent { List configSubSampleList = configSubSampleMapper.selectByBaseSampleIds(baseSampleIdList); List configSubSampleIdList = configSubSampleList.stream().map(m -> m.getId()).collect(Collectors.toList()); //子样分析方法配置 - List configSubSampleMethodList = configSubSampleMethodMapper.selectByConfigSubSampleIds(configSubSampleIdList); + List configSubSampleMethodList = configSubSampleMethodMapper.selectByConfigSubSampleIds(configSubSampleIdList); List configAssayMethodIdList = configSubSampleMethodList.stream().map(m -> m.getConfigAssayMethodId()).distinct().collect(Collectors.toList()); //分析方法配置 List configAssayMethodList = configAssayMethodMapper.selectByIds(configAssayMethodIdList); @@ -413,7 +414,7 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent { ConfigAssayMethodDO configAssayMethodDO = configAssayMethodList.stream().filter(f -> f.getId().equals(configAssayMethodId)).findFirst().orElse(null); //查询子样对应的分析方法 - ConfigSubSampleMethodDO configSubSampleMethodDO = configSubSampleMethodList.stream().filter(f -> f.getIsDefaultUse().equals(QmsCommonConstant.YES) && f.getConfigAssayMethodId().equals(configAssayMethodId) && f.getConfigSubSampleId().equals(configSubSample.getId())).findFirst().orElse(null); + ConfigSubSampleMethodExtendRespVO configSubSampleMethodDO = configSubSampleMethodList.stream().filter(f -> f.getIsDefaultUse().equals(QmsCommonConstant.YES) && f.getConfigAssayMethodId().equals(configAssayMethodId) && f.getConfigSubSampleId().equals(configSubSample.getId())).findFirst().orElse(null); //扩展配置信息 String configInfomation = configSubSampleMethodDO.getConfigInfomation(); @@ -638,7 +639,7 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent { } } - private void addAssayTask(LocalDateTime currentDateTime, List configSubSampleMethodList, + private void addAssayTask(LocalDateTime currentDateTime, List configSubSampleMethodList, List configAssayMethodProjectList, List configAssayMethodProjectParameterList, List dictionaryProjectList, @@ -655,7 +656,7 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent { Long addAssayTaskAssayDepartmentId = addAssayTaskConfigAssayMethod.getAssayDepartmentId(); //查询子样对应的分析方法 - ConfigSubSampleMethodDO addAssayTaskConfigSubSampleMethodDO = configSubSampleMethodList.stream().filter(f -> f.getIsDefaultUse().equals(QmsCommonConstant.YES) && f.getConfigAssayMethodId().equals(methodId) && f.getConfigSubSampleId().equals(configSubSample.getId())).findFirst().orElse(null); + ConfigSubSampleMethodExtendRespVO addAssayTaskConfigSubSampleMethodDO = configSubSampleMethodList.stream().filter(f -> f.getIsDefaultUse().equals(QmsCommonConstant.YES) && f.getConfigAssayMethodId().equals(methodId) && f.getConfigSubSampleId().equals(configSubSample.getId())).findFirst().orElse(null); businessSubSampleAnalysisGroupDO = businessSubSampleAnalysisGroupDOList.stream().filter(f -> f.getBusinessSubSampleId().equals(businessSubSampleDO.getId()) && f.getAssayDepartmentId().equals(addAssayTaskAssayDepartmentId)).findFirst().orElse(null); if (businessSubSampleAnalysisGroupDO == null) { diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisAuditServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisAuditServiceImpl.java index 037879e..c0a2291 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisAuditServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisAuditServiceImpl.java @@ -459,7 +459,7 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic BusinessSubSampleDO businessSubSampleDO = businessSubSampleMapper.selectById(businessSubSampleId); //获取子样分析方法配置 - ConfigSubSampleMethodDO configSubSampleMethodDO = configSubSampleMethodMapper.selectByConfigSubSampleIdAndConfigAssayMethodId(businessSubSampleDO.getConfigSubSampleId(), businessAssayTaskDataDO.getConfigAssayMethodId()); + ConfigSubSampleMethodExtendRespVO configSubSampleMethodDO = configSubSampleMethodMapper.selectByConfigSubSampleIdAndConfigAssayMethodId(businessSubSampleDO.getConfigSubSampleId(), businessAssayTaskDataDO.getConfigAssayMethodId()); if (QmsCommonConstant.ASSAY_TYPE_SINGLE_PARALLEL.equals(businessAssayTaskDataDO.getAssayType())) { //根据子样id及分析方法id,查询未上报的分析任务 @@ -954,7 +954,7 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic //查询子样 BusinessSubSampleDO businessSubSampleDO = businessSubSampleMapper.selectById(businessSubSampleId); //查询子样与方法的配置 - ConfigSubSampleMethodDO configSubSampleMethodDO = configSubSampleMethodMapper.selectByConfigSubSampleIdAndConfigAssayMethodId(businessSubSampleDO.getConfigSubSampleId(), configAssayMethodId); + ConfigSubSampleMethodExtendRespVO configSubSampleMethodDO = configSubSampleMethodMapper.selectByConfigSubSampleIdAndConfigAssayMethodId(businessSubSampleDO.getConfigSubSampleId(), configAssayMethodId); //计算判定值计算规则 ConfigRuleDO calculateAssessmentValue = configRuleMapper.selectLatestConfigRuleByCode(configSubSampleMethodDO.getCalculateMethod()); diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisServiceImpl.java index fcdd15c..21edfe2 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisServiceImpl.java @@ -72,6 +72,7 @@ import com.zt.plat.module.qms.business.config.controller.vo.ConfigQCSampleMethod import com.zt.plat.module.qms.business.config.controller.vo.ConfigSubSampleMethodConfInfo; import com.zt.plat.module.qms.business.config.controller.vo.ConfigSubSampleMethodConfItem; import com.zt.plat.module.qms.business.config.controller.vo.ConfigSubSampleMethodConfPoint; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigSubSampleMethodExtendRespVO; import com.zt.plat.module.qms.business.config.dal.dataobject.BaseSampleDO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodDO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodProjectCoefficientDO; @@ -201,7 +202,7 @@ public class SampleAnalysisServiceImpl implements SampleAnalysisService { List configSubSampleIdList = businessSubSampleDOList.stream().map(m -> m.getConfigSubSampleId()).distinct().collect(Collectors.toList()); //子样方法配置列表 - List configSubSampleMethodDOList = configSubSampleMethodMapper.selectByConfigSubSampleIdsAndConfigAssayMethodId(configSubSampleIdList, businessAssayTaskDO.getConfigAssayMethodId()); + List configSubSampleMethodDOList = configSubSampleMethodMapper.selectByConfigSubSampleIdsAndConfigAssayMethodId(configSubSampleIdList, businessAssayTaskDO.getConfigAssayMethodId()); BusinessAssayProjectDataReqVO projectDataSearch = new BusinessAssayProjectDataReqVO(); @@ -242,7 +243,7 @@ public class SampleAnalysisServiceImpl implements SampleAnalysisService { BusinessSubSampleDO businessSubSampleDO = businessSubSampleDOList.stream().filter(f -> f.getId().equals(businessAssayTaskDataDO.getBusinessSubSampleId())).findFirst().orElse(null); - ConfigSubSampleMethodDO configSubSampleMethodDO = configSubSampleMethodDOList.stream().filter(f -> f.getConfigAssayMethodId().equals(businessAssayTaskDataDO.getConfigAssayMethodId()) && f.getConfigSubSampleId().equals(businessSubSampleDO.getConfigSubSampleId())).findFirst().orElse(null); + ConfigSubSampleMethodExtendRespVO configSubSampleMethodDO = configSubSampleMethodDOList.stream().filter(f -> f.getConfigAssayMethodId().equals(businessAssayTaskDataDO.getConfigAssayMethodId()) && f.getConfigSubSampleId().equals(businessSubSampleDO.getConfigSubSampleId())).findFirst().orElse(null); String configInfomation = configSubSampleMethodDO.getConfigInfomation(); if (StringUtils.isNotBlank(configInfomation)) { ConfigSubSampleMethodConfInfo configSubSampleMethodConfInfo = JSON.parseObject(configInfomation, ConfigSubSampleMethodConfInfo.class); @@ -558,7 +559,7 @@ public class SampleAnalysisServiceImpl implements SampleAnalysisService { List configSubSampleIdList = businessSubSampleDOList.stream().map(m -> m.getConfigSubSampleId()).distinct().collect(Collectors.toList()); //子样方法配置列表 - List configSubSampleMethodDOList = configSubSampleMethodMapper.selectByConfigSubSampleIdsAndConfigAssayMethodId(configSubSampleIdList, businessAssayTaskDO.getConfigAssayMethodId()); + List configSubSampleMethodDOList = configSubSampleMethodMapper.selectByConfigSubSampleIdsAndConfigAssayMethodId(configSubSampleIdList, businessAssayTaskDO.getConfigAssayMethodId()); List businessAssayTaskDataIdList = businessAssayTaskDataList.stream().map(m -> m.getId()).collect(Collectors.toList()); @@ -599,7 +600,7 @@ public class SampleAnalysisServiceImpl implements SampleAnalysisService { BusinessAssayTaskDetailDO businessAssayTaskDetailDO = businessAssayTaskDetailList.stream().filter(f -> f.getBusinessAssayTaskDataId().equals(businessAssayTaskDataDO.getId())).findFirst().orElse(null); BusinessSubSampleDO businessSubSampleDO = businessSubSampleDOList.stream().filter(f -> f.getId().equals(businessAssayTaskDataDO.getBusinessSubSampleId())).findFirst().orElse(null); - ConfigSubSampleMethodDO configSubSampleMethodDO = configSubSampleMethodDOList.stream().filter(f -> f.getConfigAssayMethodId().equals(businessAssayTaskDataDO.getConfigAssayMethodId()) && f.getConfigSubSampleId().equals(businessSubSampleDO.getConfigSubSampleId())).findFirst().orElse(null); + ConfigSubSampleMethodExtendRespVO configSubSampleMethodDO = configSubSampleMethodDOList.stream().filter(f -> f.getConfigAssayMethodId().equals(businessAssayTaskDataDO.getConfigAssayMethodId()) && f.getConfigSubSampleId().equals(businessSubSampleDO.getConfigSubSampleId())).findFirst().orElse(null); String configInfomation = configSubSampleMethodDO.getConfigInfomation(); if (StringUtils.isNotBlank(configInfomation)) { ConfigSubSampleMethodConfInfo configSubSampleMethodConfInfo = JSON.parseObject(configInfomation, ConfigSubSampleMethodConfInfo.class); @@ -1173,7 +1174,7 @@ public class SampleAnalysisServiceImpl implements SampleAnalysisService { //子样配置id列表 List configSubSampleIdList = businessSubSampleDOList.stream().map(m -> m.getConfigSubSampleId()).distinct().collect(Collectors.toList()); //子样配置方法 - List configSubSampleMethodList = configSubSampleMethodMapper.selectByConfigSubSampleIdsAndConfigAssayMethodId(configSubSampleIdList, businessAssayTaskDO.getConfigAssayMethodId()); + List configSubSampleMethodList = configSubSampleMethodMapper.selectByConfigSubSampleIdsAndConfigAssayMethodId(configSubSampleIdList, businessAssayTaskDO.getConfigAssayMethodId()); List businessAssayProjectDataList = businessAssayProjectDataMapper.selectByBusinessAssayTaskDataIds(businessAssayTaskDataIdList); List businessAssayProjectDataIdList = businessAssayProjectDataList.stream().map(m -> m.getId()).collect(Collectors.toList()); @@ -1185,7 +1186,7 @@ public class SampleAnalysisServiceImpl implements SampleAnalysisService { BusinessSubSampleDO businessSubSampleDO = businessSubSampleDOList.stream().filter(f -> f.getId().equals(businessAssayTaskDataDO.getBusinessSubSampleId())).findFirst().orElse(null); //子样配置信息 - ConfigSubSampleMethodDO configSubSampleMethodDO = configSubSampleMethodList.stream().filter(f -> f.getConfigSubSampleId().equals(businessSubSampleDO.getConfigSubSampleId())).findFirst().orElse(null); + ConfigSubSampleMethodExtendRespVO configSubSampleMethodDO = configSubSampleMethodList.stream().filter(f -> f.getConfigSubSampleId().equals(businessSubSampleDO.getConfigSubSampleId())).findFirst().orElse(null); String configInfomation = configSubSampleMethodDO.getConfigInfomation(); if (StringUtils.isNotBlank(configInfomation)) { ConfigSubSampleMethodConfInfo configSubSampleMethodConfInfo = JSON.parseObject(configInfomation, ConfigSubSampleMethodConfInfo.class); diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleResultReportingServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleResultReportingServiceImpl.java index 84741df..f8eac5a 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleResultReportingServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleResultReportingServiceImpl.java @@ -66,6 +66,7 @@ import com.zt.plat.module.qms.business.config.controller.vo.ConfigAssayMethodRes import com.zt.plat.module.qms.business.config.controller.vo.ConfigProjectExtendRespVO; import com.zt.plat.module.qms.business.config.controller.vo.ConfigSampleReportExtendRespVO; import com.zt.plat.module.qms.business.config.controller.vo.ConfigSampleReportReqVO; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigSubSampleMethodExtendRespVO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodDO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodProjectDO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodProjectParameterDO; @@ -257,6 +258,7 @@ public class SampleResultReportingServiceImpl implements SampleResultReportingSe ConfigAssayMethodRespVO configAssayMethodRespVO = new ConfigAssayMethodRespVO(); configAssayMethodRespVO.setId(recheckSubSampleParentMethod.getConfigAssayMethodId()); configAssayMethodRespVO.setName(recheckSubSampleParentMethod.getConfigAssayMethodName()); + configAssayMethodRespVO.setMethodNameCategory(recheckSubSampleParentMethod.getConfigAssayMethodNameAndCategory()); methodList.add(configAssayMethodRespVO); } recheckSubSampleParentMethodRespVO.setMethodList(methodList); @@ -328,7 +330,7 @@ public class SampleResultReportingServiceImpl implements SampleResultReportingSe //查询分析方法 ConfigAssayMethodDO configAssayMethodDO = configAssayMethodMapper.selectById(configAssayMethodId); - ConfigSubSampleMethodDO configSubSampleMethodDO = configSubSampleMethodMapper.selectByConfigSubSampleIdAndConfigAssayMethodId(businessSubSampleDO.getConfigSubSampleId(), configAssayMethodId); + ConfigSubSampleMethodExtendRespVO configSubSampleMethodDO = configSubSampleMethodMapper.selectByConfigSubSampleIdAndConfigAssayMethodId(businessSubSampleDO.getConfigSubSampleId(), configAssayMethodId); List configAssayMethodProjectList = configAssayMethodProjectMapper.selectByConfigAssayMethodId(configAssayMethodId); diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleTaskAssignService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleTaskAssignService.java index 7e77658..c0dda7d 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleTaskAssignService.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleTaskAssignService.java @@ -37,7 +37,15 @@ public interface SampleTaskAssignService { * @param configAssayMethodId * @return */ - List getAssayMethodList(Long businessSubSampleId, Long configAssayMethodId); +// List getAssayMethodList(Long businessSubSampleId, Long configAssayMethodId); + + /** + * 根据子样id列表,查询分析方法项目 + * @param businessSubSampleIdList 子样id列表 + * @param configAssayMethodId 分析方法id + * @return + */ + List getAssayMethodProjectList(List businessSubSampleIdList, Long configAssayMethodId); /** * 修改分析方法 diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleTaskAssignServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleTaskAssignServiceImpl.java index ef16ebd..49cfd46 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleTaskAssignServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleTaskAssignServiceImpl.java @@ -9,7 +9,6 @@ import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import com.alibaba.fastjson2.JSONObject; import com.baomidou.mybatisplus.core.toolkit.IdWorker; import com.yomahub.liteflow.core.FlowExecutor; import com.yomahub.liteflow.flow.LiteflowResponse; @@ -34,6 +33,8 @@ import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCCoefficientP import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCManagementDataDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCManagementParameterDataDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCManagementProjectDataDO; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubParentSampleAssessmentDO; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleAssessmentDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleDO; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayParameterDataMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayProjectDataMapper; @@ -46,6 +47,8 @@ import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCCoefficientParam import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCManagementDataMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCManagementParameterDataMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCManagementProjectDataMapper; +import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubParentSampleAssessmentMapper; +import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubSampleAssessmentMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubSampleMapper; import com.zt.plat.module.qms.business.bus.liteflow.param.SampleTaskAssignManualParam; import com.zt.plat.module.qms.business.bus.liteflow.param.SampleTaskAssignMethodParam; @@ -107,6 +110,12 @@ public class SampleTaskAssignServiceImpl implements SampleTaskAssignService { @Resource private BusinessAssayParameterDataMapper businessAssayParameterDataMapper; + @Resource + private BusinessSubSampleAssessmentMapper businessSubSampleAssessmentMapper; + + @Resource + private BusinessSubParentSampleAssessmentMapper businessSubParentSampleAssessmentMapper; + @Resource private BusinessAssayReportDataMapper businessAssayReportDataMapper; @@ -179,6 +188,7 @@ public class SampleTaskAssignServiceImpl implements SampleTaskAssignService { return list; } + /** @Override public List getAssayMethodList(Long businessSubSampleId, Long configAssayMethodId) { List resutList = new ArrayList<>(); @@ -235,7 +245,471 @@ public class SampleTaskAssignServiceImpl implements SampleTaskAssignService { return resutList; } + **/ + + @Override + public List getAssayMethodProjectList(List businessSubSampleIdList, Long configAssayMethodId) { + //当前登录用户 + LoginUser loginUser = SecurityFrameworkUtils.getLoginUser(); + Long visitDeptId = loginUser.getVisitDeptId(); + + List businessSubSampleList = businessSubSampleMapper.selectByIds(businessSubSampleIdList); + List configSubSampleIdList = businessSubSampleList.stream().map(m -> m.getConfigSubSampleId()).distinct().collect(Collectors.toList()); + //查询子样分析方法及检测项目 + List configAssayMethodProjectList = configAssayMethodProjectMapper.selectByConfigSubSampleIdsAndAssayDepartmentId(configSubSampleIdList, visitDeptId); + //查询分析方法检测项目 + List list = businessAssayProjectDataMapper.selectAssayMethodProjectByBusinessSubSampleIdListAndConfigAssayMethodId(businessSubSampleIdList, configAssayMethodId); + for (AssayMethodProjectRespVO assayMethodProject : list) { + List methodList = configAssayMethodProjectList.stream().filter(f -> assayMethodProject.getDictionaryProjectId().equals(f.getDictionaryProjectId())).collect(Collectors.toList()); + assayMethodProject.setMethodList(methodList); + } + return list; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void changeMethod(ChangeAssayMethodReqVO req) { + List businessSubSampleIdList = req.getBusinessSubSampleIdList(); + Long configAssayMethodId = req.getConfigAssayMethodId(); + List changeConfigAssayMethodProjectList = req.getChangeConfigAssayMethodProjectList(); + List changeConfigAssayMethodIdList = changeConfigAssayMethodProjectList.stream().map(m -> m.getConfigAssayMethodId()).distinct().collect(Collectors.toList()); + + LocalDateTime currentDateTime = LocalDateTime.now(); + + //需要更新的报表数据 + List updateBusinessAssayReportDataDOList = new ArrayList<>(); + + //需要更新的分析任务 + List updateBusinessAssayTaskDataDOList = new ArrayList<>(); + //需要更新的分析任务检测项目 + List updateBusinessAssayProjectDataDOList = new ArrayList<>(); + //需要更新的分析任务检测项目参数 + List updateBusinessAssayParameterDataDOList = new ArrayList<>(); + + //需要更新的子样判定 + List updateBusinessSubSampleAssessmentDOList = new ArrayList<>(); + + //需要更新的分样判定 + List updateBusinessSubParentSampleAssessmentDOList = new ArrayList<>(); + + //需要新建的分析任务 + List saveBusinessAssayTaskDataDOList = new ArrayList<>(); + //需要新建的分析任务检测项目 + List saveBusinessAssayProjectDataDOList = new ArrayList<>(); + //需要新建的分析任务检测项目参数 + List saveBusinessAssayParameterDataDOList = new ArrayList<>(); + + //需要新建的子样判定 + List saveBusinessSubSampleAssessmentDOList = new ArrayList<>(); + + //需要新建的分样判定 + List saveBusinessSubParentSampleAssessmentDOList = new ArrayList<>(); + + //需要删除的分析任务 + List removeAssayTaskDataIdList = new ArrayList<>(); + //需要删除的分析任务检测项目 + List removeAssayProjectIdList = new ArrayList<>(); + //需要删除的分析任务检测项目参数 + List removeAssayParameterIdList = new ArrayList<>(); + + //需要删除的子样判定 + List removeSubSampleAssessmentIdList = new ArrayList<>(); + + //需要删除的分样判定 + List removeSubParentSampleAssessmentIdList = new ArrayList<>(); + + //查询子样 + List businessSubSampleDOList = businessSubSampleMapper.selectByIds(businessSubSampleIdList); + List businessBaseSampleIdList = businessSubSampleDOList.stream().map(m -> m.getBusinessBaseSampleId()).distinct().collect(Collectors.toList()); + List businessSubParentSampleIdList = businessSubSampleDOList.stream().map(m -> m.getBusinessSubParentSampleId()).distinct().collect(Collectors.toList()); + List configSubSampleIdList = businessSubSampleDOList.stream().map(m -> m.getConfigSubSampleId()).distinct().collect(Collectors.toList()); + //查询检测任务 (通过分样id,可以查询双杯样的) + List businessAssayTaskDataDOList = businessAssayTaskDataMapper.selectByBusinessSubParentSampleIdsAndConfigAssayMethodId(businessSubParentSampleIdList, configAssayMethodId); + + boolean disabled = businessAssayTaskDataDOList.stream().anyMatch(m -> m.getIsAssignTasked().equals(QmsCommonConstant.YES)); + if (disabled) { + throw new ServiceException(1_032_001_000, "当前样品存在已分配任务,不允许修改分析方法"); + } + + List businessAssayTaskDataIdList = businessAssayTaskDataDOList.stream().map(m -> m.getId()).collect(Collectors.toList()); + //查询检测任务的检测项目 + List businessAssayProjectDataList = businessAssayProjectDataMapper.selectByBusinessAssayTaskDataIds(businessAssayTaskDataIdList); + List businessAssayProjectDataIdList = businessAssayProjectDataList.stream().map(m -> m.getId()).collect(Collectors.toList()); + //查询检测任务的检测项目的参数 + List businessAssayParameterDataDOList = businessAssayParameterDataMapper.selectByBusinessAssayProjectDataIds(businessAssayProjectDataIdList); + + //查询子样判定 (通过分样id,可以查询双杯样的) + List businessSubSampleAssessmentDOList = businessSubSampleAssessmentMapper.selectByBusinessSubParentSampleIdsAndConfigAssayMethodId(businessSubParentSampleIdList, configAssayMethodId); + + //查询分样判定 + List businessSubParentSampleAssessmentList = businessSubParentSampleAssessmentMapper.selectByBusinessSubParentSampleIdsAndConfigAssayMethodId(businessSubParentSampleIdList, configAssayMethodId); + + //查询要变更的分析方法配置 + List configAssayMethodDOList = configAssayMethodMapper.selectByIds(changeConfigAssayMethodIdList); + //分析方法检测项目配置 + List configAssayMethodProjectList = configAssayMethodProjectMapper.selectByConfigAssayMethodIds(changeConfigAssayMethodIdList); + //分析方法检测项目参数配置 + List configAssayMethodProjectParameterList = configAssayMethodProjectParameterMapper.selectByConfigAssayMethodIds(changeConfigAssayMethodIdList); + //查询要变更的子样及分析方法配置 + List configSubSampleMethodList = configSubSampleMethodMapper.selectByConfigSubSampleIdsAndConfigAssayMethodIds(configSubSampleIdList, changeConfigAssayMethodIdList); + + //循环分样判定 + for (BusinessSubParentSampleAssessmentExtendRespVO businessSubParentSampleAssessment : businessSubParentSampleAssessmentList) { + + //循环变更的分析方法 + for (Long changeConfigAssayMethodId : changeConfigAssayMethodIdList) { + //如果当前分析方法不等于要变更的方法 + if (!businessSubParentSampleAssessment.getConfigAssayMethodId().equals(changeConfigAssayMethodId)) { + //查询是否已有要变更的方法的分样判定 + BusinessSubParentSampleAssessmentDO businessSubParentSampleAssessmentDO = businessSubParentSampleAssessmentMapper.selectByBusinessSubParentSampleIdAndConfigAssayMethodId(businessSubParentSampleAssessment.getBusinessSubParentSampleId(), changeConfigAssayMethodId); + if (businessSubParentSampleAssessmentDO == null) {//不存在 + //根据变更方法过滤出检测项目 + List projectIdList = changeConfigAssayMethodProjectList.stream().filter(f -> f.getConfigAssayMethodId().equals(changeConfigAssayMethodId)).map(m -> m.getDictionaryProjectId()).distinct().collect(Collectors.toList()); + + //查询分析方法 + ConfigAssayMethodDO configAssayMethodDO = configAssayMethodDOList.stream().filter(f -> f.getId().equals(changeConfigAssayMethodId)).findFirst().orElse(null); + //查询子样分析方法 + ConfigSubSampleMethodExtendRespVO configSubSampleMethod = configSubSampleMethodList.stream().filter(f -> f.getConfigSubSampleParentId().equals(businessSubParentSampleAssessment.getConfigSubSampleParentId()) && f.getConfigAssayMethodId().equals(changeConfigAssayMethodId)).findFirst().orElse(null); + + //根据任务数判断是平行还是 + String assayType = configSubSampleMethod.getTaskCount() > 1 ? QmsCommonConstant.ASSAY_TYPE_SINGLE_PARALLEL : QmsCommonConstant.ASSAY_TYPE_SINGLE_CUP; + businessSubParentSampleAssessmentDO = new BusinessSubParentSampleAssessmentDO(); + businessSubParentSampleAssessmentDO.setId(IdWorker.getId()); + businessSubParentSampleAssessmentDO.setBusinessSubParentSampleId(businessSubParentSampleAssessment.getBusinessSubParentSampleId()); + businessSubParentSampleAssessmentDO.setConfigAssayMethodId(changeConfigAssayMethodId); + businessSubParentSampleAssessmentDO.setAssayType(assayType); + businessSubParentSampleAssessmentDO.setTaskType("常规"); + saveBusinessSubParentSampleAssessmentDOList.add(businessSubParentSampleAssessmentDO); + + BusinessSubSampleDO businessSubSampleDO = null; + if (!QmsCommonConstant.ASSAY_TYPE_DOUBLE_CUP.equals(businessSubParentSampleAssessment.getAssayType())) {//如果不为双杯样 + businessSubSampleDO = businessSubSampleDOList.stream().filter(f -> f.getBusinessSubParentSampleId().equals(businessSubParentSampleAssessment.getBusinessSubParentSampleId())).findFirst().orElse(null); + } + + //子样判定数据 + BusinessSubSampleAssessmentDO businessSubSampleAssessmentDO = new BusinessSubSampleAssessmentDO(); + businessSubSampleAssessmentDO.setId(IdWorker.getId()); + businessSubSampleAssessmentDO.setBusinessBaseSampleId(businessSubParentSampleAssessment.getBusinessBaseSampleId()); + businessSubSampleAssessmentDO.setBusinessSubParentSampleId(businessSubParentSampleAssessment.getBusinessSubParentSampleId()); + businessSubSampleAssessmentDO.setBusinessSubParentSampleAssessmentId(businessSubParentSampleAssessmentDO.getId()); + if (businessSubSampleDO != null) { + businessSubSampleAssessmentDO.setBusinessSubSampleId(businessSubSampleDO.getId()); + } + businessSubSampleAssessmentDO.setConfigAssayMethodId(changeConfigAssayMethodId); + businessSubSampleAssessmentDO.setAssayType(assayType); + businessSubSampleAssessmentDO.setTaskType("常规"); + + saveBusinessSubSampleAssessmentDOList.add(businessSubSampleAssessmentDO); + + //查询旧的检测项目 + List oldBusinessAssayProjectDataIdList = businessAssayProjectDataList.stream().filter(f -> projectIdList.contains(f.getDictionaryProjectId()) && f.getBusinessSubParentSampleId().equals(businessSubParentSampleAssessment.getBusinessSubParentSampleId())).map(m -> m.getId()).collect(Collectors.toList()); + //添加到删除列表 + removeAssayProjectIdList.addAll(oldBusinessAssayProjectDataIdList); + List oldBusinessAssayParameterDataIdList = businessAssayParameterDataDOList.stream().filter(f -> oldBusinessAssayProjectDataIdList.contains(f.getBusinessAssayProjectDataId())).map(m -> m.getId()).collect(Collectors.toList()); + removeAssayParameterIdList.addAll(oldBusinessAssayParameterDataIdList); + if (projectIdList.size() == changeConfigAssayMethodProjectList.size()) { + //查询旧的检测任务 + List oldBusinessAssayTaskDataIdList = businessAssayTaskDataDOList.stream().filter(f -> f.getConfigAssayMethodId().equals(configAssayMethodId) && f.getBusinessSubParentSampleId().equals(businessSubParentSampleAssessment.getBusinessSubParentSampleId())).map(m -> m.getId()).collect(Collectors.toList()); + //添加到删除列表 + removeAssayTaskDataIdList.addAll(oldBusinessAssayTaskDataIdList); + //查询旧的子样判定 + List oldBusinessSubSampleAssesmentIdList = businessSubSampleAssessmentDOList.stream().filter(f -> f.getConfigAssayMethodId().equals(configAssayMethodId) && f.getBusinessSubParentSampleId().equals(businessSubParentSampleAssessment.getBusinessSubParentSampleId())).map(m -> m.getId()).collect(Collectors.toList()); + //添加到删除列表 + removeSubSampleAssessmentIdList.addAll(oldBusinessSubSampleAssesmentIdList); + + //添加到删除列表 + removeSubParentSampleAssessmentIdList.add(businessSubParentSampleAssessment.getId()); + } else { + List projectShowNameList = changeConfigAssayMethodProjectList.stream().filter(f -> f.getConfigAssayMethodId().equals(configAssayMethodId)).map(m -> m.getDictionaryProjectShowName()).distinct().collect(Collectors.toList()); + //查询旧的检测任务 + List oldBusinessAssayTaskDataList = businessAssayTaskDataDOList.stream().filter(f -> f.getConfigAssayMethodId().equals(configAssayMethodId) && f.getBusinessSubParentSampleId().equals(businessSubParentSampleAssessment.getBusinessSubParentSampleId())).collect(Collectors.toList()); + for (BusinessAssayTaskDataDO oldBusinessAssayTaskData : oldBusinessAssayTaskDataList) { + boolean isAdd = updateBusinessAssayTaskDataDOList.stream().anyMatch(m -> m.getId().equals(oldBusinessAssayTaskData.getId())); + if (!isAdd) {//如果未添加过更新,则修改检测项目并添加更新 + oldBusinessAssayTaskData.setAssayProject(CollUtil.join(projectShowNameList, ",")); + updateBusinessAssayTaskDataDOList.add(oldBusinessAssayTaskData); + } + } + } + + BusinessAssayTaskDataDO oldBusinessAssayTaskDataDO = businessAssayTaskDataDOList.stream().filter(f -> f.getBusinessSubParentSampleId().equals(businessSubParentSampleAssessment.getBusinessSubParentSampleId())).findFirst().orElse(null); + + //根据检测方法循环 + BusinessAssayTaskDataDO businessAssayTaskDataDO = null; + //根据任务数循环 + for (int i = 0; i < configSubSampleMethod.getTaskCount(); i++) { + //子样检测任务 + businessAssayTaskDataDO = new BusinessAssayTaskDataDO(); + businessAssayTaskDataDO.setId(IdWorker.getId()); + businessAssayTaskDataDO.setBusinessBaseSampleId(businessSubSampleDO.getBusinessBaseSampleId()); + businessAssayTaskDataDO.setBusinessSubParentSampleId(businessSubSampleDO.getBusinessSubParentSampleId()); + businessAssayTaskDataDO.setBusinessSubSampleId(businessSubSampleDO.getId()); + businessAssayTaskDataDO.setBusinessSubSampleAssessmentId(businessSubSampleAssessmentDO.getId());//子样判定id + businessAssayTaskDataDO.setConfigAssayMethodId(changeConfigAssayMethodId); + businessAssayTaskDataDO.setAssayType(assayType); + businessAssayTaskDataDO.setTaskType("常规"); + businessAssayTaskDataDO.setConfigSampleFlowId(oldBusinessAssayTaskDataDO.getConfigSampleFlowId()); + businessAssayTaskDataDO.setSampleFlowNodeKey(oldBusinessAssayTaskDataDO.getSampleFlowNodeKey()); + businessAssayTaskDataDO.setSampleFlowNodeTime(currentDateTime); + businessAssayTaskDataDO.setAssayDepartmentId(configAssayMethodDO.getAssayDepartmentId()); + businessAssayTaskDataDO.setAssayDepartmentName(configAssayMethodDO.getAssayDepartmentName()); + + List configAssayMethodProjectDOList = configAssayMethodProjectList.stream().filter(f -> f.getConfigAssayMethodId().equals(changeConfigAssayMethodId)).collect(Collectors.toList()); + + StringBuilder assayProjectBuilder = new StringBuilder(); + + for (ConfigAssayMethodProjectExtendRespVO configAssayMethodProjectDO : configAssayMethodProjectDOList) { + + //如果当前分析方法的项目不在当前检测项目中,则跳出循环继续 + if (!projectIdList.contains(configAssayMethodProjectDO.getDictionaryProjectId())) { + continue; + } + + assayProjectBuilder.append(configAssayMethodProjectDO.getShowName()).append(","); + + + //检测项目 + BusinessAssayProjectDataDO businessAssayProjectDataDO = new BusinessAssayProjectDataDO(); + businessAssayProjectDataDO.setId(IdWorker.getId()); + businessAssayProjectDataDO.setBusinessAssayTaskDataId(businessAssayTaskDataDO.getId()); + businessAssayProjectDataDO.setConfigAssayMethodProjectId(configAssayMethodProjectDO.getId()); + businessAssayProjectDataDO.setDictionaryProjectId(configAssayMethodProjectDO.getDictionaryProjectId()); + businessAssayProjectDataDO.setDataType(configAssayMethodProjectDO.getDataType()); + businessAssayProjectDataDO.setDecimalPosition(configAssayMethodProjectDO.getDecimalPosition()); + businessAssayProjectDataDO.setUsage(QmsCommonConstant.ASSAY_PROJECT_USAGE_REPORT); + businessAssayProjectDataDO.setMinimumLimitValue(configAssayMethodProjectDO.getMinimumLimitValue()); + businessAssayProjectDataDO.setIsEnabled(QmsCommonConstant.YES); + businessAssayProjectDataDO.setIsNotAssessment(QmsCommonConstant.NO); + + saveBusinessAssayProjectDataDOList.add(businessAssayProjectDataDO); + + List configAssayMethodProjectParameterDOList = configAssayMethodProjectParameterList.stream().filter(f -> f.getConfigAssayMethodProjectId().equals(configAssayMethodProjectDO.getId())).collect(Collectors.toList()); + for (ConfigAssayMethodProjectParameterDO configAssayMethodProjectParameterDO : configAssayMethodProjectParameterDOList) { + BusinessAssayParameterDataDO businessAssayParameterDataDO = new BusinessAssayParameterDataDO(); + businessAssayParameterDataDO.setId(IdWorker.getId()); + businessAssayParameterDataDO.setConfigAssayMethodProjectParameterId(configAssayMethodProjectParameterDO.getId()); + businessAssayParameterDataDO.setBusinessAssayProjectDataId(businessAssayProjectDataDO.getId()); + businessAssayParameterDataDO.setDictionaryParameterId(configAssayMethodProjectParameterDO.getDictionaryParameterId()); + businessAssayParameterDataDO.setDataType(configAssayMethodProjectParameterDO.getDataType()); + businessAssayParameterDataDO.setDecimalPosition(configAssayMethodProjectParameterDO.getDecimalPosition()); + + saveBusinessAssayParameterDataDOList.add(businessAssayParameterDataDO); + } + } + if (assayProjectBuilder.length() > 1) { + assayProjectBuilder.delete(assayProjectBuilder.length() - 1 , assayProjectBuilder.length()); + } + businessAssayTaskDataDO.setAssayProject(assayProjectBuilder.toString()); + saveBusinessAssayTaskDataDOList.add(businessAssayTaskDataDO); + } + + } else {//已存在 + //根据变更方法过滤出检测项目 + List projectIdList = changeConfigAssayMethodProjectList.stream().filter(f -> f.getConfigAssayMethodId().equals(changeConfigAssayMethodId)).map(m -> m.getDictionaryProjectId()).distinct().collect(Collectors.toList()); + + //查询分析方法 + //ConfigAssayMethodDO configAssayMethodDO = configAssayMethodDOList.stream().filter(f -> f.getId().equals(changeConfigAssayMethodId)).findFirst().orElse(null); + //查询子样分析方法 + //ConfigSubSampleMethodExtendRespVO configSubSampleMethod = configSubSampleMethodList.stream().filter(f -> f.getConfigSubSampleParentId().equals(businessSubParentSampleAssessment.getConfigSubSampleParentId()) && f.getConfigAssayMethodId().equals(changeConfigAssayMethodId)).findFirst().orElse(null); + + //根据任务数判断是平行还是 + //String assayType = configSubSampleMethod.getTaskCount() > 1 ? QmsCommonConstant.ASSAY_TYPE_SINGLE_PARALLEL : QmsCommonConstant.ASSAY_TYPE_SINGLE_CUP; + + //查询子样判定 + //BusinessSubSampleAssessmentDO businessSubSampleAssessmentDO = businessSubSampleAssessmentMapper.selectByBusinessSubParentSampleIdAndConfigAssayMethodId(businessSubParentSampleAssessmentDO.getBusinessSubParentSampleId(), changeConfigAssayMethodId); + + //查询旧的检测项目 + List oldBusinessAssayProjectDataIdList = businessAssayProjectDataList.stream().filter(f -> projectIdList.contains(f.getDictionaryProjectId()) && f.getBusinessSubParentSampleId().equals(businessSubParentSampleAssessment.getBusinessSubParentSampleId())).map(m -> m.getId()).collect(Collectors.toList()); + //添加到删除列表 + removeAssayProjectIdList.addAll(oldBusinessAssayProjectDataIdList); + List oldBusinessAssayParameterDataIdList = businessAssayParameterDataDOList.stream().filter(f -> oldBusinessAssayProjectDataIdList.contains(f.getBusinessAssayProjectDataId())).map(m -> m.getId()).collect(Collectors.toList()); + removeAssayParameterIdList.addAll(oldBusinessAssayParameterDataIdList); + if (projectIdList.size() == changeConfigAssayMethodProjectList.size()) { + //查询旧的检测任务 + List oldBusinessAssayTaskDataIdList = businessAssayTaskDataDOList.stream().filter(f -> f.getConfigAssayMethodId().equals(configAssayMethodId) && f.getBusinessSubParentSampleId().equals(businessSubParentSampleAssessment.getBusinessSubParentSampleId())).map(m -> m.getId()).collect(Collectors.toList()); + //添加到删除列表 + removeAssayTaskDataIdList.addAll(oldBusinessAssayTaskDataIdList); + //查询旧的子样判定 + List oldBusinessSubSampleAssesmentIdList = businessSubSampleAssessmentDOList.stream().filter(f -> f.getConfigAssayMethodId().equals(configAssayMethodId) && f.getBusinessSubParentSampleId().equals(businessSubParentSampleAssessment.getBusinessSubParentSampleId())).map(m -> m.getId()).collect(Collectors.toList()); + //添加到删除列表 + removeSubSampleAssessmentIdList.addAll(oldBusinessSubSampleAssesmentIdList); + + //添加到删除列表 + removeSubParentSampleAssessmentIdList.add(businessSubParentSampleAssessment.getId()); + } else { + List projectShowNameList = changeConfigAssayMethodProjectList.stream().filter(f -> f.getConfigAssayMethodId().equals(configAssayMethodId)).map(m -> m.getDictionaryProjectShowName()).distinct().collect(Collectors.toList()); + //查询旧的检测任务 + List oldBusinessAssayTaskDataList = businessAssayTaskDataDOList.stream().filter(f -> f.getConfigAssayMethodId().equals(configAssayMethodId) && f.getBusinessSubParentSampleId().equals(businessSubParentSampleAssessment.getBusinessSubParentSampleId())).collect(Collectors.toList()); + for (BusinessAssayTaskDataDO oldBusinessAssayTaskData : oldBusinessAssayTaskDataList) { + boolean isAdd = updateBusinessAssayTaskDataDOList.stream().anyMatch(m -> m.getId().equals(oldBusinessAssayTaskData.getId())); + if (!isAdd) {//如果未添加过更新,则修改检测项目并添加更新 + oldBusinessAssayTaskData.setAssayProject(CollUtil.join(projectShowNameList, ",")); + updateBusinessAssayTaskDataDOList.add(oldBusinessAssayTaskData); + } + } + } + + //查询当前存在的分析任务 + List currBusinessAssayTaskDataDOList = businessAssayTaskDataMapper.selectByBusinessSubParentSampleIdAndConfigAssayMethodId(businessSubParentSampleAssessmentDO.getBusinessSubParentSampleId(), changeConfigAssayMethodId); + + //当前存在的分析任务循环 + for (BusinessAssayTaskDataDO businessAssayTaskDataDO : currBusinessAssayTaskDataDOList) { + + List configAssayMethodProjectDOList = configAssayMethodProjectList.stream().filter(f -> f.getConfigAssayMethodId().equals(changeConfigAssayMethodId)).collect(Collectors.toList()); + + StringBuilder assayProjectBuilder = new StringBuilder(businessAssayTaskDataDO.getAssayProject()); + assayProjectBuilder.append(","); + + for (ConfigAssayMethodProjectExtendRespVO configAssayMethodProjectDO : configAssayMethodProjectDOList) { + + //如果当前分析方法的项目不在当前检测项目中,则跳出循环继续 + if (!projectIdList.contains(configAssayMethodProjectDO.getDictionaryProjectId())) { + continue; + } + + assayProjectBuilder.append(configAssayMethodProjectDO.getShowName()).append(","); + + + //检测项目 + BusinessAssayProjectDataDO businessAssayProjectDataDO = new BusinessAssayProjectDataDO(); + businessAssayProjectDataDO.setId(IdWorker.getId()); + businessAssayProjectDataDO.setBusinessAssayTaskDataId(businessAssayTaskDataDO.getId()); + businessAssayProjectDataDO.setConfigAssayMethodProjectId(configAssayMethodProjectDO.getId()); + businessAssayProjectDataDO.setDictionaryProjectId(configAssayMethodProjectDO.getDictionaryProjectId()); + businessAssayProjectDataDO.setDataType(configAssayMethodProjectDO.getDataType()); + businessAssayProjectDataDO.setDecimalPosition(configAssayMethodProjectDO.getDecimalPosition()); + businessAssayProjectDataDO.setUsage(QmsCommonConstant.ASSAY_PROJECT_USAGE_REPORT); + businessAssayProjectDataDO.setMinimumLimitValue(configAssayMethodProjectDO.getMinimumLimitValue()); + businessAssayProjectDataDO.setIsEnabled(QmsCommonConstant.YES); + businessAssayProjectDataDO.setIsNotAssessment(QmsCommonConstant.NO); + + saveBusinessAssayProjectDataDOList.add(businessAssayProjectDataDO); + + List configAssayMethodProjectParameterDOList = configAssayMethodProjectParameterList.stream().filter(f -> f.getConfigAssayMethodProjectId().equals(configAssayMethodProjectDO.getId())).collect(Collectors.toList()); + for (ConfigAssayMethodProjectParameterDO configAssayMethodProjectParameterDO : configAssayMethodProjectParameterDOList) { + BusinessAssayParameterDataDO businessAssayParameterDataDO = new BusinessAssayParameterDataDO(); + businessAssayParameterDataDO.setId(IdWorker.getId()); + businessAssayParameterDataDO.setConfigAssayMethodProjectParameterId(configAssayMethodProjectParameterDO.getId()); + businessAssayParameterDataDO.setBusinessAssayProjectDataId(businessAssayProjectDataDO.getId()); + businessAssayParameterDataDO.setDictionaryParameterId(configAssayMethodProjectParameterDO.getDictionaryParameterId()); + businessAssayParameterDataDO.setDataType(configAssayMethodProjectParameterDO.getDataType()); + businessAssayParameterDataDO.setDecimalPosition(configAssayMethodProjectParameterDO.getDecimalPosition()); + + saveBusinessAssayParameterDataDOList.add(businessAssayParameterDataDO); + } + } + if (assayProjectBuilder.length() > 1) { + assayProjectBuilder.delete(assayProjectBuilder.length() - 1 , assayProjectBuilder.length()); + } + businessAssayTaskDataDO.setAssayProject(assayProjectBuilder.toString()); + updateBusinessAssayTaskDataDOList.add(businessAssayTaskDataDO); + } + + + } + + } + + } + + } + + //查询报表数据 + List businessAssayReportDataDOList = businessAssayReportDataMapper.selectBytBusinessBaseSampleIds(businessBaseSampleIdList); + for (BusinessAssayReportDataDO businessAssayReportDataDO : businessAssayReportDataDOList) { + String dataSource = businessAssayReportDataDO.getDataSource(); + if (dataSource.contains(req.getConfigAssayMethodId().toString())) {//判定是否存在 + List dataSourceList = new ArrayList<>(); + String[] dataSourceSplit = dataSource.split(","); + for (int i = 0; i < dataSourceSplit.length; i++) { + dataSourceList.add(Long.parseLong(dataSourceSplit[i])); + } + + //移除当前的 + dataSourceList.remove(req.getConfigAssayMethodId()); + //添加新的 + dataSourceList.addAll(changeConfigAssayMethodIdList); + + //重新赋值 + businessAssayReportDataDO.setDataSource(CollUtil.join(dataSourceList, ",")); + + //添加到更新列表 + updateBusinessAssayReportDataDOList.add(businessAssayReportDataDO); + } + } + + + + //======================== 删除 ===================================================================== + + if (removeAssayTaskDataIdList.size() > 0) { + businessAssayTaskDataMapper.deleteByIds(removeAssayTaskDataIdList); + } + if (removeAssayProjectIdList.size() > 0) { + businessAssayProjectDataMapper.deleteByIds(removeAssayProjectIdList); + } + if (removeAssayParameterIdList.size() > 0) { + businessAssayParameterDataMapper.deleteByIds(removeAssayParameterIdList); + } + + if (removeSubSampleAssessmentIdList.size() > 0) { + businessSubSampleAssessmentMapper.deleteByIds(removeSubSampleAssessmentIdList); + } + + if (removeSubParentSampleAssessmentIdList.size() > 0) { + businessSubParentSampleAssessmentMapper.deleteByIds(removeSubParentSampleAssessmentIdList); + } + + //======================== 修改 ===================================================================== + + if (updateBusinessAssayReportDataDOList.size() > 0) { + businessAssayReportDataMapper.updateBatch(updateBusinessAssayReportDataDOList); + } + + if (updateBusinessAssayTaskDataDOList.size() > 0) { + businessAssayTaskDataMapper.updateBatch(updateBusinessAssayTaskDataDOList); + } + if (updateBusinessAssayProjectDataDOList.size() > 0) { + businessAssayProjectDataMapper.updateBatch(updateBusinessAssayProjectDataDOList); + } + if (updateBusinessAssayParameterDataDOList.size() > 0) { + businessAssayParameterDataMapper.updateBatch(updateBusinessAssayParameterDataDOList); + } + + if (updateBusinessSubSampleAssessmentDOList.size() > 0) { + businessSubSampleAssessmentMapper.updateBatch(updateBusinessSubSampleAssessmentDOList); + } + + if (updateBusinessSubParentSampleAssessmentDOList.size() > 0) { + businessSubParentSampleAssessmentMapper.updateBatch(updateBusinessSubParentSampleAssessmentDOList); + } + + //======================== 新建 ===================================================================== + + if (saveBusinessAssayTaskDataDOList.size() > 0) { + businessAssayTaskDataMapper.insertBatch(saveBusinessAssayTaskDataDOList); + } + if (saveBusinessAssayProjectDataDOList.size() > 0) { + businessAssayProjectDataMapper.insertBatch(saveBusinessAssayProjectDataDOList); + } + if (saveBusinessAssayParameterDataDOList.size() > 0) { + businessAssayParameterDataMapper.insertBatch(saveBusinessAssayParameterDataDOList); + } + + if (saveBusinessSubSampleAssessmentDOList.size() > 0) { + businessSubSampleAssessmentMapper.insertBatch(saveBusinessSubSampleAssessmentDOList); + } + + if (saveBusinessSubParentSampleAssessmentDOList.size() > 0) { + businessSubParentSampleAssessmentMapper.insertBatch(saveBusinessSubParentSampleAssessmentDOList); + } + + + + } + + /** @Override @Transactional(rollbackFor = Exception.class) public void changeMethod(ChangeAssayMethodReqVO req) { @@ -374,6 +848,7 @@ public class SampleTaskAssignServiceImpl implements SampleTaskAssignService { businessAssayParameterDataMapper.insertBatch(saveBusinessAssayParameterDataDOList); } } + **/ @Override @Transactional(rollbackFor = Exception.class) diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigSubSampleMethodController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigSubSampleMethodController.java index 6bbe270..e74bf12 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigSubSampleMethodController.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigSubSampleMethodController.java @@ -34,7 +34,7 @@ import com.zt.plat.module.qms.business.config.controller.vo.*; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigSubSampleMethodDO; import com.zt.plat.module.qms.business.config.service.ConfigSubSampleMethodService; -@Tag(name = "管理后台 - 子样与检测方法配置") +@Tag(name = "管理后台 - 子样与分样检测方法配置表") @RestController @RequestMapping("/qms/config-sub-sample-method") @Validated @@ -45,14 +45,14 @@ public class ConfigSubSampleMethodController implements BusinessControllerMarker private ConfigSubSampleMethodService configSubSampleMethodService; @PostMapping("/create") - @Operation(summary = "创建子样与检测方法配置") + @Operation(summary = "创建子样与分样检测方法配置表") //@PreAuthorize("@ss.hasPermission('qms:config-sub-sample-method:create')") public CommonResult createConfigSubSampleMethod(@Valid @RequestBody ConfigSubSampleMethodSaveReqVO createReqVO) { return success(configSubSampleMethodService.createConfigSubSampleMethod(createReqVO)); } @PutMapping("/update") - @Operation(summary = "更新子样与检测方法配置") + @Operation(summary = "更新子样与分样检测方法配置表") //@PreAuthorize("@ss.hasPermission('qms:config-sub-sample-method:update')") public CommonResult updateConfigSubSampleMethod(@Valid @RequestBody ConfigSubSampleMethodSaveReqVO updateReqVO) { configSubSampleMethodService.updateConfigSubSampleMethod(updateReqVO); @@ -60,7 +60,7 @@ public class ConfigSubSampleMethodController implements BusinessControllerMarker } @DeleteMapping("/delete") - @Operation(summary = "删除子样与检测方法配置") + @Operation(summary = "删除子样与分样检测方法配置表") @Parameter(name = "id", description = "编号", required = true) //@PreAuthorize("@ss.hasPermission('qms:config-sub-sample-method:delete')") public CommonResult deleteConfigSubSampleMethod(@RequestParam("id") Long id) { @@ -70,7 +70,7 @@ public class ConfigSubSampleMethodController implements BusinessControllerMarker @DeleteMapping("/delete-list") @Parameter(name = "ids", description = "编号", required = true) - @Operation(summary = "批量删除子样与检测方法配置") + @Operation(summary = "批量删除子样与分样检测方法配置表") //@PreAuthorize("@ss.hasPermission('qms:config-sub-sample-method:delete')") public CommonResult deleteConfigSubSampleMethodList(@RequestBody BatchDeleteReqVO req) { configSubSampleMethodService.deleteConfigSubSampleMethodListByIds(req.getIds()); @@ -78,7 +78,7 @@ public class ConfigSubSampleMethodController implements BusinessControllerMarker } @GetMapping("/get") - @Operation(summary = "获得子样与检测方法配置") + @Operation(summary = "获得子样与分样检测方法配置表") @Parameter(name = "id", description = "编号", required = true, example = "1024") //@PreAuthorize("@ss.hasPermission('qms:config-sub-sample-method:query')") public CommonResult getConfigSubSampleMethod(@RequestParam("id") Long id) { @@ -87,7 +87,7 @@ public class ConfigSubSampleMethodController implements BusinessControllerMarker } @GetMapping("/page") - @Operation(summary = "获得子样与检测方法配置分页") + @Operation(summary = "获得子样与分样检测方法配置表分页") //@PreAuthorize("@ss.hasPermission('qms:config-sub-sample-method:query')") public CommonResult> getConfigSubSampleMethodPage(@Valid ConfigSubSampleMethodPageReqVO pageReqVO) { PageResult pageResult = configSubSampleMethodService.getConfigSubSampleMethodPage(pageReqVO); @@ -95,7 +95,7 @@ public class ConfigSubSampleMethodController implements BusinessControllerMarker } @GetMapping("/export-excel") - @Operation(summary = "导出子样与检测方法配置 Excel") + @Operation(summary = "导出子样与分样检测方法配置表 Excel") //@PreAuthorize("@ss.hasPermission('qms:config-sub-sample-method:export')") @ApiAccessLog(operateType = EXPORT) public void exportConfigSubSampleMethodExcel(@Valid ConfigSubSampleMethodPageReqVO pageReqVO, @@ -103,7 +103,7 @@ public class ConfigSubSampleMethodController implements BusinessControllerMarker pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); List list = configSubSampleMethodService.getConfigSubSampleMethodPage(pageReqVO).getList(); // 导出 Excel - ExcelUtils.write(response, "子样与检测方法配置.xls", "数据", ConfigSubSampleMethodRespVO.class, + ExcelUtils.write(response, "子样与分样检测方法配置表.xls", "数据", ConfigSubSampleMethodRespVO.class, BeanUtils.toBean(list, ConfigSubSampleMethodRespVO.class)); } diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectExtendRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectExtendRespVO.java index 73e938d..627832e 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectExtendRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectExtendRespVO.java @@ -5,6 +5,12 @@ import lombok.Data; @Data public class ConfigAssayMethodProjectExtendRespVO extends ConfigAssayMethodProjectRespVO { + + @Schema(description = "分析方法名称") + private String configAssayMethodName; + + @Schema(description = "检测方法配置名称及类别") + private String configAssayMethodNameAndCategory; @Schema(description = "检测项目key") private String dictionaryProjectKey; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleMethodExtendRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleMethodExtendRespVO.java index c6a76e0..4fa4953 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleMethodExtendRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleMethodExtendRespVO.java @@ -5,6 +5,21 @@ import lombok.Data; @Data public class ConfigSubSampleMethodExtendRespVO extends ConfigSubSampleMethodRespVO { + + @Schema(description = "样品大类ID", example = "15082") + private Long baseSampleId; + + @Schema(description = "主样配置ID", example = "1906") + private Long configBaseSampleId; + + @Schema(description = "分样配置ID", example = "13652") + private Long configSubSampleParentId; + + @Schema(description = "分析方法id") + private Long configAssayMethodId; + + @Schema(description = "是否默认使用,1-是,0-否") + private Integer isDefaultUse; /** 分析方法名称 **/ @Schema(description = "分析方法名称") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleMethodPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleMethodPageReqVO.java index 8fd05b4..45c34ca 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleMethodPageReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleMethodPageReqVO.java @@ -9,18 +9,15 @@ import java.time.LocalDateTime; import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; -@Schema(description = "管理后台 - 子样与检测方法配置分页 Request VO") +@Schema(description = "管理后台 - 子样与分样检测方法配置表分页 Request VO") @Data public class ConfigSubSampleMethodPageReqVO extends PageParam { @Schema(description = "子样配置ID", example = "27079") private Long configSubSampleId; - @Schema(description = "检测方法配置ID", example = "30543") - private Long configAssayMethodId; - - @Schema(description = "是否默认使用,1-启用,0-不启用") - private Integer isDefaultUse; + @Schema(description = "分样与检测方法配置ID", example = "30543") + private Long configSubSampleParentMethodId; @Schema(description = "任务数", example = "27414") private Integer taskCount; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleMethodRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleMethodRespVO.java index 9b5f322..592360b 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleMethodRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleMethodRespVO.java @@ -7,7 +7,7 @@ import org.springframework.format.annotation.DateTimeFormat; import java.time.LocalDateTime; import com.alibaba.excel.annotation.*; -@Schema(description = "管理后台 - 子样与检测方法配置 Response VO") +@Schema(description = "管理后台 - 子样与分样检测方法配置表 Response VO") @Data @ExcelIgnoreUnannotated public class ConfigSubSampleMethodRespVO { @@ -20,13 +20,8 @@ public class ConfigSubSampleMethodRespVO { @ExcelProperty("子样配置ID") private Long configSubSampleId; - @Schema(description = "检测方法配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "30543") - @ExcelProperty("检测方法配置ID") - private Long configAssayMethodId; - - @Schema(description = "是否默认使用,1-启用,0-不启用", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("是否默认使用,1-启用,0-不启用") - private Integer isDefaultUse; + @Schema(description = "分样与检测方法配置ID", example = "30543") + private Long configSubSampleParentMethodId; @Schema(description = "任务数", example = "27414") @ExcelProperty("任务数") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleMethodSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleMethodSaveReqVO.java index 84f588c..41c82f4 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleMethodSaveReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleMethodSaveReqVO.java @@ -5,7 +5,7 @@ import lombok.*; import java.util.*; import jakarta.validation.constraints.*; -@Schema(description = "管理后台 - 子样与检测方法配置新增/修改 Request VO") +@Schema(description = "管理后台 - 子样与分样检测方法配置表新增/修改 Request VO") @Data public class ConfigSubSampleMethodSaveReqVO { @@ -16,13 +16,8 @@ public class ConfigSubSampleMethodSaveReqVO { @NotNull(message = "子样配置ID不能为空") private Long configSubSampleId; - @Schema(description = "检测方法配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "30543") - @NotNull(message = "检测方法配置ID不能为空") - private Long configAssayMethodId; - - @Schema(description = "是否默认使用,1-启用,0-不启用", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "是否默认使用,1-启用,0-不启用不能为空") - private Integer isDefaultUse; + @Schema(description = "分样与检测方法配置ID", example = "30543") + private Long configSubSampleParentMethodId; @Schema(description = "任务数", example = "27414") private Integer taskCount; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleParentMethodPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleParentMethodPageReqVO.java index 4fa8bd4..5224a48 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleParentMethodPageReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleParentMethodPageReqVO.java @@ -19,6 +19,9 @@ public class ConfigSubSampleParentMethodPageReqVO extends PageParam { @Schema(description = "检测方法配置ID", example = "24094") private Long configAssayMethodId; + @Schema(description = "是否默认使用,1-启用,0-不启用") + private Integer isDefaultUse; + @Schema(description = "结果处理方式,automatic-自动报出(不超差),manual-手动报出,modify-允许修改") private String resultTreatmentWay; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleParentMethodRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleParentMethodRespVO.java index 87dc823..abf91e7 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleParentMethodRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleParentMethodRespVO.java @@ -24,6 +24,9 @@ public class ConfigSubSampleParentMethodRespVO { @ExcelProperty("检测方法配置ID") private Long configAssayMethodId; + @Schema(description = "是否默认使用,1-启用,0-不启用") + private Integer isDefaultUse; + @Schema(description = "结果处理方式,automatic-自动报出(不超差),manual-手动报出,modify-允许修改") @ExcelProperty("结果处理方式,automatic-自动报出(不超差),manual-手动报出,modify-允许修改") private String resultTreatmentWay; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleParentMethodSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleParentMethodSaveReqVO.java index f13c75a..286fe81 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleParentMethodSaveReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleParentMethodSaveReqVO.java @@ -20,6 +20,9 @@ public class ConfigSubSampleParentMethodSaveReqVO { @NotNull(message = "检测方法配置ID不能为空") private Long configAssayMethodId; + @Schema(description = "是否默认使用,1-启用,0-不启用") + private Integer isDefaultUse; + @Schema(description = "结果处理方式,automatic-自动报出(不超差),manual-手动报出,modify-允许修改") private String resultTreatmentWay; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigSubSampleMethodDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigSubSampleMethodDO.java index 9cd6934..cf24b10 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigSubSampleMethodDO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigSubSampleMethodDO.java @@ -7,7 +7,7 @@ import java.util.*; import com.baomidou.mybatisplus.annotation.*; import com.zt.plat.framework.mybatis.core.dataobject.BusinessBaseDO; /** -* 子样与检测方法配置 DO +* 子样与分样检测方法配置表 DO * * @author 后台管理 */ @@ -37,15 +37,10 @@ public class ConfigSubSampleMethodDO extends BusinessBaseDO { @TableField("CFG_SB_SMP_ID") private Long configSubSampleId; /** - * 检测方法配置ID + * 分样与检测方法配置ID */ - @TableField("CFG_ASY_MTHD_ID") - private Long configAssayMethodId; - /** - * 是否默认使用,1-是,0-否 - */ - @TableField("IS_DFT_USE") - private Integer isDefaultUse; + @TableField("CFG_SB_SMP_PRN_MTHD_ID") + private Long configSubSampleParentMethodId; /** * 任务数 */ diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigSubSampleParentMethodDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigSubSampleParentMethodDO.java index 8fa3ebe..c4aecb3 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigSubSampleParentMethodDO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigSubSampleParentMethodDO.java @@ -42,6 +42,11 @@ public class ConfigSubSampleParentMethodDO extends BusinessBaseDO { @TableField("CFG_ASY_MTHD_ID") private Long configAssayMethodId; /** + * 是否默认使用,1-是,0-否 + */ + @TableField("IS_DFT_USE") + private Integer isDefaultUse; + /** * 结果处理方式,automatic-自动报出(不超差),manual-手动报出,modify-允许修改 */ @TableField("RSLT_TMT_WY") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigAssayMethodProjectMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigAssayMethodProjectMapper.java index 132c413..31c0345 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigAssayMethodProjectMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigAssayMethodProjectMapper.java @@ -7,6 +7,7 @@ import com.zt.plat.framework.mybatis.core.query.MPJLambdaWrapperX; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayProjectDataDO; import com.zt.plat.module.qms.business.config.controller.vo.*; import com.zt.plat.module.qms.business.config.controller.vo.ConfigAssayMethodProjectPageReqVO; +import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodDO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodProjectDO; import com.zt.plat.module.qms.business.dic.dal.dataobject.DictionaryProjectDO; import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; @@ -63,5 +64,27 @@ public interface ConfigAssayMethodProjectMapper extends BaseMapperX selectByConfigSubSampleIdsAndAssayDepartmentId(List configSubSampleIds, Long assayDepartmentId) { + StringBuilder inSql = new StringBuilder("SELECT tcssm.CFG_ASY_MTHD_ID FROM T_CFG_SB_SMP_MTHD tcssm WHERE tcssm.DELETED = 0 AND tcssm.CFG_SB_SMP_ID IN ("); + for (Long configSubSampleId : configSubSampleIds) { + inSql.append(configSubSampleId).append(","); + } + inSql.delete(inSql.length() - 1, inSql.length()); + inSql.append(")"); + return selectJoinList(ConfigAssayMethodProjectExtendRespVO.class, new MPJLambdaWrapperX() + .leftJoin(ConfigAssayMethodDO.class, ConfigAssayMethodDO::getId, ConfigAssayMethodProjectDO::getConfigAssayMethodId) + .selectAll(ConfigAssayMethodProjectDO.class) + .selectAs(ConfigAssayMethodDO::getName, ConfigAssayMethodProjectExtendRespVO::getConfigAssayMethodName) + .selectAs(ConfigAssayMethodDO::getMethodNameCategory, ConfigAssayMethodProjectExtendRespVO::getConfigAssayMethodNameAndCategory) + .eq(ConfigAssayMethodDO::getAssayDepartmentId, assayDepartmentId) + .inSql(ConfigAssayMethodProjectDO::getConfigAssayMethodId, inSql.toString())); + } } \ 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/config/dal/mapper/ConfigSubSampleMethodMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigSubSampleMethodMapper.java index 321b74d..15537ac 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigSubSampleMethodMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigSubSampleMethodMapper.java @@ -1,13 +1,14 @@ package com.zt.plat.module.qms.business.config.dal.mapper; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; import com.zt.plat.framework.mybatis.core.query.MPJLambdaWrapperX; import com.zt.plat.module.qms.business.config.controller.vo.*; import com.zt.plat.module.qms.business.config.controller.vo.ConfigSubSampleMethodPageReqVO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodDO; +import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigSubSampleDO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigSubSampleMethodDO; +import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigSubSampleParentMethodDO; import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; import java.util.List; @@ -15,7 +16,7 @@ import java.util.List; import org.apache.ibatis.annotations.Mapper; /** - * 子样与检测方法配置 Mapper + * 子样与分样检测方法配置表 Mapper * * @author 后台管理 */ @@ -25,8 +26,7 @@ public interface ConfigSubSampleMethodMapper extends BaseMapperX selectPage(ConfigSubSampleMethodPageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() .eqIfPresent(ConfigSubSampleMethodDO::getConfigSubSampleId, reqVO.getConfigSubSampleId()) - .eqIfPresent(ConfigSubSampleMethodDO::getConfigAssayMethodId, reqVO.getConfigAssayMethodId()) - .eqIfPresent(ConfigSubSampleMethodDO::getIsDefaultUse, reqVO.getIsDefaultUse()) + .eqIfPresent(ConfigSubSampleMethodDO::getConfigSubSampleParentMethodId, reqVO.getConfigSubSampleParentMethodId()) .eqIfPresent(ConfigSubSampleMethodDO::getTaskCount, reqVO.getTaskCount()) .eqIfPresent(ConfigSubSampleMethodDO::getResultTreatmentWay, reqVO.getResultTreatmentWay()) .eqIfPresent(ConfigSubSampleMethodDO::getAssessmentMethod, reqVO.getAssessmentMethod()) @@ -40,8 +40,11 @@ public interface ConfigSubSampleMethodMapper extends BaseMapperX selectByConfigSubSampleIdAndAssayDepartmentId(Long configSubSampleId, Long assayDepartmentId) { return selectJoinList(ConfigSubSampleMethodExtendRespVO.class, new MPJLambdaWrapperX() - .leftJoin(ConfigAssayMethodDO.class, ConfigAssayMethodDO::getId, ConfigSubSampleMethodDO::getConfigAssayMethodId) + .leftJoin(ConfigSubSampleParentMethodDO.class, ConfigSubSampleParentMethodDO::getId, ConfigSubSampleMethodDO::getConfigSubSampleParentMethodId) + .leftJoin(ConfigAssayMethodDO.class, ConfigAssayMethodDO::getId, ConfigSubSampleParentMethodDO::getConfigAssayMethodId) .selectAll(ConfigSubSampleMethodDO.class) + .selectAs(ConfigSubSampleParentMethodDO::getConfigAssayMethodId, ConfigSubSampleMethodExtendRespVO::getConfigAssayMethodId) + .selectAs(ConfigSubSampleParentMethodDO::getIsDefaultUse, ConfigSubSampleMethodExtendRespVO::getIsDefaultUse) .selectAs(ConfigAssayMethodDO::getName, ConfigSubSampleMethodExtendRespVO::getConfigAssayMethodName) .selectAs(ConfigAssayMethodDO::getMethodNameCategory, ConfigSubSampleMethodExtendRespVO::getConfigAssayMethodNameAndCategory) .selectAs(ConfigAssayMethodDO::getMethodCode, ConfigSubSampleMethodExtendRespVO::getConfigAssayMethodCode) @@ -49,20 +52,46 @@ public interface ConfigSubSampleMethodMapper extends BaseMapperX() + default ConfigSubSampleMethodExtendRespVO selectByConfigSubSampleIdAndConfigAssayMethodId(Long configSubSampleId, Long configAssayMethodId) { + return selectJoinOne(ConfigSubSampleMethodExtendRespVO.class, new MPJLambdaWrapperX() + .leftJoin(ConfigSubSampleParentMethodDO.class, ConfigSubSampleParentMethodDO::getId, ConfigSubSampleMethodDO::getConfigSubSampleParentMethodId) + .selectAll(ConfigSubSampleMethodDO.class) + .selectAs(ConfigSubSampleParentMethodDO::getConfigAssayMethodId, ConfigSubSampleMethodExtendRespVO::getConfigAssayMethodId) + .selectAs(ConfigSubSampleParentMethodDO::getIsDefaultUse, ConfigSubSampleMethodExtendRespVO::getIsDefaultUse) .eq(ConfigSubSampleMethodDO::getConfigSubSampleId, configSubSampleId) - .eq(ConfigSubSampleMethodDO::getConfigAssayMethodId, configAssayMethodId)); + .eq(ConfigSubSampleParentMethodDO::getConfigAssayMethodId, configAssayMethodId)); } - default List selectByConfigSubSampleIdsAndConfigAssayMethodId(List configSubSampleIds, Long configAssayMethodId) { - return selectList(new LambdaQueryWrapper() + default List selectByConfigSubSampleIdsAndConfigAssayMethodId(List configSubSampleIds, Long configAssayMethodId) { + return selectJoinList(ConfigSubSampleMethodExtendRespVO.class, new MPJLambdaWrapperX() + .leftJoin(ConfigSubSampleParentMethodDO.class, ConfigSubSampleParentMethodDO::getId, ConfigSubSampleMethodDO::getConfigSubSampleParentMethodId) + .selectAll(ConfigSubSampleMethodDO.class) + .selectAs(ConfigSubSampleParentMethodDO::getConfigAssayMethodId, ConfigSubSampleMethodExtendRespVO::getConfigAssayMethodId) + .selectAs(ConfigSubSampleParentMethodDO::getIsDefaultUse, ConfigSubSampleMethodExtendRespVO::getIsDefaultUse) .in(ConfigSubSampleMethodDO::getConfigSubSampleId, configSubSampleIds) - .eq(ConfigSubSampleMethodDO::getConfigAssayMethodId, configAssayMethodId)); + .eq(ConfigSubSampleParentMethodDO::getConfigAssayMethodId, configAssayMethodId)); } - default List selectByConfigSubSampleIds(List configSubSampleIds) { - return selectList(new LambdaQueryWrapper() + default List selectByConfigSubSampleIdsAndConfigAssayMethodIds(List configSubSampleIds, List configAssayMethodIds) { + return selectJoinList(ConfigSubSampleMethodExtendRespVO.class, new MPJLambdaWrapperX() + .leftJoin(ConfigSubSampleParentMethodDO.class, ConfigSubSampleParentMethodDO::getId, ConfigSubSampleMethodDO::getConfigSubSampleParentMethodId) + .leftJoin(ConfigSubSampleDO.class, ConfigSubSampleDO::getId, ConfigSubSampleMethodDO::getConfigSubSampleId) + .selectAll(ConfigSubSampleMethodDO.class) + .selectAs(ConfigSubSampleParentMethodDO::getConfigAssayMethodId, ConfigSubSampleMethodExtendRespVO::getConfigAssayMethodId) + .selectAs(ConfigSubSampleParentMethodDO::getIsDefaultUse, ConfigSubSampleMethodExtendRespVO::getIsDefaultUse) + .selectAs(ConfigSubSampleDO::getConfigSubSampleParentId, ConfigSubSampleMethodExtendRespVO::getConfigSubSampleParentId) + .selectAs(ConfigSubSampleDO::getConfigBaseSampleId, ConfigSubSampleMethodExtendRespVO::getConfigBaseSampleId) + .selectAs(ConfigSubSampleDO::getBaseSampleId, ConfigSubSampleMethodExtendRespVO::getBaseSampleId) + .in(ConfigSubSampleMethodDO::getConfigSubSampleId, configSubSampleIds) + .in(ConfigSubSampleParentMethodDO::getConfigAssayMethodId, configAssayMethodIds)); + } + + default List selectByConfigSubSampleIds(List configSubSampleIds) { + return selectJoinList(ConfigSubSampleMethodExtendRespVO.class, new MPJLambdaWrapperX() + .leftJoin(ConfigSubSampleParentMethodDO.class, ConfigSubSampleParentMethodDO::getId, ConfigSubSampleMethodDO::getConfigSubSampleParentMethodId) + .selectAll(ConfigSubSampleMethodDO.class) + .selectAs(ConfigSubSampleParentMethodDO::getConfigAssayMethodId, ConfigSubSampleMethodExtendRespVO::getConfigAssayMethodId) + .selectAs(ConfigSubSampleParentMethodDO::getIsDefaultUse, ConfigSubSampleMethodExtendRespVO::getIsDefaultUse) .in(ConfigSubSampleMethodDO::getConfigSubSampleId, configSubSampleIds)); } diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigSubSampleParentMethodMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigSubSampleParentMethodMapper.java index d52beca..817dece 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigSubSampleParentMethodMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigSubSampleParentMethodMapper.java @@ -20,6 +20,7 @@ public interface ConfigSubSampleParentMethodMapper extends BaseMapperX() .eqIfPresent(ConfigSubSampleParentMethodDO::getConfigSubSampleParentId, reqVO.getConfigSubSampleParentId()) .eqIfPresent(ConfigSubSampleParentMethodDO::getConfigAssayMethodId, reqVO.getConfigAssayMethodId()) + .eqIfPresent(ConfigSubSampleParentMethodDO::getIsDefaultUse, reqVO.getIsDefaultUse()) .eqIfPresent(ConfigSubSampleParentMethodDO::getResultTreatmentWay, reqVO.getResultTreatmentWay()) .eqIfPresent(ConfigSubSampleParentMethodDO::getCalculateMethod, reqVO.getCalculateMethod()) .eqIfPresent(ConfigSubSampleParentMethodDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode()) diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigSubSampleMethodService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigSubSampleMethodService.java index 720559d..a24b2b5 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigSubSampleMethodService.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigSubSampleMethodService.java @@ -12,14 +12,14 @@ import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.common.pojo.PageParam; /** - * 子样与检测方法配置 Service 接口 + * 子样与分样检测方法配置表 Service 接口 * * @author 后台管理 */ public interface ConfigSubSampleMethodService { /** - * 创建子样与检测方法配置 + * 创建子样与分样检测方法配置表 * * @param createReqVO 创建信息 * @return 编号 @@ -27,39 +27,39 @@ public interface ConfigSubSampleMethodService { ConfigSubSampleMethodRespVO createConfigSubSampleMethod(@Valid ConfigSubSampleMethodSaveReqVO createReqVO); /** - * 更新子样与检测方法配置 + * 更新子样与分样检测方法配置表 * * @param updateReqVO 更新信息 */ void updateConfigSubSampleMethod(@Valid ConfigSubSampleMethodSaveReqVO updateReqVO); /** - * 删除子样与检测方法配置 + * 删除子样与分样检测方法配置表 * * @param id 编号 */ void deleteConfigSubSampleMethod(Long id); /** - * 批量删除子样与检测方法配置 + * 批量删除子样与分样检测方法配置表 * * @param ids 编号 */ void deleteConfigSubSampleMethodListByIds(List ids); /** - * 获得子样与检测方法配置 + * 获得子样与分样检测方法配置表 * * @param id 编号 - * @return 子样与检测方法配置 + * @return 子样与分样检测方法配置表 */ ConfigSubSampleMethodDO getConfigSubSampleMethod(Long id); /** - * 获得子样与检测方法配置分页 + * 获得子样与分样检测方法配置表分页 * * @param pageReqVO 分页查询 - * @return 子样与检测方法配置分页 + * @return 子样与分样检测方法配置表分页 */ PageResult getConfigSubSampleMethodPage(ConfigSubSampleMethodPageReqVO pageReqVO); diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigSubSampleMethodServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigSubSampleMethodServiceImpl.java index 38c6d3c..20f8462 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigSubSampleMethodServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigSubSampleMethodServiceImpl.java @@ -21,7 +21,7 @@ import static com.zt.plat.framework.common.util.collection.CollectionUtils.conve import static com.zt.plat.module.qms.enums.ErrorCodeConstants.CONFIG_SUB_SAMPLE_METHOD_NOT_EXISTS; /** - * 子样与检测方法配置 Service 实现类 + * 子样与分样检测方法配置表 Service 实现类 * * @author 后台管理 */ diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/thirdpartyapi/service/AutoIngredientsServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/thirdpartyapi/service/AutoIngredientsServiceImpl.java index 90c6d10..7bd8d4f 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/thirdpartyapi/service/AutoIngredientsServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/thirdpartyapi/service/AutoIngredientsServiceImpl.java @@ -34,6 +34,7 @@ import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubSampleMapper; import com.zt.plat.module.qms.business.config.controller.vo.ConfigSubSampleMethodConfInfo; import com.zt.plat.module.qms.business.config.controller.vo.ConfigSubSampleMethodConfItem; import com.zt.plat.module.qms.business.config.controller.vo.ConfigSubSampleMethodConfPoint; +import com.zt.plat.module.qms.business.config.controller.vo.ConfigSubSampleMethodExtendRespVO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigSubSampleMethodDO; import com.zt.plat.module.qms.business.config.dal.mapper.ConfigSubSampleMethodMapper; import com.zt.plat.module.qms.enums.QmsCommonConstant; @@ -115,7 +116,7 @@ public class AutoIngredientsServiceImpl implements AutoIngredientsService { List configSubSampleIdList = list.stream().map(m -> m.getConfigSubSampleId()).distinct().collect(Collectors.toList()); //子样配置方法 - List configSubSampleMethodList = configSubSampleMethodMapper.selectByConfigSubSampleIdsAndConfigAssayMethodId(configSubSampleIdList, businessAssayTaskDO.getConfigAssayMethodId()); + List configSubSampleMethodList = configSubSampleMethodMapper.selectByConfigSubSampleIdsAndConfigAssayMethodId(configSubSampleIdList, businessAssayTaskDO.getConfigAssayMethodId()); //分析任务id列表 List businessAssayTaskDataIdList = list.stream().map(m -> m.getId()).collect(Collectors.toList()); @@ -135,7 +136,7 @@ public class AutoIngredientsServiceImpl implements AutoIngredientsService { //分析人员信息 AdminUserRespDTO user = userList.stream().filter(f -> f.getId().equals(m.getAssayOperatorId())).findFirst().orElse(null); //子样配置信息 - ConfigSubSampleMethodDO configSubSampleMethodDO = configSubSampleMethodList.stream().filter(f -> f.getConfigSubSampleId().equals(m.getConfigSubSampleId())).findFirst().orElse(null); + ConfigSubSampleMethodExtendRespVO configSubSampleMethodDO = configSubSampleMethodList.stream().filter(f -> f.getConfigSubSampleId().equals(m.getConfigSubSampleId())).findFirst().orElse(null); String configInfomation = configSubSampleMethodDO.getConfigInfomation(); //当前检测项目列表 List currentBusinessAssayProjectDataList = businessAssayProjectDataList.stream().filter(f -> f.getBusinessAssayTaskDataId().equals(m.getId())).collect(Collectors.toList()); @@ -196,7 +197,7 @@ public class AutoIngredientsServiceImpl implements AutoIngredientsService { //子样配置id列表 List configSubSampleIdList = businessSubSampleDOList.stream().map(m -> m.getConfigSubSampleId()).distinct().collect(Collectors.toList()); //子样配置方法 - List configSubSampleMethodList = configSubSampleMethodMapper.selectByConfigSubSampleIdsAndConfigAssayMethodId(configSubSampleIdList, businessAssayTaskDO.getConfigAssayMethodId()); + List configSubSampleMethodList = configSubSampleMethodMapper.selectByConfigSubSampleIdsAndConfigAssayMethodId(configSubSampleIdList, businessAssayTaskDO.getConfigAssayMethodId()); List businessAssayProjectDataList = businessAssayProjectDataMapper.selectByBusinessAssayTaskDataIds(businessAssayTaskDataIdList); List businessAssayProjectDataIdList = businessAssayProjectDataList.stream().map(m -> m.getId()).collect(Collectors.toList()); @@ -210,7 +211,7 @@ public class AutoIngredientsServiceImpl implements AutoIngredientsService { BusinessSubSampleDO businessSubSampleDO = businessSubSampleDOList.stream().filter(f -> f.getId().equals(businessAssayTaskDataDO.getBusinessSubSampleId())).findFirst().orElse(null); //子样配置信息 - ConfigSubSampleMethodDO configSubSampleMethodDO = configSubSampleMethodList.stream().filter(f -> f.getConfigSubSampleId().equals(businessSubSampleDO.getConfigSubSampleId())).findFirst().orElse(null); + ConfigSubSampleMethodExtendRespVO configSubSampleMethodDO = configSubSampleMethodList.stream().filter(f -> f.getConfigSubSampleId().equals(businessSubSampleDO.getConfigSubSampleId())).findFirst().orElse(null); String configInfomation = configSubSampleMethodDO.getConfigInfomation(); if (StringUtils.isNotBlank(configInfomation)) { ConfigSubSampleMethodConfInfo configSubSampleMethodConfInfo = JSON.parseObject(configInfomation, ConfigSubSampleMethodConfInfo.class); diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/thirdpartyapi/service/XRFDataServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/thirdpartyapi/service/XRFDataServiceImpl.java index 5dc4ee1..72402b3 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/thirdpartyapi/service/XRFDataServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/thirdpartyapi/service/XRFDataServiceImpl.java @@ -19,8 +19,6 @@ import com.zt.plat.framework.common.util.object.BeanUtils; import com.zt.plat.module.qms.business.bus.controller.vo.*; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayProjectDataDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDataDO; -import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCCoefficientDataDO; -import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCCoefficientParameterDataDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCManagementDataDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCManagementProjectDataDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessXRFDataDO; @@ -31,6 +29,7 @@ import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCCoefficientParam import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCManagementDataMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCManagementProjectDataMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessXRFDataMapper; +import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodProjectDO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigXRFConversionRateDO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigXRFLineDO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigXRFProjectDO; @@ -223,13 +222,22 @@ public class XRFDataServiceImpl implements XRFDataService { if(conYgElement.getDataType() != null && "decimal".equals(conYgElement.getDataType())) { conYgElementDataType = conYgElement.getDecimalPosition(); } - Long elementId = conYgElement.getDictionaryProjectId(); + Long elementId = conYgElement.getDictionaryProjectId(); List currBusElementValueList = tempBusElementValueList.stream().filter(f -> f.getDictionaryProjectId().equals(elementId) && f.getIsEnabled().equals(1)).collect(Collectors.toList()); + String symbol = "="; + String minimumLimitValue = ""; if (currBusElementValueList != null && currBusElementValueList.size() > 0) { for (BusinessAssayProjectDataExtendRespVO busElementValue : currBusElementValueList) { //化验数据小数精度四舍六入五单双 if("decimal".equals(busElementValue.getDataType())) { busElementValue.setValue(elementValue.setScale(busElementValue.getDecimalPosition(), RoundingMode.HALF_EVEN).toPlainString()); + if (elementValue.compareTo(new BigDecimal(busElementValue.getMinimumLimitValue())) < 0) { + symbol = "<"; + minimumLimitValue = busElementValue.getMinimumLimitValue(); + busElementValue.setValue(busElementValue.getMinimumLimitValue()); + } + busElementValue.setSymbol(symbol); + } else { busElementValue.setValue(elementValue.setScale(conYgElementDataType, RoundingMode.HALF_EVEN).toPlainString()); } @@ -245,6 +253,13 @@ public class XRFDataServiceImpl implements XRFDataService { //化验数据小数精度四舍六入五单双 if("decimal".equals(busElementValue.getDataType())) { busElementValue.setValue(elementValue.setScale(busElementValue.getDecimalPosition(), RoundingMode.HALF_EVEN).toPlainString()); + ConfigAssayMethodProjectDO configAssayMethodProjectDO = configAssayMethodProjectMapper.selectById(busElementValue.getConfigAssayMethodProjectId()); + if (elementValue.compareTo(new BigDecimal(configAssayMethodProjectDO.getMinimumLimitValue())) < 0) { + symbol = "<"; + minimumLimitValue = configAssayMethodProjectDO.getMinimumLimitValue(); + busElementValue.setValue(configAssayMethodProjectDO.getMinimumLimitValue()); + } + busElementValue.setSymbol(symbol); } else { busElementValue.setValue(elementValue.setScale(conYgElementDataType, RoundingMode.HALF_EVEN).toPlainString()); } @@ -258,13 +273,16 @@ public class XRFDataServiceImpl implements XRFDataService { reportFieldValueData.setFieldName(conYgElement.getSaveColumn()); reportFieldValueData.setFieldValue(elementValue.setScale(conYgElementDataType, RoundingMode.HALF_EVEN).toPlainString()); reportFieldValueData.setDecimalPosition(ygDeviceSampleElement.getValueDecimals()); - reportFieldValueData.setMathSymbol("="); + reportFieldValueData.setMathSymbol(symbol); + if ("<".equals(symbol)) { + reportFieldValueData.setFieldValue(minimumLimitValue); + } reportFieldValueData.setUnit(ygDeviceSampleElement.getXrfProjectUnit()); assayDataJson.put(conYgElement.getSaveColumn(), reportFieldValueData); } } - //循环元素修改流程节点 + //循环元素修改 for (BusinessAssayProjectDataExtendRespVO busElementValue : tempBusElementValueList) { boolean match = busElementValueList.stream().anyMatch(m -> m.getId().equals(busElementValue.getId())); if (!match) {//已经添加过的,不再添加 @@ -285,6 +303,13 @@ public class XRFDataServiceImpl implements XRFDataService { businessAssayTaskDataDOList.add(BeanUtils.toBean(businessAssayTaskData, BusinessAssayTaskDataDO.class)); } } + if (currBusinessQCManagementDataList != null && currBusinessQCManagementDataList.size() > 0) { + for (BusinessQCManagementDataDO businessQCManagementData : currBusinessQCManagementDataList) { + busYgData.setBusinessQCManagementDataId(businessQCManagementData.getId()); + busYgData.setIsMatched(QmsCommonConstant.YES); + } + } + busYgDataList.add(busYgData); } diff --git a/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayProjectDataMapper.xml b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayProjectDataMapper.xml index 4b6d82e..018e02a 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayProjectDataMapper.xml +++ b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayProjectDataMapper.xml @@ -9,4 +9,45 @@ 文档可见:https://www.iocoder.cn/MyBatis/x-plugins/ --> + \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskDataMapper.xml b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskDataMapper.xml index fa8d2c9..a357aa6 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskDataMapper.xml +++ b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskDataMapper.xml @@ -128,6 +128,8 @@ tbss.SMP_FLW_NDE_TM AS sampleFlowNodeTime, tbatd.BSN_SB_SMP_ID AS businessSubSampleId, tbatd.CFG_ASY_MTHD_ID AS configAssayMethodId, + tcam.NAME AS configAssayMethodName, + tcam.MTHD_NAME_CTGR AS configAssayMethodNameAndCategory, tbatd.ASY_TP AS assayType, tbatd.ASY_PRJ AS assayProject, tbatd.ASY_DEPT_ID AS assayDepartmentId, @@ -136,6 +138,8 @@ T_BSN_ASY_TSK_DAT tbatd LEFT JOIN T_BSN_SB_SMP tbss ON tbatd.BSN_SB_SMP_ID = tbss.ID + LEFT JOIN T_CFG_ASY_MTHD tcam ON + tbatd.CFG_ASY_MTHD_ID = tcam.ID WHERE tbatd.DELETED = 0 AND tbatd.IS_ASN_TSKD = 0 @@ -157,15 +161,23 @@ AND tbss.SMP_RTN_CD = #{reqVO.sampleReturnCode} - GROUP BY tbss.ID , - tbss.SMP_NAME , - tbss.SMP_CD , - tbss.SMP_ASY_CD , - tbss.SMP_RTN_CD , + + AND tbss.SMP_NAME like '%' || #{reqVO.sampleName} || '%' + + + AND tcam.MTHD_NAME_CTGR like '%' || #{reqVO.configAssayMethodNameAndCategory} || '%' + + GROUP BY tbss.ID, + tbss.SMP_NAME, + tbss.SMP_CD, + tbss.SMP_ASY_CD, + tbss.SMP_RTN_CD, tbss.SMP_FLW_NDE_TM, - tbatd.BSN_SB_SMP_ID , - tbatd.CFG_ASY_MTHD_ID , - tbatd.ASY_TP , + tbatd.BSN_SB_SMP_ID, + tbatd.CFG_ASY_MTHD_ID, + tcam.NAME, + tcam.MTHD_NAME_CTGR, + tbatd.ASY_TP, tbatd.ASY_PRJ, tbatd.ASY_DEPT_ID, tbatd.ASY_DEPT_NAME