From 50a868e0a09f2d8fa504308e7289b80137daf3c6 Mon Sep 17 00:00:00 2001 From: wxr Date: Mon, 26 Jan 2026 13:36:56 +0800 Subject: [PATCH] =?UTF-8?q?=E7=8F=AD=E7=BB=84=E9=80=81=E6=A0=B7=E7=AD=89bu?= =?UTF-8?q?g=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bus/controller/admin/TestController.java | 51 ++++++++++--------- .../vo/BusinessSubSamplePageReqVO.java | 3 ++ .../dal/mapper/BusinessSubSampleMapper.java | 1 + .../SampleEntrustGenSampleDataCmp.java | 12 ++--- .../sample/flow/SampleSubCheckCmp.java | 9 +++- .../flow/SampleSubProcessUpdateCmp.java | 6 +-- .../SampleResultReportingServiceImpl.java | 2 +- 7 files changed, 49 insertions(+), 35 deletions(-) diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/TestController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/TestController.java index 6621a2e..43594e3 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/TestController.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/TestController.java @@ -46,20 +46,22 @@ public class TestController { bzr.setNodeKey("flw_team_receive"); bzr.setSort(3300); - SampleFlowNode ypbm = new SampleFlowNode(); - ypbm.setNodeName("样品编密"); - ypbm.setNodeKey("flw_sample_encrypt"); - ypbm.setSort(3400); +// SampleFlowNode ypbm = new SampleFlowNode(); +// ypbm.setNodeName("样品编密"); +// ypbm.setNodeKey("flw_sample_encrypt"); +// ypbm.setSort(3400); // SampleFlowNode fxr = new SampleFlowNode(); // fxr.setNodeName("分析收样"); // fxr.setNodeKey("flw_analysis_receive"); // fxr.setSort(3500); // - SampleFlowNode fx = new SampleFlowNode(); - fx.setNodeName("样品分析"); - fx.setNodeKey("flw_analysis"); - fx.setSort(3550); + +// SampleFlowNode fx = new SampleFlowNode(); +// fx.setNodeName("样品分析"); +// fx.setNodeKey("flw_analysis"); +// fx.setSort(3550); + // // SampleFlowNode fxs = new SampleFlowNode(); // fxs.setNodeName("分析送样"); @@ -101,19 +103,20 @@ public class TestController { private static final long serialVersionUID = 6376704859477839016L; { - add(BeanUtils.toBean(ypbm,SampleFlowNode.class).setCondition("subSampleEncrypt"));//样品需要编密并且没编密过 - add(BeanUtils.toBean(fx,SampleFlowNode.class).setCondition("subSampleNotEncrypt"));//样品无需编密或样品已编密过 + add(BeanUtils.toBean(bzs,SampleFlowNode.class).setIsDefault(true));// +// add(BeanUtils.toBean(ypbm,SampleFlowNode.class).setCondition("subSampleEncrypt"));//样品需要编密并且没编密过 +// add(BeanUtils.toBean(bzs,SampleFlowNode.class).setCondition("subSampleNotEncrypt"));//样品无需编密或样品已编密过 }}); flowNodeList.add(bzr); - ypbm.setNextFlowNodeList(new ArrayList<>() { - private static final long serialVersionUID = 1014984817516902869L; - - { - add(BeanUtils.toBean(fx,SampleFlowNode.class).setIsDefault(true)); - }}); - flowNodeList.add(ypbm); +// ypbm.setNextFlowNodeList(new ArrayList<>() { +// private static final long serialVersionUID = 1014984817516902869L; +// +// { +// add(BeanUtils.toBean(bzs,SampleFlowNode.class).setIsDefault(true)); +// }}); +// flowNodeList.add(ypbm); // fxr.setNextFlowNodeList(new ArrayList<>() {{ @@ -127,13 +130,13 @@ public class TestController { // }}); // flowNodeList.add(fxs); - fx.setNextFlowNodeList(new ArrayList<>() { - private static final long serialVersionUID = -610440034210287957L; - - { - add(BeanUtils.toBean(bzs,SampleFlowNode.class).setIsDefault(true).setCondition("当前部门任务已全部分析完")); - }}); - flowNodeList.add(fx); +// fx.setNextFlowNodeList(new ArrayList<>() { +// private static final long serialVersionUID = -610440034210287957L; +// +// { +// add(BeanUtils.toBean(bzs,SampleFlowNode.class).setIsDefault(true).setCondition("当前部门任务已全部分析完")); +// }}); +// flowNodeList.add(fx); bzs.setNextFlowNodeList(new ArrayList<>() { private static final long serialVersionUID = -5057434004685743838L; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubSamplePageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubSamplePageReqVO.java index 9c5581b..64ae225 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubSamplePageReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubSamplePageReqVO.java @@ -145,6 +145,9 @@ public class BusinessSubSamplePageReqVO extends PageParam { @Schema(description = "分析部门状态") private String assayDepartmentStatus; + @Schema(description = "分析部门状态列表") + private List assayDepartmentStatusList; + @Schema(description = "是否已送样") private Integer isSendSample; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSubSampleMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSubSampleMapper.java index 59463fb..db9c439 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSubSampleMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSubSampleMapper.java @@ -144,6 +144,7 @@ public interface BusinessSubSampleMapper extends BaseMapperX configSubSampleIdList = businessSubSampleDOList.stream().map(m -> m.getConfigSubSampleId()).distinct().collect(Collectors.toList()); List configSubSampleList = configSubSampleMapper.selectByIds(configSubSampleIdList); - List businessAssayTaskDataList = businessAssayTaskDataMapper.selectList(new LambdaQueryWrapperX().in(BusinessAssayTaskDataDO::getBusinessSubSampleId, sampleIdList)); + List businessAssayTaskDataList = new ArrayList<>(); + //如果是班组收样或者内部简码时,才需要更新分析任务节点 + if (QmsCommonConstant.FLOW_NODE_TEAM_RECEIVE.equals(currentSampleFlowKey) || QmsCommonConstant.FlOW_NODE_SAMPLE_ENCRYPT.equals(currentSampleFlowKey)) { + businessAssayTaskDataList = businessAssayTaskDataMapper.selectList(new LambdaQueryWrapperX().in(BusinessAssayTaskDataDO::getBusinessSubSampleId, sampleIdList)); + } //上一次交接记录 List upSampleRecordIdList = businessSubSampleDOList.stream().filter(f -> f.getUpSampleRecordId() != null).map(m -> m.getUpSampleRecordId()).collect(Collectors.toList()); diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/flow/SampleSubProcessUpdateCmp.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/flow/SampleSubProcessUpdateCmp.java index e5e6e7a..caf6a86 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/flow/SampleSubProcessUpdateCmp.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/flow/SampleSubProcessUpdateCmp.java @@ -98,8 +98,8 @@ public class SampleSubProcessUpdateCmp extends NodeComponent { if (CollUtil.isNotEmpty(businessSubSampleAnalysisGroupDOList)) { List curSubSampleAnalysisGroupDOList = businessSubSampleAnalysisGroupDOList.stream().filter(f -> f.getBusinessSubSampleId().equals(businessSubSample.getId())).collect(Collectors.toList()); - Boolean hasAllDeptAnalyzed = curSubSampleAnalysisGroupDOList.stream().allMatch(m -> "已完成".equals(m.getSampleStatus())); - Boolean hasCurDeptAnalyzed = curSubSampleAnalysisGroupDOList.stream().filter(f -> f.getAssayDepartmentId().equals(loginUser.getVisitDeptId())).allMatch(m -> "已完成".equals(m.getSampleStatus())); + Boolean hasAllDeptAnalyzed = curSubSampleAnalysisGroupDOList.stream().allMatch(m -> ( "已完成".equals(m.getSampleStatus()) || "已收样".equals(m.getSampleStatus()) ) ); + Boolean hasCurDeptAnalyzed = curSubSampleAnalysisGroupDOList.stream().filter(f -> f.getAssayDepartmentId().equals(loginUser.getVisitDeptId())).allMatch(m -> ( "已完成".equals(m.getSampleStatus()) || "已收样".equals(m.getSampleStatus()) ) ); context.put("hasAllDeptAnalyzed", hasAllDeptAnalyzed); context.put("hasCurDeptAnalyzed", hasCurDeptAnalyzed); } @@ -127,7 +127,7 @@ public class SampleSubProcessUpdateCmp extends NodeComponent { List subSampleAssayTaskDataList = businessAssayTaskDataList.stream().filter(f -> f.getBusinessSubSampleId().equals(businessSubSample.getId())).collect(Collectors.toList()); for (BusinessAssayTaskDataDO businessAssayTaskDataDO : subSampleAssayTaskDataList) { - businessAssayTaskDataDO.setSampleFlowNodeKey(nextFlowNode.getNodeKey()); + businessAssayTaskDataDO.setSampleFlowNodeKey(QmsCommonConstant.FLOW_NODE_ANALYSIS);//样品分析 businessAssayTaskDataDO.setSampleFlowNodeTime(currentDateTime); } diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleResultReportingServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleResultReportingServiceImpl.java index a93f54a..909cf83 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleResultReportingServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleResultReportingServiceImpl.java @@ -810,7 +810,7 @@ public class SampleResultReportingServiceImpl implements SampleResultReportingSe businessSampleEntrustRegistrationMapper.updateBatch(updatebBusinessSampleEntrustRegistrationDOList); } - if (updateBusinessSubSampleDOList.size() > 0) { + if (updateBusinessSubSampleDOList.size() > 0 && QmsCommonConstant.FLOW_NODE_ANALYSIS.equals(updateBusinessSubSampleDOList.get(0).getSampleFlowNodeKey())) {//仅当前节点在分析时,才操作 SampleFlowParam sampleFlowParam = new SampleFlowParam(); sampleFlowParam.setCurrentSampleFlowKey(QmsCommonConstant.FLOW_NODE_ANALYSIS); sampleFlowParam.setSampleSourceType(2);