From 41387c58d43f967b4af723d3274c8e20eee206da Mon Sep 17 00:00:00 2001 From: hejinbo Date: Tue, 17 Oct 2023 15:59:04 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9A=82=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AdjudicationController.java | 3 + .../service/impl/AdjudicationServiceImpl.java | 239 ++++++++++++++---- .../CasePaymentRecordMapper.xml | 9 + 3 files changed, 195 insertions(+), 56 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/AdjudicationController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/AdjudicationController.java index 04a7419..bee6aad 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/AdjudicationController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/AdjudicationController.java @@ -2,6 +2,7 @@ package com.ruoyi.web.controller.wisdomarbitrate; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.redis.RedisCache; import com.ruoyi.wisdomarbitrate.domain.CaseApplication; import com.ruoyi.wisdomarbitrate.domain.vo.BookSendVO; import com.ruoyi.wisdomarbitrate.domain.vo.LogisticsInfoVO; @@ -19,6 +20,7 @@ public class AdjudicationController extends BaseController { @Autowired private IAdjudicationService adjudicationService; + /** * 生成裁决书 * @param caseApplication @@ -103,4 +105,5 @@ public class AdjudicationController extends BaseController { public AjaxResult getArchivesDetail(Long id){ return adjudicationService.getArchivesDetail(id); } + } diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/AdjudicationServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/AdjudicationServiceImpl.java index 54d7e25..ffd8b59 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/AdjudicationServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/AdjudicationServiceImpl.java @@ -4,16 +4,14 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.ruoyi.common.constant.CaseApplicationConstants; import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.redis.RedisCache; +import com.ruoyi.wisdomarbitrate.mapper.*; import com.ruoyi.wisdomarbitrate.utils.CaseLogUtils; import com.ruoyi.common.utils.EmailOutUtil; import com.ruoyi.common.utils.WordUtil; import com.ruoyi.wisdomarbitrate.domain.*; import com.ruoyi.wisdomarbitrate.domain.vo.ArchivesDetailVO; import com.ruoyi.wisdomarbitrate.domain.vo.LogisticsInfoVO; -import com.ruoyi.wisdomarbitrate.mapper.ArbitrateRecordMapper; -import com.ruoyi.wisdomarbitrate.mapper.CaseAffiliateMapper; -import com.ruoyi.wisdomarbitrate.mapper.CaseApplicationMapper; -import com.ruoyi.wisdomarbitrate.mapper.CaseAttachMapper; import com.ruoyi.wisdomarbitrate.service.IAdjudicationService; import com.ruoyi.wisdomarbitrate.service.ICaseApplicationService; import com.ruoyi.wisdomarbitrate.service.ICaseLogRecordService; @@ -31,6 +29,7 @@ import java.net.URLEncoder; 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.*; @@ -54,6 +53,10 @@ public class AdjudicationServiceImpl implements IAdjudicationService { private ICaseApplicationService caseApplicationService; @Autowired private ICaseLogRecordService caseLogRecordService; + @Autowired + private CasePaymentRecordMapper casePaymentRecordMapper; + @Autowired + private RedisCache redisCache; @Override @Transactional @@ -66,11 +69,13 @@ public class AdjudicationServiceImpl implements IAdjudicationService { } //获取案件详细信息 CaseApplication caseApplication1 = caseApplicationMapper.selectCaseApplication(caseApplication); + //生成编码 + String equipmentNo = getNewEquipmentNo(); + datas.put("num",equipmentNo); //获取仲裁记录表里的相关信息 ArbitrateRecord arbitrateRecord = new ArbitrateRecord(); arbitrateRecord.setCaseAppliId(id); ArbitrateRecord arbitrateRecord1 = arbitrateRecordMapper.selectArbitrateRecord(arbitrateRecord); - //获取案件关联人信息 CaseAffiliate caseAffiliate = new CaseAffiliate(); caseAffiliate.setCaseAppliId(id); @@ -84,60 +89,175 @@ public class AdjudicationServiceImpl implements IAdjudicationService { datas.put("appAddress", affiliate.getContactAddress()); datas.put("appContactAddress", null); datas.put("appLegalPerson", null); - datas.put("appLegalPersonTitle",null); - datas.put("appAgentName",affiliate.getNameAgent()); - datas.put("appAgentTitle",null); + datas.put("appLegalPersonTitle", null); + datas.put("appAgentName", affiliate.getNameAgent()); + datas.put("appAgentTitle", null); } else if (identityType == 2) { //被申请人 datas.put("resName", affiliate.getName()); datas.put("resAddress", affiliate.getContactAddress()); - datas.put("resSex",null); - datas.put("resDateOfBirth",null); - datas.put("resContactAddress",null); + datas.put("resSex", null); + datas.put("resDateOfBirth", null); + datas.put("resContactAddress", null); } } } - datas.put("submissionDate", caseApplication1.getCreateTime()); + Date createTime = caseApplication1.getCreateTime(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + // 将日期格式化为字符串 + String createTimeStr = sdf.format(createTime); + datas.put("submissionDate", createTimeStr); datas.put("qutsider", null); datas.put("signingDate", null); - - String arbitratorName = caseApplication1.getArbitratorName(); - datas.put("caseName", caseApplication1.getCaseName()); - datas.put("arbitratorName", arbitratorName); - Date hearDate = caseApplication1.getHearDate(); - if (hearDate != null) { - LocalDate localDate = hearDate.toInstant() - .atZone(ZoneId.systemDefault()) - .toLocalDate(); - datas.put("hearYear", localDate.getYear()); - datas.put("hearMonths", localDate.getMonthValue()); - datas.put("hearDay", localDate.getDayOfMonth()); - } else { - datas.put("hearYear", null); - datas.put("hearMonths", null); - datas.put("hearDay", null); + datas.put("agreementNumber", null); + CasePaymentRecord casePaymentRecord = casePaymentRecordMapper.selectRecordByCaseId(id); + //受理时间取得是支付时间 + if (casePaymentRecord != null) { + Date paymentTime = casePaymentRecord.getPaymentTime(); + String paymentTimeStr = sdf.format(paymentTime); + datas.put("acceptDate",paymentTimeStr); } - datas.put("appArbitrationClaims", caseApplication1.getArbitratClaims()); + + //反请求 + 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 = 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("onLine1", 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("responCrossOpin", null); + } + else if (isAbsence == 1) { + //缺席审理 + String absent1 = "申请人的特别授权委托代理人"; + String absent2 = "出席了庭审。被申请人经依法送达开庭通知,无正当理由未出席庭审,故仲裁庭依据" + + "《2022年版仲裁规则》第四十条第(二)项的规定,对本案进行了缺席审理。"; + String absent3 = "庭审中,申请人陈述了仲裁请求事项及事实与理由,出示了证据材料并进行了说明," + + "发表了意见,回答了仲裁庭的提问,并作了最后陈述。因被申请人缺席庭审,故仲裁庭无法组织调解。"; + String absent4 = "(二/三)当事人提供的证据材料\n" + + "申请人为证明其主张的事实和理由,向仲裁庭提交了如下证据材料:"; + String absent5 = "综上,仲裁庭依据《上海仲裁委员会仲裁规则》(2022年7月1日起施行的版本)" + + "第四十条第(二)项、第五十一条的规定,缺席裁决如下:"; + datas.put("onLine1", absent1); + datas.put("absent2", absent2); + datas.put("absent3", absent3); + datas.put("absent4", absent4); + datas.put("absent5", absent5); + } 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()); + 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("evidenDetermi", arbitrateRecord1.getEvidenDetermi()); datas.put("factDetermi", arbitrateRecord1.getFactDetermi()); - datas.put("caseSketch", arbitrateRecord1.getCaseSketch()); datas.put("arbitrateThink", arbitrateRecord1.getArbitrateThink()); datas.put("rulingFollows", arbitrateRecord1.getRulingFollows()); } - datas.put("legalProvisions", "仲裁法"); 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()); - datas.put("year", year); - datas.put("months", month); - datas.put("day", day); - - - String modalFilePath = "/data/arbitrate-document/template/仲裁裁决书模板.docx"; -// String modalFilePath = "D:/develop/仲裁裁决书模板 (2).docx"; + 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/" + now.getYear() + "/" + now.getMonthValue() + "/" + now.getDayOfMonth(); + //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; @@ -432,22 +552,29 @@ public class AdjudicationServiceImpl implements IAdjudicationService { } return AjaxResult.success(archivesDetailVO); } - - public static void main(String[] args) { - try { -// List fileList = new ArrayList<>(); -// fileList.add(new File("D:\\home\\ruoyi\\uploadPath\\upload\\2023\\10\\7\\b442880179844a848f1f8b08c29e3d0c.docx")); - // File file = fileList.get(0);//System.out.println("这是文件"+file); - //电子邮件送达 -// EmailOutUtil emailOutUtil = new EmailOutUtil(); -// JavaMailSender javaMailSender = emailOutUtil.rebuildMailSender(); -// if (javaMailSender != null) { -// emailOutUtil.sendMessageCarryFile("1154956315@qq.com", "案件裁决书", "您的裁决书已送达,详情请查阅附件", file -// , "hjbjava@163.com", javaMailSender); -// } - } catch (MailSendException e) { - e.printStackTrace(); + 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; } } - } \ No newline at end of file diff --git a/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/CasePaymentRecordMapper.xml b/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/CasePaymentRecordMapper.xml index fab2bd0..1ecd5c6 100644 --- a/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/CasePaymentRecordMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/CasePaymentRecordMapper.xml @@ -38,4 +38,13 @@ + \ No newline at end of file