| | |
| | | //要看是不是补位的 |
| | | CodeBasicSecVO secVO = secVOMap.get(secOid); |
| | | Double serialDb = null; |
| | | // 截取掉前后缀之后的码段 |
| | | String subSecValue = killPriffixSuffix(secValue, secVO.getPrefixCode(), secVO.getSuffixCode()); |
| | | if(OsCodeFillTypeEnum.NONE.getValue().equalsIgnoreCase(secVO.getCodeFillType())){ |
| | | //不补码 |
| | | //把所有不是数字的去掉,因为可能会是老数据,新规则 |
| | | serialDb = VciBaseUtil.getDouble(killUnNumberChar(secValue)); |
| | | serialDb = VciBaseUtil.getDouble(killUnNumberChar(subSecValue)); |
| | | }else { |
| | | //左右填充的,我们需要 |
| | | serialDb = VciBaseUtil.getDouble(killUnNumberChar(killFillChar(secValue,secVO.getCodeFillSeparator(), |
| | | serialDb = VciBaseUtil.getDouble(killUnNumberChar(killFillChar(subSecValue,secVO.getCodeFillSeparator(), |
| | | OsCodeFillTypeEnum.LEFT.getValue().equalsIgnoreCase(secVO.getCodeFillType())))); |
| | | } |
| | | Map<String, Double> thisUnitMaxMap = maxSerialMap.getOrDefault(serialUnitString, new HashMap<>()); |
| | |
| | | for (int j = 0; j < serialUnitList.size(); j++) { |
| | | String secValue = serialUnitList.get(j); |
| | | if (secValue.equalsIgnoreCase("${attr_" + attrSevVO.getOid() + "}")) { |
| | | serialUnitList.set(j, value); |
| | | serialUnitList.set(j, joinPreffixAndSuffix(attrSevVO,value)); |
| | | } |
| | | } |
| | | } |
| | |
| | | } |
| | | |
| | | /** |
| | | * 去掉前后缀 |
| | | * @param secValue 字符 |
| | | * @param priffix 前缀 |
| | | * @param suffix 后缀 |
| | | * @return 替换后的值 |
| | | */ |
| | | private String killPriffixSuffix(String secValue, String priffix,String suffix){ |
| | | if (priffix != null && secValue.startsWith(priffix)) { |
| | | secValue = secValue.substring(priffix.length()); |
| | | } |
| | | if (suffix != null && secValue.endsWith(suffix)) { |
| | | secValue = secValue.substring(0, secValue.length() - suffix.length()); |
| | | } |
| | | return secValue; |
| | | } |
| | | |
| | | /** |
| | | * 去除补位字符 |
| | | * @param s 字符 |
| | | * @param fillString 补位字符 |