任务分配修改

This commit is contained in:
2025-11-06 15:16:26 +08:00
parent 9eb42b930f
commit a3cd8a0a55
24 changed files with 528 additions and 198 deletions

View File

@@ -47,9 +47,9 @@ public class BusinessQCCoefficientDataController implements BusinessControllerMa
return success(businessQCCoefficientDataService.createBusinessQCCoefficientData(createReqVO)); return success(businessQCCoefficientDataService.createBusinessQCCoefficientData(createReqVO));
} }
@PutMapping("/update") @PostMapping("/update")
@Operation(summary = "更新质控样检测系数任务数据,空白样、标样") @Operation(summary = "更新质控样检测系数任务数据,空白样、标样")
@PreAuthorize("@ss.hasPermission('qms:business-QC-coefficient-data:update')") // @PreAuthorize("@ss.hasPermission('qms:business-QC-coefficient-data:update')")
public CommonResult<Boolean> updateBusinessQCCoefficientData(@Valid @RequestBody BusinessQCCoefficientDataSaveReqVO updateReqVO) { public CommonResult<Boolean> updateBusinessQCCoefficientData(@Valid @RequestBody BusinessQCCoefficientDataSaveReqVO updateReqVO) {
businessQCCoefficientDataService.updateBusinessQCCoefficientData(updateReqVO); businessQCCoefficientDataService.updateBusinessQCCoefficientData(updateReqVO);
return success(true); return success(true);
@@ -90,6 +90,14 @@ public class BusinessQCCoefficientDataController implements BusinessControllerMa
return success(BeanUtils.toBean(pageResult, BusinessQCCoefficientDataRespVO.class)); return success(BeanUtils.toBean(pageResult, BusinessQCCoefficientDataRespVO.class));
} }
@GetMapping("/list")
@Operation(summary = "获得质控样检测系数任务数据,空白样、标样分页")
// @PreAuthorize("@ss.hasPermission('qms:business-QC-coefficient-data:query')")
public CommonResult<List<BusinessQCCoefficientDataRespVO>> getBusinessQCCoefficientDataPage(@Valid BusinessQCCoefficientDataReqVO reqVO) {
List<BusinessQCCoefficientDataDO> pageResult = businessQCCoefficientDataService.getBusinessQCCoefficientDataList(reqVO);
return success(BeanUtils.toBean(pageResult, BusinessQCCoefficientDataRespVO.class));
}
@GetMapping("/export-excel") @GetMapping("/export-excel")
@Operation(summary = "导出质控样检测系数任务数据,空白样、标样 Excel") @Operation(summary = "导出质控样检测系数任务数据,空白样、标样 Excel")
@PreAuthorize("@ss.hasPermission('qms:business-QC-coefficient-data:export')") @PreAuthorize("@ss.hasPermission('qms:business-QC-coefficient-data:export')")

View File

@@ -47,9 +47,9 @@ public class BusinessQCManagementDataController implements BusinessControllerMar
return success(businessQCManagementDataService.createBusinessQCManagementData(createReqVO)); return success(businessQCManagementDataService.createBusinessQCManagementData(createReqVO));
} }
@PutMapping("/update") @PostMapping("/update")
@Operation(summary = "更新质控管理样检测任务数据,管理样、标准样") @Operation(summary = "更新质控管理样检测任务数据,管理样、标准样")
@PreAuthorize("@ss.hasPermission('qms:business-QC-management-data:update')") // @PreAuthorize("@ss.hasPermission('qms:business-QC-management-data:update')")
public CommonResult<Boolean> updateBusinessQCManagementData(@Valid @RequestBody BusinessQCManagementDataSaveReqVO updateReqVO) { public CommonResult<Boolean> updateBusinessQCManagementData(@Valid @RequestBody BusinessQCManagementDataSaveReqVO updateReqVO) {
businessQCManagementDataService.updateBusinessQCManagementData(updateReqVO); businessQCManagementDataService.updateBusinessQCManagementData(updateReqVO);
return success(true); return success(true);
@@ -90,6 +90,14 @@ public class BusinessQCManagementDataController implements BusinessControllerMar
return success(BeanUtils.toBean(pageResult, BusinessQCManagementDataRespVO.class)); return success(BeanUtils.toBean(pageResult, BusinessQCManagementDataRespVO.class));
} }
@GetMapping("/list")
@Operation(summary = "获得质控管理样检测任务数据,管理样、标准样列表")
// @PreAuthorize("@ss.hasPermission('qms:business-QC-management-data:query')")
public CommonResult<List<BusinessQCManagementDataRespVO>> getBusinessQCManagementDataList(@Valid BusinessQCManagementDataReqVO reqVO) {
List<BusinessQCManagementDataDO> pageResult = businessQCManagementDataService.getBusinessQCManagementDataList(reqVO);
return success(BeanUtils.toBean(pageResult, BusinessQCManagementDataRespVO.class));
}
@GetMapping("/export-excel") @GetMapping("/export-excel")
@Operation(summary = "导出质控管理样检测任务数据,管理样、标准样 Excel") @Operation(summary = "导出质控管理样检测任务数据,管理样、标准样 Excel")
@PreAuthorize("@ss.hasPermission('qms:business-QC-management-data:export')") @PreAuthorize("@ss.hasPermission('qms:business-QC-management-data:export')")

View File

@@ -0,0 +1,79 @@
package com.zt.plat.module.qms.business.bus.controller.vo;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import com.zt.plat.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
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")
@Data
public class BusinessQCCoefficientDataReqVO {
@Schema(description = "样品编号")
private String sampleCode;
@Schema(description = "样品名称", example = "赵六")
private String sampleName;
@Schema(description = "检测方法配置ID", example = "31198")
private Long configAssayMethodId;
@Schema(description = "指派单ID", example = "28147")
private Long businessAssayTaskId;
@Schema(description = "定值样业务ID", example = "5300")
private Long businessStandardSampleId;
@Schema(description = "质控类型_ID,字典表【T_DIC_BSN】质控类型空白样、管理样、标准样、标样", example = "21660")
private Long dictionaryBusinessId;
@Schema(description = "质控类型_Key,字典表【T_DIC_BSN】质控类型空白样、管理样、标准样、标样")
private String dictionaryBusinessKey;
@Schema(description = "检测项目")
private String assayProject;
@Schema(description = "分析部门ID", example = "12186")
private Long assayDepartmentId;
@Schema(description = "分析部门名称", example = "芋艿")
private String assayDepartmentName;
@Schema(description = "分析人")
private String assayOperator;
@Schema(description = "分配任务时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] assignTaskTime;
@Schema(description = "是否已分配任务")
private Integer isAssignTasked;
@Schema(description = "是否已上报")
private Integer isReported;
@Schema(description = "上报人")
private String reporter;
@Schema(description = "上报时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] reportTime;
@Schema(description = "乐观锁", example = "6160")
private Integer updateCount;
@Schema(description = "所属部门")
private String systemDepartmentCode;
@Schema(description = "创建时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime;
@Schema(description = "备注")
private String remark;
}

View File

@@ -37,8 +37,7 @@ public class BusinessQCCoefficientDataSaveReqVO {
@Schema(description = "质控类型_Key,字典表【T_DIC_BSN】质控类型空白样、管理样、标准样、标样") @Schema(description = "质控类型_Key,字典表【T_DIC_BSN】质控类型空白样、管理样、标准样、标样")
private String dictionaryBusinessKey; private String dictionaryBusinessKey;
@Schema(description = "检测项目", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "检测项目")
@NotEmpty(message = "检测项目不能为空")
private String assayProject; private String assayProject;
@Schema(description = "分析部门ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "12186") @Schema(description = "分析部门ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "12186")

View File

@@ -0,0 +1,79 @@
package com.zt.plat.module.qms.business.bus.controller.vo;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import com.zt.plat.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
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")
@Data
public class BusinessQCManagementDataReqVO {
@Schema(description = "样品编号")
private String sampleCode;
@Schema(description = "样品名称", example = "李四")
private String sampleName;
@Schema(description = "检测方法配置ID", example = "22240")
private Long configAssayMethodId;
@Schema(description = "指派单ID", example = "12452")
private Long businessAssayTaskId;
@Schema(description = "定值样业务ID", example = "29446")
private Long businessStandardSampleId;
@Schema(description = "质控类型_ID,字典表【T_DIC_BSN】质控类型空白样、管理样、标准样、标样", example = "512")
private Long dictionaryBusinessId;
@Schema(description = "质控类型_Key,字典表【T_DIC_BSN】质控类型空白样、管理样、标准样、标样")
private String dictionaryBusinessKey;
@Schema(description = "检测项目")
private String assayProject;
@Schema(description = "分析部门ID", example = "21281")
private Long assayDepartmentId;
@Schema(description = "分析部门名称", example = "赵六")
private String assayDepartmentName;
@Schema(description = "分析人")
private String assayOperator;
@Schema(description = "分配任务时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] assignTaskTime;
@Schema(description = "是否已分配任务")
private Integer isAssignTasked;
@Schema(description = "是否已上报")
private Integer isReported;
@Schema(description = "上报人")
private String reporter;
@Schema(description = "上报时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] reportTime;
@Schema(description = "乐观锁", example = "16695")
private Integer updateCount;
@Schema(description = "所属部门")
private String systemDepartmentCode;
@Schema(description = "创建时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime;
@Schema(description = "备注")
private String remark;
}

View File

@@ -18,8 +18,8 @@ public class CreateQcSampleReqVO {
@Schema(description = "定值样业务ID", example = "24895") @Schema(description = "定值样业务ID", example = "24895")
private Long businessStandardSampleId; private Long businessStandardSampleId;
@Schema(description = "质控样分析方法id") @Schema(description = "质控样配置方法id")
private Long configQCAssayMethodId; private Long configQCSampleMethodId;
@Schema(description = "质控类型_ID,字典表【T_DIC_BSN】质控类型空白样、管理样、标准样、标样", example = "9549") @Schema(description = "质控类型_ID,字典表【T_DIC_BSN】质控类型空白样、管理样、标准样、标样", example = "9549")
private Long dictionaryBusinessId; private Long dictionaryBusinessId;

View File

@@ -42,4 +42,34 @@ public interface BusinessQCCoefficientDataMapper extends BaseMapperX<BusinessQCC
.orderByDesc(BusinessQCCoefficientDataDO::getId)); .orderByDesc(BusinessQCCoefficientDataDO::getId));
} }
default List<BusinessQCCoefficientDataDO> selectList(BusinessQCCoefficientDataReqVO reqVO) {
return selectList(new LambdaQueryWrapperX<BusinessQCCoefficientDataDO>()
.eqIfPresent(BusinessQCCoefficientDataDO::getSampleCode, reqVO.getSampleCode())
.likeIfPresent(BusinessQCCoefficientDataDO::getSampleName, reqVO.getSampleName())
.eqIfPresent(BusinessQCCoefficientDataDO::getConfigAssayMethodId, reqVO.getConfigAssayMethodId())
.eqIfPresent(BusinessQCCoefficientDataDO::getBusinessAssayTaskId, reqVO.getBusinessAssayTaskId())
.eqIfPresent(BusinessQCCoefficientDataDO::getBusinessStandardSampleId, reqVO.getBusinessStandardSampleId())
.eqIfPresent(BusinessQCCoefficientDataDO::getDictionaryBusinessId, reqVO.getDictionaryBusinessId())
.eqIfPresent(BusinessQCCoefficientDataDO::getDictionaryBusinessKey, reqVO.getDictionaryBusinessKey())
.eqIfPresent(BusinessQCCoefficientDataDO::getAssayProject, reqVO.getAssayProject())
.eqIfPresent(BusinessQCCoefficientDataDO::getAssayDepartmentId, reqVO.getAssayDepartmentId())
.likeIfPresent(BusinessQCCoefficientDataDO::getAssayDepartmentName, reqVO.getAssayDepartmentName())
.eqIfPresent(BusinessQCCoefficientDataDO::getAssayOperator, reqVO.getAssayOperator())
.betweenIfPresent(BusinessQCCoefficientDataDO::getAssignTaskTime, reqVO.getAssignTaskTime())
.eqIfPresent(BusinessQCCoefficientDataDO::getIsAssignTasked, reqVO.getIsAssignTasked())
.eqIfPresent(BusinessQCCoefficientDataDO::getIsReported, reqVO.getIsReported())
.eqIfPresent(BusinessQCCoefficientDataDO::getReporter, reqVO.getReporter())
.betweenIfPresent(BusinessQCCoefficientDataDO::getReportTime, reqVO.getReportTime())
.eqIfPresent(BusinessQCCoefficientDataDO::getUpdateCount, reqVO.getUpdateCount())
.eqIfPresent(BusinessQCCoefficientDataDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode())
.betweenIfPresent(BusinessQCCoefficientDataDO::getCreateTime, reqVO.getCreateTime())
.eqIfPresent(BusinessQCCoefficientDataDO::getRemark, reqVO.getRemark())
.orderByDesc(BusinessQCCoefficientDataDO::getId));
}
default List<BusinessQCCoefficientDataDO> selectByBusinessAssayTaskId(Long businessAssayTaskId) {
return selectList(new LambdaQueryWrapperX<BusinessQCCoefficientDataDO>()
.eq(BusinessQCCoefficientDataDO::getBusinessAssayTaskId, businessAssayTaskId));
}
} }

View File

@@ -42,4 +42,29 @@ public interface BusinessQCManagementDataMapper extends BaseMapperX<BusinessQCMa
.orderByDesc(BusinessQCManagementDataDO::getId)); .orderByDesc(BusinessQCManagementDataDO::getId));
} }
default List<BusinessQCManagementDataDO> selectList(BusinessQCManagementDataReqVO reqVO) {
return selectList(new LambdaQueryWrapperX<BusinessQCManagementDataDO>()
.eqIfPresent(BusinessQCManagementDataDO::getSampleCode, reqVO.getSampleCode())
.likeIfPresent(BusinessQCManagementDataDO::getSampleName, reqVO.getSampleName())
.eqIfPresent(BusinessQCManagementDataDO::getConfigAssayMethodId, reqVO.getConfigAssayMethodId())
.eqIfPresent(BusinessQCManagementDataDO::getBusinessAssayTaskId, reqVO.getBusinessAssayTaskId())
.eqIfPresent(BusinessQCManagementDataDO::getBusinessStandardSampleId, reqVO.getBusinessStandardSampleId())
.eqIfPresent(BusinessQCManagementDataDO::getDictionaryBusinessId, reqVO.getDictionaryBusinessId())
.eqIfPresent(BusinessQCManagementDataDO::getDictionaryBusinessKey, reqVO.getDictionaryBusinessKey())
.eqIfPresent(BusinessQCManagementDataDO::getAssayProject, reqVO.getAssayProject())
.eqIfPresent(BusinessQCManagementDataDO::getAssayDepartmentId, reqVO.getAssayDepartmentId())
.likeIfPresent(BusinessQCManagementDataDO::getAssayDepartmentName, reqVO.getAssayDepartmentName())
.eqIfPresent(BusinessQCManagementDataDO::getAssayOperator, reqVO.getAssayOperator())
.betweenIfPresent(BusinessQCManagementDataDO::getAssignTaskTime, reqVO.getAssignTaskTime())
.eqIfPresent(BusinessQCManagementDataDO::getIsAssignTasked, reqVO.getIsAssignTasked())
.eqIfPresent(BusinessQCManagementDataDO::getIsReported, reqVO.getIsReported())
.eqIfPresent(BusinessQCManagementDataDO::getReporter, reqVO.getReporter())
.betweenIfPresent(BusinessQCManagementDataDO::getReportTime, reqVO.getReportTime())
.eqIfPresent(BusinessQCManagementDataDO::getUpdateCount, reqVO.getUpdateCount())
.eqIfPresent(BusinessQCManagementDataDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode())
.betweenIfPresent(BusinessQCManagementDataDO::getCreateTime, reqVO.getCreateTime())
.eqIfPresent(BusinessQCManagementDataDO::getRemark, reqVO.getRemark())
.orderByDesc(BusinessQCManagementDataDO::getId));
}
} }

View File

@@ -9,15 +9,13 @@ import cn.hutool.core.collection.CollUtil;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDO;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDataDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDataDO;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDetailDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDetailDO;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCDataDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCCoefficientDataDO;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCParameterDataDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCCoefficientParameterDataDO;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCProjectDataDO;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayTaskDataMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayTaskDataMapper;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayTaskDetailMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayTaskDetailMapper;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayTaskMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayTaskMapper;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCDataMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCCoefficientDataMapper;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCParameterDataMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCCoefficientParameterDataMapper;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCProjectDataMapper;
import com.zt.plat.module.qms.business.bus.liteflow.slot.SampleTaskAssignContext; import com.zt.plat.module.qms.business.bus.liteflow.slot.SampleTaskAssignContext;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
@@ -34,13 +32,10 @@ public class SampleTaskAssignDataSaveOrUpdateCmp extends NodeComponent {
private BusinessAssayTaskDataMapper businessAssayTaskDataMapper; private BusinessAssayTaskDataMapper businessAssayTaskDataMapper;
@Resource @Resource
private BusinessQCDataMapper businessQCDataMapper; private BusinessQCCoefficientDataMapper businessQCCoefficientDataMapper;
@Resource @Resource
private BusinessQCProjectDataMapper businessQCProjectDataMapper; private BusinessQCCoefficientParameterDataMapper businessQCCoefficientParameterDataMapper;
@Resource
private BusinessQCParameterDataMapper businessQCParameterDataMapper;
@Override @Override
public void process() throws Exception { public void process() throws Exception {
@@ -54,11 +49,9 @@ public class SampleTaskAssignDataSaveOrUpdateCmp extends NodeComponent {
List<BusinessAssayTaskDataDO> businessAssayTaskDataList = sampleTaskAssignContext.getBusinessAssayTaskDataList(); List<BusinessAssayTaskDataDO> businessAssayTaskDataList = sampleTaskAssignContext.getBusinessAssayTaskDataList();
List<BusinessQCDataDO> businessQCDataList = sampleTaskAssignContext.getBusinessQCDataList(); List<BusinessQCCoefficientDataDO> businessQCCoefficientDataList = sampleTaskAssignContext.getBusinessQCCoefficientDataList();
List<BusinessQCProjectDataDO> businessQCProjectDataList = sampleTaskAssignContext.getBusinessQCProjectDataList(); List<BusinessQCCoefficientParameterDataDO> businessQCCoefficientParameterDataList = sampleTaskAssignContext.getBusinessQCCoefficientParameterDataList();
List<BusinessQCParameterDataDO> businessQCParameterDataList = sampleTaskAssignContext.getBusinessQCParameterDataList();
if (CollUtil.isNotEmpty(savebusinessAssayTaskList)) { if (CollUtil.isNotEmpty(savebusinessAssayTaskList)) {
this.businessAssayTaskMapper.insertBatch(savebusinessAssayTaskList); this.businessAssayTaskMapper.insertBatch(savebusinessAssayTaskList);
@@ -76,16 +69,12 @@ public class SampleTaskAssignDataSaveOrUpdateCmp extends NodeComponent {
this.businessAssayTaskDataMapper.updateBatch(businessAssayTaskDataList); this.businessAssayTaskDataMapper.updateBatch(businessAssayTaskDataList);
} }
if (CollUtil.isNotEmpty(businessQCDataList)) { if (CollUtil.isNotEmpty(businessQCCoefficientDataList)) {
this.businessQCDataMapper.insertBatch(businessQCDataList); this.businessQCCoefficientDataMapper.insertBatch(businessQCCoefficientDataList);
} }
if (CollUtil.isNotEmpty(businessQCProjectDataList)) { if (CollUtil.isNotEmpty(businessQCCoefficientParameterDataList)) {
this.businessQCProjectDataMapper.insertBatch(businessQCProjectDataList); this.businessQCCoefficientParameterDataMapper.insertBatch(businessQCCoefficientParameterDataList);
}
if (CollUtil.isNotEmpty(businessQCParameterDataList)) {
this.businessQCParameterDataMapper.insertBatch(businessQCParameterDataList);
} }
} }

View File

@@ -1,29 +1,27 @@
package com.zt.plat.module.qms.business.bus.liteflow.sample.taskassign; package com.zt.plat.module.qms.business.bus.liteflow.sample.taskassign;
import java.time.LocalDateTime;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import com.baomidou.mybatisplus.core.toolkit.IdWorker; import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.yomahub.liteflow.annotation.LiteflowComponent; import com.yomahub.liteflow.annotation.LiteflowComponent;
import com.yomahub.liteflow.core.NodeComponent; import com.yomahub.liteflow.core.NodeComponent;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDO;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCDataDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCCoefficientDataDO;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCParameterDataDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCCoefficientParameterDataDO;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCProjectDataDO; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCCoefficientDataMapper;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCDataMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCCoefficientParameterDataMapper;
import com.zt.plat.module.qms.business.bus.liteflow.slot.SampleTaskAssignContext; import com.zt.plat.module.qms.business.bus.liteflow.slot.SampleTaskAssignContext;
import com.zt.plat.module.qms.business.config.controller.vo.ConfigAssayMethodProjectExtendRespVO;
import com.zt.plat.module.qms.business.config.controller.vo.ConfigQCSampleMethodExtendRespVO; import com.zt.plat.module.qms.business.config.controller.vo.ConfigQCSampleMethodExtendRespVO;
import com.zt.plat.module.qms.business.config.controller.vo.ConfigQCSampleMethodParameterExtendRespVO;
import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodDO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodDO;
import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodProjectParameterDO;
import com.zt.plat.module.qms.business.config.dal.mapper.ConfigAssayMethodMapper; import com.zt.plat.module.qms.business.config.dal.mapper.ConfigAssayMethodMapper;
import com.zt.plat.module.qms.business.config.dal.mapper.ConfigAssayMethodProjectMapper; import com.zt.plat.module.qms.business.config.dal.mapper.ConfigAssayMethodProjectMapper;
import com.zt.plat.module.qms.business.config.dal.mapper.ConfigAssayMethodProjectParameterMapper; import com.zt.plat.module.qms.business.config.dal.mapper.ConfigAssayMethodProjectParameterMapper;
import com.zt.plat.module.qms.business.config.dal.mapper.ConfigQCSampleMethodMapper; import com.zt.plat.module.qms.business.config.dal.mapper.ConfigQCSampleMethodMapper;
import com.zt.plat.module.qms.business.config.dal.mapper.ConfigQCSampleMethodParameterMapper;
import com.zt.plat.module.qms.core.code.SequenceUtil; import com.zt.plat.module.qms.core.code.SequenceUtil;
import com.zt.plat.module.qms.enums.QmsCommonConstant; import com.zt.plat.module.qms.enums.QmsCommonConstant;
@@ -42,22 +40,27 @@ public class SampleTaskAssignQCSampleCmp extends NodeComponent {
@Resource @Resource
private ConfigQCSampleMethodMapper configQCSampleMethodMapper; private ConfigQCSampleMethodMapper configQCSampleMethodMapper;
@Resource
private ConfigQCSampleMethodParameterMapper configQCSampleMethodParameterMapper;
@Resource @Resource
private ConfigAssayMethodProjectMapper configAssayMethodProjectMapper; private ConfigAssayMethodProjectMapper configAssayMethodProjectMapper;
@Resource @Resource
private ConfigAssayMethodProjectParameterMapper configAssayMethodProjectParameterMapper; private ConfigAssayMethodProjectParameterMapper configAssayMethodProjectParameterMapper;
@Resource
private BusinessQCCoefficientDataMapper businessQCCoefficientDataMapper;
@Resource @Resource
private BusinessQCDataMapper businessQCDataMapper; private BusinessQCCoefficientParameterDataMapper businessQCCoefficientParameterDataMapper;
@Override @Override
public void process() throws Exception { public void process() throws Exception {
SampleTaskAssignContext sampleTaskAssignContext = this.getContextBean(SampleTaskAssignContext.class); SampleTaskAssignContext sampleTaskAssignContext = this.getContextBean(SampleTaskAssignContext.class);
List<BusinessQCDataDO> businessQCDataDOList = new ArrayList<>(); List<BusinessQCCoefficientDataDO> businessQCCoefficientDataDOList = new ArrayList<>();
List<BusinessQCProjectDataDO> businessQCProjectDataDOList = new ArrayList<>(); List<BusinessQCCoefficientParameterDataDO> businessQCCoefficientParameterDataDOList = new ArrayList<>();
List<BusinessQCParameterDataDO> businessQCParameterDataDOList = new ArrayList<>();
//分配任务 //分配任务
List<BusinessAssayTaskDO> businessAssayTaskList = new ArrayList<>(); List<BusinessAssayTaskDO> businessAssayTaskList = new ArrayList<>();
@@ -73,90 +76,67 @@ public class SampleTaskAssignQCSampleCmp extends NodeComponent {
//获取分析方法对应的质控分析配置 //获取分析方法对应的质控分析配置
List<ConfigQCSampleMethodExtendRespVO> configQCSampleMethodList = configQCSampleMethodMapper.selectByConfigAssayMethodIds(configAssayMethodIdList); List<ConfigQCSampleMethodExtendRespVO> configQCSampleMethodList = configQCSampleMethodMapper.selectByConfigAssayMethodIds(configAssayMethodIdList);
if (configQCSampleMethodList == null) {//如果未配置质控样品方法,则直接返回 if (CollUtil.isEmpty(configQCSampleMethodList)) {//如果未配置质控样品方法,则直接返回
return; return;
} }
//获取质控分析方法id列表 //质控id
List<Long> configQCAssayMethodIdList = configQCSampleMethodList.stream().map(m -> m.getConfigQCAssayMethodId()).distinct().collect(Collectors.toList()); List<Long> configQCSampleMethodIdList = configQCSampleMethodList.stream().map(m -> m.getId()).collect(Collectors.toList());
//获取质控分析方法 //质控分析参数
List<ConfigAssayMethodDO> configAssayMethodList = configAssayMethodMapper.selectByIds(configQCAssayMethodIdList); List<ConfigQCSampleMethodParameterExtendRespVO> configQcSampleMethodParameterList = configQCSampleMethodParameterMapper.selectByConfigQCSampleMethodIds(configQCSampleMethodIdList);
//获取质控分析方法检测项目
List<ConfigAssayMethodProjectExtendRespVO> configAssayMethodProjectList = configAssayMethodProjectMapper.selectByConfigAssayMethodIds(configQCAssayMethodIdList);
//获取质控分析方法检测项目参数
List<ConfigAssayMethodProjectParameterDO> configAssayMethodProjectParameterList = configAssayMethodProjectParameterMapper.selectByConfigAssayMethodIds(configQCAssayMethodIdList);
//循环分配任务 //循环分配任务
for (BusinessAssayTaskDO businessAssayTaskDO : businessAssayTaskList) { for (BusinessAssayTaskDO businessAssayTaskDO : businessAssayTaskList) {
ConfigQCSampleMethodExtendRespVO configQCSampleMethodExtendRespVO = configQCSampleMethodList.stream().filter(f -> f.getConfigAssayMethodId().equals(businessAssayTaskDO.getConfigAssayMethodId()) && "kby".equals(f.getDictionaryBusinessKey())).findFirst().orElse(null); ConfigQCSampleMethodExtendRespVO configQCSampleMethodExtendRespVO = configQCSampleMethodList.stream().filter(f -> f.getConfigAssayMethodId().equals(businessAssayTaskDO.getConfigAssayMethodId()) && "kby".equals(f.getDictionaryBusinessKey())).findFirst().orElse(null);
ConfigAssayMethodDO configAssayMethodDO = configAssayMethodList.stream().filter(f -> f.getId().equals(configQCSampleMethodExtendRespVO.getConfigQCAssayMethodId())).findFirst().orElse(null);
String assayProject = configAssayMethodProjectList.stream().filter(f -> f.getConfigAssayMethodId().equals(configAssayMethodDO.getId())).map(m -> m.getShowName()).collect(Collectors.joining(",")); ConfigAssayMethodDO configAssayMethodDO = configAssayMethodMapper.selectById(businessAssayTaskDO.getConfigAssayMethodId());
//查询下质控数据,如果存在则跳出循环 //查询下质控数据,如果存在则跳出循环
List<BusinessQCDataDO> businessQCDataList = businessQCDataMapper.selectByBusinessAssayTaskId(businessAssayTaskDO.getId()); List<BusinessQCCoefficientDataDO> businessQCCoefficientDataList = businessQCCoefficientDataMapper.selectByBusinessAssayTaskId(businessAssayTaskDO.getId());
//如果存在则跳出循环 //如果存在则跳出循环
if (CollUtil.isNotEmpty(businessQCDataList)) { if (CollUtil.isNotEmpty(businessQCCoefficientDataList)) {
break; break;
} }
//根据默认配置的个数生成空白样 //根据默认配置的个数生成空白样
for (int i = 0; i < configQCSampleMethodExtendRespVO.getDefaultCount(); i++) { for (int i = 0; i < configQCSampleMethodExtendRespVO.getDefaultCount(); i++) {
BusinessQCDataDO businessQCDataDO = new BusinessQCDataDO(); BusinessQCCoefficientDataDO businessQCCoefficientDataDO = new BusinessQCCoefficientDataDO();
businessQCDataDO.setId(IdWorker.getId()); businessQCCoefficientDataDO.setId(IdWorker.getId());
businessQCDataDO.setBusinessAssayTaskId(businessAssayTaskDO.getId()); businessQCCoefficientDataDO.setBusinessAssayTaskId(businessAssayTaskDO.getId());
businessQCDataDO.setConfigAssayMethodId(configQCSampleMethodExtendRespVO.getConfigQCAssayMethodId()); businessQCCoefficientDataDO.setConfigAssayMethodId(configQCSampleMethodExtendRespVO.getConfigAssayMethodId());
businessQCDataDO.setSampleName(configQCSampleMethodExtendRespVO.getDictionaryBusinessName()); businessQCCoefficientDataDO.setSampleName(configQCSampleMethodExtendRespVO.getDictionaryBusinessName());
if (StringUtils.isNotBlank(configQCSampleMethodExtendRespVO.getCodeRule())) { if (StringUtils.isNotBlank(configQCSampleMethodExtendRespVO.getCodeRule())) {
String codeSample = sequenceUtil.genCode(configQCSampleMethodExtendRespVO.getCodeRule()); String codeSample = sequenceUtil.genCode(configQCSampleMethodExtendRespVO.getCodeRule());
businessQCDataDO.setSampleCode(codeSample); businessQCCoefficientDataDO.setSampleCode(codeSample);
} }
businessQCDataDO.setDictionaryBusinessId(configQCSampleMethodExtendRespVO.getDictionaryBusinessId()); businessQCCoefficientDataDO.setDictionaryBusinessId(configQCSampleMethodExtendRespVO.getDictionaryBusinessId());
businessQCDataDO.setDictionaryBusinessKey(configQCSampleMethodExtendRespVO.getDictionaryBusinessKey()); businessQCCoefficientDataDO.setDictionaryBusinessKey(configQCSampleMethodExtendRespVO.getDictionaryBusinessKey());
businessQCDataDO.setAssayDepartmentId(configAssayMethodDO.getAssayDepartmentId()); businessQCCoefficientDataDO.setAssayDepartmentId(configAssayMethodDO.getAssayDepartmentId());
businessQCDataDO.setAssayDepartmentName(configAssayMethodDO.getAssayDepartmentName()); businessQCCoefficientDataDO.setAssayDepartmentName(configAssayMethodDO.getAssayDepartmentName());
businessQCDataDO.setAssayOperator(businessAssayTaskDO.getAssayOperator()); businessQCCoefficientDataDO.setAssayOperator(businessAssayTaskDO.getAssayOperator());
businessQCDataDO.setAssayProject(assayProject); businessQCCoefficientDataDO.setAssayProject("");
businessQCDataDO.setAssignTaskTime(businessAssayTaskDO.getTaskAssignTime()); businessQCCoefficientDataDO.setAssignTaskTime(businessAssayTaskDO.getTaskAssignTime());
businessQCDataDO.setIsAssignTasked(QmsCommonConstant.YES); businessQCCoefficientDataDO.setIsAssignTasked(QmsCommonConstant.YES);
businessQCDataDO.setIsReported(QmsCommonConstant.NO); businessQCCoefficientDataDO.setIsReported(QmsCommonConstant.NO);
businessQCDataDOList.add(businessQCDataDO); businessQCCoefficientDataDOList.add(businessQCCoefficientDataDO);
List<ConfigAssayMethodProjectExtendRespVO> configAssayMethodProjectExtendRespList = configAssayMethodProjectList.stream().filter(f -> f.getConfigAssayMethodId().equals(configAssayMethodDO.getId())).collect(Collectors.toList()); List<ConfigQCSampleMethodParameterExtendRespVO> configQCSampleMethodParameterExtendRespVOs = configQcSampleMethodParameterList.stream().filter(f -> f.getConfigQCSampleMethodId().equals(configQCSampleMethodExtendRespVO.getId())).collect(Collectors.toList());
for (ConfigAssayMethodProjectExtendRespVO configAssayMethodProjectExtendRespVO : configAssayMethodProjectExtendRespList) { for (ConfigQCSampleMethodParameterExtendRespVO configQCSampleMethodParameterExtendRespVO : configQCSampleMethodParameterExtendRespVOs) {
BusinessQCProjectDataDO businessQCProjectDataDO = new BusinessQCProjectDataDO(); BusinessQCCoefficientParameterDataDO businessQCCoefficientParameterDataDO = new BusinessQCCoefficientParameterDataDO();
businessQCProjectDataDO.setId(IdWorker.getId()); businessQCCoefficientParameterDataDO.setBusinessQCCoefficientDataId(businessQCCoefficientDataDO.getId());
businessQCProjectDataDO.setBusinessQCDataId(businessQCDataDO.getId()); businessQCCoefficientParameterDataDO.setConfigQCSampleMethodParameterId(configQCSampleMethodParameterExtendRespVO.getId());
businessQCProjectDataDO.setConfigAssayMethodProjectId(configAssayMethodProjectExtendRespVO.getId()); businessQCCoefficientParameterDataDO.setDictionaryParameterId(configQCSampleMethodParameterExtendRespVO.getDictionaryParameterId());
businessQCProjectDataDO.setDictionaryProjectId(configAssayMethodProjectExtendRespVO.getDictionaryProjectId()); businessQCCoefficientParameterDataDO.setDataType(configQCSampleMethodParameterExtendRespVO.getDataType());
businessQCProjectDataDO.setUsage(QmsCommonConstant.ASSAY_PROJECT_USAGE_QUALITY_CONTROL); businessQCCoefficientParameterDataDO.setDecimalPosition(configQCSampleMethodParameterExtendRespVO.getDecimalPosition());
businessQCProjectDataDO.setSymbol("="); businessQCCoefficientParameterDataDO.setValue(configQCSampleMethodParameterExtendRespVO.getDefaultValue());
businessQCProjectDataDO.setDataType(configAssayMethodProjectExtendRespVO.getDataType());
businessQCProjectDataDO.setDecimalPosition(configAssayMethodProjectExtendRespVO.getDecimalPosition());
businessQCProjectDataDO.setIsEnabled(configAssayMethodProjectExtendRespVO.getIsDefaultEnabled());
businessQCProjectDataDOList.add(businessQCProjectDataDO);
List<ConfigAssayMethodProjectParameterDO> configAssayMethodProjectParameterDoList = configAssayMethodProjectParameterList.stream().filter(f -> f.getConfigAssayMethodProjectId().equals(configAssayMethodProjectExtendRespVO.getId())).collect(Collectors.toList());
for (ConfigAssayMethodProjectParameterDO configAssayMethodProjectParameterDO : configAssayMethodProjectParameterDoList) {
BusinessQCParameterDataDO businessQCParameterDataDO = new BusinessQCParameterDataDO();
businessQCParameterDataDO.setBusinessQCProjectDataId(businessQCProjectDataDO.getId());
businessQCParameterDataDO.setConfigAssayMethodProjectParameterId(configAssayMethodProjectParameterDO.getId());
businessQCParameterDataDO.setDictionaryParameterId(configAssayMethodProjectParameterDO.getDictionaryParameterId());
businessQCParameterDataDO.setDataType(configAssayMethodProjectParameterDO.getDataType());
businessQCParameterDataDO.setDecimalPosition(configAssayMethodProjectParameterDO.getDecimalPosition());
businessQCParameterDataDOList.add(businessQCParameterDataDO);
}
businessQCCoefficientParameterDataDOList.add(businessQCCoefficientParameterDataDO);
} }
} }
} }
sampleTaskAssignContext.setBusinessQCDataList(businessQCDataDOList); sampleTaskAssignContext.setBusinessQCCoefficientDataList(businessQCCoefficientDataDOList);
sampleTaskAssignContext.setBusinessQCProjectDataList(businessQCProjectDataDOList); sampleTaskAssignContext.setBusinessQCCoefficientParameterDataList(businessQCCoefficientParameterDataDOList);
sampleTaskAssignContext.setBusinessQCParameterDataList(businessQCParameterDataDOList);
} }

View File

@@ -8,9 +8,8 @@ import com.zt.plat.framework.security.core.LoginUser;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDO;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDataDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDataDO;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDetailDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDetailDO;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCDataDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCCoefficientDataDO;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCParameterDataDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCCoefficientParameterDataDO;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCProjectDataDO;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleDO;
import com.zt.plat.module.qms.business.bus.liteflow.param.AssignAssayUser; import com.zt.plat.module.qms.business.bus.liteflow.param.AssignAssayUser;
import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodDO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodDO;
@@ -85,13 +84,10 @@ public class SampleTaskAssignContext {
/** 任务指派的明细列表 **/ /** 任务指派的明细列表 **/
private List<BusinessAssayTaskDetailDO> businessAssayTaskDetailList; private List<BusinessAssayTaskDetailDO> businessAssayTaskDetailList;
/** 质控样品数据 **/ /** 质控样-(空白、标准) **/
private List<BusinessQCDataDO> businessQCDataList; private List<BusinessQCCoefficientDataDO> businessQCCoefficientDataList;
/** 质控样检测项目数据 **/ /** 质控样-(空白、标准)检测参数数据 **/
private List<BusinessQCProjectDataDO> businessQCProjectDataList; private List<BusinessQCCoefficientParameterDataDO> businessQCCoefficientParameterDataList;
/** 质控样检测项目参数数据 **/
private List<BusinessQCParameterDataDO> businessQCParameterDataList;
} }

View File

@@ -59,4 +59,6 @@ public interface BusinessQCCoefficientDataService {
*/ */
PageResult<BusinessQCCoefficientDataDO> getBusinessQCCoefficientDataPage(BusinessQCCoefficientDataPageReqVO pageReqVO); PageResult<BusinessQCCoefficientDataDO> getBusinessQCCoefficientDataPage(BusinessQCCoefficientDataPageReqVO pageReqVO);
List<BusinessQCCoefficientDataDO> getBusinessQCCoefficientDataList(BusinessQCCoefficientDataReqVO reqVO);
} }

View File

@@ -88,4 +88,9 @@ public class BusinessQCCoefficientDataServiceImpl implements BusinessQCCoefficie
return businessQCCoefficientDataMapper.selectPage(pageReqVO); return businessQCCoefficientDataMapper.selectPage(pageReqVO);
} }
@Override
public List<BusinessQCCoefficientDataDO> getBusinessQCCoefficientDataList(BusinessQCCoefficientDataReqVO reqVO) {
return businessQCCoefficientDataMapper.selectList(reqVO);
}
} }

View File

@@ -59,4 +59,6 @@ public interface BusinessQCManagementDataService {
*/ */
PageResult<BusinessQCManagementDataDO> getBusinessQCManagementDataPage(BusinessQCManagementDataPageReqVO pageReqVO); PageResult<BusinessQCManagementDataDO> getBusinessQCManagementDataPage(BusinessQCManagementDataPageReqVO pageReqVO);
List<BusinessQCManagementDataDO> getBusinessQCManagementDataList(BusinessQCManagementDataReqVO reqVO);
} }

View File

@@ -88,4 +88,9 @@ public class BusinessQCManagementDataServiceImpl implements BusinessQCManagement
return businessQCManagementDataMapper.selectPage(pageReqVO); return businessQCManagementDataMapper.selectPage(pageReqVO);
} }
@Override
public List<BusinessQCManagementDataDO> getBusinessQCManagementDataList(BusinessQCManagementDataReqVO reqVO) {
return businessQCManagementDataMapper.selectList(reqVO);
}
} }

View File

@@ -31,7 +31,12 @@ import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayReportDat
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDO;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDataDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDataDO;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDetailDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDetailDO;
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.BusinessQCDataDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCDataDO;
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.BusinessQCParameterDataDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCParameterDataDO;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCProjectDataDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCProjectDataDO;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleDO;
@@ -41,7 +46,12 @@ import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayReportDataMap
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayTaskDataMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayTaskDataMapper;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayTaskDetailMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayTaskDetailMapper;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayTaskMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayTaskMapper;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCCoefficientDataMapper;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCCoefficientParameterDataMapper;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCDataMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCDataMapper;
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.BusinessQCParameterDataMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCParameterDataMapper;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCProjectDataMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCProjectDataMapper;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubSampleMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubSampleMapper;
@@ -50,6 +60,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.liteflow.param.SampleTaskAssignSampleParam;
import com.zt.plat.module.qms.business.bus.liteflow.slot.SampleTaskAssignContext; import com.zt.plat.module.qms.business.bus.liteflow.slot.SampleTaskAssignContext;
import com.zt.plat.module.qms.business.config.controller.vo.ConfigAssayMethodProjectExtendRespVO; import com.zt.plat.module.qms.business.config.controller.vo.ConfigAssayMethodProjectExtendRespVO;
import com.zt.plat.module.qms.business.config.controller.vo.ConfigQCSampleMethodExtendRespVO;
import com.zt.plat.module.qms.business.config.controller.vo.ConfigQCSampleMethodParameterExtendRespVO;
import com.zt.plat.module.qms.business.config.controller.vo.ConfigSubSampleMethodExtendRespVO; 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.ConfigAssayMethodDO;
import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodProjectDO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodProjectDO;
@@ -57,6 +69,8 @@ import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodPr
import com.zt.plat.module.qms.business.config.dal.mapper.ConfigAssayMethodMapper; import com.zt.plat.module.qms.business.config.dal.mapper.ConfigAssayMethodMapper;
import com.zt.plat.module.qms.business.config.dal.mapper.ConfigAssayMethodProjectMapper; import com.zt.plat.module.qms.business.config.dal.mapper.ConfigAssayMethodProjectMapper;
import com.zt.plat.module.qms.business.config.dal.mapper.ConfigAssayMethodProjectParameterMapper; import com.zt.plat.module.qms.business.config.dal.mapper.ConfigAssayMethodProjectParameterMapper;
import com.zt.plat.module.qms.business.config.dal.mapper.ConfigQCSampleMethodMapper;
import com.zt.plat.module.qms.business.config.dal.mapper.ConfigQCSampleMethodParameterMapper;
import com.zt.plat.module.qms.business.config.dal.mapper.ConfigSubSampleMethodMapper; import com.zt.plat.module.qms.business.config.dal.mapper.ConfigSubSampleMethodMapper;
import com.zt.plat.module.qms.business.dic.dal.mapper.DictionaryProjectMapper; import com.zt.plat.module.qms.business.dic.dal.mapper.DictionaryProjectMapper;
import com.zt.plat.module.qms.core.code.SequenceUtil; import com.zt.plat.module.qms.core.code.SequenceUtil;
@@ -121,13 +135,25 @@ public class SampleTaskAssignServiceImpl implements SampleTaskAssignService {
private DictionaryProjectMapper dictionaryProjectMapper; private DictionaryProjectMapper dictionaryProjectMapper;
@Resource @Resource
private BusinessQCDataMapper businessQCDataMapper; private ConfigQCSampleMethodMapper configQCSampleMethodMapper;
@Resource @Resource
private BusinessQCProjectDataMapper businessQCProjectDataMapper; private ConfigQCSampleMethodParameterMapper configQCSampleMethodParameterMapper;
@Resource @Resource
private BusinessQCParameterDataMapper businessQCParameterDataMapper; private BusinessQCCoefficientDataMapper businessQCCoefficientDataMapper;
@Resource
private BusinessQCCoefficientParameterDataMapper businessQCCoefficientParameterDataMapper;
@Resource
private BusinessQCManagementDataMapper businessQCManagementDataMapper;
@Resource
private BusinessQCManagementProjectDataMapper businessQCManagementProjectDataMapper;
@Resource
private BusinessQCManagementParameterDataMapper businessQCManagementParameterDataMapper;
@Override @Override
public List<AdminUserRespDTO> getAssignUserList() { public List<AdminUserRespDTO> getAssignUserList() {
@@ -455,77 +481,137 @@ public class SampleTaskAssignServiceImpl implements SampleTaskAssignService {
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void createQcSample(CreateQcSampleReqVO req) { public void createQcSample(CreateQcSampleReqVO req) {
List<BusinessQCProjectDataDO> businessQCProjectDataDOList = new ArrayList<>(); List<BusinessQCManagementDataDO> businessQCManagementDataDOList = new ArrayList<>();
List<BusinessQCParameterDataDO> businessQCParameterDataDOList = new ArrayList<>(); List<BusinessQCManagementProjectDataDO> businessQCManagementProjectDataDOList = new ArrayList<>();
List<BusinessQCManagementParameterDataDO> businessQCManagementParameterDataDOList = new ArrayList<>();
List<BusinessQCCoefficientDataDO> businessQCCoefficientDataDOList = new ArrayList<>();
List<BusinessQCCoefficientParameterDataDO> businessQCCoefficientParameterDataDOList = new ArrayList<>();
//分配任务 //分配任务
BusinessAssayTaskDO businessAssayTaskDO = businessAssayTaskMapper.selectById(req.getBusinessAssayTaskId()); BusinessAssayTaskDO businessAssayTaskDO = businessAssayTaskMapper.selectById(req.getBusinessAssayTaskId());
//分析方法
ConfigAssayMethodDO configAssayMethodDO = configAssayMethodMapper.selectById(req.getConfigQCAssayMethodId());
//分析项目
List<ConfigAssayMethodProjectExtendRespVO> configAssayMethodProjectExtendRespList = configAssayMethodProjectMapper.selectByConfigAssayMethodId(req.getConfigQCAssayMethodId());
//分析项目参数
List<ConfigAssayMethodProjectParameterDO> configAssayMethodProjectParameterList = configAssayMethodProjectParameterMapper.selectByConfigAssayMethodProjectId(req.getConfigQCAssayMethodId());
//分析项目
String assayProject = configAssayMethodProjectExtendRespList.stream().map(m -> m.getShowName()).collect(Collectors.joining(","));
BusinessQCDataDO businessQCDataDO = new BusinessQCDataDO(); //分析方法
businessQCDataDO.setId(IdWorker.getId()); ConfigAssayMethodDO configAssayMethodDO = configAssayMethodMapper.selectById(businessAssayTaskDO.getConfigAssayMethodId());
businessQCDataDO.setBusinessAssayTaskId(req.getBusinessAssayTaskId());
businessQCDataDO.setConfigAssayMethodId(req.getConfigQCAssayMethodId()); ConfigQCSampleMethodExtendRespVO configQCSampleMethod = configQCSampleMethodMapper.selectByConfigAssayMethodIdAndDictionaryBusinessKey(businessAssayTaskDO.getConfigAssayMethodId(), req.getDictionaryBusinessKey());
businessQCDataDO.setSampleName(req.getSampleName());
// if (StringUtils.isNotBlank(configQCSampleMethodExtendRespVO.getCodeRule())) { if ("kby".equals(req.getDictionaryBusinessKey()) || "by".equals(req.getDictionaryBusinessKey())) {//空白样和标样
// String codeSample = sequenceUtil.genCode(configQCSampleMethodExtendRespVO.getCodeRule());
// businessQCDataDO.setSampleCode(codeSample);
// }
if (StringUtils.isNotBlank(req.getSampleCode())) {
businessQCDataDO.setSampleCode(req.getSampleCode());
}
businessQCDataDO.setBusinessStandardSampleId(req.getBusinessStandardSampleId());
businessQCDataDO.setDictionaryBusinessId(req.getDictionaryBusinessId());
businessQCDataDO.setDictionaryBusinessKey(req.getDictionaryBusinessKey());
businessQCDataDO.setAssayDepartmentId(configAssayMethodDO.getAssayDepartmentId());
businessQCDataDO.setAssayDepartmentName(configAssayMethodDO.getAssayDepartmentName());
businessQCDataDO.setAssayOperator(businessAssayTaskDO.getAssayOperator());
businessQCDataDO.setAssayProject(assayProject);
businessQCDataDO.setAssignTaskTime(businessAssayTaskDO.getTaskAssignTime());
businessQCDataDO.setIsAssignTasked(QmsCommonConstant.YES);
businessQCDataDO.setIsReported(QmsCommonConstant.NO);
for (ConfigAssayMethodProjectExtendRespVO configAssayMethodProjectExtendRespVO : configAssayMethodProjectExtendRespList) {
BusinessQCProjectDataDO businessQCProjectDataDO = new BusinessQCProjectDataDO();
businessQCProjectDataDO.setId(IdWorker.getId());
businessQCProjectDataDO.setBusinessQCDataId(businessQCDataDO.getId());
businessQCProjectDataDO.setConfigAssayMethodProjectId(configAssayMethodProjectExtendRespVO.getId());
businessQCProjectDataDO.setDictionaryProjectId(configAssayMethodProjectExtendRespVO.getDictionaryProjectId());
businessQCProjectDataDO.setUsage(QmsCommonConstant.ASSAY_PROJECT_USAGE_QUALITY_CONTROL);
businessQCProjectDataDO.setSymbol("=");
businessQCProjectDataDO.setDataType(configAssayMethodProjectExtendRespVO.getDataType());
businessQCProjectDataDO.setDecimalPosition(configAssayMethodProjectExtendRespVO.getDecimalPosition());
businessQCProjectDataDO.setIsEnabled(configAssayMethodProjectExtendRespVO.getIsDefaultEnabled());
businessQCProjectDataDOList.add(businessQCProjectDataDO); BusinessQCCoefficientDataDO businessQCCoefficientDataDO = new BusinessQCCoefficientDataDO();
businessQCCoefficientDataDO.setId(IdWorker.getId());
businessQCCoefficientDataDO.setBusinessAssayTaskId(businessAssayTaskDO.getId());
businessQCCoefficientDataDO.setConfigAssayMethodId(configQCSampleMethod.getConfigAssayMethodId());
businessQCCoefficientDataDO.setSampleName(configQCSampleMethod.getDictionaryBusinessName());
if (StringUtils.isNotBlank(req.getSampleName())) {
businessQCCoefficientDataDO.setSampleName(req.getSampleName());
}
if (StringUtils.isNotBlank(req.getSampleCode())) {
businessQCCoefficientDataDO.setSampleCode(req.getSampleCode());
} else {
if (StringUtils.isNotBlank(configQCSampleMethod.getCodeRule())) {
String codeSample = sequenceUtil.genCode(configQCSampleMethod.getCodeRule());
businessQCCoefficientDataDO.setSampleCode(codeSample);
}
}
businessQCCoefficientDataDO.setDictionaryBusinessId(configQCSampleMethod.getDictionaryBusinessId());
businessQCCoefficientDataDO.setDictionaryBusinessKey(configQCSampleMethod.getDictionaryBusinessKey());
businessQCCoefficientDataDO.setAssayDepartmentId(configAssayMethodDO.getAssayDepartmentId());
businessQCCoefficientDataDO.setAssayDepartmentName(configAssayMethodDO.getAssayDepartmentName());
businessQCCoefficientDataDO.setAssayOperator(businessAssayTaskDO.getAssayOperator());
businessQCCoefficientDataDO.setAssayProject("");
businessQCCoefficientDataDO.setAssignTaskTime(businessAssayTaskDO.getTaskAssignTime());
businessQCCoefficientDataDO.setIsAssignTasked(QmsCommonConstant.YES);
businessQCCoefficientDataDO.setIsReported(QmsCommonConstant.NO);
List<ConfigAssayMethodProjectParameterDO> configAssayMethodProjectParameterDoList = configAssayMethodProjectParameterList.stream().filter(f -> f.getConfigAssayMethodProjectId().equals(configAssayMethodProjectExtendRespVO.getId())).collect(Collectors.toList()); businessQCCoefficientDataDOList.add(businessQCCoefficientDataDO);
for (ConfigAssayMethodProjectParameterDO configAssayMethodProjectParameterDO : configAssayMethodProjectParameterDoList) {
BusinessQCParameterDataDO businessQCParameterDataDO = new BusinessQCParameterDataDO(); List<ConfigQCSampleMethodParameterExtendRespVO> configQCSampleMethodParameterExtendRespVOs = configQCSampleMethodParameterMapper.selectByConfigQCSampleMethodId(configQCSampleMethod.getId());
businessQCParameterDataDO.setBusinessQCProjectDataId(businessQCProjectDataDO.getId()); for (ConfigQCSampleMethodParameterExtendRespVO configQCSampleMethodParameterExtendRespVO : configQCSampleMethodParameterExtendRespVOs) {
businessQCParameterDataDO.setConfigAssayMethodProjectParameterId(configAssayMethodProjectParameterDO.getId()); BusinessQCCoefficientParameterDataDO businessQCCoefficientParameterDataDO = new BusinessQCCoefficientParameterDataDO();
businessQCParameterDataDO.setDictionaryParameterId(configAssayMethodProjectParameterDO.getDictionaryParameterId()); businessQCCoefficientParameterDataDO.setBusinessQCCoefficientDataId(businessQCCoefficientDataDO.getId());
businessQCParameterDataDO.setDataType(configAssayMethodProjectParameterDO.getDataType()); businessQCCoefficientParameterDataDO.setConfigQCSampleMethodParameterId(configQCSampleMethodParameterExtendRespVO.getId());
businessQCParameterDataDO.setDecimalPosition(configAssayMethodProjectParameterDO.getDecimalPosition()); businessQCCoefficientParameterDataDO.setDictionaryParameterId(configQCSampleMethodParameterExtendRespVO.getDictionaryParameterId());
businessQCCoefficientParameterDataDO.setDataType(configQCSampleMethodParameterExtendRespVO.getDataType());
businessQCCoefficientParameterDataDO.setDecimalPosition(configQCSampleMethodParameterExtendRespVO.getDecimalPosition());
businessQCCoefficientParameterDataDO.setValue(configQCSampleMethodParameterExtendRespVO.getDefaultValue());
businessQCCoefficientParameterDataDOList.add(businessQCCoefficientParameterDataDO);
}
} else {//管理样与标准样
//分析项目
List<ConfigAssayMethodProjectExtendRespVO> configAssayMethodProjectExtendRespList = configAssayMethodProjectMapper.selectByConfigAssayMethodId(businessAssayTaskDO.getConfigAssayMethodId());
//分析项目参数
List<ConfigAssayMethodProjectParameterDO> configAssayMethodProjectParameterList = configAssayMethodProjectParameterMapper.selectByConfigAssayMethodProjectId(businessAssayTaskDO.getConfigAssayMethodId());
//分析项目
String assayProject = configAssayMethodProjectExtendRespList.stream().map(m -> m.getShowName()).collect(Collectors.joining(","));
BusinessQCManagementDataDO businessQCManagementDataDO = new BusinessQCManagementDataDO();
businessQCManagementDataDO.setId(IdWorker.getId());
businessQCManagementDataDO.setBusinessAssayTaskId(req.getBusinessAssayTaskId());
businessQCManagementDataDO.setConfigAssayMethodId(businessAssayTaskDO.getConfigAssayMethodId());
businessQCManagementDataDO.setSampleName(req.getSampleName());
if (StringUtils.isNotBlank(req.getSampleCode())) {
businessQCManagementDataDO.setSampleCode(req.getSampleCode());
}
businessQCManagementDataDO.setBusinessStandardSampleId(req.getBusinessStandardSampleId());
businessQCManagementDataDO.setDictionaryBusinessId(req.getDictionaryBusinessId());
businessQCManagementDataDO.setDictionaryBusinessKey(req.getDictionaryBusinessKey());
businessQCManagementDataDO.setAssayDepartmentId(configAssayMethodDO.getAssayDepartmentId());
businessQCManagementDataDO.setAssayDepartmentName(configAssayMethodDO.getAssayDepartmentName());
businessQCManagementDataDO.setAssayOperator(businessAssayTaskDO.getAssayOperator());
businessQCManagementDataDO.setAssayProject(assayProject);
businessQCManagementDataDO.setAssignTaskTime(businessAssayTaskDO.getTaskAssignTime());
businessQCManagementDataDO.setIsAssignTasked(QmsCommonConstant.YES);
businessQCManagementDataDO.setIsReported(QmsCommonConstant.NO);
businessQCManagementDataDOList.add(businessQCManagementDataDO);
for (ConfigAssayMethodProjectExtendRespVO configAssayMethodProjectExtendRespVO : configAssayMethodProjectExtendRespList) {
BusinessQCManagementProjectDataDO businessQCManagementProjectDataDO = new BusinessQCManagementProjectDataDO();
businessQCManagementProjectDataDO.setId(IdWorker.getId());
businessQCManagementProjectDataDO.setBusinessQCManagementDataId(businessQCManagementDataDO.getId());
businessQCManagementProjectDataDO.setConfigAssayMethodProjectId(configAssayMethodProjectExtendRespVO.getId());
businessQCManagementProjectDataDO.setDictionaryProjectId(configAssayMethodProjectExtendRespVO.getDictionaryProjectId());
businessQCManagementProjectDataDO.setUsage(QmsCommonConstant.ASSAY_PROJECT_USAGE_QUALITY_CONTROL);
businessQCManagementProjectDataDO.setSymbol("=");
businessQCManagementProjectDataDO.setDataType(configAssayMethodProjectExtendRespVO.getDataType());
businessQCManagementProjectDataDO.setDecimalPosition(configAssayMethodProjectExtendRespVO.getDecimalPosition());
businessQCManagementProjectDataDO.setIsEnabled(configAssayMethodProjectExtendRespVO.getIsDefaultEnabled());
businessQCManagementProjectDataDOList.add(businessQCManagementProjectDataDO);
List<ConfigAssayMethodProjectParameterDO> configAssayMethodProjectParameterDoList = configAssayMethodProjectParameterList.stream().filter(f -> f.getConfigAssayMethodProjectId().equals(configAssayMethodProjectExtendRespVO.getId())).collect(Collectors.toList());
for (ConfigAssayMethodProjectParameterDO configAssayMethodProjectParameterDO : configAssayMethodProjectParameterDoList) {
BusinessQCManagementParameterDataDO businessQCManagementParameterDataDO = new BusinessQCManagementParameterDataDO();
businessQCManagementParameterDataDO.setBusinessQCManagementProjectDataId(businessQCManagementProjectDataDO.getId());
businessQCManagementParameterDataDO.setConfigAssayMethodProjectParameterId(configAssayMethodProjectParameterDO.getId());
businessQCManagementParameterDataDO.setDictionaryParameterId(configAssayMethodProjectParameterDO.getDictionaryParameterId());
businessQCManagementParameterDataDO.setDataType(configAssayMethodProjectParameterDO.getDataType());
businessQCManagementParameterDataDO.setDecimalPosition(configAssayMethodProjectParameterDO.getDecimalPosition());
businessQCManagementParameterDataDOList.add(businessQCManagementParameterDataDO);
}
businessQCParameterDataDOList.add(businessQCParameterDataDO);
} }
} }
businessQCDataMapper.insert(businessQCDataDO); if (CollUtil.isNotEmpty(businessQCManagementDataDOList)) {
if (CollUtil.isNotEmpty(businessQCProjectDataDOList)) { businessQCManagementDataMapper.insertBatch(businessQCManagementDataDOList);
businessQCProjectDataMapper.insertBatch(businessQCProjectDataDOList);
} }
if (CollUtil.isNotEmpty(businessQCParameterDataDOList)) { if (CollUtil.isNotEmpty(businessQCManagementProjectDataDOList)) {
businessQCParameterDataMapper.insertBatch(businessQCParameterDataDOList); businessQCManagementProjectDataMapper.insertBatch(businessQCManagementProjectDataDOList);
}
if (CollUtil.isNotEmpty(businessQCManagementParameterDataDOList)) {
businessQCManagementParameterDataMapper.insertBatch(businessQCManagementParameterDataDOList);
}
if (CollUtil.isNotEmpty(businessQCCoefficientDataDOList)) {
businessQCCoefficientDataMapper.insertBatch(businessQCCoefficientDataDOList);
}
if (CollUtil.isNotEmpty(businessQCCoefficientParameterDataDOList)) {
businessQCCoefficientParameterDataMapper.insertBatch(businessQCCoefficientParameterDataDOList);
} }
} }
} }

View File

@@ -8,6 +8,4 @@ public class ConfigQCSampleMethodExtendRespVO extends ConfigQCSampleMethodRespVO
private String dictionaryBusinessName; private String dictionaryBusinessName;
private String configAssayMethodName; private String configAssayMethodName;
private String configQCAssayMethodName;
} }

View File

@@ -22,9 +22,6 @@ public class ConfigQCSampleMethodPageReqVO extends PageParam {
@Schema(description = "质控类型_Key,字典表【T_DIC_BSN】质控类型空白样、管理样、标准样、标样") @Schema(description = "质控类型_Key,字典表【T_DIC_BSN】质控类型空白样、管理样、标准样、标样")
private String dictionaryBusinessKey; private String dictionaryBusinessKey;
@Schema(description = "质控样检测方法配置ID", example = "17090")
private Long configQCAssayMethodId;
@Schema(description = "编码规则") @Schema(description = "编码规则")
private String codeRule; private String codeRule;

View File

@@ -0,0 +1,23 @@
package com.zt.plat.module.qms.business.config.controller.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
public class ConfigQCSampleMethodParameterExtendRespVO extends ConfigQCSampleMethodParameterRespVO {
@Schema(description = "参数序号")
private Integer dictionaryParameterNo;
@Schema(description = "名称", example = "王五")
private String dictionaryParameterName;
@Schema(description = "键值")
private String dictionaryParameterKey;
@Schema(description = "检测单位ID,UNT表", example = "20894")
private Long dictionaryParameterUnitId;
@Schema(description = "单位")
private String dictionaryParameterUnit;
}

View File

@@ -28,10 +28,6 @@ public class ConfigQCSampleMethodRespVO {
@ExcelProperty("质控类型_Key,字典表【T_DIC_BSN】质控类型空白样、管理样、标准样、标样") @ExcelProperty("质控类型_Key,字典表【T_DIC_BSN】质控类型空白样、管理样、标准样、标样")
private String dictionaryBusinessKey; private String dictionaryBusinessKey;
@Schema(description = "质控样检测方法配置ID", example = "17090")
@ExcelProperty("质控样检测方法配置ID")
private Long configQCAssayMethodId;
@Schema(description = "编码规则", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "编码规则", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("编码规则") @ExcelProperty("编码规则")
private String codeRule; private String codeRule;

View File

@@ -23,9 +23,6 @@ public class ConfigQCSampleMethodSaveReqVO {
@Schema(description = "质控类型_Key,字典表【T_DIC_BSN】质控类型空白样、管理样、标准样、标样") @Schema(description = "质控类型_Key,字典表【T_DIC_BSN】质控类型空白样、管理样、标准样、标样")
private String dictionaryBusinessKey; private String dictionaryBusinessKey;
@Schema(description = "质控样检测方法配置ID", example = "17090")
private Long configQCAssayMethodId;
@Schema(description = "编码规则", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "编码规则", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "编码规则不能为空") @NotEmpty(message = "编码规则不能为空")
private String codeRule; private String codeRule;

View File

@@ -47,11 +47,6 @@ public class ConfigQCSampleMethodDO extends BusinessBaseDO {
@TableField("DIC_BSN_KY") @TableField("DIC_BSN_KY")
private String dictionaryBusinessKey; private String dictionaryBusinessKey;
/** /**
* 质控样检测方法配置ID
*/
@TableField("CFG_QC_ASY_MTHD_ID")
private Long configQCAssayMethodId;
/**
* 编码规则 * 编码规则
*/ */
@TableField("CD_RUL") @TableField("CD_RUL")

View File

@@ -26,7 +26,6 @@ public interface ConfigQCSampleMethodMapper extends BaseMapperX<ConfigQCSampleMe
.eqIfPresent(ConfigQCSampleMethodDO::getConfigAssayMethodId, reqVO.getConfigAssayMethodId()) .eqIfPresent(ConfigQCSampleMethodDO::getConfigAssayMethodId, reqVO.getConfigAssayMethodId())
.eqIfPresent(ConfigQCSampleMethodDO::getDictionaryBusinessId, reqVO.getDictionaryBusinessId()) .eqIfPresent(ConfigQCSampleMethodDO::getDictionaryBusinessId, reqVO.getDictionaryBusinessId())
.eqIfPresent(ConfigQCSampleMethodDO::getDictionaryBusinessKey, reqVO.getDictionaryBusinessKey()) .eqIfPresent(ConfigQCSampleMethodDO::getDictionaryBusinessKey, reqVO.getDictionaryBusinessKey())
.eqIfPresent(ConfigQCSampleMethodDO::getConfigQCAssayMethodId, reqVO.getConfigQCAssayMethodId())
.eqIfPresent(ConfigQCSampleMethodDO::getCodeRule, reqVO.getCodeRule()) .eqIfPresent(ConfigQCSampleMethodDO::getCodeRule, reqVO.getCodeRule())
.eqIfPresent(ConfigQCSampleMethodDO::getDefaultCount, reqVO.getDefaultCount()) .eqIfPresent(ConfigQCSampleMethodDO::getDefaultCount, reqVO.getDefaultCount())
.eqIfPresent(ConfigQCSampleMethodDO::getTaskMinimumCount, reqVO.getTaskMinimumCount()) .eqIfPresent(ConfigQCSampleMethodDO::getTaskMinimumCount, reqVO.getTaskMinimumCount())
@@ -43,10 +42,8 @@ public interface ConfigQCSampleMethodMapper extends BaseMapperX<ConfigQCSampleMe
default List<ConfigQCSampleMethodExtendRespVO> selectByConfigAssayMethodId(Long configAssayMethodId) { default List<ConfigQCSampleMethodExtendRespVO> selectByConfigAssayMethodId(Long configAssayMethodId) {
return selectJoinList(ConfigQCSampleMethodExtendRespVO.class, new MPJLambdaWrapperX<ConfigQCSampleMethodDO>() return selectJoinList(ConfigQCSampleMethodExtendRespVO.class, new MPJLambdaWrapperX<ConfigQCSampleMethodDO>()
.leftJoin(DictionaryBusinessDO.class, DictionaryBusinessDO::getId, ConfigQCSampleMethodDO::getDictionaryBusinessId) .leftJoin(DictionaryBusinessDO.class, DictionaryBusinessDO::getId, ConfigQCSampleMethodDO::getDictionaryBusinessId)
.leftJoin(ConfigAssayMethodDO.class, ConfigAssayMethodDO::getId, ConfigQCSampleMethodDO::getConfigQCAssayMethodId)
.selectAll(ConfigQCSampleMethodDO.class) .selectAll(ConfigQCSampleMethodDO.class)
.selectAs(DictionaryBusinessDO::getName, ConfigQCSampleMethodExtendRespVO::getDictionaryBusinessName) .selectAs(DictionaryBusinessDO::getName, ConfigQCSampleMethodExtendRespVO::getDictionaryBusinessName)
.selectAs(ConfigAssayMethodDO::getName, ConfigQCSampleMethodExtendRespVO::getConfigQCAssayMethodName)
.eq(ConfigQCSampleMethodDO::getConfigAssayMethodId, configAssayMethodId)); .eq(ConfigQCSampleMethodDO::getConfigAssayMethodId, configAssayMethodId));
} }
@@ -54,11 +51,18 @@ public interface ConfigQCSampleMethodMapper extends BaseMapperX<ConfigQCSampleMe
default List<ConfigQCSampleMethodExtendRespVO> selectByConfigAssayMethodIds(List<Long> configAssayMethodIds) { default List<ConfigQCSampleMethodExtendRespVO> selectByConfigAssayMethodIds(List<Long> configAssayMethodIds) {
return selectJoinList(ConfigQCSampleMethodExtendRespVO.class, new MPJLambdaWrapperX<ConfigQCSampleMethodDO>() return selectJoinList(ConfigQCSampleMethodExtendRespVO.class, new MPJLambdaWrapperX<ConfigQCSampleMethodDO>()
.leftJoin(DictionaryBusinessDO.class, DictionaryBusinessDO::getId, ConfigQCSampleMethodDO::getDictionaryBusinessId) .leftJoin(DictionaryBusinessDO.class, DictionaryBusinessDO::getId, ConfigQCSampleMethodDO::getDictionaryBusinessId)
.leftJoin(ConfigAssayMethodDO.class, ConfigAssayMethodDO::getId, ConfigQCSampleMethodDO::getConfigQCAssayMethodId)
.selectAll(ConfigQCSampleMethodDO.class) .selectAll(ConfigQCSampleMethodDO.class)
.selectAs(DictionaryBusinessDO::getName, ConfigQCSampleMethodExtendRespVO::getDictionaryBusinessName) .selectAs(DictionaryBusinessDO::getName, ConfigQCSampleMethodExtendRespVO::getDictionaryBusinessName)
.selectAs(ConfigAssayMethodDO::getName, ConfigQCSampleMethodExtendRespVO::getConfigQCAssayMethodName)
.in(ConfigQCSampleMethodDO::getConfigAssayMethodId, configAssayMethodIds)); .in(ConfigQCSampleMethodDO::getConfigAssayMethodId, configAssayMethodIds));
} }
default ConfigQCSampleMethodExtendRespVO selectByConfigAssayMethodIdAndDictionaryBusinessKey(Long configAssayMethodId, String dictionaryBusinessKey) {
return selectJoinOne(ConfigQCSampleMethodExtendRespVO.class, new MPJLambdaWrapperX<ConfigQCSampleMethodDO>()
.leftJoin(DictionaryBusinessDO.class, DictionaryBusinessDO::getId, ConfigQCSampleMethodDO::getDictionaryBusinessId)
.selectAll(ConfigQCSampleMethodDO.class)
.selectAs(DictionaryBusinessDO::getName, ConfigQCSampleMethodExtendRespVO::getDictionaryBusinessName)
.eq(ConfigQCSampleMethodDO::getConfigAssayMethodId, configAssayMethodId)
.eq(ConfigQCSampleMethodDO::getDictionaryBusinessKey, dictionaryBusinessKey));
}
} }

View File

@@ -4,8 +4,10 @@ import java.util.*;
import com.zt.plat.framework.common.pojo.PageResult; 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.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.*;
import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigQCSampleMethodParameterDO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigQCSampleMethodParameterDO;
import com.zt.plat.module.qms.business.dic.dal.dataobject.DictionaryParameterDO;
import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
@@ -34,5 +36,30 @@ public interface ConfigQCSampleMethodParameterMapper extends BaseMapperX<ConfigQ
.eqIfPresent(ConfigQCSampleMethodParameterDO::getVersion, reqVO.getVersion()) .eqIfPresent(ConfigQCSampleMethodParameterDO::getVersion, reqVO.getVersion())
.orderByDesc(ConfigQCSampleMethodParameterDO::getId)); .orderByDesc(ConfigQCSampleMethodParameterDO::getId));
} }
default List<ConfigQCSampleMethodParameterExtendRespVO> selectByConfigQCSampleMethodId(Long configQCSampleMethodId) {
return selectJoinList(ConfigQCSampleMethodParameterExtendRespVO.class, new MPJLambdaWrapperX<ConfigQCSampleMethodParameterDO>()
.leftJoin(DictionaryParameterDO.class, DictionaryParameterDO::getId, ConfigQCSampleMethodParameterDO::getDictionaryParameterId)
.selectAll(ConfigQCSampleMethodParameterDO.class)
.selectAs(DictionaryParameterDO::getKey, ConfigQCSampleMethodParameterExtendRespVO::getDictionaryParameterKey)
.selectAs(DictionaryParameterDO::getName, ConfigQCSampleMethodParameterExtendRespVO::getDictionaryParameterName)
.selectAs(DictionaryParameterDO::getNo, ConfigQCSampleMethodParameterExtendRespVO::getDictionaryParameterNo)
.selectAs(DictionaryParameterDO::getUnitId, ConfigQCSampleMethodParameterExtendRespVO::getDictionaryParameterUnitId)
.selectAs(DictionaryParameterDO::getUnit, ConfigQCSampleMethodParameterExtendRespVO::getDictionaryParameterUnit)
.eq(ConfigQCSampleMethodParameterDO::getConfigQCSampleMethodId, configQCSampleMethodId));
}
default List<ConfigQCSampleMethodParameterExtendRespVO> selectByConfigQCSampleMethodIds(List<Long> configQCSampleMethodIds) {
return selectJoinList(ConfigQCSampleMethodParameterExtendRespVO.class, new MPJLambdaWrapperX<ConfigQCSampleMethodParameterDO>()
.leftJoin(DictionaryParameterDO.class, DictionaryParameterDO::getId, ConfigQCSampleMethodParameterDO::getDictionaryParameterId)
.selectAll(ConfigQCSampleMethodParameterDO.class)
.selectAs(DictionaryParameterDO::getKey, ConfigQCSampleMethodParameterExtendRespVO::getDictionaryParameterKey)
.selectAs(DictionaryParameterDO::getName, ConfigQCSampleMethodParameterExtendRespVO::getDictionaryParameterName)
.selectAs(DictionaryParameterDO::getNo, ConfigQCSampleMethodParameterExtendRespVO::getDictionaryParameterNo)
.selectAs(DictionaryParameterDO::getUnitId, ConfigQCSampleMethodParameterExtendRespVO::getDictionaryParameterUnitId)
.selectAs(DictionaryParameterDO::getUnit, ConfigQCSampleMethodParameterExtendRespVO::getDictionaryParameterUnit)
.in(ConfigQCSampleMethodParameterDO::getConfigQCSampleMethodId, configQCSampleMethodIds));
}
} }