diff --git a/src/main/java/com/bonus/aqgqj/basis/dao/ExperimentalMapper.java b/src/main/java/com/bonus/aqgqj/basis/dao/ExperimentalMapper.java index e05ba1d..33e01ae 100644 --- a/src/main/java/com/bonus/aqgqj/basis/dao/ExperimentalMapper.java +++ b/src/main/java/com/bonus/aqgqj/basis/dao/ExperimentalMapper.java @@ -2,10 +2,12 @@ package com.bonus.aqgqj.basis.dao; import com.bonus.aqgqj.basis.entity.dto.ParamsDto; import com.bonus.aqgqj.basis.entity.vo.*; +import org.apache.ibatis.annotations.MapKey; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; import java.util.List; +import java.util.Map; /** * @className:ExperimentalMapper @@ -312,10 +314,31 @@ public interface ExperimentalMapper { /** * 删除试验项内容 + * * @param experItemsIds * @return void * @author cwchen * @date 2024/7/22 0:36 */ void delExperItem(List experItemsIds); + + /** + * 查询试验设备数量 + * + * @param experId + * @return List + * @author cwchen + * @date 2024/7/22 10:58 + */ + @MapKey("id") + List> getExperDevItemsNum(Long experId); + + /** + * 判断是否处于审核流程中的数据 + * @param id + * @return int + * @author cwchen + * @date 2024/7/22 14:13 + */ + int isCheck(Long id); } diff --git a/src/main/java/com/bonus/aqgqj/basis/entity/vo/ExperDevVo.java b/src/main/java/com/bonus/aqgqj/basis/entity/vo/ExperDevVo.java index b12a1e1..795b93c 100644 --- a/src/main/java/com/bonus/aqgqj/basis/entity/vo/ExperDevVo.java +++ b/src/main/java/com/bonus/aqgqj/basis/entity/vo/ExperDevVo.java @@ -46,7 +46,7 @@ public class ExperDevVo { private String devData; /**额外超出的金额默认值0*/ @NotBlank(message = "金额不能为空", groups = {Query.class}) - @Pattern(regexp = "(0|\\d{1,8}(?:\\.\\d{1,2})?|\\d{9}(?:\\.\\d{0,2})?)", message = "金额格式不正确(0-100000000)", groups = {Query.class}) + @Pattern(regexp = "(0|\\d{1,8}(?:\\.\\d{1,2})?|\\d{9}(?:\\.\\d{0,2})?)", message = "金额格式不正确(范围0-100000000并且最多保留两位小数)", groups = {Query.class}) private String amount; /**备注*/ @NotBlank(message = "备注不能为空", groups = {Query.class}) diff --git a/src/main/java/com/bonus/aqgqj/basis/entity/vo/ExperimentalDetailVo.java b/src/main/java/com/bonus/aqgqj/basis/entity/vo/ExperimentalDetailVo.java index 2caf44a..58f8a5d 100644 --- a/src/main/java/com/bonus/aqgqj/basis/entity/vo/ExperimentalDetailVo.java +++ b/src/main/java/com/bonus/aqgqj/basis/entity/vo/ExperimentalDetailVo.java @@ -1,6 +1,8 @@ package com.bonus.aqgqj.basis.entity.vo; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Data; +import org.apache.ibatis.type.Alias; import java.util.List; @@ -18,6 +20,11 @@ public class ExperimentalDetailVo { * 收样信息表id */ private Long sampleId; + + /** + * 试验ID + */ + private Long experId; /** * 样品类型 */ @@ -29,7 +36,13 @@ public class ExperimentalDetailVo { /** * 规格型号 */ + @JsonProperty(access = JsonProperty.Access.WRITE_ONLY) private String devModule; + + /** + * 送样数量 + */ + private Integer sampleNum = 0; /** * 样品数量 */ diff --git a/src/main/java/com/bonus/aqgqj/basis/service/impl/ExperimentalServiceImpl.java b/src/main/java/com/bonus/aqgqj/basis/service/impl/ExperimentalServiceImpl.java index a381d04..2c8ae10 100644 --- a/src/main/java/com/bonus/aqgqj/basis/service/impl/ExperimentalServiceImpl.java +++ b/src/main/java/com/bonus/aqgqj/basis/service/impl/ExperimentalServiceImpl.java @@ -14,7 +14,6 @@ import com.bonus.aqgqj.webResult.Constants; import com.bonus.aqgqj.webResult.HttpStatus; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.collections4.ListUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -24,6 +23,7 @@ import javax.annotation.Resource; import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.Map; /** * @className:ExperimentalServiceImpl @@ -63,8 +63,23 @@ public class ExperimentalServiceImpl implements ExperimentalService { list = mapper.getDetailList(dto); if (CollectionUtils.isNotEmpty(list)) { for (ExperimentalDetailVo detailVo : list) { - // 样品试验结果、样品数量 + // 样品试验结果、样品数量、送样总数 List sampleList = new ArrayList<>(); + if(detailVo.getExperId()!=null){ + List> mapList = mapper.getExperDevItemsNum(detailVo.getExperId()); + JSONArray jsonArray = new JSONArray(); + jsonArray.addAll(mapList); + sampleList = jsonArray.toJavaList(ExperimentalDetailVo.Sample.class); + for (ExperimentalDetailVo.Sample sample : sampleList) { + if(sample.getTestResult().contains(Constants.ERROR_RESULT) || + sample.getTestResult().contains(Constants.ERROR_RESULT2) + ){ + sample.setTestResult(Constants.ERROR_RESULT); + }else{ + sample.setTestResult(Constants.SUCCESS_RESULT); + } + } + } detailVo.setSampleList(sampleList); detailVo.setSampleQuantity(sampleList.size()); } @@ -175,6 +190,11 @@ public class ExperimentalServiceImpl implements ExperimentalService { if(vo.getId() == null){ return ServerResponse.createByErrorMsg(HttpStatus.ERROR, "参数不完整"); } + // 处于审核流程中的数据无法进行修改 + int isCheck = mapper.isCheck(vo.getId()); + if(isCheck > 0){ + return ServerResponse.createByErrorMsg(HttpStatus.ERROR, "处于审核流程中的数据无法进行修改"); + } // 整体数据校验数据 String validResult = validatorsUtils.valid(vo, TestVo.Query.class); if (StringUtils.isNotBlank(validResult)) { @@ -258,6 +278,9 @@ public class ExperimentalServiceImpl implements ExperimentalService { public ServerResponse viewTestData(ParamsDto dto) { TestVo testVo = new TestVo(); try { + if(dto.getId() == null){ + return ServerResponse.createByErrorMsg(HttpStatus.ERROR,"请求参数不完整"); + } // 试验数据详情 testVo = mapper.viewTestData(dto); //试验依据信息、试验设备、试验项、试验项目信息、试验样品设备 diff --git a/src/main/java/com/bonus/aqgqj/webResult/Constants.java b/src/main/java/com/bonus/aqgqj/webResult/Constants.java index ffdcdcd..c4445f8 100644 --- a/src/main/java/com/bonus/aqgqj/webResult/Constants.java +++ b/src/main/java/com/bonus/aqgqj/webResult/Constants.java @@ -140,5 +140,9 @@ public class Constants public static final String ERROR_6 = "试验不能为空"; public static final String FORMAT_STR = "yyyy-MM-dd"; + public static final String ERROR_RESULT = "不合格"; + public static final String ERROR_RESULT2 = "不通过"; + public static final String SUCCESS_RESULT = "合格"; + } diff --git a/src/main/resources/mappers/basis/ExperimentalMapper.xml b/src/main/resources/mappers/basis/ExperimentalMapper.xml index 459b929..11a70a8 100644 --- a/src/main/resources/mappers/basis/ExperimentalMapper.xml +++ b/src/main/resources/mappers/basis/ExperimentalMapper.xml @@ -268,15 +268,29 @@ SELECT id FROM tb_exper_items WHERE exper_id = #{id} + + + +