实现重新生成裁决书
This commit is contained in:
+12
@@ -21,6 +21,8 @@ public class AdjudicationController extends BaseController {
|
|||||||
private IAdjudicationService adjudicationService;
|
private IAdjudicationService adjudicationService;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 生成裁决书
|
* 生成裁决书
|
||||||
* @param caseApplication
|
* @param caseApplication
|
||||||
@@ -31,6 +33,16 @@ public class AdjudicationController extends BaseController {
|
|||||||
return adjudicationService.createDocument(caseApplication);
|
return adjudicationService.createDocument(caseApplication);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 重新生成裁决书
|
||||||
|
* @param caseApplication
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@PostMapping("/regenerationDocument")
|
||||||
|
public AjaxResult regenerationDocument(@Validated @RequestBody CaseApplication caseApplication){
|
||||||
|
return adjudicationService.regenerationDocument(caseApplication);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 裁决书送达(电子邮件)
|
* 裁决书送达(电子邮件)
|
||||||
* @param bookSendVO
|
* @param bookSendVO
|
||||||
|
|||||||
@@ -22,4 +22,6 @@ public interface IAdjudicationService {
|
|||||||
AjaxResult stamp(CaseApplication caseApplication);
|
AjaxResult stamp(CaseApplication caseApplication);
|
||||||
|
|
||||||
AjaxResult getArchivesDetail(Long id);
|
AjaxResult getArchivesDetail(Long id);
|
||||||
|
|
||||||
|
AjaxResult regenerationDocument(CaseApplication caseApplication);
|
||||||
}
|
}
|
||||||
|
|||||||
+259
@@ -553,6 +553,265 @@ public class AdjudicationServiceImpl implements IAdjudicationService {
|
|||||||
}
|
}
|
||||||
return AjaxResult.success(archivesDetailVO);
|
return AjaxResult.success(archivesDetailVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Transactional
|
||||||
|
public AjaxResult regenerationDocument(CaseApplication caseApplication) {
|
||||||
|
try {
|
||||||
|
Map<String, Object> datas = new HashMap<>();
|
||||||
|
Long id = caseApplication.getId();
|
||||||
|
if (id == null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
//获取案件详细信息
|
||||||
|
CaseApplication caseApplication1 = caseApplicationMapper.selectCaseApplication(caseApplication);
|
||||||
|
//生成编码
|
||||||
|
String equipmentNo = getNewEquipmentNo();
|
||||||
|
datas.put("num",equipmentNo);
|
||||||
|
//获取仲裁记录相关信息
|
||||||
|
ArbitrateRecord arbitrateRecord1 = caseApplication.getArbitrateRecord();
|
||||||
|
|
||||||
|
//获取案件关联人信息
|
||||||
|
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 = "本案受理后,申请人向仲裁委提交了财产保全申请,仲裁委根据《中华人民共和国仲裁法》" +
|
||||||
|
"第二十八条之规定,将该申请提交至XXX市XXX区法院。";
|
||||||
|
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();
|
||||||
|
String hearDateStr = "";
|
||||||
|
if(hearDate!=null){
|
||||||
|
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);
|
||||||
|
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.updateCaseAttachBycaseid(caseAttach);
|
||||||
|
|
||||||
|
|
||||||
|
if (i > 0) {
|
||||||
|
if (arbitrateRecord1 != null) {
|
||||||
|
//将仲裁记录更新到仲裁记录表
|
||||||
|
arbitrateRecordMapper.updataArbitrateRecord(arbitrateRecord1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
String annexName = caseAttach.getAnnexName();
|
||||||
|
String prefix = "/profile";
|
||||||
|
int startIndex = annexName.indexOf(prefix);
|
||||||
|
startIndex += prefix.length();
|
||||||
|
String annexPath = "/uploadPath" + annexName.substring(startIndex);
|
||||||
|
caseAttach.setAnnexPath(annexPath);
|
||||||
|
int startIndexnew = annexName.lastIndexOf("/");
|
||||||
|
if(startIndexnew!=-1){
|
||||||
|
String annexNamenew = annexName.substring(startIndexnew+1);
|
||||||
|
caseAttach.setAnnexName(annexNamenew);
|
||||||
|
}
|
||||||
|
|
||||||
|
return AjaxResult.success(caseAttach);
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
return AjaxResult.error("重新生成裁决书异常");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public String getNewEquipmentNo() {
|
public String getNewEquipmentNo() {
|
||||||
Object awardNum = redisCache.getCacheObject("awardNum");
|
Object awardNum = redisCache.getCacheObject("awardNum");
|
||||||
if (awardNum == null) {
|
if (awardNum == null) {
|
||||||
|
|||||||
+3
-3
@@ -1019,7 +1019,7 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
|
|||||||
JSONObject coordinateObj = coordinatesArray.getJSONObject(0);
|
JSONObject coordinateObj = coordinatesArray.getJSONObject(0);
|
||||||
double positionX = coordinateObj.getDoubleValue("positionX");
|
double positionX = coordinateObj.getDoubleValue("positionX");
|
||||||
double positionY = coordinateObj.getDoubleValue("positionY");
|
double positionY = coordinateObj.getDoubleValue("positionY");
|
||||||
sealSignRecord.setPositionXpsn(positionX+30);
|
sealSignRecord.setPositionXpsn(positionX+90);
|
||||||
sealSignRecord.setPositionYpsn(positionY);
|
sealSignRecord.setPositionYpsn(positionY);
|
||||||
}
|
}
|
||||||
}else {
|
}else {
|
||||||
@@ -1034,8 +1034,8 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
|
|||||||
JSONObject coordinateObj = coordinatesArray.getJSONObject(0);
|
JSONObject coordinateObj = coordinatesArray.getJSONObject(0);
|
||||||
double positionX = coordinateObj.getDoubleValue("positionX");
|
double positionX = coordinateObj.getDoubleValue("positionX");
|
||||||
double positionY = coordinateObj.getDoubleValue("positionY");
|
double positionY = coordinateObj.getDoubleValue("positionY");
|
||||||
sealSignRecord.setPositionXorg(positionX-30);
|
sealSignRecord.setPositionXorg(positionX-10);
|
||||||
sealSignRecord.setPositionYorg(positionY-90);
|
sealSignRecord.setPositionYorg(positionY+10);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user