| | |
| | | // 来样方式 |
| | | String formType = iSysDictTypeService.selectLabelByDict(DictDataConstants.FORM_TYPE, insOrder.getFormType()); |
| | | |
| | | // 样品状态 |
| | | String sampleStatus = iSysDictTypeService.selectLabelByDict(DictDataConstants.SAMPLE_STATUS_LIST, insOrder.getSampleStatus()); |
| | | ; |
| | | // 样品外观优先展示字典名称;历史数据或直接保存文本时,回退展示订单原值。 |
| | | String sampleStatus = defaultReportText( |
| | | iSysDictTypeService.selectLabelByDict( |
| | | DictDataConstants.SAMPLE_STATUS_LIST, insOrder.getSampleStatus()), |
| | | insOrder.getSampleStatus()); |
| | | |
| | | // 公司信息 |
| | | Custom custom = customMapper.selectById(insOrder.getCompanyId()); |
| | |
| | | |
| | | Map<String, String> row = new LinkedHashMap<>(); |
| | | row.put("seq", String.valueOf(sequence++)); |
| | | row.put("itemName", defaultReportText(itemName, |
| | | defaultReportText(snapshot.getName(), "模板ID " + snapshot.getTemplateId()))); |
| | | String reportItemName = defaultReportText(itemName, |
| | | defaultReportText(snapshot.getName(), "模板ID " + snapshot.getTemplateId())); |
| | | row.put("itemName", formatExportItemName(reportItemName)); |
| | | row.put("unit", defaultReportText(unit, "/")); |
| | | row.put("result", result); |
| | | rows.add(row); |
| | |
| | | } |
| | | } |
| | | if (numbers.isEmpty()) { |
| | | return StringUtils.isBlank(fallback) ? "" : fallback + unit; |
| | | // “/”表示模板明确填写了不适用,不能再按空值处理或追加单位。 |
| | | return candidates.stream() |
| | | .filter(StringUtils::isNotBlank) |
| | | .map(String::trim) |
| | | .distinct() |
| | | .collect(Collectors.joining("~")); |
| | | } |
| | | BigDecimal minimum = Collections.min(numbers); |
| | | BigDecimal maximum = Collections.max(numbers); |
| | |
| | | return minimumText + "~" + maximum.stripTrailingZeros().toPlainString() + unit; |
| | | } |
| | | |
| | | /** 报告项目名称不展示模板计算过程中的“平均值”字样及其后的分隔逗号。 */ |
| | | private static String formatExportItemName(String itemName) { |
| | | if (StringUtils.isBlank(itemName)) { |
| | | return itemName; |
| | | } |
| | | return itemName.replaceAll("平均值\\s*[,,]?\\s*", ""); |
| | | } |
| | | |
| | | private static String getMapText(Map<String, String> map, String... keys) { |
| | | if (map == null) { |
| | | return null; |