Merge branch 'dev' of http://git.xayunmei.com/SH-Arbitrate/Arbitrate-Backend into qtz3
This commit is contained in:
@@ -29,6 +29,18 @@ public class CaseApplication extends BaseEntity {
|
||||
private Date registerDate;
|
||||
/** 仲裁方式 */
|
||||
private Integer arbitratMethod;
|
||||
/**
|
||||
* 是否导入,0手动录入,1导入,默认0
|
||||
*/
|
||||
private Integer importFlag;
|
||||
|
||||
public Integer getImportFlag() {
|
||||
return importFlag;
|
||||
}
|
||||
|
||||
public void setImportFlag(Integer importFlag) {
|
||||
this.importFlag = importFlag;
|
||||
}
|
||||
|
||||
public String getSelectCaseStatus() {
|
||||
return selectCaseStatus;
|
||||
|
||||
@@ -2,15 +2,16 @@ package com.ruoyi.wisdomarbitrate.mapper;
|
||||
|
||||
import com.ruoyi.wisdomarbitrate.domain.CaseApplication;
|
||||
import com.ruoyi.wisdomarbitrate.domain.CaseAttach;
|
||||
import com.ruoyi.wisdomarbitrate.domain.SealSignRecord;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Mapper
|
||||
public interface CaseAttachMapper {
|
||||
int save(CaseAttach caseAttach);
|
||||
|
||||
List<CaseAttach> queryAnnexPathByCaseId(Long id);
|
||||
List<CaseAttach> queryAnnexPathByCaseId(Long id);
|
||||
|
||||
List<CaseAttach> queryCaseAttachList(CaseApplication caseApplication);
|
||||
|
||||
@@ -20,4 +21,6 @@ public interface CaseAttachMapper {
|
||||
int updateCaseAttachBycaseid(CaseAttach caseAttach);
|
||||
|
||||
int deleteByFileIds(@Param("ids") List<Integer> fileIds);
|
||||
|
||||
List<CaseAttach> getCaseAttachByCaseIdAndType(CaseAttach caseAttach);
|
||||
}
|
||||
|
||||
+28
-14
@@ -17,6 +17,9 @@ import com.ruoyi.wisdomarbitrate.service.IAdjudicationService;
|
||||
import com.ruoyi.wisdomarbitrate.service.ICaseApplicationService;
|
||||
import com.ruoyi.wisdomarbitrate.service.ICaseLogRecordService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.poi.ss.usermodel.Sheet;
|
||||
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
||||
import org.apache.poi.xwpf.usermodel.XWPFDocument;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.mail.MailSendException;
|
||||
import org.springframework.mail.javamail.JavaMailSender;
|
||||
@@ -57,7 +60,6 @@ public class AdjudicationServiceImpl implements IAdjudicationService {
|
||||
private ICaseLogRecordService caseLogRecordService;
|
||||
@Autowired
|
||||
private RedisCache redisCache;
|
||||
|
||||
@Autowired
|
||||
private SendMailRecordMapper sendMailRecordMapper;
|
||||
|
||||
@@ -108,7 +110,6 @@ public class AdjudicationServiceImpl implements IAdjudicationService {
|
||||
datas.put("resDateOfBirth", responBirthStr);
|
||||
|
||||
}
|
||||
|
||||
datas.put("resContactAddress", affiliate.getContactAddress());
|
||||
nameAgentList.add(affiliate.getNameAgent());
|
||||
}
|
||||
@@ -160,7 +161,7 @@ public class AdjudicationServiceImpl implements IAdjudicationService {
|
||||
datas.put("arbitratorName", arbitratorName);
|
||||
Integer arbitratMethod = caseApplication1.getArbitratMethod();
|
||||
Date hearDate = caseApplication1.getHearDate();
|
||||
if (hearDate!=null){
|
||||
if (hearDate != null) {
|
||||
String hearDateStr = sdf.format(hearDate);
|
||||
//线上开庭时
|
||||
if (arbitratMethod == 1) {
|
||||
@@ -280,26 +281,39 @@ public class AdjudicationServiceImpl implements IAdjudicationService {
|
||||
Path destinationPath = new File(resultFilePath).toPath();
|
||||
Files.copy(sourcePath, destinationPath, StandardCopyOption.REPLACE_EXISTING);
|
||||
String docFilePath = WordUtil.getDocFilePath(datas, modalFilePath, resultFilePath);
|
||||
File file = new File(docFilePath);
|
||||
if (file.exists()) {
|
||||
InputStream in = new FileInputStream(file);
|
||||
XWPFDocument xwpfDocument = new XWPFDocument(in);
|
||||
WordUtil.changeText(xwpfDocument);
|
||||
}
|
||||
String savePath = docFilePath.substring(0, docFilePath.indexOf("/upload/") + 8);
|
||||
//修改案件状态
|
||||
caseApplication1.setCaseStatus(CaseApplicationConstants.VERPRIF_ARBITRATION);
|
||||
caseApplicationMapper.submitCaseApplication(caseApplication1);
|
||||
//将裁决书保存到附件表里
|
||||
CaseAttach caseAttach = CaseAttach.builder()
|
||||
.caseAppliId(id)
|
||||
.annexName(saveName)
|
||||
.annexPath(savePath)
|
||||
.annexType(3)
|
||||
.build();
|
||||
int i = caseAttachMapper.save(caseAttach);
|
||||
if (i > 0) {
|
||||
if (arbitrateRecord1 != null) {
|
||||
Integer annexId = caseAttach.getAnnexId();
|
||||
//将附件id保存到仲裁记录表里面
|
||||
arbitrateRecord1.setAnnexId(annexId);
|
||||
arbitrateRecordMapper.updataArbitrateRecord(arbitrateRecord1);
|
||||
//保存到附件表里,先判断之前有没有,有的话更新,没有的话新增
|
||||
List<CaseAttach> caseAttachList = caseAttachMapper.getCaseAttachByCaseIdAndType(caseAttach);
|
||||
if (caseAttachList != null && caseAttachList.size()>0) {
|
||||
//之前已经生成过了,更新
|
||||
int i = caseAttachMapper.updateCaseAttachBycaseid(caseAttach);
|
||||
}else {
|
||||
//之前没生成过,新增
|
||||
int i = caseAttachMapper.save(caseAttach);
|
||||
if (i > 0) {
|
||||
if (arbitrateRecord1 != null) {
|
||||
Integer annexId = caseAttach.getAnnexId();
|
||||
//将附件id保存到仲裁记录表里面
|
||||
arbitrateRecord1.setAnnexId(annexId);
|
||||
arbitrateRecordMapper.updataArbitrateRecord(arbitrateRecord1);
|
||||
}
|
||||
}
|
||||
}
|
||||
//修改案件状态
|
||||
caseApplication1.setCaseStatus(CaseApplicationConstants.VERPRIF_ARBITRATION);
|
||||
caseApplicationMapper.submitCaseApplication(caseApplication1);
|
||||
return AjaxResult.success("裁决书已生成");
|
||||
} catch (IOException e) {
|
||||
return AjaxResult.error(e + "请检查文件路径是否有误");
|
||||
|
||||
+54
-27
@@ -44,6 +44,7 @@ import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.io.*;
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.nio.file.StandardCopyOption;
|
||||
@@ -147,7 +148,9 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
|
||||
}
|
||||
if (role.getRoleName().equals("法律顾问")) {
|
||||
// 查询角色有关的用户部门
|
||||
List<Long> deptIds = sysDeptMapper.selectUserDeptListByRoleId(role.getRoleId());
|
||||
// List<Long> deptIds = sysDeptMapper.selectUserDeptListByRoleId(role.getRoleId());
|
||||
List<Long> deptIds =new ArrayList<>();
|
||||
deptIds.add(sysUser.getDeptId());
|
||||
caseApplication.setDeptIds(deptIds);
|
||||
}
|
||||
if (StrUtil.isEmpty(caseApplication.getNameId()) && role.getRoleName().equals("申请人")) {
|
||||
@@ -205,7 +208,9 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
|
||||
}
|
||||
if(role.getRoleName().equals("法律顾问")){
|
||||
// 查询角色有关的用户部门
|
||||
List<Long> deptIds = sysDeptMapper.selectUserDeptListByRoleId(role.getRoleId());
|
||||
// List<Long> deptIds = sysDeptMapper.selectUserDeptListByRoleId(role.getRoleId());
|
||||
List<Long> deptIds =new ArrayList<>();
|
||||
deptIds.add(sysUser.getDeptId());
|
||||
caseApplication.setDeptIds(deptIds);
|
||||
}
|
||||
if(StrUtil.isEmpty(caseApplication.getNameId())&&role.getRoleName().equals("申请人")){
|
||||
@@ -901,8 +906,8 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
|
||||
public int editCaseApplication(CaseApplication caseApplication) {
|
||||
//根据仲裁费用计费规则计算应缴费用
|
||||
//暂时设置计费比率为0.01
|
||||
BigDecimal feeRate = new BigDecimal(0.01);
|
||||
BigDecimal feePayable = caseApplication.getCaseSubjectAmount().multiply(feeRate).setScale(2,BigDecimal.ROUND_HALF_UP);
|
||||
BigDecimal feeRate = new BigDecimal("0.01");
|
||||
BigDecimal feePayable = caseApplication.getCaseSubjectAmount().multiply(feeRate).setScale(2, RoundingMode.HALF_UP);
|
||||
caseApplication.setFeePayable(feePayable);
|
||||
caseApplication.setUpdateBy(getUsername());
|
||||
|
||||
@@ -965,6 +970,7 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
|
||||
return rows;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 组装申请代理人信息
|
||||
* @param caseAffiliate
|
||||
@@ -1172,34 +1178,21 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
|
||||
CaseApplication caseApplication = caseApplicationList.get(i);
|
||||
|
||||
// 导入校验
|
||||
importValid(caseApplication);
|
||||
importValid(caseApplication,deptMap);
|
||||
// 校验成功的数据
|
||||
if(StrUtil.isEmpty(caseApplication.getErrorMsg())) {
|
||||
//根据仲裁费用计费规则计算应缴费用
|
||||
//暂时设置计费比率为0.01
|
||||
BigDecimal feeRate = new BigDecimal(0.01);
|
||||
BigDecimal feePayable = caseApplication.getCaseSubjectAmount().multiply(feeRate).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
BigDecimal feeRate = new BigDecimal("0.01");
|
||||
BigDecimal feePayable = caseApplication.getCaseSubjectAmount().multiply(feeRate).setScale(2, RoundingMode.HALF_UP);
|
||||
caseApplication.setFeePayable(feePayable);
|
||||
|
||||
//赋值CaseApplication的案件关联人信息
|
||||
List<CaseAffiliate> caseAffiliatesnew = new ArrayList<>();
|
||||
// 组装案件关联人信息
|
||||
assignmentCaseAffiliates(caseApplication, caseAffiliatesnew, deptMap,roleId);
|
||||
|
||||
// int caseApplicationCount = selectCaseApplicationCount(caseApplication);
|
||||
// if(caseApplicationCount>0){
|
||||
// failureNum++;
|
||||
// failureMsg.append("<br/>" + failureNum + "、立案编号 " + caseApplication.getCaseNum() + " 已存在");
|
||||
// }else {
|
||||
// caseApplicationListinsert.add(caseApplication);
|
||||
// }
|
||||
if(StrUtil.isEmpty(caseApplication.getErrorMsg())) {
|
||||
caseApplicationListinsert.add(caseApplication);
|
||||
}else {
|
||||
// 拼接错误信息
|
||||
failureMsg.append("<br/>").append("第").append(i+2).append("行:").append(caseApplication.getErrorMsg().toString());
|
||||
|
||||
}
|
||||
caseApplication.setImportFlag(1);
|
||||
caseApplicationListinsert.add(caseApplication);
|
||||
}else {
|
||||
// 拼接错误信息
|
||||
failureMsg.append("<br/>").append("第").append(i+2).append("行:").append(caseApplication.getErrorMsg().toString());
|
||||
@@ -1279,7 +1272,7 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
|
||||
* @param caseApplication
|
||||
* @param
|
||||
*/
|
||||
private void importValid(CaseApplication caseApplication) {
|
||||
private void importValid(CaseApplication caseApplication,Map<String, Long> deptMap) {
|
||||
StringBuilder failureMsg=new StringBuilder();
|
||||
caseApplication.setErrorMsg(failureMsg);
|
||||
// 校验基本字段
|
||||
@@ -1287,7 +1280,7 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
|
||||
// 校验申请人信息
|
||||
validApplicationColumn(caseApplication,failureMsg);
|
||||
// 校验申请人代理信息
|
||||
validApplicationAgentColumn(caseApplication,failureMsg);
|
||||
validApplicationAgentColumn(caseApplication,failureMsg,deptMap);
|
||||
// 校验被申请人信息
|
||||
validDebtorApplicationColumn(caseApplication,failureMsg);
|
||||
// 校验被申请人代理信息
|
||||
@@ -1378,7 +1371,7 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
|
||||
* @param caseApplication
|
||||
* @param failureMsg
|
||||
*/
|
||||
private void validApplicationAgentColumn(CaseApplication caseApplication, StringBuilder failureMsg) {
|
||||
private void validApplicationAgentColumn(CaseApplication caseApplication, StringBuilder failureMsg,Map<String, Long> deptMap) {
|
||||
if( StrUtil.isEmpty(caseApplication.getNameAgent())){
|
||||
failureMsg.append("【申请人主体信息-代理人姓名】字段不能为空;");
|
||||
}else if(caseApplication.getNameAgent().length()>50){
|
||||
@@ -1389,6 +1382,7 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
|
||||
}else if(caseApplication.getIdentityNumAgent().length()>50){
|
||||
failureMsg.append("【申请人主体信息-代理人身份证号】字段超出指定长度,最大长度为50;");
|
||||
}
|
||||
validAgentInfo(caseApplication,failureMsg,deptMap);
|
||||
String contactTelphoneAgent = caseApplication.getContactTelphoneAgent();
|
||||
if( StrUtil.isEmpty(contactTelphoneAgent)){
|
||||
failureMsg.append("【申请人主体信息-代理人联系电话】字段不能为空;");
|
||||
@@ -1401,7 +1395,34 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
|
||||
failureMsg.append("【申请人主体信息-代理人联系地址】字段超出指定长度,最大长度为50;");
|
||||
}
|
||||
}
|
||||
/**
|
||||
* 校验代理人与组织机构关系
|
||||
* @param caseApplication
|
||||
* @param failureMsg
|
||||
* @return
|
||||
*/
|
||||
private void validAgentInfo(CaseApplication caseApplication, StringBuilder failureMsg,Map<String, Long> deptMap) {
|
||||
// 申请机构与代理人都不为空,校验代理人与组织机构关系(代理人必须在该部门下)
|
||||
if (StrUtil.isNotEmpty(caseApplication.getName())&&StrUtil.isNotEmpty(caseApplication.getNameAgent())) {
|
||||
String applicationOrganId="";
|
||||
// 申请机构已经存在
|
||||
if(deptMap.containsKey(caseApplication.getName())){
|
||||
applicationOrganId=String.valueOf(deptMap.get(caseApplication.getName()));
|
||||
}
|
||||
// 根据代理人身份证去用户表查询
|
||||
SysUser agentUser = sysUserMapper.selectUserByIdCard(caseApplication.getIdentityNumAgent());
|
||||
// 代理人的部门和申请机构不匹配
|
||||
if (null != agentUser.getDeptId() && !String.valueOf(agentUser.getDeptId()).equals(applicationOrganId)) {
|
||||
// return "该申请代理人已在"+agentUser.getDeptName()+"申请机构下存在,请检查填写信息是否正确";
|
||||
if (null != agentUser.getDept() && StrUtil.isNotEmpty(agentUser.getDept().getDeptName())) {
|
||||
failureMsg.append("该申请代理人已在【").append(agentUser.getDept().getDeptName()).append("】申请机构下存在,请检查填写信息是否正确");
|
||||
} else {
|
||||
failureMsg.append( "该申请代理人已存在,与申请机构不匹配,请检查填写信息是否正确");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
/**
|
||||
* 校验申请人主题信息
|
||||
* @param caseApplication
|
||||
@@ -1463,6 +1484,9 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
|
||||
if( caseApplication.getLoanEndDate()== null){
|
||||
failureMsg.append("【借款结束日期】字段不合法;");
|
||||
}
|
||||
if( caseApplication.getLoanStartDate()!= null && caseApplication.getLoanEndDate()!= null && caseApplication.getLoanStartDate().after(caseApplication.getLoanEndDate()) ){
|
||||
failureMsg.append("【借款结束日期】不能早于【借款开始日期】;");
|
||||
}
|
||||
if( StrUtil.isEmpty(caseApplication.getContractNumber())){
|
||||
failureMsg.append("【合同编号】字段不能为空;");
|
||||
}else if(caseApplication.getContractNumber().length()>50){
|
||||
@@ -1502,9 +1526,12 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
|
||||
}
|
||||
}
|
||||
if( StrUtil.isEmpty(caseApplication.getArbitratClaims())){
|
||||
failureMsg.append("【申请人仲裁诉求】字段不能为空;");
|
||||
failureMsg.append("【申请人仲裁请求及事实和理由】字段不能为空;");
|
||||
}else if(caseApplication.getArbitratClaims().length()>10000){
|
||||
failureMsg.append("【申请人仲裁诉求】字段超出指定长度,最大长度为10000;");
|
||||
failureMsg.append("【申请人仲裁请求及事实和理由】字段超出指定长度,最大长度为10000;");
|
||||
}
|
||||
if(StrUtil.isNotEmpty(caseApplication.getArbitratClaims())&&caseApplication.getArbitratClaims().length()>10000){
|
||||
failureMsg.append("【申请人请求仲裁庭裁决】字段超出指定长度,最大长度为10000;");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+337
-28
@@ -3,21 +3,27 @@ package com.ruoyi.wisdomarbitrate.service.impl;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import com.ruoyi.common.constant.CaseApplicationConstants;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.common.core.redis.RedisCache;
|
||||
import com.ruoyi.common.utils.WordUtil;
|
||||
import com.ruoyi.wisdomarbitrate.domain.*;
|
||||
import com.ruoyi.wisdomarbitrate.mapper.*;
|
||||
import com.ruoyi.wisdomarbitrate.service.IAdjudicationService;
|
||||
import com.ruoyi.wisdomarbitrate.utils.CaseLogUtils;
|
||||
import com.ruoyi.common.utils.SmsUtils;
|
||||
import com.ruoyi.wisdomarbitrate.service.ICaseArbitrateService;
|
||||
import org.apache.poi.xwpf.usermodel.XWPFDocument;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.nio.file.StandardCopyOption;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.time.LocalDate;
|
||||
import java.time.ZoneId;
|
||||
import java.util.*;
|
||||
@@ -40,6 +46,10 @@ public class CaseArbitrateServiceImpl implements ICaseArbitrateService {
|
||||
private CaseAttachMapper caseAttachMapper;
|
||||
@Autowired
|
||||
private SmsRecordMapper smsRecordMapper;
|
||||
@Autowired
|
||||
private IAdjudicationService adjudicationService;
|
||||
@Autowired
|
||||
private RedisCache redisCache;
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
@@ -155,7 +165,6 @@ public class CaseArbitrateServiceImpl implements ICaseArbitrateService {
|
||||
} else {
|
||||
//提交仲裁结果
|
||||
int i = arbitrateRecordMapper.insertArbitrateRecord(arbitrateRecord);
|
||||
|
||||
if (i > 0) {
|
||||
//案件日志表里添加数据
|
||||
CaseLogRecord caseLogRecord = new CaseLogRecord();
|
||||
@@ -167,16 +176,29 @@ public class CaseArbitrateServiceImpl implements ICaseArbitrateService {
|
||||
caseLogRecordMapper.insertCaseLogRecord(caseLogRecord);
|
||||
// 新增日志
|
||||
CaseLogUtils.insertCaseLog(caseApplication.getId(), CaseApplicationConstants.GENERATED_ARBITRATION, "");
|
||||
|
||||
}
|
||||
}
|
||||
Boolean aBoolean1 = generateAward(arbitrateRecord);
|
||||
if (aBoolean1) {
|
||||
//修改案件状态
|
||||
caseApplication1.setCaseStatus(CaseApplicationConstants.VERPRIF_ARBITRATION);
|
||||
int i = caseApplicationMapper.submitCaseApplication(caseApplication1);
|
||||
if (i > 0) {
|
||||
return AjaxResult.success("审理成功");
|
||||
}
|
||||
}
|
||||
return AjaxResult.error("裁决书生成有误");
|
||||
}
|
||||
|
||||
//生成庭审笔录
|
||||
|
||||
//生成庭审笔录
|
||||
private Boolean generateTrialTranscripts(ArbitrateRecord arbitrateRecord) {
|
||||
try {
|
||||
Map<String, Object> datas = new HashMap<>();
|
||||
Long id = caseApplication.getId();
|
||||
|
||||
|
||||
Long id = arbitrateRecord.getCaseAppliId();
|
||||
CaseApplication caseApplication = new CaseApplication();
|
||||
caseApplication.setId(id);
|
||||
CaseApplication caseApplication1 = caseApplicationMapper.selectCaseApplication(caseApplication);
|
||||
//获取案件关联人信息
|
||||
CaseAffiliate caseAffiliate = new CaseAffiliate();
|
||||
caseAffiliate.setCaseAppliId(id);
|
||||
@@ -200,10 +222,10 @@ public class CaseArbitrateServiceImpl implements ICaseArbitrateService {
|
||||
}
|
||||
}
|
||||
}
|
||||
String arbitratorName = caseApplication.getArbitratorName();
|
||||
datas.put("caseName", caseApplication.getCaseName());
|
||||
String arbitratorName = caseApplication1.getArbitratorName();
|
||||
datas.put("caseName", caseApplication1.getCaseName());
|
||||
datas.put("arbitratorName", arbitratorName);
|
||||
Date hearDate = caseApplication.getHearDate();
|
||||
Date hearDate = caseApplication1.getHearDate();
|
||||
if (hearDate != null) {
|
||||
LocalDate localDate = hearDate.toInstant()
|
||||
.atZone(ZoneId.systemDefault())
|
||||
@@ -216,7 +238,7 @@ public class CaseArbitrateServiceImpl implements ICaseArbitrateService {
|
||||
datas.put("hearMonths", null);
|
||||
datas.put("hearDay", null);
|
||||
}
|
||||
datas.put("appArbitrationClaims", caseApplication.getArbitratClaims());
|
||||
datas.put("appArbitrationClaims", caseApplication1.getArbitratClaims());
|
||||
datas.put("evidenDetermi", arbitrateRecord.getEvidenDetermi());
|
||||
datas.put("factDetermi", arbitrateRecord.getFactDetermi());
|
||||
datas.put("caseSketch", arbitrateRecord.getCaseSketch());
|
||||
@@ -231,9 +253,9 @@ public class CaseArbitrateServiceImpl implements ICaseArbitrateService {
|
||||
datas.put("months", month);
|
||||
datas.put("day", day);
|
||||
String modalFilePath = "/data/arbitrate-document/template/仲裁裁决书模板.docx";
|
||||
// String modalFilePath = "D:/develop/仲裁裁决书模板 (2).docx";
|
||||
//String modalFilePath = "D:/develop/仲裁裁决书模板 (2).docx";
|
||||
String saveFolderPath = "/home/ruoyi/uploadPath/upload/" + year + "/" + month + "/" + day;
|
||||
// String saveFolderPath = "D:/data/" + now.getYear() + "/" + now.getMonthValue() + "/" + now.getDayOfMonth();
|
||||
//String saveFolderPath = "D:/data/" + now.getYear() + "/" + now.getMonthValue() + "/" + now.getDayOfMonth();
|
||||
String fileName = UUID.randomUUID().toString().replace("-", "") + ".docx";
|
||||
String saveName = "/profile/upload/" + year + "/" + month + "/" + day + "/" + fileName;
|
||||
String resultFilePath = saveFolderPath + "/" + fileName;
|
||||
@@ -247,34 +269,321 @@ public class CaseArbitrateServiceImpl implements ICaseArbitrateService {
|
||||
Files.copy(sourcePath, destinationPath, StandardCopyOption.REPLACE_EXISTING);
|
||||
String docFilePath = WordUtil.getDocFilePath(datas, modalFilePath, resultFilePath);
|
||||
String savePath = docFilePath.substring(0, docFilePath.indexOf("/upload/") + 8);
|
||||
CaseAttach caseAttach = CaseAttach.builder()
|
||||
.caseAppliId(id)
|
||||
.annexName(saveName)
|
||||
.annexPath(savePath)
|
||||
.annexType(7)
|
||||
.build();
|
||||
//保存到附件表里,先判断之前有没有,有的话更新,没有的话新增
|
||||
CaseAttach caseAttach1 = new CaseAttach();
|
||||
caseAttach1.setAnnexType(7);
|
||||
caseAttach1.setCaseAppliId(id);
|
||||
List<CaseAttach> caseAttachList = caseAttachMapper.getCaseAttachByCaseIdAndType(caseAttach1);
|
||||
if (caseAttachList != null && caseAttachList.size() > 0) {
|
||||
//之前已经生成过了,更新
|
||||
caseAttachMapper.updateCaseAttachBycaseid(caseAttach);
|
||||
} else {
|
||||
//之前没生成过,新增
|
||||
int i = caseAttachMapper.save(caseAttach);
|
||||
ArbitrateRecord arbitrateRecord1 = arbitrateRecordMapper.selectArbitrateRecord(arbitrateRecord);
|
||||
if (i > 0) {
|
||||
if (arbitrateRecord1 != null) {
|
||||
Integer annexId = caseAttach.getAnnexId();
|
||||
//将附件id保存到仲裁记录表里面
|
||||
arbitrateRecord1.setAnnexId(annexId);
|
||||
arbitrateRecordMapper.updataArbitrateRecord(arbitrateRecord1);
|
||||
}
|
||||
}
|
||||
}
|
||||
return Boolean.TRUE;
|
||||
|
||||
//修改案件状态
|
||||
caseApplication1.setCaseStatus(CaseApplicationConstants.VERPRIF_ARBITRATION);
|
||||
caseApplicationMapper.submitCaseApplication(caseApplication1);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
return Boolean.FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
//将裁决书保存到附件表里
|
||||
//生成仲裁文书
|
||||
private Boolean generateAward(ArbitrateRecord arbitrateRecord) {
|
||||
try {
|
||||
Map<String, Object> datas = new HashMap<>();
|
||||
Long id = arbitrateRecord.getCaseAppliId();
|
||||
if (id == null) {
|
||||
return null;
|
||||
}
|
||||
//获取案件详细信息
|
||||
CaseApplication caseApplication = new CaseApplication();
|
||||
caseApplication.setId(id);
|
||||
CaseApplication caseApplication1 = caseApplicationMapper.selectCaseApplication(caseApplication);
|
||||
//生成编码
|
||||
String equipmentNo = getNewEquipmentNo();
|
||||
datas.put("num", equipmentNo);
|
||||
//获取仲裁记录表里的相关信息
|
||||
ArbitrateRecord arbitrateRecord1 = arbitrateRecordMapper.selectArbitrateRecord(arbitrateRecord);
|
||||
//获取案件关联人信息
|
||||
CaseAffiliate caseAffiliate = new CaseAffiliate();
|
||||
caseAffiliate.setCaseAppliId(id);
|
||||
List<CaseAffiliate> caseAffiliates = caseAffiliateMapper.selectCaseAffiliate(caseAffiliate);
|
||||
List<String> nameAgentList = new ArrayList<>();
|
||||
if (caseAffiliates != null && caseAffiliates.size() > 0) {
|
||||
for (CaseAffiliate affiliate : caseAffiliates) {
|
||||
//获取身份类型
|
||||
int identityType = affiliate.getIdentityType();
|
||||
if (identityType == 1) { //申请人
|
||||
datas.put("appName", affiliate.getName());
|
||||
datas.put("appAddress", affiliate.getResidenAffili());
|
||||
datas.put("appContactAddress", affiliate.getContactAddress());
|
||||
datas.put("appLegalPerson", affiliate.getCompLegalPerson());
|
||||
datas.put("appLegalPersonTitle", affiliate.getCompLegalperPost());
|
||||
datas.put("appAgentName", affiliate.getNameAgent());
|
||||
datas.put("appAgentTitle", affiliate.getAppliAgentTitle());
|
||||
nameAgentList.add(affiliate.getNameAgent());
|
||||
} else if (identityType == 2) { //被申请人
|
||||
datas.put("resName", affiliate.getName());
|
||||
datas.put("resAddress", affiliate.getResidenAffili());
|
||||
datas.put("resSex", affiliate.getResponSex());
|
||||
Date responBirth = affiliate.getResponBirth();
|
||||
if (responBirth != null) {
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
String responBirthStr = sdf.format(responBirth);
|
||||
datas.put("resDateOfBirth", responBirthStr);
|
||||
|
||||
}
|
||||
|
||||
datas.put("resContactAddress", affiliate.getContactAddress());
|
||||
nameAgentList.add(affiliate.getNameAgent());
|
||||
}
|
||||
}
|
||||
}
|
||||
Date createTime = caseApplication1.getCreateTime();
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
// 将日期格式化为字符串
|
||||
String createTimeStr = sdf.format(createTime);
|
||||
datas.put("submissionDate", createTimeStr);
|
||||
Date registerDate = caseApplication1.getRegisterDate();
|
||||
String registerDateStr = sdf.format(registerDate);
|
||||
datas.put("acceptDate", registerDateStr);
|
||||
//反请求
|
||||
Integer adjudicaCounter = caseApplication1.getAdjudicaCounter();
|
||||
String counterclaim = "在《2022年版仲裁规则》第十八条第(一)项规定的期限内,被申请人向秘书处提交了" +
|
||||
"《仲裁反请求申请书》及证据材料。仲裁委依据《2022年版仲裁规则》第十八条的规定受理了该仲裁反请求案申请。" +
|
||||
"仲裁反请求案件受理后,秘书处向被申请人发送了仲裁反请求通知书及附件,向申请人发送了仲裁反请求通知书及附件、仲裁反请求申请书及附件。";
|
||||
if (adjudicaCounter == null) {
|
||||
datas.put("counterclaim", null);
|
||||
} else if (adjudicaCounter == 1) {
|
||||
datas.put("counterclaim", counterclaim);
|
||||
} else {
|
||||
datas.put("counterclaim", null);
|
||||
}
|
||||
//财产保全
|
||||
Integer properPreser = caseApplication1.getProperPreser();
|
||||
String preservation = "本案受理后,申请人向仲裁委提交了财产保全申请,仲裁委根据《中华人民共和国仲裁法》" +
|
||||
"第二十八条之规定,将该申请提交至法院。";
|
||||
if (properPreser == null) {
|
||||
datas.put("preservation", null);
|
||||
} else if (properPreser == 1) {
|
||||
datas.put("preservation", preservation);
|
||||
} else {
|
||||
datas.put("preservation", null);
|
||||
}
|
||||
//管辖权异议
|
||||
Integer objectiJuris = caseApplication1.getObjectiJuris();
|
||||
String jurisdictionalObjection = "本案受理后,被申请人向仲裁委提交了《XX管辖异议申请书》,认为XXXXXX" +
|
||||
",仲裁委经审理,当庭驳回了被申请人的管辖异议申请,并告知被申请人具体的事实和理由将在裁决书中一并列明。";
|
||||
if (objectiJuris == null) {
|
||||
datas.put("jurisdictionalObjection", null);
|
||||
} else if (objectiJuris == 1) {
|
||||
datas.put("jurisdictionalObjection", jurisdictionalObjection);
|
||||
} else {
|
||||
datas.put("jurisdictionalObjection", null);
|
||||
}
|
||||
String arbitratorName = caseApplication1.getArbitratorName();
|
||||
datas.put("arbitratorName", arbitratorName);
|
||||
Integer arbitratMethod = caseApplication1.getArbitratMethod();
|
||||
Date hearDate = caseApplication1.getHearDate();
|
||||
if (hearDate != null) {
|
||||
String hearDateStr = sdf.format(hearDate);
|
||||
//线上开庭时
|
||||
if (arbitratMethod == 1) {
|
||||
String onLine1 = "仲裁庭审阅了申请人提交的仲裁申请书、证据材料后,于";
|
||||
String onLine2 = "通过仲裁委智慧仲裁平台开庭审理了本案。";
|
||||
datas.put("onLine1", onLine1);
|
||||
datas.put("hearDate", hearDateStr);
|
||||
datas.put("onLine2", onLine2);
|
||||
} else {
|
||||
//书面仲裁时
|
||||
String written1 = "仲裁庭审阅了申请人提交的仲裁申请书、证据材料后,于";
|
||||
String written2 = "在仲裁委所在地开庭审理了本案。";
|
||||
datas.put("written1", written1);
|
||||
datas.put("hearDate1", hearDateStr);
|
||||
datas.put("written2", written2);
|
||||
}
|
||||
}
|
||||
Integer isAbsence = caseApplication1.getIsAbsence();
|
||||
if (isAbsence == null) {
|
||||
datas.put("absent1", null);
|
||||
datas.put("absent2", null);
|
||||
datas.put("absent3", null);
|
||||
datas.put("absent4", null);
|
||||
datas.put("absent5", null);
|
||||
datas.put("attend1", null);
|
||||
datas.put("attend2", null);
|
||||
datas.put("attend3", null);
|
||||
datas.put("attend4", null);
|
||||
datas.put("attend5", null);
|
||||
datas.put("attend6", null);
|
||||
datas.put("attend7", null);
|
||||
datas.put("appAgentName1", null);
|
||||
datas.put("appAgentName2", null);
|
||||
datas.put("resAgentName", null);
|
||||
} else if (isAbsence == 1) {
|
||||
//缺席审理
|
||||
String absent1 = "申请人的特别授权委托代理人";
|
||||
String absent2 = "出席了庭审。被申请人经依法送达开庭通知,无正当理由未出席庭审,故仲裁庭依据" +
|
||||
"《2022年版仲裁规则》第四十条第(二)项的规定,对本案进行了缺席审理。";
|
||||
String absent3 = "庭审中,申请人陈述了仲裁请求事项及事实与理由,出示了证据材料并进行了说明," +
|
||||
"发表了意见,回答了仲裁庭的提问,并作了最后陈述。因被申请人缺席庭审,故仲裁庭无法组织调解。";
|
||||
String absent4 = "(二/三)当事人提供的证据材料\n" +
|
||||
"申请人为证明其主张的事实和理由,向仲裁庭提交了如下证据材料:";
|
||||
String absent5 = "综上,仲裁庭依据《上海仲裁委员会仲裁规则》(2022年7月1日起施行的版本)" +
|
||||
"第四十条第(二)项、第五十一条的规定,缺席裁决如下:";
|
||||
datas.put("absent1", absent1);
|
||||
datas.put("absent2", absent2);
|
||||
datas.put("absent3", absent3);
|
||||
datas.put("absent4", absent4);
|
||||
datas.put("absent5", absent5);
|
||||
datas.put("appAgentName1", nameAgentList.get(0));
|
||||
} else {
|
||||
//出席审理
|
||||
String attend1 = "申请人的特别授权委托代理人";
|
||||
String attend2 = "和被申请人本人/的特别授权委托代理人";
|
||||
String attend3 = "出席了庭审。";
|
||||
String attend4 = "庭审中,申请人陈述了仲裁请求事项及所依据的事实与理由,被申请人进行了答辩;" +
|
||||
"双方当事人均出示了证据材料并对对方的证据材料进行了质证;申请人出示了证据材料," +
|
||||
"被申请人对对方的证据材料进行了质证;双方当事人均回答了仲裁庭的提问,进行了辩论," +
|
||||
"并分别作了最后陈述。双方当事人在仲裁庭的主持下进行了调解,但未能达成调解协议。";
|
||||
String attend5 = "(二)被申请人的答辩意见";
|
||||
String attend6 = "(二/三)当事人提供的证据材料及对方的质证意见\n" +
|
||||
"申请人为证明其主张的事实和理由,向仲裁庭提交了如下证据材料:";
|
||||
String attend7 = "被申请人对上述材料的质证意见为:";
|
||||
datas.put("attend1", attend1);
|
||||
datas.put("attend2", attend2);
|
||||
datas.put("attend3", attend3);
|
||||
datas.put("attend4", attend4);
|
||||
datas.put("attend5", attend5);
|
||||
datas.put("attend6", attend6);
|
||||
datas.put("attend7", attend7);
|
||||
datas.put("responCrossOpin", caseApplication1.getResponCrossOpin());
|
||||
datas.put("appAgentName2", nameAgentList.get(0));
|
||||
datas.put("resAgentName", nameAgentList.get(1));
|
||||
if (arbitratMethod == 1) {
|
||||
//被申出席+开庭
|
||||
String attend8 = "综上,仲裁庭依据《上海仲裁委员会仲裁规则》(2022年7月1日起施行的版本)" +
|
||||
"第五十一条的规定,裁决如下:";
|
||||
datas.put("attend8", attend8);
|
||||
} else {
|
||||
//被申出席+书面
|
||||
String attend9 = "综上,仲裁庭依据《上海仲裁委员会仲裁规则》(2022年7月1日起施行的版本)" +
|
||||
"第五十一条、第五十八条的规定,裁决如下:";
|
||||
datas.put("attend9", attend9);
|
||||
}
|
||||
}
|
||||
datas.put("claims", caseApplication1.getArbitratClaims());
|
||||
datas.put("request", caseApplication1.getRequestRule());
|
||||
//申请人证据材料
|
||||
datas.put("appEvidenceMaterial", null);
|
||||
//被申请人证据材料
|
||||
datas.put("resEvidenceMaterial", null);
|
||||
datas.put("applicaCrossOpin", caseApplication1.getApplicaCrossOpin());
|
||||
if (arbitrateRecord1 != null) {
|
||||
datas.put("factDetermi", arbitrateRecord1.getFactDetermi());
|
||||
datas.put("arbitrateThink", arbitrateRecord1.getArbitrateThink());
|
||||
datas.put("rulingFollows", arbitrateRecord1.getRulingFollows());
|
||||
}
|
||||
LocalDate now = LocalDate.now();
|
||||
String year = Integer.toString(now.getYear());
|
||||
datas.put("year", year);
|
||||
String month = String.format("%02d", now.getMonthValue());
|
||||
String day = String.format("%02d", now.getDayOfMonth());
|
||||
String modalFilePath = "/data/arbitrate-document/template/新裁决书模板.docx";
|
||||
//String modalFilePath = "D:/develop/新裁决书模板.docx";
|
||||
String saveFolderPath = "/home/ruoyi/uploadPath/upload/" + year + "/" + month + "/" + day;
|
||||
//String saveFolderPath = "D:/data/" + year + "/" + month + "/" + day;
|
||||
String fileName = UUID.randomUUID().toString().replace("-", "") + ".docx";
|
||||
String saveName = "/profile/upload/" + year + "/" + month + "/" + day + "/" + fileName;
|
||||
String resultFilePath = saveFolderPath + "/" + fileName;
|
||||
// 创建日期目录
|
||||
File saveFolder = new File(saveFolderPath);
|
||||
if (!saveFolder.exists()) {
|
||||
saveFolder.mkdirs();
|
||||
}
|
||||
Path sourcePath = new File(modalFilePath).toPath();
|
||||
Path destinationPath = new File(resultFilePath).toPath();
|
||||
Files.copy(sourcePath, destinationPath, StandardCopyOption.REPLACE_EXISTING);
|
||||
String docFilePath = WordUtil.getDocFilePath(datas, modalFilePath, resultFilePath);
|
||||
File file = new File(docFilePath);
|
||||
if (file.exists()) {
|
||||
InputStream in = new FileInputStream(file);
|
||||
XWPFDocument xwpfDocument = new XWPFDocument(in);
|
||||
WordUtil.changeText(xwpfDocument);
|
||||
}
|
||||
String savePath = docFilePath.substring(0, docFilePath.indexOf("/upload/") + 8);
|
||||
CaseAttach caseAttach = CaseAttach.builder()
|
||||
.caseAppliId(id)
|
||||
.annexName(saveName)
|
||||
.annexPath(savePath)
|
||||
.annexType(3)
|
||||
.build();
|
||||
int i = caseAttachMapper.save(caseAttach);
|
||||
if (i > 0) {
|
||||
if (arbitrateRecord1 != null) {
|
||||
Integer annexId = caseAttach.getAnnexId();
|
||||
//将附件id保存到仲裁记录表里面
|
||||
arbitrateRecord1.setAnnexId(annexId);
|
||||
arbitrateRecordMapper.updataArbitrateRecord(arbitrateRecord1);
|
||||
//保存到附件表里,先判断之前有没有,有的话更新,没有的话新增
|
||||
CaseAttach caseAttach1 = new CaseAttach();
|
||||
caseAttach1.setAnnexType(3);
|
||||
caseAttach1.setCaseAppliId(id);
|
||||
List<CaseAttach> caseAttachList = caseAttachMapper.getCaseAttachByCaseIdAndType(caseAttach1);
|
||||
if (caseAttachList != null && caseAttachList.size() > 0) {
|
||||
//之前已经生成过了,更新
|
||||
caseAttachMapper.updateCaseAttachBycaseid(caseAttach);
|
||||
} else {
|
||||
//之前没生成过,新增
|
||||
int i = caseAttachMapper.save(caseAttach);
|
||||
if (i > 0) {
|
||||
if (arbitrateRecord1 != null) {
|
||||
Integer annexId = caseAttach.getAnnexId();
|
||||
//将附件id保存到仲裁记录表里面
|
||||
arbitrateRecord1.setAnnexId(annexId);
|
||||
arbitrateRecordMapper.updataArbitrateRecord(arbitrateRecord1);
|
||||
}
|
||||
}
|
||||
}
|
||||
return AjaxResult.success("裁决书已生成");
|
||||
|
||||
return Boolean.TRUE;
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
return AjaxResult.error("裁决书生成异常");
|
||||
return Boolean.FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public String getNewEquipmentNo() {
|
||||
Object awardNum = redisCache.getCacheObject("awardNum");
|
||||
if (awardNum == null) {
|
||||
redisCache.setCacheObject("awardNum", "00001");
|
||||
String s = redisCache.getCacheObject("awardNum").toString();
|
||||
// 字符串数字解析为整数
|
||||
int no = Integer.parseInt(s);
|
||||
// 最新设备编号自增1
|
||||
int newEquipment = ++no;
|
||||
// 将整数格式化为5位数字
|
||||
s = String.format("%05d", newEquipment);
|
||||
redisCache.setCacheObject("awardNum", s);
|
||||
return s;
|
||||
} else {
|
||||
String s = awardNum.toString();
|
||||
// 字符串数字解析为整数
|
||||
int no = Integer.parseInt(s);
|
||||
// 最新设备编号自增1
|
||||
int newEquipment = ++no;
|
||||
// 将整数格式化为5位数字
|
||||
s = String.format("%05d", newEquipment);
|
||||
redisCache.setCacheObject("awardNum", s);
|
||||
return s;
|
||||
}
|
||||
}
|
||||
}
|
||||
+7
-7
@@ -246,13 +246,13 @@ public class CaseEvidenceServiceImpl implements ICaseEvidenceService {
|
||||
.build();
|
||||
int count = caseAttachMapper.save(caseAttach);
|
||||
if (count > 0 && annexType != null && annexType != 8) {
|
||||
if (id != null) {
|
||||
//修改案件状态
|
||||
CaseApplication caseApplication = new CaseApplication();
|
||||
caseApplication.setId(id);
|
||||
caseApplication.setCaseStatus(4);
|
||||
caseApplicationMapper.submitCaseApplication(caseApplication);
|
||||
}
|
||||
// if (id != null) {
|
||||
// //修改案件状态
|
||||
// CaseApplication caseApplication = new CaseApplication();
|
||||
// caseApplication.setId(id);
|
||||
// caseApplication.setCaseStatus(4);
|
||||
// caseApplicationMapper.submitCaseApplication(caseApplication);
|
||||
// }
|
||||
CaseAttach caseAttachselect = new CaseAttach();
|
||||
caseAttachselect.setAnnexId(caseAttach.getAnnexId());
|
||||
caseAttachselect.setAnnexName(caseAttach.getAnnexName());
|
||||
|
||||
@@ -36,6 +36,10 @@ public class CaseLogUtils
|
||||
operLog.setCreateBy(sysUser.getUserName());
|
||||
operLog.setCreateNickName(sysUser.getNickName());
|
||||
operLog.setUpdateBy(sysUser.getUserName());
|
||||
}else {
|
||||
operLog.setCreateBy("admin");
|
||||
operLog.setCreateNickName("管理员");
|
||||
operLog.setUpdateBy("admin");
|
||||
}
|
||||
operLog.setCaseAppliId(caseAppliId);
|
||||
operLog.setCaseNode(caseNode);
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
package com.ruoyi.wisdomarbitrate.utils;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.net.URL;
|
||||
|
||||
public class MyTest {
|
||||
public static void download(String fileUrl, String saveFilePath) throws IOException {
|
||||
URL url = new URL(fileUrl);
|
||||
InputStream inputStream = url.openStream();
|
||||
BufferedInputStream bufferedInputStream = new BufferedInputStream(inputStream);
|
||||
FileOutputStream fileOutputStream = new FileOutputStream(saveFilePath);
|
||||
|
||||
byte[] buffer = new byte[1024];
|
||||
int bytesRead = 0;
|
||||
while ((bytesRead = bufferedInputStream.read(buffer, 0, buffer.length)) != -1) {
|
||||
fileOutputStream.write(buffer, 0, bytesRead);
|
||||
}
|
||||
|
||||
fileOutputStream.close();
|
||||
bufferedInputStream.close();
|
||||
inputStream.close();
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
String fileUrl = "https://esignoss.esign.cn/1111563786/0e16cc53-fe2e-403b-b901-587778a8ea92/3ed8f1b0bd2640e895fcfbaffdec0a1e.pdf?Expires=1698742492&OSSAccessKeyId=LTAI4G23YViiKnxTC28ygQzF&Signature=K%2Bb5k7DqNmaxeu%2Fct5qis4qor7s%3D";
|
||||
String saveFilePath = "D:\\home\\example.pdf";
|
||||
try {
|
||||
download(fileUrl, saveFilePath);
|
||||
System.out.println("File downloaded successfully.");
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user