|
@@ -2,6 +2,7 @@ package cn.com.qmth.mps.service.impl;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.HashMap;
|
|
|
+import java.util.HashSet;
|
|
|
import java.util.LinkedHashSet;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
@@ -147,10 +148,34 @@ public class PaperGroupServiceImpl extends ServiceImpl<PaperGroupDao, PaperGroup
|
|
|
}
|
|
|
GroupInfoVo vo = new GroupInfoVo();
|
|
|
vo.setNumber(e.getNumber());
|
|
|
+ List<PaperDetail> pds=paperDetailService.getStructInfo(paperId);
|
|
|
Map<Long, List<PaperGroupUnit>> units = paperGroupUnitService.getGroupInfo(paperId);
|
|
|
- vo.setGroupUnit(units.get(e.getId()));
|
|
|
+ vo.setStructInfo(getGroupInfo(pds,units.get(e.getId())));
|
|
|
return vo;
|
|
|
}
|
|
|
+
|
|
|
+ private List<PaperDetail> getGroupInfo(List<PaperDetail> pds,List<PaperGroupUnit> units){
|
|
|
+ List<PaperDetail> ret=new ArrayList<>();
|
|
|
+ Set<Integer> detailSet=new HashSet<>();
|
|
|
+ Set<String> unitSet=new HashSet<>();
|
|
|
+ for(PaperGroupUnit unit:units) {
|
|
|
+ detailSet.add(unit.getDeatailNumber());
|
|
|
+ unitSet.add(unit.getDeatailNumber()+"-"+unit.getDetailUnitNumber());
|
|
|
+ }
|
|
|
+ for(PaperDetail pd:pds) {
|
|
|
+ if(detailSet.contains(pd.getNumber())) {
|
|
|
+ ret.add(pd);
|
|
|
+ for(PaperDetailUnit u:pd.getUnits()) {
|
|
|
+ if(unitSet.contains(pd.getNumber()+"-"+u.getNumber())) {
|
|
|
+ u.setInGroup(true);
|
|
|
+ }else {
|
|
|
+ u.setInGroup(false);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return ret;
|
|
|
+ }
|
|
|
|
|
|
private PaperGroupEntity getByPaperIdAndNumber(Long paperId, Integer groupNumber) {
|
|
|
QueryWrapper<PaperGroupEntity> wrapper = new QueryWrapper<>();
|