梳理需求的时候发现一个问题:
前景:查询框里是一个下拉框,层级展示机构,选中一个机构进行查询。但是列表展示里有两个:一级行、二级行。
问题:如果选中一级行那么应该展示一级行以及一级行下面的所有二级行:
如果选中二级行,则只展示这个二级行:
问题是不知道将查询条件里面的机构名称赋给一级行还是二级行。如果赋值给一级行,那么查询二级行的时候就没有数据,如果赋值给二级行,那么查询一级行的时候只出现一条数据而不是一级行以及其下属二级行数据。。。
解决:在代码中进行判断:
UserInfoDTO currentUserInfoDto = dispItemCustMidService.getCurrentUserInfoDto();
Obj org = currentUserInfoDto.getOrg();
String currentOrgName = org.getName();
String orgName = (String) model.getCondition().get(DisposalCodeString.ORG_NAME);
model.addCondition(DisposalCodeString.CURRENT_ORG_NAME,currentOrgName);//获取当前登录机构
if (currentOrgName.equals(orgName)){
//查询分行
model.getCondition().put(DisposalCodeString.ORG_NAME,null);
model.addCondition(DisposalCodeString.UP_ORG_NAME,orgName);
}
xml中加上:
#{condition.currentOrgName,jdbcType=VARCHAR } AS UP_ORG_NAME即可。