gy b 2 gadus atpakaļ
vecāks
revīzija
0e6470fd59

+ 1
- 0
ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/CaseAffiliateMapper.java Parādīt failu

@@ -19,6 +19,7 @@ public interface CaseAffiliateMapper {
19 19
 
20 20
 
21 21
     List<CaseAffiliate>  selectCaseAffiliate(CaseAffiliate caseAffiliate);
22
+    List<CaseAffiliate>  selectCaseAffiliateByCaseIds(@Param("ids") List<Long> ids);
22 23
     CaseAffiliate  selectCaseAffiliateByIdentityType(@Param("caseAppliId") Long caseAppliId, @Param("identityType")int identityType);
23 24
 
24 25
     int updataCaseAffiliate(CaseAffiliate caseAffiliate);

+ 3
- 1
ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/CaseLogRecordMapper.java Parādīt failu

@@ -2,9 +2,11 @@ package com.ruoyi.wisdomarbitrate.mapper;
2 2
 
3 3
 import com.ruoyi.wisdomarbitrate.domain.CaseApplication;
4 4
 import com.ruoyi.wisdomarbitrate.domain.CaseLogRecord;
5
+import org.apache.ibatis.annotations.Mapper;
6
+import org.springframework.stereotype.Repository;
5 7
 
6 8
 import java.util.List;
7
-
9
+@Mapper
8 10
 public interface CaseLogRecordMapper {
9 11
 
10 12
 

+ 2
- 2
ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CaseApplicationLogServiceImpl.java Parādīt failu

@@ -257,9 +257,9 @@ public class CaseApplicationLogServiceImpl implements CaseApplicationLogService
257 257
         compareCaseVO.setBeforeCase(beforeCase);
258 258
         compareCaseVO.setAfterCase(afterCase);
259 259
         // 对比两个版本修改的字段
260
-        String[] columns = {"caseSubjectAmount","loanStartDate", "loanEndDate","contractNumber","claimInterestOwed","claimLiquidDamag",
260
+        String[] columns = {"caseName","caseSubjectAmount","loanStartDate", "loanEndDate","contractNumber","claimInterestOwed","claimLiquidDamag",
261 261
                 "claimPrinciOwed","arbitratClaims","properPreser","requestRule"};
262
-        String[] affiliateColumns = {"name", "identityNum","contactTelphone","contactAddress","workTelphone","workAddress",
262
+        String[] affiliateColumns = {"name", "identityNum","contactTelphone","contactAddress","workTelphone","workAddress","email",
263 263
                 "nameAgent", "identityNumAgent","contactTelphoneAgent","contactAddressAgent","residenAffili","compLegalPerson",
264 264
         "compLegalperPost","responSex","responBirth"};
265 265
         StringBuilder changeColumn = new StringBuilder();

+ 73
- 10
ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CaseApplicationServiceImpl.java Parādīt failu

@@ -70,6 +70,7 @@ import java.text.SimpleDateFormat;
70 70
 import java.time.LocalDate;
71 71
 import java.time.ZoneId;
72 72
 import java.util.*;
73
+import java.util.function.Function;
73 74
 import java.util.regex.Pattern;
74 75
 import java.util.stream.Collectors;
75 76
 import java.util.zip.ZipEntry;
@@ -136,8 +137,19 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
136 137
     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}$");
137 138
     // 邮箱正则
138 139
     private static final Pattern EMAIL_PATTERN = Pattern.compile("^[a-zA-Z0-9_+&*-]+(?:\\.[a-zA-Z0-9_+&*-]+)*@(?:[a-zA-Z0-9-]+\\.)+[a-zA-Z]{2,7}$");
139
-    // 身份证号码正则表达式
140
-    private static final String ID_REGEX = "^(\\\\d{15}$|\\\\d{18}$|\\\\d{17}([0-9]|X))$";
140
+
141
+    // 基本字段校验
142
+    private static final  String[] baseColumns = {"caseName","caseSubjectAmount","loanStartDate", "loanEndDate","contractNumber","claimInterestOwed","claimLiquidDamag",
143
+            "claimPrinciOwed","arbitratClaims"};
144
+    // 申请人字段校验
145
+    private static final String[] applicAffiliateColumns = {"name", "contactTelphone","contactAddress","workTelphone","workAddress",
146
+           "residenAffili","compLegalPerson",
147
+            "compLegalperPost","email","nameAgent", "identityNumAgent","contactTelphoneAgent","contactAddressAgent"};
148
+    // 申请人/被申请人代理人字段校验
149
+    private static final String[] applicAgentAffiliateColumns = {"nameAgent", "identityNumAgent","contactTelphoneAgent","contactAddressAgent"};
150
+    // 被申请人字段校验
151
+    private static final  String[] dectborAffiliateColumns = {"name", "identityNum","contactTelphone","contactAddress","workTelphone","workAddress",
152
+           "residenAffili","responSex","responBirth","email","nameAgent", "identityNumAgent","contactTelphoneAgent","contactAddressAgent"};
141 153
 
142 154
     /**
143 155
      * 数据权限:1.每个人不同的角色,而每个角色可以操作不同的案件状态
@@ -1275,14 +1287,65 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
1275 1287
     @Transactional
1276 1288
     public int submitCaseApplication(List<Long> ids) {
1277 1289
         int rows = 0;
1278
-        for (Long id : ids) {
1279
-            CaseApplication application = new CaseApplication();
1280
-            application.setId(id);
1281
-            //提交立案申请
1282
-            application.setCaseStatus(CaseApplicationConstants.CASE_CHECK);
1283
-            rows += caseApplicationMapper.submitCaseApplication(application);
1284
-            // 新增日志
1285
-            insertCaseLog(application.getId(), CaseApplicationConstants.CASE_CHECK, "");
1290
+        // 查询案件信息,做必填校验,校验不通过,提示,不能提交
1291
+        StringBuilder errorMsg = new StringBuilder();
1292
+        List<CaseApplication> caseApplications = caseApplicationMapper.listCaseApplicationByIds(ids);
1293
+        if(CollectionUtil.isNotEmpty(caseApplications)) {
1294
+
1295
+            Map<Long, CaseApplication> applicationMap = caseApplications.stream().collect(Collectors.toMap(CaseApplication::getId, Function.identity(), (n1, n2) -> n2));
1296
+            List<CaseAffiliate> caseAffiliates = caseAffiliateMapper.selectCaseAffiliateByCaseIds(ids);
1297
+            // 转换为Map<CaseId,List<CaseAffiliate>>形式
1298
+            Map<Long, List<CaseAffiliate>> caseAffiliateMap = caseAffiliates.stream().collect(Collectors.groupingBy(CaseAffiliate::getCaseAppliId));
1299
+            for (Long id : ids) {
1300
+                // 必填校验
1301
+                CaseApplication caseApplication = applicationMap.get(id);
1302
+                // 基本字段校验
1303
+                if(caseApplication!=null) {
1304
+                    for (String baseColumn : baseColumns) {
1305
+                       if(StrUtil.isEmpty( ObjectFieldUtils.getValue(caseApplication, baseColumn))){
1306
+                           errorMsg.append(baseColumn).append("不能为空,");
1307
+                           // todo 暂抛出异常,后边改为提示具体的字段
1308
+                           throw new ServiceException("必填字段未填写,请完善案件信息!");
1309
+                       }
1310
+                    }
1311
+                    // 校验人员
1312
+                    if(CollectionUtil.isNotEmpty(caseAffiliates)){
1313
+                        List<CaseAffiliate> affiliateList = caseAffiliateMap.get(id);
1314
+                        if(CollectionUtil.isNotEmpty(affiliateList)){
1315
+                            for (CaseAffiliate caseAffiliate : affiliateList) {
1316
+                                if(caseAffiliate.getIdentityType()==1){
1317
+                                    // 校验申请人
1318
+                                    for (String applicAffiliateColumn : applicAffiliateColumns) {
1319
+                                        if(StrUtil.isEmpty( ObjectFieldUtils.getValue(caseApplication, applicAffiliateColumn))){
1320
+                                            errorMsg.append(applicAffiliateColumn).append("不能为空,");
1321
+                                            // todo 暂抛出异常,后边改为提示具体的字段
1322
+                                            throw new ServiceException("必填字段未填写,请完善案件信息!");
1323
+                                        }
1324
+                                    }
1325
+                                    }else {
1326
+                                    // 校验被申请人
1327
+                                    // 校验申请人
1328
+                                    for (String applicAffiliateColumn : dectborAffiliateColumns) {
1329
+                                        if(StrUtil.isEmpty( ObjectFieldUtils.getValue(caseApplication, applicAffiliateColumn))){
1330
+                                            errorMsg.append(applicAffiliateColumn).append("不能为空,");
1331
+                                            // todo 暂抛出异常,后边改为提示具体的字段
1332
+                                            throw new ServiceException("必填字段未填写,请完善案件信息!");
1333
+                                        }
1334
+                                    }
1335
+                                }
1336
+                            }
1337
+                        }
1338
+                    }
1339
+                }
1340
+
1341
+                CaseApplication application = new CaseApplication();
1342
+                application.setId(id);
1343
+                //提交立案申请
1344
+                application.setCaseStatus(CaseApplicationConstants.CASE_CHECK);
1345
+                rows += caseApplicationMapper.submitCaseApplication(application);
1346
+                // 新增日志
1347
+                insertCaseLog(application.getId(), CaseApplicationConstants.CASE_CHECK, "");
1348
+            }
1286 1349
         }
1287 1350
         return rows;
1288 1351
     }

+ 14
- 0
ruoyi-system/src/main/resources/mapper/wisdomarbitrate/CaseAffiliateMapper.xml Parādīt failu

@@ -45,6 +45,19 @@
45 45
             </if>
46 46
         </where>
47 47
     </select>
48
+    <select id="selectCaseAffiliateByCaseIds" resultMap="CaseAffiliateResult">
49
+        select c.*,s.user_id
50
+        from case_affiliate c
51
+        left join sys_user s on c.identity_num=s.id_card
52
+        <where>
53
+            <if test="ids != null ">
54
+                case_appli_id in
55
+                <foreach collection="ids" item="item" open="(" separator="," close=")">
56
+                    #{item}
57
+                </foreach>
58
+            </if>
59
+        </where>
60
+    </select>
48 61
     <select id="selectCaseAffiliateByIdentityType"  resultMap="CaseAffiliateResult">
49 62
         select c.*
50 63
         from case_affiliate c
@@ -64,6 +77,7 @@
64 77
     </select>
65 78
 
66 79
 
80
+
67 81
     <insert id="batchCaseAffiliate">
68 82
         insert into case_affiliate(case_appli_id, identity_type,application_organ_id,application_organ_name,name,identity_num,contact_telphone,
69 83
         contact_address,work_address,work_telphone ,name_agent,identity_num_agent,contact_telphone_agent,