发版合并 #363

Merged
wangqiong123 merged 129 commits from dev into pro 2024-06-03 02:26:01 +00:00
6 changed files with 96 additions and 174 deletions
Showing only changes of commit b7f1e265f9 - Show all commits
@@ -419,4 +419,8 @@ public class CaseApplication extends BaseEntity {
private Integer pendingStatus;
/** e签宝流程id */
private String signFlowId;
/**
* 登录用户名
*/
private String userName;
}
@@ -12,7 +12,6 @@ import java.util.List;
public interface CaseApplicationMapper {
List<CaseApplication> selectCaseApplicationList(CaseApplication caseApplication);
List<CaseApplication> selectCaseApplicationList1(CaseApplication caseApplication);
int selectCaseApplicationCount(CaseApplication caseApplication);
@@ -40,6 +40,8 @@ import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
import tk.mybatis.mapper.entity.Example;
import java.io.*;
import java.math.BigDecimal;
import java.math.RoundingMode;
@@ -138,6 +140,68 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
// 被申请人字段校验
private static final String[] dectborAffiliateColumns = {"name", "identityNum","contactTelphone","contactAddress","workTelphone","workAddress",
"residenAffili","responSex","responBirth","email","nameAgent", "identityNumAgent","contactTelphoneAgent","contactAddressAgent"};
/**
* 案件列表查询
*
* @param req
* @return
*/
// public List<CaseApplication> list(CaseApplication req) {
// // 查询的案件状态
// List<String> caseStatusList=new ArrayList<>();
// // 根据用户查询角色
// LoginUser loginUser = SecurityUtils.getLoginUser();
// // 根据id查询用户
// SysUser sysUser = sysUserMapper.selectUserById(loginUser.getUserId());
// List<SysRole> roles = sysUser.getRoles();
// req.setUserName(sysUser.getUserName());
// if (StrUtil.equals(SecurityUtils.getUsername(), "admin")) {
// startPage();
// List<CaseApplication> list = caseApplicationMapper.list(req, null,null);
// // 设置申请人被申请人及签名按钮限
// // setAfflicate(new HashMap<>(),list,loginUser.getUserId(),roles);
// return list;
// }
// if(CollectionUtil.isEmpty(roles) ){
// throw new RuntimeException("用户未分配角色,请联系管理员");
// }
// List<Long> roleIds = roles.stream().map(SysRole::getRoleId).collect(Collectors.toList());
//
// // 流程名称分组
// Map<String, Integer> flowNameMap = allCaseFlows.stream().collect(Collectors.toMap(MsCaseFlow::getCaseStatusName, MsCaseFlow::getSort, (k1, k2) -> k2));
//
// // 是否查询所有
// boolean isSelectAll = false;
//
// for (SysRole role : roles) {
// if(StrUtil.isNotEmpty(role.getRoleName())){
// if(StrUtil.contains(role.getRoleName(),"财务")
// ||StrUtil.contains(role.getRoleName(),"法律顾问")
// ||StrUtil.contains(role.getRoleName(),"部门长")
// ){
// isSelectAll=true;
// roleIds=null;
// }
// if(StrUtil.equals(role.getRoleName(),"调解员")) {
// req.setMediatorId(String.valueOf(sysUser.getUserId()));
// }
// }
// }
// if(!isSelectAll){
// req.setUserId(String.valueOf(loginUser.getUserId()));
// }
// if(req.getMediationMethod()!=null){
// // 查询视频审理
// req.setCaseFlowId(9);
// }
// startPage();
//
// // 查询案件列表
// List<CaseApplication> list = caseApplicationMapper.list(req, caseFlowIds,roleIds);
// // 设置申请人被申请人及签名按钮限
// // setAfflicate(flowNameMap,list,loginUser.getUserId(),roles);
// return list;
// }
/**
* 数据权限:1.每个人不同的角色,而每个角色可以操作不同的案件状态
@@ -261,7 +325,7 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
// 根据条件查询申请人,被申请人,仲裁员,法律顾问案件
// return caseApplicationMapper.selectCaseApplicationList(caseApplication);
List<CaseApplication> caseApplications = caseApplicationMapper.selectCaseApplicationList1(caseApplication);
List<CaseApplication> caseApplications = caseApplicationMapper.selectCaseApplicationList(caseApplication);
if(caseApplications!=null&&caseApplications.size()>0){
for(CaseApplication caseApplicationsel : caseApplications){
Integer caseStatus = caseApplicationsel.getCaseStatus();
@@ -41,6 +41,7 @@ import java.text.SimpleDateFormat;
import java.util.*;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Future;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.function.Function;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -97,17 +98,14 @@ public class CaseZipImportImpl {
@Transactional
public AjaxResult zipImport(MultipartFile file, Long templateId) {
UUID uuid = UUID.randomUUID();
// todo
String targetPath = "/home/ruoyi/uploadPath/upload/unzipFile/" + uuid + "/";
// String targetPath = "D:/home/ruoyi/uploadPath/upload/unzipFile/"+uuid+ "/";
File zipFile = null;
InputStream ins = null;
try {
ins = file.getInputStream();
//上传的压缩包保存的路径
// todo
String savePath = "/home/ruoyi/uploadPath/upload/zipFile/";
// String savePath = "D:/home/ruoyi/uploadPath/upload/zipFile/";
String saveName = uuid + "_" + file.getOriginalFilename();
zipFile = new File(savePath + saveName);
inputChangeToFile(ins, zipFile);
@@ -121,7 +119,6 @@ public class CaseZipImportImpl {
throw new ServiceException("解压失败");
}
// 查询抓取规则
// todo 批次需要再上传压缩包时用户填写
List<FatchRule> fatchRuleList = fatchRuleMapper.listByTemplateId(templateId);
if (CollectionUtil.isEmpty(fatchRuleList)) {
throw new ServiceException("未设置抓取规则");
@@ -166,18 +163,19 @@ public class CaseZipImportImpl {
if (!directory.isDirectory() || directory.listFiles() == null) {
throw new ServiceException("未找到文件夹");
}
Integer maxBatchNumber = caseApplicationMapper.selectBatchNumberLike();
if (maxBatchNumber == null) {
maxBatchNumber = 1;
Integer batchNumber = caseApplicationMapper.selectBatchNumberLike();
AtomicInteger maxBatchNumber = new AtomicInteger();
if (batchNumber == null) {
maxBatchNumber.set(1);
} else {
maxBatchNumber = maxBatchNumber + 1;
maxBatchNumber.set(batchNumber+1);
}
File[] files = directory.listFiles();
File[] files = directory.listFiles();
CaseZipImportTask caseZipImportTask = null;
try {
caseZipImportTask = new CaseZipImportTask(this, templateId, fatchRuleList, fatchMap, fatchRuleMap, userMap, dictDataList, files , deptMap, SecurityUtils.getLoginUser(),maxBatchNumber);
caseZipImportTask = new CaseZipImportTask(this, templateId, fatchRuleList, fatchMap, fatchRuleMap, userMap, dictDataList, files , deptMap, SecurityUtils.getLoginUser(),maxBatchNumber.get());
} catch (Exception e) {
return error("导入失败");
}
@@ -298,44 +296,7 @@ public class CaseZipImportImpl {
// Function<List<SysUser>, Integer> function = userMapper::batchSave;
// execList.add(new MultipleThreadListParam(function, addUsers));
// }
// if (CollectionUtil.isNotEmpty(userRoleList)) {
// Function<List<SysUserRole>, Integer> function = userRoleMapper::batchUserRole;
// execList.add(new MultipleThreadListParam(function, userRoleList));
//
// }
// if (CollectionUtil.isNotEmpty(sysDepts)) {
// Function<List<SysDept>, Integer> function = sysDeptMapper::batchSave;
// execList.add(new MultipleThreadListParam(function, sysDepts));
//
// }
// if (CollectionUtil.isNotEmpty(caseApplications)) {
// Function<List<CaseApplication>, Integer> function = caseApplicationMapper::batchSave;
// execList.add(new MultipleThreadListParam(function, caseApplications));
// Function<List<CaseApplication>, Integer> functionLog = caseApplicationLogMapper::batchSave;
// execList.add(new MultipleThreadListParam(functionLog, caseApplications));
//
// }
// if (CollectionUtil.isNotEmpty(caseAffiliates)) {
// Function<List<CaseAffiliate>, Integer> function = caseAffiliateMapper::batchCaseAffiliate;
// execList.add(new MultipleThreadListParam(function, caseAffiliates));
// Function<List<CaseAffiliate>, Integer> functionLog = caseAffiliateLogMapper::batchCaseAffiliate;
// execList.add(new MultipleThreadListParam(functionLog, caseAffiliates));
// }
// if (CollectionUtil.isNotEmpty(caseAttachs)) {
// Function<List<CaseAttach>, Integer> function = caseAttachMapper::batchSave;
// execList.add(new MultipleThreadListParam(function, caseAttachs));
// Function<List<CaseAttach>, Integer> functionLog = caseAttachLogMapper::batchSave;
// execList.add(new MultipleThreadListParam(functionLog, caseAttachs));
// }
// if (CollectionUtil.isNotEmpty(columnValueList)) {
// Function<List<ColumnValue>, Integer> function = columnValueMapper::batchSave;
// execList.add(new MultipleThreadListParam(function, columnValueList));
// Function<List<ColumnValue>, Integer> functionLog = columnValueLogMapper::batchSave;
// execList.add(new MultipleThreadListParam(functionLog, columnValueList));
// }
// if (CollectionUtil.isNotEmpty(execList)) {
// MultipleThreadWorkUtil.execListFun(execList.toArray(new MultipleThreadListParam[execList.size()]));
// }
// 多线程执行
ThreadPoolUtil.execute(() -> {
try {
@@ -414,6 +375,7 @@ public class CaseZipImportImpl {
for (Map.Entry<String, String> entry : andConvertPDF.entrySet()) {
if(entry.getKey().contains(mapKey)){
fileURL=entry.getValue();
break;
}
}
if (StrUtil.isEmpty(fileURL)) {
@@ -808,8 +770,8 @@ public class CaseZipImportImpl {
dept.setOrderNum(1);
dept.setStatus("0");
dept.setDelFlag("0");
dept.setCreateBy(getUsername());
dept.setUpdateBy(getUsername());
// dept.setCreateBy(getUsername());
// dept.setUpdateBy(getUsername());
dept.setDeptId(Long.valueOf(IdWorkerUtil.getId()));
sysDepts.add(dept);
deptMap.put(dept.getDeptName(), dept.getDeptId());
@@ -897,7 +859,7 @@ public class CaseZipImportImpl {
smsSendRecord.setSendTime(new Date());
String content = "尊敬的" + agentUser.getNickName() + ",您的代理的案件已接入仲裁系统,复制访问https://miniapp-3gpama6l759911ef-1321289474.tcloudbaseapp.com/jump-mp.html 进入小程序进行认证注册。如非本人操作,请忽略本短信";
smsSendRecord.setSendContent(content);
smsSendRecord.setCreateBy(getUsername());
// smsSendRecord.setCreateBy(getUsername());
smsSendRecords.add(smsSendRecord);
}
@@ -181,6 +181,7 @@ public class OCRUtils {
// 开始为空结束不为空
int endContIndex = StrUtil.ordinalIndexOf(text, endContent, fatchRule.getEndContentRepeatOrder());
if (endContIndex != -1) {
// todo
String substring = text.substring(0, endContIndex);
fatchMap.put(fatchRule.getColumnName(), trimStr(substring));
}
@@ -4,7 +4,7 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.wisdomarbitrate.mapper.CaseApplicationMapper">
<resultMap type="CaseApplication" id="CaseApplicationResult">
<resultMap type="com.ruoyi.wisdomarbitrate.domain.CaseApplication" id="CaseApplicationResult">
<id property="id" column="id"/>
<result property="caseNum" column="case_num"/>
<result property="caseName" column="case_name"/>
@@ -58,7 +58,7 @@
</resultMap>
<select id="selectCaseApplicationList1" parameterType="CaseApplication" resultMap="CaseApplicationResult">
<select id="selectCaseApplicationList" parameterType="com.ruoyi.wisdomarbitrate.domain.CaseApplication" resultMap="CaseApplicationResult">
select DISTINCT(t1.id),t1.caseLogId,t1.case_num,t1.case_subject_amount,t1.register_date,t1.arbitrat_method,
t1.arbitratMethodName,t1.case_status,t1.caseStatusName,t1.hear_date,t1.arbitrat_claims,
t1.loan_start_date,t1.loan_end_date,t1.claim_princi_owed,t1.claim_interest_owed,t1.claim_liquid_damag,t1.fee_payable,
@@ -547,115 +547,7 @@
</where>
order by c.create_time desc,c.case_num desc
</select>
<select id="selectCaseApplicationList" parameterType="CaseApplication" resultMap="CaseApplicationResult">
select DISTINCT(t1.id),t1.case_num,t1.case_subject_amount,t1.register_date,t1.arbitrat_method,
t1.arbitratMethodName,t1.case_status,t1.caseStatusName,t1.hear_date,t1.arbitrat_claims,
t1.loan_start_date,t1.loan_end_date,t1.claim_princi_owed,t1.claim_interest_owed,t1.claim_liquid_damag,t1.fee_payable,
t1.begin_video_date,t1.online_video_person,t1.contract_number,t1.create_by,t1.create_time,t1.update_by,t1.update_time,
t1.arbitrator_name,t1.name,t1.application_organ_id,t1.applicantName,t1.arbitrator_id,t1.identity_num,t1.identity_type,
t1.filearbitra_url,t1.lock_status,t1.version
from(
select t.id,t.case_num ,t.case_subject_amount ,t.register_date ,t.arbitrat_method,
t.arbitratMethodName,t.case_status,t.caseStatusName,t.hear_date ,t.arbitrat_claims ,
t.loan_start_date ,t.loan_end_date ,t.claim_princi_owed ,t.claim_interest_owed
,t.claim_liquid_damag,t.fee_payable ,
t.begin_video_date ,t.online_video_person ,t.contract_number ,t.create_by ,t.create_time ,
t.update_by ,t.update_time , t.arbitrator_name,t.name,t.application_organ_id,t.applicantName,
t.arbitrator_id,t.identity_num , t.identity_type,t.filearbitra_url,t.lock_status,t.version
from(
select c.id ,c.case_num ,c.case_subject_amount ,c.register_date ,c.arbitrat_method ,
CASE c.arbitrat_method when 1 then '开庭审理' when 2 then '书面审理'
ELSE '无审理方式'
END arbitratMethodName,
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 '待案件归档' when 17 then '已归档'
when 18 then '待仲裁员审核仲裁文书'
when 31 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.begin_video_date ,c.online_video_person ,c.contract_number ,c.create_by ,c.create_time ,
c.update_by ,c.update_time , c.arbitrator_name,ca.name,ca.application_organ_id,ca.application_organ_name as
applicantName,
c.arbitrator_id,ca.identity_num , ca.identity_type,c.filearbitra_url,c.lock_status,c.version
from case_application c
JOIN case_affiliate ca ON ca.case_appli_id = c.id
<where>
<if test="caseStatus != null">
AND c.case_status = #{caseStatus}
</if>
<if test="caseNum != null and caseNum != ''">
AND c.case_num = #{caseNum}
</if>
<if test="nameId != null and nameId != ''">
AND ca.application_organ_id=#{nameId} AND ca.identity_type=1
</if>
<if test="caseStatusList != null and caseStatusList.size() > 0">
and c.case_status in
<foreach item="caseStatus" collection="caseStatusList" open="(" separator="," close=")">
#{caseStatus}
</foreach>
</if>
<if test="lockStatus != null">
AND c.lock_status = #{lockStatus}
</if>
</where>
) t
<where>
<!--被申请人-->
<if test="idCard != null and idCard != ''">
or (t.identity_num=#{idCard} AND t.identity_type=2 and (t.case_status=4 or t.case_status=17))
</if>
<!--仲裁员-->
<if test="userId != null and userId != ''">
or ( t.identity_type=1 and
t.case_status in (7,8,9,12,13,17)
and
instr (t.arbitrator_id,#{userId})>0)
</if>
<!--申请人-->
<if test="applicationOrganId != null and applicationOrganId != ''">
or ( t.application_organ_id = #{applicationOrganId} AND t.identity_type=1
<!--暂时改为可以查询到生成裁决书之前所有的案件状态-->
and (t.case_status &lt;= 10 or t.case_status=31))
</if>
<!--部门长-->
<if test="deptHeadStatus != null and deptHeadStatus.size() > 0">
or (t.identity_type=1 and t.case_status in
<foreach item="caseStatus" collection="deptHeadStatus" open="(" separator="," close=")">#{caseStatus}
</foreach>)
</if>
<!--财务-->
<if test="financeStatus != null and financeStatus != ''">
or (t.identity_type=1 and t.case_status =#{financeStatus})
</if>
<!--代理人-->
<if test="agentDeptIds != null and agentDeptIds.size()>0">
or (
t.application_organ_id in
<foreach item="deptId" collection="agentDeptIds" open="(" separator="," close=")">#{deptId}
</foreach>
AND t.identity_type=1
and t.case_status in (0,9))
</if>
</where>
) t1
order by t1.create_time desc,t1.case_num desc
</select>
<select id="selectTodoCountByRole" resultType="com.ruoyi.wisdomarbitrate.domain.vo.ToDoCount">
select sum( case when t1.case_status=0 then 1 else 0 end) caseApply,
sum( case when t1.case_status=1 then 1 else 0 end) caseApplyCheck,
@@ -805,7 +697,7 @@
) t1
</select>
<select id="selectAdminCaseApplicationList" parameterType="CaseApplication" resultMap="CaseApplicationResult">
<select id="selectAdminCaseApplicationList" parameterType="com.ruoyi.wisdomarbitrate.domain.CaseApplication" resultMap="CaseApplicationResult">
select DISTINCT(c.id) id,0 as pendingStatus,c.case_num ,c.case_subject_amount ,c.register_date ,c.arbitrat_method ,
CASE c.arbitrat_method when 1 then '开庭审理' when 2 then '书面审理'
ELSE '无审理方式'
@@ -860,7 +752,7 @@
order by c.case_num desc
</select>
<select id="selectAdminCaseApplicationListBatch" parameterType="CaseApplication" resultMap="CaseApplicationResult">
<select id="selectAdminCaseApplicationListBatch" parameterType="com.ruoyi.wisdomarbitrate.domain.CaseApplication" resultMap="CaseApplicationResult">
SELECT DISTINCT c.batch_number ,c.arbitrat_method ,c.arbitrator_name ,
c.arbitrator_id ,a.identity_type ,a.name ,a.application_organ_id as applicationOrganId,
a.application_organ_name as applicantName,
@@ -879,7 +771,7 @@
order by c.batch_number desc
</select>
<select id="selectAdminCaseApplicationListBatch1" parameterType="CaseApplication" resultMap="CaseApplicationResult">
<select id="selectAdminCaseApplicationListBatch1" parameterType="com.ruoyi.wisdomarbitrate.domain.CaseApplication" resultMap="CaseApplicationResult">
SELECT DISTINCT t1.batch_number ,t1.arbitrat_method ,t1.arbitrator_name ,
t1.arbitrator_id ,t1.identity_type ,t1.name ,t1.applicationOrganId ,
t1.applicantName,t1.arbitratMethodName
@@ -1039,7 +931,7 @@
</select>
<select id="selectCaseApplicationCount" parameterType="CaseApplication" resultType="int">
<select id="selectCaseApplicationCount" parameterType="com.ruoyi.wisdomarbitrate.domain.CaseApplication" resultType="int">
select count(1) from case_application c
<where>
<if test="caseNum != null and caseNum != ''">
@@ -1047,7 +939,7 @@
</if>
</where>
</select>
<insert id="insertCaseApplication" parameterType="CaseApplication" useGeneratedKeys="true" keyProperty="id">
<insert id="insertCaseApplication" parameterType="com.ruoyi.wisdomarbitrate.domain.CaseApplication" useGeneratedKeys="true" keyProperty="id">
insert into case_application(
<if test="id != null">id ,</if>
<if test="caseName != null and caseName != ''">case_name ,</if>
@@ -1195,7 +1087,7 @@
</foreach>;
</insert>
<update id="updataCaseApplication" parameterType="CaseApplication">
<update id="updataCaseApplication" parameterType="com.ruoyi.wisdomarbitrate.domain.CaseApplication">
update case_application
<set>
<if test="caseSubjectAmount != null">case_subject_amount = #{caseSubjectAmount},</if>
@@ -1238,7 +1130,7 @@
where id = #{id}
</update>
<update id="submitCaseApplication" parameterType="CaseApplication">
<update id="submitCaseApplication" parameterType="com.ruoyi.wisdomarbitrate.domain.CaseApplication">
update case_application
<set>
<if test="caseStatus != null">case_status = #{caseStatus},</if>
@@ -1290,7 +1182,7 @@
update case_application set version = #{version} where id = #{id}
</update>
<delete id="deletecaseApplication" parameterType="CaseApplication">
<delete id="deletecaseApplication" parameterType="com.ruoyi.wisdomarbitrate.domain.CaseApplication">
delete from case_application where id = #{id}
</delete>
<delete id="batchDeletecaseApplication">
@@ -1316,7 +1208,7 @@
</foreach>;
</delete>
<select id="selectCaseApplication" parameterType="CaseApplication" resultMap="CaseApplicationResult">
<select id="selectCaseApplication" parameterType="com.ruoyi.wisdomarbitrate.domain.CaseApplication" resultMap="CaseApplicationResult">
select c.id ,c.case_num ,c.case_subject_amount ,c.register_date ,c.arbitrat_method ,
CASE c.arbitrat_method when 1 then '开庭审理' when 2 then '书面审理'
ELSE '无审理方式'
@@ -1394,7 +1286,7 @@
</if>
</where>
</select>
<select id="selectCaseApplicationConfirm" parameterType="CaseApplication" resultMap="CaseApplicationResult">
<select id="selectCaseApplicationConfirm" parameterType="com.ruoyi.wisdomarbitrate.domain.CaseApplication" resultMap="CaseApplicationResult">
select c.id ,c.case_num ,c.case_subject_amount ,c.register_date ,c.arbitrat_method ,
CASE c.arbitrat_method when 1 then '开庭审理' when 2 then '书面审理'
ELSE '无审理方式'