From 6e39ca51c589a8291d59e7d0ae77429789a39b87 Mon Sep 17 00:00:00 2001 From: wxr Date: Tue, 11 Nov 2025 20:57:56 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8D=95=E6=A0=B7=E5=88=86=E6=9E=90=E7=BB=93?= =?UTF-8?q?=E6=9E=9C=E6=9F=A5=E8=AF=A2=E7=AD=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/BusinessAssayTaskController.java | 8 ++ .../admin/SampleAnalysisController.java | 7 ++ .../controller/vo/BusinessAssayTaskReqVO.java | 119 ++++++++++++++++++ .../mapper/BusinessAssayTaskDataMapper.java | 12 ++ .../dal/mapper/BusinessAssayTaskMapper.java | 48 +++++++ .../bus/service/BusinessAssayTaskService.java | 8 ++ .../service/BusinessAssayTaskServiceImpl.java | 7 ++ .../service/BusinessSubSampleServiceImpl.java | 11 +- .../bus/service/SampleAnalysisService.java | 8 ++ .../service/SampleAnalysisServiceImpl.java | 45 ++++++- 10 files changed, 271 insertions(+), 2 deletions(-) create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskReqVO.java diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessAssayTaskController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessAssayTaskController.java index 3e1487f..17c1b91 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessAssayTaskController.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessAssayTaskController.java @@ -93,6 +93,14 @@ public class BusinessAssayTaskController implements BusinessControllerMarker { return success(pageResult); } + @GetMapping("/list") + @Operation(summary = "获得检测任务分配业务分页") + //@PreAuthorize("@ss.hasPermission('qms:business-assay-task:query')") + public CommonResult> getBusinessAssayTaskList(@Valid BusinessAssayTaskPageReqVO reqVO) { + List listResult = businessAssayTaskService.getBusinessAssayTaskList(reqVO); + return success(listResult); + } + @GetMapping("/export-excel") @Operation(summary = "导出检测任务分配业务 Excel") //@PreAuthorize("@ss.hasPermission('qms:business-assay-task:export')") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/SampleAnalysisController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/SampleAnalysisController.java index 5a00537..0892358 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/SampleAnalysisController.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/SampleAnalysisController.java @@ -7,6 +7,7 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import com.alibaba.fastjson2.JSONObject; import com.zt.plat.framework.common.pojo.CommonResult; import com.zt.plat.module.qms.business.bus.controller.vo.*; import com.zt.plat.module.qms.business.bus.service.SampleAnalysisService; @@ -57,5 +58,11 @@ public class SampleAnalysisController { sampleAnalysisService.submitSampleAnalysisByTaskId(businessAssayTaskId); return success("成功"); } + + @GetMapping("/getSampleAnalysisDataByTaskDataId") + public CommonResult getSampleAnalysisDataByTaskDataId(Long businessAssayTaskDataId) { + JSONObject json = sampleAnalysisService.getSampleAnalysisDataByTaskDataId(businessAssayTaskDataId); + return success(json); + } } diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskReqVO.java new file mode 100644 index 0000000..b29bc99 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskReqVO.java @@ -0,0 +1,119 @@ +package com.zt.plat.module.qms.business.bus.controller.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 检测任务分配业务分页 Request VO") +@Data +public class BusinessAssayTaskReqVO { + + @Schema(description = "指派编号") + private String taskNo; + + @Schema(description = "指派单名称", example = "张三") + private String taskName; + + @Schema(description = "检测方法配置ID", example = "13609") + private Long configAssayMethodId; + + @Schema(description = "任务单模板ID", example = "4389") + private Long configReportTemplateId; + + @Schema(description = "任务单模板key") + private String configReportTemplateKey; + + @Schema(description = "任务单来源,分配-task_assign、领取-task_claim", example = "1") + private String taskSourceType; + + @Schema(description = "任务单分配人") + private String taskAssignOperator; + + @Schema(description = "任务单分配时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] taskAssignTime; + + @Schema(description = "任务单分配状态,进行中-in_progress、已提交-submitted、作废-void", example = "2") + private String taskAssignStatus; + + @Schema(description = "任务单分配提交时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] taskAssignSubmitTime; + + @Schema(description = "分析人") + private String assayOperator; + + @Schema(description = "分析时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] assayTime; + + @Schema(description = "分析提交时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] assaySubmitTime; + + @Schema(description = "任务单分析状态,未开始-not_start、已保存- saved、 已提交-submitted", example = "1") + private String taskAssayStatus; + + @Schema(description = "分析状态列表") + private List taskAssayStatusList; + + @Schema(description = "上报时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] reportTime; + + @Schema(description = "上报人") + private String reportOperator; + + @Schema(description = "任务单完成时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] taskFinishTime; + + @Schema(description = "标样业务ID", example = "27168") + private Long standardSampleId; + + @Schema(description = "标样编号") + private String standardSampleCode; + + @Schema(description = "标准样类型ID", example = "11282") + private Long standardSampleTypeId; + + @Schema(description = "质控样编号") + private String qualitySampleCode; + + @Schema(description = "质控样分析时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] qualitySampleAssayTime; + + @Schema(description = "流程实例id", example = "19026") + private Long flowInstanceId; + + @Schema(description = "顶部字段数据集ID,T_DAT_COLT_FLD", example = "9742") + private Long formDataCollectionId; + + @Schema(description = "顶部字段值") + private String formValue; + + @Schema(description = "签名信息") + private String documentSignature; + + @Schema(description = "完成状态,未开始-not_start、审核中-running、已退回-returned、已通过-approved", example = "2") + private String finishStatus; + + @Schema(description = "流程状态,未开始-not_start、审核中-running、已退回-returned、已通过-approved", example = "1") + private String flowStatus; + + @Schema(description = "所属部门") + private String systemDepartmentCode; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "备注") + private String remark; + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskDataMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskDataMapper.java index 1dfa402..8b566cc 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskDataMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskDataMapper.java @@ -107,6 +107,17 @@ public interface BusinessAssayTaskDataMapper extends BaseMapperX() + .leftJoin(BusinessSubSampleDO.class, BusinessSubSampleDO::getId, BusinessAssayTaskDataDO::getBusinessSubSampleId) + .selectAll(BusinessAssayTaskDataDO.class) + .selectAs(BusinessSubSampleDO::getSampleName, BusinessAssayTaskDataExtendRespVO::getSampleName) + .selectAs(BusinessSubSampleDO::getSampleCode, BusinessAssayTaskDataExtendRespVO::getSampleCode) + .selectAs(BusinessSubSampleDO::getSampleAssayCode, BusinessAssayTaskDataExtendRespVO::getSampleAssayCode) + .eq(BusinessAssayTaskDataDO::getId, businessAssayTaskDataId)); + } default List selectResultAssessmentList(BusinessAssayTaskDataReqVO reqVO) { MPJLambdaWrapper mpjLambdaWrapper = new MPJLambdaWrapper() @@ -308,4 +319,5 @@ public interface BusinessAssayTaskDataMapper extends BaseMapperX selectUnAssignTaskedSubSample(); + } \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskMapper.java index c0ff823..30e710e 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskMapper.java @@ -8,7 +8,13 @@ import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDetailDO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodDO; import com.zt.plat.module.qms.enums.QmsCommonConstant; + +import jakarta.validation.Valid; + import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; + +import java.util.List; + import org.apache.ibatis.annotations.Mapper; /** @@ -59,6 +65,48 @@ public interface BusinessAssayTaskMapper extends BaseMapperX selectList(BusinessAssayTaskPageReqVO reqVO) { + return selectJoinList(BusinessAssayTaskExtendRespVO.class, new MPJLambdaWrapperX() + .selectSub(BusinessAssayTaskDetailDO.class, s -> s.selectCount(BusinessAssayTaskDetailDO::getId).eq(BusinessAssayTaskDetailDO::getBusinessAssayTaskId, BusinessAssayTaskDO::getId), BusinessAssayTaskExtendRespVO::getAssayTaskCount) + .leftJoin(ConfigAssayMethodDO.class, ConfigAssayMethodDO::getId, BusinessAssayTaskDO::getConfigAssayMethodId) + .selectAll(BusinessAssayTaskDO.class) + .selectAs(ConfigAssayMethodDO::getName, BusinessAssayTaskExtendRespVO::getConfigAssayMethodName) + .eqIfPresent(BusinessAssayTaskDO::getTaskNo, reqVO.getTaskNo()) + .likeIfPresent(BusinessAssayTaskDO::getTaskName, reqVO.getTaskName()) + .eqIfPresent(BusinessAssayTaskDO::getConfigAssayMethodId, reqVO.getConfigAssayMethodId()) + .eqIfPresent(BusinessAssayTaskDO::getConfigReportTemplateId, reqVO.getConfigReportTemplateId()) + .eqIfPresent(BusinessAssayTaskDO::getConfigReportTemplateKey, reqVO.getConfigReportTemplateKey()) + .eqIfPresent(BusinessAssayTaskDO::getTaskSourceType, reqVO.getTaskSourceType()) + .eqIfPresent(BusinessAssayTaskDO::getTaskAssignOperator, reqVO.getTaskAssignOperator()) + .betweenIfPresent(BusinessAssayTaskDO::getTaskAssignTime, reqVO.getTaskAssignTime()) + .eqIfPresent(BusinessAssayTaskDO::getTaskAssignStatus, reqVO.getTaskAssignStatus()) + .betweenIfPresent(BusinessAssayTaskDO::getTaskAssignSubmitTime, reqVO.getTaskAssignSubmitTime()) + .eqIfPresent(BusinessAssayTaskDO::getAssayOperator, reqVO.getAssayOperator()) + .betweenIfPresent(BusinessAssayTaskDO::getAssayTime, reqVO.getAssayTime()) + .betweenIfPresent(BusinessAssayTaskDO::getAssaySubmitTime, reqVO.getAssaySubmitTime()) + .eqIfPresent(BusinessAssayTaskDO::getTaskAssayStatus, reqVO.getTaskAssayStatus()) + .inIfPresent(BusinessAssayTaskDO::getTaskAssayStatus, reqVO.getTaskAssayStatusList()) + .betweenIfPresent(BusinessAssayTaskDO::getReportTime, reqVO.getReportTime()) + .eqIfPresent(BusinessAssayTaskDO::getReportOperator, reqVO.getReportOperator()) + .betweenIfPresent(BusinessAssayTaskDO::getTaskFinishTime, reqVO.getTaskFinishTime()) + .eqIfPresent(BusinessAssayTaskDO::getStandardSampleId, reqVO.getStandardSampleId()) + .eqIfPresent(BusinessAssayTaskDO::getStandardSampleCode, reqVO.getStandardSampleCode()) + .eqIfPresent(BusinessAssayTaskDO::getStandardSampleTypeId, reqVO.getStandardSampleTypeId()) + .eqIfPresent(BusinessAssayTaskDO::getQualitySampleCode, reqVO.getQualitySampleCode()) + .betweenIfPresent(BusinessAssayTaskDO::getQualitySampleAssayTime, reqVO.getQualitySampleAssayTime()) + .eqIfPresent(BusinessAssayTaskDO::getFlowInstanceId, reqVO.getFlowInstanceId()) + .eqIfPresent(BusinessAssayTaskDO::getFormDataCollectionId, reqVO.getFormDataCollectionId()) + .eqIfPresent(BusinessAssayTaskDO::getFormValue, reqVO.getFormValue()) + .eqIfPresent(BusinessAssayTaskDO::getDocumentSignature, reqVO.getDocumentSignature()) + .eqIfPresent(BusinessAssayTaskDO::getFinishStatus, reqVO.getFinishStatus()) + .eqIfPresent(BusinessAssayTaskDO::getFlowStatus, reqVO.getFlowStatus()) + .eqIfPresent(BusinessAssayTaskDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode()) + .betweenIfPresent(BusinessAssayTaskDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(BusinessAssayTaskDO::getRemark, reqVO.getRemark()) + .orderByDesc(BusinessAssayTaskDO::getId)); + } /** diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayTaskService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayTaskService.java index ae186f7..de4ddc2 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayTaskService.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayTaskService.java @@ -64,4 +64,12 @@ public interface BusinessAssayTaskService { */ PageResult getBusinessAssayTaskPage(BusinessAssayTaskPageReqVO pageReqVO); + /** + * 获得检测任务分配业务列表 + * + * @param reqVO 查询 + * @return 检测任务分配业务列表 + */ + List getBusinessAssayTaskList(BusinessAssayTaskPageReqVO reqVO); + } \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayTaskServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayTaskServiceImpl.java index eeb9cf7..de5833f 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayTaskServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessAssayTaskServiceImpl.java @@ -7,6 +7,8 @@ import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayTaskRespVO import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayTaskSaveReqVO; import org.springframework.stereotype.Service; import jakarta.annotation.Resource; +import jakarta.validation.Valid; + import org.springframework.validation.annotation.Validated; import java.util.*; @@ -105,4 +107,9 @@ public class BusinessAssayTaskServiceImpl implements BusinessAssayTaskService { return businessAssayTaskMapper.selectPage(pageReqVO); } + @Override + public List getBusinessAssayTaskList(BusinessAssayTaskPageReqVO reqVO) { + return businessAssayTaskMapper.selectList(reqVO); + } + } \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSubSampleServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSubSampleServiceImpl.java index 70f8a9e..1ff966f 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSubSampleServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSubSampleServiceImpl.java @@ -14,7 +14,9 @@ import com.zt.plat.framework.common.pojo.PageParam; import com.zt.plat.framework.common.util.object.BeanUtils; import com.zt.plat.module.qms.business.bus.controller.vo.*; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleDO; +import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubSampleAnalysisGroupMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubSampleMapper; +import com.zt.plat.module.qms.enums.QmsCommonConstant; import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.zt.plat.framework.common.util.collection.CollectionUtils.convertList; @@ -32,6 +34,9 @@ public class BusinessSubSampleServiceImpl implements BusinessSubSampleService { @Resource private BusinessSubSampleMapper businessSubSampleMapper; + + @Resource + private BusinessSubSampleAnalysisGroupMapper businessSubSampleAnalysisGroupMapper; @Override public BusinessSubSampleRespVO createBusinessSubSample(BusinessSubSampleSaveReqVO createReqVO) { @@ -87,7 +92,11 @@ public class BusinessSubSampleServiceImpl implements BusinessSubSampleService { @Override public PageResult getBusinessSubSamplePage(BusinessSubSamplePageReqVO pageReqVO) { - return businessSubSampleMapper.selectPage(pageReqVO); + PageResult page = businessSubSampleMapper.selectPage(pageReqVO); + if (QmsCommonConstant.FLOW_NODE_TEAM_RECEIVE.equals(pageReqVO.getSampleFlowNodeKey())) {//如果是班组收样 + + } + return page; } @Override diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisService.java index 468cb05..80251e6 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisService.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisService.java @@ -1,5 +1,6 @@ package com.zt.plat.module.qms.business.bus.service; +import com.alibaba.fastjson2.JSONObject; import com.zt.plat.module.qms.business.bus.controller.vo.*; /** @@ -48,4 +49,11 @@ public interface SampleAnalysisService { */ void saveBatchSmpleAndQcAnalysis(BusinessAssayTaskAnalysisSampleAndQcProjectRespVO vo); + /** + * 根据子样任务id查询分析数据 + * @param businessAssayTaskDataId + * @return + */ + JSONObject getSampleAnalysisDataByTaskDataId(Long businessAssayTaskDataId); + } diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisServiceImpl.java index a5f68b3..998544a 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisServiceImpl.java @@ -4,6 +4,7 @@ import java.math.BigDecimal; import java.math.RoundingMode; import java.time.LocalDateTime; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -14,7 +15,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import com.alibaba.fastjson2.JSON; - +import com.alibaba.fastjson2.JSONObject; import com.zt.plat.framework.common.exception.ServiceException; import com.zt.plat.framework.common.util.object.BeanUtils; import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; @@ -25,6 +26,7 @@ import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayProjectAnd import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayProjectDataReqVO; import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayTaskAnalysisSampleAndQcProjectRespVO; import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayTaskAnalysisSampleProjectRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayTaskDataExtendRespVO; import com.zt.plat.module.qms.business.bus.controller.vo.BusinessQCCoefficientParameterDataReqVO; import com.zt.plat.module.qms.business.bus.controller.vo.BusinessQCManagementParameterDataReqVO; import com.zt.plat.module.qms.business.bus.controller.vo.BusinessQCManagementProjectDataReqVO; @@ -861,4 +863,45 @@ public class SampleAnalysisServiceImpl implements SampleAnalysisService { businessAssayTaskMapper.updateById(businessAssayTaskDO); } + @Override + public JSONObject getSampleAnalysisDataByTaskDataId(Long businessAssayTaskDataId) { + JSONObject resultJsonObject = new JSONObject(); + + BusinessAssayTaskDataExtendRespVO businessAssayTaskData = businessAssayTaskDataMapper.selectExtendRespById(businessAssayTaskDataId); + resultJsonObject = (JSONObject) JSON.toJSON(businessAssayTaskData); + + List> columns = new ArrayList<>(); + + BusinessAssayProjectDataReqVO projectDataSearch = new BusinessAssayProjectDataReqVO(); + projectDataSearch.setBusinessAssayTaskDataId(businessAssayTaskDataId); + List projectAndParameterList = businessAssayProjectDataMapper.selectProjectAndParameterBy(projectDataSearch); + for (BusinessAssayProjectAndParameterRespVO ep : projectAndParameterList) { + final String eTitle = ep.getShowName() + (StringUtils.isBlank(ep.getUnit()) ? "" : "(" + ep.getUnit() + ")"); + + columns.add(new HashMap<>() { + private static final long serialVersionUID = 1L; + { + put("title", eTitle); + put("value", ep.getValue()); + }}); + + if (StringUtils.isNotEmpty(ep.getFormula())) { + BusinessAssayParameterDataReqVO parameterDataSearch = new BusinessAssayParameterDataReqVO(); + parameterDataSearch.setBusinessAssayProjectDataId(ep.getId()); + List plist = businessAssayParameterDataMapper.selectProjectAndParameterBy(parameterDataSearch); + for (BusinessAssayProjectAndParameterRespVO p : plist) { + final String pTitle = p.getShowName() + (StringUtils.isBlank(p.getUnit()) ? "" : "(" + p.getUnit() + ")"); + columns.add(new HashMap<>() { + private static final long serialVersionUID = 8422574140192155301L; + { + put("title", pTitle); + put("value", p.getValue()); + }}); + } + } + } + resultJsonObject.put("columns", columns); + return resultJsonObject; + } + }