Merge branch 'wq' of SH-Arbitrate/Arbitrate-Backend into dev

This commit was merged in pull request #38.
This commit is contained in:
2023-10-09 15:52:02 +08:00
committed by Gitea
5 changed files with 103 additions and 41 deletions
@@ -13,7 +13,7 @@ public class CaseApplication extends BaseEntity {
/** ID */ /** ID */
private Long id; private Long id;
/** 案件编号 */ /** 案件编号 */
@Excel(name = "案件编号") // @Excel(name = "案件编号")
private String caseNum; private String caseNum;
/** 案件标的 */ /** 案件标的 */
@Excel(name = "案件标的") @Excel(name = "案件标的")
@@ -58,8 +58,7 @@ public class CaseApplication extends BaseEntity {
/** 开庭日期 */ /** 开庭日期 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date hearDate; private Date hearDate;
/** 申请人仲裁诉求 */
private String arbitratClaims;
/** 借款开始日期 */ /** 借款开始日期 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "借款开始日期") @Excel(name = "借款开始日期")
@@ -80,6 +79,9 @@ public class CaseApplication extends BaseEntity {
/** 申请人主张违约金 */ /** 申请人主张违约金 */
@Excel(name = "申请人主张违约金") @Excel(name = "申请人主张违约金")
private BigDecimal claimLiquidDamag; private BigDecimal claimLiquidDamag;
/** 申请人仲裁诉求 */
@Excel(name = "申请人仲裁诉求")
private String arbitratClaims;
/** 仲裁应缴费用 */ /** 仲裁应缴费用 */
private BigDecimal feePayable; private BigDecimal feePayable;
@@ -2,6 +2,7 @@ package com.ruoyi.wisdomarbitrate.mapper;
import com.ruoyi.wisdomarbitrate.domain.CaseAffiliate; import com.ruoyi.wisdomarbitrate.domain.CaseAffiliate;
import com.ruoyi.wisdomarbitrate.domain.CaseApplication; import com.ruoyi.wisdomarbitrate.domain.CaseApplication;
import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
@@ -22,4 +23,12 @@ public interface CaseApplicationMapper {
CaseApplication selectCaseApplication(CaseApplication caseApplication); CaseApplication selectCaseApplication(CaseApplication caseApplication);
CaseApplication selectCaseApplicationConfirm(CaseApplication caseApplication); CaseApplication selectCaseApplicationConfirm(CaseApplication caseApplication);
/**
* 查询最大编号
* @param caseNum
* @param length
* @return
*/
Integer selectCaseNumLike(@Param("caseNum") String caseNum, @Param("length") int length);
} }
@@ -1,5 +1,6 @@
package com.ruoyi.wisdomarbitrate.service.impl; package com.ruoyi.wisdomarbitrate.service.impl;
import com.ruoyi.common.constant.CaseApplicationConstants; import com.ruoyi.common.constant.CaseApplicationConstants;
import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.DateUtils;
@@ -12,16 +13,11 @@ import com.ruoyi.wisdomarbitrate.service.ICaseApplicationService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.lang.reflect.Field;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static com.ruoyi.common.core.domain.AjaxResult.error;
import static java.util.stream.Collectors.collectingAndThen;
import static java.util.stream.Collectors.toCollection;
@Service @Service
public class CaseApplicationServiceImpl implements ICaseApplicationService { public class CaseApplicationServiceImpl implements ICaseApplicationService {
@@ -58,7 +54,7 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
BigDecimal feeRate = new BigDecimal(0.01); BigDecimal feeRate = new BigDecimal(0.01);
BigDecimal feePayable = caseApplication.getCaseSubjectAmount().multiply(feeRate).setScale(2,BigDecimal.ROUND_HALF_UP); BigDecimal feePayable = caseApplication.getCaseSubjectAmount().multiply(feeRate).setScale(2,BigDecimal.ROUND_HALF_UP);
caseApplication.setFeePayable(feePayable); caseApplication.setFeePayable(feePayable);
// 获取自动编码
String caseNum = generateCaseNum(); String caseNum = generateCaseNum();
caseApplication.setCaseNum(caseNum); caseApplication.setCaseNum(caseNum);
@@ -83,15 +79,21 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
return rows; return rows;
} }
/**
* 获取自动编码
* @return
*/
private String generateCaseNum() { private String generateCaseNum() {
String currentday = DateUtils.dateTime(); // 自动编码格式 zc+yyyyMMdd+001
String caseNum = "zc"+ currentday; String currentDay = DateUtils.dateTime();
//查询出当天的案件编号的最大值 ,如等于1 String caseNum = "zc"+ currentDay;
Integer caseNumMax = 1; //查询出当天的案件编号的最大值
if(caseNumMax!=null){ Integer maxCaseNum = caseApplicationMapper.selectCaseNumLike(caseNum,caseNum.length());
//根据查询到的caseNumMax拼接一个案件编号 if(null == maxCaseNum){
caseNum = caseNum + "001";
}else { }else {
caseNum += "001"; caseNum = caseNum + String.format("%03d", maxCaseNum);
} }
return caseNum; return caseNum;
@@ -105,13 +107,28 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
@Override @Override
@Transactional @Transactional
public int editCaseApplication(CaseApplication caseApplication) { 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);
caseApplication.setFeePayable(feePayable);
int rows = caseApplicationMapper.updataCaseApplication(caseApplication); int rows = caseApplicationMapper.updataCaseApplication(caseApplication);
List<CaseAffiliate> caseAffiliates = caseApplication.getCaseAffiliates(); List<CaseAffiliate> caseAffiliates = caseApplication.getCaseAffiliates();
if(caseAffiliates!=null&&caseAffiliates.size()>0){ if(caseAffiliates!=null&&caseAffiliates.size()>0){
for (CaseAffiliate caseAffiliate : caseAffiliates){ for (CaseAffiliate caseAffiliate : caseAffiliates){
caseAffiliate.setCaseAppliId(caseApplication.getId());
caseAffiliateMapper.updataCaseAffiliate(caseAffiliate); caseAffiliateMapper.updataCaseAffiliate(caseAffiliate);
} }
} }
List<CaseAttach> caseAttachList = caseApplication.getCaseAttachList();
if(caseAttachList!=null&&caseAttachList.size()>0){
for (CaseAttach caseAttach : caseAttachList){
caseAttach.setCaseAppliId(caseApplication.getId());
caseAttachMapper.updateCaseAttach(caseAttach);
}
}
return rows; return rows;
} }
@@ -191,38 +208,47 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
@Override @Override
@Transactional @Transactional
public String importCaseApplication(List<CaseApplication> caseApplicationList, String operName) { public String importCaseApplication(List<CaseApplication> caseApplicationList, String operName) {
StringBuilder successMsg = new StringBuilder();
StringBuilder failureMsg = new StringBuilder(); StringBuilder failureMsg = new StringBuilder();
StringBuilder successMsg = new StringBuilder();
int successNum = 0; int successNum = 0;
int failureNum = 0; int failureNum = 0;
if(caseApplicationList!=null&&caseApplicationList.size()>0){ if(caseApplicationList!=null&&caseApplicationList.size()>0){
List<CaseApplication> caseApplicationListinsert = new ArrayList<>(); List<CaseApplication> caseApplicationListinsert = new ArrayList<>();
for (int i = 0; i < caseApplicationList.size(); i++){ for (int i = 0; i < caseApplicationList.size(); i++){
CaseApplication caseApplication = caseApplicationList.get(i); CaseApplication caseApplication = caseApplicationList.get(i);
//根据仲裁费用计费规则计算应缴费用
//暂时设置计费比率为0.01
BigDecimal feeRate = new BigDecimal(0.01);
BigDecimal feePayable = caseApplication.getCaseSubjectAmount().multiply(feeRate).setScale(2,BigDecimal.ROUND_HALF_UP);
caseApplication.setFeePayable(feePayable);
//赋值CaseApplication的案件关联人信息 //赋值CaseApplication的案件关联人信息
List<CaseAffiliate> caseAffiliatesnew = new ArrayList<>(); List<CaseAffiliate> caseAffiliatesnew = new ArrayList<>();
assignmentCaseAffiliates(caseApplication,caseAffiliatesnew); assignmentCaseAffiliates(caseApplication,caseAffiliatesnew);
int caseApplicationCount = selectCaseApplicationCount(caseApplication); // int caseApplicationCount = selectCaseApplicationCount(caseApplication);
if(caseApplicationCount>0){ // if(caseApplicationCount>0){
failureNum++; // failureNum++;
failureMsg.append("<br/>" + failureNum + "、立案编号 " + caseApplication.getCaseNum() + " 已存在"); // failureMsg.append("<br/>" + failureNum + "、立案编号 " + caseApplication.getCaseNum() + " 已存在");
}else { // }else {
// caseApplicationListinsert.add(caseApplication);
// }
caseApplicationListinsert.add(caseApplication); caseApplicationListinsert.add(caseApplication);
} }
}
if(caseApplicationListinsert!=null&&caseApplicationListinsert.size()>0){ if(caseApplicationListinsert!=null&&caseApplicationListinsert.size()>0){
List<CaseApplication> caseApplicationListinsertDiffer = caseApplicationListinsert.stream().collect( // List<CaseApplication> caseApplicationListinsertDiffer = caseApplicationListinsert.stream().collect(
collectingAndThen( // collectingAndThen(
toCollection(() -> new TreeSet<>(Comparator.comparing(CaseApplication::getCaseNum))), // toCollection(() -> new TreeSet<>(Comparator.comparing(CaseApplication::getCaseNum))),
ArrayList::new)); // ArrayList::new));
//对不重复的立案对象集合的立案对象重新组装对应的案件关联人信息 //对不重复的立案对象集合的立案对象重新组装对应的案件关联人信息
if(caseApplicationListinsertDiffer!=null&&caseApplicationListinsertDiffer.size()>0){ // if(caseApplicationListinsertDiffer!=null&&caseApplicationListinsertDiffer.size()>0){
List<CaseApplication> caseApplicationNewList = new ArrayList<>(); List<CaseApplication> caseApplicationNewList = null;
for (int i = 0; i < caseApplicationListinsertDiffer.size(); i++){ for (int i = 0; i < caseApplicationListinsert.size(); i++){
CaseApplication caseApplicationinsertDiffer = caseApplicationListinsertDiffer.get(i); caseApplicationNewList = new ArrayList<>();
CaseApplication caseApplicationinsertDiffer = caseApplicationListinsert.get(i);
List<CaseAffiliate> caseAffiliatesnew = new ArrayList<>(); List<CaseAffiliate> caseAffiliatesnew = new ArrayList<>();
CaseApplication caseApplicationNew = new CaseApplication(); CaseApplication caseApplicationNew = new CaseApplication();
copyCaseApplication(caseApplicationinsertDiffer,caseApplicationNew); copyCaseApplication(caseApplicationinsertDiffer,caseApplicationNew);
@@ -244,6 +270,8 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
CaseApplication caseApplicationItera = caseApplicationNewList.get(k); CaseApplication caseApplicationItera = caseApplicationNewList.get(k);
// 新增立案信息 // 新增立案信息
caseApplicationItera.setCaseStatus(CaseApplicationConstants.CASE_APPLICATION); caseApplicationItera.setCaseStatus(CaseApplicationConstants.CASE_APPLICATION);
// 设置自动编码
caseApplicationItera.setCaseNum(generateCaseNum());
int rows = caseApplicationMapper.insertCaseApplication(caseApplicationItera); int rows = caseApplicationMapper.insertCaseApplication(caseApplicationItera);
List<CaseAffiliate> caseAffiliates = caseApplicationItera.getCaseAffiliates(); List<CaseAffiliate> caseAffiliates = caseApplicationItera.getCaseAffiliates();
if(caseAffiliates!=null&&caseAffiliates.size()>0){ if(caseAffiliates!=null&&caseAffiliates.size()>0){
@@ -256,7 +284,7 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
successMsg.append("<br/>" + successNum + "、立案编号 " + caseApplicationItera.getCaseNum() + " 导入成功"); successMsg.append("<br/>" + successNum + "、立案编号 " + caseApplicationItera.getCaseNum() + " 导入成功");
} }
} // }
} }
@@ -265,9 +293,14 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
}else { }else {
throw new ServiceException("导入立案申请数据不能为空!"); throw new ServiceException("导入立案申请数据不能为空!");
} }
// 编号存在不导入
if(StringUtils.isNotEmpty(failureMsg)){
return failureMsg.append(successMsg).toString();
}else {
return successMsg.toString(); return successMsg.toString();
} }
}
@Override @Override
@Transactional @Transactional
@@ -362,7 +395,22 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
@Override @Override
public CaseApplication selectCaseApplicationConfirm(CaseApplication caseApplication) { public CaseApplication selectCaseApplicationConfirm(CaseApplication caseApplication) {
CaseApplication caseApplicationselect = caseApplicationMapper.selectCaseApplicationConfirm(caseApplication); CaseApplication caseApplicationselect = caseApplicationMapper.selectCaseApplicationConfirm(caseApplication);
CaseAffiliate caseAffiliate = new CaseAffiliate();
caseAffiliate.setCaseAppliId(caseApplication.getId());
List<CaseAffiliate> caseAffiliatListeselect = caseAffiliateMapper.selectCaseAffiliate(caseAffiliate);
if(caseAffiliatListeselect!=null){
StringBuffer applicantName = 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(",");;
}
}
caseApplicationselect.setApplicantName(applicantName.toString());
}
return caseApplicationselect; return caseApplicationselect;
} }
@@ -374,7 +422,7 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
//发送短信通知 //发送短信通知
SmsUtils.SendSmsRequest request = new SmsUtils.SendSmsRequest(); SmsUtils.SendSmsRequest request = new SmsUtils.SendSmsRequest();
request.setTemplateId("1931000"); request.setTemplateId("1947342");
CaseApplication caseApplicationselect = caseApplicationMapper.selectCaseApplication(caseApplication); CaseApplication caseApplicationselect = caseApplicationMapper.selectCaseApplication(caseApplication);
String caseNum = caseApplicationselect.getCaseNum(); String caseNum = caseApplicationselect.getCaseNum();
@@ -398,7 +446,7 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
Arbitrator arbitratorselect = arbitratorList.get(i); Arbitrator arbitratorselect = arbitratorList.get(i);
//给仲裁员发送短信通知 //给仲裁员发送短信通知
request.setPhone(arbitratorselect.getTelephone()); request.setPhone(arbitratorselect.getTelephone());
// 1931000 普通短信 开庭日期通知 尊敬的{1}用户,您的{2}仲裁案件,开庭日期已确定为{3},请知晓,如非本人操作,请忽略本短信。 // 1947342 普通短信 开庭日期通知 尊敬的{1}用户,您的{2}仲裁案件,开庭日期已确定为{3},请知晓,如非本人操作,请忽略本短信。
String name = arbitratorselect.getArbitratorName(); String name = arbitratorselect.getArbitratorName();
request.setTemplateParamSet(new String[]{name, caseNum, hearDatestr}); request.setTemplateParamSet(new String[]{name, caseNum, hearDatestr});
SmsUtils.sendSms(request); SmsUtils.sendSms(request);
@@ -415,7 +463,7 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
int identityType = caseAffiliateselect.getIdentityType(); int identityType = caseAffiliateselect.getIdentityType();
//给申请人、被申请人发送短信通知 //给申请人、被申请人发送短信通知
request.setPhone(caseAffiliateselect.getContactTelphone()); request.setPhone(caseAffiliateselect.getContactTelphone());
// 1931000 普通短信 开庭日期通知 尊敬的{1}用户,您的{2}仲裁案件,开庭日期已确定为{3},请知晓,如非本人操作,请忽略本短信。 // 1947342 普通短信 开庭日期通知 尊敬的{1}用户,您的{2}仲裁案件,开庭日期已确定为{3},请知晓,如非本人操作,请忽略本短信。
String name = caseAffiliateselect.getName(); String name = caseAffiliateselect.getName();
request.setTemplateParamSet(new String[]{name, caseNum, hearDatestr}); request.setTemplateParamSet(new String[]{name, caseNum, hearDatestr});
SmsUtils.sendSms(request); SmsUtils.sendSms(request);
@@ -478,6 +526,7 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
caseApplicationNew.setClaimInterestOwed(caseApplicationinsertDiffer.getClaimInterestOwed()); caseApplicationNew.setClaimInterestOwed(caseApplicationinsertDiffer.getClaimInterestOwed());
caseApplicationNew.setClaimPrinciOwed(caseApplicationinsertDiffer.getClaimPrinciOwed()); caseApplicationNew.setClaimPrinciOwed(caseApplicationinsertDiffer.getClaimPrinciOwed());
caseApplicationNew.setClaimLiquidDamag(caseApplicationinsertDiffer.getClaimLiquidDamag()); caseApplicationNew.setClaimLiquidDamag(caseApplicationinsertDiffer.getClaimLiquidDamag());
caseApplicationNew.setFeePayable(caseApplicationinsertDiffer.getFeePayable());
} }
@@ -49,6 +49,7 @@
<update id="updataCaseAffiliate" parameterType="CaseAffiliate"> <update id="updataCaseAffiliate" parameterType="CaseAffiliate">
update case_affiliate update case_affiliate
set set
case_appli_id=#{caseAppliId},
identity_type= #{identityType}, identity_type= #{identityType},
name = #{name}, name = #{name},
identity_num = #{identityNum}, identity_num = #{identityNum},
@@ -71,7 +71,7 @@
</foreach> </foreach>
</if> </if>
</where> </where>
order by c.create_time desc order by c.create_time desc,c.case_num desc
</select> </select>
<select id="selectCaseApplicationCount" parameterType="CaseApplication" resultType="int"> <select id="selectCaseApplicationCount" parameterType="CaseApplication" resultType="int">
@@ -237,9 +237,10 @@
AND c.id = #{id} AND c.id = #{id}
</select> </select>
<select id="selectCaseNumLike" resultType="java.lang.Integer">
select max(substring(case_num, #{length}+1,12)+1) as maxCaseNum
from case_application where case_num like CONCAT(#{caseNum},'%') ;
</select>
</mapper> </mapper>