Commit 2f0270432cea0b46a401b8e7e6f4c7930107e301
Merge remote-tracking branch 'origin/branch0730' into branch
# Conflicts: # src/main/java/com/zteits/oa/api/dto/asraop/param/AsraOpQueryReq.java # src/main/java/com/zteits/oa/report/dao/impl/AsraDailyDaoImpl.java # src/main/java/com/zteits/oa/report/web/OAuthController.java
Showing
10 changed files
with
191 additions
and
12 deletions
src/main/java/com/zteits/oa/api/dto/asradaily/param/AsraDailyForTotalNumAndDetailReq.java
1 | package com.zteits.oa.api.dto.asradaily.param; | 1 | package com.zteits.oa.api.dto.asradaily.param; |
2 | 2 | ||
3 | +import java.util.List; | ||
4 | + | ||
3 | import com.zteits.oa.api.base.bean.BaseRequest; | 5 | import com.zteits.oa.api.base.bean.BaseRequest; |
4 | 6 | ||
5 | /** | 7 | /** |
@@ -33,7 +35,19 @@ public class AsraDailyForTotalNumAndDetailReq extends BaseRequest{ | @@ -33,7 +35,19 @@ public class AsraDailyForTotalNumAndDetailReq extends BaseRequest{ | ||
33 | 35 | ||
34 | /**员工名称.*/ | 36 | /**员工名称.*/ |
35 | private String opName; | 37 | private String opName; |
38 | + /**父级ID 顶级为-1.*/ | ||
39 | + private List<Long> opIds; | ||
40 | + | ||
36 | 41 | ||
42 | + | ||
43 | + | ||
44 | + public List<Long> getOpIds() { | ||
45 | + return opIds; | ||
46 | + } | ||
47 | + | ||
48 | + public void setOpIds(List<Long> opIds) { | ||
49 | + this.opIds = opIds; | ||
50 | + } | ||
37 | 51 | ||
38 | public String getBeginTime() { | 52 | public String getBeginTime() { |
39 | return beginTime; | 53 | return beginTime; |
src/main/java/com/zteits/oa/api/dto/asradaily/param/AsraDailySaveOrUpdateReq.java
@@ -3,6 +3,7 @@ package com.zteits.oa.api.dto.asradaily.param; | @@ -3,6 +3,7 @@ package com.zteits.oa.api.dto.asradaily.param; | ||
3 | import com.zteits.oa.api.base.bean.BaiscDTO; | 3 | import com.zteits.oa.api.base.bean.BaiscDTO; |
4 | 4 | ||
5 | import java.util.Date; | 5 | import java.util.Date; |
6 | +import java.util.List; | ||
6 | 7 | ||
7 | public class AsraDailySaveOrUpdateReq extends BaiscDTO{ | 8 | public class AsraDailySaveOrUpdateReq extends BaiscDTO{ |
8 | /**主键*/ | 9 | /**主键*/ |
@@ -52,8 +53,21 @@ public class AsraDailySaveOrUpdateReq extends BaiscDTO{ | @@ -52,8 +53,21 @@ public class AsraDailySaveOrUpdateReq extends BaiscDTO{ | ||
52 | 53 | ||
53 | /**工时内容*/ | 54 | /**工时内容*/ |
54 | private String dailyContent; | 55 | private String dailyContent; |
56 | + | ||
57 | + /**员工ids.*/ | ||
58 | + private List<Long> opIds; | ||
59 | + | ||
60 | + | ||
55 | 61 | ||
56 | - /**获取主键*/ | 62 | + public List<Long> getOpIds() { |
63 | + return opIds; | ||
64 | + } | ||
65 | + | ||
66 | + public void setOpIds(List<Long> opIds) { | ||
67 | + this.opIds = opIds; | ||
68 | + } | ||
69 | + | ||
70 | + /**获取主键*/ | ||
57 | public Long getId() { | 71 | public Long getId() { |
58 | return id; | 72 | return id; |
59 | } | 73 | } |
src/main/java/com/zteits/oa/api/dto/asraop/param/AsraOpQueryReq.java
@@ -25,7 +25,12 @@ public class AsraOpQueryReq extends BaseRequest{ | @@ -25,7 +25,12 @@ public class AsraOpQueryReq extends BaseRequest{ | ||
25 | 25 | ||
26 | /**员工邮箱*/ | 26 | /**员工邮箱*/ |
27 | private String email; | 27 | private String email; |
28 | - | 28 | + |
29 | + /**父级ID 顶级为-1*/ | ||
30 | + private Long parentId; | ||
31 | + | ||
32 | + | ||
33 | + | ||
29 | 34 | ||
30 | /**员工idlist*/ | 35 | /**员工idlist*/ |
31 | private List<Long> opIdLists; | 36 | private List<Long> opIdLists; |
@@ -41,12 +46,12 @@ public class AsraOpQueryReq extends BaseRequest{ | @@ -41,12 +46,12 @@ public class AsraOpQueryReq extends BaseRequest{ | ||
41 | this.opParentIdLists = opParentIdLists; | 46 | this.opParentIdLists = opParentIdLists; |
42 | } | 47 | } |
43 | 48 | ||
44 | - public List<Long> getOpIdLists() { | ||
45 | - return opIdLists; | 49 | + public Long getParentId() { |
50 | + return parentId; | ||
46 | } | 51 | } |
47 | 52 | ||
48 | - public void setOpIdLists(List<Long> opIdLists) { | ||
49 | - this.opIdLists = opIdLists; | 53 | + public void setParentId(Long parentId) { |
54 | + this.parentId = parentId; | ||
50 | } | 55 | } |
51 | 56 | ||
52 | public String getLoginCode() { | 57 | public String getLoginCode() { |
src/main/java/com/zteits/oa/api/service/report/query/AsraOpQueryService.java
1 | package com.zteits.oa.api.service.report.query; | 1 | package com.zteits.oa.api.service.report.query; |
2 | 2 | ||
3 | +import java.util.List; | ||
4 | + | ||
3 | import com.zteits.oa.api.base.bean.BizResult; | 5 | import com.zteits.oa.api.base.bean.BizResult; |
4 | import com.zteits.oa.api.base.bean.PageBean; | 6 | import com.zteits.oa.api.base.bean.PageBean; |
5 | import com.zteits.oa.api.dto.asraop.AsraOpDTO; | 7 | import com.zteits.oa.api.dto.asraop.AsraOpDTO; |
@@ -50,4 +52,12 @@ public interface AsraOpQueryService { | @@ -50,4 +52,12 @@ public interface AsraOpQueryService { | ||
50 | * | 52 | * |
51 | */ | 53 | */ |
52 | BizResult<AsraOpDTO> queryAsraOpByLoginCode(AsraOpQueryReq asraOpQueryReq); | 54 | BizResult<AsraOpDTO> queryAsraOpByLoginCode(AsraOpQueryReq asraOpQueryReq); |
55 | + | ||
56 | + /** | ||
57 | + * 通过员工父级Id获取员工信息.<br/> | ||
58 | + * @param asraOpQueryRe | ||
59 | + * @return | ||
60 | + * 2018年7月31日 wangfs.<br/> | ||
61 | + */ | ||
62 | + BizResult<List<AsraOpDTO>> queryAsraOpByParentId(AsraOpQueryReq asraOpQueryRe); | ||
53 | } | 63 | } |
src/main/java/com/zteits/oa/report/biz/AsraOpQueryServiceImpl.java
1 | package com.zteits.oa.report.biz; | 1 | package com.zteits.oa.report.biz; |
2 | 2 | ||
3 | +import java.util.ArrayList; | ||
4 | +import java.util.List; | ||
5 | + | ||
3 | import org.slf4j.Logger; | 6 | import org.slf4j.Logger; |
4 | import org.slf4j.LoggerFactory; | 7 | import org.slf4j.LoggerFactory; |
5 | import org.springframework.beans.BeanUtils; | 8 | import org.springframework.beans.BeanUtils; |
@@ -15,6 +18,7 @@ import com.zteits.oa.api.dto.asraop.param.AsraOpQueryReq; | @@ -15,6 +18,7 @@ import com.zteits.oa.api.dto.asraop.param.AsraOpQueryReq; | ||
15 | import com.zteits.oa.api.service.report.query.AsraOpQueryService; | 18 | import com.zteits.oa.api.service.report.query.AsraOpQueryService; |
16 | import com.zteits.oa.report.dao.AsraOpDao; | 19 | import com.zteits.oa.report.dao.AsraOpDao; |
17 | import com.zteits.oa.report.domain.AsraOp; | 20 | import com.zteits.oa.report.domain.AsraOp; |
21 | +import com.zteits.oa.util.ListCopyUtil; | ||
18 | import com.zteits.oa.util.pagepaper.PageBeanUtil; | 22 | import com.zteits.oa.util.pagepaper.PageBeanUtil; |
19 | /** | 23 | /** |
20 | * 工时系统操作员实现类.<br/> | 24 | * 工时系统操作员实现类.<br/> |
@@ -31,7 +35,7 @@ import com.zteits.oa.util.pagepaper.PageBeanUtil; | @@ -31,7 +35,7 @@ import com.zteits.oa.util.pagepaper.PageBeanUtil; | ||
31 | *---------------------------------------------------------* | 35 | *---------------------------------------------------------* |
32 | * 2018年7月30日 wangfs v1.0.0 创建 | 36 | * 2018年7月30日 wangfs v1.0.0 创建 |
33 | */ | 37 | */ |
34 | -@Service("") | 38 | +@Service("com.zteits.oa.report.biz.AsraOpQueryServiceImpl") |
35 | public class AsraOpQueryServiceImpl implements AsraOpQueryService { | 39 | public class AsraOpQueryServiceImpl implements AsraOpQueryService { |
36 | 40 | ||
37 | private static final Logger logger = LoggerFactory.getLogger(AsraOpQueryServiceImpl.class); | 41 | private static final Logger logger = LoggerFactory.getLogger(AsraOpQueryServiceImpl.class); |
@@ -77,4 +81,18 @@ public class AsraOpQueryServiceImpl implements AsraOpQueryService { | @@ -77,4 +81,18 @@ public class AsraOpQueryServiceImpl implements AsraOpQueryService { | ||
77 | return new BizResult<>(asraOpDTO); | 81 | return new BizResult<>(asraOpDTO); |
78 | } | 82 | } |
79 | 83 | ||
84 | + /** | ||
85 | + * 通过员工父级Id获取员工信息.<br/> | ||
86 | + * @param asraOpQueryRe | ||
87 | + * @return | ||
88 | + * 2018年7月31日 wangfs.<br/> | ||
89 | + */ | ||
90 | + @Override | ||
91 | + public BizResult<List<AsraOpDTO>> queryAsraOpByParentId(AsraOpQueryReq asraOpQueryRe) { | ||
92 | + List<AsraOpDTO> listDTO = new ArrayList<>(); | ||
93 | + List<AsraOp> list = asraOpDao.queryAsraOpByParentId(asraOpQueryRe); | ||
94 | + ListCopyUtil.listCopyProperties(list, listDTO, AsraOpDTO.class); | ||
95 | + return new BizResult<List<AsraOpDTO>>(listDTO); | ||
96 | + } | ||
97 | + | ||
80 | } | 98 | } |
src/main/java/com/zteits/oa/report/dao/AsraOpDao.java
1 | package com.zteits.oa.report.dao; | 1 | package com.zteits.oa.report.dao; |
2 | 2 | ||
3 | +import java.util.List; | ||
4 | + | ||
3 | import com.github.pagehelper.PageInfo; | 5 | import com.github.pagehelper.PageInfo; |
4 | import com.zteits.oa.api.base.bean.BizResult; | 6 | import com.zteits.oa.api.base.bean.BizResult; |
5 | import com.zteits.oa.api.dto.asraop.AsraOpDTO; | 7 | import com.zteits.oa.api.dto.asraop.AsraOpDTO; |
@@ -33,4 +35,12 @@ public interface AsraOpDao { | @@ -33,4 +35,12 @@ public interface AsraOpDao { | ||
33 | * | 35 | * |
34 | */ | 36 | */ |
35 | AsraOp queryAsraOpByLoginCode(String loginCode); | 37 | AsraOp queryAsraOpByLoginCode(String loginCode); |
38 | + | ||
39 | + /** | ||
40 | + * 通过员工父级Id获取员工信息.<br/> | ||
41 | + * @param asraOpQueryRe | ||
42 | + * @return | ||
43 | + * 2018年7月31日 wangfs.<br/> | ||
44 | + */ | ||
45 | + List<AsraOp> queryAsraOpByParentId(AsraOpQueryReq asraOpQueryRe); | ||
36 | } | 46 | } |
src/main/java/com/zteits/oa/report/dao/impl/AsraDailyDaoImpl.java
@@ -68,8 +68,13 @@ public class AsraDailyDaoImpl implements AsraDailyDao{ | @@ -68,8 +68,13 @@ public class AsraDailyDaoImpl implements AsraDailyDao{ | ||
68 | public AsraDailyOpNumForCurrentDayDO queryAsraDailyOpNumForCurrentDay(AsraDailyForTotalNumAndDetailReq request) { | 68 | public AsraDailyOpNumForCurrentDayDO queryAsraDailyOpNumForCurrentDay(AsraDailyForTotalNumAndDetailReq request) { |
69 | AsraDailyOpNumForCurrentDayDO asraDailyOpNumForCurrentDayDO = new AsraDailyOpNumForCurrentDayDO(); | 69 | AsraDailyOpNumForCurrentDayDO asraDailyOpNumForCurrentDayDO = new AsraDailyOpNumForCurrentDayDO(); |
70 | List<Long> opList = new ArrayList<>(); | 70 | List<Long> opList = new ArrayList<>(); |
71 | + | ||
72 | + //1.总人数获取 | ||
71 | int employeeTotal = 0; | 73 | int employeeTotal = 0; |
72 | - opList.add(request.getOpId());//查询自己id | 74 | + if(CollectionUtil.isNotEmpty(request.getOpIds())){ |
75 | + employeeTotal = request.getOpIds().size(); | ||
76 | + } | ||
77 | + | ||
73 | //2.查询今日日报填写人数 | 78 | //2.查询今日日报填写人数 |
74 | AsraDailyExample exampleTwo = new AsraDailyExample(); | 79 | AsraDailyExample exampleTwo = new AsraDailyExample(); |
75 | exampleTwo.createCriteria().andAsarOpIdIn(opList) | 80 | exampleTwo.createCriteria().andAsarOpIdIn(opList) |
src/main/java/com/zteits/oa/report/dao/impl/AsraOpDaoImpl.java
@@ -60,6 +60,7 @@ public class AsraOpDaoImpl implements AsraOpDao { | @@ -60,6 +60,7 @@ public class AsraOpDaoImpl implements AsraOpDao { | ||
60 | if(asraOpQueryRe.getId() != null){ | 60 | if(asraOpQueryRe.getId() != null){ |
61 | criteria.andIdEqualTo(asraOpQueryRe.getId()); | 61 | criteria.andIdEqualTo(asraOpQueryRe.getId()); |
62 | } | 62 | } |
63 | + | ||
63 | criteria.andDataStateEqualTo(1); | 64 | criteria.andDataStateEqualTo(1); |
64 | List<AsraOp> list = asraOpMapper.selectByExample(example); | 65 | List<AsraOp> list = asraOpMapper.selectByExample(example); |
65 | return CollectionUtils.isEmpty(list) ? new AsraOp() : list.get(0); | 66 | return CollectionUtils.isEmpty(list) ? new AsraOp() : list.get(0); |
@@ -73,4 +74,18 @@ public class AsraOpDaoImpl implements AsraOpDao { | @@ -73,4 +74,18 @@ public class AsraOpDaoImpl implements AsraOpDao { | ||
73 | return berths.get(0); | 74 | return berths.get(0); |
74 | } | 75 | } |
75 | 76 | ||
77 | + /** | ||
78 | + * 通过员工父级Id获取员工信息.<br/> | ||
79 | + * @param asraOpQueryRe | ||
80 | + * @return | ||
81 | + * 2018年7月31日 wangfs.<br/> | ||
82 | + */ | ||
83 | + @Override | ||
84 | + public List<AsraOp> queryAsraOpByParentId(AsraOpQueryReq asraOpQueryRe) { | ||
85 | + AsraOpExample example = new AsraOpExample(); | ||
86 | + example.createCriteria().andParentIdEqualTo(asraOpQueryRe.getParentId()); | ||
87 | + List<AsraOp> list = asraOpMapper.selectByExample(example); | ||
88 | + return list; | ||
89 | + } | ||
90 | + | ||
76 | } | 91 | } |
src/main/java/com/zteits/oa/report/web/AsraDailyController.java
@@ -17,6 +17,7 @@ import com.zteits.oa.api.dto.asradaily.param.AsraDailyQueryReq; | @@ -17,6 +17,7 @@ import com.zteits.oa.api.dto.asradaily.param.AsraDailyQueryReq; | ||
17 | import com.zteits.oa.api.dto.asradaily.param.AsraDailySaveOrUpdateReq; | 17 | import com.zteits.oa.api.dto.asradaily.param.AsraDailySaveOrUpdateReq; |
18 | import com.zteits.oa.api.dto.asraop.AsraOpDTO; | 18 | import com.zteits.oa.api.dto.asraop.AsraOpDTO; |
19 | import com.zteits.oa.api.service.report.query.AsraDailyQueryService; | 19 | import com.zteits.oa.api.service.report.query.AsraDailyQueryService; |
20 | +import com.zteits.oa.report.domain.AsraDaily; | ||
20 | import com.zteits.oa.util.pagepaper.DateForObjectUtil; | 21 | import com.zteits.oa.util.pagepaper.DateForObjectUtil; |
21 | import io.swagger.annotations.Api; | 22 | import io.swagger.annotations.Api; |
22 | import io.swagger.annotations.ApiOperation; | 23 | import io.swagger.annotations.ApiOperation; |
@@ -72,7 +73,7 @@ public class AsraDailyController { | @@ -72,7 +73,7 @@ public class AsraDailyController { | ||
72 | if(asraOpDTO == null ){ | 73 | if(asraOpDTO == null ){ |
73 | throw new BizException(ErrorType.PARAMM_NULL,"获取session为空"); | 74 | throw new BizException(ErrorType.PARAMM_NULL,"获取session为空"); |
74 | } | 75 | } |
75 | - request.setOpId(asraOpDTO.getId()); | 76 | + request.setOpIds(asraOpDTO.getOpIds()); |
76 | BizResult<AsraDailyOpNumForCurrentDayDTO> result = asraDailyQueryService.queryAsraDailyOpNumForCurrentDay(request); | 77 | BizResult<AsraDailyOpNumForCurrentDayDTO> result = asraDailyQueryService.queryAsraDailyOpNumForCurrentDay(request); |
77 | logger.info("--end工时查询-当天填报人数统计(汇总),结果={}",JSONObject.toJSON(result)); | 78 | logger.info("--end工时查询-当天填报人数统计(汇总),结果={}",JSONObject.toJSON(result)); |
78 | return result; | 79 | return result; |
@@ -93,7 +94,7 @@ public class AsraDailyController { | @@ -93,7 +94,7 @@ public class AsraDailyController { | ||
93 | if(asraOpDTO == null ){ | 94 | if(asraOpDTO == null ){ |
94 | throw new BizException(ErrorType.PARAMM_NULL,"获取session为空"); | 95 | throw new BizException(ErrorType.PARAMM_NULL,"获取session为空"); |
95 | } | 96 | } |
96 | - request.setOpId(asraOpDTO.getId()); | 97 | + request.setOpIds(asraOpDTO.getOpIds()); |
97 | BizResult<QueryAsraDailyAllForListReqDTO> result = asraDailyQueryService.queryAsraDailyAllForList(request); | 98 | BizResult<QueryAsraDailyAllForListReqDTO> result = asraDailyQueryService.queryAsraDailyAllForList(request); |
98 | logger.info("--end工时查询-所有员工及自己或者自己日报,结果={}",JSONObject.toJSON(result)); | 99 | logger.info("--end工时查询-所有员工及自己或者自己日报,结果={}",JSONObject.toJSON(result)); |
99 | return result; | 100 | return result; |
src/main/java/com/zteits/oa/report/web/OAuthController.java
1 | package com.zteits.oa.report.web; | 1 | package com.zteits.oa.report.web; |
2 | 2 | ||
3 | +import static org.mockito.Matchers.contains; | ||
4 | + | ||
3 | import java.util.ArrayList; | 5 | import java.util.ArrayList; |
4 | import java.util.List; | 6 | import java.util.List; |
5 | 7 | ||
@@ -18,6 +20,7 @@ import org.springframework.web.bind.annotation.RequestMapping; | @@ -18,6 +20,7 @@ import org.springframework.web.bind.annotation.RequestMapping; | ||
18 | import org.springframework.web.bind.annotation.RestController; | 20 | import org.springframework.web.bind.annotation.RestController; |
19 | 21 | ||
20 | import com.alibaba.fastjson.JSONObject; | 22 | import com.alibaba.fastjson.JSONObject; |
23 | +import com.xiaoleilu.hutool.util.CollectionUtil; | ||
21 | import com.zteits.oa.api.base.bean.BizResult; | 24 | import com.zteits.oa.api.base.bean.BizResult; |
22 | import com.zteits.oa.api.base.constants.ErrorType; | 25 | import com.zteits.oa.api.base.constants.ErrorType; |
23 | import com.zteits.oa.api.base.constants.SessionEnum; | 26 | import com.zteits.oa.api.base.constants.SessionEnum; |
@@ -97,7 +100,7 @@ public class OAuthController { | @@ -97,7 +100,7 @@ public class OAuthController { | ||
97 | List<Long> opParentIds = new ArrayList<>(); | 100 | List<Long> opParentIds = new ArrayList<>(); |
98 | opParentIds.add(asraOpDTO.getId()); | 101 | opParentIds.add(asraOpDTO.getId()); |
99 | /**递归查询员工ids.*/ | 102 | /**递归查询员工ids.*/ |
100 | - opIds = queryOpTreeByOpId(opParentIds,opIds); | 103 | + opIds = queryOpTreeByOpIds(opParentIds,opIds); |
101 | logger.info("---获取到的opIds={}",JSONObject.toJSON(opIds)); | 104 | logger.info("---获取到的opIds={}",JSONObject.toJSON(opIds)); |
102 | asraOpDTO.setOpIds(opIds); | 105 | asraOpDTO.setOpIds(opIds); |
103 | HttpSession session = request.getSession(); | 106 | HttpSession session = request.getSession(); |
@@ -144,7 +147,7 @@ public class OAuthController { | @@ -144,7 +147,7 @@ public class OAuthController { | ||
144 | * @return | 147 | * @return |
145 | * 2018年8月2日 wangfs.<br/> | 148 | * 2018年8月2日 wangfs.<br/> |
146 | */ | 149 | */ |
147 | - private List<Long> queryOpTreeByOpId(List<Long> queryOpList,List<Long> opList){ | 150 | + private List<Long> queryOpTreeByOpIds(List<Long> queryOpList,List<Long> opList){ |
148 | if(queryOpList != null && CollectionUtil.isNotEmpty(queryOpList)){ | 151 | if(queryOpList != null && CollectionUtil.isNotEmpty(queryOpList)){ |
149 | AsraOpQueryReq asraOpQueryRe = new AsraOpQueryReq(); | 152 | AsraOpQueryReq asraOpQueryRe = new AsraOpQueryReq(); |
150 | asraOpQueryRe.setOpParentIdLists(queryOpList); | 153 | asraOpQueryRe.setOpParentIdLists(queryOpList); |
@@ -167,6 +170,90 @@ public class OAuthController { | @@ -167,6 +170,90 @@ public class OAuthController { | ||
167 | } | 170 | } |
168 | 171 | ||
169 | 172 | ||
173 | + /** | ||
174 | + * 递归查询员工id.<br/> | ||
175 | + * @param parentOpId | ||
176 | + * @param opList | ||
177 | + * @return | ||
178 | + * 2018年8月2日 wangfs.<br/> | ||
179 | + */ | ||
180 | + private List<Long> queryOpTreeByOpId(Long opId){ | ||
181 | + List<Long> rootAllList = new ArrayList<>(); | ||
182 | + rootAllList.add(opId); | ||
183 | + //1.查找第一级下的所有用户 | ||
184 | + List<Long> rootOpIds = this.getRootOpIds(opId); | ||
185 | + | ||
186 | + //2.查找第二级以下所有用户 | ||
187 | + if(CollectionUtil.isNotEmpty(rootOpIds)){ | ||
188 | + rootAllList.addAll(rootOpIds); | ||
189 | + for(Long getOpId:rootOpIds ){ | ||
190 | + List<Long> childOpIds = new ArrayList<>(); | ||
191 | + this.getChildOpIds(getOpId,childOpIds); | ||
192 | + rootAllList.addAll(childOpIds); | ||
193 | + } | ||
194 | + | ||
195 | + } | ||
196 | + return rootAllList; | ||
197 | + } | ||
198 | + | ||
199 | + /** | ||
200 | + * 递归查找一级以下的用户 | ||
201 | + * @param parentId | ||
202 | + * @return | ||
203 | + * 2018年8月2日 wangfs.<br/> | ||
204 | + */ | ||
205 | + private List<Long> getChildOpIds(Long parentId,List<Long> childOpIds){ | ||
206 | + AsraOpQueryReq asraOpQueryRe = new AsraOpQueryReq(); | ||
207 | + asraOpQueryRe.setParentId(parentId); | ||
208 | + BizResult<List<AsraOpDTO>> asraOpReult = asraOpQueryService.queryAsraOpByParentId(asraOpQueryRe); | ||
209 | + if(asraOpReult != null && CollectionUtil.isNotEmpty(asraOpReult.getData())){ | ||
210 | + List<AsraOpDTO> list = asraOpReult.getData(); | ||
211 | + for(AsraOpDTO asraOpDTO :list){ | ||
212 | + if(asraOpDTO == null){ | ||
213 | + continue; | ||
214 | + } | ||
215 | + childOpIds.add(asraOpDTO.getId()); | ||
216 | + } | ||
217 | + | ||
218 | + //遍历下一级 | ||
219 | + if(CollectionUtil.isNotEmpty(childOpIds)){ | ||
220 | + for(Long opId:childOpIds){ | ||
221 | + if(opId != null && !opId.equals(parentId)){ | ||
222 | + getChildOpIds(opId,childOpIds); | ||
223 | + } | ||
224 | + break; | ||
225 | + | ||
226 | + } | ||
227 | + | ||
228 | + } | ||
229 | + } | ||
230 | + | ||
231 | + return childOpIds; | ||
232 | + } | ||
233 | + | ||
234 | + /** | ||
235 | + * 查找登陆用户下一级用户 | ||
236 | + * @param opId | ||
237 | + * @param opList | ||
238 | + * @return | ||
239 | + * 2018年8月2日 wangfs.<br/> | ||
240 | + */ | ||
241 | + private List<Long> getRootOpIds(Long parentId){ | ||
242 | + List<Long> opList = new ArrayList<>(); | ||
243 | + AsraOpQueryReq asraOpQueryRe = new AsraOpQueryReq(); | ||
244 | + asraOpQueryRe.setParentId(parentId); | ||
245 | + BizResult<List<AsraOpDTO>> asraOpReult = asraOpQueryService.queryAsraOpByParentId(asraOpQueryRe); | ||
246 | + if(asraOpReult != null && CollectionUtil.isNotEmpty(asraOpReult.getData())){ | ||
247 | + List<AsraOpDTO> list = asraOpReult.getData(); | ||
248 | + for(AsraOpDTO asraOpDTO :list){ | ||
249 | + if(asraOpDTO == null){ | ||
250 | + continue; | ||
251 | + } | ||
252 | + opList.add(asraOpDTO.getId()); | ||
253 | + } | ||
254 | + } | ||
255 | + return opList; | ||
256 | + } | ||
170 | 257 | ||
171 | 258 | ||
172 | 259 |