表头自定义修改默认表头

This commit is contained in:
高嵩
2023-02-13 14:18:37 +08:00
parent 25370a0857
commit 0df1e1f707
@@ -8,6 +8,7 @@ import com.jero.modules.head.enums.AffirmFlagEnum;
import com.jero.modules.head.mapper.HeadCustomEOMapper; import com.jero.modules.head.mapper.HeadCustomEOMapper;
import com.jero.modules.head.service.IHeadCustomEOService; import com.jero.modules.head.service.IHeadCustomEOService;
import com.jero.modules.head.vo.HeadCustomVO; import com.jero.modules.head.vo.HeadCustomVO;
import net.sf.saxon.functions.ConstantFunction;
import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils; import org.apache.shiro.SecurityUtils;
@@ -41,11 +42,11 @@ public class HeadCustomEOServiceImpl extends ServiceImpl<HeadCustomEOMapper, Hea
*/ */
@Override @Override
public void add(List<HeadCustomEO> headCustomEOList) { public void add(List<HeadCustomEO> headCustomEOList) {
if(ObjectUtils.isNotEmpty(headCustomEOList)){ if (ObjectUtils.isNotEmpty(headCustomEOList)) {
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
//先删除再新增 //先删除再新增
LambdaQueryWrapper<HeadCustomEO> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<HeadCustomEO> wrapper = new LambdaQueryWrapper<>();
wrapper.in(HeadCustomEO::getCreateBy,loginUser.getUsername()).in(HeadCustomEO::getModuleFlag,headCustomEOList.get(0).getModuleFlag()); wrapper.in(HeadCustomEO::getCreateBy, loginUser.getUsername()).in(HeadCustomEO::getModuleFlag, headCustomEOList.get(0).getModuleFlag());
this.remove(wrapper); this.remove(wrapper);
//一级标题 //一级标题
@@ -64,7 +65,7 @@ public class HeadCustomEOServiceImpl extends ServiceImpl<HeadCustomEOMapper, Hea
List<HeadCustomEO> verify = twoList.stream().filter(e -> AffirmFlagEnum.VERIFY_FLAG.getValue().equals(e.getAffirmFlag())).collect(Collectors.toList()); List<HeadCustomEO> verify = twoList.stream().filter(e -> AffirmFlagEnum.VERIFY_FLAG.getValue().equals(e.getAffirmFlag())).collect(Collectors.toList());
Collections.sort(verify); Collections.sort(verify);
if(ObjectUtils.isNotEmpty(design)){ if (ObjectUtils.isNotEmpty(design)) {
HeadCustomEO headCustomEO = new HeadCustomEO(); HeadCustomEO headCustomEO = new HeadCustomEO();
headCustomEO.setHeadFieldCn(AffirmFlagEnum.DESIGN_FLAG.getName()); headCustomEO.setHeadFieldCn(AffirmFlagEnum.DESIGN_FLAG.getName());
headCustomEO.setHeadFieldEn(AffirmFlagEnum.DESIGN_FLAG.getNameEn()); headCustomEO.setHeadFieldEn(AffirmFlagEnum.DESIGN_FLAG.getNameEn());
@@ -73,7 +74,7 @@ public class HeadCustomEOServiceImpl extends ServiceImpl<HeadCustomEOMapper, Hea
headCustomEO.setChildren(design); headCustomEO.setChildren(design);
oneList.add(headCustomEO); oneList.add(headCustomEO);
} }
if(ObjectUtils.isNotEmpty(affirm)){ if (ObjectUtils.isNotEmpty(affirm)) {
HeadCustomEO headCustomEO = new HeadCustomEO(); HeadCustomEO headCustomEO = new HeadCustomEO();
headCustomEO.setHeadFieldCn(AffirmFlagEnum.AFFIRM_FLAG.getName()); headCustomEO.setHeadFieldCn(AffirmFlagEnum.AFFIRM_FLAG.getName());
headCustomEO.setHeadFieldEn(AffirmFlagEnum.AFFIRM_FLAG.getNameEn()); headCustomEO.setHeadFieldEn(AffirmFlagEnum.AFFIRM_FLAG.getNameEn());
@@ -82,7 +83,7 @@ public class HeadCustomEOServiceImpl extends ServiceImpl<HeadCustomEOMapper, Hea
headCustomEO.setChildren(affirm); headCustomEO.setChildren(affirm);
oneList.add(headCustomEO); oneList.add(headCustomEO);
} }
if(ObjectUtils.isNotEmpty(verify)){ if (ObjectUtils.isNotEmpty(verify)) {
HeadCustomEO headCustomEO = new HeadCustomEO(); HeadCustomEO headCustomEO = new HeadCustomEO();
headCustomEO.setHeadFieldCn(AffirmFlagEnum.VERIFY_FLAG.getName()); headCustomEO.setHeadFieldCn(AffirmFlagEnum.VERIFY_FLAG.getName());
headCustomEO.setHeadFieldEn(AffirmFlagEnum.VERIFY_FLAG.getNameEn()); headCustomEO.setHeadFieldEn(AffirmFlagEnum.VERIFY_FLAG.getNameEn());
@@ -99,7 +100,7 @@ public class HeadCustomEOServiceImpl extends ServiceImpl<HeadCustomEOMapper, Hea
HeadCustomEO headCustomEOTemp = getHeadCustomEO(loginUser, headCustomEO, id); HeadCustomEO headCustomEOTemp = getHeadCustomEO(loginUser, headCustomEO, id);
headCustomEOS.add(headCustomEOTemp); headCustomEOS.add(headCustomEOTemp);
//二级标题 //二级标题
if(ObjectUtils.isNotEmpty(headCustomEO.getChildren())){ if (ObjectUtils.isNotEmpty(headCustomEO.getChildren())) {
for (HeadCustomEO child : headCustomEO.getChildren()) { for (HeadCustomEO child : headCustomEO.getChildren()) {
String idTemp = UUID.randomUUID().toString().replace("-", ""); String idTemp = UUID.randomUUID().toString().replace("-", "");
HeadCustomEO customEO = getHeadCustomEO(loginUser, child, idTemp); HeadCustomEO customEO = getHeadCustomEO(loginUser, child, idTemp);
@@ -108,7 +109,7 @@ public class HeadCustomEOServiceImpl extends ServiceImpl<HeadCustomEOMapper, Hea
} }
} }
} }
if(ObjectUtils.isNotEmpty(headCustomEOS)){ if (ObjectUtils.isNotEmpty(headCustomEOS)) {
this.saveBatch(headCustomEOS); this.saveBatch(headCustomEOS);
} }
} }
@@ -212,13 +213,13 @@ public class HeadCustomEOServiceImpl extends ServiceImpl<HeadCustomEOMapper, Hea
* @return * @return
*/ */
@Override @Override
public List<HeadCustomVO> queryList(String cut,String moduleFlag) { public List<HeadCustomVO> queryList(String cut, String moduleFlag) {
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
LambdaQueryWrapper<HeadCustomEO> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<HeadCustomEO> wrapper = new LambdaQueryWrapper<>();
wrapper.in(HeadCustomEO::getCreateBy,loginUser.getUsername()).in(HeadCustomEO::getModuleFlag,moduleFlag); wrapper.in(HeadCustomEO::getCreateBy, loginUser.getUsername()).in(HeadCustomEO::getModuleFlag, moduleFlag);
List<HeadCustomEO> list = this.list(wrapper); List<HeadCustomEO> list = this.list(wrapper);
List<HeadCustomVO> headCustomVOOneList = new LinkedList<>(); List<HeadCustomVO> headCustomVOOneList = new LinkedList<>();
if(ObjectUtils.isNotEmpty(list)){ if (ObjectUtils.isNotEmpty(list)) {
//列表表头一级 //列表表头一级
List<HeadCustomEO> oneList = list.stream() List<HeadCustomEO> oneList = list.stream()
.filter(e -> StringUtils.isBlank(e.getAffirmFlag())).collect(Collectors.toList()); .filter(e -> StringUtils.isBlank(e.getAffirmFlag())).collect(Collectors.toList());
@@ -228,7 +229,7 @@ public class HeadCustomEOServiceImpl extends ServiceImpl<HeadCustomEOMapper, Hea
Collections.sort(oneList); Collections.sort(oneList);
for (HeadCustomEO headCustomEO : oneList) { for (HeadCustomEO headCustomEO : oneList) {
HeadCustomVO headCustomVO = new HeadCustomVO(); HeadCustomVO headCustomVO = new HeadCustomVO();
if(ObjectUtils.isNotEmpty(twoList)){ if (ObjectUtils.isNotEmpty(twoList)) {
List<HeadCustomEO> two = twoList.stream() List<HeadCustomEO> two = twoList.stream()
.filter(e -> headCustomEO.getId().equals(e.getParentId())).collect(Collectors.toList()); .filter(e -> headCustomEO.getId().equals(e.getParentId())).collect(Collectors.toList());
Collections.sort(two); Collections.sort(two);
@@ -238,34 +239,98 @@ public class HeadCustomEOServiceImpl extends ServiceImpl<HeadCustomEOMapper, Hea
getHeadCustomVO(cut, customEO, headCustomVOTemp); getHeadCustomVO(cut, customEO, headCustomVOTemp);
headCustomVOTwoList.add(headCustomVOTemp); headCustomVOTwoList.add(headCustomVOTemp);
} }
if(ObjectUtils.isNotEmpty(headCustomVOTwoList)){ if (ObjectUtils.isNotEmpty(headCustomVOTwoList)) {
headCustomVO.setChildren(headCustomVOTwoList); headCustomVO.setChildren(headCustomVOTwoList);
} }
} }
getHeadCustomVO(cut, headCustomEO,headCustomVO); getHeadCustomVO(cut, headCustomEO, headCustomVO);
headCustomVOOneList.add(headCustomVO); headCustomVOOneList.add(headCustomVO);
} }
} }
return headCustomVOOneList;
List<HeadCustomVO> res = new ArrayList<>();
if ("法规清单".equals(moduleFlag) || "虚拟清单详情".equals(moduleFlag) || "维护清单".equals(moduleFlag)) {
res = checkDefaultHead(headCustomVOOneList, cut, moduleFlag);
} else {
res = headCustomVOOneList;
}
return res;
}
/**
* 检查默认表头,如果不存在则添加进列表
*/
private List<HeadCustomVO> checkDefaultHead(List<HeadCustomVO> headCustomVOOneList, String cut, String moduleFlag) {
List<HeadCustomVO> res = new ArrayList<>();
//编号,标题,操作
boolean hasBH = false;
boolean hasBT = false;
boolean hasCZ = false;
for (HeadCustomVO hcVO : headCustomVOOneList) {
if ("编号".equals(hcVO.getTitle()) || "Number".equals(hcVO.getTitle())) {
hasBH = true;
}
if ("标题".equals(hcVO.getTitle())) {
hasBT = true;
}
if ("操作".equals(hcVO.getTitle())) {
hasCZ = true;
}
}
if (!hasBH) {
HeadCustomVO bh = new HeadCustomVO();
bh.setDataIndex("serialNumber");
if (CutEnum.CN.getValue().equals(cut)) {
bh.setTitle("编号");
} else {
bh.setTitle("Number");
}
bh.setFixed("left");
res.add(bh);
}
if (!hasBT) {
HeadCustomVO bt = new HeadCustomVO();
bt.setDataIndex("title");
if (CutEnum.CN.getValue().equals(cut)) {
bt.setTitle("标题");
} else {
bt.setTitle("title");
}
bt.setFixed("left");
res.add(bt);
}
res.addAll(headCustomVOOneList);
if (!hasCZ) {
HeadCustomVO cz = new HeadCustomVO();
cz.setDataIndex("operation");
if (CutEnum.CN.getValue().equals(cut)) {
cz.setTitle("操作");
} else {
cz.setTitle("Operation");
}
cz.setFixed("right");
res.add(cz);
}
return res;
} }
@NotNull @NotNull
private HeadCustomVO getHeadCustomVO(String cut, HeadCustomEO headCustomEO,HeadCustomVO headCustomVO) { private HeadCustomVO getHeadCustomVO(String cut, HeadCustomEO headCustomEO, HeadCustomVO headCustomVO) {
headCustomVO.setDataIndex(headCustomEO.getField()); headCustomVO.setDataIndex(headCustomEO.getField());
if(CutEnum.CN.getValue().equals(cut)){ if (CutEnum.CN.getValue().equals(cut)) {
headCustomVO.setTitle(headCustomEO.getHeadFieldCn()); headCustomVO.setTitle(headCustomEO.getHeadFieldCn());
}else{ } else {
headCustomVO.setTitle(headCustomEO.getHeadFieldEn()); headCustomVO.setTitle(headCustomEO.getHeadFieldEn());
} }
//每个功能模块列表表头固定的列可能不相同,所以需要单独处理(后期变更的时候继续维护此处即可) //每个功能模块列表表头固定的列可能不相同,所以需要单独处理(后期变更的时候继续维护此处即可)
if("法规清单".equals(headCustomEO.getModuleFlag())){ if ("法规清单".equals(headCustomEO.getModuleFlag())) {
if("编号".equals(headCustomEO.getHeadFieldCn())){ if ("编号".equals(headCustomEO.getHeadFieldCn())) {
headCustomVO.setFixed("left"); headCustomVO.setFixed("left");
} }
if("标题".equals(headCustomEO.getHeadFieldCn())){ if ("标题".equals(headCustomEO.getHeadFieldCn())) {
headCustomVO.setFixed("left"); headCustomVO.setFixed("left");
} }
if("操作".equals(headCustomEO.getHeadFieldCn())){ if ("操作".equals(headCustomEO.getHeadFieldCn())) {
headCustomVO.setFixed("right"); headCustomVO.setFixed("right");
} }
} }