字段修改等

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("成功");
}
//重新创建复检委托
@PostMapping("/createReAnalysis")
public CommonResult<?> createReAnalysis(Long businessSubSampleId, Long configAssayMethodId) {
sampleAnalysisAuditService.createReAnalysis(businessSubSampleId, configAssayMethodId);
return success("成功");
}
}

View File

@@ -5,6 +5,18 @@ import lombok.Data;
@Data
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 = "张三")
private String sampleName;
@@ -32,4 +44,7 @@ public class BusinessAssayProjectDataExtendRespVO extends BusinessAssayProjectDa
@Schema(description = "单位")
private String dictionaryProjectUnit;
@Schema(description = "分析次数")
private Integer analysisCount;
}

View File

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

View File

@@ -97,6 +97,10 @@ public interface BusinessAssayProjectDataMapper extends BaseMapperX<BusinessAssa
.selectAs(DictionaryProjectDO::getSimpleName, BusinessAssayProjectDataExtendRespVO::getSimpleName)
.selectAs(DictionaryProjectDO::getShowName, BusinessAssayProjectDataExtendRespVO::getShowName)
.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::getSampleCode, BusinessAssayProjectDataExtendRespVO::getSampleCode)
.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.BusinessSubSampleAssessmentPageReqVO;
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.framework.mybatis.core.mapper.BaseMapperX;
@@ -46,8 +47,10 @@ public interface BusinessSubSampleAssessmentMapper extends BaseMapperX<BusinessS
default List<BusinessSubSampleAssessmentExtendRespVO> selectByBusinessSubSampleIdAndConfigAssayMethodId(Long businessSubSampleId, Long configAssayMethodId) {
return selectJoinList(BusinessSubSampleAssessmentExtendRespVO.class, new MPJLambdaWrapperX<BusinessSubSampleAssessmentDO>()
.leftJoin(ConfigAssayMethodProjectDO.class, ConfigAssayMethodProjectDO::getId, BusinessSubSampleAssessmentDO::getConfigAssayMethodProjectId)
.leftJoin(DictionaryProjectDO.class, DictionaryProjectDO::getId, BusinessSubSampleAssessmentDO::getDictionaryProjectId)
.selectAll(BusinessSubSampleAssessmentDO.class)
.selectAs(ConfigAssayMethodProjectDO::getDictionaryProjectUnit, BusinessSubSampleAssessmentExtendRespVO::getDictionaryProjectUnit)
.selectAs(DictionaryProjectDO::getKey, BusinessSubSampleAssessmentExtendRespVO::getDictionaryProjectKey)
.selectAs(DictionaryProjectDO::getSimpleName, BusinessSubSampleAssessmentExtendRespVO::getSimpleName)
.selectAs(DictionaryProjectDO::getShowName, BusinessSubSampleAssessmentExtendRespVO::getShowName)

View File

@@ -26,4 +26,6 @@ public interface SampleAnalysisAuditService {
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.BusinessBaseSampleDO;
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.mapper.BusinessAssayProjectDataMapper;
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.BusinessBaseSampleMapper;
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.config.controller.vo.*;
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.ConfigSubSampleDO;
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.ConfigProjectMapper;
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.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.enums.QmsCommonConstant;
@@ -169,8 +173,9 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic
List<BusinessSubSampleAssessmentExtendRespVO> businessSubSampleAssessmentList = businessSubSampleAssessmentMapper.selectByBusinessSubSampleIdAndConfigAssayMethodId(businessAssayTaskDataExtendRespVO.getBusinessSubSampleId(), configAssayMethodId);
for (BusinessSubSampleAssessmentExtendRespVO businessSubSampleAssessment : businessSubSampleAssessmentList) {
businessAssayTaskDataAssessmentMap.put("id", businessSubSampleAssessment.getId());
businessAssayTaskDataAssessmentMap.put("assessmentStatus", businessSubSampleAssessment.getAssessmentStatus());
businessAssayTaskDataAssessmentMap.put(businessSubSampleAssessment.getSimpleName(), businessSubSampleAssessment.getAssessmentValue());
businessAssayTaskDataAssessmentMap.put("assessmentStatus", businessSubSampleAssessment.getAssessmentValue());
businessAssayTaskDataAssessmentMap.put("assessmentValue", businessSubSampleAssessment.getAssessmentValue());
}
} else if ("双杯".equals(businessAssayTaskDataExtendRespVO.getAssayType())) {
//businessTeamAssessmentMapper.selectBy
@@ -200,27 +205,43 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic
List<Map<String, Object>> columnList = 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();
search.setBusinessSubSampleId(businessSubSampleId);
search.setConfigAssayMethodId(configAssayMethodId);
List<BusinessAssayProjectDataExtendRespVO> businessAssayProjectDataList = businessAssayProjectDataMapper.selectAnalysisBy(search);
// BusinessAssayTaskDataReqVO search = new BusinessAssayTaskDataReqVO();
// search.setBusinessSubSampleId(businessSubSampleId);
// search.setConfigAssayMethodId(configAssayMethodId);
// List<BusinessAssayTaskDataExtendRespVO> resultAssessmentList = businessAssayTaskDataMapper.selectResultAssessmentList(search);
//已检测项目分组,取第一个
Map<Long, List<BusinessAssayProjectDataExtendRespVO>> businessAssayProjectDataMap = businessAssayProjectDataList.stream().collect(Collectors.groupingBy(BusinessAssayProjectDataExtendRespVO::getConfigAssayMethodProjectId));
for (Map.Entry<Long, List<BusinessAssayProjectDataExtendRespVO>> businessAssayProjectDataEntry : businessAssayProjectDataMap.entrySet()) {
//单个检测项目的分析结果
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();
json.put("columns", columnList);
@@ -549,6 +570,27 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic
.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;
@Schema(description = "复检节点")
private String recheckFlowCode;
private String recheckFlowNodeKey;
@Schema(description = "样品名称", example = "芋艿")
private String sampleName;

View File

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

View File

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

View File

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

View File

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