diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/ArbitratorController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/ArbitratorController.java index b87089a..b4af1e4 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/ArbitratorController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/ArbitratorController.java @@ -1,7 +1,10 @@ package com.ruoyi.web.controller.wisdomarbitrate; import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.system.mapper.SysUserMapper; +import com.ruoyi.system.service.ISysUserService; import com.ruoyi.wisdomarbitrate.domain.Arbitrator; import com.ruoyi.wisdomarbitrate.service.IArbitratorService; import org.springframework.beans.factory.annotation.Autowired; @@ -16,7 +19,7 @@ import java.util.List; @RequestMapping("/arbitrator") public class ArbitratorController extends BaseController { @Autowired - private IArbitratorService arbitratorService; + private ISysUserService sysUserService; /** * 查询仲裁员信息 @@ -26,7 +29,7 @@ public class ArbitratorController extends BaseController { public TableDataInfo list(Arbitrator arbitrator) { startPage(); - List list = arbitratorService.selectArbitratorList(arbitrator); + List list = sysUserService.selectUserListByAdRole(arbitrator); return getDataTable(list); } diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/SignAward.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/SignAward.java index 5301908..0d1b51b 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/SignAward.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/SignAward.java @@ -8,6 +8,7 @@ import com.ruoyi.common.enums.EsignRequestType; import com.ruoyi.common.exception.EsignDemoException; import com.ruoyi.common.utils.bean.SealSignRecord; +import java.util.HashMap; import java.util.Map; public class SignAward { @@ -56,11 +57,11 @@ public class SignAward { // System.err.println("流程id:"+signFlowId); /* 获取文件签名印章位置*/ - EsignHttpResponse positions = getPositions(sealSignRecord); - JsonObject positionsJsonObject = gson.fromJson(positions.getBody(), JsonObject.class); - JsonObject positionsData = positionsJsonObject.getAsJsonObject("data"); - JsonArray keywordPositions = positionsData.get("keywordPositions").getAsJsonArray(); - System.out.println("获取文件签名印章位置:" +keywordPositions.toString()); +// EsignHttpResponse positions = getPositions(sealSignRecord); +// JsonObject positionsJsonObject = gson.fromJson(positions.getBody(), JsonObject.class); +// JsonObject positionsData = positionsJsonObject.getAsJsonObject("data"); +// JsonArray keywordPositions = positionsData.get("keywordPositions").getAsJsonArray(); +// System.out.println("获取文件签名印章位置:" +keywordPositions.toString()); // String signFlowId = "c9955453716344f9971d308abdc13464"; //获取合同文件签名链接 @@ -82,13 +83,38 @@ public class SignAward { // System.out.println("签署短链接:"+sealUrl); //查询签署流程详情 -// EsignHttpResponse signFlowDetail = signFlowDetail(sealSignRecord); -// JsonObject signFlowDetailJsonObject = gson.fromJson(signFlowDetail.getBody(),JsonObject.class); -// System.out.println(signFlowDetailJsonObject); + EsignHttpResponse signFlowDetail = signFlowDetail(sealSignRecord); + JsonObject signFlowDetailJsonObject = gson.fromJson(signFlowDetail.getBody(),JsonObject.class); + JsonObject flowDetailData = signFlowDetailJsonObject.getAsJsonObject("data"); + JsonArray signersArray = flowDetailData.get("signers").getAsJsonArray(); + for (int i = 0; i < signersArray.size(); i++) { + JsonObject signerObject = (JsonObject)signersArray.get(i); + Integer psnsignStatus ; + Integer orgsignStatus ; + if(!(signerObject.get("psnSigner").toString()).equals("null")){ + JsonObject psnSignerData = signerObject.getAsJsonObject("psnSigner"); + if(psnSignerData!=null){ + psnsignStatus = signerObject.get("signStatus").getAsInt(); + sealSignRecord.setPsnsignStatus(psnsignStatus); + } + } + if(!(signerObject.get("orgSigner").toString()).equals("null")){ + JsonObject orgSignerData = signerObject.getAsJsonObject("orgSigner"); + if(orgSignerData!=null){ + orgsignStatus = signerObject.get("signStatus").getAsInt(); + sealSignRecord.setOrgsignStatus(orgsignStatus); + } + + } + + } + System.out.println(signFlowDetailJsonObject); } + + /** * 查询签署流程详情 * @return diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/bean/SealSignRecord.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/bean/SealSignRecord.java index e3c1757..27a67d6 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/bean/SealSignRecord.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/bean/SealSignRecord.java @@ -25,6 +25,26 @@ public class SealSignRecord extends BaseEntity { private String orgnizeNamepsnName; /** 流程状态 */ private Integer signFlowStatus; + /** 签名状态 */ + private Integer psnsignStatus; + /** 用印状态 */ + private Integer orgsignStatus; + + public Integer getPsnsignStatus() { + return psnsignStatus; + } + + public void setPsnsignStatus(Integer psnsignStatus) { + this.psnsignStatus = psnsignStatus; + } + + public Integer getOrgsignStatus() { + return orgsignStatus; + } + + public void setOrgsignStatus(Integer orgsignStatus) { + this.orgsignStatus = orgsignStatus; + } public Integer getSignFlowStatus() { return signFlowStatus; diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java index 76e1c79..2b1f1d4 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java @@ -1,6 +1,8 @@ package com.ruoyi.system.mapper; import java.util.List; + +import com.ruoyi.wisdomarbitrate.domain.Arbitrator; import org.apache.ibatis.annotations.Param; import com.ruoyi.common.core.domain.entity.SysUser; @@ -19,6 +21,12 @@ public interface SysUserMapper */ public List selectUserList(SysUser sysUser); + /** + * 查询仲裁员角色下的用户 + * @return + */ + public List selectUserListByAdRole(Arbitrator arbitrator); + /** * 根据条件分页查询已配用户角色列表 * @@ -124,4 +132,6 @@ public interface SysUserMapper * @return 结果 */ public SysUser checkEmailUnique(String email); + + List selectUserListByIds(@Param("idList") List idList); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java index 10bc2ab..e27184a 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java @@ -2,6 +2,7 @@ package com.ruoyi.system.service; import java.util.List; import com.ruoyi.common.core.domain.entity.SysUser; +import com.ruoyi.wisdomarbitrate.domain.Arbitrator; /** * 用户 业务层 @@ -17,6 +18,7 @@ public interface ISysUserService * @return 用户信息集合信息 */ public List selectUserList(SysUser user); + public List selectUserListByAdRole(Arbitrator arbitrator); /** * 根据条件分页查询已分配用户角色列表 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java index b371060..49f2720 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java @@ -4,6 +4,8 @@ import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; import javax.validation.Validator; + +import com.ruoyi.wisdomarbitrate.domain.Arbitrator; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -74,6 +76,11 @@ public class SysUserServiceImpl implements ISysUserService return userMapper.selectUserList(user); } + @Override + public List selectUserListByAdRole(Arbitrator arbitrator) { + return userMapper.selectUserListByAdRole(arbitrator); + } + /** * 根据条件分页查询已分配用户角色列表 * diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/ArbitratorMapper.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/ArbitratorMapper.java index 04bda03..3cfece2 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/ArbitratorMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/ArbitratorMapper.java @@ -8,4 +8,5 @@ import java.util.List; public interface ArbitratorMapper { List selectArbitratorList(Arbitrator arbitrator); + } diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/CaseApplicationMapper.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/CaseApplicationMapper.java index 7e9e4e1..200c92d 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/CaseApplicationMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/CaseApplicationMapper.java @@ -1,5 +1,6 @@ package com.ruoyi.wisdomarbitrate.mapper; +import com.ruoyi.wisdomarbitrate.domain.Arbitrator; import com.ruoyi.wisdomarbitrate.domain.CaseAffiliate; import com.ruoyi.wisdomarbitrate.domain.CaseApplication; import org.apache.ibatis.annotations.Param; @@ -31,4 +32,11 @@ public interface CaseApplicationMapper { * @return */ Integer selectCaseNumLike(@Param("caseNum") String caseNum, @Param("length") int length); + + /** + * 查询仲裁员根据案件id + * @param arbitrator + * @return + */ + String selectArbitratorList(@Param("id") String id); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CaseApplicationServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CaseApplicationServiceImpl.java index fc5eb4a..2a37485 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CaseApplicationServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CaseApplicationServiceImpl.java @@ -4,6 +4,7 @@ package com.ruoyi.wisdomarbitrate.service.impl; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.StrUtil; + import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.google.gson.Gson; @@ -13,11 +14,14 @@ import com.ruoyi.common.annotation.DataScope; import com.ruoyi.common.constant.CaseApplicationConstants; import com.ruoyi.common.core.domain.entity.EsignHttpResponse; import com.ruoyi.common.core.domain.entity.SysDept; + import com.ruoyi.common.core.domain.entity.SysUser; + import com.ruoyi.common.exception.EsignDemoException; import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.utils.SignAward; import com.ruoyi.common.utils.bean.SealSignRecord; + import com.ruoyi.common.utils.file.SaaSAPIFileUtils; import com.ruoyi.system.mapper.SysUserMapper; import com.ruoyi.wisdomarbitrate.utils.CaseLogUtils; @@ -108,7 +112,7 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { caseAffiliate.setCaseAppliId(caseApplication.getId()); if(caseAffiliate.getIdentityType()==1&&StrUtil.isNotEmpty(caseAffiliate.getName())) { // 将组织机构id设为申请人名称 - if (deptMap.containsKey(caseAffiliate.getName())) { + if (deptMap.containsKey(caseApplication.getName())) { caseAffiliate.setName(String.valueOf(deptMap.get(caseAffiliate.getName()))); } else { // 如果不存在则新增 @@ -1118,4 +1122,66 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { caseApplicationNew.setFeePayable(caseApplicationinsertDiffer.getFeePayable()); } + @Transactional + public void fixExecuteSelectFlowDetailUtils() throws EsignDemoException { + + Gson gson = new Gson(); + + + + SealSignRecord sealSignRecord = new SealSignRecord(); + sealSignRecord.setSignFlowid("41e6732b48c54c63a91b2379c352212d"); + EsignHttpResponse signFlowDetail = SignAward.signFlowDetail(sealSignRecord); + JsonObject signFlowDetailJsonObject = gson.fromJson(signFlowDetail.getBody(),JsonObject.class); + JsonObject flowDetailData = signFlowDetailJsonObject.getAsJsonObject("data"); + JsonArray signersArray = flowDetailData.get("signers").getAsJsonArray(); + for (int i = 0; i < signersArray.size(); i++) { + JsonObject signerObject = (JsonObject)signersArray.get(i); + Integer psnsignStatus ; + Integer orgsignStatus ; + if(!(signerObject.get("psnSigner").toString()).equals("null")){ + JsonObject psnSignerData = signerObject.getAsJsonObject("psnSigner"); + if(psnSignerData!=null){ + psnsignStatus = signerObject.get("signStatus").getAsInt(); + sealSignRecord.setPsnsignStatus(psnsignStatus); + + if(psnsignStatus.intValue()==2){ + //更新立案申请状态为待用印 + CaseApplication caseApplication = new CaseApplication(); + caseApplication.setCaseStatus(CaseApplicationConstants.ARBITRATED_SEAL); + caseApplicationMapper.submitCaseApplication(caseApplication); + + //修改"签署用印记录表"的状态为待用印 + + } + } + } + if(!(signerObject.get("orgSigner").toString()).equals("null")){ + JsonObject orgSignerData = signerObject.getAsJsonObject("orgSigner"); + if(orgSignerData!=null){ + orgsignStatus = signerObject.get("signStatus").getAsInt(); + sealSignRecord.setOrgsignStatus(orgsignStatus); + //更新立案申请状态为待送达 + CaseApplication caseApplication = new CaseApplication(); + caseApplication.setCaseStatus(CaseApplicationConstants.ARBITRATION_DELIVERY); + caseApplicationMapper.submitCaseApplication(caseApplication); + + //修改"签署用印记录表"的状态为签署完成 + + //下载审核完成的裁决书, +// SaaSAPIFileUtils.fileDownloadUrl(); + + } + + } + + } + + } + + + + + + } diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/utils/FixSelectFlowDetailUtils.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/utils/FixSelectFlowDetailUtils.java new file mode 100644 index 0000000..37c64d0 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/utils/FixSelectFlowDetailUtils.java @@ -0,0 +1,75 @@ +package com.ruoyi.wisdomarbitrate.utils; + +import com.google.gson.Gson; +import com.google.gson.JsonArray; +import com.google.gson.JsonObject; +import com.ruoyi.common.constant.CaseApplicationConstants; +import com.ruoyi.common.core.domain.entity.EsignHttpResponse; +import com.ruoyi.common.exception.EsignDemoException; +import com.ruoyi.common.utils.SignAward; +import com.ruoyi.common.utils.bean.SealSignRecord; +import com.ruoyi.wisdomarbitrate.domain.CaseApplication; +import com.ruoyi.wisdomarbitrate.mapper.CaseApplicationMapper; +import org.springframework.beans.factory.annotation.Autowired; + +public class FixSelectFlowDetailUtils { + + @Autowired + private CaseApplicationMapper caseApplicationMapper; + + + public void fixExecuteSelectFlowDetailUtils() throws EsignDemoException { + + Gson gson = new Gson(); + + + + SealSignRecord sealSignRecord = new SealSignRecord(); + sealSignRecord.setSignFlowid("41e6732b48c54c63a91b2379c352212d"); + EsignHttpResponse signFlowDetail = SignAward.signFlowDetail(sealSignRecord); + JsonObject signFlowDetailJsonObject = gson.fromJson(signFlowDetail.getBody(),JsonObject.class); + JsonObject flowDetailData = signFlowDetailJsonObject.getAsJsonObject("data"); + JsonArray signersArray = flowDetailData.get("signers").getAsJsonArray(); + for (int i = 0; i < signersArray.size(); i++) { + JsonObject signerObject = (JsonObject)signersArray.get(i); + Integer psnsignStatus ; + Integer orgsignStatus ; + if(!(signerObject.get("psnSigner").toString()).equals("null")){ + JsonObject psnSignerData = signerObject.getAsJsonObject("psnSigner"); + if(psnSignerData!=null){ + psnsignStatus = signerObject.get("signStatus").getAsInt(); + sealSignRecord.setPsnsignStatus(psnsignStatus); + + if(psnsignStatus.intValue()==2){ + //更新立案申请状态为待用印 + CaseApplication caseApplication = new CaseApplication(); + caseApplication.setCaseStatus(CaseApplicationConstants.ARBITRATED_SEAL); + caseApplicationMapper.submitCaseApplication(caseApplication); + + + + } + + + + } + } + if(!(signerObject.get("orgSigner").toString()).equals("null")){ + JsonObject orgSignerData = signerObject.getAsJsonObject("orgSigner"); + if(orgSignerData!=null){ + orgsignStatus = signerObject.get("signStatus").getAsInt(); + sealSignRecord.setOrgsignStatus(orgsignStatus); + } + + } + + } + + } + + + + + + +} diff --git a/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml index eca3694..83487c2 100644 --- a/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml @@ -141,7 +141,40 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + + + insert into sys_user( user_id, diff --git a/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/CaseApplicationMapper.xml b/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/CaseApplicationMapper.xml index 884805e..cc51f2d 100644 --- a/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/CaseApplicationMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/CaseApplicationMapper.xml @@ -248,6 +248,9 @@ select max(substring(case_num, #{length}+1,12)+1) as maxCaseNum from case_application where case_num like CONCAT(#{caseNum},'%') ; + \ No newline at end of file diff --git a/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/SealSignRecordMapper.xml b/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/SealSignRecordMapper.xml index 7a6c49e..bb0690e 100644 --- a/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/SealSignRecordMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/SealSignRecordMapper.xml @@ -12,4 +12,5 @@ ,#{orgnizeNamePsnAccount},#{orgnizeNamepsnName},#{positionPagepsn},#{positionXpsn},#{positionYpsn} ,#{positionPageorg},#{positionXorg},#{positionYorg},#{caseAppliId},#{signFlowStatus}) + \ No newline at end of file