Sfoglia il codice sorgente

Merge branch 'wq' of SH-Arbitrate/Arbitrate-Backend into dev

wangqiong123 2 anni fa
parent
commit
b4797984dd

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

1
 package com.ruoyi.web.controller.wisdomarbitrate;
1
 package com.ruoyi.web.controller.wisdomarbitrate;
2
 
2
 
3
+import com.ruoyi.common.annotation.Anonymous;
3
 import com.ruoyi.common.core.domain.AjaxResult;
4
 import com.ruoyi.common.core.domain.AjaxResult;
4
 import com.ruoyi.wisdomarbitrate.domain.CaseApplication;
5
 import com.ruoyi.wisdomarbitrate.domain.CaseApplication;
5
 import com.ruoyi.wisdomarbitrate.domain.vo.UpdateSubmitVO;
6
 import com.ruoyi.wisdomarbitrate.domain.vo.UpdateSubmitVO;
89
         }
90
         }
90
         return caseApplicationLogService.updateAudit(vo);
91
         return caseApplicationLogService.updateAudit(vo);
91
     }
92
     }
93
+    /**
94
+     * 查询该版本及之前版本案件进行对比
95
+     * @author wangqiong
96
+     * @date 2023/11/17
97
+     **/
98
+    @Anonymous
99
+    @PostMapping("/selectCompareCase")
100
+    public AjaxResult selectCompareCase(@RequestBody UpdateSubmitVO vo){
101
+        if(vo.getCaseId()==null || vo.getVersion()==null ){
102
+            return AjaxResult.error("参数校验错误");
103
+        }
104
+        return caseApplicationLogService.selectCompareCase(vo);
105
+    }
92
   
106
   
93
 }
107
 }

+ 49
- 0
ruoyi-common/src/main/java/com/ruoyi/common/utils/ObjectFieldUtils.java Vedi File

1
+package com.ruoyi.common.utils;
2
+
3
+import java.lang.reflect.Field;
4
+
5
+/**
6
+ * 反射工具类
7
+ */
8
+public class ObjectFieldUtils {
9
+    public static String getValue(Object obj,String fieldName){
10
+        Field field=null;
11
+        try{
12
+            field=obj.getClass().getDeclaredField(fieldName);
13
+            field.setAccessible(true);
14
+            return String.valueOf(field.get(obj)==null?"":field.get(obj));
15
+        }catch (Exception e){
16
+            if(obj.getClass().getSuperclass()!=Object.class){
17
+                try{
18
+                    field=obj.getClass().getSuperclass().getDeclaredField(fieldName);
19
+                    field.setAccessible(true);
20
+                    return String.valueOf(field.get(obj)==null?"":field.get(obj));
21
+                }catch (Exception e1){
22
+                    e.printStackTrace();
23
+                }
24
+            }
25
+            e.printStackTrace();
26
+        }
27
+        return null;
28
+    }
29
+
30
+    public static void setValue(Object obj,String fieldName,Object value){
31
+        Field field=null;
32
+        try{
33
+            field=obj.getClass().getDeclaredField(fieldName);
34
+            field.setAccessible(true);
35
+            field.set(obj,value);
36
+        }catch (Exception e){
37
+            if(obj.getClass().getSuperclass()!=Object.class){
38
+                try{
39
+                    field=obj.getClass().getSuperclass().getDeclaredField(fieldName);
40
+                    field.setAccessible(true);
41
+                    field.set(obj,value);
42
+                }catch (Exception e1){
43
+                    e.printStackTrace();
44
+                }
45
+            }
46
+            e.printStackTrace();
47
+        }
48
+    }
49
+}

+ 12
- 0
ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/CaseAffiliate.java Vedi File

56
      * 版本号
56
      * 版本号
57
      */
57
      */
58
     private Integer version;
58
     private Integer version;
59
+    /**
60
+     * 改变的字段
61
+     */
62
+    private String changeColumn;
63
+
64
+    public String getChangeColumn() {
65
+        return changeColumn;
66
+    }
67
+
68
+    public void setChangeColumn(String changeColumn) {
69
+        this.changeColumn = changeColumn;
70
+    }
59
 
71
 
60
     public Long getCaseAppliLogId() {
72
     public Long getCaseAppliLogId() {
61
         return caseAppliLogId;
73
         return caseAppliLogId;

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

1
+package com.ruoyi.wisdomarbitrate.domain.vo;
2
+
3
+import com.ruoyi.wisdomarbitrate.domain.CaseApplication;
4
+import lombok.AllArgsConstructor;
5
+import lombok.Builder;
6
+import lombok.Data;
7
+import lombok.NoArgsConstructor;
8
+
9
+import java.util.List;
10
+
11
+/**
12
+ * 案件前后对比
13
+ * @author wangqiong
14
+ */
15
+@Data
16
+@Builder
17
+@NoArgsConstructor
18
+@AllArgsConstructor
19
+public class CompareCaseVO {
20
+    /**
21
+     * 该版本前的案件
22
+     */
23
+    private CaseApplication beforeCase;
24
+    /**
25
+     * 该版本后的案件
26
+     */
27
+    private CaseApplication afterCase;
28
+    /**
29
+     * 变化字段,多个用,拼接
30
+     */
31
+    private String changeColumn;
32
+
33
+
34
+}

+ 1
- 1
ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/CaseAffiliateLogMapper.java Vedi File

17
     void batchDeletecaseAffiliate(@Param("ids") List<Long> ids);
17
     void batchDeletecaseAffiliate(@Param("ids") List<Long> ids);
18
 
18
 
19
 
19
 
20
-    List<CaseAffiliate>  selectCaseAffiliate(CaseAffiliate caseAffiliate);
20
+    List<CaseAffiliate>  selectCaseAffiliate(@Param("caseAppliLogId") Long caseAppliLogId);
21
     CaseAffiliate  selectCaseAffiliateByIdentityType(@Param("caseAppliLogId") Long caseAppliLogId, @Param("identityType")int identityType);
21
     CaseAffiliate  selectCaseAffiliateByIdentityType(@Param("caseAppliLogId") Long caseAppliLogId, @Param("identityType")int identityType);
22
 
22
 
23
     int updataCaseAffiliate(CaseAffiliate caseAffiliate);
23
     int updataCaseAffiliate(CaseAffiliate caseAffiliate);

+ 1
- 1
ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/CaseAffiliateMapper.java Vedi File

34
      * 批量修改
34
      * 批量修改
35
      * @param affiliateLogList
35
      * @param affiliateLogList
36
      */
36
      */
37
-    void updataCaseAffiliateByCaseId(@Param("caseAppliId")Long caseAppliId,@Param("list") List<CaseAffiliate> affiliateLogList);
37
+    void updateCaseAffiliateByCaseId(@Param("caseAppliId")Long caseAppliId,@Param("list") List<CaseAffiliate> affiliateLogList);
38
 }
38
 }

+ 1
- 0
ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/CaseApplicationLogService.java Vedi File

54
     AjaxResult updateAudit(UpdateSubmitVO vo);
54
     AjaxResult updateAudit(UpdateSubmitVO vo);
55
 
55
 
56
 
56
 
57
+    AjaxResult selectCompareCase(UpdateSubmitVO vo);
57
 }
58
 }

+ 177
- 14
ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CaseApplicationLogServiceImpl.java Vedi File

1
 package com.ruoyi.wisdomarbitrate.service.impl;
1
 package com.ruoyi.wisdomarbitrate.service.impl;
2
 
2
 
3
+import cn.hutool.core.collection.CollectionUtil;
4
+import cn.hutool.core.util.StrUtil;
3
 import com.ruoyi.common.core.domain.AjaxResult;
5
 import com.ruoyi.common.core.domain.AjaxResult;
4
 import com.ruoyi.common.enums.UpdateSubmitStatus;
6
 import com.ruoyi.common.enums.UpdateSubmitStatus;
5
 import com.ruoyi.common.enums.YesOrNoEnum;
7
 import com.ruoyi.common.enums.YesOrNoEnum;
8
+import com.ruoyi.common.utils.ObjectFieldUtils;
9
+import com.ruoyi.common.utils.SmsUtils;
6
 import com.ruoyi.wisdomarbitrate.domain.CaseAffiliate;
10
 import com.ruoyi.wisdomarbitrate.domain.CaseAffiliate;
7
 import com.ruoyi.wisdomarbitrate.domain.CaseApplication;
11
 import com.ruoyi.wisdomarbitrate.domain.CaseApplication;
12
+import com.ruoyi.wisdomarbitrate.domain.SmsSendRecord;
13
+import com.ruoyi.wisdomarbitrate.domain.vo.CompareCaseVO;
8
 import com.ruoyi.wisdomarbitrate.domain.vo.UpdateSubmitVO;
14
 import com.ruoyi.wisdomarbitrate.domain.vo.UpdateSubmitVO;
9
-import com.ruoyi.wisdomarbitrate.mapper.CaseAffiliateLogMapper;
10
-import com.ruoyi.wisdomarbitrate.mapper.CaseAffiliateMapper;
11
-import com.ruoyi.wisdomarbitrate.mapper.CaseApplicationLogMapper;
12
-import com.ruoyi.wisdomarbitrate.mapper.CaseApplicationMapper;
15
+import com.ruoyi.wisdomarbitrate.mapper.*;
13
 import com.ruoyi.wisdomarbitrate.service.CaseApplicationLogService;
16
 import com.ruoyi.wisdomarbitrate.service.CaseApplicationLogService;
14
 import org.springframework.beans.factory.annotation.Autowired;
17
 import org.springframework.beans.factory.annotation.Autowired;
15
 import org.springframework.stereotype.Service;
18
 import org.springframework.stereotype.Service;
16
 import org.springframework.transaction.annotation.Transactional;
19
 import org.springframework.transaction.annotation.Transactional;
17
 
20
 
21
+import java.util.Date;
18
 import java.util.List;
22
 import java.util.List;
23
+import java.util.Map;
19
 import java.util.Objects;
24
 import java.util.Objects;
25
+import java.util.stream.Collectors;
26
+
27
+import static com.ruoyi.common.utils.SecurityUtils.getUsername;
20
 
28
 
21
 /**
29
 /**
22
  * @author wangqiong
30
  * @author wangqiong
33
     private CaseAffiliateLogMapper caseAffiliateLogMapper;
41
     private CaseAffiliateLogMapper caseAffiliateLogMapper;
34
     @Autowired
42
     @Autowired
35
     private CaseAffiliateMapper caseAffiliateMapper;
43
     private CaseAffiliateMapper caseAffiliateMapper;
44
+    @Autowired
45
+    private SmsRecordMapper smsRecordMapper;
36
     @Override
46
     @Override
37
     public int insert(CaseApplication caseApplicationLog) {
47
     public int insert(CaseApplication caseApplicationLog) {
38
         return caseApplicationLogMapper.insert(caseApplicationLog);
48
         return caseApplicationLogMapper.insert(caseApplicationLog);
70
             return AjaxResult.error("案件不存在");
80
             return AjaxResult.error("案件不存在");
71
         }
81
         }
72
         // 如果秘书没有审核,将撤销状态改为同意撤销,否则改为撤销
82
         // 如果秘书没有审核,将撤销状态改为同意撤销,否则改为撤销
73
-        if(caseApplication.getUpdateSubmitStatus()!=null && caseApplication.getUpdateSubmitStatus()>UpdateSubmitStatus.REVOKE.getCode()){
83
+        if(caseApplication.getUpdateSubmitStatus()!=null && !caseApplication.getUpdateSubmitStatus().equals(UpdateSubmitStatus.AGREE.getCode())){
74
             agreeRevoke(vo);
84
             agreeRevoke(vo);
75
 
85
 
76
         }else {
86
         }else {
106
                 vo.setUpdateSubmitStatus(UpdateSubmitStatus.AGREE.getCode());
116
                 vo.setUpdateSubmitStatus(UpdateSubmitStatus.AGREE.getCode());
107
                 caseApplicationLogMapper.updateStatus(vo);
117
                 caseApplicationLogMapper.updateStatus(vo);
108
                 // 根据caseLogId查询相关人员表
118
                 // 根据caseLogId查询相关人员表
109
-                CaseAffiliate caseAffiliate = new CaseAffiliate();
110
-                caseAffiliate.setCaseAppliLogId(caseApplicationLog.getCaseLogId());
111
-                List<CaseAffiliate> affiliateLogList = caseAffiliateLogMapper.selectCaseAffiliate(caseAffiliate);
119
+                List<CaseAffiliate> affiliateLogList = caseAffiliateLogMapper.selectCaseAffiliate(caseApplicationLog.getCaseLogId());
112
                 caseApplicationLog.setId(caseApplicationLog.getCaseAppliId());
120
                 caseApplicationLog.setId(caseApplicationLog.getCaseAppliId());
113
                 // 更新案件主表
121
                 // 更新案件主表
114
                 caseApplicationMapper.updataCaseApplication(caseApplicationLog);
122
                 caseApplicationMapper.updataCaseApplication(caseApplicationLog);
115
 
123
 
116
                 // 更新相关人员主表
124
                 // 更新相关人员主表
117
-                caseAffiliateMapper.updataCaseAffiliateByCaseId(caseApplicationLog.getCaseAppliId(), affiliateLogList);
125
+                if(CollectionUtil.isNotEmpty(affiliateLogList)){
126
+                    for (CaseAffiliate caseAffiliate : affiliateLogList) {
127
+                       caseAffiliateMapper.updataCaseAffiliate(caseAffiliate);
128
+                    }
129
+                }
130
+             //   caseAffiliateMapper.updateCaseAffiliateByCaseId(caseApplicationLog.getCaseAppliId(), affiliateLogList);
118
             } else {
131
             } else {
119
                 // 拒绝,将日志表改版本的状态改为拒绝
132
                 // 拒绝,将日志表改版本的状态改为拒绝
120
                 vo.setUpdateSubmitStatus(UpdateSubmitStatus.REFUSE.getCode());
133
                 vo.setUpdateSubmitStatus(UpdateSubmitStatus.REFUSE.getCode());
121
                 caseApplicationLogMapper.updateStatus(vo);
134
                 caseApplicationLogMapper.updateStatus(vo);
122
-                // todo 给申请人发送短信
135
+               return sendAuditMessage(vo);
136
+
137
+
123
                 // 修改案件表的版本号
138
                 // 修改案件表的版本号
124
                  //  caseApplicationMapper.updateVersionById(vo.getCaseId(),vo.getVersion());
139
                  //  caseApplicationMapper.updateVersionById(vo.getCaseId(),vo.getVersion());
125
 
140
 
139
                 // 拒绝撤销,将日志表改版本的状态改为拒绝撤销
154
                 // 拒绝撤销,将日志表改版本的状态改为拒绝撤销
140
                 vo.setUpdateSubmitStatus(UpdateSubmitStatus.REFUSE_REVOKE.getCode());
155
                 vo.setUpdateSubmitStatus(UpdateSubmitStatus.REFUSE_REVOKE.getCode());
141
                 caseApplicationLogMapper.updateStatus(vo);
156
                 caseApplicationLogMapper.updateStatus(vo);
157
+                return sendAuditMessage(vo);
142
                 // 修改案件表的版本号
158
                 // 修改案件表的版本号
143
              //   caseApplicationMapper.updateVersionById(vo.getCaseId(),vo.getVersion());
159
              //   caseApplicationMapper.updateVersionById(vo.getCaseId(),vo.getVersion());
144
             }
160
             }
147
        return AjaxResult.success();
163
        return AjaxResult.success();
148
     }
164
     }
149
 
165
 
166
+    /**
167
+     * 给申请人发送短信
168
+     * @param vo
169
+     * @return
170
+     */
171
+    private AjaxResult sendAuditMessage(UpdateSubmitVO vo) {
172
+        // 查询申请人
173
+        CaseApplication logCase = caseApplicationLogMapper.selectByCaseIdAndVersion(vo.getCaseId(), vo.getVersion());
174
+        if(logCase == null){
175
+            return AjaxResult.success();
176
+        }
177
+        CaseAffiliate caseAffiliate = caseAffiliateLogMapper.selectCaseAffiliateByIdentityType(logCase.getCaseLogId(), 1);
178
+        if(caseAffiliate == null){
179
+            return AjaxResult.success();
180
+        }
181
+
182
+        // todo 给申请人发送短信
183
+        SmsUtils.SendSmsRequest request = new SmsUtils.SendSmsRequest();
184
+        request.setTemplateId("1996949");
185
+        request.setPhone(caseAffiliate.getContactTelphone());
186
+        request.setTemplateParamSet(new String[]{caseAffiliate.getName(), logCase.getCaseNum(),vo.getReason()});
187
+        Boolean aBoolean = SmsUtils.sendSms(request);
188
+        //保存短信发送记录
189
+        SmsSendRecord smsSendRecord = new SmsSendRecord();
190
+        smsSendRecord.setCaseId(caseAffiliate.getCaseAppliId());
191
+        CaseApplication caseApplication = new CaseApplication();
192
+        caseApplication.setId(caseAffiliate.getCaseAppliId());
193
+        caseApplication = caseApplicationMapper.selectCaseApplication(caseApplication);
194
+        smsSendRecord.setCaseNum(caseApplication.getCaseNum());
195
+        smsSendRecord.setPhone(request.getPhone());
196
+        smsSendRecord.setSendTime(new Date());
197
+        // 1996949 审核案件结果通知 尊敬的{1}用户,您的{2}仲裁案件,审核未通过,理由为{3},请知晓,如非本人操作,请忽略本短信
198
+        String content = "尊敬的" + caseAffiliate.getName() + ",您的"+logCase.getCaseNum()+"仲裁案件,审核未通过,理由为"+vo.getReason()+",请知晓,如非本人操作,请忽略本短信。";
199
+        smsSendRecord.setSendContent(content);
200
+        smsSendRecord.setCreateBy(getUsername());
201
+        if (aBoolean) {
202
+            smsSendRecord.setSendStatus(1);
203
+        } else {
204
+            smsSendRecord.setSendStatus(0);
205
+        }
206
+        smsRecordMapper.saveSmsSendRecord(smsSendRecord);
207
+        return AjaxResult.success();
208
+    }
209
+
210
+    @Override
211
+    public AjaxResult selectCompareCase(UpdateSubmitVO vo) {
212
+        // 查询当前版本号和上一个版本号的案件
213
+        CaseApplication afterCase = caseApplicationLogMapper.selectByCaseIdAndVersion(vo.getCaseId(), vo.getVersion());
214
+        CaseApplication beforeCase = caseApplicationLogMapper.selectByCaseIdAndVersion(vo.getCaseId(), vo.getVersion() - 1);
215
+        // 查询案件关联人员
216
+        beforeCase.setCaseAffiliates(caseAffiliateLogMapper.selectCaseAffiliate(beforeCase.getCaseLogId()));
217
+        afterCase.setCaseAffiliates(caseAffiliateLogMapper.selectCaseAffiliate(afterCase.getCaseLogId()));
218
+        CompareCaseVO compareCaseVO = new CompareCaseVO();
219
+        compareCaseVO.setBeforeCase(beforeCase);
220
+        compareCaseVO.setAfterCase(afterCase);
221
+        // 对比两个版本修改的字段
222
+        String[] columns = {"caseLogId","caseSubjectAmount", "caseName"};
223
+        String[] affiliateColumns = {"identityNum", "workAddress"};
224
+        StringBuilder changeColumn = new StringBuilder();
225
+        for (String column : columns) {
226
+            String beforeValue = ObjectFieldUtils.getValue(beforeCase, column);
227
+            String afterValue = ObjectFieldUtils.getValue(afterCase, column);
228
+            if (StrUtil.isEmpty(beforeValue) && StrUtil.isNotEmpty(afterValue)) {
229
+                changeColumn.append(column).append(",");
230
+                continue;
231
+            }
232
+            if (StrUtil.isNotEmpty(beforeValue) && StrUtil.isEmpty(afterValue)) {
233
+                changeColumn.append(column).append(",");
234
+                continue;
235
+            }
236
+            if (StrUtil.isNotEmpty(beforeValue) && StrUtil.isNotEmpty(afterValue) && !Objects.equals(beforeValue, afterValue)) {
237
+                changeColumn.append(column).append(",");
238
+                continue;
239
+
240
+            }
241
+
242
+        }
243
+        List<CaseAffiliate> beforeCaseCaseAffiliates = beforeCase.getCaseAffiliates();
244
+        List<CaseAffiliate> afterCaseCaseAffiliates = afterCase.getCaseAffiliates();
245
+        Map<Integer, CaseAffiliate> beforeCaseCaseAffiliateMap = null;
246
+        if (CollectionUtil.isNotEmpty(beforeCaseCaseAffiliates)) {
247
+            // 转为map
248
+            beforeCaseCaseAffiliateMap = beforeCaseCaseAffiliates.stream().collect(Collectors.toMap(CaseAffiliate::getIdentityType, v -> v, (n1, n2) -> n2));
249
+        }
250
+        StringBuilder affiliateChangeColumn;
251
+        // 如果上一个版本和现版本有一个为空,那么所有字段都修改
252
+        if (beforeCaseCaseAffiliates != null && afterCaseCaseAffiliates == null) {
253
+            affiliateChangeColumn = new StringBuilder();
254
+            for (String column : affiliateColumns) {
255
+
256
+                affiliateChangeColumn.append(column).append(",");
257
+            }
258
+
259
+        }
260
+        else if (beforeCaseCaseAffiliates == null && afterCaseCaseAffiliates != null) {
261
+            affiliateChangeColumn = new StringBuilder();
262
+            for (String column : affiliateColumns) {
263
+
264
+                affiliateChangeColumn.append(column).append(",");
265
+            }
266
+        } else if (beforeCaseCaseAffiliates != null && afterCaseCaseAffiliates != null) {
267
+            for (CaseAffiliate afterCaseCaseAffiliate : afterCaseCaseAffiliates) {
268
+                // 找到相同身份类型的数据,进行对比
269
+                affiliateChangeColumn = new StringBuilder();
270
+                int identityType = afterCaseCaseAffiliate.getIdentityType();
271
+                if (beforeCaseCaseAffiliateMap != null && beforeCaseCaseAffiliateMap.containsKey(identityType)) {
272
+                    CaseAffiliate beforeCaseCaseAffiliate = beforeCaseCaseAffiliateMap.get(identityType);
273
+                    for (String column : affiliateColumns) {
274
+                        String beforeValue = ObjectFieldUtils.getValue(beforeCaseCaseAffiliate, column);
275
+                        String afterValue = ObjectFieldUtils.getValue(afterCaseCaseAffiliate, column);
276
+                        if (StrUtil.isEmpty(beforeValue) && StrUtil.isNotEmpty(afterValue)) {
277
+                            affiliateChangeColumn.append(column).append(",");
278
+                            continue;
279
+                        }
280
+                        if (StrUtil.isNotEmpty(beforeValue) && StrUtil.isEmpty(afterValue)) {
281
+                            affiliateChangeColumn.append(column).append(",");
282
+                            continue;
283
+                        }
284
+                        if (StrUtil.isNotEmpty(beforeValue) && StrUtil.isNotEmpty(afterValue) && !Objects.equals(beforeValue, afterValue)) {
285
+                            affiliateChangeColumn.append(column).append(",");
286
+                            continue;
287
+
288
+                        }
289
+
290
+                    }
291
+
292
+
293
+                } else {
294
+                    for (String column : affiliateColumns) {
295
+
296
+                        affiliateChangeColumn.append(column).append(",");
297
+                    }
298
+                }
299
+                afterCaseCaseAffiliate.setChangeColumn(affiliateChangeColumn.toString());
300
+
301
+            }
302
+
303
+
304
+        }
305
+        compareCaseVO.setChangeColumn(changeColumn.toString());
306
+
307
+        return AjaxResult.success(compareCaseVO);
308
+    }
309
+
150
     /**
310
     /**
151
      * 同意撤销
311
      * 同意撤销
152
      * @param vo
312
      * @param vo
161
         vo.setUpdateSubmitStatus(UpdateSubmitStatus.AGREE_REVOKE.getCode());
321
         vo.setUpdateSubmitStatus(UpdateSubmitStatus.AGREE_REVOKE.getCode());
162
         caseApplicationLogMapper.updateStatus(vo);
322
         caseApplicationLogMapper.updateStatus(vo);
163
         // 根据caseLogId查询相关人员表
323
         // 根据caseLogId查询相关人员表
164
-        CaseAffiliate caseAffiliate = new CaseAffiliate();
165
-        caseAffiliate.setCaseAppliLogId(caseApplicationLog.getCaseLogId());
166
-        List<CaseAffiliate> affiliateLogList = caseAffiliateLogMapper.selectCaseAffiliate(caseAffiliate);
324
+        List<CaseAffiliate> affiliateLogList = caseAffiliateLogMapper.selectCaseAffiliate(caseApplicationLog.getCaseLogId());
167
         caseApplicationLog.setId(caseApplicationLog.getCaseAppliId());
325
         caseApplicationLog.setId(caseApplicationLog.getCaseAppliId());
168
         // 更新案件主表
326
         // 更新案件主表
169
         caseApplicationMapper.updataCaseApplication(caseApplicationLog);
327
         caseApplicationMapper.updataCaseApplication(caseApplicationLog);
170
 
328
 
171
         // 更新相关人员主表
329
         // 更新相关人员主表
172
-        caseAffiliateMapper.updataCaseAffiliateByCaseId(caseApplicationLog.getCaseAppliId(), affiliateLogList);
330
+        if(CollectionUtil.isNotEmpty(affiliateLogList)){
331
+            for (CaseAffiliate caseAffiliate : affiliateLogList) {
332
+                caseAffiliateMapper.updataCaseAffiliate(caseAffiliate);
333
+            }
334
+        }
335
+       // caseAffiliateMapper.updateCaseAffiliateByCaseId(caseApplicationLog.getCaseAppliId(), affiliateLogList);
173
     }
336
     }
174
 }
337
 }

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

1084
         }
1084
         }
1085
         caseApplication.setVersion(maxVersion+1);
1085
         caseApplication.setVersion(maxVersion+1);
1086
         // 将修改提交状态改为未提交
1086
         // 将修改提交状态改为未提交
1087
-        caseApplication.setUpdateSubmitStatus(UpdateSubmitStatus.UNCOMMITTED.getCode());
1087
+       // caseApplication.setUpdateSubmitStatus(UpdateSubmitStatus.UNCOMMITTED.getCode());
1088
         // 修改案件表的版本号
1088
         // 修改案件表的版本号
1089
      //   caseApplicationMapper.updateVersionById(caseApplication.getId(),caseApplication.getVersion());
1089
      //   caseApplicationMapper.updateVersionById(caseApplication.getId(),caseApplication.getVersion());
1090
 
1090
 
1264
             }
1264
             }
1265
         }
1265
         }
1266
         caseApplicationselect.setCaseAttachList(caseAttachList);
1266
         caseApplicationselect.setCaseAttachList(caseAttachList);
1267
-        CaseAffiliate caseAffiliateLog = new CaseAffiliate();
1268
-        caseAffiliateLog.setCaseAppliLogId(caseApplicationselect.getCaseLogId());
1269
-        List<CaseAffiliate> caseAffiliatListeselect = caseAffiliateLogMapper.selectCaseAffiliate(caseAffiliateLog);
1267
+        List<CaseAffiliate> caseAffiliatListeselect = caseAffiliateLogMapper.selectCaseAffiliate(caseApplicationselect.getCaseLogId());
1270
         if (caseAffiliatListeselect != null) {
1268
         if (caseAffiliatListeselect != null) {
1271
             // 查询组织机构
1269
             // 查询组织机构
1272
             List<SysDept> sysDepts = sysDeptMapper.selectDeptList(new SysDept());
1270
             List<SysDept> sysDepts = sysDeptMapper.selectDeptList(new SysDept());

+ 1
- 1
ruoyi-system/src/main/resources/mapper/wisdomarbitrate/CaseAffiliateMapper.xml Vedi File

120
 
120
 
121
             application_organ_id= #{item.applicationOrganId},
121
             application_organ_id= #{item.applicationOrganId},
122
             application_organ_name= #{item.applicationOrganName},
122
             application_organ_name= #{item.applicationOrganName},
123
-            name = #{name},
123
+            name = #{item.name},
124
             identity_num = #{item.identityNum},
124
             identity_num = #{item.identityNum},
125
             contact_telphone = #{item.contactTelphone},
125
             contact_telphone = #{item.contactTelphone},
126
             contact_address = #{item.contactAddress},
126
             contact_address = #{item.contactAddress},

+ 11
- 5
ruoyi-system/src/main/resources/mapper/wisdomarbitrate/CaseApplicationMapper.xml Vedi File

300
                 FROM
300
                 FROM
301
                 case_application_log
301
                 case_application_log
302
                 WHERE case_appli_id = c.id
302
                 WHERE case_appli_id = c.id
303
-                and update_submit_status not IN ( 1, 2 ))
303
+                 )
304
                 WHERE
304
                 WHERE
305
                 ca.identity_type=1 and c.case_status in (1,5,11,15,16,17,31)
305
                 ca.identity_type=1 and c.case_status in (1,5,11,15,16,17,31)
306
+                <if test="caseStatusList != null and caseStatusList.size() > 0">
307
+                    and c.case_status in
308
+                    <foreach item="caseStatus" collection="caseStatusList" open="(" separator="," close=")">
309
+                        #{caseStatus}
310
+                    </foreach>
311
+                </if>
306
                 <if test="deptIds != null and deptIds.size() > 0">
312
                 <if test="deptIds != null and deptIds.size() > 0">
307
                     and ca.application_organ_id in
313
                     and ca.application_organ_id in
308
                     <foreach item="item" collection="deptIds" open="(" separator="," close=")">
314
                     <foreach item="item" collection="deptIds" open="(" separator="," close=")">
435
                 FROM
441
                 FROM
436
                 case_application_log
442
                 case_application_log
437
                 WHERE
443
                 WHERE
438
-                update_submit_status IN ( 1, 2 ) and c.id = l.case_appli_id)
444
+                update_submit_status IN ( 1, 2 ) and c.id = case_appli_id)
439
             </if>
445
             </if>
440
         </trim>
446
         </trim>
441
         ) t1
447
         ) t1
742
                 FROM
748
                 FROM
743
                 case_application c
749
                 case_application c
744
                 JOIN case_affiliate ca ON ca.case_appli_id = c.id AND ca.identity_type = 1
750
                 JOIN case_affiliate ca ON ca.case_appli_id = c.id AND ca.identity_type = 1
745
-                JOIN case_application_log l on l.case_appli_id=c.id and l.update_submit_status not in(1,4) and l.version
751
+                JOIN case_application_log l on l.case_appli_id=c.id and l.update_submit_status not in(1,2) and l.version
746
                 = (
752
                 = (
747
                 SELECT
753
                 SELECT
748
                 max( version ) version
754
                 max( version ) version
749
                 FROM
755
                 FROM
750
                 case_application_log
756
                 case_application_log
751
                 WHERE case_appli_id = c.id
757
                 WHERE case_appli_id = c.id
752
-                and update_submit_status not IN ( 1, 4 ))
758
+               )
753
                 WHERE
759
                 WHERE
754
                 ca.identity_type=1 and c.case_status in (1,5,11,15,16,17,31)
760
                 ca.identity_type=1 and c.case_status in (1,5,11,15,16,17,31)
755
                 <if test="deptIds != null and deptIds.size() > 0">
761
                 <if test="deptIds != null and deptIds.size() > 0">
807
                 FROM
813
                 FROM
808
                 case_application_log
814
                 case_application_log
809
                 WHERE
815
                 WHERE
810
-                update_submit_status IN ( 1, 4 ) and c.id = l.case_appli_id)
816
+                update_submit_status IN ( 1, 4 ) and c.id = case_appli_id)
811
 
817
 
812
             </if>
818
             </if>
813
         </trim>
819
         </trim>