Compare commits

...

2 Commits

Author SHA1 Message Date
wxr
892596fc2e Merge branch 'test' of https://git.will-way.cn/zgty/zt-qms into test 2026-01-26 13:37:07 +08:00
wxr
50a868e0a0 班组送样等bug修复 2026-01-26 13:36:56 +08:00
7 changed files with 49 additions and 35 deletions

View File

@@ -46,20 +46,22 @@ public class TestController {
bzr.setNodeKey("flw_team_receive"); bzr.setNodeKey("flw_team_receive");
bzr.setSort(3300); bzr.setSort(3300);
SampleFlowNode ypbm = new SampleFlowNode(); // SampleFlowNode ypbm = new SampleFlowNode();
ypbm.setNodeName("样品编密"); // ypbm.setNodeName("样品编密");
ypbm.setNodeKey("flw_sample_encrypt"); // ypbm.setNodeKey("flw_sample_encrypt");
ypbm.setSort(3400); // ypbm.setSort(3400);
// SampleFlowNode fxr = new SampleFlowNode(); // SampleFlowNode fxr = new SampleFlowNode();
// fxr.setNodeName("分析收样"); // fxr.setNodeName("分析收样");
// fxr.setNodeKey("flw_analysis_receive"); // fxr.setNodeKey("flw_analysis_receive");
// fxr.setSort(3500); // fxr.setSort(3500);
// //
SampleFlowNode fx = new SampleFlowNode();
fx.setNodeName("样品分析"); // SampleFlowNode fx = new SampleFlowNode();
fx.setNodeKey("flw_analysis"); // fx.setNodeName("样品分析");
fx.setSort(3550); // fx.setNodeKey("flw_analysis");
// fx.setSort(3550);
// //
// SampleFlowNode fxs = new SampleFlowNode(); // SampleFlowNode fxs = new SampleFlowNode();
// fxs.setNodeName("分析送样"); // fxs.setNodeName("分析送样");
@@ -101,19 +103,20 @@ public class TestController {
private static final long serialVersionUID = 6376704859477839016L; private static final long serialVersionUID = 6376704859477839016L;
{ {
add(BeanUtils.toBean(ypbm,SampleFlowNode.class).setCondition("subSampleEncrypt"));//样品需要编密并且没编密过 add(BeanUtils.toBean(bzs,SampleFlowNode.class).setIsDefault(true));//
add(BeanUtils.toBean(fx,SampleFlowNode.class).setCondition("subSampleNotEncrypt"));//样品无需编密或样品已编密过 // add(BeanUtils.toBean(ypbm,SampleFlowNode.class).setCondition("subSampleEncrypt"));//样品需要编密并且没编密过
// add(BeanUtils.toBean(bzs,SampleFlowNode.class).setCondition("subSampleNotEncrypt"));//样品无需编密或样品已编密过
}}); }});
flowNodeList.add(bzr); flowNodeList.add(bzr);
ypbm.setNextFlowNodeList(new ArrayList<>() { // ypbm.setNextFlowNodeList(new ArrayList<>() {
private static final long serialVersionUID = 1014984817516902869L; // private static final long serialVersionUID = 1014984817516902869L;
//
{ // {
add(BeanUtils.toBean(fx,SampleFlowNode.class).setIsDefault(true)); // add(BeanUtils.toBean(bzs,SampleFlowNode.class).setIsDefault(true));
}}); // }});
flowNodeList.add(ypbm); // flowNodeList.add(ypbm);
// fxr.setNextFlowNodeList(new ArrayList<>() {{ // fxr.setNextFlowNodeList(new ArrayList<>() {{
@@ -127,13 +130,13 @@ public class TestController {
// }}); // }});
// flowNodeList.add(fxs); // flowNodeList.add(fxs);
fx.setNextFlowNodeList(new ArrayList<>() { // fx.setNextFlowNodeList(new ArrayList<>() {
private static final long serialVersionUID = -610440034210287957L; // private static final long serialVersionUID = -610440034210287957L;
//
{ // {
add(BeanUtils.toBean(bzs,SampleFlowNode.class).setIsDefault(true).setCondition("当前部门任务已全部分析完")); // add(BeanUtils.toBean(bzs,SampleFlowNode.class).setIsDefault(true).setCondition("当前部门任务已全部分析完"));
}}); // }});
flowNodeList.add(fx); // flowNodeList.add(fx);
bzs.setNextFlowNodeList(new ArrayList<>() { bzs.setNextFlowNodeList(new ArrayList<>() {
private static final long serialVersionUID = -5057434004685743838L; private static final long serialVersionUID = -5057434004685743838L;

View File

@@ -145,6 +145,9 @@ public class BusinessSubSamplePageReqVO extends PageParam {
@Schema(description = "分析部门状态") @Schema(description = "分析部门状态")
private String assayDepartmentStatus; private String assayDepartmentStatus;
@Schema(description = "分析部门状态列表")
private List<String> assayDepartmentStatusList;
@Schema(description = "是否已送样") @Schema(description = "是否已送样")
private Integer isSendSample; private Integer isSendSample;

View File

@@ -144,6 +144,7 @@ public interface BusinessSubSampleMapper extends BaseMapperX<BusinessSubSampleDO
.eqIfPresent(BusinessSubSampleAnalysisGroupDO::getAssayDepartmentId, reqVO.getAssayDepartmentId()) .eqIfPresent(BusinessSubSampleAnalysisGroupDO::getAssayDepartmentId, reqVO.getAssayDepartmentId())
.eqIfPresent(BusinessSubSampleAnalysisGroupDO::getAssayDepartmentName, reqVO.getAssayDepartmentName()) .eqIfPresent(BusinessSubSampleAnalysisGroupDO::getAssayDepartmentName, reqVO.getAssayDepartmentName())
.eqIfPresent(BusinessSubSampleAnalysisGroupDO::getSampleStatus, reqVO.getAssayDepartmentStatus()) .eqIfPresent(BusinessSubSampleAnalysisGroupDO::getSampleStatus, reqVO.getAssayDepartmentStatus())
.inIfPresent(BusinessSubSampleAnalysisGroupDO::getSampleStatus, reqVO.getAssayDepartmentStatusList())
.eqIfPresent(BusinessSubSampleAnalysisGroupDO::getIsSend, reqVO.getIsSendSample()) .eqIfPresent(BusinessSubSampleAnalysisGroupDO::getIsSend, reqVO.getIsSendSample())
.orderByDesc(BusinessSubSampleDO::getSampleFlowNodeTime).orderByAsc(BusinessSubSampleDO::getSampleCode)); .orderByDesc(BusinessSubSampleDO::getSampleFlowNodeTime).orderByAsc(BusinessSubSampleDO::getSampleCode));
} }

View File

@@ -572,9 +572,9 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent {
businessAssayTaskDataDO.setConfigAssayMethodId(configAssayMethodId); businessAssayTaskDataDO.setConfigAssayMethodId(configAssayMethodId);
businessAssayTaskDataDO.setAssayType(assayType); businessAssayTaskDataDO.setAssayType(assayType);
businessAssayTaskDataDO.setTaskType("常规"); businessAssayTaskDataDO.setTaskType("常规");
businessAssayTaskDataDO.setConfigSampleFlowId(configSampleFlowSub.getId()); // businessAssayTaskDataDO.setConfigSampleFlowId(configSampleFlowSub.getId());
businessAssayTaskDataDO.setSampleFlowNodeKey(sampleFlowNodeSub.getNodeKey()); // businessAssayTaskDataDO.setSampleFlowNodeKey(sampleFlowNodeSub.getNodeKey());
businessAssayTaskDataDO.setSampleFlowNodeTime(currentDateTime); // businessAssayTaskDataDO.setSampleFlowNodeTime(currentDateTime);
businessAssayTaskDataDO.setAssayDepartmentId(configAssayMethodDO.getAssayDepartmentId()); businessAssayTaskDataDO.setAssayDepartmentId(configAssayMethodDO.getAssayDepartmentId());
businessAssayTaskDataDO.setAssayDepartmentName(configAssayMethodDO.getAssayDepartmentName()); businessAssayTaskDataDO.setAssayDepartmentName(configAssayMethodDO.getAssayDepartmentName());
@@ -832,9 +832,9 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent {
businessAssayTaskDataDO.setConfigAssayMethodId(addAssayTaskConfigAssayMethod.getId()); businessAssayTaskDataDO.setConfigAssayMethodId(addAssayTaskConfigAssayMethod.getId());
businessAssayTaskDataDO.setAssayType(assayType); businessAssayTaskDataDO.setAssayType(assayType);
businessAssayTaskDataDO.setTaskType("常规"); businessAssayTaskDataDO.setTaskType("常规");
businessAssayTaskDataDO.setConfigSampleFlowId(configSampleFlowSub.getId()); // businessAssayTaskDataDO.setConfigSampleFlowId(configSampleFlowSub.getId());
businessAssayTaskDataDO.setSampleFlowNodeKey(sampleFlowNodeSub.getNodeKey()); // businessAssayTaskDataDO.setSampleFlowNodeKey(sampleFlowNodeSub.getNodeKey());
businessAssayTaskDataDO.setSampleFlowNodeTime(currentDateTime); // businessAssayTaskDataDO.setSampleFlowNodeTime(currentDateTime);
businessAssayTaskDataDO.setAssayDepartmentId(addAssayTaskConfigAssayMethod.getAssayDepartmentId()); businessAssayTaskDataDO.setAssayDepartmentId(addAssayTaskConfigAssayMethod.getAssayDepartmentId());
businessAssayTaskDataDO.setAssayDepartmentName(addAssayTaskConfigAssayMethod.getAssayDepartmentName()); businessAssayTaskDataDO.setAssayDepartmentName(addAssayTaskConfigAssayMethod.getAssayDepartmentName());

View File

@@ -1,5 +1,6 @@
package com.zt.plat.module.qms.business.bus.liteflow.sample.flow; package com.zt.plat.module.qms.business.bus.liteflow.sample.flow;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@@ -19,6 +20,8 @@ import com.zt.plat.module.qms.business.bus.liteflow.param.SampleFlowInfo;
import com.zt.plat.module.qms.business.bus.liteflow.slot.SampleFlowContext; import com.zt.plat.module.qms.business.bus.liteflow.slot.SampleFlowContext;
import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigSubSampleDO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigSubSampleDO;
import com.zt.plat.module.qms.business.config.dal.mapper.ConfigSubSampleMapper; import com.zt.plat.module.qms.business.config.dal.mapper.ConfigSubSampleMapper;
import com.zt.plat.module.qms.enums.QmsCommonConstant;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
@LiteflowComponent(id = "sampleSubCheckCmp", name = "子样检查") @LiteflowComponent(id = "sampleSubCheckCmp", name = "子样检查")
@@ -62,7 +65,11 @@ public class SampleSubCheckCmp extends NodeComponent {
List<Long> configSubSampleIdList = businessSubSampleDOList.stream().map(m -> m.getConfigSubSampleId()).distinct().collect(Collectors.toList()); List<Long> configSubSampleIdList = businessSubSampleDOList.stream().map(m -> m.getConfigSubSampleId()).distinct().collect(Collectors.toList());
List<ConfigSubSampleDO> configSubSampleList = configSubSampleMapper.selectByIds(configSubSampleIdList); List<ConfigSubSampleDO> configSubSampleList = configSubSampleMapper.selectByIds(configSubSampleIdList);
List<BusinessAssayTaskDataDO> businessAssayTaskDataList = businessAssayTaskDataMapper.selectList(new LambdaQueryWrapperX<BusinessAssayTaskDataDO>().in(BusinessAssayTaskDataDO::getBusinessSubSampleId, sampleIdList)); List<BusinessAssayTaskDataDO> businessAssayTaskDataList = new ArrayList<>();
//如果是班组收样或者内部简码时,才需要更新分析任务节点
if (QmsCommonConstant.FLOW_NODE_TEAM_RECEIVE.equals(currentSampleFlowKey) || QmsCommonConstant.FlOW_NODE_SAMPLE_ENCRYPT.equals(currentSampleFlowKey)) {
businessAssayTaskDataList = businessAssayTaskDataMapper.selectList(new LambdaQueryWrapperX<BusinessAssayTaskDataDO>().in(BusinessAssayTaskDataDO::getBusinessSubSampleId, sampleIdList));
}
//上一次交接记录 //上一次交接记录
List<Long> upSampleRecordIdList = businessSubSampleDOList.stream().filter(f -> f.getUpSampleRecordId() != null).map(m -> m.getUpSampleRecordId()).collect(Collectors.toList()); List<Long> upSampleRecordIdList = businessSubSampleDOList.stream().filter(f -> f.getUpSampleRecordId() != null).map(m -> m.getUpSampleRecordId()).collect(Collectors.toList());

View File

@@ -98,8 +98,8 @@ public class SampleSubProcessUpdateCmp extends NodeComponent {
if (CollUtil.isNotEmpty(businessSubSampleAnalysisGroupDOList)) { if (CollUtil.isNotEmpty(businessSubSampleAnalysisGroupDOList)) {
List<BusinessSubSampleAnalysisGroupDO> curSubSampleAnalysisGroupDOList = businessSubSampleAnalysisGroupDOList.stream().filter(f -> f.getBusinessSubSampleId().equals(businessSubSample.getId())).collect(Collectors.toList()); List<BusinessSubSampleAnalysisGroupDO> curSubSampleAnalysisGroupDOList = businessSubSampleAnalysisGroupDOList.stream().filter(f -> f.getBusinessSubSampleId().equals(businessSubSample.getId())).collect(Collectors.toList());
Boolean hasAllDeptAnalyzed = curSubSampleAnalysisGroupDOList.stream().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())); 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("hasAllDeptAnalyzed", hasAllDeptAnalyzed);
context.put("hasCurDeptAnalyzed", hasCurDeptAnalyzed); context.put("hasCurDeptAnalyzed", hasCurDeptAnalyzed);
} }
@@ -127,7 +127,7 @@ public class SampleSubProcessUpdateCmp extends NodeComponent {
List<BusinessAssayTaskDataDO> subSampleAssayTaskDataList = businessAssayTaskDataList.stream().filter(f -> f.getBusinessSubSampleId().equals(businessSubSample.getId())).collect(Collectors.toList()); List<BusinessAssayTaskDataDO> subSampleAssayTaskDataList = businessAssayTaskDataList.stream().filter(f -> f.getBusinessSubSampleId().equals(businessSubSample.getId())).collect(Collectors.toList());
for (BusinessAssayTaskDataDO businessAssayTaskDataDO : subSampleAssayTaskDataList) { for (BusinessAssayTaskDataDO businessAssayTaskDataDO : subSampleAssayTaskDataList) {
businessAssayTaskDataDO.setSampleFlowNodeKey(nextFlowNode.getNodeKey()); businessAssayTaskDataDO.setSampleFlowNodeKey(QmsCommonConstant.FLOW_NODE_ANALYSIS);//样品分析
businessAssayTaskDataDO.setSampleFlowNodeTime(currentDateTime); businessAssayTaskDataDO.setSampleFlowNodeTime(currentDateTime);
} }

View File

@@ -810,7 +810,7 @@ public class SampleResultReportingServiceImpl implements SampleResultReportingSe
businessSampleEntrustRegistrationMapper.updateBatch(updatebBusinessSampleEntrustRegistrationDOList); 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 sampleFlowParam = new SampleFlowParam();
sampleFlowParam.setCurrentSampleFlowKey(QmsCommonConstant.FLOW_NODE_ANALYSIS); sampleFlowParam.setCurrentSampleFlowKey(QmsCommonConstant.FLOW_NODE_ANALYSIS);
sampleFlowParam.setSampleSourceType(2); sampleFlowParam.setSampleSourceType(2);