From 0c13b3543317cbbec4c1176a5c1664dd45b0aaea Mon Sep 17 00:00:00 2001 From: wxr Date: Tue, 11 Nov 2025 17:43:41 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=86=E6=9E=90=E4=BF=9D=E5=AD=98=E7=AD=89?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BusinessSampleHandoverController.java | 9 + .../vo/BatchSampleAnalysisColumnRespVO.java | 9 + ...usinessAssayProjectAndParameterRespVO.java | 9 + .../vo/BusinessAssayTaskDataExtendRespVO.java | 3 + .../BusinessAssayParameterDataMapper.java | 5 + .../BusinessAssayProjectDataMapper.java | 5 + .../mapper/BusinessAssayTaskDataMapper.java | 1 + ...inessQCCoefficientParameterDataMapper.java | 5 + ...sinessQCManagementParameterDataMapper.java | 5 + ...BusinessQCManagementProjectDataMapper.java | 5 + .../BusinessSampleHandoverDetailMapper.java | 8 + .../sample/flow/SampleSubHandoverCmp.java | 1 + .../SampleTaskAssignQCSampleCmp.java | 4 + .../BusinessSampleHandoverService.java | 9 + .../BusinessSampleHandoverServiceImpl.java | 34 +- .../service/SampleAnalysisServiceImpl.java | 440 +++++++++--------- .../vo/ConfigAssayMethodProjectPageReqVO.java | 6 + ...gAssayMethodProjectParameterPageReqVO.java | 6 + ...nfigAssayMethodProjectParameterRespVO.java | 6 + ...gAssayMethodProjectParameterSaveReqVO.java | 6 + .../vo/ConfigAssayMethodProjectRespVO.java | 6 + .../vo/ConfigAssayMethodProjectSaveReqVO.java | 6 + ...onfigQCSampleMethodParameterPageReqVO.java | 6 + .../ConfigQCSampleMethodParameterRespVO.java | 6 + ...onfigQCSampleMethodParameterSaveReqVO.java | 6 + .../ConfigAssayMethodProjectDO.java | 10 + .../ConfigAssayMethodProjectParameterDO.java | 10 + .../ConfigQCSampleMethodParameterDO.java | 10 + 28 files changed, 417 insertions(+), 219 deletions(-) diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSampleHandoverController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSampleHandoverController.java index 96596b6..34e432f 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSampleHandoverController.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSampleHandoverController.java @@ -29,6 +29,7 @@ import com.zt.plat.framework.excel.core.util.ExcelUtils; import com.zt.plat.module.qms.business.bus.controller.vo.*; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleHandoverDO; import com.zt.plat.module.qms.business.bus.service.BusinessSampleHandoverService; +import com.alibaba.fastjson2.JSONObject; import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog; import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*; @@ -84,6 +85,14 @@ public class BusinessSampleHandoverController implements BusinessControllerMarke return success(BeanUtils.toBean(businessSampleHandover, BusinessSampleHandoverRespVO.class)); } + @GetMapping("/reportDetail") + @Operation(summary = "除样品交接详情数据") + public CommonResult reportDetail(@RequestParam("id") Long id) { + JSONObject jsonObject = businessSampleHandoverService.reportDetail(id); + return success(jsonObject); + + } + @GetMapping("/page") @Operation(summary = "获得样品交接单业务分页") //@PreAuthorize("@ss.hasPermission('qms:business-sample-handover:query')") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BatchSampleAnalysisColumnRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BatchSampleAnalysisColumnRespVO.java index ad21ad4..d2004a0 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BatchSampleAnalysisColumnRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BatchSampleAnalysisColumnRespVO.java @@ -65,4 +65,13 @@ public class BatchSampleAnalysisColumnRespVO implements Serializable { @Schema(description = "填写方式") private String fillingWay; + + @Schema(description = "参数分组_ID") + private Long groupDictionaryBusinessId; + + @Schema(description = "参数分组_Key") + private String groupDictionaryBusinessKey; + + @Schema(description = "参数分组_Name") + private String groupDictionaryBusinessName; } diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayProjectAndParameterRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayProjectAndParameterRespVO.java index 21bf910..2cd1fb9 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayProjectAndParameterRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayProjectAndParameterRespVO.java @@ -60,4 +60,13 @@ public class BusinessAssayProjectAndParameterRespVO implements Serializable { @Schema(description = "填写方式") private String fillingWay; + + @Schema(description = "参数分组_ID") + private Long groupDictionaryBusinessId; + + @Schema(description = "参数分组_Key") + private String groupDictionaryBusinessKey; + + @Schema(description = "参数分组_Name") + private String groupDictionaryBusinessName; } diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDataExtendRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDataExtendRespVO.java index 85fd2cc..07d8ee4 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDataExtendRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDataExtendRespVO.java @@ -26,4 +26,7 @@ public class BusinessAssayTaskDataExtendRespVO extends BusinessAssayTaskDataResp @Schema(description = "分析编号") private String sampleAssayCode; + + @Schema(description = "任务单模板key") + private String configReportTemplateKey; } diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayParameterDataMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayParameterDataMapper.java index 92ac444..d5b2ddc 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayParameterDataMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayParameterDataMapper.java @@ -12,6 +12,7 @@ import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayProjectAnd import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayParameterDataDO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodProjectParameterDO; import com.zt.plat.module.qms.business.dic.dal.dataobject.DictionaryParameterDO; +import com.zt.plat.module.qms.common.dic.dal.dataobject.DictionaryBusinessDO; import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; import org.apache.ibatis.annotations.Mapper; @@ -27,6 +28,7 @@ public interface BusinessAssayParameterDataMapper extends BaseMapperX() .leftJoin(ConfigAssayMethodProjectParameterDO.class, ConfigAssayMethodProjectParameterDO::getId, BusinessAssayParameterDataDO::getConfigAssayMethodProjectParameterId) .leftJoin(DictionaryParameterDO.class, DictionaryParameterDO::getId, BusinessAssayParameterDataDO::getDictionaryParameterId) + .leftJoin(DictionaryBusinessDO.class, DictionaryBusinessDO::getId, ConfigAssayMethodProjectParameterDO::getDictionaryBusinessId) .selectAs(BusinessAssayParameterDataDO::getId, BusinessAssayProjectAndParameterRespVO::getId) .selectAs(BusinessAssayParameterDataDO::getDictionaryParameterId, BusinessAssayProjectAndParameterRespVO::getDicId) .selectAs(DictionaryParameterDO::getKey, BusinessAssayProjectAndParameterRespVO::getDicKey) @@ -41,6 +43,9 @@ public interface BusinessAssayParameterDataMapper extends BaseMapperX() .leftJoin(ConfigAssayMethodProjectDO.class, ConfigAssayMethodProjectDO::getId, BusinessAssayProjectDataDO::getConfigAssayMethodProjectId) .leftJoin(DictionaryProjectDO.class, DictionaryProjectDO::getId, BusinessAssayProjectDataDO::getDictionaryProjectId) + .leftJoin(DictionaryBusinessDO.class, DictionaryBusinessDO::getId, ConfigAssayMethodProjectDO::getDictionaryBusinessId) .selectAs(BusinessAssayProjectDataDO::getId, BusinessAssayProjectAndParameterRespVO::getId) .selectAs(BusinessAssayProjectDataDO::getDictionaryProjectId, BusinessAssayProjectAndParameterRespVO::getDicId) .selectAs(DictionaryProjectDO::getKey, BusinessAssayProjectAndParameterRespVO::getDicKey) @@ -43,6 +45,9 @@ public interface BusinessAssayProjectDataMapper extends BaseMapperX() .leftJoin(ConfigQCSampleMethodParameterDO.class, ConfigQCSampleMethodParameterDO::getId, BusinessQCCoefficientParameterDataDO::getConfigQCSampleMethodParameterId) .leftJoin(DictionaryParameterDO.class, DictionaryParameterDO::getId, BusinessQCCoefficientParameterDataDO::getDictionaryParameterId) + .leftJoin(DictionaryBusinessDO.class, DictionaryBusinessDO::getId, ConfigQCSampleMethodParameterDO::getDictionaryBusinessId) .selectAs(BusinessQCCoefficientParameterDataDO::getId, BusinessAssayProjectAndParameterRespVO::getId) .selectAs(BusinessQCCoefficientParameterDataDO::getDictionaryParameterId, BusinessAssayProjectAndParameterRespVO::getDicId) .selectAs(DictionaryParameterDO::getKey, BusinessAssayProjectAndParameterRespVO::getDicKey) @@ -55,6 +57,9 @@ public interface BusinessQCCoefficientParameterDataMapper extends BaseMapperX() .leftJoin(ConfigAssayMethodProjectParameterDO.class, ConfigAssayMethodProjectParameterDO::getId, BusinessQCManagementParameterDataDO::getConfigAssayMethodProjectParameterId) .leftJoin(DictionaryParameterDO.class, DictionaryParameterDO::getId, BusinessQCManagementParameterDataDO::getDictionaryParameterId) + .leftJoin(DictionaryBusinessDO.class, DictionaryBusinessDO::getId, ConfigAssayMethodProjectParameterDO::getDictionaryBusinessId) .selectAs(BusinessQCManagementParameterDataDO::getId, BusinessAssayProjectAndParameterRespVO::getId) .selectAs(BusinessQCManagementParameterDataDO::getDictionaryParameterId, BusinessAssayProjectAndParameterRespVO::getDicId) .selectAs(DictionaryParameterDO::getKey, BusinessAssayProjectAndParameterRespVO::getDicKey) @@ -53,6 +55,9 @@ public interface BusinessQCManagementParameterDataMapper extends BaseMapperX() .leftJoin(ConfigAssayMethodProjectDO.class, ConfigAssayMethodProjectDO::getId, BusinessQCManagementProjectDataDO::getConfigAssayMethodProjectId) .leftJoin(DictionaryProjectDO.class, DictionaryProjectDO::getId, BusinessQCManagementProjectDataDO::getDictionaryProjectId) + .leftJoin(DictionaryBusinessDO.class, DictionaryBusinessDO::getId, ConfigAssayMethodProjectDO::getDictionaryBusinessId) .selectAs(BusinessQCManagementProjectDataDO::getId, BusinessAssayProjectAndParameterRespVO::getId) .selectAs(BusinessQCManagementProjectDataDO::getDictionaryProjectId, BusinessAssayProjectAndParameterRespVO::getDicId) .selectAs(DictionaryProjectDO::getKey, BusinessAssayProjectAndParameterRespVO::getDicKey) @@ -57,6 +59,9 @@ public interface BusinessQCManagementProjectDataMapper extends BaseMapperX selectByBusinessSampleHandoverId(Long businessSampleHandoverId) { + return selectList(new LambdaQueryWrapperX() + .eq(BusinessSampleHandoverDetailDO::getBusinessSampleHandoverId, businessSampleHandoverId)); + } } \ 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/liteflow/sample/flow/SampleSubHandoverCmp.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/flow/SampleSubHandoverCmp.java index a9d0128..dc47e20 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/flow/SampleSubHandoverCmp.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/flow/SampleSubHandoverCmp.java @@ -76,6 +76,7 @@ public class SampleSubHandoverCmp extends NodeComponent { businessSampleHandoverDetailDO.setBusinessSampleHandoverId(businessSampleHandoverDO.getId()); businessSampleHandoverDetailDO.setBusinessSubSampleId(businessSubSample.getId()); businessSampleHandoverDetailDO.setSampleName(businessSubSample.getSampleName()); + businessSampleHandoverDetailDO.setSampleCode(businessSubSample.getSampleReturnCode()); businessSampleHandoverDetailDO.setBalanceCode(businessSubSample.getLastBalanceCode()); businessSampleHandoverDetailDO.setSampleWeight(businessSubSample.getLastSampleWeight()); businessSampleHandoverDetailDO.setDictionaryBusinessId(businessSubSample.getDictionaryBusinessId()); diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/taskassign/SampleTaskAssignQCSampleCmp.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/taskassign/SampleTaskAssignQCSampleCmp.java index 28217e5..cc2f4e8 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/taskassign/SampleTaskAssignQCSampleCmp.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/taskassign/SampleTaskAssignQCSampleCmp.java @@ -87,6 +87,10 @@ public class SampleTaskAssignQCSampleCmp extends NodeComponent { //循环分配任务 for (BusinessAssayTaskDO businessAssayTaskDO : businessAssayTaskList) { ConfigQCSampleMethodExtendRespVO configQCSampleMethodExtendRespVO = configQCSampleMethodList.stream().filter(f -> f.getConfigAssayMethodId().equals(businessAssayTaskDO.getConfigAssayMethodId()) && "kby".equals(f.getDictionaryBusinessKey())).findFirst().orElse(null); + //不存在空白样,直接跳出 + if (configQCSampleMethodExtendRespVO == null) { + break; + } ConfigAssayMethodDO configAssayMethodDO = configAssayMethodMapper.selectById(businessAssayTaskDO.getConfigAssayMethodId()); diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleHandoverService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleHandoverService.java index ff0e10e..3fe38e9 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleHandoverService.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleHandoverService.java @@ -9,6 +9,7 @@ import jakarta.validation.*; import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.module.qms.business.bus.controller.vo.*; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleHandoverDO; +import com.alibaba.fastjson2.JSONObject; import com.zt.plat.framework.common.pojo.PageParam; /** @@ -55,6 +56,13 @@ public interface BusinessSampleHandoverService { */ BusinessSampleHandoverDO getBusinessSampleHandover(Long id); + /** + * 获取样品交接单报表数据 + * @param id + * @return + */ + JSONObject reportDetail(Long id); + /** * 获得样品交接单业务分页 * @@ -63,4 +71,5 @@ public interface BusinessSampleHandoverService { */ PageResult getBusinessSampleHandoverPage(BusinessSampleHandoverPageReqVO pageReqVO); + } \ 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/BusinessSampleHandoverServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleHandoverServiceImpl.java index 861b686..d6e11c2 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleHandoverServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleHandoverServiceImpl.java @@ -10,15 +10,18 @@ import org.springframework.validation.annotation.Validated; import java.util.*; import com.zt.plat.framework.common.pojo.PageResult; -import com.zt.plat.framework.common.pojo.PageParam; +import com.alibaba.fastjson2.JSON; +import com.alibaba.fastjson2.JSONArray; +import com.alibaba.fastjson2.JSONFactory; +import com.alibaba.fastjson2.JSONObject; +import com.alibaba.fastjson2.JSONWriter; 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.BusinessSampleHandoverDO; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleHandoverDetailDO; +import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSampleHandoverDetailMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSampleHandoverMapper; import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception; -import static com.zt.plat.framework.common.util.collection.CollectionUtils.convertList; -import static com.zt.plat.framework.common.util.collection.CollectionUtils.diffList; import static com.zt.plat.module.qms.enums.ErrorCodeConstants.*; /** @@ -32,6 +35,9 @@ public class BusinessSampleHandoverServiceImpl implements BusinessSampleHandover @Resource private BusinessSampleHandoverMapper businessSampleHandoverMapper; + + @Resource + private BusinessSampleHandoverDetailMapper businessSampleHandoverDetailMapper; @Override public BusinessSampleHandoverRespVO createBusinessSampleHandover(BusinessSampleHandoverSaveReqVO createReqVO) { @@ -85,6 +91,26 @@ public class BusinessSampleHandoverServiceImpl implements BusinessSampleHandover return businessSampleHandoverMapper.selectById(id); } + @Override + public JSONObject reportDetail(Long id) { + JSONWriter.Context context = JSONFactory.createWriteContext(); + context.setDateFormat("yyyy-MM-dd HH:mm:ss"); + + JSONObject result = new JSONObject(); + BusinessSampleHandoverDO businessSampleHandover = businessSampleHandoverMapper.selectById(id); + + String jsonString = JSON.toJSONString(businessSampleHandover, context); + JSONObject businessSampleHandoverJson = JSON.parseObject(jsonString); + JSONArray jsonArray = new JSONArray(); + jsonArray.add(businessSampleHandoverJson); + + List detailList = businessSampleHandoverDetailMapper.selectByBusinessSampleHandoverId(id); + String detailListJsonString = JSON.toJSONString(detailList, context); + result.put("main", jsonArray); + result.put("detail", JSON.parseArray(detailListJsonString)); + return result; + } + @Override public PageResult getBusinessSampleHandoverPage(BusinessSampleHandoverPageReqVO pageReqVO) { return businessSampleHandoverMapper.selectPage(pageReqVO); 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 588dc55..a5f68b3 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 @@ -148,8 +148,8 @@ public class SampleAnalysisServiceImpl implements SampleAnalysisService { //处理列 List cloumns = new ArrayList<>(); - cloumns.add(new BatchSampleAnalysisColumnRespVO("sampleCode", "sampleCode", "样品编号", "200px", "200px", "string", null, null, null, null, false, null, null)); - cloumns.add(new BatchSampleAnalysisColumnRespVO("sampleName", "sampleName", "样品名称", "200px", "200px", "string", null, null, null, null, false, null, null)); + cloumns.add(new BatchSampleAnalysisColumnRespVO("sampleCode", "sampleCode", "样品编号", "200px", "200px", "string", null, null, null, null, false, null, null, null, null, null)); + cloumns.add(new BatchSampleAnalysisColumnRespVO("sampleName", "sampleName", "样品名称", "200px", "200px", "string", null, null, null, null, false, null, null, null, null, null)); //cloumns.add(new BatchSampleAnalysisColumnRespVO("cupNumber", "cupNumber", "杯号", "200px", "200px", "string", null, null, null, null, true, null)); @@ -165,7 +165,7 @@ public class SampleAnalysisServiceImpl implements SampleAnalysisService { String fieldIndex = "e" + ep.getDicId(); String title = ep.getShowName() + (StringUtils.isBlank(ep.getUnit()) ? "" : "(" + ep.getUnit() + ")"); boolean isEdit = StringUtils.isBlank(ep.getFormula()); - cloumns.add(new BatchSampleAnalysisColumnRespVO(fieldIndex, fieldIndex + ".value", title, "", "120px", ep.getDataType(), ep.getDecimalPosition(), null, ep.getFormula(), ep.getParamNo(), isEdit, ep.getUnit(), ep.getFillingWay())); + cloumns.add(new BatchSampleAnalysisColumnRespVO(fieldIndex, fieldIndex + ".value", title, "", "120px", ep.getDataType(), ep.getDecimalPosition(), null, ep.getFormula(), ep.getParamNo(), isEdit, ep.getUnit(), ep.getFillingWay(), ep.getGroupDictionaryBusinessId(), ep.getGroupDictionaryBusinessKey(), ep.getGroupDictionaryBusinessName())); if (StringUtils.isNotEmpty(ep.getFormula())) { BusinessAssayParameterDataReqVO parameterDataSearch = new BusinessAssayParameterDataReqVO(); @@ -175,7 +175,7 @@ public class SampleAnalysisServiceImpl implements SampleAnalysisService { fieldIndex = "p" + p.getDicId(); title = p.getShowName() + (StringUtils.isBlank(p.getUnit()) ? "" : "(" + p.getUnit() + ")"); isEdit = StringUtils.isBlank(p.getFormula()); - cloumns.add(new BatchSampleAnalysisColumnRespVO(fieldIndex, fieldIndex + ".value", title, "", "120px", p.getDataType(), p.getDecimalPosition(), null, p.getFormula(), p.getParamNo(), isEdit, p.getUnit(), p.getFillingWay())); + cloumns.add(new BatchSampleAnalysisColumnRespVO(fieldIndex, fieldIndex + ".value", title, "", "120px", p.getDataType(), p.getDecimalPosition(), null, p.getFormula(), p.getParamNo(), isEdit, p.getUnit(), p.getFillingWay(), p.getGroupDictionaryBusinessId(), p.getGroupDictionaryBusinessKey(), p.getGroupDictionaryBusinessName())); } } } @@ -404,8 +404,8 @@ public class SampleAnalysisServiceImpl implements SampleAnalysisService { //处理列 List cloumns = new ArrayList<>(); - cloumns.add(new BatchSampleAnalysisColumnRespVO("sampleCode", "sampleCode", "样品编号", "200px", "200px", "string", null, null, null, null, false, null, null)); - cloumns.add(new BatchSampleAnalysisColumnRespVO("sampleName", "sampleName", "样品名称", "200px", "200px", "string", null, null, null, null, false, null, null)); + cloumns.add(new BatchSampleAnalysisColumnRespVO("sampleCode", "sampleCode", "样品编号", "200px", "200px", "string", null, null, null, null, false, null, null, null, null, null)); + cloumns.add(new BatchSampleAnalysisColumnRespVO("sampleName", "sampleName", "样品名称", "200px", "200px", "string", null, null, null, null, false, null, null, null, null, null)); //cloumns.add(new BatchSampleAnalysisColumnRespVO("cupNumber", "cupNumber", "杯号", "200px", "200px", "string", null, null, null, null, true, null)); @@ -420,7 +420,7 @@ public class SampleAnalysisServiceImpl implements SampleAnalysisService { String fieldIndex = "e" + ep.getDicId(); String title = ep.getShowName() + (StringUtils.isBlank(ep.getUnit()) ? "" : "(" + ep.getUnit() + ")"); boolean isEdit = StringUtils.isBlank(ep.getFormula()); - cloumns.add(new BatchSampleAnalysisColumnRespVO(fieldIndex, fieldIndex + ".value", title, "", "120px", ep.getDataType(), ep.getDecimalPosition(), null, ep.getFormula(), ep.getParamNo(), isEdit, ep.getUnit(), ep.getFillingWay())); + cloumns.add(new BatchSampleAnalysisColumnRespVO(fieldIndex, fieldIndex + ".value", title, "", "120px", ep.getDataType(), ep.getDecimalPosition(), null, ep.getFormula(), ep.getParamNo(), isEdit, ep.getUnit(), ep.getFillingWay(), ep.getGroupDictionaryBusinessId(), ep.getGroupDictionaryBusinessKey(), ep.getGroupDictionaryBusinessName())); if (StringUtils.isNotEmpty(ep.getFormula())) { BusinessAssayParameterDataReqVO parameterDataSearch = new BusinessAssayParameterDataReqVO(); @@ -430,7 +430,7 @@ public class SampleAnalysisServiceImpl implements SampleAnalysisService { fieldIndex = "p" + p.getDicId(); title = p.getShowName() + (StringUtils.isBlank(p.getUnit()) ? "" : "(" + p.getUnit() + ")"); isEdit = StringUtils.isBlank(p.getFormula()); - cloumns.add(new BatchSampleAnalysisColumnRespVO(fieldIndex, fieldIndex + ".value", title, "", "120px", p.getDataType(), p.getDecimalPosition(), null, p.getFormula(), p.getParamNo(), isEdit, p.getUnit(), p.getFillingWay())); + cloumns.add(new BatchSampleAnalysisColumnRespVO(fieldIndex, fieldIndex + ".value", title, "", "120px", p.getDataType(), p.getDecimalPosition(), null, p.getFormula(), p.getParamNo(), isEdit, p.getUnit(), p.getFillingWay(), p.getGroupDictionaryBusinessId(), p.getGroupDictionaryBusinessKey(), p.getGroupDictionaryBusinessName())); } } } @@ -490,8 +490,8 @@ public class SampleAnalysisServiceImpl implements SampleAnalysisService { //处理列 List cloumns = new ArrayList<>(); - cloumns.add(new BatchSampleAnalysisColumnRespVO("sampleCode", "sampleCode", "样品编号", "200px", "200px", "string", null, null, null, null, false, null, null)); - cloumns.add(new BatchSampleAnalysisColumnRespVO("sampleName", "sampleName", "样品名称", "200px", "200px", "string", null, null, null, null, false, null, null)); + cloumns.add(new BatchSampleAnalysisColumnRespVO("sampleCode", "sampleCode", "样品编号", "200px", "200px", "string", null, null, null, null, false, null, null, null, null, null)); + cloumns.add(new BatchSampleAnalysisColumnRespVO("sampleName", "sampleName", "样品名称", "200px", "200px", "string", null, null, null, null, false, null, null, null, null, null)); //处理数据 List> datas = new ArrayList<>(); @@ -509,7 +509,7 @@ public class SampleAnalysisServiceImpl implements SampleAnalysisService { String fieldIndex = "p" + p.getDicId(); String title = p.getShowName() + (StringUtils.isBlank(p.getUnit()) ? "" : "(" + p.getUnit() + ")"); boolean isEdit = StringUtils.isBlank(p.getFormula()); - cloumns.add(new BatchSampleAnalysisColumnRespVO(fieldIndex, fieldIndex + ".value", title, "", "120px", p.getDataType(), p.getDecimalPosition(), null, p.getFormula(), p.getParamNo(), isEdit, p.getUnit(), p.getFillingWay())); + cloumns.add(new BatchSampleAnalysisColumnRespVO(fieldIndex, fieldIndex + ".value", title, "", "120px", p.getDataType(), p.getDecimalPosition(), null, p.getFormula(), p.getParamNo(), isEdit, p.getUnit(), p.getFillingWay(), p.getGroupDictionaryBusinessId(), p.getGroupDictionaryBusinessKey(), p.getGroupDictionaryBusinessName())); } @@ -549,7 +549,7 @@ public class SampleAnalysisServiceImpl implements SampleAnalysisService { String fieldIndex = "e" + ep.getDicId(); String title = ep.getShowName() + (StringUtils.isBlank(ep.getUnit()) ? "" : "(" + ep.getUnit() + ")"); boolean isEdit = StringUtils.isBlank(ep.getFormula()); - cloumns.add(new BatchSampleAnalysisColumnRespVO(fieldIndex, fieldIndex + ".value", title, "", "120px", ep.getDataType(), ep.getDecimalPosition(), null, ep.getFormula(), ep.getParamNo(), isEdit, ep.getUnit(), ep.getFillingWay())); + cloumns.add(new BatchSampleAnalysisColumnRespVO(fieldIndex, fieldIndex + ".value", title, "", "120px", ep.getDataType(), ep.getDecimalPosition(), null, ep.getFormula(), ep.getParamNo(), isEdit, ep.getUnit(), ep.getFillingWay(), ep.getGroupDictionaryBusinessId(), ep.getGroupDictionaryBusinessKey(), ep.getGroupDictionaryBusinessName())); if (StringUtils.isNotEmpty(ep.getFormula())) { BusinessQCManagementParameterDataReqVO parameterDataSearch = new BusinessQCManagementParameterDataReqVO(); @@ -559,7 +559,7 @@ public class SampleAnalysisServiceImpl implements SampleAnalysisService { fieldIndex = "p" + p.getDicId(); title = p.getShowName() + (StringUtils.isBlank(p.getUnit()) ? "" : "(" + p.getUnit() + ")"); isEdit = StringUtils.isBlank(p.getFormula()); - cloumns.add(new BatchSampleAnalysisColumnRespVO(fieldIndex, fieldIndex + ".value", title, "", "120px", p.getDataType(), p.getDecimalPosition(), null, p.getFormula(), p.getParamNo(), isEdit, p.getUnit(), p.getFillingWay())); + cloumns.add(new BatchSampleAnalysisColumnRespVO(fieldIndex, fieldIndex + ".value", title, "", "120px", p.getDataType(), p.getDecimalPosition(), null, p.getFormula(), p.getParamNo(), isEdit, p.getUnit(), p.getFillingWay(), p.getGroupDictionaryBusinessId(), p.getGroupDictionaryBusinessKey(), p.getGroupDictionaryBusinessName())); } } } @@ -618,223 +618,233 @@ public class SampleAnalysisServiceImpl implements SampleAnalysisService { } List assayTaskAnalysisDataList = vo.getAssayTaskAnalysisDataList(); - for (BusinessAssayTaskAnalysisDataRespVO businessAssayTaskAnalysisDataRespVO : assayTaskAnalysisDataList) { - if ("analysis".equals(businessAssayTaskAnalysisDataRespVO.getAnalysisType())) { - List businessAssayTaskDataList = businessAssayTaskDataMapper.selectList(new LambdaQueryWrapperX().eq(BusinessAssayTaskDataDO::getBusinessAssayTaskId, vo.getBusinessAssayTaskId()).eq(BusinessAssayTaskDataDO::getConfigAssayMethodId, businessAssayTaskDO.getConfigAssayMethodId())); - - List businessAssayTaskDataIdList = businessAssayTaskDataList.stream().map(m -> m.getId()).collect(Collectors.toList()); - - List businessAssayProjectDataList = businessAssayProjectDataMapper.selectList(new LambdaQueryWrapperX().in(BusinessAssayProjectDataDO::getBusinessAssayTaskDataId, businessAssayTaskDataIdList)); - List businessAssayProjectDataIdList = businessAssayProjectDataList.stream().map(m -> m.getId()).collect(Collectors.toList()); - - List businessAssayParameterDataList = businessAssayParameterDataMapper.selectList(new LambdaQueryWrapperX().in(BusinessAssayParameterDataDO::getBusinessAssayProjectDataId, businessAssayProjectDataIdList)); - - List> datas = businessAssayTaskAnalysisDataRespVO.getDatas(); - for (Map map : datas) { - - List listBusinessAssayProjectAndParameter = new ArrayList<>(); - for (Map.Entry entry : map.entrySet()) { - Object val = entry.getValue(); - if (val instanceof String || val == null) { - continue; - } - BusinessAssayProjectAndParameterRespVO businessAssayProjectAndParameter = JSON.parseObject(JSON.toJSONString(val), BusinessAssayProjectAndParameterRespVO.class); - listBusinessAssayProjectAndParameter.add(businessAssayProjectAndParameter); - } - - for (BusinessAssayProjectAndParameterRespVO pap : listBusinessAssayProjectAndParameter) { - if ("project".equals(pap.getType())) { - BusinessAssayProjectDataDO businessAssayProjectDataDO = businessAssayProjectDataList.stream().filter(f -> f.getId().equals(pap.getId())).findFirst().orElse(null); - if (StringUtils.isNotBlank(pap.getValue())) { - String dataType = pap.getDataType();//string-字符串,int-整数,decimal-小数,date-日期,datetime-时间 - switch (dataType) { - case "int": - case "date": - case "datetime": - case "string": - businessAssayProjectDataDO.setValue(pap.getValue()); - businessAssayProjectDataDO.setRemark(pap.getShowName() + ": " + pap.getValue()); - break; - case "decimal": - BigDecimal value = new BigDecimal(pap.getValue()); - value = value.setScale(pap.getDecimalPosition(), RoundingMode.HALF_EVEN); - businessAssayProjectDataDO.setValue(value.toPlainString()); - businessAssayProjectDataDO.setRemark(pap.getShowName() + ": " + value.toPlainString()); - break; - default: - throw new IllegalArgumentException("Unexpected value: " + dataType); - } - } else { - businessAssayProjectDataDO.setValue(null); + if (CollUtil.isNotEmpty(assayTaskAnalysisDataList)) { + for (BusinessAssayTaskAnalysisDataRespVO businessAssayTaskAnalysisDataRespVO : assayTaskAnalysisDataList) { + if ("analysis".equals(businessAssayTaskAnalysisDataRespVO.getAnalysisType())) { + List businessAssayTaskDataList = businessAssayTaskDataMapper.selectList(new LambdaQueryWrapperX().eq(BusinessAssayTaskDataDO::getBusinessAssayTaskId, vo.getBusinessAssayTaskId()).eq(BusinessAssayTaskDataDO::getConfigAssayMethodId, businessAssayTaskDO.getConfigAssayMethodId())); + + List businessAssayTaskDataIdList = businessAssayTaskDataList.stream().map(m -> m.getId()).collect(Collectors.toList()); + + List businessAssayProjectDataList = businessAssayProjectDataMapper.selectList(new LambdaQueryWrapperX().in(BusinessAssayProjectDataDO::getBusinessAssayTaskDataId, businessAssayTaskDataIdList)); + List businessAssayProjectDataIdList = businessAssayProjectDataList.stream().map(m -> m.getId()).collect(Collectors.toList()); + + List businessAssayParameterDataList = businessAssayParameterDataMapper.selectList(new LambdaQueryWrapperX().in(BusinessAssayParameterDataDO::getBusinessAssayProjectDataId, businessAssayProjectDataIdList)); + + List> datas = businessAssayTaskAnalysisDataRespVO.getDatas(); + for (Map map : datas) { + + List listBusinessAssayProjectAndParameter = new ArrayList<>(); + for (Map.Entry entry : map.entrySet()) { + Object val = entry.getValue(); + if (val instanceof String || val == null) { + continue; } - } else if ("parameter".equals(pap.getType())) { - BusinessAssayParameterDataDO businessAssayParameterDataDO = businessAssayParameterDataList.stream().filter(f -> f.getId().equals(pap.getId())).findFirst().orElse(null); - if (StringUtils.isNotBlank(pap.getValue())) { - String dataType = pap.getDataType();//string-字符串,int-整数,decimal-小数,date-日期,datetime-时间 - switch (dataType) { - case "int": - case "date": - case "datetime": - case "string": - businessAssayParameterDataDO.setValue(pap.getValue()); - businessAssayParameterDataDO.setRemark(pap.getShowName() + ": " + pap.getValue()); - break; - case "decimal": - BigDecimal value = new BigDecimal(pap.getValue()); - value = value.setScale(pap.getDecimalPosition(), RoundingMode.HALF_EVEN); - businessAssayParameterDataDO.setValue(value.toPlainString()); - businessAssayParameterDataDO.setRemark(pap.getShowName() + ": " + value.toPlainString()); - break; - default: - throw new IllegalArgumentException("Unexpected value: " + dataType); + BusinessAssayProjectAndParameterRespVO businessAssayProjectAndParameter = JSON.parseObject(JSON.toJSONString(val), BusinessAssayProjectAndParameterRespVO.class); + listBusinessAssayProjectAndParameter.add(businessAssayProjectAndParameter); + } + + for (BusinessAssayProjectAndParameterRespVO pap : listBusinessAssayProjectAndParameter) { + if ("project".equals(pap.getType())) { + BusinessAssayProjectDataDO businessAssayProjectDataDO = businessAssayProjectDataList.stream().filter(f -> f.getId().equals(pap.getId())).findFirst().orElse(null); + if (StringUtils.isNotBlank(pap.getValue())) { + String dataType = pap.getDataType();//string-字符串,int-整数,decimal-小数,date-日期,datetime-时间 + switch (dataType) { + case "int": + case "date": + case "datetime": + case "string": + businessAssayProjectDataDO.setValue(pap.getValue()); + businessAssayProjectDataDO.setRemark(pap.getShowName() + ": " + pap.getValue()); + break; + case "decimal": + BigDecimal value = new BigDecimal(pap.getValue()); + value = value.setScale(pap.getDecimalPosition(), RoundingMode.HALF_EVEN); + businessAssayProjectDataDO.setValue(value.toPlainString()); + businessAssayProjectDataDO.setRemark(pap.getShowName() + ": " + value.toPlainString()); + break; + default: + throw new IllegalArgumentException("Unexpected value: " + dataType); + } + } else { + businessAssayProjectDataDO.setValue(null); + } + } else if ("parameter".equals(pap.getType())) { + BusinessAssayParameterDataDO businessAssayParameterDataDO = businessAssayParameterDataList.stream().filter(f -> f.getId().equals(pap.getId())).findFirst().orElse(null); + if (StringUtils.isNotBlank(pap.getValue())) { + String dataType = pap.getDataType();//string-字符串,int-整数,decimal-小数,date-日期,datetime-时间 + switch (dataType) { + case "int": + case "date": + case "datetime": + case "string": + businessAssayParameterDataDO.setValue(pap.getValue()); + businessAssayParameterDataDO.setRemark(pap.getShowName() + ": " + pap.getValue()); + break; + case "decimal": + BigDecimal value = new BigDecimal(pap.getValue()); + value = value.setScale(pap.getDecimalPosition(), RoundingMode.HALF_EVEN); + businessAssayParameterDataDO.setValue(value.toPlainString()); + businessAssayParameterDataDO.setRemark(pap.getShowName() + ": " + value.toPlainString()); + break; + default: + throw new IllegalArgumentException("Unexpected value: " + dataType); + } + } else { + businessAssayParameterDataDO.setValue(null); } - } else { - businessAssayParameterDataDO.setValue(null); } } + } - - } - - businessAssayProjectDataMapper.updateBatch(businessAssayProjectDataList); - if (CollUtil.isNotEmpty(businessAssayParameterDataList)) { - businessAssayParameterDataMapper.updateBatch(businessAssayParameterDataList); - } - - } else if ("zky".equals(businessAssayTaskAnalysisDataRespVO.getAnalysisType())) { - List BusinessQCManagementDataList = businessQCManagementDataMapper.selectByBusinessAssayTaskId(businessAssayTaskDO.getId()); - - List businessQCManagementDataIdList = BusinessQCManagementDataList.stream().map(m -> m.getId()).collect(Collectors.toList()); - - List businessQCManagementProjectDataList = businessQCManagementProjectDataMapper.selectByBusinessQCManagementDataIds(businessQCManagementDataIdList); - List businessQCManagementProjectDataIdList = businessQCManagementProjectDataList.stream().map(m -> m.getId()).collect(Collectors.toList()); - - List businessQCManagementParameterDataList = businessQCManagementParameterDataMapper.selectByBusinessQCManagementProjectDataIds(businessQCManagementProjectDataIdList); - - List> datas = businessAssayTaskAnalysisDataRespVO.getDatas(); - for (Map map : datas) { - - List listBusinessAssayProjectAndParameter = new ArrayList<>(); - for (Map.Entry entry : map.entrySet()) { - Object val = entry.getValue(); - if (val instanceof String || val == null) { - continue; - } - BusinessAssayProjectAndParameterRespVO businessAssayProjectAndParameter = JSON.parseObject(JSON.toJSONString(val), BusinessAssayProjectAndParameterRespVO.class); - listBusinessAssayProjectAndParameter.add(businessAssayProjectAndParameter); + + if (CollUtil.isNotEmpty(businessAssayProjectDataList)) { + businessAssayProjectDataMapper.updateBatch(businessAssayProjectDataList); } - - for (BusinessAssayProjectAndParameterRespVO pap : listBusinessAssayProjectAndParameter) { - if ("project".equals(pap.getType())) { - BusinessQCManagementProjectDataDO businessQCManagementProjectDataDO = businessQCManagementProjectDataList.stream().filter(f -> f.getId().equals(pap.getId())).findFirst().orElse(null); - if (StringUtils.isNotBlank(pap.getValue())) { - String dataType = pap.getDataType();//string-字符串,int-整数,decimal-小数,date-日期,datetime-时间 - switch (dataType) { - case "int": - case "date": - case "datetime": - case "string": - businessQCManagementProjectDataDO.setValue(pap.getValue()); - businessQCManagementProjectDataDO.setRemark(pap.getShowName() + ": " + pap.getValue()); - break; - case "decimal": - BigDecimal value = new BigDecimal(pap.getValue()); - value = value.setScale(pap.getDecimalPosition(), RoundingMode.HALF_EVEN); - businessQCManagementProjectDataDO.setValue(value.toPlainString()); - businessQCManagementProjectDataDO.setRemark(pap.getShowName() + ": " + value.toPlainString()); - break; - default: - throw new IllegalArgumentException("Unexpected value: " + dataType); - } - } else { - businessQCManagementProjectDataDO.setValue(null); + if (CollUtil.isNotEmpty(businessAssayParameterDataList)) { + businessAssayParameterDataMapper.updateBatch(businessAssayParameterDataList); + } + + } else if ("zky".equals(businessAssayTaskAnalysisDataRespVO.getAnalysisType())) { + List BusinessQCManagementDataList = businessQCManagementDataMapper.selectByBusinessAssayTaskId(businessAssayTaskDO.getId()); + + List businessQCManagementDataIdList = BusinessQCManagementDataList.stream().map(m -> m.getId()).collect(Collectors.toList()); + + List businessQCManagementProjectDataList = businessQCManagementProjectDataMapper.selectByBusinessQCManagementDataIds(businessQCManagementDataIdList); + List businessQCManagementProjectDataIdList = businessQCManagementProjectDataList.stream().map(m -> m.getId()).collect(Collectors.toList()); + + List businessQCManagementParameterDataList = businessQCManagementParameterDataMapper.selectByBusinessQCManagementProjectDataIds(businessQCManagementProjectDataIdList); + + List> datas = businessAssayTaskAnalysisDataRespVO.getDatas(); + for (Map map : datas) { + + List listBusinessAssayProjectAndParameter = new ArrayList<>(); + for (Map.Entry entry : map.entrySet()) { + Object val = entry.getValue(); + if (val instanceof String || val == null) { + continue; } - } else if ("parameter".equals(pap.getType())) { - BusinessQCManagementParameterDataDO businessQCManagementParameterDataDO = businessQCManagementParameterDataList.stream().filter(f -> f.getId().equals(pap.getId())).findFirst().orElse(null); - if (StringUtils.isNotBlank(pap.getValue())) { - String dataType = pap.getDataType();//string-字符串,int-整数,decimal-小数,date-日期,datetime-时间 - switch (dataType) { - case "int": - case "date": - case "datetime": - case "string": - businessQCManagementParameterDataDO.setValue(pap.getValue()); - businessQCManagementParameterDataDO.setRemark(pap.getShowName() + ": " + pap.getValue()); - break; - case "decimal": - BigDecimal value = new BigDecimal(pap.getValue()); - value = value.setScale(pap.getDecimalPosition(), RoundingMode.HALF_EVEN); - businessQCManagementParameterDataDO.setValue(value.toPlainString()); - businessQCManagementParameterDataDO.setRemark(pap.getShowName() + ": " + value.toPlainString()); - break; - default: - throw new IllegalArgumentException("Unexpected value: " + dataType); + BusinessAssayProjectAndParameterRespVO businessAssayProjectAndParameter = JSON.parseObject(JSON.toJSONString(val), BusinessAssayProjectAndParameterRespVO.class); + listBusinessAssayProjectAndParameter.add(businessAssayProjectAndParameter); + } + + for (BusinessAssayProjectAndParameterRespVO pap : listBusinessAssayProjectAndParameter) { + if ("project".equals(pap.getType())) { + BusinessQCManagementProjectDataDO businessQCManagementProjectDataDO = businessQCManagementProjectDataList.stream().filter(f -> f.getId().equals(pap.getId())).findFirst().orElse(null); + if (StringUtils.isNotBlank(pap.getValue())) { + String dataType = pap.getDataType();//string-字符串,int-整数,decimal-小数,date-日期,datetime-时间 + switch (dataType) { + case "int": + case "date": + case "datetime": + case "string": + businessQCManagementProjectDataDO.setValue(pap.getValue()); + businessQCManagementProjectDataDO.setRemark(pap.getShowName() + ": " + pap.getValue()); + break; + case "decimal": + BigDecimal value = new BigDecimal(pap.getValue()); + value = value.setScale(pap.getDecimalPosition(), RoundingMode.HALF_EVEN); + businessQCManagementProjectDataDO.setValue(value.toPlainString()); + businessQCManagementProjectDataDO.setRemark(pap.getShowName() + ": " + value.toPlainString()); + break; + default: + throw new IllegalArgumentException("Unexpected value: " + dataType); + } + } else { + businessQCManagementProjectDataDO.setValue(null); + } + } else if ("parameter".equals(pap.getType())) { + BusinessQCManagementParameterDataDO businessQCManagementParameterDataDO = businessQCManagementParameterDataList.stream().filter(f -> f.getId().equals(pap.getId())).findFirst().orElse(null); + if (StringUtils.isNotBlank(pap.getValue())) { + String dataType = pap.getDataType();//string-字符串,int-整数,decimal-小数,date-日期,datetime-时间 + switch (dataType) { + case "int": + case "date": + case "datetime": + case "string": + businessQCManagementParameterDataDO.setValue(pap.getValue()); + businessQCManagementParameterDataDO.setRemark(pap.getShowName() + ": " + pap.getValue()); + break; + case "decimal": + BigDecimal value = new BigDecimal(pap.getValue()); + value = value.setScale(pap.getDecimalPosition(), RoundingMode.HALF_EVEN); + businessQCManagementParameterDataDO.setValue(value.toPlainString()); + businessQCManagementParameterDataDO.setRemark(pap.getShowName() + ": " + value.toPlainString()); + break; + default: + throw new IllegalArgumentException("Unexpected value: " + dataType); + } + } else { + businessQCManagementParameterDataDO.setValue(null); } - } else { - businessQCManagementParameterDataDO.setValue(null); } } + + } + + if (CollUtil.isNotEmpty(businessQCManagementProjectDataList)) { + businessQCManagementProjectDataMapper.updateBatch(businessQCManagementProjectDataList); + } + + if (CollUtil.isNotEmpty(businessQCManagementParameterDataList)) { + businessQCManagementParameterDataMapper.updateBatch(businessQCManagementParameterDataList); + } + } else { + List businessQCCoefficientDataList = businessQCCoefficientDataMapper.selectByBusinessAssayTaskId(businessAssayTaskDO.getId()); + + List businessQCCoefficientDataIdList = businessQCCoefficientDataList.stream().map(m -> m.getId()).collect(Collectors.toList()); + + List businessQCCoefficientParameterDataList = businessQCCoefficientParameterDataMapper.selectByBusinessQCCoefficientDataIds(businessQCCoefficientDataIdList); + + List> datas = businessAssayTaskAnalysisDataRespVO.getDatas(); + for (Map map : datas) { + + List listBusinessAssayProjectAndParameter = new ArrayList<>(); + for (Map.Entry entry : map.entrySet()) { + Object val = entry.getValue(); + if (val instanceof String || val == null) { + continue; + } + BusinessAssayProjectAndParameterRespVO businessAssayProjectAndParameter = JSON.parseObject(JSON.toJSONString(val), BusinessAssayProjectAndParameterRespVO.class); + listBusinessAssayProjectAndParameter.add(businessAssayProjectAndParameter); + } + + for (BusinessAssayProjectAndParameterRespVO pap : listBusinessAssayProjectAndParameter) { + if ("parameter".equals(pap.getType())) { + BusinessQCCoefficientParameterDataDO businessQCCoefficientParameterDataDO = businessQCCoefficientParameterDataList.stream().filter(f -> f.getId().equals(pap.getId())).findFirst().orElse(null); + if (StringUtils.isNotBlank(pap.getValue())) { + String dataType = pap.getDataType();//string-字符串,int-整数,decimal-小数,date-日期,datetime-时间 + switch (dataType) { + case "int": + case "date": + case "datetime": + case "string": + businessQCCoefficientParameterDataDO.setValue(pap.getValue()); + businessQCCoefficientParameterDataDO.setRemark(pap.getShowName() + ": " + pap.getValue()); + break; + case "decimal": + BigDecimal value = new BigDecimal(pap.getValue()); + value = value.setScale(pap.getDecimalPosition(), RoundingMode.HALF_EVEN); + businessQCCoefficientParameterDataDO.setValue(value.toPlainString()); + businessQCCoefficientParameterDataDO.setRemark(pap.getShowName() + ": " + value.toPlainString()); + break; + default: + throw new IllegalArgumentException("Unexpected value: " + dataType); + } + } else { + businessQCCoefficientParameterDataDO.setValue(null); + } + } + } + } - - } - - businessQCManagementProjectDataMapper.updateBatch(businessQCManagementProjectDataList); - if (CollUtil.isNotEmpty(businessQCManagementParameterDataList)) { - businessQCManagementParameterDataMapper.updateBatch(businessQCManagementParameterDataList); - } - } else { - List businessQCCoefficientDataList = businessQCCoefficientDataMapper.selectByBusinessAssayTaskId(businessAssayTaskDO.getId()); - - List businessQCCoefficientDataIdList = businessQCCoefficientDataList.stream().map(m -> m.getId()).collect(Collectors.toList()); - - List businessQCCoefficientParameterDataList = businessQCCoefficientParameterDataMapper.selectByBusinessQCCoefficientDataIds(businessQCCoefficientDataIdList); - - List> datas = businessAssayTaskAnalysisDataRespVO.getDatas(); - for (Map map : datas) { - - List listBusinessAssayProjectAndParameter = new ArrayList<>(); - for (Map.Entry entry : map.entrySet()) { - Object val = entry.getValue(); - if (val instanceof String || val == null) { - continue; - } - BusinessAssayProjectAndParameterRespVO businessAssayProjectAndParameter = JSON.parseObject(JSON.toJSONString(val), BusinessAssayProjectAndParameterRespVO.class); - listBusinessAssayProjectAndParameter.add(businessAssayProjectAndParameter); + if (CollUtil.isNotEmpty(businessQCCoefficientParameterDataList)) { + businessQCCoefficientParameterDataMapper.updateBatch(businessQCCoefficientParameterDataList); } - - for (BusinessAssayProjectAndParameterRespVO pap : listBusinessAssayProjectAndParameter) { - if ("parameter".equals(pap.getType())) { - BusinessQCCoefficientParameterDataDO businessQCCoefficientParameterDataDO = businessQCCoefficientParameterDataList.stream().filter(f -> f.getId().equals(pap.getId())).findFirst().orElse(null); - if (StringUtils.isNotBlank(pap.getValue())) { - String dataType = pap.getDataType();//string-字符串,int-整数,decimal-小数,date-日期,datetime-时间 - switch (dataType) { - case "int": - case "date": - case "datetime": - case "string": - businessQCCoefficientParameterDataDO.setValue(pap.getValue()); - businessQCCoefficientParameterDataDO.setRemark(pap.getShowName() + ": " + pap.getValue()); - break; - case "decimal": - BigDecimal value = new BigDecimal(pap.getValue()); - value = value.setScale(pap.getDecimalPosition(), RoundingMode.HALF_EVEN); - businessQCCoefficientParameterDataDO.setValue(value.toPlainString()); - businessQCCoefficientParameterDataDO.setRemark(pap.getShowName() + ": " + value.toPlainString()); - break; - default: - throw new IllegalArgumentException("Unexpected value: " + dataType); - } - } else { - businessQCCoefficientParameterDataDO.setValue(null); - } - } - } - + } - - businessQCCoefficientParameterDataMapper.updateBatch(businessQCCoefficientParameterDataList); } + } businessAssayTaskMapper.updateById(businessAssayTaskDO); } diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectPageReqVO.java index 1bbfff2..d3d0d07 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectPageReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectPageReqVO.java @@ -46,6 +46,12 @@ public class ConfigAssayMethodProjectPageReqVO extends PageParam { @Schema(description = "方法检出下限值") private String minimumLimitValue; + @Schema(description = "参数分组_ID") + private Long dictionaryBusinessId; + + @Schema(description = "参数分组_Key") + private String dictionaryBusinessKey; + @Schema(description = "排序号") private Integer sortNo; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectParameterPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectParameterPageReqVO.java index 98f667e..36a97b8 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectParameterPageReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectParameterPageReqVO.java @@ -40,6 +40,12 @@ public class ConfigAssayMethodProjectParameterPageReqVO extends PageParam { @Schema(description = "排序号") private Integer sortNo; + @Schema(description = "参数分组_ID") + private Long dictionaryBusinessId; + + @Schema(description = "参数分组_Key") + private String dictionaryBusinessKey; + @Schema(description = "所属部门") private String systemDepartmentCode; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectParameterRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectParameterRespVO.java index 97edf8c..c134894 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectParameterRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectParameterRespVO.java @@ -52,6 +52,12 @@ public class ConfigAssayMethodProjectParameterRespVO { @ExcelProperty("排序号") private Integer sortNo; + @Schema(description = "参数分组_ID") + private Long dictionaryBusinessId; + + @Schema(description = "参数分组_Key") + private String dictionaryBusinessKey; + @Schema(description = "所属部门") @ExcelProperty("所属部门") private String systemDepartmentCode; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectParameterSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectParameterSaveReqVO.java index b5f1ae4..bc46b2c 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectParameterSaveReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectParameterSaveReqVO.java @@ -44,6 +44,12 @@ public class ConfigAssayMethodProjectParameterSaveReqVO { @Schema(description = "排序号") private Integer sortNo; + @Schema(description = "参数分组_ID") + private Long dictionaryBusinessId; + + @Schema(description = "参数分组_Key") + private String dictionaryBusinessKey; + @Schema(description = "所属部门") private String systemDepartmentCode; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectRespVO.java index 88eb751..10efb98 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectRespVO.java @@ -59,6 +59,12 @@ public class ConfigAssayMethodProjectRespVO { @Schema(description = "方法检出下限值") private String minimumLimitValue; + @Schema(description = "参数分组_ID") + private Long dictionaryBusinessId; + + @Schema(description = "参数分组_Key") + private String dictionaryBusinessKey; + @Schema(description = "排序号") @ExcelProperty("排序号") private Integer sortNo; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectSaveReqVO.java index 8747f86..6cdaf11 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectSaveReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigAssayMethodProjectSaveReqVO.java @@ -50,6 +50,12 @@ public class ConfigAssayMethodProjectSaveReqVO { @Schema(description = "方法检出下限值") private String minimumLimitValue; + @Schema(description = "参数分组_ID") + private Long dictionaryBusinessId; + + @Schema(description = "参数分组_Key") + private String dictionaryBusinessKey; + @Schema(description = "排序号") private Integer sortNo; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigQCSampleMethodParameterPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigQCSampleMethodParameterPageReqVO.java index 52af350..31af65f 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigQCSampleMethodParameterPageReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigQCSampleMethodParameterPageReqVO.java @@ -34,6 +34,12 @@ public class ConfigQCSampleMethodParameterPageReqVO extends PageParam { @Schema(description = "计算公式") private String formula; + @Schema(description = "参数分组_ID") + private Long dictionaryBusinessId; + + @Schema(description = "参数分组_Key") + private String dictionaryBusinessKey; + @Schema(description = "pc界面是否显示") private Integer isShow; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigQCSampleMethodParameterRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigQCSampleMethodParameterRespVO.java index 14592c9..3fedc3d 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigQCSampleMethodParameterRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigQCSampleMethodParameterRespVO.java @@ -44,6 +44,12 @@ public class ConfigQCSampleMethodParameterRespVO { @ExcelProperty("计算公式") private String formula; + @Schema(description = "参数分组_ID") + private Long dictionaryBusinessId; + + @Schema(description = "参数分组_Key") + private String dictionaryBusinessKey; + @Schema(description = "pc界面是否显示", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("pc界面是否显示") private Integer isShow; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigQCSampleMethodParameterSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigQCSampleMethodParameterSaveReqVO.java index d172f03..1b00378 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigQCSampleMethodParameterSaveReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigQCSampleMethodParameterSaveReqVO.java @@ -41,6 +41,12 @@ public class ConfigQCSampleMethodParameterSaveReqVO { @NotNull(message = "pc界面是否显示不能为空") private Integer isShow; + @Schema(description = "参数分组_ID") + private Long dictionaryBusinessId; + + @Schema(description = "参数分组_Key") + private String dictionaryBusinessKey; + @Schema(description = "排序号") private Integer sortNo; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigAssayMethodProjectDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigAssayMethodProjectDO.java index f073dd1..46f8c9f 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigAssayMethodProjectDO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigAssayMethodProjectDO.java @@ -87,6 +87,16 @@ public class ConfigAssayMethodProjectDO extends BusinessBaseDO { @TableField("MIN_LIM_VAL") private String minimumLimitValue; /** + * 参数分组_ID + */ + @TableField("DIC_BSN_ID") + private Long dictionaryBusinessId; + /** + * 参数分组_Key + */ + @TableField("DIC_BSN_KY") + private String dictionaryBusinessKey; + /** * 排序号 */ @TableField("SRT_NO") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigAssayMethodProjectParameterDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigAssayMethodProjectParameterDO.java index 03a2634..feaeb99 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigAssayMethodProjectParameterDO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigAssayMethodProjectParameterDO.java @@ -77,6 +77,16 @@ public class ConfigAssayMethodProjectParameterDO extends BusinessBaseDO { @TableField("SRT_NO") private Integer sortNo; /** + * 参数分组_ID + */ + @TableField("DIC_BSN_ID") + private Long dictionaryBusinessId; + /** + * 参数分组_Key + */ + @TableField("DIC_BSN_KY") + private String dictionaryBusinessKey; + /** * 所属部门 */ @TableField("SYS_DEPT_CD") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigQCSampleMethodParameterDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigQCSampleMethodParameterDO.java index 5dc083f..5ba95d1 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigQCSampleMethodParameterDO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigQCSampleMethodParameterDO.java @@ -77,6 +77,16 @@ public class ConfigQCSampleMethodParameterDO extends BusinessBaseDO { @TableField("SRT_NO") private Integer sortNo; /** + * 参数分组_ID + */ + @TableField("DIC_BSN_ID") + private Long dictionaryBusinessId; + /** + * 参数分组_Key + */ + @TableField("DIC_BSN_KY") + private String dictionaryBusinessKey; + /** * 所属部门 */ @TableField("SYS_DEPT_CD")