Commit 96e39f74 by lijingjing

处理原铝重取编号获取问题;

parent 8d9e401a
......@@ -1497,6 +1497,9 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
// 获取检测项目指标数据
List<Map<String, Object>> dataList;
// 将原铝重取的编号以map形式处理
Map<String, Long> retakeMap = new HashMap<>(16);
// 此处原铝的和铝成品的查询分开了,实际上只用原铝的即可,铝成品的重写是为了不再对比重取数据
if (Objects.equals(ylname, sampleName)) {
// 当为原铝时,判断是否存在重取,如果存在重取,需要在重取时触发,也就是下个条件下触发,如果不存在重取,那么直接发
......@@ -1518,11 +1521,12 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
//Y2112052110C2
//测试环境中,原铝重取可能并不是同一天生成的,"Y" + DateUtils.dateTransfer(sample.getCtime(), "yyMMdd") + "-" + sample.getSlotNo().trim();
//根据样品编号,查询出委托id
List<String> sampleCodes = sampleCodeHandle(sampleList);
List<String> sampleCodes = sampleCodeHandle(sampleList, retakeMap);
RestAssert.fail(CollectionUtils.isEmpty(sampleCodes), "根据重取编号获取的原铝编号为空!");
List<Long> entrustIds = entrustSampleService.getEntrustIdsBySampleCodes(sampleCodes);
logger.error("entrust id is : {}", entrustIds);
// 基本上不可能为空的
if (CollectionUtils.isEmpty(entrustIds)) {
log("根据样品编号获取委托id失败");
......@@ -1530,6 +1534,7 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
}
// 根据委托去查询,也只能根据委托去查询
dataList = entrustSampleItemIndexService.listSampleItemIndex(entrustIds, null);
} else {
dataList = entrustSampleItemIndexService.listCpSampleItemIndex(null, ids);
}
......@@ -1540,9 +1545,19 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
// 根据有无ID判断是属于哪一种数据来源
Object oid = t.get("id"), obrand = t.get("brand");
logger.error("循环处理牌号:样品id:{},牌号:{}", oid, obrand);
if (Objects.nonNull(oid) && (Objects.isNull(obrand) || StringUtils.isBlank(obrand.toString()))) {
if (Objects.nonNull(oid)) {
Long sampleId = Long.valueOf(oid.toString());
t.put("brand", sampleBrandMap.get(sampleId));
String sampleCode = t.get("sample_code").toString();
// 重取ID
Long retakeSampleId = retakeMap.get(sampleCode);
// 若根据重取id可以获取到值,就需要用重取的样品编号取值
if (Objects.nonNull(retakeSampleId)) {
sampleId = retakeSampleId;
}
String brand = "";
if (StringUtils.isNotBlank(brand = sampleBrandMap.get(sampleId))) {
t.put("brand", brand);
}
t.remove("id");
} else {
String testTimeStr = t.get("test_time").toString();
......@@ -1551,6 +1566,7 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
t.put("shift", DateKit.getShiftByDate(testTime));
}
}
logger.error("DATA_ITEM: {}", t);
});
try {
log("准备发送数据");
......@@ -1561,7 +1577,7 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
}
}
private List<String> sampleCodeHandle(List<EntrustSample> samples) {
private List<String> sampleCodeHandle(List<EntrustSample> samples, Map<String, Long> retakeMap) {
List<String> codeList = new ArrayList<>();
for (EntrustSample sample : samples) {
String sampleCode = sample.getCode(), prefix = "Y";
......@@ -1573,6 +1589,7 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
sampleCode = sampleCode.substring(0, 7) + "-" + sample.getSlotNo().trim();
}
codeList.add(sampleCode);
retakeMap.put(sampleCode, sample.getId());
}
return codeList;
}
......
......@@ -2381,7 +2381,7 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe
if (CollectionUtils.isEmpty(sampleCodes)) {
return null;
}
return super.getObjs(Condition.create().setSqlSelect("entrust_id").in("code", sampleCodes));
return super.getObjs(Condition.create().setSqlSelect("distinct entrust_id").in("code", sampleCodes));
}
......
......@@ -159,9 +159,7 @@ public class ItemComparisonServiceImpl extends BaseServiceImpl<ItemComparisonMap
return false;
}
// ==
comparisonList.forEach(item -> {
item.setUid(account.getUserId()).setCompanyId(account.getCompanyId());
});
comparisonList.forEach(item -> item.setUid(account.getUserId()).setCompanyId(account.getCompanyId()));
ItemComparison comparison = comparisonList.get(0);
queryDTO.setQueryDate(DateUtils.str2Date(comparison.getCompareDate()));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment