Merge branch 'dev' of http://git.xayunmei.com/SH-Arbitrate/Arbitrate-Backend into qtz3
# Conflicts: # ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CaseApplicationServiceImpl.java
This commit is contained in:
@@ -3,6 +3,7 @@ package com.ruoyi.wisdomarbitrate.mapper;
|
||||
import com.ruoyi.wisdomarbitrate.domain.CaseApplication;
|
||||
import com.ruoyi.wisdomarbitrate.domain.CaseLogRecord;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import java.util.List;
|
||||
@@ -13,4 +14,6 @@ public interface CaseLogRecordMapper {
|
||||
List<CaseLogRecord> selectCaseLogRecordList(CaseLogRecord caseLogRecord);
|
||||
|
||||
int insertCaseLogRecord(CaseLogRecord caseLogRecord);
|
||||
|
||||
void batchInsertRecord(@Param("list")List<CaseLogRecord> list);
|
||||
}
|
||||
|
||||
+1
-1
@@ -55,7 +55,7 @@ public class CaseApplicationLogServiceImpl implements CaseApplicationLogService
|
||||
private ColumnValueLogMapper columnValueLogMapper;
|
||||
// 对比两个版本修改的字段,基本字段对比
|
||||
private static final String[] columns = {"caseName","caseSubjectAmount","loanStartDate", "loanEndDate","contractNumber","claimInterestOwed","claimLiquidDamag",
|
||||
"claimPrinciOwed","arbitratClaims","properPreser","requestRule"};
|
||||
"claimPrinciOwed","arbitratClaims","properPreser","requestRule","facts"};
|
||||
// 人员字段对比
|
||||
private static final String[] affiliateColumns = {"name", "identityNum","contactTelphone","contactAddress","workTelphone","workAddress","email",
|
||||
"nameAgent", "identityNumAgent","contactTelphoneAgent","contactAddressAgent","residenAffili","compLegalPerson",
|
||||
|
||||
+3
@@ -34,6 +34,9 @@ public class CaseLogRecordServiceImpl implements ICaseLogRecordService {
|
||||
if(StrUtil.isNotEmpty(record.getContent())){
|
||||
contentBuilder.append(record.getContent());
|
||||
}
|
||||
if(StrUtil.isNotEmpty(record.getNotes())){
|
||||
contentBuilder.append(",").append(record.getNotes());
|
||||
}
|
||||
record.setContent(contentBuilder.toString());
|
||||
|
||||
});
|
||||
|
||||
+81
-11
@@ -9,6 +9,7 @@ import com.ruoyi.common.constant.Constants;
|
||||
import com.ruoyi.common.core.domain.entity.SysDept;
|
||||
import com.ruoyi.common.core.domain.entity.SysRole;
|
||||
import com.ruoyi.common.core.domain.entity.SysUser;
|
||||
import com.ruoyi.common.core.domain.model.LoginUser;
|
||||
import com.ruoyi.common.enums.UpdateSubmitStatus;
|
||||
import com.ruoyi.common.utils.*;
|
||||
import com.ruoyi.common.config.RuoYiConfig;
|
||||
@@ -18,14 +19,13 @@ import com.ruoyi.common.exception.ServiceException;
|
||||
import com.ruoyi.common.utils.file.FileUtils;
|
||||
import com.ruoyi.common.utils.thread.MultipleThreadListParam;
|
||||
import com.ruoyi.common.utils.thread.MultipleThreadWorkUtil;
|
||||
import com.ruoyi.common.utils.thread.ThreadPoolUtil;
|
||||
import com.ruoyi.system.domain.SysUserRole;
|
||||
import com.ruoyi.system.mapper.*;
|
||||
import com.ruoyi.wisdomarbitrate.domain.CaseAffiliate;
|
||||
import com.ruoyi.wisdomarbitrate.domain.CaseApplication;
|
||||
import com.ruoyi.wisdomarbitrate.domain.CaseAttach;
|
||||
import com.ruoyi.wisdomarbitrate.domain.FatchRule;
|
||||
import com.ruoyi.wisdomarbitrate.domain.*;
|
||||
import com.ruoyi.wisdomarbitrate.domain.vo.ColumnValue;
|
||||
import com.ruoyi.wisdomarbitrate.mapper.*;
|
||||
import com.ruoyi.wisdomarbitrate.utils.CaseLogUtils;
|
||||
import com.ruoyi.wisdomarbitrate.utils.OCRUtils;
|
||||
import com.ruoyi.wisdomarbitrate.utils.UnZipFileUtils;
|
||||
import org.apache.pdfbox.pdmodel.PDDocument;
|
||||
@@ -149,6 +149,10 @@ public class CaseZipImportImpl {
|
||||
if (fatchMap.size() <= 0) {
|
||||
return error("从压缩包中未抓取到内容,请检查抓取字段配置");
|
||||
}
|
||||
// 尊敬的{1},您的代理的案件已接入仲裁系统,复制访问https://miniapp-3gpama6l759911ef-1321289474.tcloudbaseapp.com/jump-mp.html 进入小程序进行认证注册。如非本人操作,请忽略本短信
|
||||
SmsUtils.SendSmsRequest request = new SmsUtils.SendSmsRequest();
|
||||
request.setTemplateId("1956159");
|
||||
|
||||
// 新增的案件
|
||||
List<CaseApplication> caseApplications = new ArrayList<>();
|
||||
// 从抓取规则表取字段和字典表取基本字段,字典表的字段名塞到基本表,is_default=1自定义字段塞到columnValue
|
||||
@@ -181,6 +185,10 @@ public class CaseZipImportImpl {
|
||||
List<SysDept> sysDepts = new ArrayList<>();
|
||||
// 案件附件
|
||||
List<CaseAttach> caseAttachs = new ArrayList<>();
|
||||
//发送短信列表
|
||||
List<SmsSendRecord> smsSendRecordList = new ArrayList<>();
|
||||
// 短信记录
|
||||
List<SmsUtils.SendSmsRequest> smsRequestList = new ArrayList<>();
|
||||
/**
|
||||
* 用户表已存在的用户
|
||||
*/
|
||||
@@ -248,7 +256,7 @@ public class CaseZipImportImpl {
|
||||
}
|
||||
caseApplication.setColumnValues(columnValueList);
|
||||
// 组装内置字段
|
||||
buildDefaultColumn(caseApplication, dictDataList, fatchMap, caseAffiliates, deptMap, sysDepts, userMap, addUsers, userRoleList);
|
||||
buildDefaultColumn(caseApplication, dictDataList, fatchMap, caseAffiliates, deptMap, sysDepts, userMap, addUsers, userRoleList, smsSendRecordList, smsRequestList);
|
||||
for (File caseFile : fileMap.get(caseId)) {
|
||||
String fileUrl = caseFile.getAbsolutePath();
|
||||
if (StrUtil.isEmpty(fileUrl)) {
|
||||
@@ -277,6 +285,7 @@ public class CaseZipImportImpl {
|
||||
}
|
||||
// 案件压缩包导入
|
||||
caseApplication.setImportFlag(2);
|
||||
// 组装短信
|
||||
|
||||
}
|
||||
// 多线程执行
|
||||
@@ -323,9 +332,48 @@ public class CaseZipImportImpl {
|
||||
if (CollectionUtil.isNotEmpty(execList)) {
|
||||
MultipleThreadWorkUtil.execListFun(execList.toArray(new MultipleThreadListParam[execList.size()]));
|
||||
}
|
||||
if (CollectionUtil.isNotEmpty(caseApplications)) {
|
||||
LoginUser loginUser = SecurityUtils.getLoginUser();
|
||||
List<CaseLogRecord> logRecords = new ArrayList<>();
|
||||
|
||||
caseApplications.forEach(caseApplication -> {
|
||||
CaseLogRecord operLog = new CaseLogRecord();
|
||||
// 获取当前的用户
|
||||
|
||||
if (loginUser != null) {
|
||||
SysUser user = loginUser.getUser();
|
||||
operLog.setCreateBy(user.getUserName());
|
||||
operLog.setCreateNickName(user.getNickName());
|
||||
operLog.setUpdateBy(user.getUserName());
|
||||
} else {
|
||||
operLog.setCreateBy("admin");
|
||||
operLog.setCreateNickName("管理员");
|
||||
operLog.setUpdateBy("admin");
|
||||
}
|
||||
operLog.setCaseAppliId(caseApplication.getId());
|
||||
operLog.setCaseNode(CaseApplicationConstants.CASE_APPLICATION);
|
||||
logRecords.add(operLog);
|
||||
}
|
||||
);
|
||||
// todo 发送短信
|
||||
// ThreadPoolUtil.execute(() -> {
|
||||
// CaseLogUtils.batchInsertCaseLog(logRecords);
|
||||
// // 发送短信
|
||||
// if (CollectionUtil.isNotEmpty(smsRequestList)) {
|
||||
// for (SmsUtils.SendSmsRequest sendSmsRequest : smsRequestList) {
|
||||
// Boolean aBoolean = SmsUtils.sendSms(request);
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// }
|
||||
//
|
||||
// );
|
||||
}
|
||||
// 案件日志
|
||||
return success("导入成功");
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取自动编码
|
||||
*
|
||||
@@ -348,6 +396,7 @@ public class CaseZipImportImpl {
|
||||
return caseNum;
|
||||
|
||||
}
|
||||
|
||||
public void inputChangeToFile(InputStream instream, File file) {
|
||||
try {
|
||||
OutputStream outStr = new FileOutputStream(file);
|
||||
@@ -527,7 +576,8 @@ public class CaseZipImportImpl {
|
||||
*/
|
||||
private void buildDefaultColumn(CaseApplication caseApplication, List<SysDictData> dictDataList, Map<String, String> fatchMap,
|
||||
List<CaseAffiliate> caseAffiliates, Map<String, Long> deptMap, List<SysDept> sysDepts,
|
||||
Map<String, SysUser> userMap, List<SysUser> addUsers, List<SysUserRole> userRoleList) {
|
||||
Map<String, SysUser> userMap, List<SysUser> addUsers, List<SysUserRole> userRoleList,
|
||||
List<SmsSendRecord> smsSendRecords, List<SmsUtils.SendSmsRequest> smsRequestList) {
|
||||
// 组装内置字段
|
||||
if (CollectionUtil.isEmpty(dictDataList)) {
|
||||
return;
|
||||
@@ -548,7 +598,7 @@ public class CaseZipImportImpl {
|
||||
} else if (dictData.getDictLabel().contains("申请人") || dictData.getDictLabel().contains("统一社会信用代码")
|
||||
|| dictData.getDictLabel().contains("法定代表人") || dictData.getDictLabel().contains("委托代理人")) {
|
||||
// 组装申请人内置自段
|
||||
buildAffilcateColumn(dictData, fatchMap, affiliate, deptMap, sysDepts, userMap, addUsers, userRoleList,caseApplication.getId());
|
||||
buildAffilcateColumn(dictData, fatchMap, affiliate, deptMap, sysDepts, userMap, addUsers, userRoleList, caseApplication.getId(), smsSendRecords, smsRequestList);
|
||||
} else if (dictData.getDictLabel().contains("合同编号")) {
|
||||
// 合同编号
|
||||
String contractNumber = fatchMap.get("合同编号" + Constants.PDFSTR + caseApplication.getId());
|
||||
@@ -587,7 +637,8 @@ public class CaseZipImportImpl {
|
||||
*/
|
||||
private void buildAffilcateColumn(SysDictData dictData, Map<String, String> fatchMap, CaseAffiliate affiliate,
|
||||
Map<String, Long> deptMap, List<SysDept> sysDepts,
|
||||
Map<String, SysUser> userMap, List<SysUser> addUsers, List<SysUserRole> userRoleList,Long caseId) {
|
||||
Map<String, SysUser> userMap, List<SysUser> addUsers, List<SysUserRole> userRoleList, Long caseId,
|
||||
List<SmsSendRecord> smsSendRecords, List<SmsUtils.SendSmsRequest> smsRequestList) {
|
||||
|
||||
affiliate.setIdentityType(1);
|
||||
|
||||
@@ -642,9 +693,10 @@ public class CaseZipImportImpl {
|
||||
case "委托代理人联系电话":
|
||||
affiliate.setContactTelphoneAgent(fatchMap.get(dictData.getDictLabel() + Constants.PDFSTR + caseId));
|
||||
if (StrUtil.isNotEmpty(affiliate.getContactTelphoneAgent())) {
|
||||
SysUser agentUser = null;
|
||||
// 用户已存在
|
||||
if (userMap.containsKey(affiliate.getContactTelphoneAgent())) {
|
||||
SysUser agentUser = userMap.get(affiliate.getContactTelphoneAgent());
|
||||
agentUser = userMap.get(affiliate.getContactTelphoneAgent());
|
||||
if (null != agentUser.getDeptId() && String.valueOf(agentUser.getDeptId()).equals(affiliate.getApplicationOrganId())) {
|
||||
// 同步用户表和案件关联人表的手机号和名称
|
||||
affiliate.setContactTelphoneAgent(agentUser.getPhonenumber());
|
||||
@@ -670,7 +722,7 @@ public class CaseZipImportImpl {
|
||||
}
|
||||
} else {
|
||||
// 用户不存在,新增
|
||||
SysUser agentUser = new SysUser();
|
||||
agentUser = new SysUser();
|
||||
agentUser.setUserId(Long.valueOf(IdWorkerUtil.getId()));
|
||||
agentUser.setIdCard(affiliate.getIdentityNumAgent());
|
||||
agentUser.setNickName(affiliate.getNameAgent());
|
||||
@@ -683,6 +735,25 @@ public class CaseZipImportImpl {
|
||||
insertAgentUserRole(agentUser, roleId, userRoleList);
|
||||
|
||||
}
|
||||
if (addUsers != null) {
|
||||
SmsUtils.SendSmsRequest request = new SmsUtils.SendSmsRequest();
|
||||
request.setTemplateId("1956159");
|
||||
request.setPhone(agentUser.getPhonenumber());
|
||||
request.setTemplateParamSet(new String[]{agentUser.getNickName()});
|
||||
SmsSendRecord smsSendRecord = new SmsSendRecord();
|
||||
smsSendRecord.setCaseId(caseId);
|
||||
CaseApplication caseApplication = new CaseApplication();
|
||||
caseApplication.setId(caseId);
|
||||
smsSendRecord.setCaseNum(caseApplication.getCaseNum());
|
||||
smsSendRecord.setPhone(request.getPhone());
|
||||
smsSendRecord.setSendTime(new Date());
|
||||
String content = "尊敬的" + agentUser.getNickName() + ",您的代理的案件已接入仲裁系统,复制访问https://miniapp-3gpama6l759911ef-1321289474.tcloudbaseapp.com/jump-mp.html 进入小程序进行认证注册。如非本人操作,请忽略本短信";
|
||||
smsSendRecord.setSendContent(content);
|
||||
smsSendRecord.setCreateBy(getUsername());
|
||||
smsSendRecords.add(smsSendRecord);
|
||||
smsRequestList.add(request);
|
||||
}
|
||||
|
||||
}
|
||||
break;
|
||||
case "委托代理人电子邮件":
|
||||
@@ -807,5 +878,4 @@ public class CaseZipImportImpl {
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@ import com.ruoyi.wisdomarbitrate.mapper.CaseLogRecordMapper;
|
||||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 案件记录日志文件
|
||||
@@ -46,6 +47,14 @@ public class CaseLogUtils
|
||||
operLog.setNotes(notes);
|
||||
caseLogRecordMapper.insertCaseLogRecord(operLog);
|
||||
}
|
||||
/**
|
||||
* 批量新增案件日志
|
||||
* @param list
|
||||
*/
|
||||
public static void batchInsertCaseLog(List<CaseLogRecord> list ){
|
||||
|
||||
caseLogRecordMapper.batchInsertRecord(list);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -60,6 +60,7 @@
|
||||
</resultMap>
|
||||
<insert id="insert" parameterType="com.ruoyi.wisdomarbitrate.domain.CaseApplication" useGeneratedKeys="true" keyProperty="id">
|
||||
insert into case_application_log(
|
||||
<if test="caseLogId != null ">id ,</if>
|
||||
<if test="caseAppliId != null ">case_appli_id ,</if>
|
||||
<if test="caseName != null and caseName != ''">case_name ,</if>
|
||||
<if test="caseNum != null and caseNum != ''">case_num,</if>
|
||||
@@ -89,6 +90,7 @@
|
||||
mediation_agreement,
|
||||
create_time
|
||||
)values(
|
||||
<if test="caseLogId != null ">#{id} ,</if>
|
||||
<if test="caseAppliId != null">#{caseAppliId},</if>
|
||||
<if test="caseName != null and caseName != ''">#{caseName},</if>
|
||||
<if test="caseNum != null and caseNum != ''">#{caseNum},</if>
|
||||
|
||||
@@ -901,6 +901,7 @@
|
||||
</select>
|
||||
<insert id="insertCaseApplication" parameterType="CaseApplication" useGeneratedKeys="true" keyProperty="id">
|
||||
insert into case_application(
|
||||
<if test="id != null''">id ,</if>
|
||||
<if test="caseName != null and caseName != ''">case_name ,</if>
|
||||
<if test="caseNum != null and caseNum != ''">case_num,</if>
|
||||
<if test="caseSubjectAmount != null">case_subject_amount,</if>
|
||||
@@ -934,6 +935,7 @@
|
||||
batch_number,
|
||||
create_time
|
||||
)values(
|
||||
<if test="id != null''">#{id} ,</if>
|
||||
<if test="caseName != null and caseName != ''">#{caseName},</if>
|
||||
<if test="caseNum != null and caseNum != ''">#{caseNum},</if>
|
||||
<if test="caseSubjectAmount != null">#{caseSubjectAmount},</if>
|
||||
|
||||
@@ -20,17 +20,26 @@
|
||||
#{caseAppliId},#{caseNode},sysdate(),#{notes},#{createBy},#{createNickName},sysdate(),#{updateBy},sysdate()
|
||||
)
|
||||
</insert>
|
||||
<insert id="batchInsertRecord">
|
||||
insert into case_log_record(case_appli_id, case_node,case_node_time,notes,create_by,create_nick_name,create_time,update_by,update_time ) values
|
||||
<foreach item="item" index="index" collection="list" separator=",">
|
||||
(
|
||||
#{item.caseAppliId},#{item.caseNode},sysdate(),#{item.notes},#{item.createBy},#{item.createNickName},sysdate(),#{item.updateBy},sysdate()
|
||||
)
|
||||
</foreach>
|
||||
</insert>
|
||||
<select id="selectCaseLogRecordList" resultType="com.ruoyi.wisdomarbitrate.domain.CaseLogRecord">
|
||||
select cl.case_node caseNode ,cl.case_node_time caseNodeTime ,cl.notes ,cl.id ,cl.case_appli_id caseAppliId,
|
||||
cl.create_by createBy,cl.create_nick_name createNickName,cl.create_time createTime,cl.update_by updateBy,cl.update_time updateTime,
|
||||
CASE cl.case_node 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 9 then '当前仲裁方式为书面审理' when 10 then '书面审理' when 11 then '秘书审核裁决书'
|
||||
when 12 then '部门长核验裁决书' when 13 then '同意裁决书' when 14 then '签名成功'
|
||||
when 15 then '用印成功' when 16 then '送达仲裁文书' when 17 then '案件归档'
|
||||
when 26 then '证据确认成功'
|
||||
when 31 then '修改开庭时间'
|
||||
when 18 then '仲裁员审核仲裁文书'
|
||||
ELSE '无案件状态'
|
||||
END content,
|
||||
CASE cl.case_node when 0 then '申请人' when 1 then '申请人' when 2 then '法律顾问'
|
||||
|
||||
Reference in New Issue
Block a user