机构管理.公章管理优化
This commit is contained in:
+137
-158
@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.JsonArray;
|
||||
import com.google.gson.JsonElement;
|
||||
import com.google.gson.JsonObject;
|
||||
import com.ruoyi.common.constant.CaseApplicationConstants;
|
||||
import com.ruoyi.common.constant.FileTransformation;
|
||||
@@ -11,14 +12,8 @@ import com.ruoyi.common.core.domain.entity.EsignHttpResponse;
|
||||
import com.ruoyi.common.exception.EsignDemoException;
|
||||
import com.ruoyi.common.utils.SealUtil;
|
||||
import com.ruoyi.common.utils.file.SaaSAPIFileUtils;
|
||||
import com.ruoyi.wisdomarbitrate.domain.CaseApplication;
|
||||
import com.ruoyi.wisdomarbitrate.domain.CaseAttach;
|
||||
import com.ruoyi.wisdomarbitrate.domain.DeptIdentify;
|
||||
import com.ruoyi.wisdomarbitrate.domain.SealSignRecord;
|
||||
import com.ruoyi.wisdomarbitrate.mapper.CaseApplicationMapper;
|
||||
import com.ruoyi.wisdomarbitrate.mapper.CaseAttachMapper;
|
||||
import com.ruoyi.wisdomarbitrate.mapper.DeptIdentifyMapper;
|
||||
import com.ruoyi.wisdomarbitrate.mapper.SealSignRecordMapper;
|
||||
import com.ruoyi.wisdomarbitrate.domain.*;
|
||||
import com.ruoyi.wisdomarbitrate.mapper.*;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.scheduling.annotation.Scheduled;
|
||||
import org.springframework.stereotype.Component;
|
||||
@@ -27,6 +22,7 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
@@ -41,7 +37,11 @@ public class FixSelectFlowDetailUtils {
|
||||
private CaseAttachMapper caseAttachMapper;
|
||||
@Autowired
|
||||
private DeptIdentifyMapper deptIdentifyMapper;
|
||||
|
||||
@Autowired
|
||||
private SealManageMapper sealManageMapper;
|
||||
/*
|
||||
定时查询签署流程详情
|
||||
*/
|
||||
@Scheduled(cron = "0/10 * * * * ?")
|
||||
@Transactional
|
||||
public void fixExecuteSelectFlowDetailUtils() {
|
||||
@@ -171,17 +171,21 @@ public class FixSelectFlowDetailUtils {
|
||||
|
||||
}
|
||||
|
||||
@Scheduled(cron = "0/30 * * * * ?")
|
||||
/**
|
||||
* 定时查询企业认证状态
|
||||
* @throws Exception
|
||||
*/
|
||||
@Scheduled(cron = "0 0/30 * * * ?")
|
||||
@Transactional
|
||||
public void fixExecuteSelectDeptIndentifyUtils() throws EsignDemoException {
|
||||
public void fixExecuteSelectDeptIndentifyUtils() throws Exception {
|
||||
Gson gson = new Gson();
|
||||
DeptIdentify deptIdentify = new DeptIdentify();
|
||||
deptIdentify.setIdentifyStatus(0);
|
||||
List<DeptIdentify> deptIdentifysnew = deptIdentifyMapper.selectDeptIdentifylist(deptIdentify);
|
||||
List<DeptIdentify> deptIdentifysnew = deptIdentifyMapper.selectDeptIdentify(deptIdentify);
|
||||
if (deptIdentifysnew != null && deptIdentifysnew.size() > 0) {
|
||||
for (int i = 0; i < deptIdentifysnew.size(); i++) {
|
||||
EsignHttpResponse identifyInfo = SignAward.getDeptIdentifyInfo(deptIdentifysnew.get(i));
|
||||
|
||||
DeptIdentify deptIdentify1 = deptIdentifysnew.get(i);
|
||||
EsignHttpResponse identifyInfo = SignAward.getDeptIdentifyInfo(deptIdentify1);
|
||||
JsonObject identifyInfoJsonObject = gson.fromJson(identifyInfo.getBody(), JsonObject.class);
|
||||
int code = identifyInfoJsonObject.get("code").getAsInt();
|
||||
if (code == 0) {
|
||||
@@ -189,27 +193,66 @@ public class FixSelectFlowDetailUtils {
|
||||
int realnameStatus = identifyInfoData.get("realnameStatus").getAsInt();
|
||||
if (realnameStatus == 1) {
|
||||
String orgId = identifyInfoData.get("orgId").getAsString();
|
||||
System.out.println("这是orgId" + orgId + "=======================");
|
||||
EsignHttpResponse identifyInfo1 = SignAward.deptIdentifySealList(orgId);
|
||||
//将orgId保存到数据库里
|
||||
DeptIdentify deptIdentifynew = deptIdentifysnew.get(i);
|
||||
deptIdentifynew.setOrgId(orgId);
|
||||
JsonObject identifyInfoJsonObject1 = gson.fromJson(identifyInfo1.getBody(), JsonObject.class);
|
||||
JsonObject identifyInfoData1 = identifyInfoJsonObject1.getAsJsonObject("data");
|
||||
JsonArray sealArray = identifyInfoData1.get("seals").getAsJsonArray();
|
||||
String sealNames = "";
|
||||
if (sealArray.size() > 0) {
|
||||
for (int j = 0; j < sealArray.size(); j++) {
|
||||
JsonObject sealObject = (JsonObject) sealArray.get(j);
|
||||
String sealName = sealObject.get("sealName").toString();
|
||||
String sealNamenew = sealName.substring(1, sealName.length() - 1);
|
||||
sealNames += sealNamenew + ",";
|
||||
//查询企业内部印章
|
||||
EsignHttpResponse response = SignAward.deptIdentifySealList(orgId);
|
||||
JsonObject jsonObject = gson.fromJson(response.getBody(), JsonObject.class);
|
||||
int code1 = jsonObject.get("code").getAsInt();
|
||||
if (code1 == 0){
|
||||
JsonObject data = jsonObject.getAsJsonObject("data");
|
||||
JsonArray seals = data.get("seals").getAsJsonArray();
|
||||
if (seals.size() > 0) {
|
||||
for (int j = 0; j < seals.size(); j++) {
|
||||
//保存印章信息到数据库
|
||||
JsonObject asJsonObject = seals.get(j).getAsJsonObject();
|
||||
SealManage sealManage = new SealManage();
|
||||
String sealName = asJsonObject.get("sealName").toString();
|
||||
String sealId = asJsonObject.get("sealId").toString();
|
||||
String url = asJsonObject.get("sealImageDownloadUrl").toString();
|
||||
LocalDate now = LocalDate.now();
|
||||
String year = Integer.toString(now.getYear());
|
||||
String month = String.format("%02d", now.getMonthValue());
|
||||
String day = String.format("%02d", now.getDayOfMonth());
|
||||
String saveFolderPath = "/home/ruoyi/uploadPath/upload/" + year + "/" + month + "/" + day;
|
||||
String fileName = UUID.randomUUID().toString().replace("-", "") + ".pdf";
|
||||
String saveName = "/profile/upload/" + year + "/" + month + "/" + day + "/" + fileName;
|
||||
String savePath = "/home/ruoyi/uploadPath/upload/";
|
||||
// 创建日期目录
|
||||
File saveFolder = new File(saveFolderPath);
|
||||
if (!saveFolder.exists()) {
|
||||
saveFolder.mkdirs();
|
||||
}
|
||||
String resultFilePath = saveFolderPath + "/" + fileName;
|
||||
File resultFilePathFile = new File(resultFilePath);
|
||||
if (!resultFilePathFile.exists()) {
|
||||
resultFilePathFile.createNewFile();
|
||||
}
|
||||
boolean downLoadFile = FileTransformation.downLoadFileByUrl(url, resultFilePath);
|
||||
if (downLoadFile) {
|
||||
CaseAttach caseAttach = new CaseAttach();
|
||||
caseAttach.setAnnexType(10); //10代表印章图片
|
||||
caseAttach.setAnnexPath(savePath);
|
||||
caseAttach.setAnnexName(saveName);
|
||||
int i1 = caseAttachMapper.save(caseAttach);
|
||||
if (i1 > 0) {
|
||||
//将印章信息保存到公章管理表里
|
||||
Integer annexId1 = caseAttach.getAnnexId();
|
||||
sealManage.setAnnexId(annexId1);
|
||||
sealManage.setSealId(sealId);
|
||||
sealManage.setSealName(sealName);
|
||||
sealManage.setIdentifyId(deptIdentify1.getId());
|
||||
sealManage.setSealStatus(1);
|
||||
sealManageMapper.insertSealManage(sealManage);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
String sealName = sealNames.substring(0, sealNames.length() - 1);
|
||||
deptIdentifynew.setIdentifyStatus(1);
|
||||
deptIdentifynew.setSealName(sealName);
|
||||
int row = deptIdentifyMapper.updateDeptIdentify(deptIdentifynew);
|
||||
//将orgId保存到数据库里
|
||||
deptIdentify1.setOrgId(orgId);
|
||||
deptIdentify1.setIdentifyStatus(1);
|
||||
deptIdentify1.setIsUse(0); //默认机构为未启用
|
||||
int row = deptIdentifyMapper.updateDeptIdentify(deptIdentify1);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -217,68 +260,77 @@ public class FixSelectFlowDetailUtils {
|
||||
}
|
||||
|
||||
/**
|
||||
* 定时查询企业内部印章审核状态
|
||||
*
|
||||
* @throws EsignDemoException
|
||||
* 定时查询印章审核状态
|
||||
*/
|
||||
// @Scheduled(cron = "0/30 * * * * ?")
|
||||
@Scheduled(cron = "0/30 * * * * ?")
|
||||
@Transactional
|
||||
public void searchForInstitutionalSeal() {
|
||||
try {
|
||||
DeptIdentify deptIdentify = new DeptIdentify();
|
||||
deptIdentify.setIsUse(0);
|
||||
List<DeptIdentify> deptIdentifies = deptIdentifyMapper.selectDeptIdentifylist(deptIdentify);
|
||||
if (deptIdentifies != null && deptIdentifies.size() > 0) {
|
||||
for (DeptIdentify identify : deptIdentifies) {
|
||||
SealManage sealManage = new SealManage();
|
||||
sealManage.setSealStatus(0);
|
||||
List<SealManage> sealManageList = sealManageMapper.selectSealList(sealManage);
|
||||
if (sealManageList != null && sealManageList.size() > 0) {
|
||||
for (SealManage sealManage1 : sealManageList) {
|
||||
//查询企业内部印章
|
||||
Integer annexId = identify.getAnnexId();
|
||||
if (annexId == null) {
|
||||
//说明之前没有下载过
|
||||
EsignHttpResponse response = SignAward.orgOwnSealList(identify);
|
||||
JSONObject jsonObject = JSONObject.parseObject(response.getBody());
|
||||
JSONObject data = jsonObject.getJSONObject("data");
|
||||
JSONArray seals = data.getJSONArray("seals");
|
||||
for (int i = 0; i < seals.size(); i++) {
|
||||
JSONObject seal = seals.getJSONObject(i);
|
||||
int statusDescription = seal.getIntValue("statusDescription");
|
||||
if (statusDescription == 1) {//印章状态 1已启用,2待审核,3审核不通过,4 挂起
|
||||
//已启用证明审核通过,下载到数据库
|
||||
String sealImageDownloadUrl = seal.getString("sealImageDownloadUrl");
|
||||
LocalDate now = LocalDate.now();
|
||||
String year = Integer.toString(now.getYear());
|
||||
String month = String.format("%02d", now.getMonthValue());
|
||||
String day = String.format("%02d", now.getDayOfMonth());
|
||||
String saveFolderPath = "/home/ruoyi/uploadPath/upload/" + year + "/" + month + "/" + day;
|
||||
String fileName = UUID.randomUUID().toString().replace("-", "") + ".pdf";
|
||||
String saveName = "/profile/upload/" + year + "/" + month + "/" + day + "/" + fileName;
|
||||
String savePath = "/home/ruoyi/uploadPath/upload/";
|
||||
// 创建日期目录
|
||||
File saveFolder = new File(saveFolderPath);
|
||||
if (!saveFolder.exists()) {
|
||||
saveFolder.mkdirs();
|
||||
}
|
||||
String resultFilePath = saveFolderPath + "/" + fileName;
|
||||
File resultFilePathFile = new File(resultFilePath);
|
||||
if (!resultFilePathFile.exists()) {
|
||||
resultFilePathFile.createNewFile();
|
||||
}
|
||||
boolean downLoadFile = FileTransformation.downLoadFileByUrl(sealImageDownloadUrl, resultFilePath);
|
||||
if (downLoadFile) {
|
||||
CaseAttach caseAttach = new CaseAttach();
|
||||
caseAttach.setAnnexType(10); //10代表印章图片
|
||||
caseAttach.setAnnexPath(savePath);
|
||||
caseAttach.setAnnexName(saveName);
|
||||
int i1 = caseAttachMapper.save(caseAttach);
|
||||
if (i1 > 0) {
|
||||
//将附件id保存到公章管理表里
|
||||
Integer annexId1 = caseAttach.getAnnexId();
|
||||
identify.setAnnexId(annexId1);
|
||||
deptIdentifyMapper.updateDeptIdentify(identify);
|
||||
Integer annexId = sealManage1.getAnnexId();
|
||||
String sealId = sealManage1.getSealId();
|
||||
DeptIdentify deptIdentify = new DeptIdentify();
|
||||
deptIdentify.setId(sealManage1.getIdentifyId());
|
||||
List<DeptIdentify> deptIdentifies = deptIdentifyMapper.selectDeptIdentify(deptIdentify);
|
||||
if (deptIdentifies != null && deptIdentifies.size() > 0) {
|
||||
DeptIdentify deptIdentify1 = deptIdentifies.get(0);
|
||||
String orgId = deptIdentify1.getOrgId();
|
||||
if (orgId == null) {
|
||||
continue;
|
||||
}
|
||||
if (annexId == null) {
|
||||
//说明之前没有下载过
|
||||
EsignHttpResponse response = SignAward.getOrgSeal(orgId, sealId);
|
||||
JSONObject jsonObject = JSONObject.parseObject(response.getBody());
|
||||
int code = jsonObject.getIntValue("code");
|
||||
if (code == 0) {
|
||||
JSONObject data = jsonObject.getJSONObject("data");
|
||||
int sealStatus = data.getIntValue("sealStatus");
|
||||
if (sealStatus == 1) {//印章状态 1已启用,2待审核,3审核不通过,4 挂起
|
||||
//已启用证明审核通过,下载到数据库
|
||||
String sealImageDownloadUrl = data.getString("sealImageDownloadUrl ");
|
||||
LocalDate now = LocalDate.now();
|
||||
String year = Integer.toString(now.getYear());
|
||||
String month = String.format("%02d", now.getMonthValue());
|
||||
String day = String.format("%02d", now.getDayOfMonth());
|
||||
String saveFolderPath = "/home/ruoyi/uploadPath/upload/" + year + "/" + month + "/" + day;
|
||||
String fileName = UUID.randomUUID().toString().replace("-", "") + ".pdf";
|
||||
String saveName = "/profile/upload/" + year + "/" + month + "/" + day + "/" + fileName;
|
||||
String savePath = "/home/ruoyi/uploadPath/upload/";
|
||||
// 创建日期目录
|
||||
File saveFolder = new File(saveFolderPath);
|
||||
if (!saveFolder.exists()) {
|
||||
saveFolder.mkdirs();
|
||||
}
|
||||
String resultFilePath = saveFolderPath + "/" + fileName;
|
||||
File resultFilePathFile = new File(resultFilePath);
|
||||
if (!resultFilePathFile.exists()) {
|
||||
resultFilePathFile.createNewFile();
|
||||
}
|
||||
boolean downLoadFile = FileTransformation.downLoadFileByUrl(sealImageDownloadUrl, resultFilePath);
|
||||
if (downLoadFile) {
|
||||
CaseAttach caseAttach = new CaseAttach();
|
||||
caseAttach.setAnnexType(10); //10代表印章图片
|
||||
caseAttach.setAnnexPath(savePath);
|
||||
caseAttach.setAnnexName(saveName);
|
||||
int i1 = caseAttachMapper.save(caseAttach);
|
||||
if (i1 > 0) {
|
||||
//将附件id保存到公章管理表里
|
||||
Integer annexId1 = caseAttach.getAnnexId();
|
||||
sealManage1.setAnnexId(annexId1);
|
||||
sealManageMapper.updateSealManage(sealManage1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
} catch (EsignDemoException e) {
|
||||
@@ -288,79 +340,6 @@ public class FixSelectFlowDetailUtils {
|
||||
}
|
||||
}
|
||||
|
||||
/* public static void main(String[] args) throws Exception {
|
||||
Gson gson = new Gson();
|
||||
SealSignRecord sealSignRecord = new SealSignRecord();
|
||||
sealSignRecord.setCaseAppliId(1350L);
|
||||
sealSignRecord.setSignFlowid("24ca7172f1a242238937d952c2e7fbff");
|
||||
EsignHttpResponse signFlowDetail = SignAward.signFlowDetail(sealSignRecord);
|
||||
JsonObject signFlowDetailJsonObject = gson.fromJson(signFlowDetail.getBody(), JsonObject.class);
|
||||
JsonObject flowDetailData = signFlowDetailJsonObject.getAsJsonObject("data");
|
||||
JsonArray signersArray = flowDetailData.get("signers").getAsJsonArray();
|
||||
Integer psnsignStatus = null;
|
||||
Integer orgsignStatus = null;
|
||||
|
||||
for (int j = 0; j < signersArray.size(); j++) {
|
||||
JsonObject signerObject = (JsonObject) signersArray.get(j);
|
||||
|
||||
if (!(signerObject.get("psnSigner").toString()).equals("null")) {
|
||||
JsonObject psnSignerData = signerObject.getAsJsonObject("psnSigner");
|
||||
if (psnSignerData != null) {
|
||||
psnsignStatus = signerObject.get("signStatus").getAsInt();
|
||||
}
|
||||
}
|
||||
if (!(signerObject.get("orgSigner").toString()).equals("null")) {
|
||||
JsonObject orgSignerData = signerObject.getAsJsonObject("orgSigner");
|
||||
if (orgSignerData != null) {
|
||||
orgsignStatus = signerObject.get("signStatus").getAsInt();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if ((psnsignStatus.intValue() == 2) && (orgsignStatus.intValue() == 2)) {
|
||||
|
||||
//下载审核完成的裁决书,
|
||||
String signFlowId = "24ca7172f1a242238937d952c2e7fbff";
|
||||
EsignHttpResponse fileDownload = SaaSAPIFileUtils.fileDownloadUrl(signFlowId);
|
||||
JsonObject fileDownloadJsonObject = gson.fromJson(fileDownload.getBody(), JsonObject.class);
|
||||
JsonObject fileDownloadData = fileDownloadJsonObject.getAsJsonObject("data");
|
||||
JsonArray filesArray = fileDownloadData.get("files").getAsJsonArray();
|
||||
if (filesArray != null && filesArray.size() > 0) {
|
||||
JsonObject fileObject = (JsonObject) filesArray.get(0);
|
||||
String fileDownloadUrl = fileObject.get("downloadUrl").toString();
|
||||
System.out.println(fileDownloadUrl);
|
||||
String filearbitraUrl = fileDownloadUrl.substring(1, fileDownloadUrl.length() - 1);
|
||||
System.out.println(filearbitraUrl);
|
||||
LocalDate now = LocalDate.now();
|
||||
String year = Integer.toString(now.getYear());
|
||||
String month = String.format("%02d", now.getMonthValue());
|
||||
String day = String.format("%02d", now.getDayOfMonth());
|
||||
String saveFolderPath = "/home/ruoyi/uploadPath/upload/" + year + "/" + month + "/" + day;
|
||||
String fileName = UUID.randomUUID().toString().replace("-", "") + ".pdf";
|
||||
String saveName = "/profile/upload/" + year + "/" + month + "/" + day + "/" + fileName;
|
||||
String savePath = "/home/ruoyi/uploadPath/upload/";
|
||||
|
||||
// 创建日期目录
|
||||
File saveFolder = new File(saveFolderPath);
|
||||
if (!saveFolder.exists()) {
|
||||
saveFolder.mkdirs();
|
||||
}
|
||||
String resultFilePath = saveFolderPath + "/" + fileName;
|
||||
File resultFilePathFile = new File(resultFilePath);
|
||||
if (!resultFilePathFile.exists()) {
|
||||
resultFilePathFile.createNewFile();
|
||||
}
|
||||
|
||||
String fileDownloadUrlnew = fileDownloadUrl.substring(1, fileDownloadUrl.length() - 1);
|
||||
boolean downLoadFile = FileTransformation.downLoadFileByUrl(fileDownloadUrlnew, resultFilePath);
|
||||
if (downLoadFile) {
|
||||
System.out.println("chenggong ===============");
|
||||
}
|
||||
}
|
||||
}
|
||||
}*/
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user