ソースを参照

Merge branch 'dev' of http://git.xayunmei.com/SH-Arbitrate/Arbitrate-Backend into hjb

# Conflicts:
#	ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/SealSignRecordMapper.java
#	ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CaseApplicationServiceImpl.java
#	ruoyi-system/src/main/resources/mapper/wisdomarbitrate/SealSignRecordMapper.xml
hejinbo 2 年 前
コミット
ede7c4452d

+ 5
- 2
ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/ArbitratorController.java ファイルの表示

@@ -1,7 +1,10 @@
1 1
 package com.ruoyi.web.controller.wisdomarbitrate;
2 2
 
3 3
 import com.ruoyi.common.core.controller.BaseController;
4
+import com.ruoyi.common.core.domain.entity.SysUser;
4 5
 import com.ruoyi.common.core.page.TableDataInfo;
6
+import com.ruoyi.system.mapper.SysUserMapper;
7
+import com.ruoyi.system.service.ISysUserService;
5 8
 import com.ruoyi.wisdomarbitrate.domain.Arbitrator;
6 9
 import com.ruoyi.wisdomarbitrate.service.IArbitratorService;
7 10
 import org.springframework.beans.factory.annotation.Autowired;
@@ -16,7 +19,7 @@ import java.util.List;
16 19
 @RequestMapping("/arbitrator")
17 20
 public class ArbitratorController   extends BaseController {
18 21
     @Autowired
19
-    private IArbitratorService arbitratorService;
22
+    private ISysUserService sysUserService;
20 23
 
21 24
     /**
22 25
      * 查询仲裁员信息
@@ -26,7 +29,7 @@ public class ArbitratorController   extends BaseController {
26 29
     public TableDataInfo list(Arbitrator arbitrator)
27 30
     {
28 31
         startPage();
29
-        List<Arbitrator> list = arbitratorService.selectArbitratorList(arbitrator);
32
+        List<SysUser> list = sysUserService.selectUserListByAdRole(arbitrator);
30 33
         return getDataTable(list);
31 34
     }
32 35
 

+ 34
- 8
ruoyi-common/src/main/java/com/ruoyi/common/utils/SignAward.java ファイルの表示

@@ -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 ファイルの表示

@@ -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;

+ 10
- 0
ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java ファイルの表示

@@ -1,6 +1,8 @@
1 1
 package com.ruoyi.system.mapper;
2 2
 
3 3
 import java.util.List;
4
+
5
+import com.ruoyi.wisdomarbitrate.domain.Arbitrator;
4 6
 import org.apache.ibatis.annotations.Param;
5 7
 import com.ruoyi.common.core.domain.entity.SysUser;
6 8
 
@@ -19,6 +21,12 @@ public interface SysUserMapper
19 21
      */
20 22
     public List<SysUser> selectUserList(SysUser sysUser);
21 23
 
24
+    /**
25
+     * 查询仲裁员角色下的用户
26
+     * @return
27
+     */
28
+    public List<SysUser> selectUserListByAdRole(Arbitrator arbitrator);
29
+
22 30
     /**
23 31
      * 根据条件分页查询已配用户角色列表
24 32
      * 
@@ -124,4 +132,6 @@ public interface SysUserMapper
124 132
      * @return 结果
125 133
      */
126 134
     public SysUser checkEmailUnique(String email);
135
+
136
+    List<SysUser> selectUserListByIds(@Param("idList") List<Long> idList);
127 137
 }

+ 2
- 0
ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java ファイルの表示

@@ -2,6 +2,7 @@ package com.ruoyi.system.service;
2 2
 
3 3
 import java.util.List;
4 4
 import com.ruoyi.common.core.domain.entity.SysUser;
5
+import com.ruoyi.wisdomarbitrate.domain.Arbitrator;
5 6
 
6 7
 /**
7 8
  * 用户 业务层
@@ -17,6 +18,7 @@ public interface ISysUserService
17 18
      * @return 用户信息集合信息
18 19
      */
19 20
     public List<SysUser> selectUserList(SysUser user);
21
+    public List<SysUser> selectUserListByAdRole(Arbitrator arbitrator);
20 22
 
21 23
     /**
22 24
      * 根据条件分页查询已分配用户角色列表

+ 7
- 0
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java ファイルの表示

@@ -4,6 +4,8 @@ import java.util.ArrayList;
4 4
 import java.util.List;
5 5
 import java.util.stream.Collectors;
6 6
 import javax.validation.Validator;
7
+
8
+import com.ruoyi.wisdomarbitrate.domain.Arbitrator;
7 9
 import org.slf4j.Logger;
8 10
 import org.slf4j.LoggerFactory;
9 11
 import org.springframework.beans.factory.annotation.Autowired;
@@ -74,6 +76,11 @@ public class SysUserServiceImpl implements ISysUserService
74 76
         return userMapper.selectUserList(user);
75 77
     }
76 78
 
79
+    @Override
80
+    public List<SysUser> selectUserListByAdRole(Arbitrator arbitrator) {
81
+        return userMapper.selectUserListByAdRole(arbitrator);
82
+    }
83
+
77 84
     /**
78 85
      * 根据条件分页查询已分配用户角色列表
79 86
      * 

+ 1
- 0
ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/ArbitratorMapper.java ファイルの表示

@@ -8,4 +8,5 @@ import java.util.List;
8 8
 public interface ArbitratorMapper {
9 9
     List<Arbitrator> selectArbitratorList(Arbitrator arbitrator);
10 10
 
11
+
11 12
 }

+ 8
- 0
ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/CaseApplicationMapper.java ファイルの表示

@@ -1,5 +1,6 @@
1 1
 package com.ruoyi.wisdomarbitrate.mapper;
2 2
 
3
+import com.ruoyi.wisdomarbitrate.domain.Arbitrator;
3 4
 import com.ruoyi.wisdomarbitrate.domain.CaseAffiliate;
4 5
 import com.ruoyi.wisdomarbitrate.domain.CaseApplication;
5 6
 import org.apache.ibatis.annotations.Param;
@@ -31,4 +32,11 @@ public interface CaseApplicationMapper {
31 32
      * @return
32 33
      */
33 34
     Integer selectCaseNumLike(@Param("caseNum") String caseNum, @Param("length") int length);
35
+
36
+    /**
37
+     * 查询仲裁员根据案件id
38
+     * @param arbitrator
39
+     * @return
40
+     */
41
+    String selectArbitratorList(@Param("id") String id);
34 42
 }

+ 67
- 1
ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CaseApplicationServiceImpl.java ファイルの表示

@@ -4,6 +4,7 @@ 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
+
7 8
 import com.alibaba.fastjson.JSONArray;
8 9
 import com.alibaba.fastjson.JSONObject;
9 10
 import com.google.gson.Gson;
@@ -13,11 +14,14 @@ import com.ruoyi.common.annotation.DataScope;
13 14
 import com.ruoyi.common.constant.CaseApplicationConstants;
14 15
 import com.ruoyi.common.core.domain.entity.EsignHttpResponse;
15 16
 import com.ruoyi.common.core.domain.entity.SysDept;
17
+
16 18
 import com.ruoyi.common.core.domain.entity.SysUser;
19
+
17 20
 import com.ruoyi.common.exception.EsignDemoException;
18 21
 import com.ruoyi.common.exception.ServiceException;
19 22
 import com.ruoyi.common.utils.SignAward;
20 23
 import com.ruoyi.common.utils.bean.SealSignRecord;
24
+
21 25
 import com.ruoyi.common.utils.file.SaaSAPIFileUtils;
22 26
 import com.ruoyi.system.mapper.SysUserMapper;
23 27
 import com.ruoyi.wisdomarbitrate.utils.CaseLogUtils;
@@ -108,7 +112,7 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
108 112
                 caseAffiliate.setCaseAppliId(caseApplication.getId());
109 113
                 if(caseAffiliate.getIdentityType()==1&&StrUtil.isNotEmpty(caseAffiliate.getName())) {
110 114
                     // 将组织机构id设为申请人名称
111
-                    if (deptMap.containsKey(caseAffiliate.getName())) {
115
+                    if (deptMap.containsKey(caseApplication.getName())) {
112 116
                         caseAffiliate.setName(String.valueOf(deptMap.get(caseAffiliate.getName())));
113 117
                     } else {
114 118
                         // 如果不存在则新增
@@ -1118,4 +1122,66 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
1118 1122
         caseApplicationNew.setFeePayable(caseApplicationinsertDiffer.getFeePayable());
1119 1123
     }
1120 1124
 
1125
+    @Transactional
1126
+    public void fixExecuteSelectFlowDetailUtils() throws EsignDemoException {
1127
+
1128
+        Gson gson = new Gson();
1129
+
1130
+
1131
+
1132
+        SealSignRecord sealSignRecord = new SealSignRecord();
1133
+        sealSignRecord.setSignFlowid("41e6732b48c54c63a91b2379c352212d");
1134
+        EsignHttpResponse signFlowDetail = SignAward.signFlowDetail(sealSignRecord);
1135
+        JsonObject signFlowDetailJsonObject = gson.fromJson(signFlowDetail.getBody(),JsonObject.class);
1136
+        JsonObject flowDetailData = signFlowDetailJsonObject.getAsJsonObject("data");
1137
+        JsonArray signersArray = flowDetailData.get("signers").getAsJsonArray();
1138
+        for (int i = 0; i < signersArray.size(); i++) {
1139
+            JsonObject signerObject = (JsonObject)signersArray.get(i);
1140
+            Integer psnsignStatus ;
1141
+            Integer orgsignStatus ;
1142
+            if(!(signerObject.get("psnSigner").toString()).equals("null")){
1143
+                JsonObject psnSignerData = signerObject.getAsJsonObject("psnSigner");
1144
+                if(psnSignerData!=null){
1145
+                    psnsignStatus = signerObject.get("signStatus").getAsInt();
1146
+                    sealSignRecord.setPsnsignStatus(psnsignStatus);
1147
+
1148
+                    if(psnsignStatus.intValue()==2){
1149
+                        //更新立案申请状态为待用印
1150
+                        CaseApplication caseApplication = new CaseApplication();
1151
+                        caseApplication.setCaseStatus(CaseApplicationConstants.ARBITRATED_SEAL);
1152
+                        caseApplicationMapper.submitCaseApplication(caseApplication);
1153
+
1154
+                        //修改"签署用印记录表"的状态为待用印
1155
+
1156
+                    }
1157
+                }
1158
+            }
1159
+            if(!(signerObject.get("orgSigner").toString()).equals("null")){
1160
+                JsonObject orgSignerData = signerObject.getAsJsonObject("orgSigner");
1161
+                if(orgSignerData!=null){
1162
+                    orgsignStatus = signerObject.get("signStatus").getAsInt();
1163
+                    sealSignRecord.setOrgsignStatus(orgsignStatus);
1164
+                    //更新立案申请状态为待送达
1165
+                    CaseApplication caseApplication = new CaseApplication();
1166
+                    caseApplication.setCaseStatus(CaseApplicationConstants.ARBITRATION_DELIVERY);
1167
+                    caseApplicationMapper.submitCaseApplication(caseApplication);
1168
+
1169
+                    //修改"签署用印记录表"的状态为签署完成
1170
+
1171
+                    //下载审核完成的裁决书,
1172
+//                    SaaSAPIFileUtils.fileDownloadUrl();
1173
+
1174
+                }
1175
+
1176
+            }
1177
+
1178
+        }
1179
+
1180
+    }
1181
+
1182
+
1183
+
1184
+
1185
+
1186
+
1121 1187
 }

+ 75
- 0
ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/utils/FixSelectFlowDetailUtils.java ファイルの表示

@@ -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
+}

+ 34
- 1
ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml ファイルの表示

@@ -141,7 +141,40 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
141 141
 	<select id="checkEmailUnique" parameterType="String" resultMap="SysUserResult">
142 142
 		select user_id, email from sys_user where email = #{email} and del_flag = '0' limit 1
143 143
 	</select>
144
-	
144
+	<select id="selectUserListByAdRole" resultMap="SysUserResult">
145
+		select u.user_id, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark from sys_user u
146
+		 join sys_user_role ur on ur.user_id =u.user_id
147
+		    join sys_role r on ur.role_id = r.role_id and r.role_name='仲裁员'
148
+		where r.del_flag = '0' and r.status='0'
149
+		and u.del_flag = '0' and u.status='0'
150
+			<if test="arbitratorName != null and arbitratorName != ''">
151
+				AND u.nick_name like concat('%', #{arbitratorName}, '%')
152
+			</if>
153
+
154
+			<if test="idList != null and idList.size() > 0">
155
+				AND u.user_id in
156
+				<foreach item="id" collection="idList" open="(" separator="," close=")">
157
+					#{id}
158
+				</foreach>
159
+			</if>
160
+
161
+
162
+	</select>
163
+	<select id="selectUserListByIds" resultMap="SysUserResult">
164
+		select u.user_id,  u.nick_name, u.user_name, u.phonenumber, u.remark from sys_user u
165
+
166
+			<where>
167
+		<if test="idList != null and idList.size() > 0">
168
+			AND u.user_id in
169
+			<foreach item="id" collection="idList" open="(" separator="," close=")">
170
+				#{id}
171
+			</foreach>
172
+		</if>
173
+			</where>
174
+
175
+
176
+	</select>
177
+
145 178
 	<insert id="insertUser" parameterType="SysUser" useGeneratedKeys="true" keyProperty="userId">
146 179
  		insert into sys_user(
147 180
  			<if test="userId != null and userId != 0">user_id,</if>

+ 3
- 0
ruoyi-system/src/main/resources/mapper/wisdomarbitrate/CaseApplicationMapper.xml ファイルの表示

@@ -248,6 +248,9 @@
248 248
         select max(substring(case_num, #{length}+1,12)+1) as maxCaseNum
249 249
         from case_application where case_num like CONCAT(#{caseNum},'%') ;
250 250
     </select>
251
+    <select id="selectArbitratorList" resultType="java.lang.String">
252
+        select a.arbitrator_id  id from case_application a where a.id=#{id}
253
+    </select>
251 254
 
252 255
 
253 256
 </mapper>

+ 1
- 0
ruoyi-system/src/main/resources/mapper/wisdomarbitrate/SealSignRecordMapper.xml ファイルの表示

@@ -12,4 +12,5 @@
12 12
         ,#{orgnizeNamePsnAccount},#{orgnizeNamepsnName},#{positionPagepsn},#{positionXpsn},#{positionYpsn}
13 13
         ,#{positionPageorg},#{positionXorg},#{positionYorg},#{caseAppliId},#{signFlowStatus})
14 14
     </insert>
15
+
15 16
 </mapper>