Bläddra i källkod

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

qtz 2 år sedan
förälder
incheckning
a9c86dc6dc

+ 34
- 8
ruoyi-common/src/main/java/com/ruoyi/common/utils/SignAward.java Visa fil

@@ -8,6 +8,7 @@ import com.ruoyi.common.enums.EsignRequestType;
8 8
 import com.ruoyi.common.exception.EsignDemoException;
9 9
 import com.ruoyi.common.utils.bean.SealSignRecord;
10 10
 
11
+import java.util.HashMap;
11 12
 import java.util.Map;
12 13
 
13 14
 public class SignAward {
@@ -56,11 +57,11 @@ public class SignAward {
56 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 66
 //        String signFlowId = "c9955453716344f9971d308abdc13464";
66 67
         //获取合同文件签名链接
@@ -82,13 +83,38 @@ public class SignAward {
82 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 120
      * @return

+ 20
- 0
ruoyi-common/src/main/java/com/ruoyi/common/utils/bean/SealSignRecord.java Visa fil

@@ -25,6 +25,26 @@ public class SealSignRecord extends BaseEntity {
25 25
     private String orgnizeNamepsnName;
26 26
     /** 流程状态 */
27 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 49
     public Integer getSignFlowStatus() {
30 50
         return signFlowStatus;

+ 6
- 0
ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/SealSignRecordMapper.java Visa fil

@@ -0,0 +1,6 @@
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 Visa fil

@@ -4,12 +4,17 @@ package com.ruoyi.wisdomarbitrate.service.impl;
4 4
 import cn.hutool.core.collection.CollectionUtil;
5 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 10
 import com.ruoyi.common.annotation.DataScope;
8 11
 import com.ruoyi.common.constant.CaseApplicationConstants;
12
+import com.ruoyi.common.core.domain.entity.EsignHttpResponse;
9 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 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 18
 import com.ruoyi.wisdomarbitrate.utils.CaseLogUtils;
14 19
 import com.ruoyi.common.utils.DateUtils;
15 20
 import com.ruoyi.common.utils.SmsUtils;
@@ -41,7 +46,7 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
41 46
     private CaseAffiliateMapper caseAffiliateMapper;
42 47
 
43 48
     @Autowired
44
-    private SysUserMapper sysUserMapper;
49
+    private ArbitratorMapper arbitratorMapper;
45 50
     @Autowired
46 51
     private ArbitrateRecordMapper arbitrateRecordMapper;
47 52
 
@@ -89,7 +94,7 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
89 94
                 caseAffiliate.setCaseAppliId(caseApplication.getId());
90 95
                 if(caseAffiliate.getIdentityType()==1&&StrUtil.isNotEmpty(caseAffiliate.getName())) {
91 96
                     // 将组织机构id设为申请人名称
92
-                    if (deptMap.containsKey(caseAffiliate.getName())) {
97
+                    if (deptMap.containsKey(caseApplication.getName())) {
93 98
                         caseAffiliate.setName(String.valueOf(deptMap.get(caseAffiliate.getName())));
94 99
                     } else {
95 100
                         // 如果不存在则新增
@@ -172,7 +177,7 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
172 177
                 caseAffiliate.setCaseAppliId(caseApplication.getId());
173 178
                 if(caseAffiliate.getIdentityType()==1&&StrUtil.isNotEmpty(caseAffiliate.getName())) {
174 179
                     // 将组织机构id设为申请人名称
175
-                    if (deptMap.containsKey(caseAffiliate.getName())) {
180
+                    if (deptMap.containsKey(caseApplication.getName())) {
176 181
                         caseAffiliate.setName(String.valueOf(deptMap.get(caseAffiliate.getName())));
177 182
                     } else {
178 183
                         // 如果不存在则新增
@@ -656,7 +661,6 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
656 661
             rows = caseApplicationMapper.submitCaseApplication(caseApplication);
657 662
         }else {
658 663
             List<Arbitrator> arbitrators = caseApplication.getArbitrators();
659
-            // 仲裁员信息
660 664
             if(arbitrators!=null&&arbitrators.size()>0){
661 665
                 List<Long> ids = arbitrators.stream().map(Arbitrator::getId).collect(Collectors.toList());
662 666
                 List<String> arbitratorNames = arbitrators.stream().map(Arbitrator::getArbitratorName).collect(Collectors.toList());
@@ -807,32 +811,27 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
807 811
         String hearDatestr = dateFormat.format(hearDate);
808 812
 
809 813
         String arbitratorId = caseApplicationselect.getArbitratorId();
810
-//        List<Arbitrator> arbitratorList = new ArrayList<>();
814
+        List<Arbitrator> arbitratorList = new ArrayList<>();
811 815
         if(StringUtils.isNotEmpty(arbitratorId)){
812 816
             String[] idStrList  = arbitratorId.split(",");
813 817
             List<Long> idList = new ArrayList<>();
814 818
             for(int i = 0;i < idStrList.length;i ++ ){
815 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 837
         CaseAffiliate caseAffiliate = new CaseAffiliate();
@@ -854,9 +853,8 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
854 853
                     if(StrUtil.isNotEmpty(caseAffiliateselect.getName())&&deptMap.containsKey(caseAffiliateselect.getName())){
855 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 859
                 request.setPhone(caseAffiliateselect.getContactTelphone());
862 860
                 // 1947342 普通短信 开庭日期通知 尊敬的{1}用户,您的{2}仲裁案件,开庭日期已确定为{3},请知晓,如非本人操作,请忽略本短信。
@@ -993,4 +991,66 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
993 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 Visa fil

@@ -0,0 +1,75 @@
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 Visa fil

@@ -0,0 +1,17 @@
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>