|
@@ -25,6 +25,7 @@ import org.slf4j.LoggerFactory;
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
|
import java.util.*;
|
|
|
+import java.util.regex.Pattern;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
import static com.rongwei.zhsw.system.utils.ZHSWCommonUtils.getCurrentUser;
|
|
@@ -135,6 +136,13 @@ public class UserManagementRecordListener extends AnalysisEventListener<ImportUs
|
|
|
SwUserManagementDo saveUserDo=null;
|
|
|
BigDecimal meterMaxValue = new BigDecimal("9999");
|
|
|
BigDecimal zero = BigDecimal.ZERO;
|
|
|
+ //册号提示
|
|
|
+ List<String> volumenoAccountList = new ArrayList<>();
|
|
|
+ //余额
|
|
|
+ List<String> accountbalanceAccountList = new ArrayList();
|
|
|
+ // 正则表达式匹配整数和小数,包括正负数
|
|
|
+ String pattern = "^[+-]?\\d+(\\.\\d+)?$";
|
|
|
+ Pattern r = Pattern.compile(pattern);
|
|
|
for (ImportUserManagementRecordVo recordVo:recordList){
|
|
|
saveUserDo = new SwUserManagementDo();
|
|
|
saveUserDo.setId(SecurityUtil.getUUID());
|
|
@@ -142,7 +150,7 @@ public class UserManagementRecordListener extends AnalysisEventListener<ImportUs
|
|
|
saveUserDo.setUsername(recordVo.getUsername());
|
|
|
saveUserDo.setStatus("enable");
|
|
|
|
|
|
- saveUserDo.setAccountbalance(recordVo.getAccountbalance());
|
|
|
+
|
|
|
saveUserDo.setBldg(recordVo.getBldg());
|
|
|
saveUserDo.setUnitnum(recordVo.getUnitnum());
|
|
|
saveUserDo.setHouseno(recordVo.getHouseno());
|
|
@@ -153,20 +161,24 @@ public class UserManagementRecordListener extends AnalysisEventListener<ImportUs
|
|
|
//LASTMETERREADING 最近抄表读数 默认= 0
|
|
|
saveUserDo.setLastmeterreading(zero);
|
|
|
|
|
|
+
|
|
|
+ if(r.matcher(recordVo.getAccountbalance()).matches()){
|
|
|
+ saveUserDo.setAccountbalance(new BigDecimal(recordVo.getAccountbalance()));
|
|
|
+ }else {
|
|
|
+ accountbalanceAccountList.add(recordVo.getUsernumber());
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
//册号
|
|
|
saveUserDo.setVolumeno(recordVo.getVolumeno());
|
|
|
- saveUserDo.setVolumenoid(Optional.ofNullable(volumenoMap.get(recordVo.getVolumeno()))
|
|
|
- .orElse(new ArrayList<>())
|
|
|
- .stream()
|
|
|
- .findFirst()
|
|
|
- .map(SwBookManagementDo::getId)
|
|
|
- .orElse(null));
|
|
|
- saveUserDo.setVillagename(Optional.ofNullable(volumenoMap.get(recordVo.getVolumeno()))
|
|
|
- .orElse(new ArrayList<>())
|
|
|
- .stream()
|
|
|
- .findFirst()
|
|
|
- .map(SwBookManagementDo::getVillagename)
|
|
|
- .orElse(null));
|
|
|
+ if(volumenoMap.get(recordVo.getVolumeno())!=null && !volumenoMap.get(recordVo.getVolumeno()).isEmpty()){
|
|
|
+ saveUserDo.setVolumenoid(volumenoMap.get(recordVo.getVolumeno()).get(0).getId());
|
|
|
+ saveUserDo.setVillagename(volumenoMap.get(recordVo.getVolumeno()).get(0).getVillagename());
|
|
|
+ }else {
|
|
|
+ volumenoAccountList.add(recordVo.getUsernumber());
|
|
|
+ }
|
|
|
+
|
|
|
saveUserDo.setAddress(recordVo.getAddress());
|
|
|
saveUserDo.setPhonenumber(recordVo.getPhonenumber());
|
|
|
|
|
@@ -219,6 +231,14 @@ public class UserManagementRecordListener extends AnalysisEventListener<ImportUs
|
|
|
ZHSWCommonUtils.initModelGeneralParameters(saveUserDo, currentUser);
|
|
|
saveList.add(saveUserDo);
|
|
|
};
|
|
|
+ if (!volumenoAccountList.isEmpty()){
|
|
|
+ throw new CustomException(
|
|
|
+ String.join("、",volumenoAccountList) +" 户号对应册号不存在,请检查后重新导入");
|
|
|
+ }
|
|
|
+ if (!accountbalanceAccountList.isEmpty()){
|
|
|
+ throw new CustomException(
|
|
|
+ String.join("、",volumenoAccountList) +" 户号对应账户余额格式错误,请检查后重新导入");
|
|
|
+ }
|
|
|
}
|
|
|
// 获取Excel 中的数据
|
|
|
public List<SwUserManagementDo> getData() {
|