Przeglądaj źródła

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

qtz 2 lat temu
rodzic
commit
a9c86dc6dc

+ 34
- 8
ruoyi-common/src/main/java/com/ruoyi/common/utils/SignAward.java Wyświetl plik

8
 import com.ruoyi.common.exception.EsignDemoException;
8
 import com.ruoyi.common.exception.EsignDemoException;
9
 import com.ruoyi.common.utils.bean.SealSignRecord;
9
 import com.ruoyi.common.utils.bean.SealSignRecord;
10
 
10
 
11
+import java.util.HashMap;
11
 import java.util.Map;
12
 import java.util.Map;
12
 
13
 
13
 public class SignAward {
14
 public class SignAward {
56
 //        System.err.println("流程id:"+signFlowId);
57
 //        System.err.println("流程id:"+signFlowId);
57
 
58
 
58
         /* 获取文件签名印章位置*/
59
         /* 获取文件签名印章位置*/
59
-        EsignHttpResponse positions = getPositions(sealSignRecord);
60
-        JsonObject positionsJsonObject = gson.fromJson(positions.getBody(), JsonObject.class);
61
-        JsonObject positionsData = positionsJsonObject.getAsJsonObject("data");
62
-        JsonArray keywordPositions = positionsData.get("keywordPositions").getAsJsonArray();
63
-        System.out.println("获取文件签名印章位置:" +keywordPositions.toString());
60
+//        EsignHttpResponse positions = getPositions(sealSignRecord);
61
+//        JsonObject positionsJsonObject = gson.fromJson(positions.getBody(), JsonObject.class);
62
+//        JsonObject positionsData = positionsJsonObject.getAsJsonObject("data");
63
+//        JsonArray keywordPositions = positionsData.get("keywordPositions").getAsJsonArray();
64
+//        System.out.println("获取文件签名印章位置:" +keywordPositions.toString());
64
 
65
 
65
 //        String signFlowId = "c9955453716344f9971d308abdc13464";
66
 //        String signFlowId = "c9955453716344f9971d308abdc13464";
66
         //获取合同文件签名链接
67
         //获取合同文件签名链接
82
 //        System.out.println("签署短链接:"+sealUrl);
83
 //        System.out.println("签署短链接:"+sealUrl);
83
 
84
 
84
         //查询签署流程详情
85
         //查询签署流程详情
85
-//        EsignHttpResponse signFlowDetail = signFlowDetail(sealSignRecord);
86
-//        JsonObject signFlowDetailJsonObject = gson.fromJson(signFlowDetail.getBody(),JsonObject.class);
87
-//        System.out.println(signFlowDetailJsonObject);
86
+        EsignHttpResponse signFlowDetail = signFlowDetail(sealSignRecord);
87
+        JsonObject signFlowDetailJsonObject = gson.fromJson(signFlowDetail.getBody(),JsonObject.class);
88
+        JsonObject flowDetailData = signFlowDetailJsonObject.getAsJsonObject("data");
89
+        JsonArray signersArray = flowDetailData.get("signers").getAsJsonArray();
90
+        for (int i = 0; i < signersArray.size(); i++) {
91
+            JsonObject signerObject = (JsonObject)signersArray.get(i);
92
+            Integer psnsignStatus ;
93
+            Integer orgsignStatus ;
94
+            if(!(signerObject.get("psnSigner").toString()).equals("null")){
95
+                JsonObject psnSignerData = signerObject.getAsJsonObject("psnSigner");
96
+                if(psnSignerData!=null){
97
+                    psnsignStatus = signerObject.get("signStatus").getAsInt();
98
+                    sealSignRecord.setPsnsignStatus(psnsignStatus);
99
+                }
100
+            }
101
+            if(!(signerObject.get("orgSigner").toString()).equals("null")){
102
+                JsonObject orgSignerData = signerObject.getAsJsonObject("orgSigner");
103
+                if(orgSignerData!=null){
104
+                    orgsignStatus = signerObject.get("signStatus").getAsInt();
105
+                    sealSignRecord.setOrgsignStatus(orgsignStatus);
106
+                }
107
+
108
+            }
109
+
110
+        }
111
+        System.out.println(signFlowDetailJsonObject);
88
 
112
 
89
 
113
 
90
     }
114
     }
91
 
115
 
116
+
117
+
92
     /**
118
     /**
93
      * 查询签署流程详情
119
      * 查询签署流程详情
94
      * @return
120
      * @return

+ 20
- 0
ruoyi-common/src/main/java/com/ruoyi/common/utils/bean/SealSignRecord.java Wyświetl plik

25
     private String orgnizeNamepsnName;
25
     private String orgnizeNamepsnName;
26
     /** 流程状态 */
26
     /** 流程状态 */
27
     private Integer signFlowStatus;
27
     private Integer signFlowStatus;
28
+    /** 签名状态 */
29
+    private Integer psnsignStatus;
30
+    /** 用印状态 */
31
+    private Integer orgsignStatus;
32
+
33
+    public Integer getPsnsignStatus() {
34
+        return psnsignStatus;
35
+    }
36
+
37
+    public void setPsnsignStatus(Integer psnsignStatus) {
38
+        this.psnsignStatus = psnsignStatus;
39
+    }
40
+
41
+    public Integer getOrgsignStatus() {
42
+        return orgsignStatus;
43
+    }
44
+
45
+    public void setOrgsignStatus(Integer orgsignStatus) {
46
+        this.orgsignStatus = orgsignStatus;
47
+    }
28
 
48
 
29
     public Integer getSignFlowStatus() {
49
     public Integer getSignFlowStatus() {
30
         return signFlowStatus;
50
         return signFlowStatus;

+ 6
- 0
ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/SealSignRecordMapper.java Wyświetl plik

1
+package com.ruoyi.wisdomarbitrate.mapper;
2
+
3
+public interface SealSignRecordMapper {
4
+
5
+
6
+}

+ 88
- 28
ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CaseApplicationServiceImpl.java Wyświetl plik

4
 import cn.hutool.core.collection.CollectionUtil;
4
 import cn.hutool.core.collection.CollectionUtil;
5
 import cn.hutool.core.util.StrUtil;
5
 import cn.hutool.core.util.StrUtil;
6
 
6
 
7
+import com.google.gson.Gson;
8
+import com.google.gson.JsonArray;
9
+import com.google.gson.JsonObject;
7
 import com.ruoyi.common.annotation.DataScope;
10
 import com.ruoyi.common.annotation.DataScope;
8
 import com.ruoyi.common.constant.CaseApplicationConstants;
11
 import com.ruoyi.common.constant.CaseApplicationConstants;
12
+import com.ruoyi.common.core.domain.entity.EsignHttpResponse;
9
 import com.ruoyi.common.core.domain.entity.SysDept;
13
 import com.ruoyi.common.core.domain.entity.SysDept;
10
-import com.ruoyi.common.core.domain.entity.SysUser;
14
+import com.ruoyi.common.exception.EsignDemoException;
11
 import com.ruoyi.common.exception.ServiceException;
15
 import com.ruoyi.common.exception.ServiceException;
12
-import com.ruoyi.system.mapper.SysUserMapper;
16
+import com.ruoyi.common.utils.SignAward;
17
+import com.ruoyi.common.utils.bean.SealSignRecord;
13
 import com.ruoyi.wisdomarbitrate.utils.CaseLogUtils;
18
 import com.ruoyi.wisdomarbitrate.utils.CaseLogUtils;
14
 import com.ruoyi.common.utils.DateUtils;
19
 import com.ruoyi.common.utils.DateUtils;
15
 import com.ruoyi.common.utils.SmsUtils;
20
 import com.ruoyi.common.utils.SmsUtils;
41
     private CaseAffiliateMapper caseAffiliateMapper;
46
     private CaseAffiliateMapper caseAffiliateMapper;
42
 
47
 
43
     @Autowired
48
     @Autowired
44
-    private SysUserMapper sysUserMapper;
49
+    private ArbitratorMapper arbitratorMapper;
45
     @Autowired
50
     @Autowired
46
     private ArbitrateRecordMapper arbitrateRecordMapper;
51
     private ArbitrateRecordMapper arbitrateRecordMapper;
47
 
52
 
89
                 caseAffiliate.setCaseAppliId(caseApplication.getId());
94
                 caseAffiliate.setCaseAppliId(caseApplication.getId());
90
                 if(caseAffiliate.getIdentityType()==1&&StrUtil.isNotEmpty(caseAffiliate.getName())) {
95
                 if(caseAffiliate.getIdentityType()==1&&StrUtil.isNotEmpty(caseAffiliate.getName())) {
91
                     // 将组织机构id设为申请人名称
96
                     // 将组织机构id设为申请人名称
92
-                    if (deptMap.containsKey(caseAffiliate.getName())) {
97
+                    if (deptMap.containsKey(caseApplication.getName())) {
93
                         caseAffiliate.setName(String.valueOf(deptMap.get(caseAffiliate.getName())));
98
                         caseAffiliate.setName(String.valueOf(deptMap.get(caseAffiliate.getName())));
94
                     } else {
99
                     } else {
95
                         // 如果不存在则新增
100
                         // 如果不存在则新增
172
                 caseAffiliate.setCaseAppliId(caseApplication.getId());
177
                 caseAffiliate.setCaseAppliId(caseApplication.getId());
173
                 if(caseAffiliate.getIdentityType()==1&&StrUtil.isNotEmpty(caseAffiliate.getName())) {
178
                 if(caseAffiliate.getIdentityType()==1&&StrUtil.isNotEmpty(caseAffiliate.getName())) {
174
                     // 将组织机构id设为申请人名称
179
                     // 将组织机构id设为申请人名称
175
-                    if (deptMap.containsKey(caseAffiliate.getName())) {
180
+                    if (deptMap.containsKey(caseApplication.getName())) {
176
                         caseAffiliate.setName(String.valueOf(deptMap.get(caseAffiliate.getName())));
181
                         caseAffiliate.setName(String.valueOf(deptMap.get(caseAffiliate.getName())));
177
                     } else {
182
                     } else {
178
                         // 如果不存在则新增
183
                         // 如果不存在则新增
656
             rows = caseApplicationMapper.submitCaseApplication(caseApplication);
661
             rows = caseApplicationMapper.submitCaseApplication(caseApplication);
657
         }else {
662
         }else {
658
             List<Arbitrator> arbitrators = caseApplication.getArbitrators();
663
             List<Arbitrator> arbitrators = caseApplication.getArbitrators();
659
-            // 仲裁员信息
660
             if(arbitrators!=null&&arbitrators.size()>0){
664
             if(arbitrators!=null&&arbitrators.size()>0){
661
                 List<Long> ids = arbitrators.stream().map(Arbitrator::getId).collect(Collectors.toList());
665
                 List<Long> ids = arbitrators.stream().map(Arbitrator::getId).collect(Collectors.toList());
662
                 List<String> arbitratorNames = arbitrators.stream().map(Arbitrator::getArbitratorName).collect(Collectors.toList());
666
                 List<String> arbitratorNames = arbitrators.stream().map(Arbitrator::getArbitratorName).collect(Collectors.toList());
807
         String hearDatestr = dateFormat.format(hearDate);
811
         String hearDatestr = dateFormat.format(hearDate);
808
 
812
 
809
         String arbitratorId = caseApplicationselect.getArbitratorId();
813
         String arbitratorId = caseApplicationselect.getArbitratorId();
810
-//        List<Arbitrator> arbitratorList = new ArrayList<>();
814
+        List<Arbitrator> arbitratorList = new ArrayList<>();
811
         if(StringUtils.isNotEmpty(arbitratorId)){
815
         if(StringUtils.isNotEmpty(arbitratorId)){
812
             String[] idStrList  = arbitratorId.split(",");
816
             String[] idStrList  = arbitratorId.split(",");
813
             List<Long> idList = new ArrayList<>();
817
             List<Long> idList = new ArrayList<>();
814
             for(int i = 0;i < idStrList.length;i ++ ){
818
             for(int i = 0;i < idStrList.length;i ++ ){
815
                 idList.add(Long.parseLong(idStrList[i]));
819
                 idList.add(Long.parseLong(idStrList[i]));
816
             }
820
             }
817
-//
818
-
819
-                    // 查询仲裁员电话号
820
-                 List<SysUser> userList=   sysUserMapper.selectUserListByIds(idList);
821
-                 if(CollectionUtil.isNotEmpty(userList)) {
822
-                     for (SysUser user : userList) {
823
-
824
-
825
-                     //给仲裁员发送短信通知
826
-                     request.setPhone(user.getPhonenumber());
827
-                     // 1947342 普通短信 开庭日期通知 尊敬的{1}用户,您的{2}仲裁案件,开庭日期已确定为{3},请知晓,如非本人操作,请忽略本短信。
828
-                     String name = user.getNickName();
829
-                     request.setTemplateParamSet(new String[]{name, caseNum, hearDatestr});
830
-                     SmsUtils.sendSms(request);
831
-
832
-                     }
833
-                 }
834
-
835
-
821
+            Arbitrator arbitrator = new Arbitrator();
822
+            arbitrator.setIdList(idList);
823
+            arbitratorList = arbitratorMapper.selectArbitratorList(arbitrator);
824
+            if(arbitratorList!=null) {
825
+                for (int i = 0; i < arbitratorList.size(); i++) {
826
+                    Arbitrator arbitratorselect = arbitratorList.get(i);
827
+                    //给仲裁员发送短信通知
828
+                    request.setPhone(arbitratorselect.getTelephone());
829
+                    // 1947342 普通短信 开庭日期通知 尊敬的{1}用户,您的{2}仲裁案件,开庭日期已确定为{3},请知晓,如非本人操作,请忽略本短信。
830
+                    String name = arbitratorselect.getArbitratorName();
831
+                    request.setTemplateParamSet(new String[]{name, caseNum, hearDatestr});
832
+                    SmsUtils.sendSms(request);
833
+                }
834
+            }
836
         }
835
         }
837
 
836
 
838
         CaseAffiliate caseAffiliate = new CaseAffiliate();
837
         CaseAffiliate caseAffiliate = new CaseAffiliate();
854
                     if(StrUtil.isNotEmpty(caseAffiliateselect.getName())&&deptMap.containsKey(caseAffiliateselect.getName())){
853
                     if(StrUtil.isNotEmpty(caseAffiliateselect.getName())&&deptMap.containsKey(caseAffiliateselect.getName())){
855
                         caseAffiliateselect.setName(deptMap.get(caseAffiliateselect.getName()));
854
                         caseAffiliateselect.setName(deptMap.get(caseAffiliateselect.getName()));
856
                     }
855
                     }
857
-
856
+                    caseAffiliateselect.setName(caseAffiliateselect.getName());;
858
                 }
857
                 }
859
-                caseAffiliateselect.setName(caseAffiliateselect.getName());;
860
                 //给申请人、被申请人发送短信通知
858
                 //给申请人、被申请人发送短信通知
861
                 request.setPhone(caseAffiliateselect.getContactTelphone());
859
                 request.setPhone(caseAffiliateselect.getContactTelphone());
862
                 // 1947342 普通短信 开庭日期通知 尊敬的{1}用户,您的{2}仲裁案件,开庭日期已确定为{3},请知晓,如非本人操作,请忽略本短信。
860
                 // 1947342 普通短信 开庭日期通知 尊敬的{1}用户,您的{2}仲裁案件,开庭日期已确定为{3},请知晓,如非本人操作,请忽略本短信。
993
         caseApplicationNew.setFeePayable(caseApplicationinsertDiffer.getFeePayable());
991
         caseApplicationNew.setFeePayable(caseApplicationinsertDiffer.getFeePayable());
994
     }
992
     }
995
 
993
 
994
+    @Transactional
995
+    public void fixExecuteSelectFlowDetailUtils() throws EsignDemoException {
996
+
997
+        Gson gson = new Gson();
998
+
999
+
1000
+
1001
+        SealSignRecord sealSignRecord = new SealSignRecord();
1002
+        sealSignRecord.setSignFlowid("41e6732b48c54c63a91b2379c352212d");
1003
+        EsignHttpResponse signFlowDetail = SignAward.signFlowDetail(sealSignRecord);
1004
+        JsonObject signFlowDetailJsonObject = gson.fromJson(signFlowDetail.getBody(),JsonObject.class);
1005
+        JsonObject flowDetailData = signFlowDetailJsonObject.getAsJsonObject("data");
1006
+        JsonArray signersArray = flowDetailData.get("signers").getAsJsonArray();
1007
+        for (int i = 0; i < signersArray.size(); i++) {
1008
+            JsonObject signerObject = (JsonObject)signersArray.get(i);
1009
+            Integer psnsignStatus ;
1010
+            Integer orgsignStatus ;
1011
+            if(!(signerObject.get("psnSigner").toString()).equals("null")){
1012
+                JsonObject psnSignerData = signerObject.getAsJsonObject("psnSigner");
1013
+                if(psnSignerData!=null){
1014
+                    psnsignStatus = signerObject.get("signStatus").getAsInt();
1015
+                    sealSignRecord.setPsnsignStatus(psnsignStatus);
1016
+
1017
+                    if(psnsignStatus.intValue()==2){
1018
+                        //更新立案申请状态为待用印
1019
+                        CaseApplication caseApplication = new CaseApplication();
1020
+                        caseApplication.setCaseStatus(CaseApplicationConstants.ARBITRATED_SEAL);
1021
+                        caseApplicationMapper.submitCaseApplication(caseApplication);
1022
+
1023
+                        //修改"签署用印记录表"的状态为待用印
1024
+
1025
+                    }
1026
+                }
1027
+            }
1028
+            if(!(signerObject.get("orgSigner").toString()).equals("null")){
1029
+                JsonObject orgSignerData = signerObject.getAsJsonObject("orgSigner");
1030
+                if(orgSignerData!=null){
1031
+                    orgsignStatus = signerObject.get("signStatus").getAsInt();
1032
+                    sealSignRecord.setOrgsignStatus(orgsignStatus);
1033
+                    //更新立案申请状态为待送达
1034
+                    CaseApplication caseApplication = new CaseApplication();
1035
+                    caseApplication.setCaseStatus(CaseApplicationConstants.ARBITRATION_DELIVERY);
1036
+                    caseApplicationMapper.submitCaseApplication(caseApplication);
1037
+
1038
+                    //修改"签署用印记录表"的状态为签署完成
1039
+
1040
+                    //下载审核完成的裁决书,
1041
+//                    SaaSAPIFileUtils.fileDownloadUrl();
1042
+
1043
+                }
1044
+
1045
+            }
1046
+
1047
+        }
1048
+
1049
+    }
1050
+
1051
+
1052
+
1053
+
1054
+
1055
+
996
 }
1056
 }

+ 75
- 0
ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/utils/FixSelectFlowDetailUtils.java Wyświetl plik

1
+package com.ruoyi.wisdomarbitrate.utils;
2
+
3
+import com.google.gson.Gson;
4
+import com.google.gson.JsonArray;
5
+import com.google.gson.JsonObject;
6
+import com.ruoyi.common.constant.CaseApplicationConstants;
7
+import com.ruoyi.common.core.domain.entity.EsignHttpResponse;
8
+import com.ruoyi.common.exception.EsignDemoException;
9
+import com.ruoyi.common.utils.SignAward;
10
+import com.ruoyi.common.utils.bean.SealSignRecord;
11
+import com.ruoyi.wisdomarbitrate.domain.CaseApplication;
12
+import com.ruoyi.wisdomarbitrate.mapper.CaseApplicationMapper;
13
+import org.springframework.beans.factory.annotation.Autowired;
14
+
15
+public class FixSelectFlowDetailUtils {
16
+
17
+    @Autowired
18
+    private CaseApplicationMapper caseApplicationMapper;
19
+
20
+
21
+    public void fixExecuteSelectFlowDetailUtils() throws EsignDemoException {
22
+
23
+        Gson gson = new Gson();
24
+
25
+
26
+
27
+        SealSignRecord sealSignRecord = new SealSignRecord();
28
+        sealSignRecord.setSignFlowid("41e6732b48c54c63a91b2379c352212d");
29
+        EsignHttpResponse signFlowDetail = SignAward.signFlowDetail(sealSignRecord);
30
+        JsonObject signFlowDetailJsonObject = gson.fromJson(signFlowDetail.getBody(),JsonObject.class);
31
+        JsonObject flowDetailData = signFlowDetailJsonObject.getAsJsonObject("data");
32
+        JsonArray signersArray = flowDetailData.get("signers").getAsJsonArray();
33
+        for (int i = 0; i < signersArray.size(); i++) {
34
+            JsonObject signerObject = (JsonObject)signersArray.get(i);
35
+            Integer psnsignStatus ;
36
+            Integer orgsignStatus ;
37
+            if(!(signerObject.get("psnSigner").toString()).equals("null")){
38
+                JsonObject psnSignerData = signerObject.getAsJsonObject("psnSigner");
39
+                if(psnSignerData!=null){
40
+                    psnsignStatus = signerObject.get("signStatus").getAsInt();
41
+                    sealSignRecord.setPsnsignStatus(psnsignStatus);
42
+
43
+                    if(psnsignStatus.intValue()==2){
44
+                        //更新立案申请状态为待用印
45
+                        CaseApplication caseApplication = new CaseApplication();
46
+                        caseApplication.setCaseStatus(CaseApplicationConstants.ARBITRATED_SEAL);
47
+                        caseApplicationMapper.submitCaseApplication(caseApplication);
48
+
49
+
50
+
51
+                    }
52
+
53
+
54
+
55
+                }
56
+            }
57
+            if(!(signerObject.get("orgSigner").toString()).equals("null")){
58
+                JsonObject orgSignerData = signerObject.getAsJsonObject("orgSigner");
59
+                if(orgSignerData!=null){
60
+                    orgsignStatus = signerObject.get("signStatus").getAsInt();
61
+                    sealSignRecord.setOrgsignStatus(orgsignStatus);
62
+                }
63
+
64
+            }
65
+
66
+        }
67
+
68
+    }
69
+
70
+
71
+
72
+
73
+
74
+
75
+}

+ 17
- 0
ruoyi-system/src/main/resources/mapper/wisdomarbitrate/SealSignRecordMapper.xml Wyświetl plik

1
+<?xml version="1.0" encoding="UTF-8" ?>
2
+<!DOCTYPE mapper
3
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
4
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
5
+<mapper namespace="com.ruoyi.wisdomarbitrate.mapper.SealSignRecordMapper">
6
+
7
+
8
+
9
+
10
+
11
+
12
+
13
+
14
+
15
+
16
+
17
+</mapper>