实现查看流程
This commit is contained in:
+7
@@ -5,6 +5,9 @@ import com.ruoyi.common.exception.EsignDemoException;
|
||||
import com.ruoyi.wisdomarbitrate.domain.dto.mscase.MsSignSealDTO;
|
||||
import com.ruoyi.wisdomarbitrate.domain.dto.mscase.SealSignRecord;
|
||||
import com.ruoyi.wisdomarbitrate.domain.vo.mscase.MsCaseApplicationVO;
|
||||
import com.ruoyi.wisdomarbitrate.domain.vo.mscase.MsCaseLogRecordVO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface MsSignSealService {
|
||||
|
||||
@@ -16,4 +19,8 @@ public interface MsSignSealService {
|
||||
|
||||
SealSignRecord selectSealUrl(MsSignSealDTO dto) throws EsignDemoException;
|
||||
|
||||
AjaxResult selectCaseProgress(MsSignSealDTO dto);
|
||||
|
||||
List<MsCaseLogRecordVO> selectCaseLogRecordList(MsSignSealDTO dto);
|
||||
|
||||
}
|
||||
|
||||
+279
-6
@@ -2,6 +2,8 @@ package com.ruoyi.wisdomarbitrate.service.mscase.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.date.DatePattern;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
@@ -21,20 +23,20 @@ import com.ruoyi.system.domain.entity.flow.MsCaseFlow;
|
||||
import com.ruoyi.system.mapper.flow.MsCaseFlowMapper;
|
||||
import com.ruoyi.wisdomarbitrate.domain.dto.dept.DeptIdentify;
|
||||
import com.ruoyi.wisdomarbitrate.domain.dto.dept.SealManage;
|
||||
import com.ruoyi.wisdomarbitrate.domain.dto.mscase.CaseLogRecord;
|
||||
import com.ruoyi.wisdomarbitrate.domain.dto.mscase.MsSignSealDTO;
|
||||
import com.ruoyi.wisdomarbitrate.domain.dto.mscase.SealSignRecord;
|
||||
import com.ruoyi.wisdomarbitrate.domain.entity.dept.MsSealSignRecord;
|
||||
import com.ruoyi.wisdomarbitrate.domain.entity.mscase.MsCaseAffiliate;
|
||||
import com.ruoyi.wisdomarbitrate.domain.entity.mscase.MsCaseApplication;
|
||||
import com.ruoyi.wisdomarbitrate.domain.entity.mscase.MsCaseAttach;
|
||||
import com.ruoyi.wisdomarbitrate.domain.entity.mscase.MsCasePaymentRecord;
|
||||
import com.ruoyi.wisdomarbitrate.domain.entity.mscase.*;
|
||||
import com.ruoyi.wisdomarbitrate.domain.vo.mscase.MsCaseApplicationVO;
|
||||
import com.ruoyi.wisdomarbitrate.domain.vo.mscase.MsCaseLogRecordVO;
|
||||
import com.ruoyi.wisdomarbitrate.mapper.dept.DeptIdentifyMapper;
|
||||
import com.ruoyi.wisdomarbitrate.mapper.dept.MsSealSignRecordMapper;
|
||||
import com.ruoyi.wisdomarbitrate.mapper.dept.SealManageMapper;
|
||||
import com.ruoyi.wisdomarbitrate.mapper.mscase.MsCaseAffiliateMapper;
|
||||
import com.ruoyi.wisdomarbitrate.mapper.mscase.MsCaseApplicationMapper;
|
||||
import com.ruoyi.wisdomarbitrate.mapper.mscase.MsCaseAttachMapper;
|
||||
import com.ruoyi.wisdomarbitrate.mapper.mscase.MsCaseLogRecordMapper;
|
||||
import com.ruoyi.wisdomarbitrate.service.mscase.MsCaseApplicationService;
|
||||
import com.ruoyi.wisdomarbitrate.service.mscase.MsSignSealService;
|
||||
import com.ruoyi.wisdomarbitrate.utils.CaseLogUtils;
|
||||
@@ -45,10 +47,11 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
import tk.mybatis.mapper.entity.Example;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static com.ruoyi.common.core.domain.AjaxResult.success;
|
||||
|
||||
@Service
|
||||
public class MsSignSealServiceImpl implements MsSignSealService {
|
||||
|
||||
@@ -73,6 +76,9 @@ public class MsSignSealServiceImpl implements MsSignSealService {
|
||||
@Autowired
|
||||
private MsCaseApplicationMapper caseApplicationMapper;
|
||||
|
||||
@Autowired
|
||||
private MsCaseLogRecordMapper caseLogRecordMapper;
|
||||
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
@@ -373,6 +379,273 @@ public class MsSignSealServiceImpl implements MsSignSealService {
|
||||
return sealSignRecordReslt;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AjaxResult selectCaseProgress(MsSignSealDTO dto) {
|
||||
Map<String, Object> datas = new HashMap<>();
|
||||
Long id = dto.getCaseId();
|
||||
MsCaseLogRecord caseLogRecord = new MsCaseLogRecord();
|
||||
caseLogRecord.setCaseAppliId(id);
|
||||
List<MsCaseLogRecordVO> records = caseLogRecordMapper.selectCaseLogRecordList(caseLogRecord);
|
||||
MsCaseApplication caseApplicationselect = msCaseApplicationMapper.selectByPrimaryKey(id);
|
||||
Integer caseFlowId = caseApplicationselect.getCaseFlowId();
|
||||
MsCaseFlow msCaseFlow = caseFlowMapper.selectByPrimaryKey(caseFlowId);
|
||||
|
||||
String nodeName = "";
|
||||
if(msCaseFlow!=null){
|
||||
nodeName = msCaseFlow.getNodeName();
|
||||
}
|
||||
CaseLogRecord caseLogRecordin = getInCasenode(nodeName);
|
||||
|
||||
// 根据流程id查找下一个流程节点
|
||||
MsCaseFlow nextFlow = caseFlowMapper.nextFlow(caseApplicationselect.getCaseFlowId());
|
||||
String nodeName1 = "";
|
||||
if(nextFlow!=null){
|
||||
nodeName1 = nextFlow.getNodeName();
|
||||
}
|
||||
CaseLogRecord caseLogRecordnext = getNextRole(nodeName1);
|
||||
caseLogRecordin.setNextRoleName(caseLogRecordnext.getNextRoleName());
|
||||
MsCaseLogRecordVO msCaseLogRecordVO = new MsCaseLogRecordVO();
|
||||
BeanUtil.copyProperties(caseLogRecordin, msCaseLogRecordVO);
|
||||
List<MsCaseLogRecordVO> caseLogRecordsin = new ArrayList<>();
|
||||
caseLogRecordsin.add(msCaseLogRecordVO);
|
||||
|
||||
List<MsCaseFlow> nextFlowall = caseFlowMapper.nextFlowall(caseApplicationselect.getCaseFlowId());
|
||||
List<MsCaseLogRecordVO> caseLogRecordsnext = new ArrayList<>();
|
||||
if (nextFlowall != null && nextFlowall.size() > 0) {
|
||||
for (MsCaseFlow msCaseFlow1 : nextFlowall) {
|
||||
caseLogRecordsnext.add(getNextCaseLogRecord(msCaseFlow1.getNodeName()));
|
||||
}
|
||||
}
|
||||
|
||||
datas.put("finishCasenode", records);
|
||||
datas.put("inCasenode", caseLogRecordsin);
|
||||
datas.put("nextCasenode", caseLogRecordsnext);
|
||||
|
||||
return success(datas);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<MsCaseLogRecordVO> selectCaseLogRecordList(MsSignSealDTO dto) {
|
||||
Long id = dto.getCaseId();
|
||||
MsCaseLogRecord caseLogRecord = new MsCaseLogRecord();
|
||||
caseLogRecord.setCaseAppliId(id);
|
||||
List<MsCaseLogRecordVO> records = caseLogRecordMapper.selectCaseLogRecordList(caseLogRecord);
|
||||
if(CollectionUtil.isNotEmpty(records)){
|
||||
records.forEach(record->{
|
||||
StringBuilder contentBuilder = new StringBuilder();
|
||||
String caseNodeTime="";
|
||||
if(record.getCaseNodeTime()!=null){
|
||||
caseNodeTime= DateUtil.format(record.getCaseNodeTime(), DatePattern.NORM_DATETIME_FORMATTER);
|
||||
}
|
||||
|
||||
contentBuilder.append(Optional.ofNullable(record.getCreateNickName()).orElse("")).append("(").append(record.getCreateBy()).append(")").append("于").append(caseNodeTime);
|
||||
if(StrUtil.isNotEmpty(record.getContent())){
|
||||
contentBuilder.append(record.getContent());
|
||||
}
|
||||
if(StrUtil.isNotEmpty(record.getNotes())){
|
||||
contentBuilder.append(",").append(record.getNotes());
|
||||
}
|
||||
record.setContent(contentBuilder.toString());
|
||||
|
||||
});
|
||||
}
|
||||
return records;
|
||||
}
|
||||
|
||||
|
||||
private MsCaseLogRecordVO getNextCaseLogRecord(String nodeName) {
|
||||
MsCaseLogRecordVO caseLogRecord = new MsCaseLogRecordVO();
|
||||
switch (nodeName) {
|
||||
case "提交案件":
|
||||
caseLogRecord.setCaseNodeName("提交案件");
|
||||
caseLogRecord.setContent("申请人将进行提交案件");
|
||||
break;
|
||||
case "缴费":
|
||||
caseLogRecord.setCaseNodeName("缴费");
|
||||
caseLogRecord.setContent("申请人将进行缴费");
|
||||
break;
|
||||
case "确认缴费":
|
||||
caseLogRecord.setCaseNodeName("确认缴费");
|
||||
caseLogRecord.setContent("财务将进行确认缴费");
|
||||
break;
|
||||
case "受理分配":
|
||||
caseLogRecord.setCaseNodeName("受理分配");
|
||||
caseLogRecord.setContent("法律顾问将进行受理分配");
|
||||
break;
|
||||
case "选择调解员":
|
||||
caseLogRecord.setCaseNodeName("选择调解员");
|
||||
caseLogRecord.setContent("申请人将进行选择调解员");
|
||||
break;
|
||||
case "核实调解员":
|
||||
caseLogRecord.setCaseNodeName("核实调解员");
|
||||
caseLogRecord.setContent("法律顾问将进行核实调解员");
|
||||
break;
|
||||
case "确认调解员":
|
||||
caseLogRecord.setCaseNodeName("确认调解员");
|
||||
caseLogRecord.setContent("部门长将进行确认调解员");
|
||||
break;
|
||||
case "确定调解时间":
|
||||
caseLogRecord.setCaseNodeName("确定调解时间");
|
||||
caseLogRecord.setContent("法律顾问将进行确定调解时间");
|
||||
break;
|
||||
case "调解":
|
||||
caseLogRecord.setCaseNodeName("调解");
|
||||
caseLogRecord.setContent("法律顾问将进行调解");
|
||||
break;
|
||||
case "确认调解书":
|
||||
caseLogRecord.setCaseNodeName("确认调解书");
|
||||
caseLogRecord.setContent("申请人、被申请人将进行确认调解书");
|
||||
break;
|
||||
case "签名":
|
||||
caseLogRecord.setCaseNodeName("签名");
|
||||
caseLogRecord.setContent("申请人、被申请人将进行签名");
|
||||
break;
|
||||
case "用印申请":
|
||||
caseLogRecord.setCaseNodeName("用印申请");
|
||||
caseLogRecord.setContent("法律顾问将进行用印申请");
|
||||
break;
|
||||
case "用印":
|
||||
caseLogRecord.setCaseNodeName("用印");
|
||||
caseLogRecord.setContent("部门长将进行用印");
|
||||
break;
|
||||
case "归档":
|
||||
caseLogRecord.setCaseNodeName("归档");
|
||||
caseLogRecord.setContent("法律顾问将进行提交归档");
|
||||
break;
|
||||
case "签收":
|
||||
caseLogRecord.setCaseNodeName("签收");
|
||||
caseLogRecord.setContent("申请人、被申请人将进行签收");
|
||||
break;
|
||||
default:
|
||||
caseLogRecord.setNextRoleName("没有下一节点角色");
|
||||
|
||||
}
|
||||
return caseLogRecord;
|
||||
}
|
||||
|
||||
private CaseLogRecord getNextRole(String nodeName) {
|
||||
CaseLogRecord caseLogRecord = new CaseLogRecord();
|
||||
switch (nodeName) {
|
||||
case "提交案件":
|
||||
caseLogRecord.setNextRoleName("下一节点角色:申请人");
|
||||
break;
|
||||
case "缴费":
|
||||
caseLogRecord.setNextRoleName("下一节点角色:申请人");
|
||||
break;
|
||||
case "确认缴费":
|
||||
caseLogRecord.setNextRoleName("下一节点角色:财务");
|
||||
break;
|
||||
case "受理分配":
|
||||
caseLogRecord.setNextRoleName("下一节点角色:法律顾问");
|
||||
break;
|
||||
case "选择调解员":
|
||||
caseLogRecord.setNextRoleName("下一节点角色:申请人、被申请人");
|
||||
break;
|
||||
case "核实调解员":
|
||||
caseLogRecord.setNextRoleName("下一节点角色:法律顾问");
|
||||
break;
|
||||
case "确认调解员":
|
||||
caseLogRecord.setNextRoleName("下一节点角色:部门长");
|
||||
break;
|
||||
case "确定调解时间":
|
||||
caseLogRecord.setNextRoleName("下一节点角色:法律顾问");
|
||||
break;
|
||||
case "调解":
|
||||
caseLogRecord.setNextRoleName("下一节点角色:法律顾问");
|
||||
break;
|
||||
case "确认调解书":
|
||||
caseLogRecord.setNextRoleName("下一节点角色:申请人、被申请人");
|
||||
break;
|
||||
case "签名":
|
||||
caseLogRecord.setNextRoleName("下一节点角色:申请人、被申请人");
|
||||
break;
|
||||
case "用印申请":
|
||||
caseLogRecord.setNextRoleName("下一节点角色:法律顾问");
|
||||
break;
|
||||
case "用印":
|
||||
caseLogRecord.setNextRoleName("下一节点角色:部门长");
|
||||
break;
|
||||
case "归档":
|
||||
caseLogRecord.setNextRoleName("下一节点角色:法律顾问");
|
||||
break;
|
||||
case "签收":
|
||||
caseLogRecord.setNextRoleName("下一节点角色:申请人、被申请人");
|
||||
break;
|
||||
default:
|
||||
caseLogRecord.setNextRoleName("没有下一节点角色");
|
||||
|
||||
}
|
||||
return caseLogRecord;
|
||||
}
|
||||
|
||||
private CaseLogRecord getInCasenode(String nodeName) {
|
||||
CaseLogRecord caseLogRecord = new CaseLogRecord();
|
||||
switch (nodeName) {
|
||||
case "提交案件":
|
||||
caseLogRecord.setCaseNodeName("提交案件");
|
||||
caseLogRecord.setContent("申请人正在进行提交案件");
|
||||
break;
|
||||
case "缴费":
|
||||
caseLogRecord.setCaseNodeName("缴费");
|
||||
caseLogRecord.setContent("申请人正在进行缴费");
|
||||
break;
|
||||
case "确认缴费":
|
||||
caseLogRecord.setCaseNodeName("确认缴费");
|
||||
caseLogRecord.setContent("财务正在进行缴费确认");
|
||||
break;
|
||||
case "受理分配":
|
||||
caseLogRecord.setCaseNodeName("受理分配");
|
||||
caseLogRecord.setContent("法律顾问将进行受理分配");
|
||||
break;
|
||||
case "选择调解员":
|
||||
caseLogRecord.setCaseNodeName("选择调解员");
|
||||
caseLogRecord.setContent("申请人正在进行选择调解员");
|
||||
break;
|
||||
case "核实调解员":
|
||||
caseLogRecord.setCaseNodeName("核实调解员");
|
||||
caseLogRecord.setContent("法律顾问正在进行核实调解员");
|
||||
break;
|
||||
case "确认调解员":
|
||||
caseLogRecord.setCaseNodeName("确认调解员");
|
||||
caseLogRecord.setContent("部门长正在进行确认调解员");
|
||||
break;
|
||||
case "调解":
|
||||
caseLogRecord.setCaseNodeName("调解");
|
||||
caseLogRecord.setContent("法律顾问正在进行调解");
|
||||
break;
|
||||
case "确认调解书":
|
||||
caseLogRecord.setCaseNodeName("确认调解书");
|
||||
caseLogRecord.setContent("申请人、被申请人正在进行确认调解书");
|
||||
break;
|
||||
case "签名":
|
||||
caseLogRecord.setCaseNodeName("签名");
|
||||
caseLogRecord.setContent("申请人、被申请人正在进行签名");
|
||||
break;
|
||||
case "用印申请":
|
||||
caseLogRecord.setCaseNodeName("用印申请");
|
||||
caseLogRecord.setContent("法律顾问正在进行确认用印申请");
|
||||
break;
|
||||
case "用印":
|
||||
caseLogRecord.setCaseNodeName("用印");
|
||||
caseLogRecord.setContent("部门长正在进行用印");
|
||||
break;
|
||||
case "归档":
|
||||
caseLogRecord.setCaseNodeName("归档");
|
||||
caseLogRecord.setContent("法律顾问正在进行归档");
|
||||
break;
|
||||
case "签收":
|
||||
caseLogRecord.setCaseNodeName("签收");
|
||||
caseLogRecord.setContent("申请人、被申请人正在进行签收");
|
||||
break;
|
||||
default:
|
||||
caseLogRecord.setCaseNodeName("无案件状态");
|
||||
caseLogRecord.setContent("无操作内容");
|
||||
|
||||
}
|
||||
return caseLogRecord;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user