This commit is contained in:
hejinbo
2023-09-20 16:10:29 +08:00
10 changed files with 311 additions and 21 deletions
@@ -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;
}
@@ -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<Long> idList;
public List<Long> getIdList() {
return idList;
}
public void setIdList(List<Long> idList) {
this.idList = idList;
}
public String getArbitratorName() {
return arbitratorName;
}
@@ -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<Arbitrator> arbitrators;
/** 仲裁记录 */
private ArbitrateRecord arbitrateRecord;
public ArbitrateRecord getArbitrateRecord() {
return arbitrateRecord;
}
public void setArbitrateRecord(ArbitrateRecord arbitrateRecord) {
this.arbitrateRecord = arbitrateRecord;
}
public List<Arbitrator> 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;
@@ -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);
}
@@ -27,4 +27,6 @@ public interface ICaseApplicationService {
int pendingAppointArbotrar(CaseApplication caseApplication);
int pendTralCheck(CaseApplication caseApplication);
int pendTralSure(CaseApplication caseApplication);
}
@@ -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<CaseApplication> 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<CaseAffiliate> 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<Arbitrator> arbitratorList = new ArrayList<>();
if(StringUtils.isNotEmpty(arbitratorId)){
String[] idStrList = arbitratorId.split(",");
List<Long> 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<CaseAffiliate> 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) {
@@ -0,0 +1,79 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.wisdomarbitrate.mapper.ArbitrateRecordMapper">
<resultMap type="ArbitrateRecord" id="ArbitrateRecordResult">
<id property="id" column="id" />
<result property="caseAppliId" column="case_appli_id" />
<result property="evidenDetermi" column="eviden_determi" />
<result property="factDetermi" column="fact_determi" />
<result property="caseSketch" column="case_sketch" />
<result property="arbitrateThink" column="arbitrate_think" />
<result property="rulingFollows" column="ruling_follows" />
<result property="verificaOpinion" column="verifica_opinion" />
<result property="checkOpinion" column="check_opinion" />
</resultMap>
<insert id="insertArbitrateRecord" parameterType="ArbitrateRecord" useGeneratedKeys="true" keyProperty="id">
insert into arbitrate_record(
<if test="caseAppliId != null">case_appli_id,</if>
<if test="evidenDetermi != null and evidenDetermi != ''">eviden_determi,</if>
<if test="factDetermi != null and factDetermi != ''">fact_determi,</if>
<if test="caseSketch != null and caseSketch != ''">case_sketch,</if>
<if test="rulingFollows != null and rulingFollows != ''">ruling_follows,</if>
<if test="verifica_opinion != null and verifica_opinion != ''">verificaOpinion,</if>
<if test="check_opinion != null and check_opinion != ''">checkOpinion,</if>
<if test="createBy != null and createBy != ''">create_by,</if>
create_time
)values(
<if test="caseAppliId != null ">#{caseAppliId},</if>
<if test="evidenDetermi != null and evidenDetermi != ''">#{evidenDetermi},</if>
<if test="factDetermi != null and factDetermi != ''">#{factDetermi},</if>
<if test="caseSketch != null and caseSketch != ''">#{caseSketch},</if>
<if test="rulingFollows != null and rulingFollows != ''">#{rulingFollows},</if>
<if test="verifica_opinion != null and verifica_opinion != ''">#{verifica_opinion},</if>
<if test="check_opinion != null and check_opinion != ''">#{check_opinion},</if>
<if test="createBy != null and createBy != ''">#{createBy},</if>
sysdate()
)
</insert>
<update id="updataArbitrateRecord" parameterType="ArbitrateRecord">
update arbitrate_record
<set>
<if test="evidenDetermi != null and evidenDetermi != ''">eviden_determi = #{evidenDetermi},</if>
<if test="factDetermi != null and factDetermi != ''">fact_determi = #{factDetermi},</if>
<if test="caseSketch != null and caseSketch != ''">case_sketch = #{caseSketch},</if>
<if test="arbitrateThink != null and arbitrateThink != ''">arbitrate_think = #{arbitrateThink},</if>
<if test="rulingFollows != null and rulingFollows != ''">ruling_follows = #{rulingFollows},</if>
<if test="verificaOpinion != null and verificaOpinion != ''">verifica_opinion = #{verificaOpinion},</if>
<if test="checkOpinion != null and checkOpinion != ''">check_opinion = #{checkOpinion},</if>
<if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
update_time = sysdate()
</set>
where id = #{id}
</update>
<select id="selectArbitrateRecord" parameterType="ArbitrateRecord" resultMap="ArbitrateRecordResult">
SELECT a.id ,a.case_appli_id ,a.eviden_determi ,a.fact_determi ,a.case_sketch ,a.arbitrate_think ,a.ruling_follows ,
a.verifica_opinion ,a.check_opinion
from arbitrate_record a
<where>
<if test="caseAppliId != null ">
AND a.case_appli_id = #{caseAppliId}
</if>
</where>
</select>
</mapper>
@@ -26,6 +26,14 @@
<if test="arbitratorName != null and arbitratorName != ''">
AND a.arbitrator_name like concat('%', #{arbitratorName}, '%')
</if>
<if test="idList != null and idList.size() > 0">
AND a.id in
<foreach item="id" collection="idList" open="(" separator="," close=")">
#{id}
</foreach>
</if>
</where>
</select>
@@ -20,11 +20,10 @@
<result property="claimLiquidDamag" column="claim_liquid_damag" />
<result property="feePayable" column="fee_payable" />
<result property="paidExpenses" column="paid_expenses" />
<result property="beginVideoDate" column="begin_video_date" />
<result property="onlineVideoPerson" column="online_video_person" />
<result property="contractNumber" column="contract_number" />
<result property="caseStatusName" column="caseStatusName" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
@@ -34,9 +33,18 @@
<select id="selectCaseApplicationList" parameterType="CaseApplication" resultMap="CaseApplicationResult">
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 ,
select c.id ,c.case_num ,c.case_subject_amount ,c.register_date ,c.arbitrat_method ,c.case_status ,
CASE c.case_status when 0 then '立案申请' when 1 then '待立案审查' when 2 then '待缴费'
when 3 then '待缴费确认' when 4 then '待案件质证' when 5 then '待组庭审核'
when 6 then '待组庭确定' when 7 then '待审核仲裁方式' when 8 then '待开庭审理'
when 9 then '待书面审理' when 10 then '待生成仲裁文书' when 11 then '待核验仲裁文书'
when 12 then '待审核仲裁文书' when 13 then '待仲裁文书签名' when 14 then '待仲裁文书用印'
when 15 then '待仲裁文书送达' when 16 then '待案件归档'
ELSE '无案件状态'
END caseStatusName,
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
<where>
@@ -75,7 +83,6 @@
<if test="claimInterestOwed != null ">claim_interest_owed,</if>
<if test="claimLiquidDamag != null ">claim_liquid_damag,</if>
<if test="feePayable != null ">fee_payable,</if>
<if test="paidExpenses != null ">paid_expenses,</if>
<if test="beginVideoDate != null ">begin_video_date,</if>
<if test="onlineVideoPerson != null and onlineVideoPerson != ''">online_video_person,</if>
@@ -121,7 +128,6 @@
<if test="claimInterestOwed != null ">claim_interest_owed = #{claimInterestOwed},</if>
<if test="claimLiquidDamag != null ">claim_liquid_damag = #{claimLiquidDamag},</if>
<if test="feePayable != null ">fee_payable = #{feePayable},</if>
<if test="paidExpenses != null ">paid_expenses = #{paidExpenses},</if>
<if test="beginVideoDate != null ">begin_video_date = #{beginVideoDate},</if>
<if test="onlineVideoPerson != null and onlineVideoPerson != ''">online_video_person = #{onlineVideoPerson},</if>
@@ -152,6 +158,7 @@
<if test="isAgreePendTral != null">is_agree_pend_tral = #{isAgreePendTral},</if>
<if test="objectionAddEviden != null">objection_add_eviden = #{objectionAddEviden},</if>
<if test="openCourtHear != null">open_court_hear = #{openCourtHear},</if>
<if test="hearDate != null">hear_date = #{hearDate},</if>
</set>
where id = #{id}
</update>
@@ -163,7 +170,7 @@
<select id="selectCaseApplication" parameterType="CaseApplication" resultMap="CaseApplicationResult">
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
<where>