diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessAssayTaskDataController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessAssayTaskDataController.java index 4b6f9990..0832026c 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessAssayTaskDataController.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessAssayTaskDataController.java @@ -98,6 +98,18 @@ public class BusinessAssayTaskDataController implements BusinessControllerMarker List list = businessAssayTaskDataService.getUnAssayTaskGroupList(reqVO); return success(list); } + + @GetMapping("/getUnAssayTaskGroupTypeList") + @Operation(summary = "获得未指派的子样检测任务业务分组列表") + //@PreAuthorize("@ss.hasPermission('qms:business-assay-task-data:query')") + public CommonResult getUnAssayTaskGroupTypeList(BusinessAssayTaskDataReqVO reqVO) { + if (reqVO.getAssayDepartmentId() == null) { + LoginUser loginUser = SecurityFrameworkUtils.getLoginUser(); + reqVO.setAssayDepartmentId(loginUser.getVisitDeptId()); + } + List list = businessAssayTaskDataService.getUnAssayTaskGroupTypeList(reqVO); + return success(list); + } @GetMapping("/getUnAuditTaskGroupList") @Operation(summary = "获得未审核的子样检测任务业务分组列表") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/SampleTaskAssignController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/SampleTaskAssignController.java index b502f8a7..d1e4edcc 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/SampleTaskAssignController.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/SampleTaskAssignController.java @@ -20,6 +20,7 @@ import com.zt.plat.framework.security.core.LoginUser; import com.zt.plat.framework.security.core.util.SecurityFrameworkUtils; import com.zt.plat.module.qms.business.bus.controller.vo.*; import com.zt.plat.module.qms.business.bus.liteflow.param.SampleTaskAssignManualParam; +import com.zt.plat.module.qms.business.bus.liteflow.param.SampleTaskAssignManualTypeParam; import com.zt.plat.module.qms.business.bus.liteflow.param.SampleTaskAssignMethodParam; import com.zt.plat.module.qms.business.bus.liteflow.param.SampleTaskAssignSampleParam; import com.zt.plat.module.qms.business.bus.service.SampleTaskAssignService; @@ -83,18 +84,44 @@ public class SampleTaskAssignController implements BusinessControllerMarker { return success("成功"); } + /** + * 按方法分配 + * @param param + * @return + */ @PostMapping("/methodAssign") public CommonResult methodAssign(@RequestBody SampleTaskAssignMethodParam param) { sampleTaskAssignService.methodAssign(param); return success("成功"); } + /** + * 手动分配 + * @param param + * @return + */ @PostMapping("/manualAssign") public CommonResult manualAssign(@RequestBody SampleTaskAssignManualParam param) { sampleTaskAssignService.manualAssign(param); return success("成功"); } + + /** + * 手动类型分配 + * @param param + * @return + */ + @PostMapping("/manualTypeAssign") + public CommonResult manualTypeAssign(@RequestBody SampleTaskAssignManualTypeParam param) { + sampleTaskAssignService.manualTypeAssign(param); + return success("成功"); + } + /** + * 按样品分配 + * @param param + * @return + */ @PostMapping("/sampleAssign") public CommonResult sampleAssign(@RequestBody SampleTaskAssignSampleParam param) { sampleTaskAssignService.sampleAssign(param); diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDataGroupRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDataGroupRespVO.java index 4ca56694..11a2638d 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDataGroupRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDataGroupRespVO.java @@ -11,8 +11,12 @@ public class BusinessAssayTaskDataGroupRespVO { /** 方法名称 **/ private String configAssayMethodName; + private String configAssayMethodDictionaryBusinessId; + private String configAssayMethodDictionaryBusinessKey; + private String configAssayMethodDictionaryBusinessName; + /** 方法名称及类别 **/ private String configAssayMethodNameAndCategory; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDataPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDataPageReqVO.java index 1b2d5d7b..b4d749b9 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDataPageReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDataPageReqVO.java @@ -108,4 +108,10 @@ public class BusinessAssayTaskDataPageReqVO extends PageParam { @Schema(description = "样品状态") private String sampleStatus; + + private Long configAssayMethodDictionaryBusinessId; + + private String configAssayMethodDictionaryBusinessKey; + + private String configAssayMethodDictionaryBusinessName; } \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDataReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDataReqVO.java index d788436f..bc0a44b2 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDataReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDataReqVO.java @@ -108,6 +108,12 @@ public class BusinessAssayTaskDataReqVO { @Schema(description = "样品状态") private String sampleStatus; + + private Long configAssayMethodDictionaryBusinessId; + + private String configAssayMethodDictionaryBusinessKey; + + private String configAssayMethodDictionaryBusinessName; @Schema(description = "检测方法配置名称") private String configAssayMethodName; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskExtendRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskExtendRespVO.java index 6167eb92..0c024ec9 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskExtendRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskExtendRespVO.java @@ -25,11 +25,16 @@ public class BusinessAssayTaskExtendRespVO extends BusinessAssayTaskRespVO { /** 任务单数据类型,横向:horizontal,纵向:‌vertical **/ private String reportDataType; - /** 分析方法名称 **/ - private String configAssayMethodName; +// /** 分析方法名称 **/ +// private String configAssayMethodName; +// +// @Schema(description = "检测方法配置名称及类别") +// private String configAssayMethodNameAndCategory; - @Schema(description = "检测方法配置名称及类别") - private String configAssayMethodNameAndCategory; + private String configAssayMethodNames; + + @Schema(description = "方法类别名称") + private String dictionaryBusinessName; /** 分析方法对应的分析项目 **/ private String configAssayMethodProjectShowNames; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskPageReqVO.java index 9ede1ae5..1fc43504 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskPageReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskPageReqVO.java @@ -19,8 +19,14 @@ public class BusinessAssayTaskPageReqVO extends PageParam { @Schema(description = "指派单名称", example = "张三") private String taskName; - @Schema(description = "检测方法配置ID", example = "13609") - private Long configAssayMethodId; + @Schema(description = "方法类别ID,字典表【T_DIC_BSN】方法类别:methodCategory,容量法、等离子发射光谱法、原子吸收分光光度等", example = "9102") + private Long dictionaryBusinessId; + + @Schema(description = "方法类别KEY,字典表【T_DIC_BSN】方法类别:methodCategory,容量法、等离子发射光谱法、原子吸收分光光度等") + private String dictionaryBusinessKey; + +// @Schema(description = "检测方法配置ID", example = "13609") +// private Long configAssayMethodId; @Schema(description = "任务单模板ID", example = "4389") private Long configReportTemplateId; @@ -127,10 +133,13 @@ public class BusinessAssayTaskPageReqVO extends PageParam { //=========扩展字段========== - /** 分析方法名称 **/ - @Schema(description = "分析方法") - private String configAssayMethodName; +// /** 分析方法名称 **/ +// @Schema(description = "分析方法") +// private String configAssayMethodName; +// +// @Schema(description = "检测方法配置名称及类别") +// private String configAssayMethodNameAndCategory; - @Schema(description = "检测方法配置名称及类别") - private String configAssayMethodNameAndCategory; + @Schema(description = "方法类别名称") + private String dictionaryBusinessName; } \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskReqVO.java index e8bcd077..c2170699 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskReqVO.java @@ -18,8 +18,14 @@ public class BusinessAssayTaskReqVO { @Schema(description = "指派单名称", example = "张三") private String taskName; - @Schema(description = "检测方法配置ID", example = "13609") - private Long configAssayMethodId; + @Schema(description = "方法类别ID,字典表【T_DIC_BSN】方法类别:methodCategory,容量法、等离子发射光谱法、原子吸收分光光度等", example = "9102") + private Long dictionaryBusinessId; + + @Schema(description = "方法类别KEY,字典表【T_DIC_BSN】方法类别:methodCategory,容量法、等离子发射光谱法、原子吸收分光光度等") + private String dictionaryBusinessKey; + +// @Schema(description = "检测方法配置ID", example = "13609") +// private Long configAssayMethodId; @Schema(description = "任务单模板ID", example = "4389") private Long configReportTemplateId; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskRespVO.java index 2bb7aa36..008c817b 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskRespVO.java @@ -23,9 +23,15 @@ public class BusinessAssayTaskRespVO { @ExcelProperty("指派单名称") private String taskName; - @Schema(description = "检测方法配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "13609") - @ExcelProperty("检测方法配置ID") - private Long configAssayMethodId; + @Schema(description = "方法类别ID,字典表【T_DIC_BSN】方法类别:methodCategory,容量法、等离子发射光谱法、原子吸收分光光度等", example = "9102") + private Long dictionaryBusinessId; + + @Schema(description = "方法类别KEY,字典表【T_DIC_BSN】方法类别:methodCategory,容量法、等离子发射光谱法、原子吸收分光光度等") + private String dictionaryBusinessKey; + +// @Schema(description = "检测方法配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "13609") +// @ExcelProperty("检测方法配置ID") +// private Long configAssayMethodId; @Schema(description = "任务单模板ID", example = "4389") @ExcelProperty("任务单模板ID") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskSaveReqVO.java index cbdfef16..2f9ed894 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskSaveReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskSaveReqVO.java @@ -25,9 +25,14 @@ public class BusinessAssayTaskSaveReqVO { @NotEmpty(message = "指派单名称不能为空") private String taskName; - @Schema(description = "检测方法配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "13609") - @NotNull(message = "检测方法配置ID不能为空") - private Long configAssayMethodId; + @Schema(description = "方法类别ID,字典表【T_DIC_BSN】方法类别:methodCategory,容量法、等离子发射光谱法、原子吸收分光光度等", example = "9102") + private Long dictionaryBusinessId; + + @Schema(description = "方法类别KEY,字典表【T_DIC_BSN】方法类别:methodCategory,容量法、等离子发射光谱法、原子吸收分光光度等") + private String dictionaryBusinessKey; + +// @Schema(description = "检测方法配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "13609") +// private Long configAssayMethodId; @Schema(description = "任务单模板ID", example = "4389") private Long configReportTemplateId; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessQCManagementSampleParameterDataExtendRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessQCManagementSampleParameterDataExtendRespVO.java new file mode 100644 index 00000000..d51abdf8 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessQCManagementSampleParameterDataExtendRespVO.java @@ -0,0 +1,30 @@ +package com.zt.plat.module.qms.business.bus.controller.vo; + +import com.alibaba.excel.annotation.ExcelProperty; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +public class BusinessQCManagementSampleParameterDataExtendRespVO extends BusinessQCManagementSampleParameterDataRespVO { + + @Schema(description = "检测方法ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "29823") + @ExcelProperty("检测方法ID") + private Long configAssayMethodId; + + @Schema(description = "参数名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三") + @ExcelProperty("参数名称") + private String parameterName; + + @Schema(description = "参数简称", example = "张三") + @ExcelProperty("参数简称") + private String shortName; + + @Schema(description = "参数序号", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("参数序号") + private Integer no; + + @Schema(description = "键值") + @ExcelProperty("键值") + private String key; +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessAssayTaskDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessAssayTaskDO.java index 47c8ac31..c949c932 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessAssayTaskDO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessAssayTaskDO.java @@ -40,6 +40,16 @@ public class BusinessAssayTaskDO extends BusinessBaseDO { @TableField("TSK_NAME") private String taskName; /** + * 方法类别ID,字典表【T_DIC_BSN】方法类别:methodCategory,容量法、等离子发射光谱法、原子吸收分光光度等 + */ + @TableField("DIC_BSN_ID") + private Long dictionaryBusinessId; + /** + * 方法类别KEY,字典表【T_DIC_BSN】方法类别:methodCategory,容量法、等离子发射光谱法、原子吸收分光光度等 + */ + @TableField("DIC_BSN_KY") + private String dictionaryBusinessKey; + /** * 检测方法配置ID */ @TableField("CFG_ASY_MTHD_ID") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskDataMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskDataMapper.java index 721153a8..07613588 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskDataMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskDataMapper.java @@ -134,6 +134,12 @@ public interface BusinessAssayTaskDataMapper extends BaseMapperX selectUnAssayTaskGroupList(@Param("reqVO") BusinessAssayTaskDataReqVO reqVO); + + + List selectUnAssayTaskGroupTypeList(@Param("reqVO") BusinessAssayTaskDataReqVO reqVO); /** * 查询未审核的分析任务分组 @@ -546,4 +560,5 @@ public interface BusinessAssayTaskDataMapper extends BaseMapperX selectUnAssignTaskedSubSample(@Param("reqVO") BusinessAssayTaskDataReqVO reqVO); + } \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskMapper.java index eaddd68e..0f9bc812 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskMapper.java @@ -7,6 +7,7 @@ import com.zt.plat.module.qms.business.bus.controller.vo.*; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDetailDO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodDO; +import com.zt.plat.module.qms.common.dic.dal.dataobject.DictionaryBusinessDO; import com.zt.plat.module.qms.enums.QmsCommonConstant; import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; @@ -26,13 +27,17 @@ public interface BusinessAssayTaskMapper extends BaseMapperX selectPage(BusinessAssayTaskPageReqVO reqVO) { return selectJoinPage(reqVO, BusinessAssayTaskExtendRespVO.class, new MPJLambdaWrapperX() .selectSub(BusinessAssayTaskDetailDO.class, s -> s.selectCount(BusinessAssayTaskDetailDO::getId).eq(BusinessAssayTaskDetailDO::getBusinessAssayTaskId, BusinessAssayTaskDO::getId), BusinessAssayTaskExtendRespVO::getAssayTaskCount) - .leftJoin(ConfigAssayMethodDO.class, ConfigAssayMethodDO::getId, BusinessAssayTaskDO::getConfigAssayMethodId) +// .leftJoin(ConfigAssayMethodDO.class, ConfigAssayMethodDO::getId, BusinessAssayTaskDO::getConfigAssayMethodId) + .leftJoin(DictionaryBusinessDO.class, DictionaryBusinessDO::getId, BusinessAssayTaskDO::getDictionaryBusinessId) .selectAll(BusinessAssayTaskDO.class) - .selectAs(ConfigAssayMethodDO::getName, BusinessAssayTaskExtendRespVO::getConfigAssayMethodName) - .selectAs(ConfigAssayMethodDO::getMethodNameCategory, BusinessAssayTaskExtendRespVO::getConfigAssayMethodNameAndCategory) +// .selectAs(ConfigAssayMethodDO::getName, BusinessAssayTaskExtendRespVO::getConfigAssayMethodName) +// .selectAs(ConfigAssayMethodDO::getMethodNameCategory, BusinessAssayTaskExtendRespVO::getConfigAssayMethodNameAndCategory) + .selectAs(DictionaryBusinessDO::getName, BusinessAssayTaskExtendRespVO::getDictionaryBusinessName) .eqIfPresent(BusinessAssayTaskDO::getTaskNo, reqVO.getTaskNo()) .likeIfPresent(BusinessAssayTaskDO::getTaskName, reqVO.getTaskName()) - .eqIfPresent(BusinessAssayTaskDO::getConfigAssayMethodId, reqVO.getConfigAssayMethodId()) + .eqIfPresent(BusinessAssayTaskDO::getDictionaryBusinessId, reqVO.getDictionaryBusinessId()) + .eqIfPresent(BusinessAssayTaskDO::getDictionaryBusinessKey, reqVO.getDictionaryBusinessKey()) +// .eqIfPresent(BusinessAssayTaskDO::getConfigAssayMethodId, reqVO.getConfigAssayMethodId()) .eqIfPresent(BusinessAssayTaskDO::getConfigReportTemplateId, reqVO.getConfigReportTemplateId()) .eqIfPresent(BusinessAssayTaskDO::getConfigReportTemplateKey, reqVO.getConfigReportTemplateKey()) .eqIfPresent(BusinessAssayTaskDO::getTaskSourceType, reqVO.getTaskSourceType()) @@ -63,8 +68,9 @@ public interface BusinessAssayTaskMapper extends BaseMapperX selectList(BusinessAssayTaskPageReqVO reqVO) { return selectJoinList(BusinessAssayTaskExtendRespVO.class, new MPJLambdaWrapperX() .selectSub(BusinessAssayTaskDetailDO.class, s -> s.selectCount(BusinessAssayTaskDetailDO::getId).eq(BusinessAssayTaskDetailDO::getBusinessAssayTaskId, BusinessAssayTaskDO::getId), BusinessAssayTaskExtendRespVO::getAssayTaskCount) - .leftJoin(ConfigAssayMethodDO.class, ConfigAssayMethodDO::getId, BusinessAssayTaskDO::getConfigAssayMethodId) +// .leftJoin(ConfigAssayMethodDO.class, ConfigAssayMethodDO::getId, BusinessAssayTaskDO::getConfigAssayMethodId) + .leftJoin(DictionaryBusinessDO.class, DictionaryBusinessDO::getId, BusinessAssayTaskDO::getDictionaryBusinessId) .selectAll(BusinessAssayTaskDO.class) - .selectAs(ConfigAssayMethodDO::getName, BusinessAssayTaskExtendRespVO::getConfigAssayMethodName) - .selectAs(ConfigAssayMethodDO::getMethodNameCategory, BusinessAssayTaskExtendRespVO::getConfigAssayMethodNameAndCategory) +// .selectAs(ConfigAssayMethodDO::getName, BusinessAssayTaskExtendRespVO::getConfigAssayMethodName) +// .selectAs(ConfigAssayMethodDO::getMethodNameCategory, BusinessAssayTaskExtendRespVO::getConfigAssayMethodNameAndCategory) + .selectAs(DictionaryBusinessDO::getName, BusinessAssayTaskExtendRespVO::getDictionaryBusinessName) .eqIfPresent(BusinessAssayTaskDO::getTaskNo, reqVO.getTaskNo()) .likeIfPresent(BusinessAssayTaskDO::getTaskName, reqVO.getTaskName()) - .eqIfPresent(BusinessAssayTaskDO::getConfigAssayMethodId, reqVO.getConfigAssayMethodId()) + .eqIfPresent(BusinessAssayTaskDO::getDictionaryBusinessId, reqVO.getDictionaryBusinessId()) + .eqIfPresent(BusinessAssayTaskDO::getDictionaryBusinessKey, reqVO.getDictionaryBusinessKey()) +// .eqIfPresent(BusinessAssayTaskDO::getConfigAssayMethodId, reqVO.getConfigAssayMethodId()) .eqIfPresent(BusinessAssayTaskDO::getConfigReportTemplateId, reqVO.getConfigReportTemplateId()) .eqIfPresent(BusinessAssayTaskDO::getConfigReportTemplateKey, reqVO.getConfigReportTemplateKey()) .eqIfPresent(BusinessAssayTaskDO::getTaskSourceType, reqVO.getTaskSourceType()) @@ -111,24 +121,40 @@ public interface BusinessAssayTaskMapper extends BaseMapperX() +// .eq(BusinessAssayTaskDO::getConfigAssayMethodId, configAssayMethodId) +// .eq(BusinessAssayTaskDO::getAssayOperator, assayUser) +// .eq(BusinessAssayTaskDO::getTaskAssignOperator, assignUser) +// .eq(BusinessAssayTaskDO::getTaskAssignStatus, QmsCommonConstant.IN_PROGRESS)); +// } + /** - * 根据分析方法、 分析人和分配人 查询进行中的任务分配单。 - * @param configAssayMethodId 分析方法 + * 根据分析方法类型id、 分析人和分配人 查询进行中的任务分配单。 + * @param dictionaryBusinessId 分析方法 * @param assayUser 分析人 * @param assignUser 分配人 * @return */ - default BusinessAssayTaskDO selectAssignInProgressByAssayUserAndAssignUser(Long configAssayMethodId, String assayUser, String assignUser) { + default BusinessAssayTaskDO selectAssignInProgressByAssayUserAndAssignUser(Long dictionaryBusinessId, String assayUser, String assignUser) { return selectOne(new LambdaQueryWrapperX() - .eq(BusinessAssayTaskDO::getConfigAssayMethodId, configAssayMethodId) + .eq(BusinessAssayTaskDO::getDictionaryBusinessId, dictionaryBusinessId) .eq(BusinessAssayTaskDO::getAssayOperator, assayUser) .eq(BusinessAssayTaskDO::getTaskAssignOperator, assignUser) .eq(BusinessAssayTaskDO::getTaskAssignStatus, QmsCommonConstant.IN_PROGRESS)); @@ -141,11 +167,13 @@ public interface BusinessAssayTaskMapper extends BaseMapperX() - .leftJoin(ConfigAssayMethodDO.class, ConfigAssayMethodDO::getId, BusinessAssayTaskDO::getConfigAssayMethodId) +// .leftJoin(ConfigAssayMethodDO.class, ConfigAssayMethodDO::getId, BusinessAssayTaskDO::getConfigAssayMethodId) + .leftJoin(DictionaryBusinessDO.class, DictionaryBusinessDO::getId, BusinessAssayTaskDO::getDictionaryBusinessId) .selectAll(BusinessAssayTaskDO.class) - .selectAs(ConfigAssayMethodDO::getName, BusinessAssayTaskExtendRespVO::getConfigAssayMethodName) - .selectAs(ConfigAssayMethodDO::getMethodNameCategory, BusinessAssayTaskExtendRespVO::getConfigAssayMethodNameAndCategory) - .selectAs(ConfigAssayMethodDO::getReportDataType, BusinessAssayTaskExtendRespVO::getReportDataType) +// .selectAs(ConfigAssayMethodDO::getName, BusinessAssayTaskExtendRespVO::getConfigAssayMethodName) +// .selectAs(ConfigAssayMethodDO::getMethodNameCategory, BusinessAssayTaskExtendRespVO::getConfigAssayMethodNameAndCategory) + .selectAs(DictionaryBusinessDO::getName, BusinessAssayTaskExtendRespVO::getDictionaryBusinessName) +// .selectAs(ConfigAssayMethodDO::getReportDataType, BusinessAssayTaskExtendRespVO::getReportDataType) .eq(BusinessAssayTaskDO::getId, id)); } diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessQCManagementSampleParameterDataMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessQCManagementSampleParameterDataMapper.java index 86abe8b7..7dc38959 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessQCManagementSampleParameterDataMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessQCManagementSampleParameterDataMapper.java @@ -6,7 +6,6 @@ import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; import com.zt.plat.framework.mybatis.core.query.MPJLambdaWrapperX; import com.zt.plat.module.qms.business.bus.controller.vo.*; -import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskParameterDataDO; 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; @@ -60,5 +59,19 @@ public interface BusinessQCManagementSampleParameterDataMapper extends BaseMappe .in(BusinessQCManagementSampleParameterDataDO::getBusinessQCManagementDataId, businessQCManagementDataIdList) .orderByAsc(ConfigAssayMethodParameterDO::getSortNo)); } + + + default List selectExtendByBusinessQCManagementDataIds(List businessQCManagementDataIdList) { + return selectJoinList(BusinessQCManagementSampleParameterDataExtendRespVO.class, new MPJLambdaWrapperX() + .leftJoin(ConfigAssayMethodParameterDO.class, ConfigAssayMethodParameterDO::getId, BusinessQCManagementSampleParameterDataDO::getConfigAssayMethodParameterId) + .selectAll(BusinessQCManagementSampleParameterDataDO.class) + .selectAs(ConfigAssayMethodParameterDO::getConfigAssayMethodId, BusinessQCManagementSampleParameterDataExtendRespVO::getConfigAssayMethodId) + .selectAs(ConfigAssayMethodParameterDO::getParameterName, BusinessQCManagementSampleParameterDataExtendRespVO::getParameterName) + .selectAs(ConfigAssayMethodParameterDO::getShortName, BusinessQCManagementSampleParameterDataExtendRespVO::getShortName) + .selectAs(ConfigAssayMethodParameterDO::getKey, BusinessQCManagementSampleParameterDataExtendRespVO::getKey) + .selectAs(ConfigAssayMethodParameterDO::getNo, BusinessQCManagementSampleParameterDataExtendRespVO::getNo) + .in(BusinessQCManagementSampleParameterDataDO::getBusinessQCManagementDataId, businessQCManagementDataIdList) + ); + } } \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/param/SampleTaskAssignManualTypeParam.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/param/SampleTaskAssignManualTypeParam.java new file mode 100644 index 00000000..0f280ba9 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/param/SampleTaskAssignManualTypeParam.java @@ -0,0 +1,20 @@ +package com.zt.plat.module.qms.business.bus.liteflow.param; + +import java.util.List; + +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 手动类型分配任务 + */ +@Data +@Accessors(chain = true) +public class SampleTaskAssignManualTypeParam { + + /** 分析人员 **/ + private AssignAssayUser assignAssayUser; + + /** 检测任务id列表 **/ + private List assayTaskDataIdList; +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/taskassign/SampleTaskAssignContextInitCmp.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/taskassign/SampleTaskAssignContextInitCmp.java index 74ca6526..6acdbd48 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/taskassign/SampleTaskAssignContextInitCmp.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/taskassign/SampleTaskAssignContextInitCmp.java @@ -7,6 +7,7 @@ import com.zt.plat.framework.security.core.LoginUser; import com.zt.plat.framework.security.core.util.SecurityFrameworkUtils; import com.zt.plat.framework.tenant.core.context.TenantContextHolder; import com.zt.plat.module.qms.business.bus.liteflow.param.SampleTaskAssignManualParam; +import com.zt.plat.module.qms.business.bus.liteflow.param.SampleTaskAssignManualTypeParam; import com.zt.plat.module.qms.business.bus.liteflow.param.SampleTaskAssignMethodParam; import com.zt.plat.module.qms.business.bus.liteflow.param.SampleTaskAssignSampleParam; import com.zt.plat.module.qms.business.bus.liteflow.slot.SampleTaskAssignContext; @@ -52,6 +53,13 @@ public class SampleTaskAssignContextInitCmp extends NodeComponent { sampleTaskAssignContext.setAssayTaskDataIdList(sampleTaskAssignManualParam.getAssayTaskDataIdList()); } + + if (this.getRequestData() instanceof SampleTaskAssignManualTypeParam) { + SampleTaskAssignManualTypeParam sampleTaskAssignManualParam = this.getRequestData(); + sampleTaskAssignContext.setSampleTaskAssignType(SampleTaskAssignTypeEnum.MANUAL_TYPE); + sampleTaskAssignContext.setAssignAssayUser(sampleTaskAssignManualParam.getAssignAssayUser()); + sampleTaskAssignContext.setAssayTaskDataIdList(sampleTaskAssignManualParam.getAssayTaskDataIdList()); + } } diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/taskassign/SampleTaskAssignManualTypeCmp.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/taskassign/SampleTaskAssignManualTypeCmp.java new file mode 100644 index 00000000..cf66727c --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/taskassign/SampleTaskAssignManualTypeCmp.java @@ -0,0 +1,174 @@ +package com.zt.plat.module.qms.business.bus.liteflow.sample.taskassign; + +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.yomahub.liteflow.annotation.LiteflowComponent; +import com.yomahub.liteflow.core.NodeComponent; +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.BusinessAssayTaskDataDO; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDetailDO; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleDO; +import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayTaskDataMapper; +import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayTaskMapper; +import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubSampleMapper; +import com.zt.plat.module.qms.business.bus.liteflow.param.AssignAssayUser; +import com.zt.plat.module.qms.business.bus.liteflow.slot.SampleTaskAssignContext; +import com.zt.plat.module.qms.business.bus.liteflow.slot.SampleTaskAssignTypeEnum; +import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodDO; +import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigReportTemplateDO; +import com.zt.plat.module.qms.business.config.dal.mapper.ConfigAssayMethodMapper; +import com.zt.plat.module.qms.business.config.dal.mapper.ConfigReportTemplateMapper; +import com.zt.plat.module.qms.common.dic.dal.dataobject.DictionaryBusinessDO; +import com.zt.plat.module.qms.common.dic.dal.mapper.DictionaryBusinessMapper; +import com.zt.plat.module.qms.core.code.SequenceUtil; +import com.zt.plat.module.qms.enums.QmsCommonConstant; + +import jakarta.annotation.Resource; + + +@LiteflowComponent(id = "sampleTaskAssignManualTypeCmp", name = "手动分配(按分析方法类型)") +public class SampleTaskAssignManualTypeCmp extends NodeComponent { + + @Resource + private SequenceUtil sequenceUtil; + + @Resource + private DictionaryBusinessMapper dictionaryBusinessMapper; + + @Resource + private ConfigAssayMethodMapper configAssayMethodMapper; + + @Resource + private ConfigReportTemplateMapper configReportTemplateMapper; + + @Resource + private BusinessAssayTaskDataMapper businessAssayTaskDataMapper; + + @Resource + private BusinessAssayTaskMapper businessAssayTaskMapper; + + @Resource + private BusinessSubSampleMapper businessSubSampleMapper; + + @Override + public void process() throws Exception { + SampleTaskAssignContext sampleTaskAssignContext = this.getContextBean(SampleTaskAssignContext.class); + String loginRealname = sampleTaskAssignContext.getLoginRealname(); + LoginUser loginUser = sampleTaskAssignContext.getLoginUser(); + LocalDateTime currentDateTime = sampleTaskAssignContext.getCurrentDateTime(); + AssignAssayUser assignAssayUser = sampleTaskAssignContext.getAssignAssayUser(); + List assayTaskDataIdList = sampleTaskAssignContext.getAssayTaskDataIdList(); + List businessAssayTaskDataList = businessAssayTaskDataMapper.selectByIds(assayTaskDataIdList); + List businessSubSampleIdList = businessAssayTaskDataList.stream().map(m -> m.getBusinessSubSampleId()).distinct().collect(Collectors.toList()); + List configAssayMethodIdList = businessAssayTaskDataList.stream().map(m -> m.getConfigAssayMethodId()).distinct().collect(Collectors.toList()); + List configAssayMethodList = configAssayMethodMapper.selectByIds(configAssayMethodIdList); + sampleTaskAssignContext.setConfigAssayMethodList(configAssayMethodList); + + //查询子样 + List businessSubSampleList = businessSubSampleMapper.selectByIds(businessSubSampleIdList); + sampleTaskAssignContext.setBusinessSubSampleList(businessSubSampleList); + + //保存任务分配单 + List saveBusinessAssayTaskList = new ArrayList<>(); + //更新任务分配单 + List updateBusinessAssayTaskList = new ArrayList<>(); + //任务分配单明细 + List businessAssayTaskDetailList = new ArrayList<>(); + + + //按方法类型分组 + Map> groupConfigAssayMethodListMap = configAssayMethodList.stream().collect(Collectors.groupingBy(ConfigAssayMethodDO::getDictionaryBusinessId)); + //Map> groupBusinessAssayTaskDataListMap = businessAssayTaskDataList.stream().collect(Collectors.groupingBy(BusinessAssayTaskDataDO::get)); + for (Map.Entry> entry : groupConfigAssayMethodListMap.entrySet()) { + long key = entry.getKey(); + List currConfigAssayMethodList = entry.getValue(); + List currConfigAssayMethodIdList = currConfigAssayMethodList.stream().map(m -> m.getId()).collect(Collectors.toList()); + ConfigAssayMethodDO configAssayMethod = currConfigAssayMethodList.get(0); +// ConfigAssayMethodDO configAssayMethod = sampleTaskAssignContext.getConfigAssayMethodById(key); + DictionaryBusinessDO dictionaryBusinessDO = dictionaryBusinessMapper.selectById(key); + //查询报表模板 + ConfigReportTemplateDO configReportTemplate = configReportTemplateMapper.selectLatestConfigReportTemplateByKey(configAssayMethod.getConfigReportTemplateKey()); + + //根据分配 + BusinessAssayTaskDO businessAssayTaskDO = businessAssayTaskMapper.selectAssignInProgressByAssayUserAndAssignUser(key, assignAssayUser.getRealName(), loginRealname); + if (businessAssayTaskDO == null) { + String taskNo = sequenceUtil.genCode(configAssayMethod.getCodeRule()); + + businessAssayTaskDO = new BusinessAssayTaskDO(); + businessAssayTaskDO.setId(IdWorker.getId()); + businessAssayTaskDO.setTaskNo(taskNo); +// businessAssayTaskDO.setTaskName(configAssayMethod.getName()); + businessAssayTaskDO.setTaskName(dictionaryBusinessDO.getName()); + businessAssayTaskDO.setAssayOperator(assignAssayUser.getRealName()); + businessAssayTaskDO.setAssayOperatorId(assignAssayUser.getUserId()); + businessAssayTaskDO.setConfigAssayMethodId(configAssayMethod.getId());//以第一个样品的分析方法做为主的分析方法id,后续代码改动量少 + businessAssayTaskDO.setDictionaryBusinessId(configAssayMethod.getDictionaryBusinessId()); + businessAssayTaskDO.setDictionaryBusinessKey(configAssayMethod.getDictionaryBusinessKey()); + businessAssayTaskDO.setTaskSourceType(QmsCommonConstant.TASK_ASSIGN); + businessAssayTaskDO.setConfigReportTemplateId(configReportTemplate.getId()); + businessAssayTaskDO.setConfigReportTemplateKey(configReportTemplate.getKey()); + businessAssayTaskDO.setIsIngredients(configAssayMethod.getIsIngredients()); + businessAssayTaskDO.setIngredientsStatus("initial"); + + businessAssayTaskDO.setTaskAssignOperator(loginRealname); + businessAssayTaskDO.setTaskAssignOperatorId(loginUser.getId()); + businessAssayTaskDO.setTaskAssignTime(currentDateTime); + businessAssayTaskDO.setTaskAssignStatus(QmsCommonConstant.IN_PROGRESS); + businessAssayTaskDO.setTaskAssayStatus(QmsCommonConstant.NOT_START); + businessAssayTaskDO.setFinishStatus(QmsCommonConstant.NOT_START); + businessAssayTaskDO.setFlowStatus(QmsCommonConstant.NOT_START); + + saveBusinessAssayTaskList.add(businessAssayTaskDO); + } else { + updateBusinessAssayTaskList.add(businessAssayTaskDO); + } + + BusinessAssayTaskDetailDO businessAssayTaskDetailDO = null; + List valList = businessAssayTaskDataList.stream().filter(f -> currConfigAssayMethodIdList.contains(f.getConfigAssayMethodId())).collect(Collectors.toList()); + + int sort = 1; + for (BusinessAssayTaskDataDO val : valList) { + val.setIsAssignTasked(QmsCommonConstant.YES); + val.setAssignTaskTime(currentDateTime); + val.setAssayOperator(assignAssayUser.getRealName()); + val.setAssayOperatorId(assignAssayUser.getUserId()); + val.setBusinessAssayTaskId(businessAssayTaskDO.getId()); + + BusinessSubSampleDO businessSubSampleDO = sampleTaskAssignContext.getBusinessSubSampleById(val.getBusinessSubSampleId()); + + businessAssayTaskDetailDO = new BusinessAssayTaskDetailDO(); + businessAssayTaskDetailDO.setBusinessAssayTaskDataId(val.getId()); + businessAssayTaskDetailDO.setBusinessAssayTaskId(businessAssayTaskDO.getId()); + businessAssayTaskDetailDO.setTaskNo(businessAssayTaskDO.getTaskNo()); + businessAssayTaskDetailDO.setSampleId(val.getBusinessSubSampleId()); + businessAssayTaskDetailDO.setSampleCode(businessSubSampleDO.getSampleAssayCode()); + businessAssayTaskDetailDO.setSampleName(businessSubSampleDO.getSampleName()); + businessAssayTaskDetailDO.setDataSourceType(QmsCommonConstant.NORMAL); + businessAssayTaskDetailDO.setSortNo(sort); + sort++; + + + businessAssayTaskDetailList.add(businessAssayTaskDetailDO); + } + + } + + sampleTaskAssignContext.setSaveBusinessAssayTaskList(saveBusinessAssayTaskList); + sampleTaskAssignContext.setUpdateBusinessAssayTaskList(updateBusinessAssayTaskList); + sampleTaskAssignContext.setBusinessAssayTaskDataList(businessAssayTaskDataList); + sampleTaskAssignContext.setBusinessAssayTaskDetailList(businessAssayTaskDetailList); + } + + @Override + public boolean isAccess() { + SampleTaskAssignContext sampleTaskAssignContext = this.getContextBean(SampleTaskAssignContext.class); + return sampleTaskAssignContext.getSampleTaskAssignType().equals(SampleTaskAssignTypeEnum.MANUAL_TYPE); + } + +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/slot/SampleTaskAssignTypeEnum.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/slot/SampleTaskAssignTypeEnum.java index a1368d32..5a1ac95c 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/slot/SampleTaskAssignTypeEnum.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/slot/SampleTaskAssignTypeEnum.java @@ -7,6 +7,8 @@ public enum SampleTaskAssignTypeEnum { //样品指派 SAMPLE, //手动指派 - MANUAL + MANUAL, + //手动分析方法类型 + MANUAL_TYPE } diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayTaskDataService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayTaskDataService.java index 50c46be8..03b01dc2 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayTaskDataService.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayTaskDataService.java @@ -58,6 +58,13 @@ public interface BusinessAssayTaskDataService { * @return */ List getUnAssayTaskGroupList(BusinessAssayTaskDataReqVO reqVO); + + /** + * 获得未指派的子样检测任务业务分组列表 + * @param reqVO + * @return + */ + List getUnAssayTaskGroupTypeList(BusinessAssayTaskDataReqVO reqVO); /** * 获得审核的子样检测任务业务分组列表 @@ -82,4 +89,5 @@ public interface BusinessAssayTaskDataService { PageResult getBusinessAssayTaskDataPage(BusinessAssayTaskDataPageReqVO pageReqVO); + } \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayTaskDataServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayTaskDataServiceImpl.java index c323fe73..557f67a6 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayTaskDataServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayTaskDataServiceImpl.java @@ -115,6 +115,11 @@ public class BusinessAssayTaskDataServiceImpl implements BusinessAssayTaskDataSe return businessAssayTaskDataMapper.selectUnAssayTaskGroupList(reqVO); } + @Override + public List getUnAssayTaskGroupTypeList(BusinessAssayTaskDataReqVO reqVO) { + return businessAssayTaskDataMapper.selectUnAssayTaskGroupTypeList(reqVO); + } + @Override public List getUnAuditTaskGroupList(BusinessAssayTaskDataReqVO reqVO) { return businessAssayTaskDataMapper.selectUnAuditTaskGroupList(reqVO); @@ -127,7 +132,16 @@ public class BusinessAssayTaskDataServiceImpl implements BusinessAssayTaskDataSe return list; } List configSubSampleIdList = list.stream().map(m -> m.getConfigSubSampleId()).collect(Collectors.toList()); - List configSubSampleMethodList = configSubSampleMethodMapper.selectByConfigSubSampleIdsAndConfigAssayMethodId(configSubSampleIdList, reqVO.getConfigAssayMethodId()); + + List configSubSampleMethodList = new ArrayList<>(); + if (reqVO.getConfigAssayMethodId() != null) { + configSubSampleMethodList = configSubSampleMethodMapper.selectByConfigSubSampleIdsAndConfigAssayMethodId(configSubSampleIdList, reqVO.getConfigAssayMethodId()); + } else if (reqVO.getConfigAssayMethodDictionaryBusinessId() != null) { + configSubSampleMethodList = configSubSampleMethodMapper.selectByConfigSubSampleIdsAndConfigAssayMethodDictionaryBusinessId(configSubSampleIdList, reqVO.getConfigAssayMethodDictionaryBusinessId()); + } else if (StringUtils.isNotBlank(reqVO.getConfigAssayMethodDictionaryBusinessKey())) { + configSubSampleMethodList = configSubSampleMethodMapper.selectByConfigSubSampleIdsAndConfigAssayMethodDictionaryBusinessKey(configSubSampleIdList, reqVO.getConfigAssayMethodDictionaryBusinessKey()); + } + List businessAssayTaskDataIdList = list.stream().map(m -> m.getId()).collect(Collectors.toList()); //查询检测项目 List businessAssayProjectDataList = businessAssayProjectDataMapper.selectByBusinessAssayTaskDataIds(businessAssayTaskDataIdList); @@ -176,7 +190,15 @@ public class BusinessAssayTaskDataServiceImpl implements BusinessAssayTaskDataSe return page; } List configSubSampleIdList = list.stream().map(m -> m.getConfigSubSampleId()).collect(Collectors.toList()); - List configSubSampleMethodList = configSubSampleMethodMapper.selectByConfigSubSampleIdsAndConfigAssayMethodId(configSubSampleIdList, pageReqVO.getConfigAssayMethodId()); + List configSubSampleMethodList = new ArrayList<>(); + if (pageReqVO.getConfigAssayMethodId() != null) { + configSubSampleMethodList = configSubSampleMethodMapper.selectByConfigSubSampleIdsAndConfigAssayMethodId(configSubSampleIdList, pageReqVO.getConfigAssayMethodId()); + } else if (pageReqVO.getConfigAssayMethodDictionaryBusinessId() != null) { + configSubSampleMethodList = configSubSampleMethodMapper.selectByConfigSubSampleIdsAndConfigAssayMethodDictionaryBusinessId(configSubSampleIdList, pageReqVO.getConfigAssayMethodDictionaryBusinessId()); + } else if (StringUtils.isNotBlank(pageReqVO.getConfigAssayMethodDictionaryBusinessKey())) { + configSubSampleMethodList = configSubSampleMethodMapper.selectByConfigSubSampleIdsAndConfigAssayMethodDictionaryBusinessKey(configSubSampleIdList, pageReqVO.getConfigAssayMethodDictionaryBusinessKey()); + } + List businessAssayTaskDataIdList = list.stream().map(m -> m.getId()).collect(Collectors.toList()); //查询检测项目 List businessAssayProjectDataList = businessAssayProjectDataMapper.selectByBusinessAssayTaskDataIds(businessAssayTaskDataIdList); diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayTaskServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayTaskServiceImpl.java index de5833fa..9642144d 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayTaskServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayTaskServiceImpl.java @@ -18,8 +18,12 @@ import com.zt.plat.framework.common.pojo.PageResult; 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.BusinessAssayTaskDO; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDataDO; +import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayTaskDataMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayTaskMapper; 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.mapper.ConfigAssayMethodMapper; import com.zt.plat.module.qms.business.config.dal.mapper.ConfigAssayMethodProjectMapper; import com.zt.plat.module.qms.business.config.dal.mapper.ConfigQCSampleMethodMapper; @@ -38,6 +42,12 @@ public class BusinessAssayTaskServiceImpl implements BusinessAssayTaskService { @Resource private BusinessAssayTaskMapper businessAssayTaskMapper; + @Resource + private BusinessAssayTaskDataMapper businessAssayTaskDataMapper; + + @Resource + private ConfigAssayMethodMapper configAssayMethodMapper; + @Resource private ConfigAssayMethodProjectMapper configAssayMethodProjectMapper; @@ -94,10 +104,16 @@ public class BusinessAssayTaskServiceImpl implements BusinessAssayTaskService { @Override public BusinessAssayTaskExtendRespVO getBusinessAssayTask(Long id) { BusinessAssayTaskExtendRespVO businessAssayTaskExtendRespVO = businessAssayTaskMapper.selectBusinessAssayTaskById(id); - List configAssayMethodProjectList = configAssayMethodProjectMapper.selectByConfigAssayMethodId(businessAssayTaskExtendRespVO.getConfigAssayMethodId()); - String assayProject = configAssayMethodProjectList.stream().map(m -> m.getShowName()).collect(Collectors.joining(",")); - businessAssayTaskExtendRespVO.setConfigAssayMethodProjectShowNames(assayProject); - List configQCSampleMethodList = configQCSampleMethodMapper.selectByConfigAssayMethodId(businessAssayTaskExtendRespVO.getConfigAssayMethodId()); + List businessAssayTaskDataList = businessAssayTaskDataMapper.selectByBusinessAssayTaskId(id); + List configAssayMethodIdList = businessAssayTaskDataList.stream().map(m -> m.getConfigAssayMethodId()).distinct().collect(Collectors.toList()); + List configAssayMethodList = configAssayMethodMapper.selectByIds(configAssayMethodIdList); + String configAssayMethodNames = configAssayMethodList.stream().map(m -> m.getName()).collect(Collectors.joining("、")); + businessAssayTaskExtendRespVO.setConfigAssayMethodNames(configAssayMethodNames); +// List configAssayMethodProjectList = configAssayMethodProjectMapper.selectByConfigAssayMethodId(businessAssayTaskExtendRespVO.getConfigAssayMethodId()); +// String assayProject = configAssayMethodProjectList.stream().map(m -> m.getShowName()).collect(Collectors.joining(",")); +// businessAssayTaskExtendRespVO.setConfigAssayMethodProjectShowNames(assayProject); +// List configQCSampleMethodList = configQCSampleMethodMapper.selectByConfigAssayMethodId(businessAssayTaskExtendRespVO.getConfigAssayMethodId()); + List configQCSampleMethodList = configQCSampleMethodMapper.selectByConfigAssayMethodIdList(configAssayMethodIdList); businessAssayTaskExtendRespVO.setConfigQCSampleMethodList(configQCSampleMethodList); return businessAssayTaskExtendRespVO; } diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisAuditServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisAuditServiceImpl.java index c01eadac..70013758 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisAuditServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisAuditServiceImpl.java @@ -350,7 +350,8 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic if ("horizontal".equals(reportDataType)) { List businessAssayTaskDetailList = businessAssayTaskDetailMapper.selectList(new LambdaQueryWrapperX().eq(BusinessAssayTaskDetailDO::getBusinessAssayTaskId, businessAssayTaskDO.getId())); - List businessAssayTaskDataList = businessAssayTaskDataMapper.selectList(new LambdaQueryWrapperX().eq(BusinessAssayTaskDataDO::getBusinessAssayTaskId, businessAssayTaskDO.getId()).eq(BusinessAssayTaskDataDO::getConfigAssayMethodId, businessAssayTaskDO.getConfigAssayMethodId())); +// List businessAssayTaskDataList = businessAssayTaskDataMapper.selectList(new LambdaQueryWrapperX().eq(BusinessAssayTaskDataDO::getBusinessAssayTaskId, businessAssayTaskDO.getId()).eq(BusinessAssayTaskDataDO::getConfigAssayMethodId, businessAssayTaskDO.getConfigAssayMethodId())); + List businessAssayTaskDataList = businessAssayTaskDataMapper.selectByBusinessAssayTaskId(businessAssayTaskId); for (BusinessAssayTaskDetailDO businessAssayTaskDetailDO : businessAssayTaskDetailList) { Map map = new HashedMap<>(); @@ -479,8 +480,9 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic } else if ("vertical".equals(reportDataType)) {//纵向数据 List businessAssayTaskDetailList = businessAssayTaskDetailMapper.selectList(new LambdaQueryWrapperX().eq(BusinessAssayTaskDetailDO::getBusinessAssayTaskId, businessAssayTaskDO.getId())); - List businessAssayTaskDataList = businessAssayTaskDataMapper.selectList(new LambdaQueryWrapperX().eq(BusinessAssayTaskDataDO::getBusinessAssayTaskId, businessAssayTaskDO.getId()).eq(BusinessAssayTaskDataDO::getConfigAssayMethodId, businessAssayTaskDO.getConfigAssayMethodId())); - +// List businessAssayTaskDataList = businessAssayTaskDataMapper.selectList(new LambdaQueryWrapperX().eq(BusinessAssayTaskDataDO::getBusinessAssayTaskId, businessAssayTaskDO.getId()).eq(BusinessAssayTaskDataDO::getConfigAssayMethodId, businessAssayTaskDO.getConfigAssayMethodId())); + List businessAssayTaskDataList = businessAssayTaskDataMapper.selectByBusinessAssayTaskId(businessAssayTaskId); + for (BusinessAssayTaskDetailDO businessAssayTaskDetailDO : businessAssayTaskDetailList) { //BusinessAssayTaskDetailDO businessAssayTaskDetailDO = businessAssayTaskDetailList.stream().filter(f -> f.getSampleId().equals(businessAssayTaskDataDO.getBusinessSubSampleId())).findFirst().orElse(null); diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisService.java index 443af1bf..f048e702 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisService.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisService.java @@ -14,12 +14,14 @@ public interface SampleAnalysisService { * @param businessAssayTaskId 任务分配单id * @return */ + @Deprecated BusinessAssayTaskAnalysisSampleProjectRespVO batchSampleAnalysisByTaskId(Long businessAssayTaskId); /** * 批量保存任务单录入数据 * @param vo */ + @Deprecated void saveBatchSampleAnalysis(BusinessAssayTaskAnalysisSampleProjectRespVO vo); /** diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisServiceImpl.java index a694e172..d3be7786 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisServiceImpl.java @@ -176,6 +176,7 @@ public class SampleAnalysisServiceImpl implements SampleAnalysisService { private DataCollectionService dataCollectionService; @Override + @Deprecated @Transactional(rollbackFor = Exception.class) public BusinessAssayTaskAnalysisSampleProjectRespVO batchSampleAnalysisByTaskId(Long businessAssayTaskId) { BusinessAssayTaskAnalysisSampleProjectRespVO businessAssayTaskAnalysisSampleProjectRespVO = new BusinessAssayTaskAnalysisSampleProjectRespVO(); @@ -388,6 +389,7 @@ public class SampleAnalysisServiceImpl implements SampleAnalysisService { } @Override + @Deprecated @Transactional(rollbackFor = Exception.class) public void saveBatchSampleAnalysis(BusinessAssayTaskAnalysisSampleProjectRespVO vo) { BusinessAssayTaskDO businessAssayTaskDO = businessAssayTaskMapper.selectById(vo.getBusinessAssayTaskId()); diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleTaskAssignService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleTaskAssignService.java index 695fe4df..2cd50c44 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleTaskAssignService.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleTaskAssignService.java @@ -6,6 +6,7 @@ import com.yomahub.liteflow.flow.LiteflowResponse; import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO; import com.zt.plat.module.qms.business.bus.controller.vo.*; import com.zt.plat.module.qms.business.bus.liteflow.param.SampleTaskAssignManualParam; +import com.zt.plat.module.qms.business.bus.liteflow.param.SampleTaskAssignManualTypeParam; import com.zt.plat.module.qms.business.bus.liteflow.param.SampleTaskAssignMethodParam; import com.zt.plat.module.qms.business.bus.liteflow.param.SampleTaskAssignSampleParam; import com.zt.plat.module.system.api.user.dto.AdminUserRespDTO; @@ -72,6 +73,13 @@ public interface SampleTaskAssignService { */ LiteflowResponse manualAssign(SampleTaskAssignManualParam param); + /** + * 手动类型分配 + * @param param + * @return + */ + LiteflowResponse manualTypeAssign(SampleTaskAssignManualTypeParam param); + /** * 提交任务单 * @param id diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleTaskAssignServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleTaskAssignServiceImpl.java index c6a78ee2..26d82b05 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleTaskAssignServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleTaskAssignServiceImpl.java @@ -56,6 +56,7 @@ import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubParentSampleAss import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubSampleAssessmentMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubSampleMapper; import com.zt.plat.module.qms.business.bus.liteflow.param.SampleTaskAssignManualParam; +import com.zt.plat.module.qms.business.bus.liteflow.param.SampleTaskAssignManualTypeParam; import com.zt.plat.module.qms.business.bus.liteflow.param.SampleTaskAssignMethodParam; import com.zt.plat.module.qms.business.bus.liteflow.param.SampleTaskAssignSampleParam; import com.zt.plat.module.qms.business.bus.liteflow.slot.SampleTaskAssignContext; @@ -1262,6 +1263,24 @@ public class SampleTaskAssignServiceImpl implements SampleTaskAssignService { return response; } + @Override + @Transactional(rollbackFor = Exception.class) + public LiteflowResponse manualTypeAssign(SampleTaskAssignManualTypeParam param) { + if (param.getAssignAssayUser() == null) { + throw new ServiceException(1_032_100_000, "无任务分配人员"); + } + if (CollUtil.isEmpty(param.getAssayTaskDataIdList())) { + throw new ServiceException(1_032_100_000, "无分配的检测任务"); + } + Long tenantId = TenantContextHolder.getRequiredTenantId(); + LiteflowResponse response = flowExecutor.execute2Resp("sampleTaskAssignChain" + tenantId, param, SampleTaskAssignContext.class); + if (!response.isSuccess()){ + log.error("手动分配任务失败", response.getCause()); + throw new ServiceException(1_032_100_000, response.getCause().getMessage()); + } + return response; + } + @Override @Transactional(rollbackFor = Exception.class) public void submitAssign(Long id) { diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigQCSampleMethodMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigQCSampleMethodMapper.java index 1b88f584..6fe006dd 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigQCSampleMethodMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigQCSampleMethodMapper.java @@ -52,6 +52,20 @@ public interface ConfigQCSampleMethodMapper extends BaseMapperX selectByConfigAssayMethodIdList(List configAssayMethodIdList) { + return selectJoinList(ConfigQCSampleMethodExtendRespVO.class, new MPJLambdaWrapperX() + .leftJoin(DictionaryBusinessDO.class, "dbd1", DictionaryBusinessDO::getId, ConfigQCSampleMethodDO::getDictionaryBusinessId) + .leftJoin(DictionaryBusinessDO.class, "dbd2", DictionaryBusinessDO::getId, "dbd1", DictionaryBusinessDO::getParentId) + .selectAll(ConfigQCSampleMethodDO.class) + .selectAs("dbd1", DictionaryBusinessDO::getName, ConfigQCSampleMethodExtendRespVO::getDictionaryBusinessName) + .selectAs("dbd1", DictionaryBusinessDO::getParentId, ConfigQCSampleMethodExtendRespVO::getParentDictionaryBusinessId) + .selectAs("dbd2", DictionaryBusinessDO::getKey, ConfigQCSampleMethodExtendRespVO::getParentDictionaryBusinesskey) + .selectAs("dbd2", DictionaryBusinessDO::getName, ConfigQCSampleMethodExtendRespVO::getParentDictionaryBusinessName) + .in(ConfigQCSampleMethodDO::getConfigAssayMethodId, configAssayMethodIdList) + .orderByAsc(ConfigQCSampleMethodDO::getSortNo)); + } + + default List selectByConfigAssayMethodIds(List configAssayMethodIds) { return selectJoinList(ConfigQCSampleMethodExtendRespVO.class, new MPJLambdaWrapperX() .leftJoin(DictionaryBusinessDO.class, DictionaryBusinessDO::getId, ConfigQCSampleMethodDO::getDictionaryBusinessId) diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigSubSampleMethodMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigSubSampleMethodMapper.java index bd1ed056..aa8c0a06 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigSubSampleMethodMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigSubSampleMethodMapper.java @@ -75,6 +75,28 @@ public interface ConfigSubSampleMethodMapper extends BaseMapperX selectByConfigSubSampleIdsAndConfigAssayMethodDictionaryBusinessId(List configSubSampleIds, Long configAssayMethodDictionaryBusinessId) { + return selectJoinList(ConfigSubSampleMethodExtendRespVO.class, new MPJLambdaWrapperX() + .leftJoin(ConfigSubSampleParentMethodDO.class, ConfigSubSampleParentMethodDO::getId, ConfigSubSampleMethodDO::getConfigSubSampleParentMethodId) + .leftJoin(ConfigAssayMethodDO.class, ConfigAssayMethodDO::getId, ConfigSubSampleParentMethodDO::getConfigAssayMethodId) + .selectAll(ConfigSubSampleMethodDO.class) + .selectAs(ConfigSubSampleParentMethodDO::getConfigAssayMethodId, ConfigSubSampleMethodExtendRespVO::getConfigAssayMethodId) + .selectAs(ConfigSubSampleParentMethodDO::getIsDefaultUse, ConfigSubSampleMethodExtendRespVO::getIsDefaultUse) + .in(ConfigSubSampleMethodDO::getConfigSubSampleId, configSubSampleIds) + .eq(ConfigAssayMethodDO::getDictionaryBusinessId, configAssayMethodDictionaryBusinessId)); + } + + default List selectByConfigSubSampleIdsAndConfigAssayMethodDictionaryBusinessKey(List configSubSampleIds, String configAssayMethodDictionaryBusinessKey) { + return selectJoinList(ConfigSubSampleMethodExtendRespVO.class, new MPJLambdaWrapperX() + .leftJoin(ConfigSubSampleParentMethodDO.class, ConfigSubSampleParentMethodDO::getId, ConfigSubSampleMethodDO::getConfigSubSampleParentMethodId) + .leftJoin(ConfigAssayMethodDO.class, ConfigAssayMethodDO::getId, ConfigSubSampleParentMethodDO::getConfigAssayMethodId) + .selectAll(ConfigSubSampleMethodDO.class) + .selectAs(ConfigSubSampleParentMethodDO::getConfigAssayMethodId, ConfigSubSampleMethodExtendRespVO::getConfigAssayMethodId) + .selectAs(ConfigSubSampleParentMethodDO::getIsDefaultUse, ConfigSubSampleMethodExtendRespVO::getIsDefaultUse) + .in(ConfigSubSampleMethodDO::getConfigSubSampleId, configSubSampleIds) + .eq(ConfigAssayMethodDO::getDictionaryBusinessKey, configAssayMethodDictionaryBusinessKey)); + } + default List selectByConfigSubSampleIdsAndConfigAssayMethodIds(List configSubSampleIds, List configAssayMethodIds) { return selectJoinList(ConfigSubSampleMethodExtendRespVO.class, new MPJLambdaWrapperX() .leftJoin(ConfigSubSampleParentMethodDO.class, ConfigSubSampleParentMethodDO::getId, ConfigSubSampleMethodDO::getConfigSubSampleParentMethodId) diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/thirdpartyapi/service/AutoIngredientsServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/thirdpartyapi/service/AutoIngredientsServiceImpl.java index cb8b2f95..05ef2446 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/thirdpartyapi/service/AutoIngredientsServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/thirdpartyapi/service/AutoIngredientsServiceImpl.java @@ -202,6 +202,9 @@ public class AutoIngredientsServiceImpl implements AutoIngredientsService { //获取检测任务id List businessAssayTaskDataIdList = sampleList.stream().map(m -> m.getId()).collect(Collectors.toList()); List businessAssayTaskDataDOList = businessAssayTaskDataMapper.selectByIds(businessAssayTaskDataIdList); + if (CollUtil.isEmpty(businessAssayTaskDataDOList)) { + throw new ServiceException(1_032_001_000, "当前任务未找到分析数据"); + } //获取子样id列表 List businessSubSampleIdList = businessAssayTaskDataDOList.stream().map(m -> m.getBusinessSubSampleId()).distinct().collect(Collectors.toList()); //获取子样 diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/thirdpartyapi/service/XRFDataServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/thirdpartyapi/service/XRFDataServiceImpl.java index e4a228e6..d356645b 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/thirdpartyapi/service/XRFDataServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/thirdpartyapi/service/XRFDataServiceImpl.java @@ -25,6 +25,7 @@ import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDataD import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskParameterDataDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCManagementDataDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCManagementProjectDataDO; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCManagementSampleParameterDataDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleEntrustDetailDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessXRFDataDO; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayParameterDataMapper; @@ -35,6 +36,7 @@ import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCCoefficientDataM import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCCoefficientParameterDataMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCManagementDataMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCManagementProjectDataMapper; +import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCManagementSampleParameterDataMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSampleEntrustDetailMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessXRFDataMapper; import com.zt.plat.module.qms.business.config.controller.vo.ConfigSubSampleMethodConfInfo; @@ -106,6 +108,9 @@ public class XRFDataServiceImpl implements XRFDataService { @Resource private BusinessQCManagementProjectDataMapper businessQCManagementProjectDataMapper; + @Resource + private BusinessQCManagementSampleParameterDataMapper businessQCManagementSampleParameterDataMapper; + @Resource private BusinessQCCoefficientDataMapper businessQCCoefficientDataMapper; @@ -163,6 +168,12 @@ public class XRFDataServiceImpl implements XRFDataService { //管理样和标准样 List businessQCManagementDataList = businessQCManagementDataMapper.selectBySampleAssayCodesAndConfigAssayMethodDictionaryBusinessKey(sampleCodeList, "xshxyggpf"); + List businessQCManagementDataIdList = businessQCManagementDataList.stream().map(m -> m.getId()).collect(Collectors.toList()); + //获取管理样和标准样的检测参数 + List businessQCManagementSampleParameterDataExtendList = new ArrayList<>(); + if (CollUtil.isNotEmpty(businessQCManagementDataIdList)) { + businessQCManagementSampleParameterDataExtendList = businessQCManagementSampleParameterDataMapper.selectExtendByBusinessQCManagementDataIds(businessQCManagementDataIdList); + } //空白样和标样 // List businessQCCoefficientDataList = businessQCCoefficientDataMapper.selectBySampleAssayCodesAndConfigAssayMethodDictionaryBusinessKey(sampleCodeList, "xshxyggpf"); @@ -174,6 +185,7 @@ public class XRFDataServiceImpl implements XRFDataService { List updateBusinessAssayParameterDataList = new ArrayList<>(); List busQcManageElementValueList = new ArrayList<>(); + List businessQCManagementSampleParameterDataList = new ArrayList<>(); // List busQccParameterValueList = new ArrayList<>(); List busYgDataList = new ArrayList<>(); BusinessXRFDataDO busYgData = null; @@ -239,6 +251,26 @@ public class XRFDataServiceImpl implements XRFDataService { List currBusinessQCManagementDataList = businessQCManagementDataList.stream().filter(f -> ygDeviceSample.getSampleCode().equals(f.getSampleCode())).collect(Collectors.toList()); if (currBusinessQCManagementDataList != null && currBusinessQCManagementDataList.size() > 0) { for (BusinessQCManagementDataDO businessQCManagementData : currBusinessQCManagementDataList) { + //处理任务参数 + List currBusinessQCManagementSampleParameterDataExtendList = businessQCManagementSampleParameterDataExtendList.stream().filter(f -> f.getBusinessQCManagementDataId().equals(businessQCManagementData.getId())).collect(Collectors.toList()); + for (BusinessQCManagementSampleParameterDataExtendRespVO currBusinessQCManagementSampleParameterDataExtend : currBusinessQCManagementSampleParameterDataExtendList) { + switch (currBusinessQCManagementSampleParameterDataExtend.getKey()) { + case "lineName": + currBusinessQCManagementSampleParameterDataExtend.setValue(busYgData.getLineName()); + businessQCManagementSampleParameterDataList.add(BeanUtils.toBean(currBusinessQCManagementSampleParameterDataExtend, BusinessQCManagementSampleParameterDataDO.class)); + break; + case "sampleStartTime": + currBusinessQCManagementSampleParameterDataExtend.setValue(DateUtil.formatLocalDateTime(busYgData.getSampleStartTime())); + businessQCManagementSampleParameterDataList.add(BeanUtils.toBean(currBusinessQCManagementSampleParameterDataExtend, BusinessQCManagementSampleParameterDataDO.class)); + break; + case "sampleEndTime": + currBusinessQCManagementSampleParameterDataExtend.setValue(DateUtil.formatLocalDateTime(busYgData.getSampleEndTime())); + businessQCManagementSampleParameterDataList.add(BeanUtils.toBean(currBusinessQCManagementSampleParameterDataExtend, BusinessQCManagementSampleParameterDataDO.class)); + break; + } + } + + List businessQCManagementProjectDataList = businessQCManagementProjectDataMapper.selectByBusinessQCManagementDataId(businessQCManagementData.getId()); tempBusinessQCManagementProjectDataList.addAll(businessQCManagementProjectDataList); } @@ -535,6 +567,9 @@ public class XRFDataServiceImpl implements XRFDataService { if (busQcManageElementValueList.size() > 0) { businessQCManagementProjectDataMapper.updateBatch(busQcManageElementValueList); } + if (businessQCManagementSampleParameterDataList.size() > 0) { + businessQCManagementSampleParameterDataMapper.updateBatch(businessQCManagementSampleParameterDataList); + } //荧光空白样和标样 // if (busQccParameterValueList.size() > 0) { // businessQCCoefficientParameterDataMapper.updateBatch(busQccParameterValueList); diff --git a/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskDataMapper.xml b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskDataMapper.xml index d4fe6b44..7632b1fb 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskDataMapper.xml +++ b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskDataMapper.xml @@ -52,6 +52,50 @@ tcam.MTHD_NAME_CTGR ORDER BY tcam.DIC_BSN_KY ASC + +