فهرست منبع

补偿协议数据对齐校验

qianxb 1 سال پیش
والد
کامیت
0f690d0336

+ 23 - 0
blade-service/blade-land/src/main/java/org/springblade/land/service/impl/CompensationInfoServiceImpl.java

@@ -262,6 +262,10 @@ public class CompensationInfoServiceImpl extends BaseServiceImpl<CompensationInf
         BigDecimal a4 = new BigDecimal(0);
         //户主姓名(协议名称)
         Set<String> str = new HashSet<>();
+        //身份证长度
+        int size1 = 0;
+        //银行账号长度
+        int size2 = 0;
         CompensationInfo info = new CompensationInfo();
         info.setId(id);
         //查看当前表单是否配置统计值
@@ -344,18 +348,30 @@ public class CompensationInfoServiceImpl extends BaseServiceImpl<CompensationInf
                             //当前统计值
                             try {
                                 if (dict.equals(80)) {
+                                    //户主姓名
                                     List<String> list = vos.stream().sorted(Comparator.comparing(TableDataVO::getDictRow)).map(l -> l.getTabVal()).collect(Collectors.toList());
                                     str.addAll(list);
+                                }else if (dict.equals(81)){
+                                    //身份证
+                                    size1 = vos.size();
                                 } else if (dict.equals(82)) {
+                                    //土地
                                     b1 = b1.add(vos.stream().map(l -> new BigDecimal(l.getTabVal())).reduce(BigDecimal.valueOf(0), BigDecimal::add));
                                 } else if (dict.equals(83)) {
+                                    //青苗
                                     b2 = b2.add(vos.stream().map(l -> new BigDecimal(l.getTabVal())).reduce(BigDecimal.valueOf(0), BigDecimal::add));
                                 } else if (dict.equals(84)) {
+                                    //地面
                                     b3 = b3.add(vos.stream().map(l -> new BigDecimal(l.getTabVal())).reduce(BigDecimal.valueOf(0), BigDecimal::add));
                                 } else if (dict.equals(85)){
+                                    //时段
                                     b4 = b4.add(vos.stream().map(l -> new BigDecimal(l.getTabVal())).reduce(BigDecimal.valueOf(0), BigDecimal::add));
                                 } else if (dict.equals(86)) {
+                                    //补偿合计
                                     b5 = b5.add(vos.stream().map(l -> new BigDecimal(l.getTabVal())).reduce(BigDecimal.valueOf(0), BigDecimal::add));
+                                } else if (dict.equals(87)){
+                                    //银行卡
+                                    size2 = vos.size();
                                 }
                             } catch (Exception e) {
                                 throw new ServiceException("金额字段不能包含其他字符,请重新填写");
@@ -363,6 +379,13 @@ public class CompensationInfoServiceImpl extends BaseServiceImpl<CompensationInf
                         }
                     }
                 }
+                //校验数据
+                if (str.size() != size1){
+                    throw new ServiceException("身份证信息请填写完整");
+                }
+                if (str.size() != size2){
+                    throw new ServiceException("银行卡信息请填写完整");
+                }
                 //设置名称
                 if (str.size() > 0){
                     info.setName(Joiner.on(",").join(str));