带检测项目的质控样,添加参数

This commit is contained in:
2025-12-20 14:40:10 +08:00
parent b6b576e2ae
commit 9110b2a546
17 changed files with 693 additions and 6 deletions

View File

@@ -131,6 +131,7 @@ public interface ErrorCodeConstants {
ErrorCode BUSINESS_QC_MANAGEMENT_DATA_NOT_EXISTS = new ErrorCode(1_032_100_000, "质控管理样检测任务数据,管理样、标准样不存在"); ErrorCode BUSINESS_QC_MANAGEMENT_DATA_NOT_EXISTS = new ErrorCode(1_032_100_000, "质控管理样检测任务数据,管理样、标准样不存在");
ErrorCode BUSINESS_QC_MANAGEMENT_PROJECT_DATA_NOT_EXISTS = new ErrorCode(1_032_100_000, "质控样检测项目数据业务不存在"); ErrorCode BUSINESS_QC_MANAGEMENT_PROJECT_DATA_NOT_EXISTS = new ErrorCode(1_032_100_000, "质控样检测项目数据业务不存在");
ErrorCode BUSINESS_QC_MANAGEMENT_PARAMETER_DATA_NOT_EXISTS = new ErrorCode(1_032_100_000, "质控样检测参数数据业务不存在"); ErrorCode BUSINESS_QC_MANAGEMENT_PARAMETER_DATA_NOT_EXISTS = new ErrorCode(1_032_100_000, "质控样检测参数数据业务不存在");
ErrorCode BUSINESS_QC_MANAGEMENT_SAMPLE_PARAMETER_DATA_NOT_EXISTS = new ErrorCode(1_032_100_000, "质控管理样检测任务参数业务表,与子样检测任务参数业务表T_BSN_ASY_TSK_PRM_DAT一样针对标准样、管理样、质控样、监控样等样品的参数不存在");
ErrorCode BUSINESS_QC_COEFFICIENT_DATA_NOT_EXISTS = new ErrorCode(1_032_100_000, "质控样检测系数任务数据,空白样、标样不存在"); ErrorCode BUSINESS_QC_COEFFICIENT_DATA_NOT_EXISTS = new ErrorCode(1_032_100_000, "质控样检测系数任务数据,空白样、标样不存在");
ErrorCode BUSINESS_QC_COEFFICIENT_PARAMETER_DATA_NOT_EXISTS = new ErrorCode(1_032_100_000, "质控样检测系数参数业务不存在"); ErrorCode BUSINESS_QC_COEFFICIENT_PARAMETER_DATA_NOT_EXISTS = new ErrorCode(1_032_100_000, "质控样检测系数参数业务不存在");

View File

@@ -0,0 +1,106 @@
package com.zt.plat.module.qms.business.bus.controller.admin;
import org.springframework.web.bind.annotation.*;
import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import com.zt.plat.framework.business.interceptor.BusinessControllerMarker;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import jakarta.validation.constraints.*;
import jakarta.validation.*;
import jakarta.servlet.http.*;
import java.util.*;
import java.io.IOException;
import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO;
import com.zt.plat.framework.common.pojo.PageParam;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.util.object.BeanUtils;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
import com.zt.plat.framework.excel.core.util.ExcelUtils;
import com.zt.plat.module.qms.business.bus.controller.vo.*;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCManagementSampleParameterDataDO;
import com.zt.plat.module.qms.business.bus.service.BusinessQCManagementSampleParameterDataService;
import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog;
import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*;
@Tag(name = "管理后台 - 质控管理样检测任务参数业务表,与子样检测任务参数业务表T_BSN_ASY_TSK_PRM_DAT一样针对标准样、管理样、质控样、监控样等样品的参数")
@RestController
@RequestMapping("/qms/business-QC-management-sample-parameter-data")
@Validated
public class BusinessQCManagementSampleParameterDataController implements BusinessControllerMarker {
@Resource
private BusinessQCManagementSampleParameterDataService businessQCManagementSampleParameterDataService;
@PostMapping("/create")
@Operation(summary = "创建质控管理样检测任务参数业务表,与子样检测任务参数业务表T_BSN_ASY_TSK_PRM_DAT一样针对标准样、管理样、质控样、监控样等样品的参数")
@PreAuthorize("@ss.hasPermission('qms:business-QC-management-sample-parameter-data:create')")
public CommonResult<BusinessQCManagementSampleParameterDataRespVO> createBusinessQCManagementSampleParameterData(@Valid @RequestBody BusinessQCManagementSampleParameterDataSaveReqVO createReqVO) {
return success(businessQCManagementSampleParameterDataService.createBusinessQCManagementSampleParameterData(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新质控管理样检测任务参数业务表,与子样检测任务参数业务表T_BSN_ASY_TSK_PRM_DAT一样针对标准样、管理样、质控样、监控样等样品的参数")
@PreAuthorize("@ss.hasPermission('qms:business-QC-management-sample-parameter-data:update')")
public CommonResult<Boolean> updateBusinessQCManagementSampleParameterData(@Valid @RequestBody BusinessQCManagementSampleParameterDataSaveReqVO updateReqVO) {
businessQCManagementSampleParameterDataService.updateBusinessQCManagementSampleParameterData(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除质控管理样检测任务参数业务表,与子样检测任务参数业务表T_BSN_ASY_TSK_PRM_DAT一样针对标准样、管理样、质控样、监控样等样品的参数")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('qms:business-QC-management-sample-parameter-data:delete')")
public CommonResult<Boolean> deleteBusinessQCManagementSampleParameterData(@RequestParam("id") Long id) {
businessQCManagementSampleParameterDataService.deleteBusinessQCManagementSampleParameterData(id);
return success(true);
}
@DeleteMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "批量删除质控管理样检测任务参数业务表,与子样检测任务参数业务表T_BSN_ASY_TSK_PRM_DAT一样针对标准样、管理样、质控样、监控样等样品的参数")
@PreAuthorize("@ss.hasPermission('qms:business-QC-management-sample-parameter-data:delete')")
public CommonResult<Boolean> deleteBusinessQCManagementSampleParameterDataList(@RequestBody BatchDeleteReqVO req) {
businessQCManagementSampleParameterDataService.deleteBusinessQCManagementSampleParameterDataListByIds(req.getIds());
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得质控管理样检测任务参数业务表,与子样检测任务参数业务表T_BSN_ASY_TSK_PRM_DAT一样针对标准样、管理样、质控样、监控样等样品的参数")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('qms:business-QC-management-sample-parameter-data:query')")
public CommonResult<BusinessQCManagementSampleParameterDataRespVO> getBusinessQCManagementSampleParameterData(@RequestParam("id") Long id) {
BusinessQCManagementSampleParameterDataDO businessQCManagementSampleParameterData = businessQCManagementSampleParameterDataService.getBusinessQCManagementSampleParameterData(id);
return success(BeanUtils.toBean(businessQCManagementSampleParameterData, BusinessQCManagementSampleParameterDataRespVO.class));
}
@GetMapping("/page")
@Operation(summary = "获得质控管理样检测任务参数业务表,与子样检测任务参数业务表T_BSN_ASY_TSK_PRM_DAT一样针对标准样、管理样、质控样、监控样等样品的参数分页")
@PreAuthorize("@ss.hasPermission('qms:business-QC-management-sample-parameter-data:query')")
public CommonResult<PageResult<BusinessQCManagementSampleParameterDataRespVO>> getBusinessQCManagementSampleParameterDataPage(@Valid BusinessQCManagementSampleParameterDataPageReqVO pageReqVO) {
PageResult<BusinessQCManagementSampleParameterDataDO> pageResult = businessQCManagementSampleParameterDataService.getBusinessQCManagementSampleParameterDataPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, BusinessQCManagementSampleParameterDataRespVO.class));
}
@GetMapping("/export-excel")
@Operation(summary = "导出质控管理样检测任务参数业务表,与子样检测任务参数业务表T_BSN_ASY_TSK_PRM_DAT一样针对标准样、管理样、质控样、监控样等样品的参数 Excel")
@PreAuthorize("@ss.hasPermission('qms:business-QC-management-sample-parameter-data:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportBusinessQCManagementSampleParameterDataExcel(@Valid BusinessQCManagementSampleParameterDataPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<BusinessQCManagementSampleParameterDataDO> list = businessQCManagementSampleParameterDataService.getBusinessQCManagementSampleParameterDataPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "质控管理样检测任务参数业务表,与子样检测任务参数业务表T_BSN_ASY_TSK_PRM_DAT一样针对标准样、管理样、质控样、监控样等样品的参数.xls", "数据", BusinessQCManagementSampleParameterDataRespVO.class,
BeanUtils.toBean(list, BusinessQCManagementSampleParameterDataRespVO.class));
}
}

View File

@@ -29,12 +29,14 @@ public class SampleAnalysisController implements BusinessControllerMarker {
@Resource @Resource
private SampleAnalysisService sampleAnalysisService ; private SampleAnalysisService sampleAnalysisService ;
@Deprecated
@GetMapping("/batchSampleAnalysisByTaskId") @GetMapping("/batchSampleAnalysisByTaskId")
public CommonResult<?> batchSampleAnalysisByTaskId(Long businessAssayTaskId) { public CommonResult<?> batchSampleAnalysisByTaskId(Long businessAssayTaskId) {
BusinessAssayTaskAnalysisSampleProjectRespVO businessAssayTaskAnalysisSampleProject = sampleAnalysisService.batchSampleAnalysisByTaskId(businessAssayTaskId); BusinessAssayTaskAnalysisSampleProjectRespVO businessAssayTaskAnalysisSampleProject = sampleAnalysisService.batchSampleAnalysisByTaskId(businessAssayTaskId);
return success(businessAssayTaskAnalysisSampleProject); return success(businessAssayTaskAnalysisSampleProject);
} }
@Deprecated
@PostMapping("/saveBatchSampleAnalysis") @PostMapping("/saveBatchSampleAnalysis")
public CommonResult<?> saveBatchSampleAnalysis(@RequestBody BusinessAssayTaskAnalysisSampleProjectRespVO vo) { public CommonResult<?> saveBatchSampleAnalysis(@RequestBody BusinessAssayTaskAnalysisSampleProjectRespVO vo) {
sampleAnalysisService.saveBatchSampleAnalysis(vo); sampleAnalysisService.saveBatchSampleAnalysis(vo);

View File

@@ -0,0 +1,44 @@
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 = "管理后台 - 质控管理样检测任务参数业务表,与子样检测任务参数业务表T_BSN_ASY_TSK_PRM_DAT一样针对标准样、管理样、质控样、监控样等样品的参数分页 Request VO")
@Data
public class BusinessQCManagementSampleParameterDataPageReqVO extends PageParam {
@Schema(description = "质控管理样检测任务ID", example = "100")
private Long businessQCManagementDataId;
@Schema(description = "检测方法参数配置ID", example = "10419")
private Long configAssayMethodParameterId;
@Schema(description = "")
private String value;
@Schema(description = "数据类型,字典表【T_DIC_BSN】string-字符串int-整数decimal-小数,date-日期datetime-时间", example = "2")
private String dataType;
@Schema(description = "小数位")
private Integer decimalPosition;
@Schema(description = "乐观锁", example = "2766")
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

@@ -0,0 +1,55 @@
package com.zt.plat.module.qms.business.bus.controller.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;
@Schema(description = "管理后台 - 质控管理样检测任务参数业务表,与子样检测任务参数业务表T_BSN_ASY_TSK_PRM_DAT一样针对标准样、管理样、质控样、监控样等样品的参数 Response VO")
@Data
@ExcelIgnoreUnannotated
public class BusinessQCManagementSampleParameterDataRespVO {
@Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1205")
@ExcelProperty("ID")
private Long id;
@Schema(description = "质控管理样检测任务ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
@ExcelProperty("质控管理样检测任务ID")
private Long businessQCManagementDataId;
@Schema(description = "检测方法参数配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "10419")
@ExcelProperty("检测方法参数配置ID")
private Long configAssayMethodParameterId;
@Schema(description = "")
@ExcelProperty("")
private String value;
@Schema(description = "数据类型,字典表【T_DIC_BSN】string-字符串int-整数decimal-小数,date-日期datetime-时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
@ExcelProperty("数据类型,字典表【T_DIC_BSN】string-字符串int-整数decimal-小数,date-日期datetime-时间")
private String dataType;
@Schema(description = "小数位")
@ExcelProperty("小数位")
private Integer decimalPosition;
@Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "2766")
@ExcelProperty("乐观锁")
private Integer updateCount;
@Schema(description = "所属部门")
@ExcelProperty("所属部门")
private String systemDepartmentCode;
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("创建时间")
private LocalDateTime createTime;
@Schema(description = "备注")
@ExcelProperty("备注")
private String remark;
}

View File

@@ -0,0 +1,43 @@
package com.zt.plat.module.qms.business.bus.controller.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import jakarta.validation.constraints.*;
@Schema(description = "管理后台 - 质控管理样检测任务参数业务表,与子样检测任务参数业务表T_BSN_ASY_TSK_PRM_DAT一样针对标准样、管理样、质控样、监控样等样品的参数新增/修改 Request VO")
@Data
public class BusinessQCManagementSampleParameterDataSaveReqVO {
@Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1205")
private Long id;
@Schema(description = "质控管理样检测任务ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
@NotNull(message = "质控管理样检测任务ID不能为空")
private Long businessQCManagementDataId;
@Schema(description = "检测方法参数配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "10419")
@NotNull(message = "检测方法参数配置ID不能为空")
private Long configAssayMethodParameterId;
@Schema(description = "")
private String value;
@Schema(description = "数据类型,字典表【T_DIC_BSN】string-字符串int-整数decimal-小数,date-日期datetime-时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
@NotEmpty(message = "数据类型,字典表【T_DIC_BSN】string-字符串int-整数decimal-小数,date-日期datetime-时间不能为空")
private String dataType;
@Schema(description = "小数位")
private Integer decimalPosition;
@Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "2766")
@NotNull(message = "乐观锁不能为空")
private Integer updateCount;
@Schema(description = "所属部门")
private String systemDepartmentCode;
@Schema(description = "备注")
private String remark;
}

View File

@@ -0,0 +1,75 @@
package com.zt.plat.module.qms.business.bus.dal.dataobject;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import com.zt.plat.framework.mybatis.core.dataobject.BusinessBaseDO;
/**
* 质控管理样检测任务参数业务表,与子样检测任务参数业务表T_BSN_ASY_TSK_PRM_DAT一样针对标准样、管理样、质控样、监控样等样品的参数 DO
*
* @author 后台管理-1
*/
@TableName("t_bsn_qc_mngt_smp_prm_dat")
@KeySequence("t_bsn_qc_mngt_smp_prm_dat_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
/**
* 支持业务基类继承isBusiness=true 时继承 BusinessBaseDO否则继承 BaseDO
*/
public class BusinessQCManagementSampleParameterDataDO extends BusinessBaseDO {
/**
* ID
*/
@TableId(type = IdType.ASSIGN_ID)
private Long id;
/**
* 质控管理样检测任务ID
*/
@TableField("BSN_QC_MNGT_DAT_ID")
private Long businessQCManagementDataId;
/**
* 检测方法参数配置ID
*/
@TableField("CFG_ASY_MTHD_PRM_ID")
private Long configAssayMethodParameterId;
/**
* 值
*/
@TableField("VAL")
private String value;
/**
* 数据类型,字典表【T_DIC_BSN】string-字符串int-整数decimal-小数,date-日期datetime-时间
*/
@TableField("DAT_TP")
private String dataType;
/**
* 小数位
*/
@TableField("DEC_POS")
private Integer decimalPosition;
/**
* 乐观锁
*/
@TableField("UPD_CNT")
private Integer updateCount;
/**
* 所属部门
*/
@TableField("SYS_DEPT_CD")
private String systemDepartmentCode;
/**
* 备注
*/
@TableField("RMK")
private String remark;
}

View File

@@ -0,0 +1,61 @@
package com.zt.plat.module.qms.business.bus.dal.mapper;
import java.util.*;
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.dal.dataobject.BusinessQCManagementSampleParameterDataDO;
import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodParameterDO;
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;
/**
* 质控管理样检测任务参数业务表,与子样检测任务参数业务表T_BSN_ASY_TSK_PRM_DAT一样针对标准样、管理样、质控样、监控样等样品的参数 Mapper
*
* @author 后台管理-1
*/
@Mapper
public interface BusinessQCManagementSampleParameterDataMapper extends BaseMapperX<BusinessQCManagementSampleParameterDataDO> {
default PageResult<BusinessQCManagementSampleParameterDataDO> selectPage(BusinessQCManagementSampleParameterDataPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<BusinessQCManagementSampleParameterDataDO>()
.eqIfPresent(BusinessQCManagementSampleParameterDataDO::getBusinessQCManagementDataId, reqVO.getBusinessQCManagementDataId())
.eqIfPresent(BusinessQCManagementSampleParameterDataDO::getConfigAssayMethodParameterId, reqVO.getConfigAssayMethodParameterId())
.eqIfPresent(BusinessQCManagementSampleParameterDataDO::getValue, reqVO.getValue())
.eqIfPresent(BusinessQCManagementSampleParameterDataDO::getDataType, reqVO.getDataType())
.eqIfPresent(BusinessQCManagementSampleParameterDataDO::getDecimalPosition, reqVO.getDecimalPosition())
.eqIfPresent(BusinessQCManagementSampleParameterDataDO::getUpdateCount, reqVO.getUpdateCount())
.eqIfPresent(BusinessQCManagementSampleParameterDataDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode())
.betweenIfPresent(BusinessQCManagementSampleParameterDataDO::getCreateTime, reqVO.getCreateTime())
.eqIfPresent(BusinessQCManagementSampleParameterDataDO::getRemark, reqVO.getRemark())
.orderByDesc(BusinessQCManagementSampleParameterDataDO::getId));
}
default List<BusinessAssayProjectAndParameterRespVO> selectByBusinessQCManagementDataIds(List<Long> businessQCManagementDataIdList) {
return selectJoinList(BusinessAssayProjectAndParameterRespVO.class, new MPJLambdaWrapperX<BusinessQCManagementSampleParameterDataDO>()
.leftJoin(ConfigAssayMethodParameterDO.class, ConfigAssayMethodParameterDO::getId, BusinessQCManagementSampleParameterDataDO::getConfigAssayMethodParameterId)
.leftJoin(DictionaryBusinessDO.class, DictionaryBusinessDO::getId, ConfigAssayMethodParameterDO::getDictionaryBusinessId)
.selectAs(BusinessQCManagementSampleParameterDataDO::getId, BusinessAssayProjectAndParameterRespVO::getId)
.selectAs(BusinessQCManagementSampleParameterDataDO::getConfigAssayMethodParameterId, BusinessAssayProjectAndParameterRespVO::getDicId)
.selectAs(ConfigAssayMethodParameterDO::getKey, BusinessAssayProjectAndParameterRespVO::getDicKey)
.selectAs(ConfigAssayMethodParameterDO::getParameterName, BusinessAssayProjectAndParameterRespVO::getName)
.selectAs(ConfigAssayMethodParameterDO::getParameterName, BusinessAssayProjectAndParameterRespVO::getShowName)
.selectAs(BusinessQCManagementSampleParameterDataDO::getDataType, BusinessAssayProjectAndParameterRespVO::getDataType)
.selectAs(BusinessQCManagementSampleParameterDataDO::getDecimalPosition, BusinessAssayProjectAndParameterRespVO::getDecimalPosition)
.selectAs(BusinessQCManagementSampleParameterDataDO::getValue, BusinessAssayProjectAndParameterRespVO::getValue)
//.selectAs(ConfigAssayMethodParameterDO::getDictionaryProjectUnit, BusinessAssayProjectAndParameterRespVO::getUnit)
.selectAs(ConfigAssayMethodParameterDO::getIsNull, BusinessAssayProjectAndParameterRespVO::getIsNull)
//.selectAs(ConfigAssayMethodParameterDO::getFormula, BusinessAssayProjectAndParameterRespVO::getFormula)
.selectAs(ConfigAssayMethodParameterDO::getSortNo, BusinessAssayProjectAndParameterRespVO::getParamNo)
.selectAs("'attribute'", BusinessAssayProjectAndParameterRespVO::getType)
.selectAs(ConfigAssayMethodParameterDO::getDictionaryBusinessId, BusinessAssayProjectAndParameterRespVO::getGroupDictionaryBusinessId)
.selectAs(ConfigAssayMethodParameterDO::getDictionaryBusinessKey, BusinessAssayProjectAndParameterRespVO::getGroupDictionaryBusinessKey)
.selectAs(DictionaryBusinessDO::getName, BusinessAssayProjectAndParameterRespVO::getGroupDictionaryBusinessName)
.in(BusinessQCManagementSampleParameterDataDO::getBusinessQCManagementDataId, businessQCManagementDataIdList)
.orderByAsc(ConfigAssayMethodParameterDO::getSortNo));
}
}

View File

@@ -16,6 +16,7 @@ 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.BusinessQCManagementDataDO;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCManagementParameterDataDO; 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.BusinessQCManagementProjectDataDO;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCManagementSampleParameterDataDO;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayProjectDataMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayProjectDataMapper;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCCoefficientDataMapper; 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.BusinessQCCoefficientParameterDataMapper;
@@ -27,8 +28,10 @@ import com.zt.plat.module.qms.business.config.controller.vo.ConfigAssayMethodPro
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.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.ConfigAssayMethodParameterDO;
import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodProjectParameterDO; 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.ConfigAssayMethodParameterMapper;
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;
@@ -48,6 +51,9 @@ public class SampleTaskAssignQCSampleCmp extends NodeComponent {
@Resource @Resource
private ConfigAssayMethodMapper configAssayMethodMapper; private ConfigAssayMethodMapper configAssayMethodMapper;
@Resource
private ConfigAssayMethodParameterMapper configAssayMethodParameterMapper;
@Resource @Resource
private ConfigQCSampleMethodMapper configQCSampleMethodMapper; private ConfigQCSampleMethodMapper configQCSampleMethodMapper;
@@ -85,8 +91,8 @@ public class SampleTaskAssignQCSampleCmp extends NodeComponent {
List<BusinessQCCoefficientDataDO> businessQCCoefficientDataDOList = new ArrayList<>(); List<BusinessQCCoefficientDataDO> businessQCCoefficientDataDOList = new ArrayList<>();
List<BusinessQCCoefficientParameterDataDO> businessQCCoefficientParameterDataDOList = new ArrayList<>(); List<BusinessQCCoefficientParameterDataDO> businessQCCoefficientParameterDataDOList = new ArrayList<>();
List<BusinessQCManagementDataDO> businessQCManagementDataDOList = new ArrayList<>(); List<BusinessQCManagementDataDO> businessQCManagementDataDOList = new ArrayList<>();
List<BusinessQCManagementSampleParameterDataDO> businessQCManagementSampleParameterDataDOList = new ArrayList<>();
List<BusinessQCManagementProjectDataDO> businessQCManagementProjectDataDOList = new ArrayList<>(); List<BusinessQCManagementProjectDataDO> businessQCManagementProjectDataDOList = new ArrayList<>();
List<BusinessQCManagementParameterDataDO> businessQCManagementParameterDataDOList = new ArrayList<>(); List<BusinessQCManagementParameterDataDO> businessQCManagementParameterDataDOList = new ArrayList<>();
@@ -206,6 +212,10 @@ public class SampleTaskAssignQCSampleCmp extends NodeComponent {
//分析项目 //分析项目
String assayProject = configAssayMethodProjectExtendRespList.stream().map(m -> m.getShowName()).collect(Collectors.joining(",")); String assayProject = configAssayMethodProjectExtendRespList.stream().map(m -> m.getShowName()).collect(Collectors.joining(","));
//分析方法参数配置
List<ConfigAssayMethodParameterDO> configAssayMethodParameterDOList = configAssayMethodParameterMapper.selectByConfigAssayMethodId(businessAssayTaskDO.getConfigAssayMethodId());
for (int i = 0; i < configQCSampleMethodExtendRespVO.getDefaultCount(); i++) { for (int i = 0; i < configQCSampleMethodExtendRespVO.getDefaultCount(); i++) {
BusinessQCManagementDataDO businessQCManagementDataDO = new BusinessQCManagementDataDO(); BusinessQCManagementDataDO businessQCManagementDataDO = new BusinessQCManagementDataDO();
@@ -230,6 +240,18 @@ public class SampleTaskAssignQCSampleCmp extends NodeComponent {
businessQCManagementDataDO.setIsReported(QmsCommonConstant.NO); businessQCManagementDataDO.setIsReported(QmsCommonConstant.NO);
businessQCManagementDataDOList.add(businessQCManagementDataDO); businessQCManagementDataDOList.add(businessQCManagementDataDO);
BusinessQCManagementSampleParameterDataDO businessQCManagementSampleParameterDataDO = null;
for (ConfigAssayMethodParameterDO configAssayMethodParameterDO : configAssayMethodParameterDOList) {
businessQCManagementSampleParameterDataDO = new BusinessQCManagementSampleParameterDataDO();
businessQCManagementSampleParameterDataDO.setId(IdWorker.getId());
businessQCManagementSampleParameterDataDO.setBusinessQCManagementDataId(businessQCManagementDataDO.getId());
businessQCManagementSampleParameterDataDO.setConfigAssayMethodParameterId(configAssayMethodParameterDO.getId());
businessQCManagementSampleParameterDataDO.setDataType(configAssayMethodParameterDO.getDataType());
businessQCManagementSampleParameterDataDO.setDecimalPosition(configAssayMethodParameterDO.getDecimalPosition());
businessQCManagementSampleParameterDataDOList.add(businessQCManagementSampleParameterDataDO);
}
for (ConfigAssayMethodProjectExtendRespVO configAssayMethodProjectExtendRespVO : configAssayMethodProjectExtendRespList) { for (ConfigAssayMethodProjectExtendRespVO configAssayMethodProjectExtendRespVO : configAssayMethodProjectExtendRespList) {
if (!dictionaryProjectIdList.contains(configAssayMethodProjectExtendRespVO.getDictionaryProjectId())) {//不存在则跳过 if (!dictionaryProjectIdList.contains(configAssayMethodProjectExtendRespVO.getDictionaryProjectId())) {//不存在则跳过

View File

@@ -13,6 +13,7 @@ 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.BusinessQCManagementDataDO;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCManagementParameterDataDO; 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.BusinessQCManagementProjectDataDO;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCManagementSampleParameterDataDO;
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;
@@ -96,6 +97,9 @@ public class SampleTaskAssignContext {
/** 质控样-(质控空白) **/ /** 质控样-(质控空白) **/
private List<BusinessQCManagementDataDO> businessQCManagementDataDOList; private List<BusinessQCManagementDataDO> businessQCManagementDataDOList;
/** 质控样-(质控空白)参数 **/
private List<BusinessQCManagementSampleParameterDataDO> businessQCManagementSampleParameterDataDOList;
/** 质控样-(质控空白)检测项目 **/ /** 质控样-(质控空白)检测项目 **/
private List<BusinessQCManagementProjectDataDO> businessQCManagementProjectDataDOList; private List<BusinessQCManagementProjectDataDO> businessQCManagementProjectDataDOList;

View File

@@ -0,0 +1,62 @@
package com.zt.plat.module.qms.business.bus.service;
import java.util.*;
import jakarta.validation.*;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.module.qms.business.bus.controller.vo.*;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCManagementSampleParameterDataDO;
import com.zt.plat.framework.common.pojo.PageParam;
/**
* 质控管理样检测任务参数业务表,与子样检测任务参数业务表T_BSN_ASY_TSK_PRM_DAT一样针对标准样、管理样、质控样、监控样等样品的参数 Service 接口
*
* @author 后台管理-1
*/
public interface BusinessQCManagementSampleParameterDataService {
/**
* 创建质控管理样检测任务参数业务表,与子样检测任务参数业务表T_BSN_ASY_TSK_PRM_DAT一样针对标准样、管理样、质控样、监控样等样品的参数
*
* @param createReqVO 创建信息
* @return 编号
*/
BusinessQCManagementSampleParameterDataRespVO createBusinessQCManagementSampleParameterData(@Valid BusinessQCManagementSampleParameterDataSaveReqVO createReqVO);
/**
* 更新质控管理样检测任务参数业务表,与子样检测任务参数业务表T_BSN_ASY_TSK_PRM_DAT一样针对标准样、管理样、质控样、监控样等样品的参数
*
* @param updateReqVO 更新信息
*/
void updateBusinessQCManagementSampleParameterData(@Valid BusinessQCManagementSampleParameterDataSaveReqVO updateReqVO);
/**
* 删除质控管理样检测任务参数业务表,与子样检测任务参数业务表T_BSN_ASY_TSK_PRM_DAT一样针对标准样、管理样、质控样、监控样等样品的参数
*
* @param id 编号
*/
void deleteBusinessQCManagementSampleParameterData(Long id);
/**
* 批量删除质控管理样检测任务参数业务表,与子样检测任务参数业务表T_BSN_ASY_TSK_PRM_DAT一样针对标准样、管理样、质控样、监控样等样品的参数
*
* @param ids 编号
*/
void deleteBusinessQCManagementSampleParameterDataListByIds(List<Long> ids);
/**
* 获得质控管理样检测任务参数业务表,与子样检测任务参数业务表T_BSN_ASY_TSK_PRM_DAT一样针对标准样、管理样、质控样、监控样等样品的参数
*
* @param id 编号
* @return 质控管理样检测任务参数业务表,与子样检测任务参数业务表T_BSN_ASY_TSK_PRM_DAT一样针对标准样、管理样、质控样、监控样等样品的参数
*/
BusinessQCManagementSampleParameterDataDO getBusinessQCManagementSampleParameterData(Long id);
/**
* 获得质控管理样检测任务参数业务表,与子样检测任务参数业务表T_BSN_ASY_TSK_PRM_DAT一样针对标准样、管理样、质控样、监控样等样品的参数分页
*
* @param pageReqVO 分页查询
* @return 质控管理样检测任务参数业务表,与子样检测任务参数业务表T_BSN_ASY_TSK_PRM_DAT一样针对标准样、管理样、质控样、监控样等样品的参数分页
*/
PageResult<BusinessQCManagementSampleParameterDataDO> getBusinessQCManagementSampleParameterDataPage(BusinessQCManagementSampleParameterDataPageReqVO pageReqVO);
}

View File

@@ -0,0 +1,91 @@
package com.zt.plat.module.qms.business.bus.service;
import cn.hutool.core.collection.CollUtil;
import org.springframework.stereotype.Service;
import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.transaction.annotation.Transactional;
import java.util.*;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.PageParam;
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.BusinessQCManagementSampleParameterDataDO;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCManagementSampleParameterDataMapper;
import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.zt.plat.framework.common.util.collection.CollectionUtils.convertList;
import static com.zt.plat.framework.common.util.collection.CollectionUtils.diffList;
import static com.zt.plat.module.qms.enums.ErrorCodeConstants.*;
/**
* 质控管理样检测任务参数业务表,与子样检测任务参数业务表T_BSN_ASY_TSK_PRM_DAT一样针对标准样、管理样、质控样、监控样等样品的参数 Service 实现类
*
* @author 后台管理-1
*/
@Service
@Validated
public class BusinessQCManagementSampleParameterDataServiceImpl implements BusinessQCManagementSampleParameterDataService {
@Resource
private BusinessQCManagementSampleParameterDataMapper businessQCManagementSampleParameterDataMapper;
@Override
public BusinessQCManagementSampleParameterDataRespVO createBusinessQCManagementSampleParameterData(BusinessQCManagementSampleParameterDataSaveReqVO createReqVO) {
// 插入
BusinessQCManagementSampleParameterDataDO businessQCManagementSampleParameterData = BeanUtils.toBean(createReqVO, BusinessQCManagementSampleParameterDataDO.class);
businessQCManagementSampleParameterDataMapper.insert(businessQCManagementSampleParameterData);
// 返回
return BeanUtils.toBean(businessQCManagementSampleParameterData, BusinessQCManagementSampleParameterDataRespVO.class);
}
@Override
public void updateBusinessQCManagementSampleParameterData(BusinessQCManagementSampleParameterDataSaveReqVO updateReqVO) {
// 校验存在
validateBusinessQCManagementSampleParameterDataExists(updateReqVO.getId());
// 更新
BusinessQCManagementSampleParameterDataDO updateObj = BeanUtils.toBean(updateReqVO, BusinessQCManagementSampleParameterDataDO.class);
businessQCManagementSampleParameterDataMapper.updateById(updateObj);
}
@Override
public void deleteBusinessQCManagementSampleParameterData(Long id) {
// 校验存在
validateBusinessQCManagementSampleParameterDataExists(id);
// 删除
businessQCManagementSampleParameterDataMapper.deleteById(id);
}
@Override
public void deleteBusinessQCManagementSampleParameterDataListByIds(List<Long> ids) {
// 校验存在
validateBusinessQCManagementSampleParameterDataExists(ids);
// 删除
businessQCManagementSampleParameterDataMapper.deleteByIds(ids);
}
private void validateBusinessQCManagementSampleParameterDataExists(List<Long> ids) {
List<BusinessQCManagementSampleParameterDataDO> list = businessQCManagementSampleParameterDataMapper.selectByIds(ids);
if (CollUtil.isEmpty(list) || list.size() != ids.size()) {
throw exception(BUSINESS_QC_MANAGEMENT_SAMPLE_PARAMETER_DATA_NOT_EXISTS);
}
}
private void validateBusinessQCManagementSampleParameterDataExists(Long id) {
if (businessQCManagementSampleParameterDataMapper.selectById(id) == null) {
throw exception(BUSINESS_QC_MANAGEMENT_SAMPLE_PARAMETER_DATA_NOT_EXISTS);
}
}
@Override
public BusinessQCManagementSampleParameterDataDO getBusinessQCManagementSampleParameterData(Long id) {
return businessQCManagementSampleParameterDataMapper.selectById(id);
}
@Override
public PageResult<BusinessQCManagementSampleParameterDataDO> getBusinessQCManagementSampleParameterDataPage(BusinessQCManagementSampleParameterDataPageReqVO pageReqVO) {
return businessQCManagementSampleParameterDataMapper.selectPage(pageReqVO);
}
}

View File

@@ -49,6 +49,7 @@ 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.BusinessQCManagementDataDO;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCManagementParameterDataDO; 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.BusinessQCManagementProjectDataDO;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCManagementSampleParameterDataDO;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleEntrustDetailDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleEntrustDetailDO;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubParentSampleDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubParentSampleDO;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleDO;
@@ -63,6 +64,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.BusinessQCManagementDataMapper;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCManagementParameterDataMapper; 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.BusinessQCManagementProjectDataMapper;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCManagementSampleParameterDataMapper;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSampleEntrustDetailMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSampleEntrustDetailMapper;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubParentSampleAssessmentProjectMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubParentSampleAssessmentProjectMapper;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubParentSampleMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubParentSampleMapper;
@@ -88,6 +90,8 @@ import com.zt.plat.module.qms.business.config.dal.mapper.ConfigQCSampleMethodMap
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.common.data.dal.dataobject.DataCollectionDO; import com.zt.plat.module.qms.common.data.dal.dataobject.DataCollectionDO;
import com.zt.plat.module.qms.common.data.service.DataCollectionService; import com.zt.plat.module.qms.common.data.service.DataCollectionService;
import com.zt.plat.module.qms.common.dic.controller.vo.DictionaryBusinessExtendRespVO;
import com.zt.plat.module.qms.common.dic.dal.mapper.DictionaryBusinessMapper;
import com.zt.plat.module.qms.enums.QmsCommonConstant; import com.zt.plat.module.qms.enums.QmsCommonConstant;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
@@ -97,6 +101,9 @@ import jakarta.annotation.Resource;
@Service @Service
public class SampleAnalysisServiceImpl implements SampleAnalysisService { public class SampleAnalysisServiceImpl implements SampleAnalysisService {
@Resource
private DictionaryBusinessMapper dictionaryBusinessMapper;
@Resource @Resource
private ConfigAssayMethodMapper configAssayMethodMapper; private ConfigAssayMethodMapper configAssayMethodMapper;
@@ -142,6 +149,9 @@ public class SampleAnalysisServiceImpl implements SampleAnalysisService {
@Resource @Resource
private BusinessQCManagementDataMapper businessQCManagementDataMapper; private BusinessQCManagementDataMapper businessQCManagementDataMapper;
@Resource
private BusinessQCManagementSampleParameterDataMapper businessQCManagementSampleParameterDataMapper;
@Resource @Resource
private BusinessQCManagementProjectDataMapper businessQCManagementProjectDataMapper; private BusinessQCManagementProjectDataMapper businessQCManagementProjectDataMapper;
@@ -813,6 +823,22 @@ public class SampleAnalysisServiceImpl implements SampleAnalysisService {
break; break;
} }
BusinessQCManagementDataDO businessQCManagementDataDO = businessQCManagementDataDOList.get(0); BusinessQCManagementDataDO businessQCManagementDataDO = businessQCManagementDataDOList.get(0);
//任务参数查询
List<BusinessAssayProjectAndParameterRespVO> taskParameterList = businessQCManagementSampleParameterDataMapper.selectByBusinessQCManagementDataIds(Arrays.asList(businessQCManagementDataDO.getId()));
Map<Long, List<BusinessAssayProjectAndParameterRespVO>> taskParameterMap = taskParameterList.stream().sorted(Comparator.comparing(BusinessAssayProjectAndParameterRespVO::getParamNo)).collect(Collectors.groupingBy(BusinessAssayProjectAndParameterRespVO::getDicId,
LinkedHashMap::new, // 保持组首次出现的顺序(可选)
Collectors.toList() // ArrayList 保持组内顺序
));
for (Map.Entry<Long, List<BusinessAssayProjectAndParameterRespVO>> entry : taskParameterMap.entrySet()) {
BusinessAssayProjectAndParameterRespVO taskParameter = entry.getValue().get(0);
String fieldIndex = "a" + taskParameter.getDicId();
String title = taskParameter.getShowName() + (StringUtils.isBlank(taskParameter.getUnit()) ? "" : "(" + taskParameter.getUnit() + ")");
boolean isEdit = StringUtils.isBlank(taskParameter.getFormula());
cloumns.add(new BatchSampleAnalysisColumnRespVO(fieldIndex, fieldIndex + ".value", title, "", "120px", taskParameter.getDataType(), taskParameter.getDecimalPosition(), null, taskParameter.getFormula(), taskParameter.getParamNo(), isEdit, taskParameter.getUnit(), "attribute", taskParameter.getFillingWay(), taskParameter.getGroupDictionaryBusinessId(), taskParameter.getGroupDictionaryBusinessKey(), taskParameter.getGroupDictionaryBusinessName()));
}
BusinessQCManagementProjectDataReqVO projectDataSearch = new BusinessQCManagementProjectDataReqVO(); BusinessQCManagementProjectDataReqVO projectDataSearch = new BusinessQCManagementProjectDataReqVO();
projectDataSearch.setBusinessQCManagementDataId(businessQCManagementDataDO.getId()); projectDataSearch.setBusinessQCManagementDataId(businessQCManagementDataDO.getId());
@@ -846,6 +872,12 @@ public class SampleAnalysisServiceImpl implements SampleAnalysisService {
map.put("businessAssayTaskDetailId", ""); map.put("businessAssayTaskDetailId", "");
map.put("sampleCode", businessQCManagementData.getSampleCode()); map.put("sampleCode", businessQCManagementData.getSampleCode());
map.put("sampleName", businessQCManagementData.getSampleName()); map.put("sampleName", businessQCManagementData.getSampleName());
List<BusinessAssayProjectAndParameterRespVO> taskParameterList2 = businessQCManagementSampleParameterDataMapper.selectByBusinessQCManagementDataIds(Arrays.asList(businessQCManagementData.getId()));
for (BusinessAssayProjectAndParameterRespVO taskParameter : taskParameterList2) {
map.put("a" + taskParameter.getDicId(), taskParameter);
}
BusinessQCManagementProjectDataReqVO projectDataSearch2 = new BusinessQCManagementProjectDataReqVO(); BusinessQCManagementProjectDataReqVO projectDataSearch2 = new BusinessQCManagementProjectDataReqVO();
projectDataSearch2.setBusinessQCManagementDataId(businessQCManagementData.getId()); projectDataSearch2.setBusinessQCManagementDataId(businessQCManagementData.getId());
@@ -890,9 +922,13 @@ public class SampleAnalysisServiceImpl implements SampleAnalysisService {
} }
List<BusinessAssayTaskAnalysisDataRespVO> assayTaskAnalysisDataList = vo.getAssayTaskAnalysisDataList(); List<BusinessAssayTaskAnalysisDataRespVO> assayTaskAnalysisDataList = vo.getAssayTaskAnalysisDataList();
List<DictionaryBusinessExtendRespVO> dictionaryBusinessItemList = dictionaryBusinessMapper.selectItemByCategoryKeys(Arrays.asList("withProject", "withoutProject"));
if (CollUtil.isNotEmpty(assayTaskAnalysisDataList)) { if (CollUtil.isNotEmpty(assayTaskAnalysisDataList)) {
for (BusinessAssayTaskAnalysisDataRespVO businessAssayTaskAnalysisDataRespVO : assayTaskAnalysisDataList) { for (BusinessAssayTaskAnalysisDataRespVO businessAssayTaskAnalysisDataRespVO : assayTaskAnalysisDataList) {
if ("analysis".equals(businessAssayTaskAnalysisDataRespVO.getAnalysisType())) { DictionaryBusinessExtendRespVO dictionaryBusinessItem = dictionaryBusinessItemList.stream().filter(f -> f.getKey().equals(businessAssayTaskAnalysisDataRespVO.getAnalysisType())).findFirst().orElse(null);
if ("analysis".equals(businessAssayTaskAnalysisDataRespVO.getAnalysisType())) {//分析样
List<BusinessAssayTaskDataDO> businessAssayTaskDataList = businessAssayTaskDataMapper.selectList(new LambdaQueryWrapperX<BusinessAssayTaskDataDO>().eq(BusinessAssayTaskDataDO::getBusinessAssayTaskId, vo.getBusinessAssayTaskId()).eq(BusinessAssayTaskDataDO::getConfigAssayMethodId, businessAssayTaskDO.getConfigAssayMethodId())); List<BusinessAssayTaskDataDO> businessAssayTaskDataList = businessAssayTaskDataMapper.selectList(new LambdaQueryWrapperX<BusinessAssayTaskDataDO>().eq(BusinessAssayTaskDataDO::getBusinessAssayTaskId, vo.getBusinessAssayTaskId()).eq(BusinessAssayTaskDataDO::getConfigAssayMethodId, businessAssayTaskDO.getConfigAssayMethodId()));
List<Long> businessAssayTaskDataIdList = businessAssayTaskDataList.stream().map(m -> m.getId()).collect(Collectors.toList()); List<Long> businessAssayTaskDataIdList = businessAssayTaskDataList.stream().map(m -> m.getId()).collect(Collectors.toList());
@@ -1007,10 +1043,12 @@ public class SampleAnalysisServiceImpl implements SampleAnalysisService {
businessAssayParameterDataMapper.updateBatch(businessAssayParameterDataList); businessAssayParameterDataMapper.updateBatch(businessAssayParameterDataList);
} }
} else if ("zky".equals(businessAssayTaskAnalysisDataRespVO.getAnalysisType()) || "zkkby".equals(businessAssayTaskAnalysisDataRespVO.getAnalysisType())) { } else if (dictionaryBusinessItem != null && "withProject".equals(dictionaryBusinessItem.getParentDictionaryBusinesskey())) {//带检测项目
List<BusinessQCManagementDataDO> BusinessQCManagementDataList = businessQCManagementDataMapper.selectByBusinessAssayTaskId(businessAssayTaskDO.getId()); List<BusinessQCManagementDataDO> BusinessQCManagementDataList = businessQCManagementDataMapper.selectByBusinessAssayTaskId(businessAssayTaskDO.getId());
List<Long> businessQCManagementDataIdList = BusinessQCManagementDataList.stream().map(m -> m.getId()).collect(Collectors.toList()); List<Long> businessQCManagementDataIdList = BusinessQCManagementDataList.stream().map(m -> m.getId()).collect(Collectors.toList());
List<BusinessQCManagementSampleParameterDataDO> businessQCManagementSampleParameterDataDOList = businessQCManagementSampleParameterDataMapper.selectList(new LambdaQueryWrapperX<BusinessQCManagementSampleParameterDataDO>().in(BusinessQCManagementSampleParameterDataDO::getBusinessQCManagementDataId, businessQCManagementDataIdList));
List<BusinessQCManagementProjectDataDO> businessQCManagementProjectDataList = businessQCManagementProjectDataMapper.selectByBusinessQCManagementDataIds(businessQCManagementDataIdList); List<BusinessQCManagementProjectDataDO> businessQCManagementProjectDataList = businessQCManagementProjectDataMapper.selectByBusinessQCManagementDataIds(businessQCManagementDataIdList);
List<Long> businessQCManagementProjectDataIdList = businessQCManagementProjectDataList.stream().map(m -> m.getId()).collect(Collectors.toList()); List<Long> businessQCManagementProjectDataIdList = businessQCManagementProjectDataList.stream().map(m -> m.getId()).collect(Collectors.toList());
@@ -1079,11 +1117,39 @@ public class SampleAnalysisServiceImpl implements SampleAnalysisService {
} else { } else {
businessQCManagementParameterDataDO.setValue(null); businessQCManagementParameterDataDO.setValue(null);
} }
} else if ("attribute".equals(pap.getType())) {
BusinessQCManagementSampleParameterDataDO businessQCManagementSampleParameterDataDO = businessQCManagementSampleParameterDataDOList.stream().filter(f -> f.getId().equals(pap.getId())).findFirst().orElse(null);
if (StringUtils.isNotBlank(pap.getValue())) {
String dataType = pap.getDataType();//string-字符串int-整数decimal-小数,date-日期datetime-时间
switch (dataType) {
case "int":
case "date":
case "datetime":
case "string":
businessQCManagementSampleParameterDataDO.setValue(pap.getValue());
businessQCManagementSampleParameterDataDO.setRemark(pap.getShowName() + ": " + pap.getValue());
break;
case "decimal":
BigDecimal value = new BigDecimal(pap.getValue());
value = value.setScale(pap.getDecimalPosition(), RoundingMode.HALF_EVEN);
businessQCManagementSampleParameterDataDO.setValue(value.toPlainString());
businessQCManagementSampleParameterDataDO.setRemark(pap.getShowName() + ": " + value.toPlainString());
break;
default:
throw new IllegalArgumentException("Unexpected value: " + dataType);
}
} else {
businessQCManagementSampleParameterDataDO.setValue(null);
}
} }
} }
} }
if (CollUtil.isNotEmpty(businessQCManagementSampleParameterDataDOList)) {
businessQCManagementSampleParameterDataMapper.updateBatch(businessQCManagementSampleParameterDataDOList);
}
if (CollUtil.isNotEmpty(businessQCManagementProjectDataList)) { if (CollUtil.isNotEmpty(businessQCManagementProjectDataList)) {
businessQCManagementProjectDataMapper.updateBatch(businessQCManagementProjectDataList); businessQCManagementProjectDataMapper.updateBatch(businessQCManagementProjectDataList);
} }
@@ -1091,7 +1157,7 @@ public class SampleAnalysisServiceImpl implements SampleAnalysisService {
if (CollUtil.isNotEmpty(businessQCManagementParameterDataList)) { if (CollUtil.isNotEmpty(businessQCManagementParameterDataList)) {
businessQCManagementParameterDataMapper.updateBatch(businessQCManagementParameterDataList); businessQCManagementParameterDataMapper.updateBatch(businessQCManagementParameterDataList);
} }
} else { } else { //不带检测项目的
List<BusinessQCCoefficientDataDO> businessQCCoefficientDataList = businessQCCoefficientDataMapper.selectByBusinessAssayTaskId(businessAssayTaskDO.getId()); List<BusinessQCCoefficientDataDO> businessQCCoefficientDataList = businessQCCoefficientDataMapper.selectByBusinessAssayTaskId(businessAssayTaskDO.getId());
List<Long> businessQCCoefficientDataIdList = businessQCCoefficientDataList.stream().map(m -> m.getId()).collect(Collectors.toList()); List<Long> businessQCCoefficientDataIdList = businessQCCoefficientDataList.stream().map(m -> m.getId()).collect(Collectors.toList());

View File

@@ -33,6 +33,7 @@ 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.BusinessQCManagementDataDO;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCManagementParameterDataDO; 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.BusinessQCManagementProjectDataDO;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCManagementSampleParameterDataDO;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubParentSampleAssessmentDO; 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.BusinessSubSampleAssessmentDO;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleDO;
@@ -47,6 +48,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.BusinessQCManagementDataMapper;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCManagementParameterDataMapper; 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.BusinessQCManagementProjectDataMapper;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCManagementSampleParameterDataMapper;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubParentSampleAssessmentMapper; 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.BusinessSubSampleAssessmentMapper;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubSampleMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubSampleMapper;
@@ -59,8 +61,10 @@ import com.zt.plat.module.qms.business.config.controller.vo.ConfigQCSampleMethod
import com.zt.plat.module.qms.business.config.controller.vo.ConfigQCSampleMethodParameterExtendRespVO; 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.ConfigAssayMethodParameterDO;
import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodProjectParameterDO; 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.ConfigAssayMethodParameterMapper;
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;
@@ -125,6 +129,9 @@ public class SampleTaskAssignServiceImpl implements SampleTaskAssignService {
@Resource @Resource
private ConfigAssayMethodMapper configAssayMethodMapper; private ConfigAssayMethodMapper configAssayMethodMapper;
@Resource
private ConfigAssayMethodParameterMapper configAssayMethodParameterMapper;
@Resource @Resource
private ConfigAssayMethodProjectMapper configAssayMethodProjectMapper; private ConfigAssayMethodProjectMapper configAssayMethodProjectMapper;
@@ -149,6 +156,9 @@ public class SampleTaskAssignServiceImpl implements SampleTaskAssignService {
@Resource @Resource
private BusinessQCManagementDataMapper businessQCManagementDataMapper; private BusinessQCManagementDataMapper businessQCManagementDataMapper;
@Resource
private BusinessQCManagementSampleParameterDataMapper businessQCManagementSampleParameterDataMapper;
@Resource @Resource
private BusinessQCManagementProjectDataMapper businessQCManagementProjectDataMapper; private BusinessQCManagementProjectDataMapper businessQCManagementProjectDataMapper;
@@ -755,6 +765,7 @@ public class SampleTaskAssignServiceImpl implements SampleTaskAssignService {
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void createQcSample(CreateQcSampleReqVO req) { public void createQcSample(CreateQcSampleReqVO req) {
List<BusinessQCManagementDataDO> businessQCManagementDataDOList = new ArrayList<>(); List<BusinessQCManagementDataDO> businessQCManagementDataDOList = new ArrayList<>();
List<BusinessQCManagementSampleParameterDataDO> businessQCManagementSampleParameterDataDOList = new ArrayList<>();
List<BusinessQCManagementProjectDataDO> businessQCManagementProjectDataDOList = new ArrayList<>(); List<BusinessQCManagementProjectDataDO> businessQCManagementProjectDataDOList = new ArrayList<>();
List<BusinessQCManagementParameterDataDO> businessQCManagementParameterDataDOList = new ArrayList<>(); List<BusinessQCManagementParameterDataDO> businessQCManagementParameterDataDOList = new ArrayList<>();
@@ -859,6 +870,21 @@ public class SampleTaskAssignServiceImpl implements SampleTaskAssignService {
businessQCManagementDataDO.setIsReported(QmsCommonConstant.NO); businessQCManagementDataDO.setIsReported(QmsCommonConstant.NO);
businessQCManagementDataDOList.add(businessQCManagementDataDO); businessQCManagementDataDOList.add(businessQCManagementDataDO);
//分析方法参数配置
List<ConfigAssayMethodParameterDO> configAssayMethodParameterDOList = configAssayMethodParameterMapper.selectByConfigAssayMethodId(businessAssayTaskDO.getConfigAssayMethodId());
BusinessQCManagementSampleParameterDataDO businessQCManagementSampleParameterDataDO = null;
for (ConfigAssayMethodParameterDO configAssayMethodParameterDO : configAssayMethodParameterDOList) {
businessQCManagementSampleParameterDataDO = new BusinessQCManagementSampleParameterDataDO();
businessQCManagementSampleParameterDataDO.setId(IdWorker.getId());
businessQCManagementSampleParameterDataDO.setBusinessQCManagementDataId(businessQCManagementDataDO.getId());
businessQCManagementSampleParameterDataDO.setConfigAssayMethodParameterId(configAssayMethodParameterDO.getId());
businessQCManagementSampleParameterDataDO.setDataType(configAssayMethodParameterDO.getDataType());
businessQCManagementSampleParameterDataDO.setDecimalPosition(configAssayMethodParameterDO.getDecimalPosition());
businessQCManagementSampleParameterDataDOList.add(businessQCManagementSampleParameterDataDO);
}
for (ConfigAssayMethodProjectExtendRespVO configAssayMethodProjectExtendRespVO : configAssayMethodProjectExtendRespList) { for (ConfigAssayMethodProjectExtendRespVO configAssayMethodProjectExtendRespVO : configAssayMethodProjectExtendRespList) {
if (!dictionaryProjectIdList.contains(configAssayMethodProjectExtendRespVO.getDictionaryProjectId())) {//不存在则跳过 if (!dictionaryProjectIdList.contains(configAssayMethodProjectExtendRespVO.getDictionaryProjectId())) {//不存在则跳过
@@ -897,6 +923,9 @@ public class SampleTaskAssignServiceImpl implements SampleTaskAssignService {
if (CollUtil.isNotEmpty(businessQCManagementDataDOList)) { if (CollUtil.isNotEmpty(businessQCManagementDataDOList)) {
businessQCManagementDataMapper.insertBatch(businessQCManagementDataDOList); businessQCManagementDataMapper.insertBatch(businessQCManagementDataDOList);
} }
if (CollUtil.isNotEmpty(businessQCManagementSampleParameterDataDOList)) {
businessQCManagementSampleParameterDataMapper.insertBatch(businessQCManagementSampleParameterDataDOList);
}
if (CollUtil.isNotEmpty(businessQCManagementProjectDataDOList)) { if (CollUtil.isNotEmpty(businessQCManagementProjectDataDOList)) {
businessQCManagementProjectDataMapper.insertBatch(businessQCManagementProjectDataDOList); businessQCManagementProjectDataMapper.insertBatch(businessQCManagementProjectDataDOList);
} }

View File

@@ -5,7 +5,6 @@ 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.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.ConfigAssayMethodDO;
import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodParameterDO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodParameterDO;
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;
@@ -41,6 +40,11 @@ public interface ConfigAssayMethodParameterMapper extends BaseMapperX<ConfigAssa
.orderByDesc(ConfigAssayMethodParameterDO::getId)); .orderByDesc(ConfigAssayMethodParameterDO::getId));
} }
default List<ConfigAssayMethodParameterDO> selectByConfigAssayMethodId(Long configAssayMethodId) {
return selectList(new LambdaQueryWrapperX<ConfigAssayMethodParameterDO>()
.eq(ConfigAssayMethodParameterDO::getConfigAssayMethodId, configAssayMethodId));
}
default List<ConfigAssayMethodParameterDO> selectByConfigAssayMethodIds(List<Long> configAssayMethodIdList) { default List<ConfigAssayMethodParameterDO> selectByConfigAssayMethodIds(List<Long> configAssayMethodIdList) {
return selectList(new LambdaQueryWrapperX<ConfigAssayMethodParameterDO>() return selectList(new LambdaQueryWrapperX<ConfigAssayMethodParameterDO>()
.in(ConfigAssayMethodParameterDO::getConfigAssayMethodId, configAssayMethodIdList)); .in(ConfigAssayMethodParameterDO::getConfigAssayMethodId, configAssayMethodIdList));

View File

@@ -0,0 +1,11 @@
package com.zt.plat.module.qms.common.dic.controller.vo;
import lombok.Data;
@Data
public class DictionaryBusinessExtendRespVO extends DictionaryBusinessRespVO {
private String parentDictionaryBusinessName;
private String parentDictionaryBusinesskey;
}

View File

@@ -3,6 +3,7 @@ package com.zt.plat.module.qms.common.dic.dal.mapper;
import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX;
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.common.dic.controller.vo.*; import com.zt.plat.module.qms.common.dic.controller.vo.*;
import com.zt.plat.module.qms.common.dic.controller.vo.DictionaryBusinessPageReqVO; import com.zt.plat.module.qms.common.dic.controller.vo.DictionaryBusinessPageReqVO;
import com.zt.plat.module.qms.common.dic.dal.dataobject.DictionaryBusinessDO; import com.zt.plat.module.qms.common.dic.dal.dataobject.DictionaryBusinessDO;
@@ -35,6 +36,16 @@ public interface DictionaryBusinessMapper extends BaseMapperX<DictionaryBusiness
.eqIfPresent(DictionaryBusinessDO::getRemark, reqVO.getRemark()) .eqIfPresent(DictionaryBusinessDO::getRemark, reqVO.getRemark())
.orderByAsc(DictionaryBusinessDO::getSortNo)); .orderByAsc(DictionaryBusinessDO::getSortNo));
} }
default List<DictionaryBusinessExtendRespVO> selectItemByCategoryKeys(List<String> keys) {
return selectJoinList(DictionaryBusinessExtendRespVO.class, new MPJLambdaWrapperX<DictionaryBusinessDO>()
.leftJoin(DictionaryBusinessDO.class, "dbd", DictionaryBusinessDO::getId, DictionaryBusinessDO::getParentId)
.selectAll(DictionaryBusinessDO.class)
.selectAs("dbd", DictionaryBusinessDO::getKey, DictionaryBusinessExtendRespVO::getParentDictionaryBusinesskey)
.selectAs("dbd", DictionaryBusinessDO::getName, DictionaryBusinessExtendRespVO::getParentDictionaryBusinessName)
.in("dbd", DictionaryBusinessDO::getKey, keys)
.orderByAsc(DictionaryBusinessDO::getSortNo));
}
/** /**