소스 검색

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

qtz 2 년 전
부모
커밋
94b304d417

+ 12
- 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/CaseApplicationController.java 파일 보기

8
 import com.ruoyi.common.enums.BusinessType;
8
 import com.ruoyi.common.enums.BusinessType;
9
 import com.ruoyi.common.exception.EsignDemoException;
9
 import com.ruoyi.common.exception.EsignDemoException;
10
 import com.ruoyi.common.utils.WxAppletNotifyUtils;
10
 import com.ruoyi.common.utils.WxAppletNotifyUtils;
11
+import com.ruoyi.wisdomarbitrate.domain.ArbitrateRecord;
11
 import com.ruoyi.wisdomarbitrate.domain.CaseApplication;
12
 import com.ruoyi.wisdomarbitrate.domain.CaseApplication;
12
 import com.ruoyi.wisdomarbitrate.domain.SealSignRecord;
13
 import com.ruoyi.wisdomarbitrate.domain.SealSignRecord;
13
 import com.ruoyi.wisdomarbitrate.domain.vo.SendRoomNoMessageVO;
14
 import com.ruoyi.wisdomarbitrate.domain.vo.SendRoomNoMessageVO;
243
         return success(schemeUrl);
244
         return success(schemeUrl);
244
     }
245
     }
245
 
246
 
247
+    /**
248
+     * 生成庭审笔录
249
+     * @param arbitrateRecord
250
+     * @return
251
+     */
252
+    @PostMapping("/creatTrialRecord")
253
+    @PreAuthorize("@ss.hasPermi('caseManagement:list:creatTrialRecord')")
254
+    public AjaxResult creatTrialRecord(@Validated @RequestBody ArbitrateRecord arbitrateRecord){
255
+        return caseApplicationService.creatTrialRecord(arbitrateRecord);
256
+    }
257
+
246
 }
258
 }

+ 36
- 1
ruoyi-common/src/main/java/com/ruoyi/common/utils/file/SaaSAPIFileUtils.java 파일 보기

1
 package com.ruoyi.common.utils.file;
1
 package com.ruoyi.common.utils.file;
2
 
2
 
3
 import cn.hutool.json.JSONObject;
3
 import cn.hutool.json.JSONObject;
4
+import com.google.gson.Gson;
5
+import com.google.gson.JsonArray;
6
+import com.google.gson.JsonObject;
4
 import com.ruoyi.common.config.EsignDemoConfig;
7
 import com.ruoyi.common.config.EsignDemoConfig;
5
 import com.ruoyi.common.constant.EsignHeaderConstant;
8
 import com.ruoyi.common.constant.EsignHeaderConstant;
9
+import com.ruoyi.common.constant.FileTransformation;
6
 import com.ruoyi.common.core.domain.entity.EsignHttpResponse;
10
 import com.ruoyi.common.core.domain.entity.EsignHttpResponse;
7
 import com.ruoyi.common.enums.EsignRequestType;
11
 import com.ruoyi.common.enums.EsignRequestType;
8
 import com.ruoyi.common.exception.EsignDemoException;
12
 import com.ruoyi.common.exception.EsignDemoException;
9
 import com.ruoyi.common.utils.EsignHttpHelper;
13
 import com.ruoyi.common.utils.EsignHttpHelper;
10
 import com.ruoyi.common.utils.bean.EsignFileBean;
14
 import com.ruoyi.common.utils.bean.EsignFileBean;
15
+import com.ruoyi.common.utils.uuid.IdUtils;
11
 
16
 
17
+import java.time.LocalDate;
12
 import java.util.Map;
18
 import java.util.Map;
13
 
19
 
14
 public class SaaSAPIFileUtils {
20
 public class SaaSAPIFileUtils {
79
         return EsignHttpHelper.doCommHttp(eSignHost, apiaddr,requestType , jsonParm, header,true);
85
         return EsignHttpHelper.doCommHttp(eSignHost, apiaddr,requestType , jsonParm, header,true);
80
     }
86
     }
81
 
87
 
82
-  public static void main(String[] args) throws EsignDemoException {
88
+  public static void main1(String[] args) throws EsignDemoException {
83
       String filePath = "D:\\home\\ruoyi\\uploadPath\\upload\\2023\\10\\7\\23893bfd3f2249ffa5c82850c11c482e.docx";
89
       String filePath = "D:\\home\\ruoyi\\uploadPath\\upload\\2023\\10\\7\\23893bfd3f2249ffa5c82850c11c482e.docx";
84
         EsignHttpResponse uploadUrl = getUploadUrl(filePath);
90
         EsignHttpResponse uploadUrl = getUploadUrl(filePath);
85
         String body = uploadUrl.getBody();
91
         String body = uploadUrl.getBody();
96
 //        System.out.println("这是获取文件上传状态的结果:"+fileStatus.getBody());
102
 //        System.out.println("这是获取文件上传状态的结果:"+fileStatus.getBody());
97
 //        getFileStatus("a808f1f39a744357a2f018e4ab34c55d");
103
 //        getFileStatus("a808f1f39a744357a2f018e4ab34c55d");
98
 //     fileDownloadUrl("");
104
 //     fileDownloadUrl("");
105
+    }
106
+    public static void main(String[] args) throws EsignDemoException {
107
+        String signFlowId = "41e6732b48c54c63a91b2379c352212d";
108
+        Gson gson = new Gson();
109
+        EsignHttpResponse fileDownload = fileDownloadUrl(signFlowId);
110
+        JsonObject fileDownloadJsonObject = gson.fromJson(fileDownload.getBody(),JsonObject.class);
111
+        JsonObject fileDownloadData = fileDownloadJsonObject.getAsJsonObject("data");
112
+        JsonArray filesArray = fileDownloadData.get("files").getAsJsonArray();
113
+        if(filesArray!=null&&filesArray.size()>0){
114
+            JsonObject fileObject = (JsonObject)filesArray.get(0);
115
+            String fileDownloadUrl = fileObject.get("downloadUrl").toString();
116
+            String fileName = java.util.UUID.randomUUID().toString().replace("-", "") + ".pdf";
117
+            String savePath = "/home/ruoyi/uploadPath/upload";
118
+            LocalDate now = LocalDate.now();
119
+            String year = Integer.toString(now.getYear());
120
+            String month = String.format("%02d", now.getMonthValue());
121
+            String day = String.format("%02d", now.getDayOfMonth());
122
+            String saveName = "/profile/upload/" + year + "/" + month + "/" + day + "/" + fileName;
123
+            String dir = "F:\\ymkf\\shanghaixm\\testCaijueshu\\" + fileName;
124
+            String fileDownloadUrlnew  = fileDownloadUrl.substring(1,fileDownloadUrl.length()-1);
125
+            FileTransformation.downLoadFileByUrl(fileDownloadUrlnew,dir);
126
+
127
+
128
+        }
129
+
130
+
131
+
132
+
133
+
99
     }
134
     }
100
 }
135
 }

+ 10
- 0
ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/CaseApplication.java 파일 보기

101
 
101
 
102
     /** 案件描述 */
102
     /** 案件描述 */
103
     private String caseDescribe;
103
     private String caseDescribe;
104
+    /** 裁决书URL */
105
+    private String  filearbitraUrl;
106
+
107
+    public String getFilearbitraUrl() {
108
+        return filearbitraUrl;
109
+    }
110
+
111
+    public void setFilearbitraUrl(String filearbitraUrl) {
112
+        this.filearbitraUrl = filearbitraUrl;
113
+    }
104
 
114
 
105
     /** 是否同意组庭 */
115
     /** 是否同意组庭 */
106
     private Integer isAgreePendTral;
116
     private Integer isAgreePendTral;

+ 4
- 0
ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/CaseAttachMapper.java 파일 보기

2
 
2
 
3
 import com.ruoyi.wisdomarbitrate.domain.CaseApplication;
3
 import com.ruoyi.wisdomarbitrate.domain.CaseApplication;
4
 import com.ruoyi.wisdomarbitrate.domain.CaseAttach;
4
 import com.ruoyi.wisdomarbitrate.domain.CaseAttach;
5
+import com.ruoyi.wisdomarbitrate.domain.SealSignRecord;
5
 
6
 
6
 import java.util.List;
7
 import java.util.List;
7
 
8
 
14
 
15
 
15
 
16
 
16
     int updateCaseAttach(CaseAttach caseAttach);
17
     int updateCaseAttach(CaseAttach caseAttach);
18
+
19
+    int updateCaseAttachBycaseid(CaseAttach caseAttach);
20
+
17
 }
21
 }

+ 4
- 0
ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/ICaseApplicationService.java 파일 보기

1
 package com.ruoyi.wisdomarbitrate.service;
1
 package com.ruoyi.wisdomarbitrate.service;
2
 
2
 
3
+import com.ruoyi.common.core.domain.AjaxResult;
3
 import com.ruoyi.common.exception.EsignDemoException;
4
 import com.ruoyi.common.exception.EsignDemoException;
5
+import com.ruoyi.wisdomarbitrate.domain.ArbitrateRecord;
4
 import com.ruoyi.wisdomarbitrate.domain.CaseApplication;
6
 import com.ruoyi.wisdomarbitrate.domain.CaseApplication;
5
 import com.ruoyi.wisdomarbitrate.domain.SealSignRecord;
7
 import com.ruoyi.wisdomarbitrate.domain.SealSignRecord;
6
 import com.ruoyi.wisdomarbitrate.domain.vo.SendRoomNoMessageVO;
8
 import com.ruoyi.wisdomarbitrate.domain.vo.SendRoomNoMessageVO;
46
     SealSignRecord selectSignUrl(CaseApplication caseApplication) throws EsignDemoException;
48
     SealSignRecord selectSignUrl(CaseApplication caseApplication) throws EsignDemoException;
47
 
49
 
48
     SealSignRecord selectSealUrl(CaseApplication caseApplication) throws EsignDemoException;
50
     SealSignRecord selectSealUrl(CaseApplication caseApplication) throws EsignDemoException;
51
+
52
+    AjaxResult creatTrialRecord(ArbitrateRecord arbitrateRecord);
49
 }
53
 }

+ 5
- 4
ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/AdjudicationServiceImpl.java 파일 보기

56
     private ICaseLogRecordService caseLogRecordService;
56
     private ICaseLogRecordService caseLogRecordService;
57
 
57
 
58
     @Override
58
     @Override
59
+    @Transactional
59
     public AjaxResult createDocument(CaseApplication caseApplication) {
60
     public AjaxResult createDocument(CaseApplication caseApplication) {
60
         try {
61
         try {
61
             Map<String, Object> datas = new HashMap<>();
62
             Map<String, Object> datas = new HashMap<>();
125
             datas.put("year", year);
126
             datas.put("year", year);
126
             datas.put("months", month);
127
             datas.put("months", month);
127
             datas.put("day", day);
128
             datas.put("day", day);
128
-            String modalFilePath = "/data/arbitrate-document/template/仲裁裁决书模板.docx";
129
-            //String modalFilePath = "D:/develop/仲裁裁决书模板 (2).docx";
130
-            String saveFolderPath = "/home/ruoyi/uploadPath/upload/" + year + "/" + month + "/" + day;
131
-            //String saveFolderPath = "D:/data/" + now.getYear() + "/" + now.getMonthValue() + "/" + now.getDayOfMonth();
129
+//            String modalFilePath = "/data/arbitrate-document/template/仲裁裁决书模板.docx";
130
+            String modalFilePath = "D:/develop/仲裁裁决书模板 (2).docx";
131
+//            String saveFolderPath = "/home/ruoyi/uploadPath/upload/" + year + "/" + month + "/" + day;
132
+            String saveFolderPath = "D:/data/" + now.getYear() + "/" + now.getMonthValue() + "/" + now.getDayOfMonth();
132
             String fileName = UUID.randomUUID().toString().replace("-", "") + ".docx";
133
             String fileName = UUID.randomUUID().toString().replace("-", "") + ".docx";
133
             String saveName = "/profile/upload/" + year + "/" + month + "/" + day + "/" + fileName;
134
             String saveName = "/profile/upload/" + year + "/" + month + "/" + day + "/" + fileName;
134
             String resultFilePath = saveFolderPath + "/" + fileName;
135
             String resultFilePath = saveFolderPath + "/" + fileName;

+ 174
- 0
ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CaseApplicationServiceImpl.java 파일 보기

20
 import com.ruoyi.common.core.domain.entity.SysUser;
20
 import com.ruoyi.common.core.domain.entity.SysUser;
21
 import com.ruoyi.common.exception.EsignDemoException;
21
 import com.ruoyi.common.exception.EsignDemoException;
22
 import com.ruoyi.common.exception.ServiceException;
22
 import com.ruoyi.common.exception.ServiceException;
23
+import com.ruoyi.common.utils.WordUtil;
23
 import com.ruoyi.common.utils.file.SaaSAPIFileUtils;
24
 import com.ruoyi.common.utils.file.SaaSAPIFileUtils;
24
 
25
 
25
 
26
 
44
 import org.springframework.transaction.annotation.Transactional;
45
 import org.springframework.transaction.annotation.Transactional;
45
 
46
 
46
 import java.io.File;
47
 import java.io.File;
48
+import java.io.IOException;
47
 import java.math.BigDecimal;
49
 import java.math.BigDecimal;
50
+import java.nio.file.Files;
51
+import java.nio.file.Path;
52
+import java.nio.file.StandardCopyOption;
48
 import java.text.SimpleDateFormat;
53
 import java.text.SimpleDateFormat;
54
+import java.time.LocalDate;
55
+import java.time.ZoneId;
49
 import java.util.*;
56
 import java.util.*;
50
 import java.util.regex.Pattern;
57
 import java.util.regex.Pattern;
51
 import java.util.stream.Collectors;
58
 import java.util.stream.Collectors;
75
     private SysUserMapper sysUserMapper;
82
     private SysUserMapper sysUserMapper;
76
     @Autowired
83
     @Autowired
77
     private SealSignRecordMapper sealSignRecordMapper;
84
     private SealSignRecordMapper sealSignRecordMapper;
85
+    @Autowired
86
+    private CaseLogRecordMapper caseLogRecordMapper;
78
     // 手机号正则
87
     // 手机号正则
79
     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}$");
88
     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}$");
80
 
89
 
968
         return sealSignRecordReslt;
977
         return sealSignRecordReslt;
969
     }
978
     }
970
 
979
 
980
+    @Override
981
+    @Transactional
982
+    public AjaxResult creatTrialRecord(ArbitrateRecord arbitrateRecordselect) {
983
+        //生成仲裁结果
984
+        CaseApplication caseApplicationselect = new CaseApplication();
985
+        caseApplicationselect.setId(arbitrateRecordselect.getCaseAppliId());
986
+        CaseApplication caseApplication = caseApplicationMapper.selectCaseApplication(caseApplicationselect);
987
+        String createBy = caseApplication.getCreateBy();
988
+        if (createBy!=null){
989
+            arbitrateRecordselect.setCreateBy(createBy);
990
+        }
991
+        //先判断案件是否已经提交过仲裁结果
992
+        ArbitrateRecord arbitrateRecordsele = arbitrateRecordMapper.selectArbitrateRecord(arbitrateRecordselect);
993
+        if (arbitrateRecordsele!=null){
994
+            int i = arbitrateRecordMapper.updataArbitrateRecord(arbitrateRecordselect);
995
+            if (i>0){
996
+                //案件日志表里添加数据
997
+                CaseLogRecord caseLogRecord = new CaseLogRecord();
998
+                caseLogRecord.setCaseAppliId(caseApplication.getId());
999
+                caseLogRecord.setCaseNode(caseApplication.getCaseStatus());
1000
+                if (createBy!=null){
1001
+                    caseLogRecord.setCreateBy(createBy);
1002
+                }
1003
+                caseLogRecordMapper.insertCaseLogRecord(caseLogRecord);
1004
+
1005
+                // 新增日志
1006
+                CaseLogUtils.insertCaseLog(caseApplication.getId(),CaseApplicationConstants.GENERATED_ARBITRATION,"");
1007
+
1008
+
1009
+            }
1010
+        }else {
1011
+            //提交仲裁结果
1012
+            int i =  arbitrateRecordMapper.insertArbitrateRecord(arbitrateRecordselect);
1013
+
1014
+            if (i>0){
1015
+                //案件日志表里添加数据
1016
+                CaseLogRecord caseLogRecord = new CaseLogRecord();
1017
+                caseLogRecord.setCaseAppliId(caseApplication.getId());
1018
+                caseLogRecord.setCaseNode(caseApplication.getCaseStatus());
1019
+                if (createBy!=null){
1020
+                    caseLogRecord.setCreateBy(createBy);
1021
+                }
1022
+                caseLogRecordMapper.insertCaseLogRecord(caseLogRecord);
1023
+
1024
+                // 新增日志
1025
+                CaseLogUtils.insertCaseLog(caseApplication.getId(),CaseApplicationConstants.GENERATED_ARBITRATION,"");
1026
+
1027
+            }
1028
+        }
1029
+
1030
+        //生成庭审笔录
1031
+        try {
1032
+            Map<String, Object> datas = new HashMap<>();
1033
+            Long id = caseApplication.getId();
1034
+            if (id == null) {
1035
+                return null;
1036
+            }
1037
+
1038
+            //获取仲裁记录表里的相关信息
1039
+            ArbitrateRecord arbitrateRecord = new ArbitrateRecord();
1040
+            arbitrateRecord.setCaseAppliId(id);
1041
+            ArbitrateRecord arbitrateRecord1 = arbitrateRecordMapper.selectArbitrateRecord(arbitrateRecord);
1042
+
1043
+            //获取案件关联人信息
1044
+            CaseAffiliate caseAffiliate = new CaseAffiliate();
1045
+            caseAffiliate.setCaseAppliId(id);
1046
+            List<CaseAffiliate> caseAffiliates = caseAffiliateMapper.selectCaseAffiliate(caseAffiliate);
1047
+            if (caseAffiliates != null && caseAffiliates.size() > 0) {
1048
+                for (CaseAffiliate affiliate : caseAffiliates) {
1049
+                    //获取身份类型
1050
+                    int identityType = affiliate.getIdentityType();
1051
+                    if (identityType == 1) {    //申请人
1052
+                        datas.put("appName", affiliate.getName());
1053
+                        datas.put("appIDNo", affiliate.getIdentityNum());
1054
+                        datas.put("appAddress", affiliate.getContactAddress());
1055
+                        datas.put("appAgentName", affiliate.getNameAgent());
1056
+                        datas.put("appAgentIDNo", affiliate.getIdentityNumAgent());
1057
+                    } else if (identityType == 2) {  //被申请人
1058
+                        datas.put("resName", affiliate.getName());
1059
+                        datas.put("resIDNo", affiliate.getIdentityNum());
1060
+                        datas.put("resAddress", affiliate.getContactAddress());
1061
+                        datas.put("resAgentName", affiliate.getNameAgent());
1062
+                        datas.put("resAgentIDNo", affiliate.getIdentityNumAgent());
1063
+                    }
1064
+                }
1065
+            }
1066
+            String arbitratorName = caseApplication.getArbitratorName();
1067
+            datas.put("caseName", caseApplication.getCaseName());
1068
+            datas.put("arbitratorName", arbitratorName);
1069
+            Date hearDate = caseApplication.getHearDate();
1070
+            if (hearDate != null) {
1071
+                LocalDate localDate = hearDate.toInstant()
1072
+                        .atZone(ZoneId.systemDefault())
1073
+                        .toLocalDate();
1074
+                datas.put("hearYear", localDate.getYear());
1075
+                datas.put("hearMonths", localDate.getMonthValue());
1076
+                datas.put("hearDay", localDate.getDayOfMonth());
1077
+            } else {
1078
+                datas.put("hearYear", null);
1079
+                datas.put("hearMonths", null);
1080
+                datas.put("hearDay", null);
1081
+            }
1082
+            datas.put("appArbitrationClaims", caseApplication.getArbitratClaims());
1083
+            if (arbitrateRecord1 != null) {
1084
+                datas.put("evidenDetermi", arbitrateRecord1.getEvidenDetermi());
1085
+                datas.put("factDetermi", arbitrateRecord1.getFactDetermi());
1086
+                datas.put("caseSketch", arbitrateRecord1.getCaseSketch());
1087
+                datas.put("arbitrateThink", arbitrateRecord1.getArbitrateThink());
1088
+                datas.put("rulingFollows", arbitrateRecord1.getRulingFollows());
1089
+            }
1090
+            datas.put("legalProvisions", "仲裁法");
1091
+            LocalDate now = LocalDate.now();
1092
+            String year = Integer.toString(now.getYear());
1093
+            String month = String.format("%02d", now.getMonthValue());
1094
+            String day = String.format("%02d", now.getDayOfMonth());
1095
+            datas.put("year", year);
1096
+            datas.put("months", month);
1097
+            datas.put("day", day);
1098
+            String modalFilePath = "/data/arbitrate-document/template/仲裁裁决书模板.docx";
1099
+//            String modalFilePath = "D:/develop/仲裁裁决书模板 (2).docx";
1100
+            String saveFolderPath = "/home/ruoyi/uploadPath/upload/" + year + "/" + month + "/" + day;
1101
+//            String saveFolderPath = "D:/data/" + now.getYear() + "/" + now.getMonthValue() + "/" + now.getDayOfMonth();
1102
+            String fileName = UUID.randomUUID().toString().replace("-", "") + ".docx";
1103
+            String saveName = "/profile/upload/" + year + "/" + month + "/" + day + "/" + fileName;
1104
+            String resultFilePath = saveFolderPath + "/" + fileName;
1105
+            // 创建日期目录
1106
+            File saveFolder = new File(saveFolderPath);
1107
+            if (!saveFolder.exists()) {
1108
+                saveFolder.mkdirs();
1109
+            }
1110
+            Path sourcePath = new File(modalFilePath).toPath();
1111
+            Path destinationPath = new File(resultFilePath).toPath();
1112
+            Files.copy(sourcePath, destinationPath, StandardCopyOption.REPLACE_EXISTING);
1113
+            String docFilePath = WordUtil.getDocFilePath(datas, modalFilePath, resultFilePath);
1114
+            String savePath = docFilePath.substring(0, docFilePath.indexOf("/upload/") + 8);
1115
+
1116
+//            String savePath = saveFolderPath;
1117
+//            saveName = fileName;
1118
+
1119
+            //将庭审笔录保存到附件表里
1120
+            CaseAttach caseAttach = CaseAttach.builder()
1121
+                    .caseAppliId(id)
1122
+                    .annexName(saveName)
1123
+                    .annexPath(savePath) 
1124
+                    .annexType(7)
1125
+                    .build();
1126
+            int i = caseAttachMapper.save(caseAttach);
1127
+            if (i > 0) {
1128
+                if (arbitrateRecord1 != null) {
1129
+                    Integer annexId = caseAttach.getAnnexId();
1130
+                    //将附件id保存到仲裁记录表里面
1131
+                    arbitrateRecord1.setAnnexId(annexId);
1132
+                    arbitrateRecordMapper.updataArbitrateRecord(arbitrateRecord1);
1133
+                }
1134
+            }
1135
+            //获取案件详细信息
1136
+            CaseApplication caseApplicationSelct = caseApplicationMapper.selectCaseApplication(caseApplication);
1137
+            return AjaxResult.success(caseApplicationSelct);
1138
+        } catch (IOException e) {
1139
+            e.printStackTrace();
1140
+            return AjaxResult.error("生成庭审笔录异常");
1141
+        }
1142
+
1143
+    }
1144
+
971
     @Override
1145
     @Override
972
     @Transactional
1146
     @Transactional
973
     public int pendTralSure(CaseApplication caseApplication) {
1147
     public int pendTralSure(CaseApplication caseApplication) {

+ 12
- 4
ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/utils/FixSelectFlowDetailUtils.java 파일 보기

4
 import com.google.gson.JsonArray;
4
 import com.google.gson.JsonArray;
5
 import com.google.gson.JsonObject;
5
 import com.google.gson.JsonObject;
6
 import com.ruoyi.common.constant.CaseApplicationConstants;
6
 import com.ruoyi.common.constant.CaseApplicationConstants;
7
+import com.ruoyi.common.constant.FileTransformation;
7
 import com.ruoyi.common.core.domain.entity.EsignHttpResponse;
8
 import com.ruoyi.common.core.domain.entity.EsignHttpResponse;
8
 import com.ruoyi.common.exception.EsignDemoException;
9
 import com.ruoyi.common.exception.EsignDemoException;
9
 import com.ruoyi.common.utils.file.SaaSAPIFileUtils;
10
 import com.ruoyi.common.utils.file.SaaSAPIFileUtils;
10
 import com.ruoyi.wisdomarbitrate.domain.CaseApplication;
11
 import com.ruoyi.wisdomarbitrate.domain.CaseApplication;
12
+import com.ruoyi.wisdomarbitrate.domain.CaseAttach;
11
 import com.ruoyi.wisdomarbitrate.domain.SealSignRecord;
13
 import com.ruoyi.wisdomarbitrate.domain.SealSignRecord;
12
 import com.ruoyi.wisdomarbitrate.mapper.CaseApplicationMapper;
14
 import com.ruoyi.wisdomarbitrate.mapper.CaseApplicationMapper;
15
+import com.ruoyi.wisdomarbitrate.mapper.CaseAttachMapper;
13
 import com.ruoyi.wisdomarbitrate.mapper.SealSignRecordMapper;
16
 import com.ruoyi.wisdomarbitrate.mapper.SealSignRecordMapper;
14
 import org.springframework.beans.factory.annotation.Autowired;
17
 import org.springframework.beans.factory.annotation.Autowired;
15
 import org.springframework.scheduling.annotation.Scheduled;
18
 import org.springframework.scheduling.annotation.Scheduled;
16
 import org.springframework.stereotype.Component;
19
 import org.springframework.stereotype.Component;
17
 
20
 
21
+import java.time.LocalDate;
18
 import java.util.List;
22
 import java.util.List;
23
+import java.util.UUID;
19
 
24
 
20
 @Component
25
 @Component
21
 public class FixSelectFlowDetailUtils {
26
 public class FixSelectFlowDetailUtils {
24
     private CaseApplicationMapper caseApplicationMapper;
29
     private CaseApplicationMapper caseApplicationMapper;
25
     @Autowired
30
     @Autowired
26
     private SealSignRecordMapper sealSignRecordMapper;
31
     private SealSignRecordMapper sealSignRecordMapper;
32
+    @Autowired
33
+    private CaseAttachMapper caseAttachMapper;
27
 
34
 
28
-    @Scheduled(cron = "0/3 * * * * ?")
35
+//    @Scheduled(cron = "0/3 * * * * ?")
29
     public void fixExecuteSelectFlowDetailUtils() throws EsignDemoException {
36
     public void fixExecuteSelectFlowDetailUtils() throws EsignDemoException {
30
         Gson gson = new Gson();
37
         Gson gson = new Gson();
31
 
38
 
83
                     CaseApplication caseApplicationselect = caseApplicationMapper.selectCaseApplication(caseApplication);
90
                     CaseApplication caseApplicationselect = caseApplicationMapper.selectCaseApplication(caseApplication);
84
                     if(caseApplicationselect.getCaseStatus().intValue()==CaseApplicationConstants.ARBITRATED_SEAL){
91
                     if(caseApplicationselect.getCaseStatus().intValue()==CaseApplicationConstants.ARBITRATED_SEAL){
85
                         caseApplication.setCaseStatus(CaseApplicationConstants.ARBITRATION_DELIVERY);
92
                         caseApplication.setCaseStatus(CaseApplicationConstants.ARBITRATION_DELIVERY);
86
-                        caseApplicationMapper.submitCaseApplication(caseApplication);
87
-
88
                         //下载审核完成的裁决书,
93
                         //下载审核完成的裁决书,
89
                         String signFlowId = sealSignRecord.getSignFlowid();
94
                         String signFlowId = sealSignRecord.getSignFlowid();
90
                         EsignHttpResponse fileDownload = SaaSAPIFileUtils.fileDownloadUrl(signFlowId);
95
                         EsignHttpResponse fileDownload = SaaSAPIFileUtils.fileDownloadUrl(signFlowId);
96
                             String fileDownloadUrl = fileObject.get("downloadUrl").toString();
101
                             String fileDownloadUrl = fileObject.get("downloadUrl").toString();
97
                             //修改"签署用印记录表"的状态为签署完成
102
                             //修改"签署用印记录表"的状态为签署完成
98
                             sealSignRecord.setSignFlowStatus(3);
103
                             sealSignRecord.setSignFlowStatus(3);
99
-                            sealSignRecord.setFileDownloadUrl(fileDownloadUrl);
104
+                            sealSignRecord.setFileDownloadUrl(fileDownloadUrl.substring(1,fileDownloadUrl.length()-1));
100
                             sealSignRecordMapper.updataSealSignRecord(sealSignRecord);
105
                             sealSignRecordMapper.updataSealSignRecord(sealSignRecord);
106
+                            String filearbitraUrl  = fileDownloadUrl.substring(1,fileDownloadUrl.length()-1);
107
+                            caseApplication.setFilearbitraUrl(filearbitraUrl);
108
+                            caseApplicationMapper.submitCaseApplication(caseApplication);
101
 
109
 
102
                         }
110
                         }
103
                     }
111
                     }

+ 3
- 1
ruoyi-system/src/main/resources/mapper/wisdomarbitrate/CaseApplicationMapper.xml 파일 보기

34
         <result property="arbitratorName"   column="arbitrator_name"  />
34
         <result property="arbitratorName"   column="arbitrator_name"  />
35
         <result property="paymentStatus"   column="payment_status"  />
35
         <result property="paymentStatus"   column="payment_status"  />
36
         <result property="paymentStatusName"   column="paymentStatusName"  />
36
         <result property="paymentStatusName"   column="paymentStatusName"  />
37
+        <result property="filearbitraUrl"   column="filearbitra_url"  />
37
     </resultMap>
38
     </resultMap>
38
 
39
 
39
 
40
 
55
         c.hear_date ,c.arbitrat_claims ,
56
         c.hear_date ,c.arbitrat_claims ,
56
         c.loan_start_date ,c.loan_end_date ,c.claim_princi_owed ,c.claim_interest_owed ,c.claim_liquid_damag ,c.fee_payable ,
57
         c.loan_start_date ,c.loan_end_date ,c.claim_princi_owed ,c.claim_interest_owed ,c.claim_liquid_damag ,c.fee_payable ,
57
         c.begin_video_date ,c.online_video_person ,c.contract_number ,c.create_by ,c.create_time ,
58
         c.begin_video_date ,c.online_video_person ,c.contract_number ,c.create_by ,c.create_time ,
58
-        c.update_by ,c.update_time , c.arbitrator_name,d.dept_name as applicantName,c.register_date
59
+        c.update_by ,c.update_time , c.arbitrator_name,d.dept_name as applicantName,c.register_date,c.filearbitra_url
59
         from case_application c
60
         from case_application c
60
         LEFT JOIN case_affiliate ca ON ca.case_appli_id = c.id and ca.identity_type=1
61
         LEFT JOIN case_affiliate ca ON ca.case_appli_id = c.id and ca.identity_type=1
61
         LEFT JOIN sys_dept d ON ca.NAME = d.dept_id and ca.name=d.dept_id
62
         LEFT JOIN sys_dept d ON ca.NAME = d.dept_id and ca.name=d.dept_id
181
             <if test="objectionAddEviden != null">objection_add_eviden = #{objectionAddEviden},</if>
182
             <if test="objectionAddEviden != null">objection_add_eviden = #{objectionAddEviden},</if>
182
             <if test="openCourtHear != null">open_court_hear = #{openCourtHear},</if>
183
             <if test="openCourtHear != null">open_court_hear = #{openCourtHear},</if>
183
             <if test="hearDate != null">hear_date = #{hearDate},</if>
184
             <if test="hearDate != null">hear_date = #{hearDate},</if>
185
+            <if test="filearbitraUrl != null  and filearbitraUrl != ''">filearbitra_url = #{filearbitraUrl},</if>
184
         </set>
186
         </set>
185
         where id = #{id}
187
         where id = #{id}
186
     </update>
188
     </update>

+ 16
- 0
ruoyi-system/src/main/resources/mapper/wisdomarbitrate/CaseAttachMapper.xml 파일 보기

49
         where annex_id = #{annexId}
49
         where annex_id = #{annexId}
50
     </update>
50
     </update>
51
 
51
 
52
+    <update id="updateCaseAttachBycaseid" parameterType="CaseAttach">
53
+        update case_attach
54
+        <set>
55
+            <if test="annexName != null and annexName != ''">annex_name = #{annexName},</if>
56
+            <if test="annexPath != null and annexPath != ''">annex_path = #{annexPath}</if>
57
+        </set>
58
+        <where>
59
+            <if test="caseAppliId != null ">
60
+                AND case_appli_id  = #{caseAppliId}
61
+            </if>
62
+            <if test="annexType != null ">
63
+                AND annex_type  = #{annexType}
64
+            </if>
65
+        </where>
66
+    </update>
67
+
52
 
68
 
53
 
69
 
54
 </mapper>
70
 </mapper>