From 5559145b7f287fcd08cb3aeac2e309a9bcbd0623 Mon Sep 17 00:00:00 2001 From: wxr Date: Mon, 30 Mar 2026 13:48:04 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=84=E7=90=86=E6=A0=B7=E5=93=81=E6=95=B0?= =?UTF-8?q?=E9=87=8F=E5=8F=8A=E6=A3=80=E6=B5=8B=E9=A1=B9=E7=9B=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entrust/SampleEntrustContextInitCmp.java | 20 +++++++++++++++++-- .../entrust/SampleEntrustCreateDataCmp.java | 3 ++- .../entrust/SampleEntrustUpdateDataCmp.java | 3 ++- .../liteflow/slot/SampleEntrustContext.java | 7 ++++--- .../MaterialAssayStandardDetailMapper.java | 13 ++++++++++++ 5 files changed, 39 insertions(+), 7 deletions(-) diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/entrust/SampleEntrustContextInitCmp.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/entrust/SampleEntrustContextInitCmp.java index fee207df..ee45f951 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/entrust/SampleEntrustContextInitCmp.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/entrust/SampleEntrustContextInitCmp.java @@ -12,6 +12,8 @@ import com.yomahub.liteflow.annotation.LiteflowComponent; import com.yomahub.liteflow.core.NodeComponent; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollUtil; + import com.zt.plat.framework.common.exception.ServiceException; import com.zt.plat.framework.security.core.LoginUser; import com.zt.plat.framework.security.core.util.SecurityFrameworkUtils; @@ -23,6 +25,7 @@ import com.zt.plat.module.qms.business.bus.liteflow.param.SampleEntrustDetail; import com.zt.plat.module.qms.business.bus.liteflow.param.SampleEntrustDetailProject; import com.zt.plat.module.qms.business.bus.liteflow.param.SampleEntrustParam; import com.zt.plat.module.qms.business.bus.liteflow.slot.SampleEntrustContext; +import com.zt.plat.module.qms.business.config.controller.vo.MaterialAssayStandardDetailRespVO; import com.zt.plat.module.qms.business.config.dal.dataobject.BaseSampleDO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigEntrustSourceDO; import com.zt.plat.module.qms.business.config.dal.dataobject.MaterialAssayStandardDO; @@ -106,11 +109,11 @@ public class SampleEntrustContextInitCmp extends NodeComponent { //物料检验标准项 // List materialAssayStandardDetailList = materialAssayStandardDetailMapper.selectList(); - List materialAssayStandardDetailList = materialAssayStandardDetailMapper.selectByIds(materialAssayStandardDetailIdList); + List materialAssayStandardDetailList = materialAssayStandardDetailMapper.selectExtendByIds(materialAssayStandardDetailIdList); sampleEntrustContext.setMaterialAssayStandardDetailList(materialAssayStandardDetailList); List materialAssayStandardIdList = materialAssayStandardDetailList.stream().map(m -> m.getMaterialAssayStandardId()).distinct().collect(Collectors.toList()); - + //物料检验标准 // List materialAssayStandardList = materialAssayStandardMapper.selectList(); List materialAssayStandardList = materialAssayStandardMapper.selectByIds(materialAssayStandardIdList); @@ -124,6 +127,10 @@ public class SampleEntrustContextInitCmp extends NodeComponent { //委托登记 BusinessSampleEntrustRegistrationDO sampleEntrustRegistration = BeanUtil.copyProperties(sampleEntrustParam, BusinessSampleEntrustRegistrationDO.class); + if (sampleEntrustRegistration.getSampleQuantity() == null) { + sampleEntrustRegistration.setSampleQuantity(detailList.size()); + } + //委托来源id为空并且委托来源key也为空 if (sampleEntrustParam.getConfigEntrustSourceId() == null && StringUtils.isBlank(sampleEntrustParam.getConfigEntrustSourceKey())) { throw new ServiceException(1_032_100_000, "委托来源id或委托来源key为空"); @@ -162,12 +169,21 @@ public class SampleEntrustContextInitCmp extends NodeComponent { sampleEntrustDetail.setSort(sort); sort++; } + if (StringUtils.isBlank(sampleEntrustDetail.getSampleName())) { + sampleEntrustDetail.setSampleName(sampleEntrustDetail.getEntrustSampleName()); + } + List assayProjectList = new ArrayList<>(); List projectList = sampleEntrustDetail.getSampleEntrustDetailProjectList(); for (SampleEntrustDetailProject sampleEntrustDetailProject : projectList) { + MaterialAssayStandardDetailRespVO materialAssayStandardDetail = materialAssayStandardDetailList.stream().filter(f -> sampleEntrustDetailProject.getMaterialAssayStandardDetailId().equals(f.getId())).findFirst().orElse(null); + assayProjectList.add(materialAssayStandardDetail.getDictionaryProjectShowName()); if (sampleEntrustDetailProject.getBusinessSampleEntrustDetailId() == null) { sampleEntrustDetailProject.setBusinessSampleEntrustDetailId(sampleEntrustDetail.getId()); } } + if (StringUtils.isBlank(sampleEntrustDetail.getAssayProject())) { + sampleEntrustDetail.setAssayProject(CollUtil.join(assayProjectList, ",")); + } sampleEntrustProjectList.addAll(BeanUtil.copyToList(projectList, BusinessSampleEntrustProjectDO.class)); } sampleEntrustContext.setSampleEntrustProjectList(sampleEntrustProjectList); diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/entrust/SampleEntrustCreateDataCmp.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/entrust/SampleEntrustCreateDataCmp.java index d1ceb99a..774424a2 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/entrust/SampleEntrustCreateDataCmp.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/entrust/SampleEntrustCreateDataCmp.java @@ -26,6 +26,7 @@ import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSampleEntrustFileM import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSampleEntrustProjectMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSampleEntrustRegistrationMapper; import com.zt.plat.module.qms.business.bus.liteflow.slot.SampleEntrustContext; +import com.zt.plat.module.qms.business.config.controller.vo.MaterialAssayStandardDetailRespVO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigEntrustSourceDO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigReportTemplateDO; import com.zt.plat.module.qms.business.config.dal.dataobject.MaterialAssayStandardDetailDO; @@ -152,7 +153,7 @@ public class SampleEntrustCreateDataCmp extends NodeComponent { List sampleEntrustProjectList = sampleEntrustContext.getSampleEntrustProjectList(); for (BusinessSampleEntrustProjectDO businessSampleEntrustProject : sampleEntrustProjectList) { - MaterialAssayStandardDetailDO materialAssayStandardDetail = sampleEntrustContext.getMaterialAssayStandardDetailById(businessSampleEntrustProject.getMaterialAssayStandardDetailId()); + MaterialAssayStandardDetailRespVO materialAssayStandardDetail = sampleEntrustContext.getMaterialAssayStandardDetailById(businessSampleEntrustProject.getMaterialAssayStandardDetailId()); businessSampleEntrustProject.setDictionaryProjectId(materialAssayStandardDetail.getDictionaryProjectId()); } diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/entrust/SampleEntrustUpdateDataCmp.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/entrust/SampleEntrustUpdateDataCmp.java index a70fdea1..b489f892 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/entrust/SampleEntrustUpdateDataCmp.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/entrust/SampleEntrustUpdateDataCmp.java @@ -27,6 +27,7 @@ import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSampleEntrustFileM import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSampleEntrustProjectMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSampleEntrustRegistrationMapper; import com.zt.plat.module.qms.business.bus.liteflow.slot.SampleEntrustContext; +import com.zt.plat.module.qms.business.config.controller.vo.MaterialAssayStandardDetailRespVO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigEntrustSourceDO; import com.zt.plat.module.qms.business.config.dal.dataobject.MaterialAssayStandardDetailDO; import com.zt.plat.module.qms.enums.QmsCommonConstant; @@ -156,7 +157,7 @@ public class SampleEntrustUpdateDataCmp extends NodeComponent { List sampleEntrustProjectList = sampleEntrustContext.getSampleEntrustProjectList(); for (BusinessSampleEntrustProjectDO businessSampleEntrustProject : sampleEntrustProjectList) { - MaterialAssayStandardDetailDO materialAssayStandardDetail = sampleEntrustContext.getMaterialAssayStandardDetailById(businessSampleEntrustProject.getMaterialAssayStandardDetailId()); + MaterialAssayStandardDetailRespVO materialAssayStandardDetail = sampleEntrustContext.getMaterialAssayStandardDetailById(businessSampleEntrustProject.getMaterialAssayStandardDetailId()); businessSampleEntrustProject.setDictionaryProjectId(materialAssayStandardDetail.getDictionaryProjectId()); } diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/slot/SampleEntrustContext.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/slot/SampleEntrustContext.java index 09c56a20..9ffb1123 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/slot/SampleEntrustContext.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/slot/SampleEntrustContext.java @@ -11,6 +11,7 @@ import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleEntrustD import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleEntrustProjectDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleEntrustRegistrationDO; import com.zt.plat.module.qms.business.bus.liteflow.param.SampleFlowInfo; +import com.zt.plat.module.qms.business.config.controller.vo.MaterialAssayStandardDetailRespVO; import com.zt.plat.module.qms.business.config.dal.dataobject.BaseSampleDO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigEntrustSourceDO; import com.zt.plat.module.qms.business.config.dal.dataobject.MaterialAssayStandardDO; @@ -72,10 +73,10 @@ public class SampleEntrustContext { private List materialAssayStandardList; /** 物料检测标准检测项目列表 **/ - private List materialAssayStandardDetailList; + private List materialAssayStandardDetailList; - public MaterialAssayStandardDetailDO getMaterialAssayStandardDetailById(Long id) { - MaterialAssayStandardDetailDO materialAssayStandardDetail = null; + public MaterialAssayStandardDetailRespVO getMaterialAssayStandardDetailById(Long id) { + MaterialAssayStandardDetailRespVO materialAssayStandardDetail = null; if (CollUtil.isNotEmpty(this.materialAssayStandardDetailList)) { materialAssayStandardDetail = this.materialAssayStandardDetailList.stream().filter(f -> id.equals(f.getId())).findFirst().orElse(null); } diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/MaterialAssayStandardDetailMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/MaterialAssayStandardDetailMapper.java index aef0dfaf..9952702c 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/MaterialAssayStandardDetailMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/MaterialAssayStandardDetailMapper.java @@ -56,5 +56,18 @@ public interface MaterialAssayStandardDetailMapper extends BaseMapperX selectExtendByIds(List idList) { + return selectJoinList(MaterialAssayStandardDetailRespVO.class, new MPJLambdaWrapperX() + .leftJoin(MaterialAssayStandardDO.class, MaterialAssayStandardDO::getId, MaterialAssayStandardDetailDO::getMaterialAssayStandardId) + .leftJoin(DictionaryProjectDO.class, DictionaryProjectDO::getId, MaterialAssayStandardDetailDO::getDictionaryProjectId) + .selectAll(MaterialAssayStandardDetailDO.class) + .selectAs(MaterialAssayStandardDO::getBaseSampleId, MaterialAssayStandardDetailRespVO::getBaseSampleId) + .selectAs(DictionaryProjectDO::getName, MaterialAssayStandardDetailRespVO::getDictionaryProjectName) + .selectAs(DictionaryProjectDO::getSimpleName, MaterialAssayStandardDetailRespVO::getDictionaryProjectSimpleName) + .selectAs(DictionaryProjectDO::getShowName, MaterialAssayStandardDetailRespVO::getDictionaryProjectShowName) + .selectAs(DictionaryProjectDO::getCode, MaterialAssayStandardDetailRespVO::getDictionaryProjectCode) + .in(MaterialAssayStandardDetailDO::getId, idList)); + } } \ No newline at end of file