Commit b5172f8407d1a8b9100f4d3262c1147a33f99d3a
1 parent
813e3b15
berth area_tree
Showing
1 changed file
with
118 additions
and
8 deletions
src/main/java/com/zteits/irain/portal/web/govclouds/TbAreaController.java
@@ -7,33 +7,38 @@ import java.util.Map; | @@ -7,33 +7,38 @@ import java.util.Map; | ||
7 | 7 | ||
8 | import org.slf4j.Logger; | 8 | import org.slf4j.Logger; |
9 | import org.slf4j.LoggerFactory; | 9 | import org.slf4j.LoggerFactory; |
10 | +import org.springframework.beans.BeanUtils; | ||
10 | import org.springframework.beans.factory.annotation.Autowired; | 11 | import org.springframework.beans.factory.annotation.Autowired; |
11 | import org.springframework.beans.factory.annotation.Value; | 12 | import org.springframework.beans.factory.annotation.Value; |
12 | import org.springframework.util.CollectionUtils; | 13 | import org.springframework.util.CollectionUtils; |
13 | -import org.springframework.web.bind.annotation.GetMapping; | ||
14 | import org.springframework.web.bind.annotation.PostMapping; | 14 | import org.springframework.web.bind.annotation.PostMapping; |
15 | import org.springframework.web.bind.annotation.RequestBody; | 15 | import org.springframework.web.bind.annotation.RequestBody; |
16 | import org.springframework.web.bind.annotation.RequestMapping; | 16 | import org.springframework.web.bind.annotation.RequestMapping; |
17 | -import org.springframework.web.bind.annotation.RequestParam; | ||
18 | import org.springframework.web.bind.annotation.RestController; | 17 | import org.springframework.web.bind.annotation.RestController; |
19 | 18 | ||
20 | import com.alibaba.fastjson.JSONObject; | 19 | import com.alibaba.fastjson.JSONObject; |
21 | import com.clouds.common.cache.sys.SysCodeValueCacheUtil; | 20 | import com.clouds.common.cache.sys.SysCodeValueCacheUtil; |
22 | import com.clouds.common.constants.CodeValKindEnum; | 21 | import com.clouds.common.constants.CodeValKindEnum; |
22 | +import com.clouds.common.entity.UserInfo; | ||
23 | +import com.clouds.common.web.SessionCommUtil; | ||
23 | import com.clouds.common.web.vo.BizResultVO; | 24 | import com.clouds.common.web.vo.BizResultVO; |
24 | -import com.google.common.collect.Lists; | ||
25 | import com.zteits.clouds.api.apibase.bean.BizResult; | 25 | import com.zteits.clouds.api.apibase.bean.BizResult; |
26 | import com.zteits.clouds.api.apibase.bean.PageBean; | 26 | import com.zteits.clouds.api.apibase.bean.PageBean; |
27 | +import com.zteits.clouds.api.apibase.constants.AreaTypeEnum; | ||
28 | +import com.zteits.clouds.api.apibase.constants.BasicEnum; | ||
27 | import com.zteits.clouds.api.apibase.constants.ErrorType; | 29 | import com.zteits.clouds.api.apibase.constants.ErrorType; |
28 | import com.zteits.clouds.api.apibase.exception.BizException; | 30 | import com.zteits.clouds.api.apibase.exception.BizException; |
31 | +import com.zteits.clouds.api.dto.park.dto.TpPRegionAreaDTO; | ||
32 | +import com.zteits.clouds.api.dto.park.param.ParkInfoByAreaBlockIdsRequest; | ||
33 | +import com.zteits.clouds.api.dto.park.param.QueryTpPRegionAreaForPageRequest; | ||
29 | import com.zteits.clouds.api.dto.park.param.StatisticParkLotCountByCountryRequest; | 34 | import com.zteits.clouds.api.dto.park.param.StatisticParkLotCountByCountryRequest; |
30 | -import com.zteits.clouds.api.dto.park.param.UpdateFreeBerthRequest; | ||
31 | -import com.zteits.clouds.api.dto.sys.SysRoleDTO; | ||
32 | -import com.zteits.clouds.api.dto.sys.TbAreaDTO; | ||
33 | -import com.zteits.clouds.api.dto.sys.param.TbAreaQueryRequest; | 35 | +import com.zteits.clouds.api.dto.sys.AreaTreeDTO; |
36 | +import com.zteits.clouds.api.dto.sys.param.AreaBlockByOrgIdQueryRequest; | ||
37 | +import com.zteits.clouds.api.service.park.ParkingLotService; | ||
38 | +import com.zteits.clouds.api.service.park.TpPRegionAreaService; | ||
34 | import com.zteits.clouds.api.service.sys.TbAreaService; | 39 | import com.zteits.clouds.api.service.sys.TbAreaService; |
35 | -import com.zteits.irain.portal.web.irain.UpdateFreeBerthController; | ||
36 | 40 | ||
41 | +import io.jsonwebtoken.lang.Collections; | ||
37 | import io.swagger.annotations.Api; | 42 | import io.swagger.annotations.Api; |
38 | import io.swagger.annotations.ApiOperation; | 43 | import io.swagger.annotations.ApiOperation; |
39 | 44 | ||
@@ -60,6 +65,13 @@ public class TbAreaController { | @@ -60,6 +65,13 @@ public class TbAreaController { | ||
60 | private String sysCode; | 65 | private String sysCode; |
61 | @Autowired | 66 | @Autowired |
62 | private TbAreaService tbAreaService; | 67 | private TbAreaService tbAreaService; |
68 | + @Autowired | ||
69 | + private SessionCommUtil sessionCommUtil; | ||
70 | + @Autowired | ||
71 | + private ParkingLotService parkingLotService; | ||
72 | + | ||
73 | + @Autowired | ||
74 | + private TpPRegionAreaService tpPRegionAreaService; | ||
63 | 75 | ||
64 | @ApiOperation("查询区域下一级") | 76 | @ApiOperation("查询区域下一级") |
65 | @PostMapping("queryNextLowerLeverById") | 77 | @PostMapping("queryNextLowerLeverById") |
@@ -80,4 +92,102 @@ public class TbAreaController { | @@ -80,4 +92,102 @@ public class TbAreaController { | ||
80 | return new BizResultVO<List<Map<String, String>>>().setData(list); | 92 | return new BizResultVO<List<Map<String, String>>>().setData(list); |
81 | } | 93 | } |
82 | 94 | ||
95 | + /** | ||
96 | + * 获取泊位区间tree | ||
97 | + * @param request | ||
98 | + * @return | ||
99 | + * @throws Exception | ||
100 | + */ | ||
101 | + @ApiOperation("获取泊位区间tree") | ||
102 | + @PostMapping("/getBerthAreatree") | ||
103 | + public BizResultVO<List<AreaTreeDTO>> getBerthAreatree(@RequestBody AreaBlockByOrgIdQueryRequest | ||
104 | + request) throws Exception { | ||
105 | + logger.info("---begin加载泊位区间tree.."); | ||
106 | + | ||
107 | + UserInfo userInfo = sessionCommUtil.getUserInfo(); | ||
108 | + request.setOrgId(userInfo.getOrgId()); | ||
109 | + BizResult<List<AreaTreeDTO>> result = tbAreaService.queryAreaBlockByOrgId(request); | ||
110 | + //2.获取块id列表 | ||
111 | + List<Long> areaBlockIdList = this.getAreaBlockIds(result); | ||
112 | + //3.通过块Ids查询块下面得停车场 | ||
113 | + List<AreaTreeDTO> parklist = this.queryParkInfoByAreaBlockIds(areaBlockIdList); | ||
114 | + if (result != null && !CollectionUtils.isEmpty(result.getData())) { | ||
115 | + if (!CollectionUtils.isEmpty(parklist)) { | ||
116 | + result.getData().addAll(parklist); | ||
117 | + | ||
118 | + //4.通过停车场编号查询停车场下的泊位区间 | ||
119 | + List<AreaTreeDTO> berthArealist = new ArrayList<>(); | ||
120 | + List<String> plNos = new ArrayList<>(); | ||
121 | + for (AreaTreeDTO a : parklist) { | ||
122 | + plNos.add(a.getPlNo()); | ||
123 | + } | ||
124 | + QueryTpPRegionAreaForPageRequest areaRequest = new QueryTpPRegionAreaForPageRequest(); | ||
125 | + BeanUtils.copyProperties(request, areaRequest); | ||
126 | + areaRequest.setPlNos(plNos); | ||
127 | + BizResult<PageBean<TpPRegionAreaDTO>> arearesult = tpPRegionAreaService.queryTpPRegionAreaForPage(areaRequest); | ||
128 | + if (!(arearesult.isSuccess())) { | ||
129 | + throw new BizException(arearesult.getErrCode(),arearesult.getErrMsg()); | ||
130 | + } | ||
131 | + if(!(CollectionUtils.isEmpty(arearesult.getData().getDataList()))){ | ||
132 | + for (TpPRegionAreaDTO t : arearesult.getData().getDataList()) { | ||
133 | + AreaTreeDTO area = new AreaTreeDTO(); | ||
134 | + area.setAreaName(t.getParkAreaName()); | ||
135 | + area.setAreaType(AreaTypeEnum.Area.code()); | ||
136 | + area.setPlNo(t.getPlNo()); | ||
137 | + area.setIdCode(t.getParkAreaCode()); | ||
138 | + area.setParentCode(t.getPlNo()); | ||
139 | + area.setAreaRangeCode(t.getParkAreaCode()); | ||
140 | + berthArealist.add(area); | ||
141 | + } | ||
142 | + if(!(CollectionUtils.isEmpty(berthArealist))){ | ||
143 | + result.getData().addAll(berthArealist); | ||
144 | + | ||
145 | + } | ||
146 | + } | ||
147 | + } | ||
148 | + } | ||
149 | + | ||
150 | + | ||
151 | + logger.info("---end加载泊位区间tree.."); | ||
152 | + return new BizResultVO<List<AreaTreeDTO>>(result); | ||
153 | + } | ||
154 | + /** | ||
155 | + * 通过块Ids查询块下面得停车场.<br/> | ||
156 | + * | ||
157 | + * @param areaBlockIdList | ||
158 | + * @return | ||
159 | + */ | ||
160 | + private List<AreaTreeDTO> queryParkInfoByAreaBlockIds(List<Long> areaBlockIdList) { | ||
161 | + List<AreaTreeDTO> list = new ArrayList<AreaTreeDTO>(); | ||
162 | + ParkInfoByAreaBlockIdsRequest blockIdRequest = new ParkInfoByAreaBlockIdsRequest(); | ||
163 | + if (!CollectionUtils.isEmpty(areaBlockIdList)) { | ||
164 | + blockIdRequest.setAreaBlockIds(areaBlockIdList); | ||
165 | + blockIdRequest.setSysCode(BasicEnum.SYS_CODE.getValue()); | ||
166 | + BizResult<List<AreaTreeDTO>> result = parkingLotService.queryParkInfoByAreaBlockIds(blockIdRequest); | ||
167 | + if (result != null && !Collections.isEmpty(result.getData())) { | ||
168 | + for (AreaTreeDTO a : result.getData()) { | ||
169 | + a.setAreaType(AreaTypeEnum.PARK.code()); | ||
170 | + } | ||
171 | + list.addAll(result.getData()); | ||
172 | + } | ||
173 | + } | ||
174 | + return list; | ||
175 | + } | ||
176 | + | ||
177 | + /** | ||
178 | + * 获取块ids列表.<br/> | ||
179 | + * | ||
180 | + * @return | ||
181 | + */ | ||
182 | + private List<Long> getAreaBlockIds(BizResult<List<AreaTreeDTO>> result) { | ||
183 | + List<Long> areaBlockIdList = new ArrayList<Long>(); | ||
184 | + if (result != null && !CollectionUtils.isEmpty(result.getData())) { | ||
185 | + for (AreaTreeDTO e : result.getData()) { | ||
186 | + if (e != null && AreaTypeEnum.BLOCK.code().equals(e.getAreaType())) { | ||
187 | + areaBlockIdList.add(e.getId()); | ||
188 | + } | ||
189 | + } | ||
190 | + } | ||
191 | + return areaBlockIdList; | ||
192 | + } | ||
83 | } | 193 | } |