diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/CaseApplicationController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/CaseApplicationController.java index b453609..e302f4f 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/CaseApplicationController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/CaseApplicationController.java @@ -141,13 +141,24 @@ public class CaseApplicationController extends BaseController { * 组庭审核 */ @PreAuthorize("@ss.hasPermi('caseApplication:pendTralCheck')") - @Log(title = "组庭", businessType = BusinessType.UPDATE) + @Log(title = "组庭审核", businessType = BusinessType.UPDATE) @PostMapping("/pendTralCheck") public AjaxResult pendTralCheck(@Validated @RequestBody CaseApplication caseApplication) { return toAjax(caseApplicationService.pendTralCheck(caseApplication)); } + /** + * 组庭确认 + */ + @PreAuthorize("@ss.hasPermi('caseApplication:pendTralSure')") + @Log(title = "组庭确认", businessType = BusinessType.UPDATE) + @PostMapping("/pendTralSure") + public AjaxResult pendTralSure(@Validated @RequestBody CaseApplication caseApplication) + { + return toAjax(caseApplicationService.pendTralSure(caseApplication)); + } + /** diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/ArbitrateRecord.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/ArbitrateRecord.java new file mode 100644 index 0000000..d5779b8 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/ArbitrateRecord.java @@ -0,0 +1,32 @@ +package com.ruoyi.wisdomarbitrate.domain; + +import com.ruoyi.common.core.domain.BaseEntity; +import lombok.Data; + +@Data +public class ArbitrateRecord extends BaseEntity { + private static final long serialVersionUID = 1L; + + /** ID */ + private Long id; + /** 案件申请id */ + private Long caseAppliId; + /** 证据认定 */ + private String evidenDetermi; + /** 认定事实 */ + private String factDetermi; + /** 综上所述 */ + private String caseSketch; + /** 本庭认为 */ + private String arbitrateThink; + /** 裁决如下 */ + private String rulingFollows; + /** 核验裁决书意见 */ + private String verificaOpinion; + /** 审核裁决书意见 */ + private String checkOpinion; + + + + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/Arbitrator.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/Arbitrator.java index b35d5aa..4e73c8d 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/Arbitrator.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/Arbitrator.java @@ -2,6 +2,8 @@ package com.ruoyi.wisdomarbitrate.domain; import com.ruoyi.common.core.domain.BaseEntity; +import java.util.List; + public class Arbitrator extends BaseEntity { private static final long serialVersionUID = 1L; @@ -22,6 +24,16 @@ public class Arbitrator extends BaseEntity { /** 联系电话 */ private String telephone; + List idList; + + public List getIdList() { + return idList; + } + + public void setIdList(List idList) { + this.idList = idList; + } + public String getArbitratorName() { return arbitratorName; } diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/CaseApplication.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/CaseApplication.java index c054427..cb4e0bc 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/CaseApplication.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/CaseApplication.java @@ -54,8 +54,7 @@ public class CaseApplication extends BaseEntity { private BigDecimal claimLiquidDamag; /** 仲裁应缴费用 */ private BigDecimal feePayable; - /** 仲裁实缴费用 */ - private BigDecimal paidExpenses; + /** 开始在线视频时间 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date beginVideoDate; @@ -80,6 +79,37 @@ public class CaseApplication extends BaseEntity { private int objectionAddEviden; /** 是否需要开庭审理 */ private int openCourtHear; + /** 案件状态名称 */ + private String caseStatusName; + + public String getCaseStatusName() { + return caseStatusName; + } + + public void setCaseStatusName(String caseStatusName) { + this.caseStatusName = caseStatusName; + } + + /** 申请人名称 */ + private String applicantName; + /** 被申请人名称 */ + private String respondentName; + + public String getApplicantName() { + return applicantName; + } + + public void setApplicantName(String applicantName) { + this.applicantName = applicantName; + } + + public String getRespondentName() { + return respondentName; + } + + public void setRespondentName(String respondentName) { + this.respondentName = respondentName; + } public int getObjectionAddEviden() { return objectionAddEviden; @@ -169,6 +199,17 @@ public class CaseApplication extends BaseEntity { /** 案件仲裁员 */ private List arbitrators; + /** 仲裁记录 */ + private ArbitrateRecord arbitrateRecord; + + public ArbitrateRecord getArbitrateRecord() { + return arbitrateRecord; + } + + public void setArbitrateRecord(ArbitrateRecord arbitrateRecord) { + this.arbitrateRecord = arbitrateRecord; + } + public List getArbitrators() { return arbitrators; } @@ -424,13 +465,7 @@ public class CaseApplication extends BaseEntity { this.feePayable = feePayable; } - public BigDecimal getPaidExpenses() { - return paidExpenses; - } - public void setPaidExpenses(BigDecimal paidExpenses) { - this.paidExpenses = paidExpenses; - } public Date getBeginVideoDate() { return beginVideoDate; diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/ArbitrateRecordMapper.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/ArbitrateRecordMapper.java new file mode 100644 index 0000000..c4aaa18 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/ArbitrateRecordMapper.java @@ -0,0 +1,17 @@ +package com.ruoyi.wisdomarbitrate.mapper; + +import com.ruoyi.wisdomarbitrate.domain.ArbitrateRecord; +import com.ruoyi.wisdomarbitrate.domain.CaseAffiliate; +import com.ruoyi.wisdomarbitrate.domain.CaseApplication; + +import java.util.List; + +public interface ArbitrateRecordMapper { + int insertArbitrateRecord(ArbitrateRecord arbitrateRecord); + + int updataArbitrateRecord(ArbitrateRecord arbitrateRecord); + + ArbitrateRecord selectArbitrateRecord(ArbitrateRecord arbitrateRecord); + + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/ICaseApplicationService.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/ICaseApplicationService.java index b12c392..c6e6795 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/ICaseApplicationService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/ICaseApplicationService.java @@ -27,4 +27,6 @@ public interface ICaseApplicationService { int pendingAppointArbotrar(CaseApplication caseApplication); int pendTralCheck(CaseApplication caseApplication); + + int pendTralSure(CaseApplication caseApplication); } 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 ce875ac..7e3c554 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 @@ -2,11 +2,16 @@ package com.ruoyi.wisdomarbitrate.service.impl; import com.ruoyi.common.constant.CaseApplicationConstants; import com.ruoyi.common.exception.ServiceException; +import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.common.utils.SmsUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.bean.BeanUtils; +import com.ruoyi.wisdomarbitrate.domain.ArbitrateRecord; import com.ruoyi.wisdomarbitrate.domain.Arbitrator; import com.ruoyi.wisdomarbitrate.domain.CaseAffiliate; import com.ruoyi.wisdomarbitrate.domain.CaseApplication; +import com.ruoyi.wisdomarbitrate.mapper.ArbitrateRecordMapper; +import com.ruoyi.wisdomarbitrate.mapper.ArbitratorMapper; import com.ruoyi.wisdomarbitrate.mapper.CaseAffiliateMapper; import com.ruoyi.wisdomarbitrate.mapper.CaseApplicationMapper; import com.ruoyi.wisdomarbitrate.service.ICaseApplicationService; @@ -15,10 +20,8 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.lang.reflect.Field; -import java.util.ArrayList; -import java.util.Comparator; -import java.util.List; -import java.util.TreeSet; +import java.text.SimpleDateFormat; +import java.util.*; import java.util.stream.Collectors; import static com.ruoyi.common.core.domain.AjaxResult.error; @@ -33,6 +36,11 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { @Autowired private CaseAffiliateMapper caseAffiliateMapper; + @Autowired + private ArbitratorMapper arbitratorMapper; + @Autowired + private ArbitrateRecordMapper arbitrateRecordMapper; + @Override public List selectCaseApplicationList(CaseApplication caseApplication) { @@ -98,9 +106,28 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { CaseApplication caseApplicationselect = caseApplicationMapper.selectCaseApplication(caseApplication); CaseAffiliate caseAffiliate = new CaseAffiliate(); caseAffiliate.setCaseAppliId(caseApplication.getId()); + + ArbitrateRecord arbitrateRecord = new ArbitrateRecord(); + arbitrateRecord.setCaseAppliId(caseApplication.getId()); + ArbitrateRecord arbitrateRecordselect = arbitrateRecordMapper.selectArbitrateRecord(arbitrateRecord); + List caseAffiliatListeselect = caseAffiliateMapper.selectCaseAffiliate(caseAffiliate); - if(caseApplicationselect!=null){ + if(caseAffiliatListeselect!=null){ + StringBuffer applicantName = new StringBuffer(); + StringBuffer respondentName = new StringBuffer(); + for (int i = 0; i < caseAffiliatListeselect.size(); i++){ + CaseAffiliate caseAffiliateselect = caseAffiliatListeselect.get(i); + int identityType = caseAffiliateselect.getIdentityType(); + if(identityType==1){ + applicantName.append(caseAffiliateselect.getName()).append(",");; + }else if(identityType==2){ + respondentName.append(caseAffiliateselect.getName()).append(",");; + } + } + caseApplicationselect.setApplicantName(applicantName.toString()); + caseApplicationselect.setRespondentName(respondentName.toString()); caseApplicationselect.setCaseAffiliates(caseAffiliatListeselect); + caseApplicationselect.setArbitrateRecord(arbitrateRecordselect); } return caseApplicationselect; } @@ -231,6 +258,66 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService { return rows; } + @Override + @Transactional + public int pendTralSure(CaseApplication caseApplication) { + caseApplication.setCaseStatus(CaseApplicationConstants.CHECK_ARBITRATION_METHOD); + int rows = caseApplicationMapper.submitCaseApplication(caseApplication); + + //发送短信通知 + SmsUtils.SendSmsRequest request = new SmsUtils.SendSmsRequest(); + request.setTemplateId("1931000"); + + CaseApplication caseApplicationselect = caseApplicationMapper.selectCaseApplication(caseApplication); + String caseNum = caseApplicationselect.getCaseNum(); + Date hearDate = caseApplicationselect.getHearDate(); + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + String hearDatestr = dateFormat.format(hearDate); + + String arbitratorId = caseApplicationselect.getArbitratorId(); + List arbitratorList = new ArrayList<>(); + if(StringUtils.isNotEmpty(arbitratorId)){ + String[] idStrList = arbitratorId.split(","); + List idList = new ArrayList<>(); + for(int i = 0;i < idStrList.length;i ++ ){ + idList.add(Long.parseLong(idStrList[i])); + } + Arbitrator arbitrator = new Arbitrator(); + arbitrator.setIdList(idList); + arbitratorList = arbitratorMapper.selectArbitratorList(arbitrator); + if(arbitratorList!=null) { + for (int i = 0; i < arbitratorList.size(); i++) { + Arbitrator arbitratorselect = arbitratorList.get(i); + //给仲裁员发送短信通知 + request.setPhone(arbitratorselect.getTelephone()); + // 1931000 普通短信 开庭日期通知 尊敬的{1}用户,您的{2}仲裁案件,开庭日期已确定为{3},请知晓,如非本人操作,请忽略本短信。 + String name = arbitratorselect.getArbitratorName(); + request.setTemplateParamSet(new String[]{name, caseNum, hearDatestr}); + SmsUtils.sendSms(request); + } + } + } + + CaseAffiliate caseAffiliate = new CaseAffiliate(); + caseAffiliate.setCaseAppliId(caseApplication.getId()); + List caseAffiliatListeselect = caseAffiliateMapper.selectCaseAffiliate(caseAffiliate); + if(caseAffiliatListeselect!=null) { + for (int j = 0; j < caseAffiliatListeselect.size(); j++) { + CaseAffiliate caseAffiliateselect = caseAffiliatListeselect.get(j); + int identityType = caseAffiliateselect.getIdentityType(); + //给申请人、被申请人发送短信通知 + request.setPhone(caseAffiliateselect.getContactTelphone()); + // 1931000 普通短信 开庭日期通知 尊敬的{1}用户,您的{2}仲裁案件,开庭日期已确定为{3},请知晓,如非本人操作,请忽略本短信。 + String name = caseAffiliateselect.getName(); + request.setTemplateParamSet(new String[]{name, caseNum, hearDatestr}); + SmsUtils.sendSms(request); + } + } + + return rows; + + } + @Override @Transactional public int pendingAppointArbotrar(CaseApplication caseApplication) { diff --git a/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/ArbitrateRecordMapper.xml b/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/ArbitrateRecordMapper.xml new file mode 100644 index 0000000..689a926 --- /dev/null +++ b/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/ArbitrateRecordMapper.xml @@ -0,0 +1,79 @@ + + + + + + + + + + + + + + + + + + insert into arbitrate_record( + case_appli_id, + eviden_determi, + fact_determi, + case_sketch, + ruling_follows, + verificaOpinion, + checkOpinion, + create_by, + create_time + )values( + #{caseAppliId}, + #{evidenDetermi}, + #{factDetermi}, + #{caseSketch}, + #{rulingFollows}, + #{verifica_opinion}, + #{check_opinion}, + #{createBy}, + sysdate() + ) + + + + + update arbitrate_record + + eviden_determi = #{evidenDetermi}, + fact_determi = #{factDetermi}, + case_sketch = #{caseSketch}, + arbitrate_think = #{arbitrateThink}, + ruling_follows = #{rulingFollows}, + verifica_opinion = #{verificaOpinion}, + check_opinion = #{checkOpinion}, + update_by = #{updateBy}, + update_time = sysdate() + + where id = #{id} + + + + + + + + + + + + + \ No newline at end of file diff --git a/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/ArbitratorMapper.xml b/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/ArbitratorMapper.xml index d184338..d88164e 100644 --- a/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/ArbitratorMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/ArbitratorMapper.xml @@ -26,6 +26,14 @@ AND a.arbitrator_name like concat('%', #{arbitratorName}, '%') + + + AND a.id in + + #{id} + + + diff --git a/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/CaseApplicationMapper.xml b/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/CaseApplicationMapper.xml index 4ba5adb..cd64524 100644 --- a/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/CaseApplicationMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/CaseApplicationMapper.xml @@ -20,11 +20,10 @@ - - + @@ -34,9 +33,18 @@ select c.id ,c.case_num ,c.case_subject_amount ,c.register_date ,c.arbitrat_method ,c.case_status ,c.hear_date ,c.arbitrat_claims , c.loan_start_date ,c.loan_end_date ,c.claim_princi_owed ,c.claim_interest_owed ,c.claim_liquid_damag ,c.fee_payable , - c.paid_expenses ,c.begin_video_date ,c.online_video_person ,c.contract_number ,c.create_by ,c.create_time , + c.begin_video_date ,c.online_video_person ,c.contract_number ,c.create_by ,c.create_time , c.update_by ,c.update_time from case_application c