隐性原始编号排序

dev
litao 3 years ago
parent 4c7ea6a52b
commit be75dda9dd
  1. 32
      lab-service/lab-lims/src/main/java/org/springblade/lims/service/impl/EntrustServiceImpl.java

@ -6,7 +6,6 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.nacos.common.utils.CollectionUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import io.swagger.models.auth.In;
import lombok.NoArgsConstructor;
import org.apache.commons.lang3.RandomUtils;
import org.apache.commons.lang3.StringUtils;
@ -671,30 +670,31 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
// 1.生成坐标(给每一个数据单元赋予坐标)
// 1.1.根据原始编号分组
Map<String, List<ExamineResultVo>> collect = resultList.stream().collect(Collectors.groupingBy(ExamineResultVo::getOriginalNum));
// Map<String, List<ExamineResultVo>> collect = resultList.stream().collect(Collectors.groupingBy(ExamineResultVo::getOriginalNum));
Map<String, List<ExamineResultVo>> collect = resultList.stream().collect(Collectors.groupingBy(ExamineResultVo::getRecessiveNum));
Set<String> keys = collect.keySet();
List<String> originalNumList = new ArrayList<>();
originalNumList.addAll(keys);
List<String> recessiveNumList = new ArrayList<>();
recessiveNumList.addAll(keys);
// TODO 排序方式不对,现在是:1,10,11,12...,会有中文的情况
Collections.sort(originalNumList);
// Collections.sort(recessiveNumList, new Comparator<String>() {
// @Override
// public int compare(String o1, String o2) {
// Integer expirNum1 = Integer.valueOf(o1);
// Integer expirNum2 = Integer.valueOf(o2);
// return expirNum1 - expirNum2;
// }
// });
// Collections.sort(originalNumList);
Collections.sort(recessiveNumList, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
Integer expirNum1 = Integer.valueOf(o1);
Integer expirNum2 = Integer.valueOf(o2);
return expirNum1 - expirNum2;
}
});
// 循环分组后的数据给到每个单元的的值 (例如:2-1-3)
// 定义行数
int rowCount = 0;
for (String originalNum : originalNumList) {
for (String originalNum : recessiveNumList) {
List<ExamineResultVo> everyResultUnit = collect.get(originalNum);
Map<String, String> row = new HashMap<>();
row.put("originalNum", originalNum);
row.put("originalNum", everyResultUnit.get(0).getOriginalNum());
rowCount ++;
List<ExamineResultVo> everyResultUnit = collect.get(originalNum);
// 对检测按照index分组
Map<Integer, List<ExamineResultVo>> voGroupByIndex = everyResultUnit.stream().collect(Collectors.groupingBy(ExamineResultVo::getIndex));

Loading…
Cancel
Save