优化查询流程

This commit is contained in:
qitz
2024-02-20 17:22:44 +08:00
parent e6160f71d4
commit 32db41e641
5 changed files with 45 additions and 19 deletions
@@ -25,6 +25,7 @@ import com.ruoyi.common.utils.SmsUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.file.SaaSAPIFileUtils;
import com.ruoyi.system.domain.entity.flow.MsCaseFlow;
import com.ruoyi.system.domain.vo.flow.MsCaseFlowVO;
import com.ruoyi.system.mapper.SysUserMapper;
import com.ruoyi.system.mapper.flow.MsCaseFlowMapper;
import com.ruoyi.wisdomarbitrate.domain.dto.dept.DeptIdentify;
@@ -451,27 +452,31 @@ public class MsSignSealServiceImpl implements MsSignSealService {
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);
// MsCaseLogRecord caseLogRecord = new MsCaseLogRecord();
// caseLogRecord.setCaseAppliId(id);
List<MsCaseLogRecordVO> records = caseLogRecordMapper.selectCaseLogRecordListCaseProgress(dto.getCaseId());
MsCaseApplication caseApplicationselect = msCaseApplicationMapper.selectByPrimaryKey(id);
Integer caseFlowId = caseApplicationselect.getCaseFlowId();
MsCaseFlow msCaseFlow = caseFlowMapper.selectByPrimaryKey(caseFlowId);
CaseLogRecord caseLogRecordin = new CaseLogRecord();
caseLogRecordin.setCaseNodeName(msCaseFlow.getNodeName());
List<MsCaseFlowVO> msCaseFlowvos = caseFlowMapper.selectFlowRole(caseFlowId);
String nodeName = "";
if(msCaseFlow!=null){
nodeName = msCaseFlow.getNodeName();
StringBuilder roleIn = new StringBuilder();
for(MsCaseFlowVO mscaseFlowVO:msCaseFlowvos){
roleIn.append( mscaseFlowVO.getRoleName()+"正在进行"+mscaseFlowVO.getNodeName()+";");
}
CaseLogRecord caseLogRecordin = getInCasenode(nodeName);
caseLogRecordin.setContent(roleIn.toString().substring(0,roleIn.toString().length()-1));
// 根据流程id查找下一个流程节点
MsCaseFlow nextFlow = caseFlowMapper.nextFlow(caseApplicationselect.getCaseFlowId());
String nodeName1 = "";
if(nextFlow!=null){
nodeName1 = nextFlow.getNodeName();
MsCaseFlow nextFlow = caseFlowMapper.nextFlow(caseFlowId);
List<MsCaseFlowVO> nextMsCaseFlowvo = caseFlowMapper.selectFlowRole(nextFlow.getId());
StringBuilder roleIn1 = new StringBuilder();
for(MsCaseFlowVO mscaseFlowVO:nextMsCaseFlowvo){
roleIn1.append( mscaseFlowVO.getRoleName()+";");
}
CaseLogRecord caseLogRecordnext = getNextRole(nodeName1);
caseLogRecordin.setNextRoleName(caseLogRecordnext.getNextRoleName());
caseLogRecordin.setNextRoleName("下一节点角色:"+roleIn1.toString().substring(0,roleIn1.toString().length()-1));
MsCaseLogRecordVO msCaseLogRecordVO = new MsCaseLogRecordVO();
BeanUtil.copyProperties(caseLogRecordin, msCaseLogRecordVO);
List<MsCaseLogRecordVO> caseLogRecordsin = new ArrayList<>();
@@ -481,14 +486,22 @@ public class MsSignSealServiceImpl implements MsSignSealService {
List<MsCaseLogRecordVO> caseLogRecordsnext = new ArrayList<>();
if (nextFlowall != null && nextFlowall.size() > 0) {
for (MsCaseFlow msCaseFlow1 : nextFlowall) {
caseLogRecordsnext.add(getNextCaseLogRecord(msCaseFlow1.getNodeName()));
}
}
List<MsCaseFlowVO> msCaseFlowVOs = caseFlowMapper.selectFlowRole(msCaseFlow1.getId());
MsCaseLogRecordVO caseLogRecord1 = new MsCaseLogRecordVO();
caseLogRecord1.setCaseNodeName(msCaseFlowVOs.get(0).getNodeName());
StringBuilder rolenext = new StringBuilder();
for(MsCaseFlowVO mscaseFlowVO:msCaseFlowVOs){
rolenext.append( mscaseFlowVO.getRoleName()+"将进行"+mscaseFlowVO.getNodeName()+";");
}
caseLogRecord1.setContent( rolenext.toString().substring(0,rolenext.toString().length()-1));
caseLogRecordsnext.add(caseLogRecord1);
}
}
datas.put("finishCasenode", records);
datas.put("inCasenode", caseLogRecordsin);
datas.put("nextCasenode", caseLogRecordsnext);
return success(datas);
}