报出结果修改

This commit is contained in:
2025-10-29 11:54:03 +08:00
parent abd0ff713e
commit b60630b2cd
11 changed files with 102 additions and 21 deletions

View File

@@ -70,4 +70,18 @@ public class SampleResultReportingController {
return success("成功");
}
//结果单个结果查询
@GetMapping("/getSingleSampleResultReportingList")
public CommonResult<?> getSingleSampleResultReportingList(Long businessSubParentSampleId, Long configAssayMethodId) {
JSONObject result = sampleResultReportingService.getSingleSampleResultReportingList(businessSubParentSampleId, configAssayMethodId);
return success(result);
}
//修改结果
@PostMapping("/modifySampleResultReporting")
public CommonResult<?> modifySampleResultReporting(@RequestBody ModifySampleResultReportingReqVO reqVO) {
sampleResultReportingService.modifySampleResultReporting(reqVO);
return success("成功");
}
}

View File

@@ -25,6 +25,12 @@ public class BusinessSubParentSampleAssessmentPageReqVO extends PageParam {
@Schema(description = "检测方法配置ID", example = "16271")
private Long configAssayMethodId;
@Schema(description = "任务类型,【字典】【jy_sample_task_type】常规、抽查...", example = "2")
private String taskType;
@Schema(description = "分析类型,【字典】【jy_sample_assay_type】单杯-single_cup、双杯-double_cup、平行-single_parallel...", example = "1")
private String assayType;
@Schema(description = "数据类型,字典表【T_DIC_BSN】string-字符串int-整数decimal-小数,date-日期datetime-时间", example = "2")
private String dataType;
@@ -34,9 +40,6 @@ public class BusinessSubParentSampleAssessmentPageReqVO extends PageParam {
@Schema(description = "判定值")
private String assessmentValue;
@Schema(description = "上报对应列", example = "张三")
private String columnName;
@Schema(description = "判定状态in_progress-进行中 normal-正常exceeds_tolerance-超差", example = "2")
private String assessmentStatus;

View File

@@ -32,6 +32,12 @@ public class BusinessSubParentSampleAssessmentRespVO {
@ExcelProperty("检测方法配置ID")
private Long configAssayMethodId;
@Schema(description = "任务类型,【字典】【jy_sample_task_type】常规、抽查...", example = "2")
private String taskType;
@Schema(description = "分析类型,【字典】【jy_sample_assay_type】单杯-single_cup、双杯-double_cup、平行-single_parallel...", example = "1")
private String assayType;
@Schema(description = "数据类型,字典表【T_DIC_BSN】string-字符串int-整数decimal-小数,date-日期datetime-时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
@ExcelProperty("数据类型,字典表【T_DIC_BSN】string-字符串int-整数decimal-小数,date-日期datetime-时间")
private String dataType;
@@ -44,10 +50,6 @@ public class BusinessSubParentSampleAssessmentRespVO {
@ExcelProperty("判定值")
private String assessmentValue;
@Schema(description = "上报对应列", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
@ExcelProperty("上报对应列")
private String columnName;
@Schema(description = "判定状态in_progress-进行中 normal-正常exceeds_tolerance-超差", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
@ExcelProperty("判定状态in_progress-进行中 normal-正常exceeds_tolerance-超差")
private String assessmentStatus;

View File

@@ -30,6 +30,12 @@ public class BusinessSubParentSampleAssessmentSaveReqVO {
@NotNull(message = "检测方法配置ID不能为空")
private Long configAssayMethodId;
@Schema(description = "任务类型,【字典】【jy_sample_task_type】常规、抽查...", example = "2")
private String taskType;
@Schema(description = "分析类型,【字典】【jy_sample_assay_type】单杯-single_cup、双杯-double_cup、平行-single_parallel...", example = "1")
private String assayType;
@Schema(description = "数据类型,字典表【T_DIC_BSN】string-字符串int-整数decimal-小数,date-日期datetime-时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
@NotEmpty(message = "数据类型,字典表【T_DIC_BSN】string-字符串int-整数decimal-小数,date-日期datetime-时间不能为空")
private String dataType;
@@ -40,10 +46,6 @@ public class BusinessSubParentSampleAssessmentSaveReqVO {
@Schema(description = "判定值")
private String assessmentValue;
@Schema(description = "上报对应列", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
@NotEmpty(message = "上报对应列不能为空")
private String columnName;
@Schema(description = "判定状态in_progress-进行中 normal-正常exceeds_tolerance-超差", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
@NotEmpty(message = "判定状态in_progress-进行中 normal-正常exceeds_tolerance-超差不能为空")
private String assessmentStatus;

View File

@@ -0,0 +1,11 @@
package com.zt.plat.module.qms.business.bus.controller.vo;
import lombok.Data;
@Data
public class ModifySampleResultReportingReqVO {
private String businessSubParentSampleAssessmentIds;
private String businessSubSampleAssessmentIds;
}

View File

@@ -18,4 +18,8 @@ public class NoReportSubParentSampleAssessmentRespVO {
private String sampleName;
private String baseSampleName;
private String taskType;
private String assayType;
}

View File

@@ -53,6 +53,16 @@ public class BusinessSubParentSampleAssessmentDO extends BusinessBaseDO {
@TableField("CFG_ASY_MTHD_ID")
private Long configAssayMethodId;
/**
* 任务类型,【字典】【jy_sample_task_type】常规、抽查...
*/
@TableField("TSK_TP")
private String taskType;
/**
* 分析类型,【字典】【jy_sample_assay_type】单杯-single_cup、双杯-double_cup、平行-single_parallel...
*/
@TableField("ASY_TP")
private String assayType;
/**
* 数据类型,字典表【T_DIC_BSN】string-字符串int-整数decimal-小数,date-日期datetime-时间
*/
@TableField("DAT_TP")
@@ -68,11 +78,6 @@ public class BusinessSubParentSampleAssessmentDO extends BusinessBaseDO {
@TableField("ASMT_VAL")
private String assessmentValue;
/**
* 上报对应列
*/
@TableField("COLN_NAME")
private String columnName;
/**
* 判定状态in_progress-进行中 normal-正常exceeds_tolerance-超差
*/
@TableField("ASMT_STS")

View File

@@ -30,10 +30,11 @@ public interface BusinessSubParentSampleAssessmentMapper extends BaseMapperX<Bus
.eqIfPresent(BusinessSubParentSampleAssessmentDO::getDictionaryProjectId, reqVO.getDictionaryProjectId())
.eqIfPresent(BusinessSubParentSampleAssessmentDO::getConfigAssayMethodProjectId, reqVO.getConfigAssayMethodProjectId())
.eqIfPresent(BusinessSubParentSampleAssessmentDO::getConfigAssayMethodId, reqVO.getConfigAssayMethodId())
.eqIfPresent(BusinessSubParentSampleAssessmentDO::getTaskType, reqVO.getTaskType())
.eqIfPresent(BusinessSubParentSampleAssessmentDO::getAssayType, reqVO.getAssayType())
.eqIfPresent(BusinessSubParentSampleAssessmentDO::getDataType, reqVO.getDataType())
.eqIfPresent(BusinessSubParentSampleAssessmentDO::getDecimalPosition, reqVO.getDecimalPosition())
.eqIfPresent(BusinessSubParentSampleAssessmentDO::getAssessmentValue, reqVO.getAssessmentValue())
.likeIfPresent(BusinessSubParentSampleAssessmentDO::getColumnName, reqVO.getColumnName())
.eqIfPresent(BusinessSubParentSampleAssessmentDO::getAssessmentStatus, reqVO.getAssessmentStatus())
.eqIfPresent(BusinessSubParentSampleAssessmentDO::getIsReported, reqVO.getIsReported())
.eqIfPresent(BusinessSubParentSampleAssessmentDO::getReporter, reqVO.getReporter())

View File

@@ -5,6 +5,7 @@ import java.util.List;
import com.alibaba.fastjson2.JSONObject;
import com.zt.plat.module.qms.business.bus.controller.vo.BatchResultDataReportingReqVO;
import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSubParentSampleAssessmentGroupRespVO;
import com.zt.plat.module.qms.business.bus.controller.vo.ModifySampleResultReportingReqVO;
import com.zt.plat.module.qms.business.bus.controller.vo.RecheckSubSampleParentCreateReqVO;
import com.zt.plat.module.qms.business.bus.controller.vo.RecheckSubSampleParentMethodRespVO;
@@ -20,4 +21,8 @@ public interface SampleResultReportingService {
void batchResultDataReporting(BatchResultDataReportingReqVO reqVO);
JSONObject getSingleSampleResultReportingList(Long businessSubParentSampleId, Long configAssayMethodId);
void modifySampleResultReporting(ModifySampleResultReportingReqVO reqVO);
}

View File

@@ -23,6 +23,7 @@ import com.zt.plat.module.qms.business.bus.controller.vo.BatchResultDataReportin
import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSubParentSampleAssessmentExtendRespVO;
import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSubParentSampleAssessmentGroupRespVO;
import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSubSampleAssessmentExtendRespVO;
import com.zt.plat.module.qms.business.bus.controller.vo.ModifySampleResultReportingReqVO;
import com.zt.plat.module.qms.business.bus.controller.vo.NoReportSubParentSampleAssessmentRespVO;
import com.zt.plat.module.qms.business.bus.controller.vo.RecheckSubSampleParentCreateReqVO;
import com.zt.plat.module.qms.business.bus.controller.vo.RecheckSubSampleParentMethodRespVO;
@@ -150,11 +151,13 @@ public class SampleResultReportingServiceImpl implements SampleResultReportingSe
Map<String, Object> subSampleAssessmentMap = BeanUtil.copyProperties(noReportSubParentSampleAssessmentMap, Map.class);
List<BusinessSubParentSampleAssessmentExtendRespVO> curBusinessSubParentSampleAssessmentDOList = businessSubParentSampleAssessmentDOList.stream().filter(f -> f.getBusinessSubParentSampleId().equals(noReportSubParentSampleAssessmentRespVO.getBusinessSubParentSampleId())).collect(Collectors.toList());
noReportSubParentSampleAssessmentMap.put("configAssayMethodName", "报出结果");
StringBuilder businessSubParentSampleAssessmentIds = new StringBuilder();
for (BusinessSubParentSampleAssessmentExtendRespVO businessSubParentSampleAssessmentDO : curBusinessSubParentSampleAssessmentDOList) {
noReportSubParentSampleAssessmentMap.put(businessSubParentSampleAssessmentDO.getSimpleName(), businessSubParentSampleAssessmentDO.getAssessmentValue());
businessSubParentSampleAssessmentIds.append(businessSubParentSampleAssessmentDO.getId()).append(",");
}
businessSubParentSampleAssessmentIds.delete(businessSubParentSampleAssessmentIds.length() -1, businessSubParentSampleAssessmentIds.length());
noReportSubParentSampleAssessmentMap.put("businessSubParentSampleAssessmentIds", businessSubParentSampleAssessmentIds.toString());
dataList.add(noReportSubParentSampleAssessmentMap);
//复测之前的判定数据
@@ -162,22 +165,30 @@ public class SampleResultReportingServiceImpl implements SampleResultReportingSe
if (businessSubSampleParentRecheckDO != null) {
List<BusinessSubSampleAssessmentExtendRespVO> businessSubSampleAssessmentExtendBeforeList = businessSubSampleAssessmentMapper.selectByBusinessSubParentSampleIdAndConfigAssayMethodId(businessSubSampleParentRecheckDO.getBusinessSubParentSampleId(), businessSubSampleParentRecheckDO.getConfigAssayMethodId());
StringBuilder businessSubSampleAssessmentIdsBefore = new StringBuilder();
for (BusinessSubSampleAssessmentExtendRespVO businessSubSampleAssessmentExtendRespVO : businessSubSampleAssessmentExtendBeforeList) {
subSampleAssessmentBeforeMap.put("configAssayMethodName", businessSubSampleAssessmentExtendRespVO.getConfigAssayMethodName());
subSampleAssessmentBeforeMap.put(businessSubSampleAssessmentExtendRespVO.getSimpleName(), businessSubSampleAssessmentExtendRespVO.getAssessmentValue());
businessSubSampleAssessmentIdsBefore.append(businessSubSampleAssessmentExtendRespVO.getId()).append(",");
}
businessSubSampleAssessmentIdsBefore.delete(businessSubSampleAssessmentIdsBefore.length() -1, businessSubSampleAssessmentIdsBefore.length());
subSampleAssessmentBeforeMap.put("businessSubParentSampleAssessmentIds", businessSubParentSampleAssessmentIds.toString());
subSampleAssessmentBeforeMap.put("businessSubSampleAssessmentIds", businessSubSampleAssessmentIdsBefore.toString());
dataList.add(subSampleAssessmentBeforeMap);
}
List<BusinessSubSampleAssessmentExtendRespVO> businessSubSampleAssessmentList = businessSubSampleAssessmentExtendRespVOList.stream().filter(f -> f.getBusinessSubParentSampleId().equals(noReportSubParentSampleAssessmentRespVO.getBusinessSubParentSampleId())).collect(Collectors.toList());
StringBuilder businessSubSampleAssessmentIds = new StringBuilder();
for (BusinessSubSampleAssessmentExtendRespVO businessSubSampleAssessmentExtendRespVO : businessSubSampleAssessmentList) {
subSampleAssessmentMap.put("configAssayMethodName", businessSubSampleAssessmentExtendRespVO.getConfigAssayMethodName());
subSampleAssessmentMap.put(businessSubSampleAssessmentExtendRespVO.getSimpleName(), businessSubSampleAssessmentExtendRespVO.getAssessmentValue());
businessSubSampleAssessmentIds.append(businessSubSampleAssessmentExtendRespVO.getId()).append(",");
}
businessSubSampleAssessmentIds.delete(businessSubSampleAssessmentIds.length() -1, businessSubSampleAssessmentIds.length());
subSampleAssessmentMap.put("businessSubParentSampleAssessmentIds", businessSubParentSampleAssessmentIds.toString());
subSampleAssessmentMap.put("businessSubSampleAssessmentIds", businessSubSampleAssessmentIds.toString());
dataList.add(subSampleAssessmentMap);
}
@@ -507,5 +518,24 @@ public class SampleResultReportingServiceImpl implements SampleResultReportingSe
.in(BusinessSubParentSampleAssessmentDO::getId, businessSubParentSampleAssessmentIdList));
}
@Override
public JSONObject getSingleSampleResultReportingList(Long businessSubParentSampleId, Long configAssayMethodId) {
return null;
}
@Override
@Transactional(rollbackFor = Exception.class)
public void modifySampleResultReporting(ModifySampleResultReportingReqVO reqVO) {
List<String> businessSubParentSampleAssessmentIdList = Arrays.asList(reqVO.getBusinessSubParentSampleAssessmentIds().split(","));
List<String> businessSubSampleAssessmentIdList = Arrays.asList(reqVO.getBusinessSubSampleAssessmentIds().split(","));
List<BusinessSubParentSampleAssessmentDO> businessSubParentSampleAssessmentDOList = businessSubParentSampleAssessmentMapper.selectByIds(businessSubParentSampleAssessmentIdList);
List<BusinessSubSampleAssessmentDO> businessSubSampleAssessmentDOList = businessSubSampleAssessmentMapper.selectByIds(businessSubSampleAssessmentIdList);
for (BusinessSubParentSampleAssessmentDO businessSubParentSampleAssessmentDO : businessSubParentSampleAssessmentDOList) {
BusinessSubSampleAssessmentDO businessSubSampleAssessmentDO = businessSubSampleAssessmentDOList.stream().filter(f -> f.getDictionaryProjectId().equals(businessSubParentSampleAssessmentDO.getDictionaryProjectId())).findFirst().orElse(null);
businessSubParentSampleAssessmentDO.setAssessmentValue(businessSubSampleAssessmentDO.getAssessmentValue());
}
businessSubParentSampleAssessmentMapper.updateBatch(businessSubParentSampleAssessmentDOList);
}
}

View File

@@ -32,6 +32,8 @@
tbsps.BSN_BSE_SMP_ID AS businessBaseSampleId,
tbssa.BSN_SB_PRN_SMP_ID AS businessSubParentSampleId,
tbssa.CFG_ASY_MTHD_ID AS configAssayMethodId ,
tbssa.TSK_TP AS taskType,
tbssa.ASY_TP AS assayType,
tbsps.CFG_SB_SMP_PRN_ID AS configSubSampleParentId,
tbsps.SMP_NAME AS sampleName,
tbs.NAME AS baseSampleName
@@ -68,6 +70,8 @@
tbsps.BSN_BSE_SMP_ID ,
tbssa.BSN_SB_PRN_SMP_ID,
tbssa.CFG_ASY_MTHD_ID,
tbssa.TSK_TP ,
tbssa.ASY_TP ,
tbsps.CFG_SB_SMP_PRN_ID,
tbsps.SMP_NAME ,
tbs.NAME