Sfoglia il codice sorgente

Merge branch 'dev' of http://git.xayunmei.com/SH-Arbitrate/Arbitrate-Backend into bgy

gy b 2 anni fa
parent
commit
69e6b062d7

+ 15
- 1
ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/AdjudicationController.java Vedi File

@@ -4,12 +4,15 @@ import com.ruoyi.common.core.controller.BaseController;
4 4
 import com.ruoyi.common.core.domain.AjaxResult;
5 5
 import com.ruoyi.wisdomarbitrate.domain.CaseApplication;
6 6
 import com.ruoyi.wisdomarbitrate.domain.vo.BookSendVO;
7
+import com.ruoyi.wisdomarbitrate.domain.vo.LogisticsInfoVO;
7 8
 import com.ruoyi.wisdomarbitrate.service.IAdjudicationService;
8 9
 import org.springframework.beans.factory.annotation.Autowired;
9 10
 import org.springframework.security.access.prepost.PreAuthorize;
10 11
 import org.springframework.validation.annotation.Validated;
11 12
 import org.springframework.web.bind.annotation.*;
12 13
 
14
+import java.util.List;
15
+
13 16
 @RestController
14 17
 @RequestMapping("/adjudication")
15 18
 public class AdjudicationController extends BaseController {
@@ -45,7 +48,8 @@ public class AdjudicationController extends BaseController {
45 48
     @GetMapping("/logistics")
46 49
     @PreAuthorize("@ss.hasPermi('delivery:detail')")
47 50
     public AjaxResult  getLogisticsInfo(CaseApplication caseApplication){
48
-        return adjudicationService.getLogisticsInfo(caseApplication);
51
+        List<LogisticsInfoVO> logisticsInfo = adjudicationService.getLogisticsInfo(caseApplication);
52
+        return AjaxResult.success(logisticsInfo);
49 53
     }
50 54
 
51 55
     /**
@@ -90,4 +94,14 @@ public class AdjudicationController extends BaseController {
90 94
     public AjaxResult stamp(@Validated @RequestBody CaseApplication caseApplication){
91 95
         return adjudicationService.stamp(caseApplication);
92 96
     }
97
+
98
+    /**
99
+     * 档案详情查询
100
+     * @param id 案件id
101
+     * @return
102
+     */
103
+    @GetMapping("/archives")
104
+    public AjaxResult getArchivesDetail(Long id){
105
+        return adjudicationService.getArchivesDetail(id);
106
+    }
93 107
 }

+ 3
- 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/CaseApplicationController.java Vedi File

@@ -108,6 +108,9 @@ public class CaseApplicationController extends BaseController {
108 108
     @PreAuthorize("@ss.hasPermi('caseManagement:list:import')")
109 109
     @PostMapping("/importData")
110 110
     public AjaxResult importData(MultipartFile file) throws Exception {
111
+        if(file==null){
112
+            return warn("请上传文件");
113
+        }
111 114
         ExcelUtil<CaseApplication> util = new ExcelUtil<CaseApplication>(CaseApplication.class);
112 115
         List<CaseApplication> caseApplicationList = util.importExcel(file.getInputStream());
113 116
         String operName = getUsername();

+ 16
- 16
ruoyi-common/src/main/java/com/ruoyi/common/utils/file/SaaSAPIFileUtils.java Vedi File

@@ -64,20 +64,20 @@ public class SaaSAPIFileUtils {
64 64
         return EsignHttpHelper.doCommHttp(eSignHost, apiaddr,requestType , jsonParm, header,true);
65 65
     }
66 66
 
67
-/*    public static void main(String[] args) throws EsignDemoException {
68
-        String filePath = "D:\\home\\ruoyi\\uploadPath\\upload\\2023\\10\\07\\6babb8e261454fffbacf6d9fd1589b9b.docx";
69
-        EsignHttpResponse uploadUrl = getUploadUrl(filePath);
70
-        String body = uploadUrl.getBody();
71
-        JSONObject jsonObject = new JSONObject(body);
72
-        JSONObject dataObj = jsonObject.getJSONObject("data");
73
-        String fileUploadUrl = dataObj.get("fileUploadUrl").toString();
74
-        System.out.println("这是fileUploadUrl:"+fileUploadUrl);
75
-        String fileId = dataObj.get("fileId").toString();
76
-        System.out.println("这是fileId:"+fileId);
77
-        EsignHttpResponse esignHttpResponse = uploadFile(fileUploadUrl, filePath);
78
-        System.out.println("这是上传文件流的结果:"+esignHttpResponse.getBody());
79
-        EsignHttpResponse fileStatus = getFileStatus(fileId);
80
-        System.out.println("这是获取文件上传状态的结果:"+fileStatus.getBody());
81
-        getFileStatus("95d0c307d91e4985bdb8874f6f84daa5");
82
-    }*/
67
+//  public static void main(String[] args) throws EsignDemoException {
68
+ //      String filePath = "D:\\home\\ruoyi\\uploadPath\\upload\\2023\\10\\7\\b442880179844a848f1f8b08c29e3d0c.docx";
69
+//        EsignHttpResponse uploadUrl = getUploadUrl(filePath);
70
+//        String body = uploadUrl.getBody();
71
+//        JSONObject jsonObject = new JSONObject(body);
72
+//        JSONObject dataObj = jsonObject.getJSONObject("data");
73
+//        String fileUploadUrl = dataObj.get("fileUploadUrl").toString();
74
+//        System.out.println("这是fileUploadUrl:"+fileUploadUrl);
75
+//        String fileId = dataObj.get("fileId").toString();
76
+//        System.out.println("这是fileId:"+fileId);
77
+//        EsignHttpResponse esignHttpResponse = uploadFile(fileUploadUrl, filePath);
78
+//        System.out.println("这是上传文件流的结果:"+esignHttpResponse.getBody());
79
+//       EsignHttpResponse fileStatus = getFileStatus(fileId);
80
+//        System.out.println("这是获取文件上传状态的结果:"+fileStatus.getBody());
81
+//        getFileStatus("a0c2ad21065f48ff8b872412c39d5d3a");
82
+//    }
83 83
 }

+ 10
- 0
ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/CaseApplication.java Vedi File

@@ -114,6 +114,16 @@ public class CaseApplication  extends BaseEntity {
114 114
     private Integer paymentStatus;
115 115
     /** 支付状态描述 */
116 116
     private String paymentStatusName;
117
+    // 导入校验失败信息
118
+    private StringBuilder errorMsg;
119
+
120
+    public StringBuilder getErrorMsg() {
121
+        return errorMsg;
122
+    }
123
+
124
+    public void setErrorMsg(StringBuilder errorMsg) {
125
+        this.errorMsg = errorMsg;
126
+    }
117 127
 
118 128
     public Integer getPaymentStatus() {
119 129
         return paymentStatus;

+ 24
- 0
ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/vo/ArchivesDetailVO.java Vedi File

@@ -0,0 +1,24 @@
1
+package com.ruoyi.wisdomarbitrate.domain.vo;
2
+
3
+import com.ruoyi.wisdomarbitrate.domain.CaseApplication;
4
+import com.ruoyi.wisdomarbitrate.domain.CaseLogRecord;
5
+import com.ruoyi.wisdomarbitrate.mapper.CaseLogRecordMapper;
6
+import lombok.Data;
7
+
8
+import java.util.List;
9
+
10
+@Data
11
+public class ArchivesDetailVO {
12
+    /**
13
+     * 案件信息
14
+     */
15
+    private CaseApplication caseApplication;
16
+    /**
17
+     * 案件日志信息
18
+     */
19
+    private List<CaseLogRecord> caseLogRecordList;
20
+    /**
21
+     * 快递信息
22
+     */
23
+    private List<LogisticsInfoVO> logisticsInfoVOList;
24
+}

+ 5
- 1
ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/IAdjudicationService.java Vedi File

@@ -2,13 +2,16 @@ package com.ruoyi.wisdomarbitrate.service;
2 2
 
3 3
 import com.ruoyi.common.core.domain.AjaxResult;
4 4
 import com.ruoyi.wisdomarbitrate.domain.CaseApplication;
5
+import com.ruoyi.wisdomarbitrate.domain.vo.LogisticsInfoVO;
6
+
7
+import java.util.List;
5 8
 
6 9
 public interface IAdjudicationService {
7 10
     AjaxResult createDocument(CaseApplication caseApplication);
8 11
 
9 12
     AjaxResult sendDocumentByEmail(Long id,String appEmail,String resEmail ,String apptrackingNum,String restrackingNum);
10 13
 
11
-    AjaxResult getLogisticsInfo(CaseApplication caseApplication);
14
+    List<LogisticsInfoVO> getLogisticsInfo(CaseApplication caseApplication);
12 15
 
13 16
     AjaxResult signature(CaseApplication caseApplication);
14 17
 
@@ -18,4 +21,5 @@ public interface IAdjudicationService {
18 21
 
19 22
     AjaxResult stamp(CaseApplication caseApplication);
20 23
 
24
+    AjaxResult getArchivesDetail(Long id);
21 25
 }

+ 35
- 5
ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/AdjudicationServiceImpl.java Vedi File

@@ -8,6 +8,7 @@ import com.ruoyi.wisdomarbitrate.utils.CaseLogUtils;
8 8
 import com.ruoyi.common.utils.EmailOutUtil;
9 9
 import com.ruoyi.common.utils.WordUtil;
10 10
 import com.ruoyi.wisdomarbitrate.domain.*;
11
+import com.ruoyi.wisdomarbitrate.domain.vo.ArchivesDetailVO;
11 12
 import com.ruoyi.wisdomarbitrate.domain.vo.LogisticsInfoVO;
12 13
 import com.ruoyi.wisdomarbitrate.mapper.ArbitrateRecordMapper;
13 14
 import com.ruoyi.wisdomarbitrate.mapper.CaseAffiliateMapper;
@@ -15,6 +16,7 @@ import com.ruoyi.wisdomarbitrate.mapper.CaseApplicationMapper;
15 16
 import com.ruoyi.wisdomarbitrate.mapper.CaseAttachMapper;
16 17
 import com.ruoyi.wisdomarbitrate.service.IAdjudicationService;
17 18
 import com.ruoyi.wisdomarbitrate.service.ICaseApplicationService;
19
+import com.ruoyi.wisdomarbitrate.service.ICaseLogRecordService;
18 20
 import lombok.extern.slf4j.Slf4j;
19 21
 import org.springframework.beans.factory.annotation.Autowired;
20 22
 import org.springframework.mail.MailSendException;
@@ -50,6 +52,8 @@ public class AdjudicationServiceImpl implements IAdjudicationService {
50 52
     private EmailOutUtil emailOutUtil;
51 53
     @Autowired
52 54
     private ICaseApplicationService caseApplicationService;
55
+    @Autowired
56
+    private ICaseLogRecordService caseLogRecordService;
53 57
 
54 58
     @Override
55 59
     public AjaxResult createDocument(CaseApplication caseApplication) {
@@ -246,7 +250,7 @@ public class AdjudicationServiceImpl implements IAdjudicationService {
246 250
     }
247 251
 
248 252
     @Override
249
-    public AjaxResult getLogisticsInfo(CaseApplication caseApplication) {
253
+    public List<LogisticsInfoVO> getLogisticsInfo(CaseApplication caseApplication) {
250 254
         try {
251 255
             //快递单号查询
252 256
             String key = "729437f92468910aee6c12dbfeaee3c1";
@@ -291,11 +295,11 @@ public class AdjudicationServiceImpl implements IAdjudicationService {
291 295
                             }
292 296
                         } else {
293 297
                             // 请求失败
294
-                            return AjaxResult.error("请求失败,错误码:" + responseCode);
298
+                            return null;
295 299
                         }
296 300
                     }
297 301
                 }
298
-                return AjaxResult.success(logisticsInfoVOList);
302
+                return logisticsInfoVOList;
299 303
             }
300 304
         } catch (IOException e) {
301 305
             e.printStackTrace();
@@ -370,7 +374,32 @@ public class AdjudicationServiceImpl implements IAdjudicationService {
370 374
         return AjaxResult.success("用印成功,案件状态已改为待仲裁文书送达");
371 375
     }
372 376
 
373
-    public static void main(String[] args) {
377
+    @Override
378
+    public AjaxResult getArchivesDetail(Long id) {
379
+        ArchivesDetailVO archivesDetailVO = new ArchivesDetailVO();
380
+        CaseApplication caseApplication = new CaseApplication();
381
+        caseApplication.setId(id);
382
+        //查询案件信息
383
+        CaseApplication caseApplication1 = caseApplicationService.selectCaseApplication(caseApplication);
384
+        if (caseApplication1 != null) {
385
+            archivesDetailVO.setCaseApplication(caseApplication1);
386
+        }
387
+        //查询案件日志信息
388
+        CaseLogRecord caseLogRecord = new CaseLogRecord();
389
+        caseLogRecord.setCaseAppliId(id);
390
+        List<CaseLogRecord> caseLogRecords = caseLogRecordService.selectCaseLogRecordList(caseLogRecord);
391
+        if (caseLogRecords != null && caseLogRecords.size() > 0) {
392
+            archivesDetailVO.setCaseLogRecordList(caseLogRecords);
393
+        }
394
+        //查询快递信息
395
+        List<LogisticsInfoVO> logisticsInfo = this.getLogisticsInfo(caseApplication);
396
+        if (logisticsInfo != null && logisticsInfo.size() > 0) {
397
+            archivesDetailVO.setLogisticsInfoVOList(logisticsInfo);
398
+        }
399
+        return AjaxResult.success(archivesDetailVO);
400
+    }
401
+
402
+    /*public static void main(String[] args) {
374 403
         try {
375 404
             List<File> fileList = new ArrayList<>();
376 405
             fileList.add(new File("D:\\home\\ruoyi\\uploadPath\\upload\\2023\\10\\7\\b442880179844a848f1f8b08c29e3d0c.docx"));
@@ -385,5 +414,6 @@ public class AdjudicationServiceImpl implements IAdjudicationService {
385 414
         } catch (MailSendException e) {
386 415
             e.printStackTrace();
387 416
         }
388
-    }
417
+    }*/
418
+
389 419
 }

+ 250
- 18
ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CaseApplicationServiceImpl.java Vedi File

@@ -24,6 +24,7 @@ import org.springframework.transaction.annotation.Transactional;
24 24
 import java.math.BigDecimal;
25 25
 import java.text.SimpleDateFormat;
26 26
 import java.util.*;
27
+import java.util.regex.Pattern;
27 28
 import java.util.stream.Collectors;
28 29
 
29 30
 import static com.ruoyi.common.utils.SecurityUtils.getUsername;
@@ -46,7 +47,8 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
46 47
     private CaseAttachMapper caseAttachMapper;
47 48
     @Autowired
48 49
     private SysDeptMapper sysDeptMapper;
49
-
50
+    // 手机号正则
51
+    private static final Pattern TELEPHONE_REGX =  Pattern.compile("^1(3\\d|4[5-9]|5[0-35-9]|6[2567]|7[0-8]|8\\d|9[0-35-9])\\d{8}$");
50 52
 
51 53
 
52 54
 
@@ -305,16 +307,21 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
305 307
             List<CaseApplication> caseApplicationListinsert = new ArrayList<>();
306 308
             for (int i = 0; i < caseApplicationList.size(); i++){
307 309
                 CaseApplication caseApplication = caseApplicationList.get(i);
308
-                //根据仲裁费用计费规则计算应缴费用
309
-                //暂时设置计费比率为0.01
310
-                BigDecimal feeRate = new BigDecimal(0.01);
311
-                BigDecimal feePayable  = caseApplication.getCaseSubjectAmount().multiply(feeRate).setScale(2,BigDecimal.ROUND_HALF_UP);
312
-                caseApplication.setFeePayable(feePayable);
313 310
 
314
-                //赋值CaseApplication的案件关联人信息
315
-                List<CaseAffiliate> caseAffiliatesnew  = new ArrayList<>();
316
-                // 组装案件关联人信息
317
-                assignmentCaseAffiliates(caseApplication,caseAffiliatesnew,deptMap);
311
+                // 导入校验
312
+                importValid(caseApplication);
313
+                // 校验成功的数据
314
+                if(StrUtil.isEmpty(caseApplication.getErrorMsg())) {
315
+                    //根据仲裁费用计费规则计算应缴费用
316
+                    //暂时设置计费比率为0.01
317
+                    BigDecimal feeRate = new BigDecimal(0.01);
318
+                    BigDecimal feePayable = caseApplication.getCaseSubjectAmount().multiply(feeRate).setScale(2, BigDecimal.ROUND_HALF_UP);
319
+                    caseApplication.setFeePayable(feePayable);
320
+
321
+                    //赋值CaseApplication的案件关联人信息
322
+                    List<CaseAffiliate> caseAffiliatesnew = new ArrayList<>();
323
+                    // 组装案件关联人信息
324
+                    assignmentCaseAffiliates(caseApplication, caseAffiliatesnew, deptMap);
318 325
 
319 326
 //                int caseApplicationCount = selectCaseApplicationCount(caseApplication);
320 327
 //                if(caseApplicationCount>0){
@@ -323,9 +330,12 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
323 330
 //                }else {
324 331
 //                    caseApplicationListinsert.add(caseApplication);
325 332
 //                }
326
-                caseApplicationListinsert.add(caseApplication);
333
+                    caseApplicationListinsert.add(caseApplication);
334
+                }else {
335
+                    // 拼接错误信息
336
+                    failureMsg.append("<br/>").append("第").append(i+2).append("行:").append(caseApplication.getErrorMsg().toString());
337
+                }
327 338
             }
328
-
329 339
             if(caseApplicationListinsert!=null&&caseApplicationListinsert.size()>0){
330 340
 //                List<CaseApplication> caseApplicationListinsertDiffer = caseApplicationListinsert.stream().collect(
331 341
 //                        collectingAndThen(
@@ -384,15 +394,235 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
384 394
         }else {
385 395
             throw new ServiceException("导入立案申请数据不能为空!");
386 396
         }
387
-        // 编号存在不导入
388
-        if(StringUtils.isNotEmpty(failureMsg)){
389
-            return failureMsg.append(successMsg).toString();
390
-        }else {
397
+            return successMsg.append(failureMsg.toString()).toString();
398
+
399
+    }
400
+
401
+    /**
402
+     * 导入校验
403
+     * @param caseApplication
404
+     * @param
405
+     */
406
+    private void importValid(CaseApplication caseApplication) {
407
+        StringBuilder failureMsg=new StringBuilder();
408
+        caseApplication.setErrorMsg(failureMsg);
409
+        // 校验基本字段
410
+        validBaseColumn(caseApplication,failureMsg);
411
+        // 校验申请人信息
412
+        validApplicationColumn(caseApplication,failureMsg);
413
+        // 校验申请人代理信息
414
+        validApplicationAgentColumn(caseApplication,failureMsg);
415
+        // 校验被申请人信息
416
+        validDebtorApplicationColumn(caseApplication,failureMsg);
417
+        // 校验被申请人代理信息
418
+        validDebtorApplicationAgentColumn(caseApplication,failureMsg);
419
+    }
420
+
421
+    /**
422
+     * 校验被申请人代理信息
423
+     * @param caseApplication
424
+     * @param failureMsg
425
+     */
426
+    private void validDebtorApplicationAgentColumn(CaseApplication caseApplication, StringBuilder failureMsg) {
427
+        if( StrUtil.isEmpty(caseApplication.getDebtorNameAgent())){
428
+            failureMsg.append("【被申请人主体信息-代理人姓名】字段不能为空;");
429
+        }else if(caseApplication.getDebtorNameAgent().length()>50){
430
+            failureMsg.append("【被申请人主体信息-代理人姓名】字段超出指定长度,最大长度为50;");
431
+        }
432
+        if( StrUtil.isEmpty(caseApplication.getDebtorIdentityNumAgent())){
433
+            failureMsg.append("【被申请人主体信息-代理人身份证号】字段不能为空;");
434
+        }else if(caseApplication.getDebtorIdentityNumAgent().length()>50){
435
+            failureMsg.append("【被申请人主体信息-代理人身份证号】字段超出指定长度,最大长度为50;");
436
+        }
437
+        String debtorContactTelphoneAgent = caseApplication.getDebtorContactTelphoneAgent();
438
+        if( StrUtil.isEmpty(debtorContactTelphoneAgent)){
439
+            failureMsg.append("【被申请人主体信息-代理人联系电话】字段不能为空;");
440
+        }else if(!TELEPHONE_REGX.matcher(debtorContactTelphoneAgent).matches()){
441
+            failureMsg.append("【被申请人主体信息-代理人联系电话】字段不合法;");
442
+        }
443
+        if( StrUtil.isEmpty(caseApplication.getDebtorContactAddressAgent())){
444
+            failureMsg.append("【被申请人主体信息-代理人联系地址】字段不能为空;");
445
+        }else if(caseApplication.getDebtorContactAddressAgent().length()>50){
446
+            failureMsg.append("【被申请人主体信息-代理人联系地址】字段超出指定长度,最大长度为50;");
447
+        }
448
+    }
449
+
450
+    /**
451
+     * 校验被申请人信息
452
+     * @param caseApplication
453
+     * @param failureMsg
454
+     */
455
+    private void validDebtorApplicationColumn(CaseApplication caseApplication, StringBuilder failureMsg) {
456
+        if( StrUtil.isEmpty(caseApplication.getDebtorName())){
457
+            failureMsg.append("【被申请人主体信息-申请人姓名】字段不能为空;");
458
+        }else if(caseApplication.getDebtorName().length()>50){
459
+            failureMsg.append("【被申请人主体信息-申请人姓名】字段超出指定长度,最大长度为50;");
460
+        }
461
+        if( StrUtil.isEmpty(caseApplication.getDebtorIdentityNum())){
462
+            failureMsg.append("【被申请人主体信息-身份证号】字段不能为空;");
463
+        }else if(caseApplication.getDebtorIdentityNum().length()>50){
464
+            failureMsg.append("【被申请人主体信息-身份证号】字段超出指定长度,最大长度为50;");
465
+        }
466
+        String debtorContactTelphone = caseApplication.getDebtorContactTelphone();
467
+        if( StrUtil.isEmpty(debtorContactTelphone)){
468
+            failureMsg.append("【被申请人主体信息-联系电话】字段不能为空;");
469
+        }else if(!TELEPHONE_REGX.matcher(debtorContactTelphone).matches()){
470
+            failureMsg.append("【被申请人主体信息-联系电话】字段不合法;");
471
+        }
472
+        if( StrUtil.isEmpty(caseApplication.getDebtorContactAddress())){
473
+            failureMsg.append("【被申请人主体信息-联系地址】字段不能为空;");
474
+        }else if(caseApplication.getDebtorContactAddress().length()>50){
475
+            failureMsg.append("【被申请人主体信息-联系地址】字段超出指定长度,最大长度为50;");
476
+        }
477
+        String debtorWorkTelphone = caseApplication.getDebtorWorkTelphone();
478
+        if( StrUtil.isEmpty(debtorWorkTelphone)){
479
+            failureMsg.append("【被申请人主体信息-单位电话】字段不能为空;");
480
+        }else if(!TELEPHONE_REGX.matcher(debtorWorkTelphone).matches()){
481
+            failureMsg.append("【被申请人主体信息-单位电话】字段不合法;");
482
+        }
483
+        if( StrUtil.isEmpty(caseApplication.getDebtorWorkAddress())){
484
+            failureMsg.append("【被申请人主体信息-单位地址】字段不能为空;");
485
+        }else if(caseApplication.getDebtorWorkAddress().length()>50){
486
+            failureMsg.append("【被申请人主体信息-单位地址】字段超出指定长度,最大长度为50;");
487
+        }
488
+    }
489
+
490
+    /**
491
+     * 校验申请人代理信息
492
+     * @param caseApplication
493
+     * @param failureMsg
494
+     */
495
+    private void validApplicationAgentColumn(CaseApplication caseApplication, StringBuilder failureMsg) {
496
+        if( StrUtil.isEmpty(caseApplication.getNameAgent())){
497
+            failureMsg.append("【申请人主体信息-代理人姓名】字段不能为空;");
498
+        }else if(caseApplication.getNameAgent().length()>50){
499
+            failureMsg.append("【申请人主体信息-代理人姓名】字段超出指定长度,最大长度为50;");
500
+        }
501
+        if( StrUtil.isEmpty(caseApplication.getIdentityNumAgent())){
502
+            failureMsg.append("【申请人主体信息-代理人身份证号】字段不能为空;");
503
+        }else if(caseApplication.getIdentityNumAgent().length()>50){
504
+            failureMsg.append("【申请人主体信息-代理人身份证号】字段超出指定长度,最大长度为50;");
505
+        }
506
+        String contactTelphoneAgent = caseApplication.getContactTelphoneAgent();
507
+        if( StrUtil.isEmpty(contactTelphoneAgent)){
508
+            failureMsg.append("【申请人主体信息-代理人联系电话】字段不能为空;");
509
+        }else if(!TELEPHONE_REGX.matcher(contactTelphoneAgent).matches()){
510
+            failureMsg.append("【申请人主体信息-代理人联系电话】字段不合法;");
511
+        }
512
+        if( StrUtil.isEmpty(caseApplication.getContactAddressAgent())){
513
+            failureMsg.append("【申请人主体信息-代理人联系地址】字段不能为空;");
514
+        }else if(caseApplication.getContactAddressAgent().length()>50){
515
+            failureMsg.append("【申请人主体信息-代理人联系地址】字段超出指定长度,最大长度为50;");
516
+        }
517
+    }
391 518
 
392
-            return successMsg.toString();
519
+    /**
520
+     * 校验申请人主题信息
521
+     * @param caseApplication
522
+     * @param failureMsg
523
+     */
524
+    private void validApplicationColumn(CaseApplication caseApplication, StringBuilder failureMsg) {
525
+        if( StrUtil.isEmpty(caseApplication.getName())){
526
+            failureMsg.append("【申请人主体信息-申请人(机构)】字段不能为空;");
527
+        }else if(caseApplication.getName().length()>20){
528
+            failureMsg.append("【申请人主体信息-申请人(机构)】字段超出指定长度,最大长度为20;");
529
+        }
530
+        if( StrUtil.isNotEmpty(caseApplication.getIdentityNum())&&caseApplication.getIdentityNum().length()>50){
531
+            failureMsg.append("【申请人主体信息-代码】字段超出指定长度,最大长度为50;");
532
+        }
533
+        String contactTelphone = caseApplication.getContactTelphone();
534
+        if( StrUtil.isEmpty(contactTelphone)){
535
+            failureMsg.append("【申请人主体信息-联系电话】字段不能为空;");
536
+        }else if(!TELEPHONE_REGX.matcher(contactTelphone).matches()){
537
+            failureMsg.append("【申请人主体信息-联系电话】字段不合法;");
538
+        }
539
+        if( StrUtil.isEmpty(caseApplication.getContactAddress())){
540
+            failureMsg.append("【申请人主体信息-联系地址】字段不能为空;");
541
+        }else if(caseApplication.getName().length()>50){
542
+            failureMsg.append("【申请人主体信息-联系地址】字段超出指定长度,最大长度为50;");
543
+        }
544
+        String workTelphone = caseApplication.getWorkTelphone();
545
+        if( StrUtil.isEmpty(workTelphone)){
546
+            failureMsg.append("【申请人主体信息-单位电话】字段不能为空;");
547
+        }else if(!TELEPHONE_REGX.matcher(workTelphone).matches()){
548
+            failureMsg.append("【申请人主体信息-单位电话】字段不合法;");
549
+        }
550
+        if( StrUtil.isEmpty(caseApplication.getWorkAddress())){
551
+            failureMsg.append("【申请人主体信息-单位地址】字段不能为空;");
552
+        }else if(caseApplication.getWorkAddress().length()>50){
553
+            failureMsg.append("【申请人主体信息-单位地址】字段超出指定长度,最大长度为50;");
554
+        }
555
+    }
556
+
557
+    /**
558
+     * 校验基本字段
559
+     * @param caseApplication
560
+     * @param failureMsg
561
+     */
562
+    private void validBaseColumn(CaseApplication caseApplication, StringBuilder failureMsg) {
563
+        BigDecimal caseSubjectAmount = caseApplication.getCaseSubjectAmount();
564
+        if(null== caseSubjectAmount){
565
+            failureMsg.append("【案件标的】字段不合法;");
566
+        }else {
567
+            if(caseSubjectAmount.compareTo(new BigDecimal("0")) < 0 ||caseSubjectAmount.compareTo(new BigDecimal("99999999.99"))>0){
568
+                failureMsg.append("【案件标的】字段超出范围,范围为[0,100000000);");
569
+            }
570
+            if(caseSubjectAmount.scale()>2){
571
+                failureMsg.append("【案件标的】字段超出指定精度(10^-2);");
572
+            }
573
+        }
574
+        if( caseApplication.getLoanStartDate()== null){
575
+            failureMsg.append("【借款开始日期】字段不合法;");
576
+        }
577
+        if( caseApplication.getLoanEndDate()== null){
578
+            failureMsg.append("【借款结束日期】字段不合法;");
579
+        }
580
+        if( StrUtil.isEmpty(caseApplication.getContractNumber())){
581
+            failureMsg.append("【合同编号】字段不能为空;");
582
+        }else if(caseApplication.getContractNumber().length()>50){
583
+            failureMsg.append("【合同编号】字段超出指定长度,最大长度为50;");
584
+        }
585
+        BigDecimal claimPrinciOwed = caseApplication.getClaimPrinciOwed();
586
+        if(null== claimPrinciOwed){
587
+            failureMsg.append("【申请人主张欠本金】字段不合法;");
588
+        }else {
589
+            if(claimPrinciOwed.compareTo(new BigDecimal("0")) < 0 ||claimPrinciOwed.compareTo(new BigDecimal("99999999.99"))>0){
590
+                failureMsg.append("【申请人主张欠本金】字段超出范围,范围为[0,100000000);");
591
+            }
592
+            if(claimPrinciOwed.scale()>2){
593
+                failureMsg.append("【申请人主张欠本金】字段超出指定精度(10^-2);");
594
+            }
595
+        }
596
+        BigDecimal claimInterestOwed = caseApplication.getClaimInterestOwed();
597
+        if(null== claimInterestOwed){
598
+            failureMsg.append("【申请人主张欠利息】字段不合法;");
599
+        }else {
600
+            if(claimInterestOwed.compareTo(new BigDecimal("0")) < 0 ||claimInterestOwed.compareTo(new BigDecimal("99999999.99"))>0){
601
+                failureMsg.append("【申请人主张欠利息】字段超出范围,范围为[0,100000000);");
602
+            }
603
+            if(claimInterestOwed.scale()>2){
604
+                failureMsg.append("【申请人主张欠利息】字段超出指定精度(10^-2);");
605
+            }
606
+        }
607
+        BigDecimal claimLiquidDamag = caseApplication.getClaimLiquidDamag();
608
+        if(null== claimLiquidDamag){
609
+            failureMsg.append("【申请人主张违约金】字段不合法;");
610
+        }else {
611
+            if(claimLiquidDamag.compareTo(new BigDecimal("0")) < 0 ||claimLiquidDamag.compareTo(new BigDecimal("99999999.99"))>0){
612
+                failureMsg.append("【申请人主张违约金】字段超出范围,范围为[0,100000000);");
613
+            }
614
+            if(claimLiquidDamag.scale()>2){
615
+                failureMsg.append("【申请人主张违约金】字段超出指定精度(10^-2);");
616
+            }
617
+        }
618
+        if( StrUtil.isEmpty(caseApplication.getArbitratClaims())){
619
+            failureMsg.append("【申请人仲裁诉求】字段不能为空;");
620
+        }else if(caseApplication.getArbitratClaims().length()>10000){
621
+            failureMsg.append("【申请人仲裁诉求】字段超出指定长度,最大长度为10000;");
393 622
         }
394 623
     }
395 624
 
625
+
396 626
     @Override
397 627
     @Transactional
398 628
     public int pendTral(CaseApplication caseApplication) {
@@ -498,6 +728,9 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
498 728
     @Override
499 729
     public CaseApplication selectCaseApplicationConfirm(CaseApplication caseApplication) {
500 730
         CaseApplication caseApplicationselect = caseApplicationMapper.selectCaseApplicationConfirm(caseApplication);
731
+        if(caseApplicationselect==null){
732
+            return caseApplicationselect;
733
+        }
501 734
         CaseAffiliate caseAffiliate = new CaseAffiliate();
502 735
         caseAffiliate.setCaseAppliId(caseApplication.getId());
503 736
         List<CaseAffiliate> caseAffiliatListeselect = caseAffiliateMapper.selectCaseAffiliate(caseAffiliate);
@@ -751,5 +984,4 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
751 984
         caseApplicationNew.setFeePayable(caseApplicationinsertDiffer.getFeePayable());
752 985
     }
753 986
 
754
-
755 987
 }