字段修改等

This commit is contained in:
2025-10-16 09:19:57 +08:00
parent c7a673b88a
commit ad667e6fb4
12 changed files with 97 additions and 22 deletions

View File

@@ -76,4 +76,10 @@ public class SampleAnalysisAuditController {
return success("成功"); return success("成功");
} }
//重新创建复检委托
@PostMapping("/createReAnalysis")
public CommonResult<?> createReAnalysis(Long businessSubSampleId, Long configAssayMethodId) {
sampleAnalysisAuditService.createReAnalysis(businessSubSampleId, configAssayMethodId);
return success("成功");
}
} }

View File

@@ -6,6 +6,18 @@ import lombok.Data;
@Data @Data
public class BusinessAssayProjectDataExtendRespVO extends BusinessAssayProjectDataRespVO { public class BusinessAssayProjectDataExtendRespVO extends BusinessAssayProjectDataRespVO {
@Schema(description = "样品主样ID", example = "23293")
private Long businessBaseSampleId;
@Schema(description = "样品分样ID", example = "15024")
private Long businessSubParentSampleId;
@Schema(description = "分样子样ID", example = "20464")
private Long businessSubSampleId;
@Schema(description = "任务分配单Id")
private Long businessAssayTaskId;
@Schema(description = "样品名称", example = "张三") @Schema(description = "样品名称", example = "张三")
private String sampleName; private String sampleName;
@@ -32,4 +44,7 @@ public class BusinessAssayProjectDataExtendRespVO extends BusinessAssayProjectDa
@Schema(description = "单位") @Schema(description = "单位")
private String dictionaryProjectUnit; private String dictionaryProjectUnit;
@Schema(description = "分析次数")
private Integer analysisCount;
} }

View File

@@ -9,6 +9,9 @@ public class BusinessSubSampleAssessmentExtendRespVO extends BusinessSubSampleAs
@Schema(description = "检测项目key") @Schema(description = "检测项目key")
private String dictionaryProjectKey; private String dictionaryProjectKey;
@Schema(description = "检测项目单位")
private String dictionaryProjectUnit;
@Schema(description = "检测项目缩写") @Schema(description = "检测项目缩写")
private String simpleName; private String simpleName;

View File

@@ -97,6 +97,10 @@ public interface BusinessAssayProjectDataMapper extends BaseMapperX<BusinessAssa
.selectAs(DictionaryProjectDO::getSimpleName, BusinessAssayProjectDataExtendRespVO::getSimpleName) .selectAs(DictionaryProjectDO::getSimpleName, BusinessAssayProjectDataExtendRespVO::getSimpleName)
.selectAs(DictionaryProjectDO::getShowName, BusinessAssayProjectDataExtendRespVO::getShowName) .selectAs(DictionaryProjectDO::getShowName, BusinessAssayProjectDataExtendRespVO::getShowName)
.selectAs(BusinessAssayTaskDataDO::getAssayOperator, BusinessAssayProjectDataExtendRespVO::getAssayOperator) .selectAs(BusinessAssayTaskDataDO::getAssayOperator, BusinessAssayProjectDataExtendRespVO::getAssayOperator)
.selectAs(BusinessAssayTaskDataDO::getAnalysisCount, BusinessAssayProjectDataExtendRespVO::getAnalysisCount)
.selectAs(BusinessAssayTaskDataDO::getBusinessBaseSampleId, BusinessAssayProjectDataExtendRespVO::getBusinessBaseSampleId)
.selectAs(BusinessAssayTaskDataDO::getBusinessSubParentSampleId, BusinessAssayProjectDataExtendRespVO::getBusinessSubParentSampleId)
.selectAs(BusinessAssayTaskDataDO::getBusinessSubSampleId, BusinessAssayProjectDataExtendRespVO::getBusinessSubSampleId)
.selectAs(BusinessSubSampleDO::getSampleName, BusinessAssayProjectDataExtendRespVO::getSampleName) .selectAs(BusinessSubSampleDO::getSampleName, BusinessAssayProjectDataExtendRespVO::getSampleName)
.selectAs(BusinessSubSampleDO::getSampleCode, BusinessAssayProjectDataExtendRespVO::getSampleCode) .selectAs(BusinessSubSampleDO::getSampleCode, BusinessAssayProjectDataExtendRespVO::getSampleCode)
.selectAs(BusinessSubSampleDO::getSampleAssayCode, BusinessAssayProjectDataExtendRespVO::getSampleAssayCode) .selectAs(BusinessSubSampleDO::getSampleAssayCode, BusinessAssayProjectDataExtendRespVO::getSampleAssayCode)

View File

@@ -6,6 +6,7 @@ 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.controller.vo.*;
import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSubSampleAssessmentPageReqVO; import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSubSampleAssessmentPageReqVO;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleAssessmentDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleAssessmentDO;
import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodProjectDO;
import com.zt.plat.module.qms.business.dic.dal.dataobject.DictionaryProjectDO; import com.zt.plat.module.qms.business.dic.dal.dataobject.DictionaryProjectDO;
import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX;
@@ -46,8 +47,10 @@ public interface BusinessSubSampleAssessmentMapper extends BaseMapperX<BusinessS
default List<BusinessSubSampleAssessmentExtendRespVO> selectByBusinessSubSampleIdAndConfigAssayMethodId(Long businessSubSampleId, Long configAssayMethodId) { default List<BusinessSubSampleAssessmentExtendRespVO> selectByBusinessSubSampleIdAndConfigAssayMethodId(Long businessSubSampleId, Long configAssayMethodId) {
return selectJoinList(BusinessSubSampleAssessmentExtendRespVO.class, new MPJLambdaWrapperX<BusinessSubSampleAssessmentDO>() return selectJoinList(BusinessSubSampleAssessmentExtendRespVO.class, new MPJLambdaWrapperX<BusinessSubSampleAssessmentDO>()
.leftJoin(ConfigAssayMethodProjectDO.class, ConfigAssayMethodProjectDO::getId, BusinessSubSampleAssessmentDO::getConfigAssayMethodProjectId)
.leftJoin(DictionaryProjectDO.class, DictionaryProjectDO::getId, BusinessSubSampleAssessmentDO::getDictionaryProjectId) .leftJoin(DictionaryProjectDO.class, DictionaryProjectDO::getId, BusinessSubSampleAssessmentDO::getDictionaryProjectId)
.selectAll(BusinessSubSampleAssessmentDO.class) .selectAll(BusinessSubSampleAssessmentDO.class)
.selectAs(ConfigAssayMethodProjectDO::getDictionaryProjectUnit, BusinessSubSampleAssessmentExtendRespVO::getDictionaryProjectUnit)
.selectAs(DictionaryProjectDO::getKey, BusinessSubSampleAssessmentExtendRespVO::getDictionaryProjectKey) .selectAs(DictionaryProjectDO::getKey, BusinessSubSampleAssessmentExtendRespVO::getDictionaryProjectKey)
.selectAs(DictionaryProjectDO::getSimpleName, BusinessSubSampleAssessmentExtendRespVO::getSimpleName) .selectAs(DictionaryProjectDO::getSimpleName, BusinessSubSampleAssessmentExtendRespVO::getSimpleName)
.selectAs(DictionaryProjectDO::getShowName, BusinessSubSampleAssessmentExtendRespVO::getShowName) .selectAs(DictionaryProjectDO::getShowName, BusinessSubSampleAssessmentExtendRespVO::getShowName)

View File

@@ -26,4 +26,6 @@ public interface SampleAnalysisAuditService {
void assessmentDataReporting(Long businessSubSampleId, Long configAssayMethodId); void assessmentDataReporting(Long businessSubSampleId, Long configAssayMethodId);
void createReAnalysis(Long businessSubSampleId, Long configAssayMethodId);
} }

View File

@@ -30,6 +30,7 @@ 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.BusinessAssayTaskDataDO;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessBaseSampleDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessBaseSampleDO;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleAssessmentDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleAssessmentDO;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleDO;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessTeamAssessmentDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessTeamAssessmentDO;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayProjectDataMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayProjectDataMapper;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayReportDataMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayReportDataMapper;
@@ -38,16 +39,19 @@ import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayTaskDetailMap
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayTaskMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayTaskMapper;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessBaseSampleMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessBaseSampleMapper;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubSampleAssessmentMapper; 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.dal.mapper.BusinessTeamAssessmentMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessTeamAssessmentMapper;
import com.zt.plat.module.qms.business.config.controller.vo.*; import com.zt.plat.module.qms.business.config.controller.vo.*;
import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodProjectAssessmentDO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodProjectAssessmentDO;
import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigReportFieldDO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigReportFieldDO;
import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigSubSampleDO;
import com.zt.plat.module.qms.business.config.dal.mapper.ConfigAssayMethodProjectAssessmentMapper; import com.zt.plat.module.qms.business.config.dal.mapper.ConfigAssayMethodProjectAssessmentMapper;
import com.zt.plat.module.qms.business.config.dal.mapper.ConfigAssayMethodProjectMapper; import com.zt.plat.module.qms.business.config.dal.mapper.ConfigAssayMethodProjectMapper;
import com.zt.plat.module.qms.business.config.dal.mapper.ConfigProjectMapper; import com.zt.plat.module.qms.business.config.dal.mapper.ConfigProjectMapper;
import com.zt.plat.module.qms.business.config.dal.mapper.ConfigReportFieldMapper; import com.zt.plat.module.qms.business.config.dal.mapper.ConfigReportFieldMapper;
import com.zt.plat.module.qms.business.config.dal.mapper.ConfigReportTypeMapper; import com.zt.plat.module.qms.business.config.dal.mapper.ConfigReportTypeMapper;
import com.zt.plat.module.qms.business.config.dal.mapper.ConfigSampleReportMapper; import com.zt.plat.module.qms.business.config.dal.mapper.ConfigSampleReportMapper;
import com.zt.plat.module.qms.business.config.dal.mapper.ConfigSubSampleMapper;
import com.zt.plat.module.qms.core.qlexpress.cmp.AllowanceCalculatorComponent; import com.zt.plat.module.qms.core.qlexpress.cmp.AllowanceCalculatorComponent;
import com.zt.plat.module.qms.enums.QmsCommonConstant; import com.zt.plat.module.qms.enums.QmsCommonConstant;
@@ -169,8 +173,9 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic
List<BusinessSubSampleAssessmentExtendRespVO> businessSubSampleAssessmentList = businessSubSampleAssessmentMapper.selectByBusinessSubSampleIdAndConfigAssayMethodId(businessAssayTaskDataExtendRespVO.getBusinessSubSampleId(), configAssayMethodId); List<BusinessSubSampleAssessmentExtendRespVO> businessSubSampleAssessmentList = businessSubSampleAssessmentMapper.selectByBusinessSubSampleIdAndConfigAssayMethodId(businessAssayTaskDataExtendRespVO.getBusinessSubSampleId(), configAssayMethodId);
for (BusinessSubSampleAssessmentExtendRespVO businessSubSampleAssessment : businessSubSampleAssessmentList) { for (BusinessSubSampleAssessmentExtendRespVO businessSubSampleAssessment : businessSubSampleAssessmentList) {
businessAssayTaskDataAssessmentMap.put("id", businessSubSampleAssessment.getId()); businessAssayTaskDataAssessmentMap.put("id", businessSubSampleAssessment.getId());
businessAssayTaskDataAssessmentMap.put("assessmentStatus", businessSubSampleAssessment.getAssessmentStatus());
businessAssayTaskDataAssessmentMap.put(businessSubSampleAssessment.getSimpleName(), businessSubSampleAssessment.getAssessmentValue()); businessAssayTaskDataAssessmentMap.put(businessSubSampleAssessment.getSimpleName(), businessSubSampleAssessment.getAssessmentValue());
businessAssayTaskDataAssessmentMap.put("assessmentStatus", businessSubSampleAssessment.getAssessmentValue()); businessAssayTaskDataAssessmentMap.put("assessmentValue", businessSubSampleAssessment.getAssessmentValue());
} }
} else if ("双杯".equals(businessAssayTaskDataExtendRespVO.getAssayType())) { } else if ("双杯".equals(businessAssayTaskDataExtendRespVO.getAssayType())) {
//businessTeamAssessmentMapper.selectBy //businessTeamAssessmentMapper.selectBy
@@ -200,27 +205,43 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic
List<Map<String, Object>> columnList = new ArrayList<>(); List<Map<String, Object>> columnList = new ArrayList<>();
List<Map<String, Object>> dataList = new ArrayList<>(); List<Map<String, Object>> dataList = new ArrayList<>();
//查询判定值
List<BusinessSubSampleAssessmentExtendRespVO> businessSubSampleAssessmentList = businessSubSampleAssessmentMapper.selectByBusinessSubSampleIdAndConfigAssayMethodId(businessSubSampleId, configAssayMethodId);
for (BusinessSubSampleAssessmentExtendRespVO businessSubSampleAssessment : businessSubSampleAssessmentList) {
Map<String, Object> businessSubSampleAssessmentMap = BeanUtil.beanToMap(businessSubSampleAssessment);
dataList.add(businessSubSampleAssessmentMap);
}
//查询子样平行分析结果 //查询子样平行分析结果
BusinessAssayProjectDataReqVO search = new BusinessAssayProjectDataReqVO(); BusinessAssayProjectDataReqVO search = new BusinessAssayProjectDataReqVO();
search.setBusinessSubSampleId(businessSubSampleId); search.setBusinessSubSampleId(businessSubSampleId);
search.setConfigAssayMethodId(configAssayMethodId); search.setConfigAssayMethodId(configAssayMethodId);
List<BusinessAssayProjectDataExtendRespVO> businessAssayProjectDataList = businessAssayProjectDataMapper.selectAnalysisBy(search); List<BusinessAssayProjectDataExtendRespVO> businessAssayProjectDataList = businessAssayProjectDataMapper.selectAnalysisBy(search);
// BusinessAssayTaskDataReqVO search = new BusinessAssayTaskDataReqVO(); //已检测项目分组,取第一个
// search.setBusinessSubSampleId(businessSubSampleId); Map<Long, List<BusinessAssayProjectDataExtendRespVO>> businessAssayProjectDataMap = businessAssayProjectDataList.stream().collect(Collectors.groupingBy(BusinessAssayProjectDataExtendRespVO::getConfigAssayMethodProjectId));
// search.setConfigAssayMethodId(configAssayMethodId); for (Map.Entry<Long, List<BusinessAssayProjectDataExtendRespVO>> businessAssayProjectDataEntry : businessAssayProjectDataMap.entrySet()) {
// List<BusinessAssayTaskDataExtendRespVO> resultAssessmentList = businessAssayTaskDataMapper.selectResultAssessmentList(search); //单个检测项目的分析结果
List<BusinessAssayProjectDataExtendRespVO> businessAssayProjectDataSingleList = businessAssayProjectDataEntry.getValue();
for (BusinessAssayProjectDataExtendRespVO businessAssayProjectDataExtendRespVO : businessAssayProjectDataSingleList) {//每个检测结果作为一个动态列
columnList.add(new HashMap<String, Object>() {{
put("title", businessAssayProjectDataExtendRespVO.getSampleAssayCode() + "(" + businessAssayProjectDataExtendRespVO.getAssayOperator() + ")");
put("field", businessAssayProjectDataExtendRespVO.getId() + ";" + businessAssayProjectDataExtendRespVO.getConfigAssayMethodProjectId() + ";" + businessAssayProjectDataExtendRespVO.getBusinessSubSampleId() + ";" + businessAssayProjectDataExtendRespVO.getAnalysisCount());
// put("dataType", configAssayMethodProject.getDataType());
// put("decimalPosition", configAssayMethodProject.getDecimalPosition());
// put("isEdit", true);
}});
}
//取第一个后跳出循环
break;
}
//查询判定值
List<BusinessSubSampleAssessmentExtendRespVO> businessSubSampleAssessmentList = businessSubSampleAssessmentMapper.selectByBusinessSubSampleIdAndConfigAssayMethodId(businessSubSampleId, configAssayMethodId);
for (BusinessSubSampleAssessmentExtendRespVO businessSubSampleAssessment : businessSubSampleAssessmentList) {
Map<String, Object> businessSubSampleAssessmentMap = BeanUtil.beanToMap(businessSubSampleAssessment);
List<BusinessAssayProjectDataExtendRespVO> businessAssayProjectDataSingleList = businessAssayProjectDataList.stream().filter(f -> f.getDictionaryProjectId().equals(businessSubSampleAssessment.getDictionaryProjectId())).collect(Collectors.toList());
for (BusinessAssayProjectDataExtendRespVO businessAssayProjectDataExtendRespVO : businessAssayProjectDataSingleList) {
businessSubSampleAssessmentMap.put(businessAssayProjectDataExtendRespVO.getId() + ";" + businessAssayProjectDataExtendRespVO.getConfigAssayMethodProjectId() + ";" + businessAssayProjectDataExtendRespVO.getBusinessSubSampleId() + ";" + businessAssayProjectDataExtendRespVO.getAnalysisCount(), businessAssayProjectDataExtendRespVO.getValue());
}
dataList.add(businessSubSampleAssessmentMap);
}
JSONObject json = new JSONObject(); JSONObject json = new JSONObject();
json.put("columns", columnList); json.put("columns", columnList);
@@ -549,6 +570,27 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic
.in(BusinessSubSampleAssessmentDO::getId, businessSubSampleAssessmentIdList)); .in(BusinessSubSampleAssessmentDO::getId, businessSubSampleAssessmentIdList));
} }
@Resource
private ConfigSubSampleMapper configSubSampleMapper;
@Resource
private BusinessSubSampleMapper businessSubSampleMapper;
@Override
@Transactional(rollbackFor = Exception.class)
public void createReAnalysis(Long businessSubSampleId, Long configAssayMethodId) {
//子样数据
BusinessSubSampleDO businessSubSampleDO = businessSubSampleMapper.selectById(businessSubSampleId);
//子样配置数据
ConfigSubSampleDO configSubSampleDO = configSubSampleMapper.selectById(businessSubSampleDO.getConfigSubSampleId());
//businessAssayTaskDataMapper.select
}
} }

View File

@@ -38,7 +38,7 @@ public class ConfigSubSamplePageReqVO extends PageParam {
private Integer isPrint; private Integer isPrint;
@Schema(description = "复检节点") @Schema(description = "复检节点")
private String recheckFlowCode; private String recheckFlowNodeKey;
@Schema(description = "样品名称", example = "芋艿") @Schema(description = "样品名称", example = "芋艿")
private String sampleName; private String sampleName;

View File

@@ -50,7 +50,7 @@ public class ConfigSubSampleRespVO {
@Schema(description = "复检节点") @Schema(description = "复检节点")
@ExcelProperty("复检节点") @ExcelProperty("复检节点")
private String recheckFlowCode; private String recheckFlowNodeKey;
@Schema(description = "样品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") @Schema(description = "样品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
@ExcelProperty("样品名称") @ExcelProperty("样品名称")

View File

@@ -44,7 +44,7 @@ public class ConfigSubSampleSaveReqVO {
private Integer isPrint; private Integer isPrint;
@Schema(description = "复检节点") @Schema(description = "复检节点")
private String recheckFlowCode; private String recheckFlowNodeKey;
@Schema(description = "样品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") @Schema(description = "样品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
@NotEmpty(message = "样品名称不能为空") @NotEmpty(message = "样品名称不能为空")

View File

@@ -74,8 +74,8 @@ public class ConfigSubSampleDO extends BusinessBaseDO {
/** /**
* 复检节点 * 复检节点
*/ */
@TableField("RCHK_FLW_CD") @TableField("RCHK_FLW_NDE_KY")
private String recheckFlowCode; private String recheckFlowNodeKey;
/** /**
* 样品名称 * 样品名称
*/ */

View File

@@ -26,7 +26,7 @@ public interface ConfigSubSampleMapper extends BaseMapperX<ConfigSubSampleDO> {
.eqIfPresent(ConfigSubSampleDO::getSimpleCodeRule, reqVO.getSimpleCodeRule()) .eqIfPresent(ConfigSubSampleDO::getSimpleCodeRule, reqVO.getSimpleCodeRule())
.eqIfPresent(ConfigSubSampleDO::getCodeRule, reqVO.getCodeRule()) .eqIfPresent(ConfigSubSampleDO::getCodeRule, reqVO.getCodeRule())
.eqIfPresent(ConfigSubSampleDO::getIsPrint, reqVO.getIsPrint()) .eqIfPresent(ConfigSubSampleDO::getIsPrint, reqVO.getIsPrint())
.eqIfPresent(ConfigSubSampleDO::getRecheckFlowCode, reqVO.getRecheckFlowCode()) .eqIfPresent(ConfigSubSampleDO::getRecheckFlowNodeKey, reqVO.getRecheckFlowNodeKey())
.likeIfPresent(ConfigSubSampleDO::getSampleName, reqVO.getSampleName()) .likeIfPresent(ConfigSubSampleDO::getSampleName, reqVO.getSampleName())
.eqIfPresent(ConfigSubSampleDO::getSampleSaveDay, reqVO.getSampleSaveDay()) .eqIfPresent(ConfigSubSampleDO::getSampleSaveDay, reqVO.getSampleSaveDay())
.eqIfPresent(ConfigSubSampleDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode()) .eqIfPresent(ConfigSubSampleDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode())