2022年9月4日

dev
litao 3 years ago
parent d2f92e3e4b
commit 3100b478a2
  1. 2
      lab-service-api/lab-lims-api/src/main/java/org/springblade/lims/entry/ExamineBasis.java
  2. 2
      lab-service-api/lab-lims-api/src/main/java/org/springblade/lims/entry/ExamineDataArrVO.java
  3. 72
      lab-service/lab-lims/src/main/java/org/springblade/lims/controller/ExamineResultController.java
  4. 2
      lab-service/lab-lims/src/main/java/org/springblade/lims/controller/SimpleRelController.java
  5. 339
      lab-service/lab-lims/src/main/java/org/springblade/lims/service/impl/EntrustServiceImpl.java

@ -44,7 +44,7 @@ public class ExamineBasis extends BaseEntity implements Serializable {
/** /**
* 质量文件 * 质量文件
*/ */
private Long qualityFileId; private String qualityFileId;
private String qualityFileName; private String qualityFileName;
} }

@ -16,4 +16,6 @@ public class ExamineDataArrVO {
private String value; private String value;
private String num; private String num;
private String log2;
} }

@ -516,10 +516,10 @@ public class ExamineResultController extends BladeController {
String[] experieNum = examine.getExperieNum().split(","); String[] experieNum = examine.getExperieNum().split(",");
// 获取4个抗原对照值 // 获取4个抗原对照值
List<Double> list = new ArrayList<>(); List<Double> list = new ArrayList<>();
list.add(Double.parseDouble(read.get(4).getCode12())); list.add(Double.parseDouble(originRowDatas.get(4).getCode12()));
list.add(Double.parseDouble(read.get(5).getCode12())); list.add(Double.parseDouble(originRowDatas.get(5).getCode12()));
list.add(Double.parseDouble(read.get(6).getCode12())); list.add(Double.parseDouble(originRowDatas.get(6).getCode12()));
list.add(Double.parseDouble(read.get(7).getCode12())); list.add(Double.parseDouble(originRowDatas.get(7).getCode12()));
List<Double> list1 = list.stream().sorted().collect(Collectors.toList()); List<Double> list1 = list.stream().sorted().collect(Collectors.toList());
DecimalFormat df = new DecimalFormat("#0.000"); DecimalFormat df = new DecimalFormat("#0.000");
// 对照平均值 // 对照平均值
@ -606,7 +606,6 @@ public class ExamineResultController extends BladeController {
} }
return R.data(mapList); return R.data(mapList);
} }
// 兰所多板---------------------------------------------------------------------------------------------------- // 兰所多板----------------------------------------------------------------------------------------------------
else if ("2".equals(split[1])) { else if ("2".equals(split[1])) {
Map<String, List<Map<String, Map<String, Object>>>> resultMap = new HashMap<>(); Map<String, List<Map<String, Map<String, Object>>>> resultMap = new HashMap<>();
@ -621,6 +620,7 @@ public class ExamineResultController extends BladeController {
String[] experieNum = examine.getExperieNum().split(","); String[] experieNum = examine.getExperieNum().split(",");
// 用于存放每个格子的值,有顺序,无规则 // 用于存放每个格子的值,有顺序,无规则
List<Map<String, Object>> allDatas = new ArrayList<>(); List<Map<String, Object>> allDatas = new ArrayList<>();
List<Map<String, Object>> allData = new ArrayList<>();
// 按照公式计算实验数据并返回;两板对照:取偶数组去循环做参照,+1组做对照 // 按照公式计算实验数据并返回;两板对照:取偶数组去循环做参照,+1组做对照
// 参照组:2n 、对照组:2n + 1 // 参照组:2n 、对照组:2n + 1
for (int group = 0; group < groupCount / 2; group++) { for (int group = 0; group < groupCount / 2; group++) {
@ -640,7 +640,8 @@ public class ExamineResultController extends BladeController {
int u = 1; int u = 1;
// 计算每一列 // 计算每一列
for (int i = 1; i <= 12; i++) { for (int i = 1; i <= 12; i++) {
Map<String, Object> cPosData = calcAndPutcPosData(rowInGroup1, avg1, experieNum, group, row, i, u, 1); Map<String, Object> cPosData = calcAndPutcPosData(rowInGroup1, avg1, experieNum, group, row, i, u, 1, 1);
allData.add(cPosData);
allPosDatasInAGroup.put(a + i, cPosData); allPosDatasInAGroup.put(a + i, cPosData);
if (i != 1) { if (i != 1) {
u++; u++;
@ -648,7 +649,7 @@ public class ExamineResultController extends BladeController {
} }
allDataInCurrGroup1.add(allPosDatasInAGroup); allDataInCurrGroup1.add(allPosDatasInAGroup);
} }
resultMap.put("g" + (group + 1), allDataInCurrGroup1); resultMap.put("g" + (2 * group + 1), allDataInCurrGroup1);
// 2.对照组 // 2.对照组
// 存这一组的所有数据 // 存这一组的所有数据
@ -665,7 +666,8 @@ public class ExamineResultController extends BladeController {
int u = 1; int u = 1;
// 计算每一列 // 计算每一列
for (int i = 1; i <= 12; i++) { for (int i = 1; i <= 12; i++) {
Map<String, Object> cPosData = calcAndPutcPosData(rowInGroup2, avg2, experieNum, group, row, i, u, 1); Map<String, Object> cPosData = calcAndPutcPosData(rowInGroup2, avg2, experieNum, group, row, i, u, 1, 2);
allData.add(cPosData);
allPosDatasInAGroup.put(a + i, cPosData); allPosDatasInAGroup.put(a + i, cPosData);
if (i != 1) { if (i != 1) {
u++; u++;
@ -673,7 +675,7 @@ public class ExamineResultController extends BladeController {
} }
allDataInCurrGroup2.add(allPosDatasInAGroup); allDataInCurrGroup2.add(allPosDatasInAGroup);
} }
resultMap.put("g" + (group + 1), allDataInCurrGroup2); resultMap.put("g" + ((2 * group + 1) + 1), allDataInCurrGroup2);
// 3.两相比较取结果 // 3.两相比较取结果
for (int i = 0; i < allDataInCurrGroup1.size(); i++) { for (int i = 0; i < allDataInCurrGroup1.size(); i++) {
@ -685,6 +687,10 @@ public class ExamineResultController extends BladeController {
Map<String, Object> data1 = layer1.get(key); Map<String, Object> data1 = layer1.get(key);
Map<String, Object> data2 = layer2.get(key); Map<String, Object> data2 = layer2.get(key);
boolean isPig = "猪".equals(examine.getSimpleName().split("-")[0]); boolean isPig = "猪".equals(examine.getSimpleName().split("-")[0]);
if (data1.get("result") == null || data2.get("result") == null) {
allDatas.add(data1);
continue;
}
if (data1.get("result").equals("阳性") || data2.get("result").equals("阳性")) { if (data1.get("result").equals("阳性") || data2.get("result").equals("阳性")) {
data1.put("log2", isPig ? "≥1:64" : "≥1:128"); data1.put("log2", isPig ? "≥1:64" : "≥1:128");
data1.put("result", "阳性"); data1.put("result", "阳性");
@ -703,7 +709,7 @@ public class ExamineResultController extends BladeController {
wrapper.eq(ExamineResult::getExamineId, examine.getId()); wrapper.eq(ExamineResult::getExamineId, examine.getId());
ExamineResult result = service.getOne(wrapper); ExamineResult result = service.getOne(wrapper);
if (result != null) { if (result != null) {
result.setOriginRecordData(JSON.toJSONString(groupsMap)); result.setOriginRecordData(JSON.toJSONString(allData));
result.setOriginRecordResult(JSON.toJSONString(resultMap)); result.setOriginRecordResult(JSON.toJSONString(resultMap));
result.setExamineDataArr(JSON.toJSONString(allDatas)); result.setExamineDataArr(JSON.toJSONString(allDatas));
service.updateById(result); service.updateById(result);
@ -711,7 +717,7 @@ public class ExamineResultController extends BladeController {
else { else {
ExamineResult examineResult = new ExamineResult(); ExamineResult examineResult = new ExamineResult();
examineResult.setExamineId(Long.valueOf(examine.getId())); examineResult.setExamineId(Long.valueOf(examine.getId()));
examineResult.setOriginRecordData(JSON.toJSONString(groupsMap)); examineResult.setOriginRecordData(JSON.toJSONString(allData));
examineResult.setOriginRecordResult(JSON.toJSONString(resultMap)); examineResult.setOriginRecordResult(JSON.toJSONString(resultMap));
examineResult.setExamineDataArr(JSON.toJSONString(allDatas)); examineResult.setExamineDataArr(JSON.toJSONString(allDatas));
service.save(examineResult); service.save(examineResult);
@ -733,16 +739,16 @@ public class ExamineResultController extends BladeController {
String[] experieNum = examine.getExperieNum().split(","); String[] experieNum = examine.getExperieNum().split(",");
// 用于存放每个格子的值,有顺序,无规则 // 用于存放每个格子的值,有顺序,无规则
List<Map<String, Object>> allDatas = new ArrayList<>(); List<Map<String, Object>> allDatas = new ArrayList<>();
List<Map<String, Object>> allData = new ArrayList<>();
// 按照公式计算实验数据并返回 // 按照公式计算实验数据并返回
// 参照组:2n 、对照组:2n + 1 // 参照组:2n 、对照组:2n + 1
for (int group = 0; group < groupCount; group++) { for (int group = 0; group < groupCount / 2; group++) {
// 1.参照组 // 1.参照组
// 存这一组的所有数据 // 存这一组的所有数据
List<Map<String, Map<String, Object>>> allDataInCurrGroup1 = new ArrayList<>(); List<Map<String, Map<String, Object>>> allDataInCurrGroup1 = new ArrayList<>();
// i = 0时,是取1组的那8行 // i = 0时,是取1组的那8行
List<ExamineExcel> rowInGroup1 = groupsMap.get(String.valueOf((2 * group + 1) + 1)); List<ExamineExcel> rowInGroup1 = groupsMap.get(String.valueOf((2 * group) + 1));
// 计算该组的[对照平均值] // 计算该组的[对照平均值]
Double avg1 = calcCurrGroupContrastAvg(rowInGroup1); Double avg1 = calcCurrGroupContrastAvg(rowInGroup1);
for (int row = 0; row < rowInGroup1.size(); row++) { for (int row = 0; row < rowInGroup1.size(); row++) {
@ -753,7 +759,8 @@ public class ExamineResultController extends BladeController {
int u = 1; int u = 1;
// 计算每一列 // 计算每一列
for (int i = 1; i <= 12; i++) { for (int i = 1; i <= 12; i++) {
Map<String, Object> cPosData = calcAndPutcPosData(rowInGroup1, avg1, experieNum, group, row, i, u, 2); Map<String, Object> cPosData = calcAndPutcPosData(rowInGroup1, avg1, experieNum, group, row, i, u, 2, 1);
allData.add(cPosData);
allPosDatasInAGroup.put(a + i, cPosData); allPosDatasInAGroup.put(a + i, cPosData);
if (i != 1) { if (i != 1) {
u++; u++;
@ -761,9 +768,9 @@ public class ExamineResultController extends BladeController {
} }
allDataInCurrGroup1.add(allPosDatasInAGroup); allDataInCurrGroup1.add(allPosDatasInAGroup);
} }
resultMap.put("g" + (group + 1), allDataInCurrGroup1); resultMap.put("g" + (2 * group + 1), allDataInCurrGroup1);
// 1.照组 // 1.照组
// 存这一组的所有数据 // 存这一组的所有数据
List<Map<String, Map<String, Object>>> allDataInCurrGroup2 = new ArrayList<>(); List<Map<String, Map<String, Object>>> allDataInCurrGroup2 = new ArrayList<>();
// i = 0时,是取1组的那8行 // i = 0时,是取1组的那8行
@ -778,7 +785,8 @@ public class ExamineResultController extends BladeController {
int u = 1; int u = 1;
// 计算每一列 // 计算每一列
for (int i = 1; i <= 12; i++) { for (int i = 1; i <= 12; i++) {
Map<String, Object> cPosData = calcAndPutcPosData(rowInGroup2, avg2, experieNum, group, row, i, u, 2); Map<String, Object> cPosData = calcAndPutcPosData(rowInGroup2, avg2, experieNum, group, row, i, u, 2, 2);
allData.add(cPosData);
allPosDatasInAGroup.put(a + i, cPosData); allPosDatasInAGroup.put(a + i, cPosData);
if (i != 1) { if (i != 1) {
u++; u++;
@ -786,7 +794,7 @@ public class ExamineResultController extends BladeController {
} }
allDataInCurrGroup2.add(allPosDatasInAGroup); allDataInCurrGroup2.add(allPosDatasInAGroup);
} }
resultMap.put("g" + (group + 1), allDataInCurrGroup2); resultMap.put("g" + ((2 * group + 1) + 1), allDataInCurrGroup2);
// 3.两相比较取结果 // 3.两相比较取结果
for (int i = 0; i < allDataInCurrGroup1.size(); i++) { for (int i = 0; i < allDataInCurrGroup1.size(); i++) {
@ -798,6 +806,10 @@ public class ExamineResultController extends BladeController {
Map<String, Object> data1 = layer1.get(key); Map<String, Object> data1 = layer1.get(key);
Map<String, Object> data2 = layer2.get(key); Map<String, Object> data2 = layer2.get(key);
boolean isPig = "猪".equals(examine.getSimpleName().split("-")[0]); boolean isPig = "猪".equals(examine.getSimpleName().split("-")[0]);
if (data1.get("result") == null || data2.get("result") == null) {
allDatas.add(data1);
continue;
}
if (data1.get("result").equals("阳性") || data2.get("result").equals("阳性")) { if (data1.get("result").equals("阳性") || data2.get("result").equals("阳性")) {
data1.put("log2", isPig ? "≥1:64" : "≥1:128"); data1.put("log2", isPig ? "≥1:64" : "≥1:128");
data1.put("result", "阳性"); data1.put("result", "阳性");
@ -814,7 +826,7 @@ public class ExamineResultController extends BladeController {
wrapper.eq(ExamineResult::getExamineId, examine.getId()); wrapper.eq(ExamineResult::getExamineId, examine.getId());
ExamineResult result = service.getOne(wrapper); ExamineResult result = service.getOne(wrapper);
if (result != null) { if (result != null) {
result.setOriginRecordData(JSON.toJSONString(groupsMap)); result.setOriginRecordData(JSON.toJSONString(allData));
result.setOriginRecordResult(JSON.toJSONString(resultMap)); result.setOriginRecordResult(JSON.toJSONString(resultMap));
result.setExamineDataArr(JSON.toJSONString(allDatas)); result.setExamineDataArr(JSON.toJSONString(allDatas));
service.updateById(result); service.updateById(result);
@ -822,7 +834,7 @@ public class ExamineResultController extends BladeController {
else { else {
ExamineResult examineResult = new ExamineResult(); ExamineResult examineResult = new ExamineResult();
examineResult.setExamineId(Long.valueOf(examine.getId())); examineResult.setExamineId(Long.valueOf(examine.getId()));
examineResult.setOriginRecordData(JSON.toJSONString(groupsMap)); examineResult.setOriginRecordData(JSON.toJSONString(allData));
examineResult.setOriginRecordResult(JSON.toJSONString(resultMap)); examineResult.setOriginRecordResult(JSON.toJSONString(resultMap));
examineResult.setExamineDataArr(JSON.toJSONString(allDatas)); examineResult.setExamineDataArr(JSON.toJSONString(allDatas));
service.save(examineResult); service.save(examineResult);
@ -836,7 +848,7 @@ public class ExamineResultController extends BladeController {
* b从一个顺序排的检测编号里获取G1这个位置的值 * b从一个顺序排的检测编号里获取G1这个位置的值
* examineType: 1:多版 2:非兰所 * examineType: 1:多版 2:非兰所
*/ */
private Map<String, Object> calcAndPutcPosData(List<ExamineExcel> excels, Double avg, String[] experieNum, int group, int row, int col, int u, int examineType) { private Map<String, Object> calcAndPutcPosData(List<ExamineExcel> excels, Double avg, String[] experieNum, int group, int row, int col, int u, int examineType, int a) {
String value = null; String value = null;
// 待抽 ↓ // 待抽 ↓
if (col == 1) { if (col == 1) {
@ -883,13 +895,23 @@ public class ExamineResultController extends BladeController {
boolean isIncludeCurr = col == 12 ? false : (examineType == 1 && col == 11 ? false : true); boolean isIncludeCurr = col == 12 ? false : (examineType == 1 && col == 11 ? false : true);
if (value != null && isIncludeCurr) { if (value != null && isIncludeCurr) {
cPosData.put("value", value); cPosData.put("value", value);
// 如果是参照组
if (a == 1) {
cPosData.put("order", b + 1); cPosData.put("order", b + 1);
} else {
cPosData.put("order", b + 1 + 96);
}
cPosData.put("num", experieNum[b - ((group + 1) * 6 + (group * 16))]); cPosData.put("num", experieNum[b - ((group + 1) * 6 + (group * 16))]);
cPosData.put("result", Double.parseDouble(value) > avg ? "阳性" : "阴性"); cPosData.put("result", Double.parseDouble(value) > avg ? "阳性" : "阴性");
return cPosData; return cPosData;
} }
cPosData.put("value", " "); cPosData.put("value", value != null ? value : " ");
// 如果是参照组
if (a == 1) {
cPosData.put("order", b + 1); cPosData.put("order", b + 1);
} else {
cPosData.put("order", b + 1 + 96);
}
return cPosData; return cPosData;
} }
@ -932,14 +954,14 @@ public class ExamineResultController extends BladeController {
if (read != null && read.size() > 0) { if (read != null && read.size() > 0) {
for (int i = 0; i < read.size(); i++) { for (int i = 0; i < read.size(); i++) {
if (i == (read.size() - 1)) { if (i == (read.size() - 1)) {
read.get(i).setCtValue(" " + read.get(i)); read.get(i).setCtValue(" " + read.get(i).getCtValue());
read.get(i).setValue(" 阳性"); read.get(i).setValue(" 阳性");
} else { } else {
if ("".equals(read.get(i).getCtValue()) || read.get(i).getCtValue() == null) { if ("".equals(read.get(i).getCtValue()) || read.get(i).getCtValue() == null) {
read.get(i).setCtValue("/"); read.get(i).setCtValue("/");
read.get(i).setValue("阴性"); read.get(i).setValue("阴性");
} else { } else {
read.get(i).setCtValue(" " + read.get(i)); read.get(i).setCtValue(" " + read.get(i).getCtValue());
read.get(i).setValue(" 阳性"); read.get(i).setValue(" 阳性");
} }
} }

@ -63,7 +63,7 @@ public class SimpleRelController extends BladeController {
// 3.开始计算 // 3.开始计算
int num = 1; int num = 1;
Map<Integer, List<SimpleRel>> collect = rels.stream().collect(Collectors.groupingBy(SimpleRel::getSort)); Map<Integer, List<SimpleRel>> collect = rels.stream().collect(Collectors.groupingBy(SimpleRel::getSort));
for (int i = 1; i <= collect.size(); i++) { for (int i = 0; i < collect.size(); i++) {
List<SimpleRel> currSimpleRels = collect.get(i); List<SimpleRel> currSimpleRels = collect.get(i);
// 实验的 // 实验的
for (SimpleRel currRel : currSimpleRels) { for (SimpleRel currRel : currSimpleRels) {

@ -165,6 +165,7 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
Entrust entrust = this.getById(id); Entrust entrust = this.getById(id);
List<Map<String, Object>> resultList = new ArrayList<>(); List<Map<String, Object>> resultList = new ArrayList<>();
List<Map<String, Object>> resultList1 = new ArrayList<>();
LambdaQueryWrapper<Examine> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<Examine> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(Examine::getEntrustId, id); wrapper.eq(Examine::getEntrustId, id);
List<Examine> examineList = examineService.list(wrapper); List<Examine> examineList = examineService.list(wrapper);
@ -210,9 +211,17 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
result.put("reportSendType", value1); result.put("reportSendType", value1);
result.put("simpleTransRequire", entrust.getSimpleTransRequire()); result.put("simpleTransRequire", entrust.getSimpleTransRequire());
result.put("simpleState", entrust.getSimpleState()); result.put("simpleState", entrust.getSimpleState());
result.put("simpleName", entrust.getSimpleName()); String simpleJson = entrust.getSimpleJson();
result.put("simpleCount", entrust.getSimpleCount()); List<Map> mapList = JSON.parseArray(simpleJson, Map.class);
result.put("originalNum", entrust.getOriginalNum()); if (mapList != null && mapList.size() > 0) {
for (Map map : mapList) {
Map<String, Object> map1 = new HashMap<>();
map1.put("simpleName", map.get("simpleName"));
map1.put("simpleCount", map.get("simpleCount"));
map1.put("originalNum", map.get("originalNum"));
resultList1.add(map1);
}
}
result.put("breedingSituation", entrust.getBreedingSituation()); result.put("breedingSituation", entrust.getBreedingSituation());
result.put("clinicalOrTreatment", entrust.getClinicalOrTreatment()); result.put("clinicalOrTreatment", entrust.getClinicalOrTreatment());
result.put("immuneSituation", entrust.getImmuneSituation()); result.put("immuneSituation", entrust.getImmuneSituation());
@ -220,12 +229,29 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
result.put("samplingDate", sdf.format(entrust.getSamplingDate())); result.put("samplingDate", sdf.format(entrust.getSamplingDate()));
result.put("expectFinishedTime", sdf.format(entrust.getExpectFinishedTime())); result.put("expectFinishedTime", sdf.format(entrust.getExpectFinishedTime()));
result.put("submittedBy", entrust.getSubmittedBy()); result.put("submittedBy", entrust.getSubmittedBy());
result.put("sampleReceiverName", entrust.getSampleReceiverName());
String path = sysClient.getParamValue("electronic_signature_real_path").getData();
User user = userClient.userInfoById(Long.parseLong(entrust.getSampleReceiverId())).getData();
ImageEntity farView = new ImageEntity();
farView.setHeight(50);//设置高度
farView.setWidth(90);//设置宽度
farView.setType(ImageEntity.Data);//类型
String s1 = path + user.getElectronicSignature();
FileInputStream fis = null;
try {
fis = new FileInputStream(new File(s1));
byte[] bytes = readInputStream(fis);
farView.setData(bytes);
} catch (Exception e) {
e.printStackTrace();
}
result.put("sampleReceiverName", farView);
result.put("company", entrust.getTakeCompany()); result.put("company", entrust.getTakeCompany());
result.put("person", entrust.getTakePerson()); result.put("person", entrust.getTakePerson());
result.put("address", entrust.getTakeCompanyAddress()); result.put("address", entrust.getTakeCompanyAddress());
result.put("phone", entrust.getTakePhone()); result.put("phone", entrust.getTakePhone());
result.put("resultList", resultList); result.put("resultList", resultList);
result.put("list", resultList1);
//模板地址 //模板地址
// String handleUrl = "C://Users//AAA//Desktop//烁今//打印模板//委托单(模板).docx"; // String handleUrl = "C://Users//AAA//Desktop//烁今//打印模板//委托单(模板).docx";
@ -849,29 +875,111 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
} }
result.put("list1", resultList1); result.put("list1", resultList1);
} }
for (int i = 0; i < (list.size() / 96); i++) {
int start = i * 96;
if (i == 0) {
start = 0;
}
for (int j = 0; j < 9; j++) {
int x = 0;
Map<String, Object> map = new HashMap<>();
if (j == 0) {
map.put("0", " ");
map.put("1", "1");
map.put("2", "2");
map.put("3", "3");
map.put("4", "4");
map.put("5", "5");
map.put("6", "6");
map.put("7", "7");
map.put("8", "8");
map.put("9", "9");
map.put("10", "10");
map.put("11", "11");
map.put("12", "12");
}
else {
if (j == 1) {
map.put("0", "A");
}
if (j == 2) {
map.put("0", "B");
}
if (j == 3) {
map.put("0", "C");
}
if (j == 4) {
map.put("0", "D");
}
if (j == 5) {
map.put("0", "E");
}
if (j == 6) {
map.put("0", "F");
}
if (j == 7) {
map.put("0", "G");
}
if (j == 8) {
map.put("0", "H");
}
map.put("1", list.get(start + (8 * x + j) - 1).getValue());
x++;
map.put("2", list.get(start + (8 * x + j) - 1).getValue());
x++;
map.put("3", list.get(start + (8 * x + j) - 1).getValue());
x++;
map.put("4", list.get(start + (8 * x + j) - 1).getValue());
x++;
map.put("5", list.get(start + (8 * x + j) - 1).getValue());
x++;
map.put("6", list.get(start + (8 * x + j) - 1).getValue());
x++;
map.put("7", list.get(start + (8 * x + j) - 1).getValue());
x++;
map.put("8", list.get(start + (8 * x + j) - 1).getValue());
x++;
map.put("9", list.get(start + (8 * x + j) - 1).getValue());
x++;
map.put("10", list.get(start + (8 * x + j) - 1).getValue());
x++;
map.put("11", list.get(start + (8 * x + j) - 1).getValue());
x++;
map.put("12", list.get(start + (8 * x + j) - 1).getValue());
}
resultList2.add(map);
}
}
result.put("list2", resultList2);
url = LDanreportPrint; url = LDanreportPrint;
} }
// position1
// 口蹄疫兰所多板 // 口蹄疫兰所多板
else if ("2".equals(examine.getTemplateType())) { else if ("2".equals(examine.getTemplateType())) {
List<ExamineDataArrVO> arrVOList = JSON.parseArray(examineResult.getOriginRecordData(), ExamineDataArrVO.class);
Collections.sort(arrVOList, new Comparator<ExamineDataArrVO>() {
@Override
public int compare(ExamineDataArrVO o1, ExamineDataArrVO o2) {
return o1.getOrder() - o2.getOrder();
}
});
if (list.size() > 0) { if (list.size() > 0) {
for (int i = 0; i < list.size() / 96; i++) { for (int i = 0; i < list.size() / 96; i++) {
List<Double> doubles = new ArrayList<>(); // List<Double> doubles = new ArrayList<>();
double a1 = Double.parseDouble(list.get((i + 1) * 96 - 1).getValue()); // double a1 = Double.parseDouble(list.get((i + 1) * 96 - 1).getValue());
double a2 = Double.parseDouble(list.get((i + 1) * 96 - 2).getValue()); // double a2 = Double.parseDouble(list.get((i + 1) * 96 - 2).getValue());
double a3 = Double.parseDouble(list.get((i + 1) * 96 - 3).getValue()); // double a3 = Double.parseDouble(list.get((i + 1) * 96 - 3).getValue());
double a4 = Double.parseDouble(list.get((i + 1) * 96 - 4).getValue()); // double a4 = Double.parseDouble(list.get((i + 1) * 96 - 4).getValue());
doubles.add(a1); // doubles.add(a1);
doubles.add(a2); // doubles.add(a2);
doubles.add(a3); // doubles.add(a3);
doubles.add(a4); // doubles.add(a4);
List<Double> collect = doubles.stream().sorted().collect(Collectors.toList()); // List<Double> collect = doubles.stream().sorted().collect(Collectors.toList());
String format2 = df.format((collect.get(1) + collect.get(2)) / 4); // String format2 = df.format((collect.get(1) + collect.get(2)) / 4);
ExamineDataArrVO examineDataArrVO = new ExamineDataArrVO(); // ExamineDataArrVO examineDataArrVO = new ExamineDataArrVO();
examineDataArrVO.setNum("临界值"); // examineDataArrVO.setNum("临界值");
examineDataArrVO.setValue(""); // examineDataArrVO.setValue("");
examineDataArrVO.setResult(format2); // examineDataArrVO.setResult(format2);
list1.add(examineDataArrVO); // list1.add(examineDataArrVO);
for (int j = 0; j < 96; j++) { for (int j = 0; j < 96; j++) {
ExamineDataArrVO vo = list.get((i * 96) + j); ExamineDataArrVO vo = list.get((i * 96) + j);
if (vo.getNum() != null) { if (vo.getNum() != null) {
@ -886,47 +994,46 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
for (int i = 0; i < list1.size() / 3; i++) { for (int i = 0; i < list1.size() / 3; i++) {
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
map.put("num1", list1.get(i).getNum()); map.put("num1", list1.get(i).getNum());
map.put("value1", list1.get(i).getValue());
map.put("result1", list1.get(i).getResult()); map.put("result1", list1.get(i).getResult());
map.put("log1", list1.get(i).getLog2());
map.put("num2", list1.get(list1.size() / 3 + i).getNum()); map.put("num2", list1.get(list1.size() / 3 + i).getNum());
map.put("value2", list1.get(list1.size() / 3 + i).getValue());
map.put("result2", list1.get(list1.size() / 3 + i).getResult()); map.put("result2", list1.get(list1.size() / 3 + i).getResult());
map.put("log2", list1.get(list1.size() / 3 + i).getLog2());
map.put("num3", list1.get(list1.size() / 3 * 2 + i).getNum()); map.put("num3", list1.get(list1.size() / 3 * 2 + i).getNum());
map.put("value3", list1.get(list1.size() / 3 * 2 + i).getValue());
map.put("result3", list1.get(list1.size() / 3 * 2 + i).getResult()); map.put("result3", list1.get(list1.size() / 3 * 2 + i).getResult());
map.put("log3", list1.get(list1.size() / 3 * 2 + i).getLog2());
resultList1.add(map); resultList1.add(map);
} }
} else { } else {
for (int i = 0; i < list1.size() / 3 + 1; i++) { for (int i = 0; i < list1.size() / 3 + 1; i++) {
if (list1.size() % 3 == 1) { if (list1.size() % 3 == 1) {
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
map.put("num1", list1.get(i).getNum()); map.put("num1", list1.get(i).getNum());
map.put("value1", list1.get(i).getValue());
map.put("result1", list1.get(i).getResult()); map.put("result1", list1.get(i).getResult());
map.put("log1", list1.get(i).getLog2());
if (i < list1.size() / 3) { if (i < list1.size() / 3) {
map.put("num2", list1.get(list1.size() / 3 + i + 1).getNum()); map.put("num2", list1.get(list1.size() / 3 + i + 1).getNum());
map.put("value2", list1.get(list1.size() / 3 + i + 1).getValue());
map.put("result2", list1.get(list1.size() / 3 + i + 1).getResult()); map.put("result2", list1.get(list1.size() / 3 + i + 1).getResult());
map.put("log2", list1.get(list1.size() / 3 + i + 1).getLog2());
map.put("num3", list1.get(list1.size() / 3 * 2 + i + 1).getNum()); map.put("num3", list1.get(list1.size() / 3 * 2 + i + 1).getNum());
map.put("value3", list1.get(list1.size() / 3 * 2 + i + 1).getValue());
map.put("result3", list1.get(list1.size() / 3 * 2 + i + 1).getResult()); map.put("result3", list1.get(list1.size() / 3 * 2 + i + 1).getResult());
map.put("log3", list1.get(list1.size() / 3 * 2 + i + 1).getLog2());
} }
resultList1.add(map); resultList1.add(map);
} else if (list1.size() % 3 == 2) { } else if (list1.size() % 3 == 2) {
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
map.put("num1", list1.get(i).getNum()); map.put("num1", list1.get(i).getNum());
map.put("value1", list1.get(i).getValue());
map.put("result1", list1.get(i).getResult()); map.put("result1", list1.get(i).getResult());
map.put("log1", list1.get(i).getLog2());
map.put("num2", list1.get(list1.size() / 3 + i + 1).getNum()); map.put("num2", list1.get(list1.size() / 3 + i + 1).getNum());
map.put("value2", list1.get(list1.size() / 3 + i + 1).getValue());
map.put("result2", list1.get(list1.size() / 3 + i + 1).getResult()); map.put("result2", list1.get(list1.size() / 3 + i + 1).getResult());
map.put("log2", list1.get(list1.size() / 3 + i + 1).getLog2());
if (i < list1.size() / 3) { if (i < list1.size() / 3) {
map.put("num3", list1.get(list1.size() / 3 * 2 + i + 2).getNum()); map.put("num3", list1.get(list1.size() / 3 * 2 + i + 2).getNum());
map.put("value3", list1.get(list1.size() / 3 * 2 + i + 2).getValue());
map.put("result3", list1.get(list1.size() / 3 * 2 + i + 2).getResult()); map.put("result3", list1.get(list1.size() / 3 * 2 + i + 2).getResult());
map.put("log3", list1.get(list1.size() / 3 * 2 + i + 2).getLog2());
} }
resultList1.add(map); resultList1.add(map);
} }
@ -934,28 +1041,111 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
} }
result.put("list1", resultList1); result.put("list1", resultList1);
} }
for (int i = 0; i < (arrVOList.size() / 96); i++) {
int start = i * 96;
if (i == 0) {
start = 0;
}
for (int j = 0; j < 9; j++) {
int x = 0;
Map<String, Object> map = new HashMap<>();
if (j == 0) {
map.put("0", " ");
map.put("1", "1");
map.put("2", "2");
map.put("3", "3");
map.put("4", "4");
map.put("5", "5");
map.put("6", "6");
map.put("7", "7");
map.put("8", "8");
map.put("9", "9");
map.put("10", "10");
map.put("11", "11");
map.put("12", "12");
}
else {
if (j == 1) {
map.put("0", "A");
}
if (j == 2) {
map.put("0", "B");
}
if (j == 3) {
map.put("0", "C");
}
if (j == 4) {
map.put("0", "D");
}
if (j == 5) {
map.put("0", "E");
}
if (j == 6) {
map.put("0", "F");
}
if (j == 7) {
map.put("0", "G");
}
if (j == 8) {
map.put("0", "H");
}
map.put("1", arrVOList.get(start + (8 * x + j) - 1).getValue());
x++;
map.put("2", arrVOList.get(start + (8 * x + j) - 1).getValue());
x++;
map.put("3", arrVOList.get(start + (8 * x + j) - 1).getValue());
x++;
map.put("4", arrVOList.get(start + (8 * x + j) - 1).getValue());
x++;
map.put("5", arrVOList.get(start + (8 * x + j) - 1).getValue());
x++;
map.put("6", arrVOList.get(start + (8 * x + j) - 1).getValue());
x++;
map.put("7", arrVOList.get(start + (8 * x + j) - 1).getValue());
x++;
map.put("8", arrVOList.get(start + (8 * x + j) - 1).getValue());
x++;
map.put("9", arrVOList.get(start + (8 * x + j) - 1).getValue());
x++;
map.put("10", arrVOList.get(start + (8 * x + j) - 1).getValue());
x++;
map.put("11", arrVOList.get(start + (8 * x + j) - 1).getValue());
x++;
map.put("12", arrVOList.get(start + (8 * x + j) - 1).getValue());
}
resultList2.add(map);
}
}
result.put("list2", resultList2);
url = LDuoreportPrint; url = LDuoreportPrint;
} }
// 口蹄疫非兰所 // 口蹄疫非兰所
else { else {
List<ExamineDataArrVO> arrVOList = JSON.parseArray(examineResult.getOriginRecordData(), ExamineDataArrVO.class);
Collections.sort(arrVOList, new Comparator<ExamineDataArrVO>() {
@Override
public int compare(ExamineDataArrVO o1, ExamineDataArrVO o2) {
return o1.getOrder() - o2.getOrder();
}
});
if (list.size() > 0) { if (list.size() > 0) {
for (int i = 0; i < list.size() / 96; i++) { for (int i = 0; i < list.size() / 96; i++) {
List<Double> doubles = new ArrayList<>(); // List<Double> doubles = new ArrayList<>();
double a1 = Double.parseDouble(list.get((i + 1) * 96 - 1).getValue()); // double a1 = Double.parseDouble(list.get((i + 1) * 96 - 1).getValue());
double a2 = Double.parseDouble(list.get((i + 1) * 96 - 2).getValue()); // double a2 = Double.parseDouble(list.get((i + 1) * 96 - 2).getValue());
double a3 = Double.parseDouble(list.get((i + 1) * 96 - 3).getValue()); // double a3 = Double.parseDouble(list.get((i + 1) * 96 - 3).getValue());
double a4 = Double.parseDouble(list.get((i + 1) * 96 - 4).getValue()); // double a4 = Double.parseDouble(list.get((i + 1) * 96 - 4).getValue());
doubles.add(a1); // doubles.add(a1);
doubles.add(a2); // doubles.add(a2);
doubles.add(a3); // doubles.add(a3);
doubles.add(a4); // doubles.add(a4);
List<Double> collect = doubles.stream().sorted().collect(Collectors.toList()); // List<Double> collect = doubles.stream().sorted().collect(Collectors.toList());
String format2 = df.format((collect.get(1) + collect.get(2)) / 4); // String format2 = df.format((collect.get(1) + collect.get(2)) / 4);
ExamineDataArrVO examineDataArrVO = new ExamineDataArrVO(); // ExamineDataArrVO examineDataArrVO = new ExamineDataArrVO();
examineDataArrVO.setNum("临界值"); // examineDataArrVO.setNum("临界值");
examineDataArrVO.setValue(""); // examineDataArrVO.setValue("");
examineDataArrVO.setResult(format2); // examineDataArrVO.setResult(format2);
list1.add(examineDataArrVO); // list1.add(examineDataArrVO);
for (int j = 0; j < 96; j++) { for (int j = 0; j < 96; j++) {
ExamineDataArrVO vo = list.get((i * 96) + j); ExamineDataArrVO vo = list.get((i * 96) + j);
if (vo.getNum() != null) { if (vo.getNum() != null) {
@ -970,47 +1160,46 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
for (int i = 0; i < list1.size() / 3; i++) { for (int i = 0; i < list1.size() / 3; i++) {
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
map.put("num1", list1.get(i).getNum()); map.put("num1", list1.get(i).getNum());
map.put("value1", list1.get(i).getValue());
map.put("result1", list1.get(i).getResult()); map.put("result1", list1.get(i).getResult());
map.put("log1", list1.get(i).getLog2());
map.put("num2", list1.get(list1.size() / 3 + i).getNum()); map.put("num2", list1.get(list1.size() / 3 + i).getNum());
map.put("value2", list1.get(list1.size() / 3 + i).getValue());
map.put("result2", list1.get(list1.size() / 3 + i).getResult()); map.put("result2", list1.get(list1.size() / 3 + i).getResult());
map.put("log2", list1.get(list1.size() / 3 + i).getLog2());
map.put("num3", list1.get(list1.size() / 3 * 2 + i).getNum()); map.put("num3", list1.get(list1.size() / 3 * 2 + i).getNum());
map.put("value3", list1.get(list1.size() / 3 * 2 + i).getValue());
map.put("result3", list1.get(list1.size() / 3 * 2 + i).getResult()); map.put("result3", list1.get(list1.size() / 3 * 2 + i).getResult());
map.put("log3", list1.get(list1.size() / 3 * 2 + i).getLog2());
resultList1.add(map); resultList1.add(map);
} }
} else { } else {
for (int i = 0; i < list1.size() / 3 + 1; i++) { for (int i = 0; i < list1.size() / 3 + 1; i++) {
if (list1.size() % 3 == 1) { if (list1.size() % 3 == 1) {
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
map.put("num1", list1.get(i).getNum()); map.put("num1", list1.get(i).getNum());
map.put("value1", list1.get(i).getValue());
map.put("result1", list1.get(i).getResult()); map.put("result1", list1.get(i).getResult());
map.put("log1", list1.get(i).getLog2());
if (i < list1.size() / 3) { if (i < list1.size() / 3) {
map.put("num2", list1.get(list1.size() / 3 + i + 1).getNum()); map.put("num2", list1.get(list1.size() / 3 + i + 1).getNum());
map.put("value2", list1.get(list1.size() / 3 + i + 1).getValue());
map.put("result2", list1.get(list1.size() / 3 + i + 1).getResult()); map.put("result2", list1.get(list1.size() / 3 + i + 1).getResult());
map.put("log2", list1.get(list1.size() / 3 + i + 1).getLog2());
map.put("num3", list1.get(list1.size() / 3 * 2 + i + 1).getNum()); map.put("num3", list1.get(list1.size() / 3 * 2 + i + 1).getNum());
map.put("value3", list1.get(list1.size() / 3 * 2 + i + 1).getValue());
map.put("result3", list1.get(list1.size() / 3 * 2 + i + 1).getResult()); map.put("result3", list1.get(list1.size() / 3 * 2 + i + 1).getResult());
map.put("log3", list1.get(list1.size() / 3 * 2 + i + 1).getLog2());
} }
resultList1.add(map); resultList1.add(map);
} else if (list1.size() % 3 == 2) { } else if (list1.size() % 3 == 2) {
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
map.put("num1", list1.get(i).getNum()); map.put("num1", list1.get(i).getNum());
map.put("value1", list1.get(i).getValue());
map.put("result1", list1.get(i).getResult()); map.put("result1", list1.get(i).getResult());
map.put("log1", list1.get(i).getLog2());
map.put("num2", list1.get(list1.size() / 3 + i + 1).getNum()); map.put("num2", list1.get(list1.size() / 3 + i + 1).getNum());
map.put("value2", list1.get(list1.size() / 3 + i + 1).getValue());
map.put("result2", list1.get(list1.size() / 3 + i + 1).getResult()); map.put("result2", list1.get(list1.size() / 3 + i + 1).getResult());
map.put("log2", list1.get(list1.size() / 3 + i + 1).getLog2());
if (i < list1.size() / 3) { if (i < list1.size() / 3) {
map.put("num3", list1.get(list1.size() / 3 * 2 + i + 2).getNum()); map.put("num3", list1.get(list1.size() / 3 * 2 + i + 2).getNum());
map.put("value3", list1.get(list1.size() / 3 * 2 + i + 2).getValue());
map.put("result3", list1.get(list1.size() / 3 * 2 + i + 2).getResult()); map.put("result3", list1.get(list1.size() / 3 * 2 + i + 2).getResult());
map.put("log3", list1.get(list1.size() / 3 * 2 + i + 2).getLog2());
} }
resultList1.add(map); resultList1.add(map);
} }
@ -1018,10 +1207,7 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
} }
result.put("list1", resultList1); result.put("list1", resultList1);
} }
url = LDuoreportPrint; for (int i = 0; i < (arrVOList.size() / 96); i++) {
}
for (int i = 0; i < (list.size() / 96); i++) {
int start = i * 96; int start = i * 96;
if (i == 0) { if (i == 0) {
start = 0; start = 0;
@ -1043,7 +1229,8 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
map.put("10", "10"); map.put("10", "10");
map.put("11", "11"); map.put("11", "11");
map.put("12", "12"); map.put("12", "12");
} else { }
else {
if (j == 1) { if (j == 1) {
map.put("0", "A"); map.put("0", "A");
} }
@ -1068,34 +1255,36 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
if (j == 8) { if (j == 8) {
map.put("0", "H"); map.put("0", "H");
} }
map.put("1", list.get(start + (8 * x + j) - 1).getValue()); map.put("1", arrVOList.get(start + (8 * x + j) - 1).getValue());
x++; x++;
map.put("2", list.get(start + (8 * x + j) - 1).getValue()); map.put("2", arrVOList.get(start + (8 * x + j) - 1).getValue());
x++; x++;
map.put("3", list.get(start + (8 * x + j) - 1).getValue()); map.put("3", arrVOList.get(start + (8 * x + j) - 1).getValue());
x++; x++;
map.put("4", list.get(start + (8 * x + j) - 1).getValue()); map.put("4", arrVOList.get(start + (8 * x + j) - 1).getValue());
x++; x++;
map.put("5", list.get(start + (8 * x + j) - 1).getValue()); map.put("5", arrVOList.get(start + (8 * x + j) - 1).getValue());
x++; x++;
map.put("6", list.get(start + (8 * x + j) - 1).getValue()); map.put("6", arrVOList.get(start + (8 * x + j) - 1).getValue());
x++; x++;
map.put("7", list.get(start + (8 * x + j) - 1).getValue()); map.put("7", arrVOList.get(start + (8 * x + j) - 1).getValue());
x++; x++;
map.put("8", list.get(start + (8 * x + j) - 1).getValue()); map.put("8", arrVOList.get(start + (8 * x + j) - 1).getValue());
x++; x++;
map.put("9", list.get(start + (8 * x + j) - 1).getValue()); map.put("9", arrVOList.get(start + (8 * x + j) - 1).getValue());
x++; x++;
map.put("10", list.get(start + (8 * x + j) - 1).getValue()); map.put("10", arrVOList.get(start + (8 * x + j) - 1).getValue());
x++; x++;
map.put("11", list.get(start + (8 * x + j) - 1).getValue()); map.put("11", arrVOList.get(start + (8 * x + j) - 1).getValue());
x++; x++;
map.put("12", list.get(start + (8 * x + j) - 1).getValue()); map.put("12", arrVOList.get(start + (8 * x + j) - 1).getValue());
} }
resultList2.add(map); resultList2.add(map);
} }
} }
result.put("list2", resultList2); result.put("list2", resultList2);
url = LDuoreportPrint;
}
} }
// 普通检测 // 普通检测
else { else {
@ -2299,7 +2488,7 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
List<Map<String, Object>> list = entrust.getSimpleNames(); List<Map<String, Object>> list = entrust.getSimpleNames();
// 样品排序 // 样品排序
for (int sort = 1; sort < list.size(); sort++) { for (int sort = 0; sort < list.size(); sort++) {
Map<String, Object> map = list.get(sort); Map<String, Object> map = list.get(sort);
// 样品名称 // 样品名称
String name = (String) map.get("simpleName"); String name = (String) map.get("simpleName");

Loading…
Cancel
Save