| | |
| | | import com.dy.pipIrrGlobal.daoBa.BaBlockMapper; |
| | | import com.dy.pipIrrGlobal.daoBa.BaMapCoordinatesMapper; |
| | | import com.dy.pipIrrGlobal.daoBa.BaMapGraphMapper; |
| | | import com.dy.pipIrrGlobal.daoPr.PrDivideMapper; |
| | | import com.dy.pipIrrGlobal.pojoBa.BaBlock; |
| | | import com.dy.pipIrrGlobal.pojoBa.BaMapCoordinates; |
| | | import com.dy.pipIrrGlobal.pojoBa.BaMapGraph; |
| | | import com.dy.pipIrrGlobal.voBa.VoBlock; |
| | | import com.dy.pipIrrGlobal.voBa.VoMapCoordinates; |
| | | import com.dy.pipIrrGlobal.voBa.VoMapGraph; |
| | | import com.dy.pipIrrGlobal.voPr.VoSimpleDivide; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.dubbo.common.utils.PojoUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.Optional; |
| | | |
| | | @Slf4j |
| | | @Service |
| | |
| | | |
| | | @Autowired |
| | | private BaMapCoordinatesMapper baMapCoordinatesMapper; |
| | | |
| | | @Autowired |
| | | private PrDivideMapper prDivideMapper; |
| | | |
| | | /** |
| | | * 得到一个片区 |
| | |
| | | * @return |
| | | */ |
| | | public QueryResultVo<List<VoBlock>> getBlocks(QueryVo vo){ |
| | | vo.setPageCurr((vo.pageCurr -1) * vo.pageSize); |
| | | vo.setPageCurr((vo.getPageCurr() -1) * vo.getPageSize()); |
| | | Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(vo) ; |
| | | Long itemTotal = this.dao.getBlocksCount(params) ; |
| | | |
| | |
| | | // 获取片区列表 |
| | | List<VoBlock> list_blocks = this.dao.getBlocks(params); |
| | | if(list_blocks != null && list_blocks.size() > 0) { |
| | | //JSONArray array_blocks = (JSONArray) JSON.toJSON(list_blocks); |
| | | array_blocks = (JSONArray) JSON.toJSON(list_blocks); |
| | | for (int i = 0; i < array_blocks.size(); i++) { |
| | | JSONObject job_block = array_blocks.getJSONObject(i); |
| | | Long blockId = job_block.getLong("id"); |
| | | |
| | | // 处理一个新的片区前清空graphs,避免上一个片区的graphs存留数据造成数据错误 |
| | | array_mapGraphs = null; |
| | | // 根据片区ID获取地图图形列表 |
| | | List<VoMapGraph> list_mapGraphs = this.dao.gertMapGraphsByBlockId(blockId); |
| | | if(list_mapGraphs != null && list_mapGraphs.size() > 0) { |
| | |
| | | List<VoMapCoordinates> list_mapCoordinates = this.dao.getCoordinatesByGraphId(graphId); |
| | | if(list_mapCoordinates != null && list_mapCoordinates.size() > 0) { |
| | | JSONArray array_mapCoordinates = (JSONArray) JSON.toJSON(list_mapCoordinates); |
| | | job_mapGraph.put("coordinates", array_mapCoordinates); |
| | | String cc= ""; |
| | | |
| | | JSONArray[] arrays = new JSONArray[1]; |
| | | arrays[0] = array_mapCoordinates; |
| | | job_mapGraph.put("coordinates", arrays); |
| | | } |
| | | } |
| | | } |
| | | |
| | | // 将地图图形数组添加到片区中 |
| | | if(array_mapGraphs != null && array_mapGraphs.size() > 0) { |
| | | job_block.put("graph", array_mapGraphs); |
| | | job_block.put("graphs", array_mapGraphs); |
| | | } |
| | | } |
| | | }else {//增加健壮性 |
| | | QueryResultVo<List<VoBlock>> rsVo = new QueryResultVo<>() ; |
| | | return rsVo ; |
| | | } |
| | | |
| | | QueryResultVo<List<VoBlock>> rsVo = new QueryResultVo<>() ; |
| | |
| | | return this.baMapCoordinatesMapper.deleteByBlockId(blockId); |
| | | } |
| | | |
| | | /** |
| | | * 获取片区、分水房联动视图,添加农户时使用 |
| | | * @return |
| | | */ |
| | | public JSONArray getBlockDivides() { |
| | | JSONArray array_blocks = null; |
| | | JSONArray array_divides = null; |
| | | JSONArray array_result = new JSONArray(); |
| | | |
| | | List<BaBlock> list_blocks = dao.selectAll(); |
| | | if(list_blocks != null && list_blocks.size() > 0) { |
| | | array_blocks = (JSONArray) JSON.toJSON(list_blocks); |
| | | for (int i = 0; i < array_blocks.size(); i++) { |
| | | JSONObject job_block = array_blocks.getJSONObject(i); |
| | | JSONObject job_blockNew = new JSONObject(); |
| | | job_blockNew.put("value", job_block.getLong("id").toString()); |
| | | job_blockNew.put("label", job_block.getString("name")); |
| | | |
| | | List<VoSimpleDivide> list_divides = Optional.ofNullable( prDivideMapper.getDividesByBlockId(job_block.getLong("id"))).orElse(new ArrayList<>()); |
| | | array_divides = (JSONArray) JSON.toJSON(list_divides); |
| | | job_blockNew.put("children", array_divides); |
| | | array_result.add(job_blockNew); |
| | | } |
| | | return array_result; |
| | | }else { |
| | | return new JSONArray(); |
| | | } |
| | | } |
| | | } |