diff --git a/src/main/java/com/zhgd/xmgl/modules/xz/entity/XzProjectOrg.java b/src/main/java/com/zhgd/xmgl/modules/xz/entity/XzProjectOrg.java index 915e30000..01ac1862c 100644 --- a/src/main/java/com/zhgd/xmgl/modules/xz/entity/XzProjectOrg.java +++ b/src/main/java/com/zhgd/xmgl/modules/xz/entity/XzProjectOrg.java @@ -103,4 +103,7 @@ public class XzProjectOrg implements Serializable { @TableField(exist = false) private List children; + @TableField(exist = false) + private Integer userCount; + } diff --git a/src/main/java/com/zhgd/xmgl/modules/xz/service/IXzProjectOrgService.java b/src/main/java/com/zhgd/xmgl/modules/xz/service/IXzProjectOrgService.java index da46ce06e..242f2cf3f 100644 --- a/src/main/java/com/zhgd/xmgl/modules/xz/service/IXzProjectOrgService.java +++ b/src/main/java/com/zhgd/xmgl/modules/xz/service/IXzProjectOrgService.java @@ -66,4 +66,5 @@ public interface IXzProjectOrgService extends IService { * @return */ IPage treePageList(HashMap paramMap); + } diff --git a/src/main/java/com/zhgd/xmgl/modules/xz/service/impl/XzProjectOrgServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/xz/service/impl/XzProjectOrgServiceImpl.java index 27c45684d..a496cd8f8 100644 --- a/src/main/java/com/zhgd/xmgl/modules/xz/service/impl/XzProjectOrgServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/xz/service/impl/XzProjectOrgServiceImpl.java @@ -17,6 +17,7 @@ import com.zhgd.jeecg.common.execption.OpenAlertException; import com.zhgd.jeecg.common.system.query.QueryGenerator; import com.zhgd.xmgl.modules.basicdata.entity.SystemUser; import com.zhgd.xmgl.modules.basicdata.mapper.SystemUserMapper; +import com.zhgd.xmgl.modules.basicdata.service.ISystemUserService; import com.zhgd.xmgl.modules.xz.entity.XzProjectOrg; import com.zhgd.xmgl.modules.xz.mapper.XzProjectOrgMapper; import com.zhgd.xmgl.modules.xz.service.IXzProjectOrgService; @@ -25,7 +26,6 @@ import com.zhgd.xmgl.util.RefUtil; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.MapUtils; import org.flowable.engine.HistoryService; -import org.flowable.engine.RuntimeService; import org.flowable.engine.history.HistoricProcessInstance; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; @@ -44,9 +44,10 @@ import java.util.stream.Collectors; @Service @Transactional(rollbackFor = Exception.class) public class XzProjectOrgServiceImpl extends ServiceImpl implements IXzProjectOrgService { + @Autowired + ISystemUserService systemUserService; @Autowired private XzProjectOrgMapper xzProjectOrgMapper; - @Autowired private HistoryService historyService; @Autowired @@ -59,14 +60,14 @@ public class XzProjectOrgServiceImpl extends ServiceImpl queryWrapper = getQueryWrapper(paramMap); Page page = PageUtil.getPage(paramMap); IPage pageList = this.page(page, queryWrapper); - pageList.setRecords(dealList(pageList.getRecords())); + pageList.setRecords(dealList(pageList.getRecords(), paramMap)); return pageList; } @Override public List queryList(HashMap paramMap) { QueryWrapper queryWrapper = getQueryWrapper(paramMap); - return dealList(this.list(queryWrapper)); + return dealList(this.list(queryWrapper), paramMap); } private QueryWrapper getQueryWrapper(HashMap paramMap) { @@ -76,7 +77,15 @@ public class XzProjectOrgServiceImpl extends ServiceImpl dealList(List list) { + private List dealList(List list, HashMap paramMap) { + if (CollUtil.isNotEmpty(list)) { + Map param = new HashMap<>(); + param.put("projectSn", MapUtils.getString(paramMap, "projectSn")); + Map> orgMap = systemUserService.getProjectChildernSystemUserList(param).stream().collect(Collectors.groupingBy(SystemUser::getXzProjectOrgId)); + for (XzProjectOrg org : list) { + org.setUserCount(Optional.ofNullable(orgMap.get(org.getId())).map(m -> m.size()).orElse(0)); + } + } return list; }