案件流程节点排序接口
This commit is contained in:
@@ -223,15 +223,51 @@ public class CaseFlowServiceImpl implements CaseFlowService {
|
|||||||
@Override
|
@Override
|
||||||
public Boolean sortCaseFlow(MsCaseFlowSearchVO caseFlowVO) {
|
public Boolean sortCaseFlow(MsCaseFlowSearchVO caseFlowVO) {
|
||||||
if (caseFlowVO != null && caseFlowVO.getId() != null && caseFlowVO.getSortType() != null) {
|
if (caseFlowVO != null && caseFlowVO.getId() != null && caseFlowVO.getSortType() != null) {
|
||||||
|
//升序查询所有案件流程信息
|
||||||
|
Example example = new Example(MsCaseFlow.class);
|
||||||
|
example.setOrderByClause(" sort ASC");
|
||||||
|
List<MsCaseFlow> msCaseFlows = msCaseFlowMapper.selectByExample(example);
|
||||||
|
if (msCaseFlows == null || msCaseFlows.size() == 0 || msCaseFlows.size() == 1) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
//查找出要调整顺序的这行数据在集合的下标是多少
|
||||||
|
int currentIndex = 0;
|
||||||
|
for (int i = 0; i < msCaseFlows.size(); i++) {
|
||||||
|
if (msCaseFlows.get(i).getId().equals(caseFlowVO.getId())) {
|
||||||
|
currentIndex = i;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
if (caseFlowVO.getSortType() == 0) {
|
if (caseFlowVO.getSortType() == 0) {
|
||||||
//降序
|
//降序(序号加1)
|
||||||
|
if (currentIndex == msCaseFlows.size() - 1) {
|
||||||
|
return false;
|
||||||
|
} else {
|
||||||
|
int nextIndex = currentIndex + 1;
|
||||||
|
MsCaseFlow current = msCaseFlows.get(currentIndex);
|
||||||
|
current.setSort(current.getSort() + 1);
|
||||||
|
MsCaseFlow next = msCaseFlows.get(nextIndex);
|
||||||
|
next.setSort(next.getSort() - 1);
|
||||||
|
msCaseFlowMapper.updateByPrimaryKeySelective(current);
|
||||||
|
msCaseFlowMapper.updateByPrimaryKeySelective(next);
|
||||||
return true;
|
return true;
|
||||||
|
}
|
||||||
} else if (caseFlowVO.getSortType() == 1) {
|
} else if (caseFlowVO.getSortType() == 1) {
|
||||||
//升序
|
//升序(序号减1)
|
||||||
|
if (currentIndex == 0) {
|
||||||
|
return false;
|
||||||
|
} else {
|
||||||
|
int lastIndex = currentIndex - 1;
|
||||||
|
MsCaseFlow current = msCaseFlows.get(currentIndex);
|
||||||
|
current.setSort(current.getSort() - 1);
|
||||||
|
MsCaseFlow last = msCaseFlows.get(lastIndex);
|
||||||
|
last.setSort(last.getSort() + 1);
|
||||||
|
msCaseFlowMapper.updateByPrimaryKeySelective(current);
|
||||||
|
msCaseFlowMapper.updateByPrimaryKeySelective(last);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user