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 772e60a..a5e6ae5 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 @@ -62,6 +62,13 @@ public class SampleTaskAssignController implements BusinessControllerMarker { List list = sampleTaskAssignService.getAssayMethodProjectList(businessSubSampleIdList, configAssayMethodId); return success(list); } + + @GetMapping("/getMaterialAssayStandardMethodProjectList") + public CommonResult getMaterialAssayStandardMethodProjectList(String businessSubSampleIds, Long baseSampleId, Long configAssayMethodId) { + List businessSubSampleIdList = Arrays.asList(businessSubSampleIds.split(",")).stream().map(Long::parseLong).toList(); + List list = sampleTaskAssignService.getMaterialAssayStandardMethodProjectList(businessSubSampleIdList, baseSampleId, configAssayMethodId); + return success(list); + } @PostMapping("/changeMethod") public CommonResult changeMethod(@RequestBody ChangeAssayMethodReqVO req) { @@ -111,6 +118,11 @@ public class SampleTaskAssignController implements BusinessControllerMarker { return success("成功"); } + /** + * 作废 + * @param id + * @return + */ @PostMapping("/voidAssign") public CommonResult voidAssign(Long id) { sampleTaskAssignService.voidAssign(id); diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/UnAssignTaskedSubSampleRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/UnAssignTaskedSubSampleRespVO.java index 7c8da2c..3aeedea 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/UnAssignTaskedSubSampleRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/UnAssignTaskedSubSampleRespVO.java @@ -14,8 +14,14 @@ public class UnAssignTaskedSubSampleRespVO implements Serializable { @Schema(description = "联合id") private String id; + @Schema(description = "样品大类ID", example = "15112") + private Long baseSampleId; + @Schema(description = "分样子样ID") private Long businessSubSampleId; + + @Schema(description = "样品大类名称", example = "张三") + private String baseSampleName; @Schema(description = "样品名称", example = "张三") private String sampleName; 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 bad10e0..695fe4d 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 @@ -39,6 +39,14 @@ public interface SampleTaskAssignService { */ List getAssayMethodProjectList(List businessSubSampleIdList, Long configAssayMethodId); + /** + * 根据大样id,分析方法 查询检测标准中分析方法项目 + * @param baseSampleId 大样id + * @param configAssayMethodId 分析方法id + * @return + */ + List getMaterialAssayStandardMethodProjectList(List businessSubSampleIdList, Long baseSampleId, Long configAssayMethodId); + /** * 修改分析方法 * @param req 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 f855e32..900acb8 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 @@ -60,6 +60,7 @@ 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.ConfigQCSampleMethodParameterExtendRespVO; import com.zt.plat.module.qms.business.config.controller.vo.ConfigSubSampleMethodExtendRespVO; +import com.zt.plat.module.qms.business.config.controller.vo.MaterialAssayStandardMethodExtendRespVO; 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; @@ -70,6 +71,7 @@ import com.zt.plat.module.qms.business.config.dal.mapper.ConfigAssayMethodProjec import com.zt.plat.module.qms.business.config.dal.mapper.ConfigQCSampleMethodMapper; import com.zt.plat.module.qms.business.config.dal.mapper.ConfigQCSampleMethodParameterMapper; import com.zt.plat.module.qms.business.config.dal.mapper.ConfigSubSampleMethodMapper; +import com.zt.plat.module.qms.business.config.dal.mapper.MaterialAssayStandardMethodMapper; import com.zt.plat.module.qms.business.dic.dal.mapper.DictionaryProjectMapper; import com.zt.plat.module.qms.core.code.SequenceUtil; import com.zt.plat.module.qms.enums.QmsCommonConstant; @@ -164,6 +166,9 @@ public class SampleTaskAssignServiceImpl implements SampleTaskAssignService { @Resource private BusinessQCManagementParameterDataMapper businessQCManagementParameterDataMapper; + + @Resource + private MaterialAssayStandardMethodMapper materialAssayStandardMethodMapper; @Override public List getAssignUserList() { @@ -198,6 +203,9 @@ public class SampleTaskAssignServiceImpl implements SampleTaskAssignService { return list; } + /** + * 通过子样方法检测项目 + */ @Override public List getAssayMethodProjectList(List businessSubSampleIdList, Long configAssayMethodId) { //当前登录用户 @@ -216,6 +224,38 @@ public class SampleTaskAssignServiceImpl implements SampleTaskAssignService { } return list; } + + @Override + public List getMaterialAssayStandardMethodProjectList(List businessSubSampleIdList, Long baseSampleId, Long configAssayMethodId) { + //当前登录用户 + LoginUser loginUser = SecurityFrameworkUtils.getLoginUser(); + Long visitDeptId = loginUser.getVisitDeptId(); + //查询子样 +// List businessSubSampleList = businessSubSampleMapper.selectByIds(businessSubSampleIdList); + //子样配置id +// List configSubSampleIdList = businessSubSampleList.stream().map(m -> m.getConfigSubSampleId()).distinct().collect(Collectors.toList()); + //查询子样分析方法及检测项目 +// List configAssayMethodProjectList = configAssayMethodProjectMapper.selectByConfigSubSampleIdsAndAssayDepartmentId(configSubSampleIdList, visitDeptId); + + //查询分析方法检测项目 + List list = businessAssayProjectDataMapper.selectAssayMethodProjectByBusinessSubSampleIdListAndConfigAssayMethodId(businessSubSampleIdList, configAssayMethodId); + + List dictionaryProjectIdList = list.stream().map(m -> m.getDictionaryProjectId()).collect(Collectors.toList()); + + List materialAssayStandardMethodList = materialAssayStandardMethodMapper.selectByBaseSampleIdAndDictionaryProjectIdsAndAssayDepartmentId(baseSampleId, dictionaryProjectIdList, visitDeptId); + + for (AssayMethodProjectRespVO assayMethodProject : list) { + List methodList = materialAssayStandardMethodList.stream().filter(f -> assayMethodProject.getDictionaryProjectId().equals(f.getDictionaryProjectId())).map(m -> { + ConfigAssayMethodProjectExtendRespVO configAssayMethod = new ConfigAssayMethodProjectExtendRespVO(); + configAssayMethod.setConfigAssayMethodId(m.getConfigAssayMethodId()); + configAssayMethod.setConfigAssayMethodName(m.getConfigAssayMethodName()); + configAssayMethod.setConfigAssayMethodNameAndCategory(m.getConfigAssayMethodNameAndCategory()); + return configAssayMethod; + }).collect(Collectors.toList()); + assayMethodProject.setMethodList(methodList); + } + return list; + } @Override @@ -734,6 +774,8 @@ public class SampleTaskAssignServiceImpl implements SampleTaskAssignService { List businessAssayTaskDataDOList = businessAssayTaskDataMapper.selectList(new LambdaQueryWrapperX().eq(BusinessAssayTaskDataDO::getBusinessAssayTaskId, businessAssayTaskDO.getId())); for (BusinessAssayTaskDataDO businessAssayTaskDataDO : businessAssayTaskDataDOList) { + businessAssayTaskDataDO.setBusinessAssayTaskId(null); + businessAssayTaskDataDO.setAssayOperatorId(null); businessAssayTaskDataDO.setAssayOperator(null); businessAssayTaskDataDO.setAssignTaskTime(null); businessAssayTaskDataDO.setIsAssignTasked(0); diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/MaterialAssayStandardMethodExtendRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/MaterialAssayStandardMethodExtendRespVO.java new file mode 100644 index 0000000..3fe0a88 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/MaterialAssayStandardMethodExtendRespVO.java @@ -0,0 +1,17 @@ +package com.zt.plat.module.qms.business.config.controller.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +public class MaterialAssayStandardMethodExtendRespVO extends MaterialAssayStandardMethodRespVO { + + @Schema(description = "检测项目id") + private Long dictionaryProjectId; + + @Schema(description = "分析方法名称") + private String configAssayMethodName; + + @Schema(description = "检测方法配置名称及类别") + private String configAssayMethodNameAndCategory; +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigAssayMethodProjectMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigAssayMethodProjectMapper.java index d0a6a85..91179ca 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigAssayMethodProjectMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigAssayMethodProjectMapper.java @@ -1,11 +1,8 @@ package com.zt.plat.module.qms.business.config.dal.mapper; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; import com.zt.plat.framework.mybatis.core.query.MPJLambdaWrapperX; -import com.zt.plat.framework.tenant.core.context.TenantContextHolder; -import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayProjectDataDO; import com.zt.plat.module.qms.business.config.controller.vo.*; import com.zt.plat.module.qms.business.config.controller.vo.ConfigAssayMethodProjectPageReqVO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodDO; @@ -73,12 +70,12 @@ public interface ConfigAssayMethodProjectMapper extends BaseMapperX selectByConfigSubSampleIdsAndAssayDepartmentId(List configSubSampleIds, Long assayDepartmentId) { - StringBuilder inSql = new StringBuilder("SELECT tcssm.CFG_ASY_MTHD_ID FROM T_CFG_SB_SMP_MTHD tcssm WHERE tcssm.DELETED = 0 AND tcssm.CFG_SB_SMP_ID IN ("); + StringBuilder inSql = new StringBuilder("SELECT tcsspm.CFG_ASY_MTHD_ID FROM T_CFG_SB_SMP_MTHD tcssm LEFT JOIN T_CFG_SB_SMP_PRN_MTHD tcsspm ON tcssm.CFG_SB_SMP_PRN_MTHD_ID = tcsspm.ID WHERE tcssm.DELETED = 0 AND tcsspm.DELETED = 0 AND tcssm.CFG_SB_SMP_ID IN ("); for (Long configSubSampleId : configSubSampleIds) { inSql.append(configSubSampleId).append(","); } inSql.delete(inSql.length() - 1, inSql.length()); - inSql.append(")"); + inSql.append(")"); return selectJoinList(ConfigAssayMethodProjectExtendRespVO.class, new MPJLambdaWrapperX() .leftJoin(ConfigAssayMethodDO.class, ConfigAssayMethodDO::getId, ConfigAssayMethodProjectDO::getConfigAssayMethodId) .selectAll(ConfigAssayMethodProjectDO.class) diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/MaterialAssayStandardMethodMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/MaterialAssayStandardMethodMapper.java index 8444c1e..eaaf237 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/MaterialAssayStandardMethodMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/MaterialAssayStandardMethodMapper.java @@ -4,12 +4,16 @@ 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.framework.mybatis.core.mapper.BaseMapperX; +import com.zt.plat.module.qms.business.config.controller.vo.MaterialAssayStandardMethodExtendRespVO; import com.zt.plat.module.qms.business.config.controller.vo.MaterialAssayStandardMethodPageReqVO; +import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodDO; import com.zt.plat.module.qms.business.config.dal.dataobject.MaterialAssayStandardDO; import com.zt.plat.module.qms.business.config.dal.dataobject.MaterialAssayStandardDetailDO; import com.zt.plat.module.qms.business.config.dal.dataobject.MaterialAssayStandardMethodDO; import com.zt.plat.module.qms.enums.QmsCommonConstant; +import java.util.List; + import org.apache.ibatis.annotations.Mapper; /** @@ -50,4 +54,19 @@ public interface MaterialAssayStandardMethodMapper extends BaseMapperX selectByBaseSampleIdAndDictionaryProjectIdsAndAssayDepartmentId(Long baseSampleId, List dictionaryProjectIdList, Long assayDepartmentId) { + return selectJoinList(MaterialAssayStandardMethodExtendRespVO.class, new MPJLambdaWrapperX() + .leftJoin(MaterialAssayStandardDetailDO.class, MaterialAssayStandardDetailDO::getId, MaterialAssayStandardMethodDO::getMaterialAssayStandardDetailId) + .leftJoin(MaterialAssayStandardDO.class, MaterialAssayStandardDO::getId, MaterialAssayStandardDetailDO::getMaterialAssayStandardId) + .leftJoin(ConfigAssayMethodDO.class, ConfigAssayMethodDO::getId, MaterialAssayStandardMethodDO::getConfigAssayMethodId) + .selectAll(MaterialAssayStandardMethodDO.class) + .selectAs(MaterialAssayStandardDetailDO::getDictionaryProjectId, MaterialAssayStandardMethodExtendRespVO::getDictionaryProjectId) + .selectAs(ConfigAssayMethodDO::getName, MaterialAssayStandardMethodExtendRespVO::getConfigAssayMethodName) + .selectAs(ConfigAssayMethodDO::getMethodNameCategory, MaterialAssayStandardMethodExtendRespVO::getConfigAssayMethodNameAndCategory) + .eq(MaterialAssayStandardDO::getBaseSampleId, baseSampleId) + .in(MaterialAssayStandardDetailDO::getDictionaryProjectId, dictionaryProjectIdList) + .eq(ConfigAssayMethodDO::getAssayDepartmentId, assayDepartmentId)); + } + + } \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskDataMapper.xml b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskDataMapper.xml index a357aa6..e1d55c5 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 @@ -126,6 +126,8 @@ tbss.SMP_ASY_CD AS sampleAssayCode, tbss.SMP_RTN_CD AS sampleReturnCode, tbss.SMP_FLW_NDE_TM AS sampleFlowNodeTime, + tcbs.BSE_SMP_ID AS baseSampleId, + tbbs.BSE_SMP_NAME AS baseSampleName, tbatd.BSN_SB_SMP_ID AS businessSubSampleId, tbatd.CFG_ASY_MTHD_ID AS configAssayMethodId, tcam.NAME AS configAssayMethodName, @@ -139,7 +141,11 @@ LEFT JOIN T_BSN_SB_SMP tbss ON tbatd.BSN_SB_SMP_ID = tbss.ID LEFT JOIN T_CFG_ASY_MTHD tcam ON - tbatd.CFG_ASY_MTHD_ID = tcam.ID + tbatd.CFG_ASY_MTHD_ID = tcam.ID + LEFT JOIN T_BSN_BSE_SMP tbbs ON + tbatd.BSN_BSE_SMP_ID = tbbs.ID + LEFT JOIN T_CFG_BSE_SMP tcbs ON + tbbs.CFG_BSE_SMP_ID = tcbs.ID WHERE tbatd.DELETED = 0 AND tbatd.IS_ASN_TSKD = 0 @@ -173,6 +179,8 @@ tbss.SMP_ASY_CD, tbss.SMP_RTN_CD, tbss.SMP_FLW_NDE_TM, + tcbs.BSE_SMP_ID, + tbbs.BSE_SMP_NAME, tbatd.BSN_SB_SMP_ID, tbatd.CFG_ASY_MTHD_ID, tcam.NAME,