|
@@ -13,10 +13,7 @@ import com.lantone.structure.util.MapUtil;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.HashMap;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
+import java.util.*;
|
|
|
import java.util.regex.Matcher;
|
|
|
import java.util.regex.Pattern;
|
|
|
|
|
@@ -155,11 +152,14 @@ public class OperationRecordDocTran extends TargetTran {
|
|
|
// if (operationRecordLabel.getDrainageMaterialsAmounts().size() > 1) {
|
|
|
// drainageMaterialsAmountString.append((placePositionCount++) + ".");
|
|
|
// }
|
|
|
- addAmount(drainageMaterialsAmountString, drainageMaterialsAmounts.getName());
|
|
|
+
|
|
|
drainageMaterialsAmountString.append(drainageMaterialsAmounts.getName() + "、");
|
|
|
}
|
|
|
}
|
|
|
- retMap.put("引流材料数目", drainageMaterialsAmountString.toString());
|
|
|
+ Integer integer = addAmount(drainageMaterialsAmountString);
|
|
|
+ if(null != integer){
|
|
|
+ retMap.put("引流材料数目",integer+"根");
|
|
|
+ }
|
|
|
}
|
|
|
// if (operationRecordLabel.getDrainageMaterialsAmount() != null && StringUtils.isNotEmpty(operationRecordLabel.getDrainageMaterialsAmount().getName())) {
|
|
|
// retMap.put("引流材料数目", operationRecordLabel.getDrainageMaterialsAmount().getName());
|
|
@@ -170,10 +170,37 @@ public class OperationRecordDocTran extends TargetTran {
|
|
|
});
|
|
|
}
|
|
|
|
|
|
- private String addAmount(StringBuffer drainageMaterialsAmountString ,String str) {
|
|
|
-
|
|
|
+ private Integer addAmount(StringBuffer sb) {
|
|
|
+ if(StringUtil.isNotEmpty(sb.toString())){
|
|
|
+ List<Integer> list = new ArrayList<>();
|
|
|
+ String str = sb.toString();
|
|
|
+ if(str.contains("、")){
|
|
|
+ String[] split = str.split("、");
|
|
|
+ for (int i = 0; i < split.length; i++) {
|
|
|
+ String sc = parseStr(split[i]);
|
|
|
+ try {
|
|
|
+ Integer integer = Integer.valueOf(sc);
|
|
|
+ list.add(integer);
|
|
|
+ } catch (NumberFormatException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return list.stream().reduce(Integer::sum).get();
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
|
|
|
- return "";
|
|
|
+ private String parseStr(String sb) {
|
|
|
+ sb = sb.replace("根", "");
|
|
|
+ if(sb.equals("十")){
|
|
|
+ sb = "10";
|
|
|
+ }
|
|
|
+ if(sb.equals("二十")){
|
|
|
+ sb = "20";
|
|
|
+ }
|
|
|
+ sb = sb.replace("二十", "2").replace("十", "1").replace("一", "1").replace("二", "2").replace("三", "3").replace("四", "4").replace("五", "5").replace("六", "6").replace("七", "7").replace("八", "8").replace("九", "9");
|
|
|
+ return sb;
|
|
|
}
|
|
|
|
|
|
private Map<String, String> cutWord(String text) {
|
|
@@ -194,6 +221,10 @@ public class OperationRecordDocTran extends TargetTran {
|
|
|
if (StringUtil.isNotBlank(date)) {
|
|
|
sourceMap.put("主刀医生", dataStr.replace(date, ""));
|
|
|
sourceMap.put("签名日期时间", date);
|
|
|
+ }else{
|
|
|
+ if(dataStr.contains("年 月 日 时 分")){
|
|
|
+ sourceMap.put("主刀医生", dataStr.replace("年 月 日 时 分", ""));
|
|
|
+ }
|
|
|
}
|
|
|
} else if (sourceMap.containsKey("医生签名")) {
|
|
|
String dataStr = sourceMap.get("医生签名");
|