Commit 6f70835d350a427791936c34c655cc737ecb7212
1 parent
ef7e1afd
基础数据功能完善
Showing
34 changed files
with
1414 additions
and
371 deletions
pom.xml
| ... | ... | @@ -102,7 +102,12 @@ |
| 102 | 102 | <artifactId>guava</artifactId> |
| 103 | 103 | <version>19.0</version> |
| 104 | 104 | </dependency> |
| 105 | - | |
| 105 | + <!-- ftp文件上传包 --> | |
| 106 | + <dependency> | |
| 107 | + <groupId>commons-net</groupId> | |
| 108 | + <artifactId>commons-net</artifactId> | |
| 109 | + <version>3.5</version> | |
| 110 | + </dependency> | |
| 106 | 111 | <!-- drools 6依赖 --> |
| 107 | 112 | <dependency> |
| 108 | 113 | <groupId>org.kie</groupId> | ... | ... |
src/main/java/com/bsth/controller/LineController.java
| 1 | 1 | package com.bsth.controller; |
| 2 | 2 | |
| 3 | +import java.util.Map; | |
| 4 | + | |
| 3 | 5 | import org.springframework.beans.factory.annotation.Autowired; |
| 4 | 6 | import org.springframework.web.bind.annotation.RequestMapping; |
| 5 | 7 | import org.springframework.web.bind.annotation.RequestMethod; |
| ... | ... | @@ -7,6 +9,7 @@ import org.springframework.web.bind.annotation.RestController; |
| 7 | 9 | |
| 8 | 10 | import com.bsth.entity.Line; |
| 9 | 11 | import com.bsth.service.LineService; |
| 12 | +import com.bsth.util.GetUIDAndCode; | |
| 10 | 13 | |
| 11 | 14 | /** |
| 12 | 15 | * |
| ... | ... | @@ -31,12 +34,25 @@ public class LineController extends BaseController<Line, Integer> { |
| 31 | 34 | private LineService service; |
| 32 | 35 | |
| 33 | 36 | /** |
| 34 | - * 获取线路编码 | |
| 37 | + * 获取线路编码与ID | |
| 35 | 38 | * |
| 36 | 39 | * @return int <lineCode:线路编码> |
| 37 | 40 | */ |
| 38 | 41 | @RequestMapping(value = "getLineCode", method = RequestMethod.GET) |
| 39 | - public int getLineCode() { | |
| 40 | - return service.selectMaxIdToLineCode(); | |
| 42 | + public long getLineCode() { | |
| 43 | + return GetUIDAndCode.getLineId(); | |
| 41 | 44 | } |
| 45 | + | |
| 46 | + /** | |
| 47 | + * | |
| 48 | + * 保存 | |
| 49 | + * | |
| 50 | + */ | |
| 51 | + @RequestMapping(method = RequestMethod.POST) | |
| 52 | + public Map<String, Object> save(Line t){ | |
| 53 | + | |
| 54 | + t.setId(Integer.valueOf(t.getLineCode())); | |
| 55 | + | |
| 56 | + return service.save(t); | |
| 57 | + } | |
| 42 | 58 | } | ... | ... |
src/main/java/com/bsth/controller/SectionRouteController.java
| ... | ... | @@ -47,4 +47,17 @@ public class SectionRouteController extends BaseController<SectionRoute, Integer |
| 47 | 47 | return routeService.getSectionRoute(map); |
| 48 | 48 | } |
| 49 | 49 | |
| 50 | + | |
| 51 | + /** | |
| 52 | + * @Description : TODO(根据路段路由Id查询详情) | |
| 53 | + * | |
| 54 | + * @param map <id:路段路由ID> | |
| 55 | + * | |
| 56 | + * @return List<Map<String, Object>> | |
| 57 | + */ | |
| 58 | + @RequestMapping(value = "/findSectionRouteInfoFormId",method = RequestMethod.GET) | |
| 59 | + public List<Map<String, Object>> findSectionRouteInfoFormId(@RequestParam Map<String, Object> map) { | |
| 60 | + | |
| 61 | + return routeService.findSectionRouteInfoFormId(map); | |
| 62 | + } | |
| 50 | 63 | } | ... | ... |
src/main/java/com/bsth/controller/StationController.java
| ... | ... | @@ -10,6 +10,7 @@ import org.springframework.web.bind.annotation.RestController; |
| 10 | 10 | |
| 11 | 11 | import com.bsth.entity.Station; |
| 12 | 12 | import com.bsth.service.StationService; |
| 13 | +import com.bsth.util.GetUIDAndCode; | |
| 13 | 14 | |
| 14 | 15 | /** |
| 15 | 16 | * |
| ... | ... | @@ -127,8 +128,8 @@ public class StationController extends BaseController<Station, Integer> { |
| 127 | 128 | * @return int <stationCode站点编码> |
| 128 | 129 | */ |
| 129 | 130 | @RequestMapping(value="getStationCode" , method = RequestMethod.GET) |
| 130 | - public int getStationCode() { | |
| 131 | - return service.getStationCode(); | |
| 131 | + public long getStationCode() { | |
| 132 | + return GetUIDAndCode.getStationId(); | |
| 132 | 133 | |
| 133 | 134 | } |
| 134 | 135 | } | ... | ... |
src/main/java/com/bsth/controller/StationRouteController.java
| ... | ... | @@ -87,4 +87,31 @@ public class StationRouteController extends BaseController<StationRoute, Integer |
| 87 | 87 | return service.stationRouteIsDestroy(map); |
| 88 | 88 | } |
| 89 | 89 | |
| 90 | + /** | |
| 91 | + * @Description : TODO(根据线路ID生成行单) | |
| 92 | + * | |
| 93 | + * @param map <id:线路ID> | |
| 94 | + * | |
| 95 | + * @return Map<String, Object> <SUCCESS ; ERROR> | |
| 96 | + */ | |
| 97 | + @RequestMapping(value = "/usingSingle",method = RequestMethod.POST) | |
| 98 | + public Map<String, Object> usingSingle(@RequestParam Map<String, Object> map) { | |
| 99 | + | |
| 100 | + return service.usingSingle(map); | |
| 101 | + } | |
| 102 | + | |
| 103 | + | |
| 104 | + /** | |
| 105 | + * @Description : TODO(根据站点路由Id查询详情) | |
| 106 | + * | |
| 107 | + * @param map <id:站点路由ID> | |
| 108 | + * | |
| 109 | + * @return List<Map<String, Object>> | |
| 110 | + */ | |
| 111 | + @RequestMapping(value = "/findStationRouteInfo",method = RequestMethod.GET) | |
| 112 | + public List<Map<String, Object>> findStationRouteInfo(@RequestParam Map<String, Object> map) { | |
| 113 | + | |
| 114 | + return service.findStationRouteInfo(map); | |
| 115 | + } | |
| 116 | + | |
| 90 | 117 | } | ... | ... |
src/main/java/com/bsth/entity/CarPark.java
| 1 | 1 | package com.bsth.entity; |
| 2 | 2 | |
| 3 | +import java.util.Date; | |
| 4 | + | |
| 5 | +import javax.persistence.Column; | |
| 3 | 6 | import javax.persistence.Entity; |
| 4 | 7 | import javax.persistence.GeneratedValue; |
| 5 | 8 | import javax.persistence.Id; |
| ... | ... | @@ -8,7 +11,7 @@ import javax.persistence.Table; |
| 8 | 11 | |
| 9 | 12 | /** |
| 10 | 13 | * |
| 11 | - * @ClassName: Line(停车场类) | |
| 14 | + * @ClassName: CarPark(停车场类) | |
| 12 | 15 | * |
| 13 | 16 | * @Description: TODO(停车场) |
| 14 | 17 | * |
| ... | ... | @@ -34,14 +37,70 @@ public class CarPark { |
| 34 | 37 | // 停车场名称 |
| 35 | 38 | private String parkName; |
| 36 | 39 | |
| 37 | - // 地理位置 | |
| 38 | - private String parkPoint; | |
| 40 | + // 地理位置(百度坐标) | |
| 41 | + private String bParkPoint; | |
| 42 | + | |
| 43 | + // 地理位置中心点(百度坐标) | |
| 44 | + private String bCenterPoint; | |
| 45 | + | |
| 46 | + // 地理位置(WGS坐标) | |
| 47 | + private String gParkPoint; | |
| 48 | + | |
| 49 | + // 地理位置中心点(WGS坐标) | |
| 50 | + private String gCenterPoint; | |
| 51 | + | |
| 52 | + /** | |
| 53 | + * 经纬坐标类型 | |
| 54 | + * | |
| 55 | + * --------- b:百度坐标系 | |
| 56 | + * | |
| 57 | + * --------- d:高德坐标系 | |
| 58 | + */ | |
| 59 | + private String dbType; | |
| 60 | + | |
| 61 | + /** | |
| 62 | + * 图形类型 | |
| 63 | + * | |
| 64 | + * ------ r:圆形 | |
| 65 | + * | |
| 66 | + * ------ p:多边形 | |
| 67 | + */ | |
| 68 | + private String shapesType; | |
| 69 | + | |
| 70 | + // 圆形半径 | |
| 71 | + private Integer radius; | |
| 39 | 72 | |
| 40 | 73 | // 面积 |
| 41 | 74 | private double area; |
| 42 | 75 | |
| 43 | 76 | // 所属公司 |
| 44 | 77 | private String company; |
| 78 | + | |
| 79 | + // 分公司 | |
| 80 | + private String brancheCompany; | |
| 81 | + | |
| 82 | + // 是否撤销 | |
| 83 | + private Integer destroy; | |
| 84 | + | |
| 85 | + // 版本号 | |
| 86 | + private Integer versions; | |
| 87 | + | |
| 88 | + // 描述 | |
| 89 | + private String descriptions; | |
| 90 | + | |
| 91 | + // 创建人 | |
| 92 | + private Integer createBy; | |
| 93 | + | |
| 94 | + // 修改人 | |
| 95 | + private Integer updateBy; | |
| 96 | + | |
| 97 | + // 创建日期 | |
| 98 | + @Column(updatable = false, name = "create_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP") | |
| 99 | + private Date createDate; | |
| 100 | + | |
| 101 | + // 修改日期 | |
| 102 | + @Column(name = "update_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP") | |
| 103 | + private Date updateDate; | |
| 45 | 104 | |
| 46 | 105 | public Integer getId() { |
| 47 | 106 | return id; |
| ... | ... | @@ -66,13 +125,61 @@ public class CarPark { |
| 66 | 125 | public void setParkName(String parkName) { |
| 67 | 126 | this.parkName = parkName; |
| 68 | 127 | } |
| 128 | + | |
| 129 | + public String getbParkPoint() { | |
| 130 | + return bParkPoint; | |
| 131 | + } | |
| 132 | + | |
| 133 | + public void setbParkPoint(String bParkPoint) { | |
| 134 | + this.bParkPoint = bParkPoint; | |
| 135 | + } | |
| 136 | + | |
| 137 | + public String getbCenterPoint() { | |
| 138 | + return bCenterPoint; | |
| 139 | + } | |
| 140 | + | |
| 141 | + public void setbCenterPoint(String bCenterPoint) { | |
| 142 | + this.bCenterPoint = bCenterPoint; | |
| 143 | + } | |
| 144 | + | |
| 145 | + public String getgParkPoint() { | |
| 146 | + return gParkPoint; | |
| 147 | + } | |
| 148 | + | |
| 149 | + public void setgParkPoint(String gParkPoint) { | |
| 150 | + this.gParkPoint = gParkPoint; | |
| 151 | + } | |
| 152 | + | |
| 153 | + public String getDbType() { | |
| 154 | + return dbType; | |
| 155 | + } | |
| 156 | + | |
| 157 | + public void setDbType(String dbType) { | |
| 158 | + this.dbType = dbType; | |
| 159 | + } | |
| 160 | + | |
| 161 | + public String getShapesType() { | |
| 162 | + return shapesType; | |
| 163 | + } | |
| 164 | + | |
| 165 | + public void setShapesType(String shapesType) { | |
| 166 | + this.shapesType = shapesType; | |
| 167 | + } | |
| 168 | + | |
| 169 | + public Integer getRadius() { | |
| 170 | + return radius; | |
| 171 | + } | |
| 69 | 172 | |
| 70 | - public String getParkPoint() { | |
| 71 | - return parkPoint; | |
| 173 | + public void setRadius(Integer radius) { | |
| 174 | + this.radius = radius; | |
| 72 | 175 | } |
| 73 | 176 | |
| 74 | - public void setParkPoint(String parkPoint) { | |
| 75 | - this.parkPoint = parkPoint; | |
| 177 | + public String getgCenterPoint() { | |
| 178 | + return gCenterPoint; | |
| 179 | + } | |
| 180 | + | |
| 181 | + public void setgCenterPoint(String gCenterPoint) { | |
| 182 | + this.gCenterPoint = gCenterPoint; | |
| 76 | 183 | } |
| 77 | 184 | |
| 78 | 185 | public double getArea() { |
| ... | ... | @@ -82,6 +189,14 @@ public class CarPark { |
| 82 | 189 | public void setArea(double area) { |
| 83 | 190 | this.area = area; |
| 84 | 191 | } |
| 192 | + | |
| 193 | + public String getBrancheCompany() { | |
| 194 | + return brancheCompany; | |
| 195 | + } | |
| 196 | + | |
| 197 | + public void setBrancheCompany(String brancheCompany) { | |
| 198 | + this.brancheCompany = brancheCompany; | |
| 199 | + } | |
| 85 | 200 | |
| 86 | 201 | public String getCompany() { |
| 87 | 202 | return company; |
| ... | ... | @@ -90,4 +205,61 @@ public class CarPark { |
| 90 | 205 | public void setCompany(String company) { |
| 91 | 206 | this.company = company; |
| 92 | 207 | } |
| 208 | + | |
| 209 | + public Integer getDestroy() { | |
| 210 | + return destroy; | |
| 211 | + } | |
| 212 | + | |
| 213 | + public void setDestroy(Integer destroy) { | |
| 214 | + this.destroy = destroy; | |
| 215 | + } | |
| 216 | + | |
| 217 | + public Integer getVersions() { | |
| 218 | + return versions; | |
| 219 | + } | |
| 220 | + | |
| 221 | + public void setVersions(Integer versions) { | |
| 222 | + this.versions = versions; | |
| 223 | + } | |
| 224 | + | |
| 225 | + public String getDescriptions() { | |
| 226 | + return descriptions; | |
| 227 | + } | |
| 228 | + | |
| 229 | + public void setDescriptions(String descriptions) { | |
| 230 | + this.descriptions = descriptions; | |
| 231 | + } | |
| 232 | + | |
| 233 | + public Integer getCreateBy() { | |
| 234 | + return createBy; | |
| 235 | + } | |
| 236 | + | |
| 237 | + public void setCreateBy(Integer createBy) { | |
| 238 | + this.createBy = createBy; | |
| 239 | + } | |
| 240 | + | |
| 241 | + public Integer getUpdateBy() { | |
| 242 | + return updateBy; | |
| 243 | + } | |
| 244 | + | |
| 245 | + public void setUpdateBy(Integer updateBy) { | |
| 246 | + this.updateBy = updateBy; | |
| 247 | + } | |
| 248 | + | |
| 249 | + public Date getCreateDate() { | |
| 250 | + return createDate; | |
| 251 | + } | |
| 252 | + | |
| 253 | + public void setCreateDate(Date createDate) { | |
| 254 | + this.createDate = createDate; | |
| 255 | + } | |
| 256 | + | |
| 257 | + public Date getUpdateDate() { | |
| 258 | + return updateDate; | |
| 259 | + } | |
| 260 | + | |
| 261 | + public void setUpdateDate(Date updateDate) { | |
| 262 | + this.updateDate = updateDate; | |
| 263 | + } | |
| 264 | + | |
| 93 | 265 | } | ... | ... |
src/main/java/com/bsth/entity/Line.java
src/main/java/com/bsth/entity/Section.java
src/main/java/com/bsth/entity/Station.java
src/main/java/com/bsth/repository/LineInformationRepository.java
| ... | ... | @@ -5,6 +5,7 @@ import java.util.List; |
| 5 | 5 | import org.springframework.data.jpa.repository.Query; |
| 6 | 6 | import org.springframework.stereotype.Repository; |
| 7 | 7 | |
| 8 | +import com.bsth.entity.Line; | |
| 8 | 9 | import com.bsth.entity.LineInformation; |
| 9 | 10 | |
| 10 | 11 | /** |
| ... | ... | @@ -28,4 +29,6 @@ public interface LineInformationRepository extends BaseRepository<LineInformatio |
| 28 | 29 | |
| 29 | 30 | @Query("select i from LineInformation i where i.line.lineCode in ?1") |
| 30 | 31 | List<LineInformation> findByLine(List<String> lineCodes); |
| 32 | + | |
| 33 | + List<LineInformation> findByLine(Line line); | |
| 31 | 34 | } | ... | ... |
src/main/java/com/bsth/repository/LineRepository.java
| ... | ... | @@ -23,11 +23,12 @@ import com.bsth.entity.Line; |
| 23 | 23 | @Repository |
| 24 | 24 | public interface LineRepository extends BaseRepository<Line, Integer> { |
| 25 | 25 | |
| 26 | + | |
| 26 | 27 | /** |
| 27 | 28 | * 获取线路编码 |
| 28 | 29 | * |
| 29 | 30 | * @return int <lineCode:线路编码> |
| 30 | 31 | */ |
| 31 | - @Query(value = " SELECT MAX(id)+1 from bsth_c_line ", nativeQuery = true) | |
| 32 | - public int selectMaxIdToLineCode(); | |
| 32 | + @Query(value = " SELECT IFNULL(num,0) as maxId from (SELECT MAX(id) as num FROM bsth_c_line) k ", nativeQuery = true) | |
| 33 | + public long selectMaxIdToLineCode(); | |
| 33 | 34 | } | ... | ... |
src/main/java/com/bsth/repository/SectionRepository.java
| ... | ... | @@ -30,7 +30,7 @@ public interface SectionRepository extends BaseRepository<Section, Integer> { |
| 30 | 30 | // 查询最大ID |
| 31 | 31 | @Query(value = "SELECT IFNULL(num,0) as maxId from (SELECT MAX(id) as num FROM bsth_c_section) k" |
| 32 | 32 | , nativeQuery=true) |
| 33 | - public int sectionMaxId(); | |
| 33 | + public long sectionMaxId(); | |
| 34 | 34 | |
| 35 | 35 | |
| 36 | 36 | /** |
| ... | ... | @@ -54,7 +54,7 @@ public interface SectionRepository extends BaseRepository<Section, Integer> { |
| 54 | 54 | |
| 55 | 55 | "road_coding , section_distance , section_time , db_type, speed_limit ,"+ |
| 56 | 56 | |
| 57 | - "descriptions , versions) "+ | |
| 57 | + "descriptions , versions,id) "+ | |
| 58 | 58 | |
| 59 | 59 | "VALUES (?1 , ?2 , ?3 , ?4 , ?5 , "+ |
| 60 | 60 | |
| ... | ... | @@ -62,7 +62,7 @@ public interface SectionRepository extends BaseRepository<Section, Integer> { |
| 62 | 62 | |
| 63 | 63 | "?11 , ?12 , ?13 , ?14 , ?15 ,"+ |
| 64 | 64 | |
| 65 | - "?16 , ?17 "+ | |
| 65 | + "?16 , ?17, ?18"+ | |
| 66 | 66 | ")", nativeQuery=true) |
| 67 | 67 | public void systemSave(String sectionCode , String sectionName , String crosesRoad , String endNode , String startNode, |
| 68 | 68 | |
| ... | ... | @@ -70,7 +70,7 @@ public interface SectionRepository extends BaseRepository<Section, Integer> { |
| 70 | 70 | |
| 71 | 71 | String roadCoding,double sectionDistance,double sectionTime,String dbType,double speedLimit, |
| 72 | 72 | |
| 73 | - String descriptions, int versions); | |
| 73 | + String descriptions, int versions,int id); | |
| 74 | 74 | |
| 75 | 75 | |
| 76 | 76 | /** | ... | ... |
src/main/java/com/bsth/repository/SectionRouteRepository.java
| ... | ... | @@ -69,4 +69,63 @@ public interface SectionRouteRepository extends BaseRepository<SectionRoute, Int |
| 69 | 69 | " LEFT JOIN bsth_c_section b ON a.sectionrouteSection = b.id", nativeQuery=true) |
| 70 | 70 | List<Object[]> getSectionRoute(int lineId, int directions); |
| 71 | 71 | |
| 72 | + | |
| 73 | + /** | |
| 74 | + * @Description :TODO(查询路段信息) | |
| 75 | + * | |
| 76 | + * @param map <id:路段路由ID> | |
| 77 | + * | |
| 78 | + * @return List<Object[]> | |
| 79 | + */ | |
| 80 | + @Query(value ="SELECT a.sectionRouteId," + | |
| 81 | + "a.sectionRouteLineCode," + | |
| 82 | + "a.sectionRouteCode," + | |
| 83 | + "a.sectionRouteDirections," + | |
| 84 | + "a.sectionRouteLine," + | |
| 85 | + "a.sectionRouteSection," + | |
| 86 | + "a.sectionRouteDescriptions," + | |
| 87 | + "a.sectionRouteCreateBy," + | |
| 88 | + "a.sectionRouteCreateDate," + | |
| 89 | + "a.sectionRouteUpdateBy," + | |
| 90 | + "a.sectionRouteUpdateDate," + | |
| 91 | + "a.sectionRouteVersions," + | |
| 92 | + "a.sectionRouteDestroy," + | |
| 93 | + "b.id AS sectionId," + | |
| 94 | + "b.section_code AS sectionCode," + | |
| 95 | + "b.section_name AS sectionName," + | |
| 96 | + "b.road_coding AS sectionRoadCoding," + | |
| 97 | + "b.end_node AS sectionEndCode," + | |
| 98 | + "b.start_node AS sectionStartNode," + | |
| 99 | + "b.middle_node AS sectionMiddleNode," + | |
| 100 | + "b.section_type AS sectionType," + | |
| 101 | + "AsText(b.csection_vector) AS sectionCsectionVector," + | |
| 102 | + "AsText(b.bsection_vector) AS sectionBsectionVector," + | |
| 103 | + "AsText(b.gsection_vector) AS sectionGsectionVector," + | |
| 104 | + "b.section_distance AS sectionDistance," + | |
| 105 | + "b.section_time AS sectionTime," + | |
| 106 | + "b.db_type AS sectionDbtype," + | |
| 107 | + "b.speed_limit AS sectionSpeedLimit," + | |
| 108 | + "b.descriptions AS sectionDescriptions," + | |
| 109 | + "b.create_by AS sectionCreateBy," + | |
| 110 | + "b.create_date AS sectionCreateDate," + | |
| 111 | + "b.update_by AS sectionUpdateBy," + | |
| 112 | + "b.update_date AS sectionUpdateDate," + | |
| 113 | + "b.versions AS sectionVersion FROM (" + | |
| 114 | + " SELECT s.id AS sectionRouteId," + | |
| 115 | + "s.line_code AS sectionRouteLineCode," + | |
| 116 | + "s.sectionroute_code AS sectionRouteCode," + | |
| 117 | + "s.directions AS sectionRouteDirections," + | |
| 118 | + "s.line AS sectionRouteLine," + | |
| 119 | + "s.section AS sectionRouteSection," + | |
| 120 | + "s.descriptions AS sectionRouteDescriptions," + | |
| 121 | + "s.create_by AS sectionRouteCreateBy," + | |
| 122 | + "s.create_date AS sectionRouteCreateDate," + | |
| 123 | + "s.update_by AS sectionRouteUpdateBy," + | |
| 124 | + "s.update_date AS sectionRouteUpdateDate," + | |
| 125 | + "s.versions AS sectionRouteVersions," + | |
| 126 | + "s.destroy AS sectionRouteDestroy" + | |
| 127 | + " FROM bsth_c_sectionroute s where s.id =?1) a " + | |
| 128 | + " LEFT JOIN bsth_c_section b on a.sectionRouteSection = b.id", nativeQuery=true) | |
| 129 | + List<Object[]> findSectionRouteInfoFormId(int id); | |
| 130 | + | |
| 72 | 131 | } | ... | ... |
src/main/java/com/bsth/repository/StationRepository.java
| ... | ... | @@ -35,7 +35,7 @@ public interface StationRepository extends BaseRepository<Station, Integer> { |
| 35 | 35 | */ |
| 36 | 36 | @Query(value = "SELECT IFNULL(num,0) as maxId from (SELECT MAX(id) as num FROM bsth_c_station) k" |
| 37 | 37 | , nativeQuery=true) |
| 38 | - int stationMaxId(); | |
| 38 | + long stationMaxId(); | |
| 39 | 39 | |
| 40 | 40 | @Query(value = "SELECT * FROM bsth_c_station s where s.station_name = ?1" |
| 41 | 41 | , nativeQuery=true) |
| ... | ... | @@ -63,12 +63,12 @@ public interface StationRepository extends BaseRepository<Station, Integer> { |
| 63 | 63 | "?1 , ?2 , ?3 , ?4 , ?5," + |
| 64 | 64 | "?6 , ?7 , ?8 , ?9 , GeomFromText(?10),GeomFromText(?11)," + |
| 65 | 65 | "?12 ,?13, ?14, ?15, ?16," + |
| 66 | - "?17,?18)", nativeQuery=true) | |
| 66 | + "?17,?18,?19)", nativeQuery=true) | |
| 67 | 67 | public void stationSave(String stationCode,String stationName,String roadCoding,String dbType,String bJwpoints, |
| 68 | 68 | |
| 69 | 69 | Float gLonx, Float gLaty, Float x,Float y, String gPloygonGrid, String bPloygonGrid, |
| 70 | 70 | |
| 71 | - Integer destroy,Integer radius,String shapesType,Integer versions,String descriptions,Integer createBy,Integer updateBy); | |
| 71 | + Integer destroy,Integer radius,String shapesType,Integer versions,String descriptions,Integer createBy,Integer updateBy,int id); | |
| 72 | 72 | |
| 73 | 73 | /** |
| 74 | 74 | * @Description :TODO(站点更新) | ... | ... |
src/main/java/com/bsth/repository/StationRouteRepository.java
| ... | ... | @@ -118,4 +118,98 @@ public interface StationRouteRepository extends BaseRepository<StationRoute, Int |
| 118 | 118 | "destroy = ?2 WHERE id = ?1", nativeQuery=true) |
| 119 | 119 | public void stationRouteIsDestroyUpd(Integer stationRouteId, Integer destroy); |
| 120 | 120 | |
| 121 | + | |
| 122 | + /** | |
| 123 | + * @Description : TODO(根据线路ID生成行单) | |
| 124 | + * | |
| 125 | + * @param lineId:线路ID | |
| 126 | + * | |
| 127 | + * @return List<Object[]> | |
| 128 | + */ | |
| 129 | + @Query(value = "SELECT * FROM ("+ | |
| 130 | + "SELECT b.g_lonx," + | |
| 131 | + "b.g_laty,b.b_jwpoints," + | |
| 132 | + "a.station_mark," + | |
| 133 | + "a.station_route_code," + | |
| 134 | + "b.station_cod," + | |
| 135 | + "a.distances,"+ | |
| 136 | + "b.station_name," + | |
| 137 | + "a.directions FROM (SELECT " + | |
| 138 | + "s.station_mark," + | |
| 139 | + "s.station_route_code," + | |
| 140 | + "s.directions," + | |
| 141 | + "s.distances,"+ | |
| 142 | + "s.station FROM bsth_c_stationroute s where s.line = ?1) a " + | |
| 143 | + "LEFT JOIN bsth_c_station b " + | |
| 144 | + " on a.station = b.id ORDER BY a.directions ASC ) k ORDER BY k.directions,k.station_route_code ASC", nativeQuery=true) | |
| 145 | + List<Object[]> usingSingle(Integer lineId); | |
| 146 | + | |
| 147 | + /** | |
| 148 | + * @Description : TODO(根据站点路由Id查询详情) | |
| 149 | + * | |
| 150 | + * @param id:站点路由ID | |
| 151 | + * | |
| 152 | + * @return List<Object[]> | |
| 153 | + */ | |
| 154 | + @Query(value = "SELECT a.stationRouteLine," + | |
| 155 | + " a.stationRouteStation," + | |
| 156 | + " a.stationRouteCode," + | |
| 157 | + " a.stationRouteLIneCode," + | |
| 158 | + " a.stationRouteStationMark," + | |
| 159 | + " a.stationOutStationNmber," + | |
| 160 | + " a.stationRoutedirections," + | |
| 161 | + " a.stationRouteDistances," + | |
| 162 | + " a.stationRouteToTime," + | |
| 163 | + " a.staitonRouteFirstTime," + | |
| 164 | + " a.stationRouteEndTime," + | |
| 165 | + " a.stationRouteDescriptions," + | |
| 166 | + " a.stationRouteDestroy," + | |
| 167 | + " a.stationRouteVersions," + | |
| 168 | + " a.stationRouteCreateBy," + | |
| 169 | + " a.stationRouteCreateDate," + | |
| 170 | + " a.stationRouteUpdateBy," + | |
| 171 | + " a.stationRouteUpdateDate," + | |
| 172 | + " b.id AS stationId," + | |
| 173 | + " b.station_cod AS stationCode," + | |
| 174 | + " b.station_name AS stationName," + | |
| 175 | + " b.road_coding AS stationRoadCoding," + | |
| 176 | + " b.db_type AS stationDbType," + | |
| 177 | + " b.b_jwpoints AS stationJwpoints," + | |
| 178 | + " b.g_lonx AS stationGlonx," + | |
| 179 | + " b.g_laty AS stationGlaty," + | |
| 180 | + " b.x AS stationX," + | |
| 181 | + " b.y AS stationY," + | |
| 182 | + " AsText(b.b_polygon_grid) as stationBPolyonGrid," + | |
| 183 | + " AsText(b.g_polygon_grid) AS stationGPloyonGrid, " + | |
| 184 | + " b.destroy AS stationDestroy," + | |
| 185 | + " b.radius AS stationRadius," + | |
| 186 | + " b.shapes_type AS stationShapesType," + | |
| 187 | + " b.versions AS stationVersions," + | |
| 188 | + " b.descriptions AS sttationDescriptions," + | |
| 189 | + " b.create_by AS stationCreateBy," + | |
| 190 | + " b.create_date AS stationCreateDate," + | |
| 191 | + " b.update_by AS stationUpdateBy," + | |
| 192 | + " b.update_date AS stationUpdateDate," + | |
| 193 | + " a.stationRouteId"+ | |
| 194 | + " FROM ( SELECT s.id AS stationRouteId," + | |
| 195 | + " s.line AS stationRouteLine," + | |
| 196 | + " s.station as stationRouteStation," + | |
| 197 | + " s.station_route_code as stationRouteCode," + | |
| 198 | + " s.line_code AS stationRouteLIneCode," + | |
| 199 | + " s.station_mark AS stationRouteStationMark," + | |
| 200 | + " s.out_station_nmber AS stationOutStationNmber," + | |
| 201 | + " s.directions AS stationRoutedirections," + | |
| 202 | + " s.distances AS stationRouteDistances," + | |
| 203 | + " s.to_time AS stationRouteToTime," + | |
| 204 | + " s.first_time AS staitonRouteFirstTime," + | |
| 205 | + " s.end_time AS stationRouteEndTime," + | |
| 206 | + " s.descriptions AS stationRouteDescriptions," + | |
| 207 | + " s.destroy AS stationRouteDestroy," + | |
| 208 | + " s.versions AS stationRouteVersions," + | |
| 209 | + " s.create_by AS stationRouteCreateBy," + | |
| 210 | + " s.create_date AS stationRouteCreateDate," + | |
| 211 | + " s.update_by AS stationRouteUpdateBy," + | |
| 212 | + " s.update_date AS stationRouteUpdateDate FROM bsth_c_stationroute s WHERE s.id = ?1 ) a " + | |
| 213 | + " LEFT JOIN bsth_c_station b ON a.stationRouteStation = b.id", nativeQuery=true) | |
| 214 | + List<Object[]> findStationRouteInfo(Integer id); | |
| 121 | 215 | } | ... | ... |
src/main/java/com/bsth/service/LineService.java
src/main/java/com/bsth/service/SectionRouteService.java
| ... | ... | @@ -23,4 +23,13 @@ import com.bsth.entity.SectionRoute; |
| 23 | 23 | public interface SectionRouteService extends BaseService<SectionRoute, Integer> { |
| 24 | 24 | |
| 25 | 25 | List<Map<String, Object>> getSectionRoute(Map<String, Object> map); |
| 26 | + | |
| 27 | + /** | |
| 28 | + * @Description : TODO(根据路段路由Id查询详情) | |
| 29 | + * | |
| 30 | + * @param map <id:路段路由ID> | |
| 31 | + * | |
| 32 | + * @return List<Map<String, Object>> | |
| 33 | + */ | |
| 34 | + List<Map<String, Object>> findSectionRouteInfoFormId(Map<String, Object> map); | |
| 26 | 35 | } | ... | ... |
src/main/java/com/bsth/service/StationRouteService.java
| ... | ... | @@ -59,4 +59,23 @@ public interface StationRouteService extends BaseService<StationRoute, Integer> |
| 59 | 59 | * @return Map<String, Object> <SUCCESS ; ERROR> |
| 60 | 60 | */ |
| 61 | 61 | Map<String, Object> stationRouteIsDestroy(Map<String, Object> map); |
| 62 | + | |
| 63 | + /** | |
| 64 | + * @Description : TODO(根据线路ID生成行单) | |
| 65 | + * | |
| 66 | + * @param map <id:线路ID> | |
| 67 | + * | |
| 68 | + * @return Map<String, Object> <SUCCESS ; ERROR> | |
| 69 | + */ | |
| 70 | + Map<String, Object> usingSingle(Map<String, Object> map); | |
| 71 | + | |
| 72 | + | |
| 73 | + /** | |
| 74 | + * @Description : TODO(根据站点路由Id查询详情) | |
| 75 | + * | |
| 76 | + * @param map <id:站点路由ID> | |
| 77 | + * | |
| 78 | + * @return List<Map<String, Object>> | |
| 79 | + */ | |
| 80 | + List<Map<String, Object>> findStationRouteInfo(Map<String, Object> map); | |
| 62 | 81 | } | ... | ... |
src/main/java/com/bsth/service/StationService.java
src/main/java/com/bsth/service/impl/LineServiceImpl.java
| ... | ... | @@ -34,7 +34,7 @@ public class LineServiceImpl extends BaseServiceImpl<Line, Integer> implements L |
| 34 | 34 | * |
| 35 | 35 | * @return int <lineCode:线路编码> |
| 36 | 36 | */ |
| 37 | - public int selectMaxIdToLineCode() { | |
| 37 | + public long selectMaxIdToLineCode() { | |
| 38 | 38 | // TODO Auto-generated method stub |
| 39 | 39 | return repository.selectMaxIdToLineCode(); |
| 40 | 40 | } | ... | ... |
src/main/java/com/bsth/service/impl/SectionRouteServiceImpl.java
| ... | ... | @@ -91,4 +91,104 @@ public class SectionRouteServiceImpl extends BaseServiceImpl<SectionRoute, Integ |
| 91 | 91 | return resultList; |
| 92 | 92 | } |
| 93 | 93 | |
| 94 | + /** | |
| 95 | + * @Description : TODO(根据路段路由Id查询详情) | |
| 96 | + * | |
| 97 | + * @param map <id:路段路由ID> | |
| 98 | + * | |
| 99 | + * @return List<Map<String, Object>> | |
| 100 | + */ | |
| 101 | + @Override | |
| 102 | + public List<Map<String, Object>> findSectionRouteInfoFormId(Map<String, Object> map) { | |
| 103 | + | |
| 104 | + // 获取线路ID | |
| 105 | + Integer id = map.get("id").equals("") ? 0 : Integer.parseInt(map.get("id").toString()); | |
| 106 | + | |
| 107 | + List<Object[]> objects = repository.findSectionRouteInfoFormId(id); | |
| 108 | + | |
| 109 | + List<Map<String, Object>> resultList = new ArrayList<Map<String,Object>>(); | |
| 110 | + | |
| 111 | + int len = objects.size(); | |
| 112 | + | |
| 113 | + if(objects.size()>0) { | |
| 114 | + | |
| 115 | + for(int i = 0 ; i < len; i++) { | |
| 116 | + Map<String, Object> tempM = new HashMap<String,Object>(); | |
| 117 | + | |
| 118 | + tempM.put("sectionRouteId", objects.get(i)[0]); | |
| 119 | + | |
| 120 | + tempM.put("sectionRouteLineCode", objects.get(i)[1]); | |
| 121 | + | |
| 122 | + tempM.put("sectionRouteCode", objects.get(i)[2]); | |
| 123 | + | |
| 124 | + tempM.put("sectionRouteDirections", objects.get(i)[3]); | |
| 125 | + | |
| 126 | + tempM.put("sectionRouteLine", objects.get(i)[4]); | |
| 127 | + | |
| 128 | + tempM.put("sectionRouteSection", objects.get(i)[5]); | |
| 129 | + | |
| 130 | + tempM.put("sectionRouteDescriptions", objects.get(i)[6]); | |
| 131 | + | |
| 132 | + tempM.put("sectionRouteCreateBy", objects.get(i)[7]); | |
| 133 | + | |
| 134 | + tempM.put("sectionRouteCreateDate", objects.get(i)[8]); | |
| 135 | + | |
| 136 | + tempM.put("sectionRouteUpdateBy", objects.get(i)[9]); | |
| 137 | + | |
| 138 | + tempM.put("sectionRouteUpdateDate", objects.get(i)[10]); | |
| 139 | + | |
| 140 | + tempM.put("sectionRouteVersions", objects.get(i)[11]); | |
| 141 | + | |
| 142 | + tempM.put("sectionRouteDestroy", objects.get(i)[12]); | |
| 143 | + | |
| 144 | + tempM.put("sectionId", objects.get(i)[13]); | |
| 145 | + | |
| 146 | + tempM.put("sectionCode", objects.get(i)[14]); | |
| 147 | + | |
| 148 | + tempM.put("sectionName", objects.get(i)[15]); | |
| 149 | + | |
| 150 | + tempM.put("sectionRoadCoding", objects.get(i)[16]); | |
| 151 | + | |
| 152 | + tempM.put("sectionEndCode", objects.get(i)[17]); | |
| 153 | + | |
| 154 | + tempM.put("sectionStartNode", objects.get(i)[18]); | |
| 155 | + | |
| 156 | + tempM.put("sectionMiddleNode", objects.get(i)[19]); | |
| 157 | + | |
| 158 | + tempM.put("sectionType", objects.get(i)[20]); | |
| 159 | + | |
| 160 | + tempM.put("sectionCsectionVector", objects.get(i)[21]); | |
| 161 | + | |
| 162 | + tempM.put("sectionBsectionVector", objects.get(i)[22]); | |
| 163 | + | |
| 164 | + tempM.put("sectionGsectionVector", objects.get(i)[23]); | |
| 165 | + | |
| 166 | + tempM.put("sectionDistance", objects.get(i)[24]); | |
| 167 | + | |
| 168 | + tempM.put("sectionTime", objects.get(i)[25]); | |
| 169 | + | |
| 170 | + tempM.put("sectionDbtype", objects.get(i)[26]); | |
| 171 | + | |
| 172 | + tempM.put("sectionSpeedLimit", objects.get(i)[27]); | |
| 173 | + | |
| 174 | + tempM.put("sectionDescriptions", objects.get(i)[28]); | |
| 175 | + | |
| 176 | + tempM.put("sectionCreateBy", objects.get(i)[29]); | |
| 177 | + | |
| 178 | + tempM.put("sectionCreateDate", objects.get(i)[30]); | |
| 179 | + | |
| 180 | + tempM.put("sectionUpdateBy", objects.get(i)[31]); | |
| 181 | + | |
| 182 | + tempM.put("sectionUpdateDate", objects.get(i)[32]); | |
| 183 | + | |
| 184 | + tempM.put("sectionVersion", objects.get(i)[33]); | |
| 185 | + | |
| 186 | + resultList.add(tempM); | |
| 187 | + } | |
| 188 | + | |
| 189 | + } | |
| 190 | + | |
| 191 | + return resultList; | |
| 192 | + } | |
| 193 | + | |
| 94 | 194 | } | ... | ... |
src/main/java/com/bsth/service/impl/StationRouteServiceImpl.java
| 1 | 1 | package com.bsth.service.impl; |
| 2 | 2 | |
| 3 | +import java.io.ByteArrayInputStream; | |
| 4 | +import java.io.InputStream; | |
| 3 | 5 | import java.util.ArrayList; |
| 4 | 6 | import java.util.HashMap; |
| 5 | 7 | import java.util.List; |
| ... | ... | @@ -17,6 +19,7 @@ import com.bsth.repository.SectionRouteRepository; |
| 17 | 19 | import com.bsth.repository.StationRepository; |
| 18 | 20 | import com.bsth.repository.StationRouteRepository; |
| 19 | 21 | import com.bsth.service.StationRouteService; |
| 22 | +import com.bsth.util.FTPClientUtils; | |
| 20 | 23 | |
| 21 | 24 | /** |
| 22 | 25 | * |
| ... | ... | @@ -482,4 +485,220 @@ public class StationRouteServiceImpl extends BaseServiceImpl<StationRoute, Integ |
| 482 | 485 | |
| 483 | 486 | return resultMap; |
| 484 | 487 | } |
| 488 | + | |
| 489 | + /** | |
| 490 | + * @Description : TODO(根据线路ID生成行单) | |
| 491 | + * | |
| 492 | + * @param map <lineId:线路ID> | |
| 493 | + * | |
| 494 | + * @return Map<String, Object> <SUCCESS ; ERROR> | |
| 495 | + */ | |
| 496 | + @Override | |
| 497 | + public Map<String, Object> usingSingle(Map<String, Object> map) { | |
| 498 | + | |
| 499 | + Map<String, Object> resultMap = new HashMap<String,Object>(); | |
| 500 | + | |
| 501 | + try { | |
| 502 | + | |
| 503 | + // 获取线路ID | |
| 504 | + Integer lineId = map.get("lineId").equals("") ? 0 : Integer.parseInt(map.get("lineId").toString()); | |
| 505 | + | |
| 506 | + Line line = lineRepository.findOne(lineId); | |
| 507 | + | |
| 508 | + List<Object[]> objects = repository.usingSingle(lineId); | |
| 509 | + | |
| 510 | + String stationRStr = ""; | |
| 511 | + | |
| 512 | + // windows下的文本文件换行符 | |
| 513 | + String enterStr = "\r\n"; | |
| 514 | + | |
| 515 | + // linux/unix下的文本文件换行符 | |
| 516 | + // String enterStr = "\r"; | |
| 517 | + | |
| 518 | + if(objects.size()>0) { | |
| 519 | + | |
| 520 | + for(int i = 0; i<objects.size();i++) { | |
| 521 | + | |
| 522 | + // 经度 | |
| 523 | + String lng = objects.get(i)[0].toString(); | |
| 524 | + | |
| 525 | + // 纬度 | |
| 526 | + String lat = " " + objects.get(i)[1].toString(); | |
| 527 | + | |
| 528 | + // 站点类型 | |
| 529 | + String stationMake = objects.get(i)[3].toString(); | |
| 530 | + | |
| 531 | + if(stationMake.equals("E")) { | |
| 532 | + | |
| 533 | + stationMake = " " + "2"; | |
| 534 | + | |
| 535 | + }else { | |
| 536 | + | |
| 537 | + stationMake =" " + "1"; | |
| 538 | + | |
| 539 | + } | |
| 540 | + | |
| 541 | + // 站点序号 | |
| 542 | + String stationNo = " " + objects.get(i)[4].toString(); | |
| 543 | + | |
| 544 | + // 站点编码 | |
| 545 | + String stationCode = " " + objects.get(i)[5].toString(); | |
| 546 | + | |
| 547 | + double tempd = Double.parseDouble(objects.get(i)[6].toString())*1000; | |
| 548 | + | |
| 549 | + // 站点距离 | |
| 550 | + String staitondistance = " " + String.valueOf((int) tempd); | |
| 551 | + | |
| 552 | + // 限速 | |
| 553 | + String sleepStr = " " + "60"; | |
| 554 | + | |
| 555 | + // 站点名称 | |
| 556 | + String staitonName = " " + objects.get(i)[7].toString(); | |
| 557 | + | |
| 558 | + stationRStr = stationRStr + lng + lat + stationMake + stationNo + stationCode + staitondistance + sleepStr + staitonName + enterStr; | |
| 559 | + | |
| 560 | + } | |
| 561 | + | |
| 562 | + } | |
| 563 | + | |
| 564 | + System.out.println(stationRStr); | |
| 565 | + | |
| 566 | + FTPClientUtils ftpClientUtils = new FTPClientUtils(); | |
| 567 | + | |
| 568 | + String url = "192.168.168.101"; | |
| 569 | + | |
| 570 | + int port = 21; | |
| 571 | + | |
| 572 | + String username = "testftpservice"; | |
| 573 | + | |
| 574 | + String password = "123"; | |
| 575 | + | |
| 576 | + String path = "C:/ftptest"; | |
| 577 | + | |
| 578 | + String filename = line.getLineCode() + ".txt"; | |
| 579 | + | |
| 580 | + stationRStr = line.getName() + enterStr + stationRStr; | |
| 581 | + | |
| 582 | + InputStream input = new ByteArrayInputStream(stationRStr.getBytes("utf-8")); | |
| 583 | + | |
| 584 | + boolean b = ftpClientUtils.uploadFile(url, port, username, password, path, filename, input); | |
| 585 | + | |
| 586 | + System.out.println(b); | |
| 587 | + | |
| 588 | + resultMap.put("status", ResponseCode.SUCCESS); | |
| 589 | + | |
| 590 | + } catch (Exception e) { | |
| 591 | + | |
| 592 | + resultMap.put("status", ResponseCode.ERROR); | |
| 593 | + | |
| 594 | + logger.error("save erro.", e); | |
| 595 | + | |
| 596 | + } | |
| 597 | + return resultMap; | |
| 598 | + } | |
| 599 | + | |
| 600 | + @Override | |
| 601 | + public List<Map<String, Object>> findStationRouteInfo(Map<String, Object> map) { | |
| 602 | + | |
| 603 | + // 获取线路ID | |
| 604 | + Integer id = map.get("id").equals("") ? 0 : Integer.parseInt(map.get("id").toString()); | |
| 605 | + | |
| 606 | + List<Object[]> objects = repository.findStationRouteInfo(id); | |
| 607 | + | |
| 608 | + List<Map<String, Object>> resultList = new ArrayList<Map<String,Object>>(); | |
| 609 | + | |
| 610 | + int len = objects.size(); | |
| 611 | + | |
| 612 | + if(objects.size()>0) { | |
| 613 | + | |
| 614 | + for(int i = 0 ; i < len; i++) { | |
| 615 | + Map<String, Object> tempM = new HashMap<String,Object>(); | |
| 616 | + | |
| 617 | + tempM.put("stationRouteLine", objects.get(i)[0]); | |
| 618 | + | |
| 619 | + tempM.put("stationRouteStation", objects.get(i)[1]); | |
| 620 | + | |
| 621 | + tempM.put("stationRouteCode", objects.get(i)[2]); | |
| 622 | + | |
| 623 | + tempM.put("stationRouteLIneCode", objects.get(i)[3]); | |
| 624 | + | |
| 625 | + tempM.put("stationRouteStationMark", objects.get(i)[4]); | |
| 626 | + | |
| 627 | + tempM.put("stationOutStationNmber", objects.get(i)[5]); | |
| 628 | + | |
| 629 | + tempM.put("stationRoutedirections", objects.get(i)[6]); | |
| 630 | + | |
| 631 | + tempM.put("stationRouteDistances", objects.get(i)[7]); | |
| 632 | + | |
| 633 | + tempM.put("stationRouteToTime", objects.get(i)[8]); | |
| 634 | + | |
| 635 | + tempM.put("staitonRouteFirstTime", objects.get(i)[9]); | |
| 636 | + | |
| 637 | + tempM.put("stationRouteEndTime", objects.get(i)[10]); | |
| 638 | + | |
| 639 | + tempM.put("stationRouteDescriptions", objects.get(i)[11]); | |
| 640 | + | |
| 641 | + tempM.put("stationRouteDestroy", objects.get(i)[12]); | |
| 642 | + | |
| 643 | + tempM.put("stationRouteVersions", objects.get(i)[13]); | |
| 644 | + | |
| 645 | + tempM.put("stationRouteCreateBy", objects.get(i)[14]); | |
| 646 | + | |
| 647 | + tempM.put("stationRouteCreateDate", objects.get(i)[15]); | |
| 648 | + | |
| 649 | + tempM.put("stationRouteUpdateBy", objects.get(i)[16]); | |
| 650 | + | |
| 651 | + tempM.put("stationRouteUpdateDate", objects.get(i)[17]); | |
| 652 | + | |
| 653 | + tempM.put("stationId", objects.get(i)[18]); | |
| 654 | + | |
| 655 | + tempM.put("stationCode", objects.get(i)[19]); | |
| 656 | + | |
| 657 | + tempM.put("stationName", objects.get(i)[20]); | |
| 658 | + | |
| 659 | + tempM.put("stationRoadCoding", objects.get(i)[21]); | |
| 660 | + | |
| 661 | + tempM.put("stationDbType", objects.get(i)[22]); | |
| 662 | + | |
| 663 | + tempM.put("stationJwpoints", objects.get(i)[23]); | |
| 664 | + | |
| 665 | + tempM.put("stationGlonx", objects.get(i)[24]); | |
| 666 | + | |
| 667 | + tempM.put("stationGlaty", objects.get(i)[25]); | |
| 668 | + | |
| 669 | + tempM.put("stationX", objects.get(i)[26]); | |
| 670 | + | |
| 671 | + tempM.put("stationY", objects.get(i)[27]); | |
| 672 | + | |
| 673 | + tempM.put("stationBPolyonGrid", objects.get(i)[28]); | |
| 674 | + | |
| 675 | + tempM.put("stationGPloyonGrid", objects.get(i)[29]); | |
| 676 | + | |
| 677 | + tempM.put("stationDestroy", objects.get(i)[30]); | |
| 678 | + | |
| 679 | + tempM.put("stationRadius", objects.get(i)[31]); | |
| 680 | + | |
| 681 | + tempM.put("stationShapesType", objects.get(i)[32]); | |
| 682 | + | |
| 683 | + tempM.put("stationVersions", objects.get(i)[33]); | |
| 684 | + | |
| 685 | + tempM.put("sttationDescriptions", objects.get(i)[34]); | |
| 686 | + | |
| 687 | + tempM.put("stationCreateBy", objects.get(i)[35]); | |
| 688 | + | |
| 689 | + tempM.put("stationCreateDate", objects.get(i)[36]); | |
| 690 | + | |
| 691 | + tempM.put("stationUpdateBy", objects.get(i)[37]); | |
| 692 | + | |
| 693 | + tempM.put("stationUpdateDate", objects.get(i)[38]); | |
| 694 | + | |
| 695 | + tempM.put("stationRouteId", objects.get(i)[39]); | |
| 696 | + | |
| 697 | + resultList.add(tempM); | |
| 698 | + } | |
| 699 | + | |
| 700 | + } | |
| 701 | + | |
| 702 | + return resultList; | |
| 703 | + } | |
| 485 | 704 | } | ... | ... |
src/main/java/com/bsth/service/impl/StationServiceImpl.java
| ... | ... | @@ -16,16 +16,19 @@ import com.alibaba.fastjson.JSONArray; |
| 16 | 16 | import com.alibaba.fastjson.JSONObject; |
| 17 | 17 | import com.bsth.common.ResponseCode; |
| 18 | 18 | import com.bsth.entity.Line; |
| 19 | +import com.bsth.entity.LineInformation; | |
| 19 | 20 | import com.bsth.entity.Section; |
| 20 | 21 | import com.bsth.entity.SectionRoute; |
| 21 | 22 | import com.bsth.entity.Station; |
| 22 | 23 | import com.bsth.entity.StationRoute; |
| 24 | +import com.bsth.repository.LineInformationRepository; | |
| 23 | 25 | import com.bsth.repository.LineRepository; |
| 24 | 26 | import com.bsth.repository.SectionRepository; |
| 25 | 27 | import com.bsth.repository.SectionRouteRepository; |
| 26 | 28 | import com.bsth.repository.StationRepository; |
| 27 | 29 | import com.bsth.repository.StationRouteRepository; |
| 28 | 30 | import com.bsth.service.StationService; |
| 31 | +import com.bsth.util.GetUIDAndCode; | |
| 29 | 32 | |
| 30 | 33 | /** |
| 31 | 34 | * |
| ... | ... | @@ -52,6 +55,9 @@ public class StationServiceImpl extends BaseServiceImpl<Station, Integer> implem |
| 52 | 55 | @Autowired |
| 53 | 56 | private StationRouteRepository routeRepository; |
| 54 | 57 | |
| 58 | + @Autowired | |
| 59 | + private LineInformationRepository informationRepository; | |
| 60 | + | |
| 55 | 61 | @Autowired |
| 56 | 62 | private LineRepository lineRepository; |
| 57 | 63 | |
| ... | ... | @@ -103,327 +109,521 @@ public class StationServiceImpl extends BaseServiceImpl<Station, Integer> implem |
| 103 | 109 | // 线路ID |
| 104 | 110 | int lineId = map.get("lineId").toString().equals("") ? 0 : Integer.parseInt(map.get("lineId").toString()); |
| 105 | 111 | |
| 106 | - Double sectionDistance = 0.0; | |
| 112 | + // 半径 | |
| 113 | + int radius = map.get("radius").equals("") ? 0 : Integer.parseInt(map.get("radius").toString()); | |
| 114 | + | |
| 115 | + // 图形类型 | |
| 116 | + String shapesType = map.get("shapesType").equals("") ? "" : map.get("shapesType").toString(); | |
| 117 | + | |
| 118 | + // 路段距离 | |
| 119 | + Double sectionDistance = 0.0d; | |
| 107 | 120 | |
| 108 | - Double sectionDuration = 0.0; | |
| 121 | + // 路段时长 | |
| 122 | + Double sectionDuration = 0.0d; | |
| 123 | + | |
| 124 | + // 里程(上或者下) | |
| 125 | + double sumUpOrDownMileage = 0.0d; | |
| 109 | 126 | |
| 110 | 127 | // 线路信息 |
| 111 | 128 | Line resultLine = lineRepository.findOne(lineId); |
| 112 | 129 | |
| 130 | + Map<String, Object> resultSaveMapm = new HashMap<String,Object>(); | |
| 131 | + | |
| 113 | 132 | if(!stationJSON.equals("")) { |
| 114 | 133 | |
| 115 | - JSONArray stationsArray = JSONArray.parseArray(stationJSON); | |
| 116 | - | |
| 117 | - if(stationsArray.size()>0) { | |
| 118 | - | |
| 119 | - for(int i = 0;i <stationsArray.size();i++) { | |
| 120 | - | |
| 121 | - // 站点名称 | |
| 122 | - String stationName = stationsArray.getJSONObject(i).equals("") ? "" : stationsArray.getJSONObject(i).get("name").toString(); | |
| 123 | - | |
| 124 | - Double distance = stationsArray.getJSONObject(i).get("distance").equals("") ? 0 : Double.parseDouble(stationsArray.getJSONObject(i).get("distance").toString()); | |
| 125 | - | |
| 126 | - // 转成公里 | |
| 127 | - distance = distance/1000; | |
| 128 | - | |
| 129 | - BigDecimal d = new BigDecimal(distance); | |
| 130 | - | |
| 131 | - distance = d.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); | |
| 132 | - | |
| 133 | - sectionDistance= distance + sectionDistance; | |
| 134 | - | |
| 135 | - Double duration = stationsArray.getJSONObject(i).get("duration").equals("") ? 0 : Double.parseDouble(stationsArray.getJSONObject(i).get("duration").toString()); | |
| 136 | - | |
| 137 | - // 转成分钟 | |
| 138 | - duration = duration/60; | |
| 139 | - | |
| 140 | - BigDecimal t = new BigDecimal(duration); | |
| 141 | - | |
| 142 | - duration = t.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); | |
| 143 | - | |
| 144 | - sectionDuration = duration + sectionDuration; | |
| 145 | - | |
| 146 | - // 百度经纬度坐标 | |
| 147 | - String bJwpoints = ""; | |
| 148 | - | |
| 149 | - // 百度坐标经度 | |
| 150 | - String bLonx = JSONObject.parseObject(stationsArray.getJSONObject(i).get("potion").toString()).get("lng").toString(); | |
| 151 | - | |
| 152 | - // 百度坐标纬度 | |
| 153 | - String bLatx = JSONObject.parseObject(stationsArray.getJSONObject(i).get("potion").toString()).get("lat").toString(); | |
| 154 | - | |
| 155 | - // 百度经纬度 | |
| 156 | - bJwpoints = bLonx + " " + bLatx; | |
| 157 | - | |
| 158 | - List<Object[]> stationNameList = repository.findStationName(stationName); | |
| 159 | - | |
| 160 | - boolean isHave = isHaveStationname(bJwpoints,stationNameList); | |
| 161 | - | |
| 162 | - // 初始化站点对象 | |
| 163 | - Station arg0 = new Station(); | |
| 164 | - | |
| 165 | - // 站点编码 | |
| 166 | - int stationCode = 0; | |
| 167 | - | |
| 168 | - if(isHave) { | |
| 169 | - | |
| 170 | - Integer stationId = Integer.parseInt(stationNameList.get(0)[1].toString()); | |
| 171 | - | |
| 172 | - arg0 = repository.findOne(stationId); | |
| 173 | - | |
| 174 | - stationCode = Integer.parseInt(arg0.getStationCod()); | |
| 175 | - | |
| 176 | - }else { | |
| 177 | - | |
| 178 | - stationCode = repository.stationMaxId(); | |
| 179 | - | |
| 180 | - arg0.setStationName(stationName); | |
| 181 | - | |
| 182 | - // 原坐标类型 | |
| 183 | - arg0.setDbType(dbType); | |
| 184 | - | |
| 185 | - // 站点地理位置WGS坐标经度 | |
| 186 | - String gLonx = JSONObject.parseObject(stationsArray.getJSONObject(i).get("WGSpotion").toString()).get("Lng").toString(); | |
| 187 | - arg0.setgLonx(Float.parseFloat(gLonx)); | |
| 188 | - | |
| 189 | - // 站点地理位置WGS坐标纬度 | |
| 190 | - String gLaty = JSONObject.parseObject(stationsArray.getJSONObject(i).get("WGSpotion").toString()).get("Lat").toString(); | |
| 191 | - arg0.setgLaty(Float.parseFloat(gLaty)); | |
| 192 | - | |
| 193 | - // 半径 | |
| 194 | - int radius = map.get("radius").equals("") ? 0 : Integer.parseInt(map.get("radius").toString()); | |
| 195 | - arg0.setRadius(radius); | |
| 196 | - | |
| 197 | - // 图形类型 | |
| 198 | - String shapesType = map.get("shapesType").equals("") ? "" : map.get("shapesType").toString(); | |
| 199 | - arg0.setShapesType(shapesType); | |
| 200 | - | |
| 201 | - // 站点编码 | |
| 202 | - arg0.setStationCod(String.valueOf(stationCode+1)); | |
| 203 | - | |
| 204 | - // 是否想撤销 | |
| 205 | - arg0.setDestroy(destroy); | |
| 206 | - | |
| 207 | - // 版本号 | |
| 208 | - arg0.setVersions(versions); | |
| 209 | - | |
| 210 | - arg0.setbJwpoints(bJwpoints); | |
| 211 | - | |
| 212 | - // 插入站点信息 | |
| 213 | - repository.save(arg0); | |
| 214 | - | |
| 215 | - } | |
| 216 | - | |
| 217 | - // 站点路由对象 | |
| 218 | - StationRoute route = new StationRoute(); | |
| 219 | - | |
| 220 | - // 站点名称 | |
| 221 | - route.setStationName(stationName); | |
| 222 | - | |
| 223 | - route.setDistances(distance); | |
| 224 | - | |
| 225 | - route.setToTime(duration); | |
| 226 | - | |
| 227 | - | |
| 228 | - // 站点编码 | |
| 229 | - route.setStationCode(arg0.getStationCod()); | |
| 230 | - | |
| 231 | - // 站点序号 | |
| 232 | - route.setStationRouteCode((i+1)*100); | |
| 233 | - | |
| 234 | - // 站点类型 | |
| 235 | - if(i==0) { | |
| 236 | - | |
| 237 | - // 起始站 | |
| 238 | - route.setStationMark("B"); | |
| 239 | - | |
| 240 | - }else if(i==stationsArray.size()-1) { | |
| 241 | - | |
| 242 | - // 终点站 | |
| 243 | - route.setStationMark("E"); | |
| 244 | - | |
| 245 | - }else { | |
| 246 | - | |
| 247 | - // 中途站 | |
| 248 | - route.setStationMark("Z"); | |
| 249 | - | |
| 250 | - } | |
| 251 | - | |
| 252 | - // 版本号 | |
| 253 | - route.setVersions(versions); | |
| 254 | - | |
| 255 | - // 站点ID | |
| 256 | - route.setStation(arg0); | |
| 257 | - | |
| 258 | - // 方向 | |
| 259 | - route.setDirections(directions); | |
| 260 | - | |
| 261 | - // 线路ID | |
| 262 | - route.setLine(resultLine); | |
| 263 | - | |
| 264 | - // 线路编码 | |
| 265 | - route.setLineCode(resultLine.getLineCode()); | |
| 266 | - | |
| 267 | - route.setDestroy(destroy); | |
| 268 | - | |
| 269 | - // 插入站点路由信息 | |
| 270 | - routeRepository.save(route); | |
| 271 | - | |
| 272 | - } | |
| 273 | - | |
| 274 | - } | |
| 134 | + resultSaveMapm = savaStationAndStationRouteInfo( stationJSON, sectionDistance, sectionDuration, dbType,radius, shapesType, destroy, versions, sumUpOrDownMileage, directions, resultLine); | |
| 275 | 135 | |
| 276 | 136 | } |
| 277 | 137 | |
| 138 | + sectionDistance = Double.valueOf(resultSaveMapm.get("sectionDistance").toString()); | |
| 139 | + | |
| 140 | + sectionDuration= Double.valueOf(resultSaveMapm.get("sectionDuration").toString()); | |
| 141 | + | |
| 278 | 142 | // 如果路段信息JSON字符串不为空 |
| 279 | 143 | if(!sectionJSON.equals("")) { |
| 280 | 144 | |
| 281 | - // 转换成JSON数组 | |
| 282 | - JSONArray sectionsArray = JSONArray.parseArray(sectionJSON); | |
| 145 | + saveSectionAndSectionRouteInfo( sectionJSON, directions, resultLine, speedLimitStr,sectionDistance, sectionDuration, dbType, versions, destroy); | |
| 146 | + } | |
| 147 | + | |
| 148 | + sumUpOrDownMileage = Double.valueOf(resultSaveMapm.get("sumUpOrDownMileage").toString()); | |
| 149 | + | |
| 150 | + updateLineInfoUpOrDownMileage( resultLine , directions, sumUpOrDownMileage); | |
| 151 | + | |
| 152 | + resultMap.put("status", ResponseCode.SUCCESS); | |
| 153 | + | |
| 154 | + } catch (Exception e) { | |
| 155 | + | |
| 156 | + resultMap.put("status", ResponseCode.ERROR); | |
| 157 | + | |
| 158 | + logger.error("save erro.", e); | |
| 159 | + | |
| 160 | + } | |
| 161 | + | |
| 162 | + return resultMap; | |
| 163 | + } | |
| 164 | + | |
| 165 | + | |
| 166 | + /** | |
| 167 | + * @Description :保存站点和站点路由信息(系统规划) | |
| 168 | + * | |
| 169 | + * @param stationJSON:站点和站点路由json数据 | |
| 170 | + * | |
| 171 | + * @param sectionDistance: 总距离 | |
| 172 | + * | |
| 173 | + * @param sectionDuration: 总时长 | |
| 174 | + * | |
| 175 | + * @param dbType:原坐标类型 | |
| 176 | + * | |
| 177 | + * @param radius:半径 | |
| 178 | + * | |
| 179 | + * @param shapesType:图形类型 | |
| 180 | + * | |
| 181 | + * @param destroy:是否撤销 | |
| 182 | + * | |
| 183 | + * @param versions:版本 | |
| 184 | + * | |
| 185 | + * @param sumUpOrDownMileage:里程(上或者下) | |
| 186 | + * | |
| 187 | + * @param directions:方向 | |
| 188 | + * | |
| 189 | + * @param resultLine:线路实体类 | |
| 190 | + * | |
| 191 | + * @return | |
| 192 | + * | |
| 193 | + * @throws Exception | |
| 194 | + */ | |
| 195 | + public Map<String, Object> savaStationAndStationRouteInfo(String stationJSON,double sectionDistance,double sectionDuration,String dbType, | |
| 196 | + | |
| 197 | + int radius,String shapesType,int destroy,int versions,double sumUpOrDownMileage,int directions,Line resultLine) throws Exception{ | |
| 198 | + | |
| 199 | + Map<String, Object> paramsMeleageAndDistncDura = new HashMap<String,Object>(); | |
| 200 | + | |
| 201 | + JSONArray stationsArray = JSONArray.parseArray(stationJSON); | |
| 202 | + | |
| 203 | + if(stationsArray.size()>0) { | |
| 204 | + | |
| 205 | + for(int i = 0;i <stationsArray.size();i++) { | |
| 283 | 206 | |
| 284 | - // 原始线状图形坐标集合 | |
| 285 | - String sectionsBpoints = ""; | |
| 207 | + // 站点名称 | |
| 208 | + String stationName = stationsArray.getJSONObject(i).equals("") ? "" : stationsArray.getJSONObject(i).get("name").toString(); | |
| 286 | 209 | |
| 287 | - // WGS线状图形坐标集合 | |
| 288 | - String sectionsWJPpoints = ""; | |
| 210 | + Double distance = stationsArray.getJSONObject(i).get("distance").equals("") ? 0 : Double.parseDouble(stationsArray.getJSONObject(i).get("distance").toString()); | |
| 289 | 211 | |
| 290 | - // 遍历 | |
| 291 | - for(int s = 0 ;s<sectionsArray.size();s++) { | |
| 212 | + // 转成公里 | |
| 213 | + distance = distance/1000; | |
| 214 | + | |
| 215 | + BigDecimal d = new BigDecimal(distance); | |
| 216 | + | |
| 217 | + distance = d.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); | |
| 218 | + | |
| 219 | + sectionDistance= distance + sectionDistance; | |
| 220 | + | |
| 221 | + Double duration = stationsArray.getJSONObject(i).get("duration").equals("") ? 0 : Double.parseDouble(stationsArray.getJSONObject(i).get("duration").toString()); | |
| 222 | + | |
| 223 | + // 转成分钟 | |
| 224 | + duration = duration/60; | |
| 225 | + | |
| 226 | + BigDecimal t = new BigDecimal(duration); | |
| 227 | + | |
| 228 | + duration = t.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); | |
| 229 | + | |
| 230 | + sectionDuration = duration + sectionDuration; | |
| 231 | + | |
| 232 | + // 百度经纬度坐标 | |
| 233 | + String bJwpoints = ""; | |
| 234 | + | |
| 235 | + // 百度坐标经度 | |
| 236 | + String bLonx = JSONObject.parseObject(stationsArray.getJSONObject(i).get("potion").toString()).get("lng").toString(); | |
| 237 | + | |
| 238 | + // 百度坐标纬度 | |
| 239 | + String bLatx = JSONObject.parseObject(stationsArray.getJSONObject(i).get("potion").toString()).get("lat").toString(); | |
| 240 | + | |
| 241 | + // 百度经纬度 | |
| 242 | + bJwpoints = bLonx + " " + bLatx; | |
| 243 | + | |
| 244 | + List<Object[]> stationNameList = repository.findStationName(stationName); | |
| 245 | + | |
| 246 | + boolean isHave = isHaveStationname(bJwpoints,stationNameList); | |
| 247 | + | |
| 248 | + // 初始化站点对象 | |
| 249 | + Station arg0 = new Station(); | |
| 250 | + | |
| 251 | + // 站点编码 | |
| 252 | + long stationCode = 0L; | |
| 253 | + | |
| 254 | + if(isHave) { | |
| 292 | 255 | |
| 293 | - String pointsLngStr = sectionsArray.getJSONObject(s).get("lng").toString(); | |
| 256 | + Integer stationId = Integer.parseInt(stationNameList.get(0)[1].toString()); | |
| 294 | 257 | |
| 295 | - String pointsLatStr = sectionsArray.getJSONObject(s).get("lat").toString(); | |
| 258 | + arg0 = repository.findOne(stationId); | |
| 296 | 259 | |
| 297 | - String WGSLngStr = JSONObject.parseObject(sectionsArray.getJSONObject(s).get("WGSpotion").toString()).get("Lng").toString(); | |
| 260 | + }else { | |
| 298 | 261 | |
| 299 | - String WGSLatStr = JSONObject.parseObject(sectionsArray.getJSONObject(s).get("WGSpotion").toString()).get("Lat").toString(); | |
| 262 | + stationCode = GetUIDAndCode.getStationId(); | |
| 300 | 263 | |
| 301 | - if(s==0) { | |
| 302 | - | |
| 303 | - sectionsBpoints = pointsLngStr + " " + pointsLatStr; | |
| 304 | - | |
| 305 | - sectionsWJPpoints = WGSLngStr + " " + WGSLatStr; | |
| 306 | - | |
| 307 | - }else { | |
| 308 | - | |
| 309 | - sectionsBpoints = sectionsBpoints + "," + pointsLngStr + " " + pointsLatStr; | |
| 310 | - | |
| 311 | - sectionsWJPpoints = sectionsWJPpoints + "," + WGSLngStr + " " + WGSLatStr; | |
| 312 | - | |
| 313 | - } | |
| 264 | + arg0.setStationCod(String.valueOf(stationCode)); | |
| 265 | + | |
| 266 | + arg0.setId((int)stationCode); | |
| 267 | + | |
| 268 | + arg0.setStationName(stationName); | |
| 269 | + | |
| 270 | + // 原坐标类型 | |
| 271 | + arg0.setDbType(dbType); | |
| 272 | + | |
| 273 | + // 站点地理位置WGS坐标经度 | |
| 274 | + String gLonx = JSONObject.parseObject(stationsArray.getJSONObject(i).get("WGSpotion").toString()).get("Lng").toString(); | |
| 275 | + arg0.setgLonx(Float.parseFloat(gLonx)); | |
| 276 | + | |
| 277 | + // 站点地理位置WGS坐标纬度 | |
| 278 | + String gLaty = JSONObject.parseObject(stationsArray.getJSONObject(i).get("WGSpotion").toString()).get("Lat").toString(); | |
| 279 | + arg0.setgLaty(Float.parseFloat(gLaty)); | |
| 280 | + | |
| 281 | + arg0.setRadius(radius); | |
| 282 | + | |
| 283 | + | |
| 284 | + arg0.setShapesType(shapesType); | |
| 314 | 285 | |
| 286 | + // 是否想撤销 | |
| 287 | + arg0.setDestroy(destroy); | |
| 288 | + | |
| 289 | + // 版本号 | |
| 290 | + arg0.setVersions(versions); | |
| 291 | + | |
| 292 | + arg0.setbJwpoints(bJwpoints); | |
| 293 | + | |
| 294 | + // 插入站点信息 | |
| 295 | + repository.save(arg0); | |
| 315 | 296 | |
| 316 | 297 | } |
| 317 | 298 | |
| 318 | - int sectionMaxId = sectionRepository.sectionMaxId(); | |
| 299 | + // 站点路由对象 | |
| 300 | + StationRoute route = new StationRoute(); | |
| 301 | + | |
| 302 | + // 站点名称 | |
| 303 | + route.setStationName(stationName); | |
| 304 | + | |
| 305 | + route.setDistances(distance); | |
| 306 | + | |
| 307 | + sumUpOrDownMileage = sumUpOrDownMileage + distance; | |
| 319 | 308 | |
| 320 | - String sectionCode = String.valueOf(sectionMaxId+1); | |
| 309 | + route.setToTime(duration); | |
| 321 | 310 | |
| 322 | - String upOrDownStr = ""; | |
| 323 | 311 | |
| 324 | - if(directions==0){ | |
| 312 | + // 站点编码 | |
| 313 | + route.setStationCode(arg0.getStationCod()); | |
| 314 | + | |
| 315 | + // 站点序号 | |
| 316 | + route.setStationRouteCode((i+1)*100); | |
| 317 | + | |
| 318 | + // 站点类型 | |
| 319 | + if(i==0) { | |
| 320 | + | |
| 321 | + // 起始站 | |
| 322 | + route.setStationMark("B"); | |
| 325 | 323 | |
| 326 | - upOrDownStr = "上行路段"; | |
| 324 | + }else if(i==stationsArray.size()-1) { | |
| 327 | 325 | |
| 328 | - }else if(directions==1){ | |
| 326 | + // 终点站 | |
| 327 | + route.setStationMark("E"); | |
| 328 | + | |
| 329 | + }else { | |
| 329 | 330 | |
| 330 | - upOrDownStr = "下行路段"; | |
| 331 | + // 中途站 | |
| 332 | + route.setStationMark("Z"); | |
| 331 | 333 | |
| 332 | 334 | } |
| 333 | 335 | |
| 334 | - // 路段名称 | |
| 335 | - String sectionName = resultLine.getName()+upOrDownStr; | |
| 336 | + // 版本号 | |
| 337 | + route.setVersions(versions); | |
| 336 | 338 | |
| 337 | - // 交出路 | |
| 338 | - String crosesRoad = ""; | |
| 339 | + // 站点ID | |
| 340 | + route.setStation(arg0); | |
| 339 | 341 | |
| 340 | - // 终止节点 | |
| 341 | - String endNode = ""; | |
| 342 | + // 方向 | |
| 343 | + route.setDirections(directions); | |
| 342 | 344 | |
| 343 | - // 开始节点 | |
| 344 | - String startNode = ""; | |
| 345 | + // 线路ID | |
| 346 | + route.setLine(resultLine); | |
| 345 | 347 | |
| 346 | - // 中间节点 | |
| 347 | - String middleNode = ""; | |
| 348 | + // 线路编码 | |
| 349 | + route.setLineCode(resultLine.getLineCode()); | |
| 348 | 350 | |
| 349 | - // WGS坐标点集合 | |
| 350 | - String gsectionVector = "LINESTRING(" + sectionsWJPpoints +")"; | |
| 351 | + route.setDestroy(destroy); | |
| 351 | 352 | |
| 352 | - // 原坐标点集合 | |
| 353 | - String bsectionVector = "LINESTRING(" + sectionsBpoints + ")"; | |
| 353 | + // 插入站点路由信息 | |
| 354 | + routeRepository.save(route); | |
| 355 | + | |
| 356 | + } | |
| 357 | + | |
| 358 | + paramsMeleageAndDistncDura.put("sumUpOrDownMileage", sumUpOrDownMileage); | |
| 359 | + | |
| 360 | + paramsMeleageAndDistncDura.put("sectionDistance", sectionDistance); | |
| 361 | + | |
| 362 | + paramsMeleageAndDistncDura.put("sectionDuration", sectionDuration); | |
| 363 | + | |
| 364 | + } | |
| 365 | + | |
| 366 | + return paramsMeleageAndDistncDura; | |
| 367 | + | |
| 368 | + } | |
| 369 | + | |
| 370 | + /** | |
| 371 | + * | |
| 372 | + * | |
| 373 | + * @param resultLine:线路实体类 | |
| 374 | + * | |
| 375 | + * @param directions:方向 | |
| 376 | + * | |
| 377 | + * @param sumUpOrDownMileage:里程(上或者下) | |
| 378 | + */ | |
| 379 | + public void updateLineInfoUpOrDownMileage(Line resultLine ,int directions,double sumUpOrDownMileage) { | |
| 380 | + | |
| 381 | + List<LineInformation> listLineInfo = informationRepository.findByLine(resultLine); | |
| 382 | + | |
| 383 | + int listLineSize = listLineInfo.size(); | |
| 384 | + | |
| 385 | + // 不存在线路标准信息则插入 | |
| 386 | + if(listLineSize==0) { | |
| 387 | + | |
| 388 | + LineInformation paramInfo = new LineInformation(); | |
| 389 | + | |
| 390 | + // 上行 | |
| 391 | + if(directions==0) { | |
| 354 | 392 | |
| 355 | - // 城建坐标点集合 | |
| 356 | - String csectionVector = ""; | |
| 393 | + paramInfo.setUpMileage(sumUpOrDownMileage); | |
| 357 | 394 | |
| 358 | - // 路段类型 | |
| 359 | - String sectionType = ""; | |
| 395 | + paramInfo.setDownMileage(0.0d); | |
| 360 | 396 | |
| 361 | - // 道路编码 | |
| 362 | - String roadCoding = ""; | |
| 397 | + paramInfo.setTotalMileage(sumUpOrDownMileage+0.0d); | |
| 363 | 398 | |
| 364 | - // 限速 | |
| 365 | - double speedLimit = Double.parseDouble(speedLimitStr); | |
| 399 | + paramInfo.setType("zc"); | |
| 366 | 400 | |
| 367 | - // 说明 | |
| 368 | - String descriptions = ""; | |
| 401 | + paramInfo.setLine(resultLine); | |
| 369 | 402 | |
| 370 | - // 路段保存 | |
| 371 | - sectionRepository.systemSave(sectionCode, sectionName, crosesRoad, endNode, startNode, | |
| 372 | - | |
| 373 | - middleNode, gsectionVector, bsectionVector, sectionType, csectionVector, | |
| 374 | - | |
| 375 | - roadCoding, sectionDistance, sectionDuration, dbType, speedLimit, | |
| 376 | - | |
| 377 | - descriptions, versions); | |
| 378 | - | |
| 403 | + // 下行 | |
| 404 | + }else if(directions==1) { | |
| 379 | 405 | |
| 406 | + paramInfo.setUpMileage(0.0d); | |
| 380 | 407 | |
| 381 | - Section section = sectionRepository.findOne(Integer.parseInt(sectionCode)); | |
| 408 | + paramInfo.setDownMileage(sumUpOrDownMileage); | |
| 382 | 409 | |
| 383 | - // 路段路由 | |
| 384 | - SectionRoute sectionRoute = new SectionRoute(); | |
| 410 | + paramInfo.setTotalMileage(sumUpOrDownMileage+0.0d); | |
| 385 | 411 | |
| 386 | - // 路段序号 | |
| 387 | - sectionRoute.setSectionrouteCode(100); | |
| 412 | + paramInfo.setType("zc"); | |
| 388 | 413 | |
| 389 | - // 线路编码 | |
| 390 | - sectionRoute.setLineCode(resultLine.getLineCode()); | |
| 414 | + paramInfo.setLine(resultLine); | |
| 391 | 415 | |
| 392 | - // 路段ID | |
| 393 | - sectionRoute.setSection(section); | |
| 416 | + } | |
| 417 | + | |
| 418 | + informationRepository.save(paramInfo); | |
| 419 | + | |
| 420 | + // 存在则更新 | |
| 421 | + }else if(listLineSize>0) { | |
| 422 | + | |
| 423 | + for(int s =0;s<listLineSize;s++) { | |
| 394 | 424 | |
| 395 | - sectionRoute.setDestroy(destroy); | |
| 425 | + LineInformation lineInformation = listLineInfo.get(s); | |
| 396 | 426 | |
| 397 | - // 线路ID | |
| 398 | - sectionRoute.setLine(resultLine); | |
| 427 | + double tempUp = lineInformation.getUpMileage(); | |
| 399 | 428 | |
| 400 | - // 路段编码 | |
| 401 | - sectionRoute.setSectionCode(sectionCode); | |
| 429 | + double tempDown = lineInformation.getDownMileage(); | |
| 402 | 430 | |
| 403 | - // 版本 | |
| 404 | - sectionRoute.setVersions(versions); | |
| 431 | + // 上行 | |
| 432 | + if(directions==0) { | |
| 433 | + | |
| 434 | + if(tempUp>0.0d){ | |
| 435 | + | |
| 436 | + continue; | |
| 437 | + } | |
| 438 | + | |
| 439 | + | |
| 440 | + lineInformation.setUpMileage(sumUpOrDownMileage); | |
| 441 | + | |
| 442 | + lineInformation.setTotalMileage(sumUpOrDownMileage+tempDown); | |
| 443 | + | |
| 444 | + | |
| 445 | + }else if(directions==1) { | |
| 446 | + | |
| 447 | + if(tempDown>0.0d){ | |
| 448 | + | |
| 449 | + continue; | |
| 450 | + } | |
| 451 | + | |
| 452 | + lineInformation.setDownMileage(sumUpOrDownMileage); | |
| 453 | + | |
| 454 | + lineInformation.setTotalMileage(sumUpOrDownMileage+tempUp); | |
| 455 | + | |
| 456 | + } | |
| 405 | 457 | |
| 406 | - // 方向 | |
| 407 | - sectionRoute.setDirections(directions); | |
| 458 | + informationRepository.save(lineInformation); | |
| 408 | 459 | |
| 409 | - // 路段路由保存 | |
| 410 | - sectionRouteRepository.save(sectionRoute); | |
| 411 | 460 | } |
| 412 | 461 | |
| 413 | - resultMap.put("status", ResponseCode.SUCCESS); | |
| 462 | + } | |
| 463 | + | |
| 464 | + } | |
| 465 | + | |
| 466 | + /** | |
| 467 | + * @Description 保存路段与路段路由信息 | |
| 468 | + * | |
| 469 | + * @param sectionJSON:路段与路段路由json字符串数据 | |
| 470 | + * | |
| 471 | + * @param directions:方向 | |
| 472 | + * | |
| 473 | + * @param resultLine:线路实体类 | |
| 474 | + * | |
| 475 | + * @param speedLimitStr:限速 | |
| 476 | + * | |
| 477 | + * @param sectionDistance:总距离 | |
| 478 | + * | |
| 479 | + * @param sectionDuration:总时长 | |
| 480 | + * | |
| 481 | + * @param dbType:原中坐标类型 | |
| 482 | + * | |
| 483 | + * @param versions:版本号 | |
| 484 | + * | |
| 485 | + * @param destroy:是否撤销 | |
| 486 | + * | |
| 487 | + */ | |
| 488 | + public void saveSectionAndSectionRouteInfo(String sectionJSON,int directions,Line resultLine,String speedLimitStr, | |
| 414 | 489 | |
| 415 | - } catch (Exception e) { | |
| 490 | + double sectionDistance,double sectionDuration,String dbType,int versions,int destroy) throws Exception{ | |
| 491 | + | |
| 492 | + // 转换成JSON数组 | |
| 493 | + JSONArray sectionsArray = JSONArray.parseArray(sectionJSON); | |
| 494 | + | |
| 495 | + // 原始线状图形坐标集合 | |
| 496 | + String sectionsBpoints = ""; | |
| 497 | + | |
| 498 | + // WGS线状图形坐标集合 | |
| 499 | + String sectionsWJPpoints = ""; | |
| 500 | + | |
| 501 | + // 遍历 | |
| 502 | + for(int s = 0 ;s<sectionsArray.size();s++) { | |
| 416 | 503 | |
| 417 | - resultMap.put("status", ResponseCode.ERROR); | |
| 504 | + String pointsLngStr = sectionsArray.getJSONObject(s).get("lng").toString(); | |
| 505 | + | |
| 506 | + String pointsLatStr = sectionsArray.getJSONObject(s).get("lat").toString(); | |
| 507 | + | |
| 508 | + String WGSLngStr = JSONObject.parseObject(sectionsArray.getJSONObject(s).get("WGSpotion").toString()).get("Lng").toString(); | |
| 509 | + | |
| 510 | + String WGSLatStr = JSONObject.parseObject(sectionsArray.getJSONObject(s).get("WGSpotion").toString()).get("Lat").toString(); | |
| 511 | + | |
| 512 | + if(s==0) { | |
| 513 | + | |
| 514 | + sectionsBpoints = pointsLngStr + " " + pointsLatStr; | |
| 515 | + | |
| 516 | + sectionsWJPpoints = WGSLngStr + " " + WGSLatStr; | |
| 517 | + | |
| 518 | + }else { | |
| 519 | + | |
| 520 | + sectionsBpoints = sectionsBpoints + "," + pointsLngStr + " " + pointsLatStr; | |
| 521 | + | |
| 522 | + sectionsWJPpoints = sectionsWJPpoints + "," + WGSLngStr + " " + WGSLatStr; | |
| 523 | + | |
| 524 | + } | |
| 418 | 525 | |
| 419 | - logger.error("save erro.", e); | |
| 420 | 526 | |
| 421 | 527 | } |
| 422 | 528 | |
| 423 | - return resultMap; | |
| 529 | + long sectionMaxId = GetUIDAndCode.getSectionId(); | |
| 530 | + | |
| 531 | + String sectionCode = String.valueOf(sectionMaxId); | |
| 532 | + | |
| 533 | + int sectionid = (int)sectionMaxId; | |
| 534 | + | |
| 535 | + String upOrDownStr = ""; | |
| 536 | + | |
| 537 | + if(directions==0){ | |
| 538 | + | |
| 539 | + upOrDownStr = "上行路段"; | |
| 540 | + | |
| 541 | + }else if(directions==1){ | |
| 542 | + | |
| 543 | + upOrDownStr = "下行路段"; | |
| 544 | + | |
| 545 | + } | |
| 546 | + | |
| 547 | + // 路段名称 | |
| 548 | + String sectionName = resultLine.getName()+upOrDownStr; | |
| 549 | + | |
| 550 | + // 交出路 | |
| 551 | + String crosesRoad = ""; | |
| 552 | + | |
| 553 | + // 终止节点 | |
| 554 | + String endNode = ""; | |
| 555 | + | |
| 556 | + // 开始节点 | |
| 557 | + String startNode = ""; | |
| 558 | + | |
| 559 | + // 中间节点 | |
| 560 | + String middleNode = ""; | |
| 561 | + | |
| 562 | + // WGS坐标点集合 | |
| 563 | + String gsectionVector = "LINESTRING(" + sectionsWJPpoints +")"; | |
| 564 | + | |
| 565 | + // 原坐标点集合 | |
| 566 | + String bsectionVector = "LINESTRING(" + sectionsBpoints + ")"; | |
| 567 | + | |
| 568 | + // 城建坐标点集合 | |
| 569 | + String csectionVector = ""; | |
| 570 | + | |
| 571 | + // 路段类型 | |
| 572 | + String sectionType = ""; | |
| 573 | + | |
| 574 | + // 道路编码 | |
| 575 | + String roadCoding = ""; | |
| 576 | + | |
| 577 | + // 限速 | |
| 578 | + double speedLimit = Double.parseDouble(speedLimitStr); | |
| 579 | + | |
| 580 | + // 说明 | |
| 581 | + String descriptions = ""; | |
| 582 | + | |
| 583 | + // 路段保存 | |
| 584 | + sectionRepository.systemSave(sectionCode, sectionName, crosesRoad, endNode, startNode, | |
| 585 | + | |
| 586 | + middleNode, gsectionVector, bsectionVector, sectionType, csectionVector, | |
| 587 | + | |
| 588 | + roadCoding, sectionDistance, sectionDuration, dbType, speedLimit, | |
| 589 | + | |
| 590 | + descriptions, versions,sectionid); | |
| 591 | + | |
| 592 | + | |
| 593 | + | |
| 594 | + Section section = sectionRepository.findOne(sectionid); | |
| 595 | + | |
| 596 | + // 路段路由 | |
| 597 | + SectionRoute sectionRoute = new SectionRoute(); | |
| 598 | + | |
| 599 | + // 路段序号 | |
| 600 | + sectionRoute.setSectionrouteCode(100); | |
| 601 | + | |
| 602 | + // 线路编码 | |
| 603 | + sectionRoute.setLineCode(resultLine.getLineCode()); | |
| 604 | + | |
| 605 | + // 路段ID | |
| 606 | + sectionRoute.setSection(section); | |
| 607 | + | |
| 608 | + sectionRoute.setDestroy(destroy); | |
| 609 | + | |
| 610 | + // 线路ID | |
| 611 | + sectionRoute.setLine(resultLine); | |
| 612 | + | |
| 613 | + // 路段编码 | |
| 614 | + sectionRoute.setSectionCode(sectionCode); | |
| 615 | + | |
| 616 | + // 版本 | |
| 617 | + sectionRoute.setVersions(versions); | |
| 618 | + | |
| 619 | + // 方向 | |
| 620 | + sectionRoute.setDirections(directions); | |
| 621 | + | |
| 622 | + // 路段路由保存 | |
| 623 | + sectionRouteRepository.save(sectionRoute); | |
| 624 | + | |
| 424 | 625 | } |
| 425 | 626 | |
| 426 | - | |
| 427 | 627 | public boolean isHaveStationname(String bJwpoints,List<Object[]> stationNameList) { |
| 428 | 628 | |
| 429 | 629 | boolean temp = true; |
| ... | ... | @@ -452,17 +652,7 @@ public class StationServiceImpl extends BaseServiceImpl<Station, Integer> implem |
| 452 | 652 | return temp; |
| 453 | 653 | } |
| 454 | 654 | |
| 455 | - /** | |
| 456 | - * @Description :TODO(查询站点编码) | |
| 457 | - * | |
| 458 | - * @return int <stationCode站点编码> | |
| 459 | - */ | |
| 460 | - @Override | |
| 461 | - public int getStationCode() { | |
| 462 | - | |
| 463 | - return repository.stationMaxId(); | |
| 464 | - | |
| 465 | - } | |
| 655 | + | |
| 466 | 656 | |
| 467 | 657 | /** |
| 468 | 658 | * @Description :TODO(新增站点保存) |
| ... | ... | @@ -489,6 +679,9 @@ public class StationServiceImpl extends BaseServiceImpl<Station, Integer> implem |
| 489 | 679 | // 站点编码 |
| 490 | 680 | String stationCod = map.get("stationCod").equals("") ? "" : map.get("stationCod").toString(); |
| 491 | 681 | |
| 682 | + // 站点ID | |
| 683 | + int stationId = Integer.valueOf(stationCod); | |
| 684 | + | |
| 492 | 685 | // 站点名称 |
| 493 | 686 | String stationName = map.get("stationName").equals("") ? "" : map.get("stationName").toString(); |
| 494 | 687 | |
| ... | ... | @@ -585,13 +778,12 @@ public class StationServiceImpl extends BaseServiceImpl<Station, Integer> implem |
| 585 | 778 | |
| 586 | 779 | gLonx, gLaty, x, y, gPloygonGrid,bPloygonGrid, destroy, radius, |
| 587 | 780 | |
| 588 | - shapesType, versions, descriptions, createBy, updateBy); | |
| 781 | + shapesType, versions, descriptions, createBy, updateBy,stationId); | |
| 589 | 782 | |
| 590 | 783 | |
| 591 | 784 | |
| 592 | - int staitonId = repository.stationMaxId(); | |
| 593 | 785 | |
| 594 | - Station station = repository.findOne(staitonId); | |
| 786 | + Station station = repository.findOne(stationId); | |
| 595 | 787 | |
| 596 | 788 | StationRoute arg0 = new StationRoute(); |
| 597 | 789 | |
| ... | ... | @@ -605,9 +797,9 @@ public class StationServiceImpl extends BaseServiceImpl<Station, Integer> implem |
| 605 | 797 | arg0.setStationName(stationName); |
| 606 | 798 | |
| 607 | 799 | // 站点路由编码 |
| 608 | - arg0.setStationCode(station.getStationCod()); | |
| 800 | + arg0.setStationCode(stationCod); | |
| 609 | 801 | |
| 610 | - // 站点路由Id | |
| 802 | + // 站点路由序号 | |
| 611 | 803 | arg0.setStationRouteCode(Integer.parseInt(stationRouteCodeArray[0])+1); |
| 612 | 804 | |
| 613 | 805 | // 站点路由类型 |
| ... | ... | @@ -878,7 +1070,7 @@ public class StationServiceImpl extends BaseServiceImpl<Station, Integer> implem |
| 878 | 1070 | |
| 879 | 1071 | if(distanceStr.indexOf("米")!=-1){ |
| 880 | 1072 | |
| 881 | - distance = Double.parseDouble(distanceStr.replaceAll("米", "")); | |
| 1073 | + distance = Double.parseDouble(distanceStr.replaceAll("米", "")) / 1000; | |
| 882 | 1074 | |
| 883 | 1075 | }else if(distanceStr.indexOf("公里")!=-1){ |
| 884 | 1076 | |
| ... | ... | @@ -930,7 +1122,7 @@ public class StationServiceImpl extends BaseServiceImpl<Station, Integer> implem |
| 930 | 1122 | Station arg0 = new Station(); |
| 931 | 1123 | |
| 932 | 1124 | // 站点编码 |
| 933 | - int stationCode = 0; | |
| 1125 | + long stationCode = 0L; | |
| 934 | 1126 | |
| 935 | 1127 | if(isHave) { |
| 936 | 1128 | |
| ... | ... | @@ -942,7 +1134,11 @@ public class StationServiceImpl extends BaseServiceImpl<Station, Integer> implem |
| 942 | 1134 | |
| 943 | 1135 | }else { |
| 944 | 1136 | |
| 945 | - stationCode = repository.stationMaxId(); | |
| 1137 | + stationCode = GetUIDAndCode.getStationId(); | |
| 1138 | + | |
| 1139 | + int stationId = (int) (stationCode); | |
| 1140 | + | |
| 1141 | + arg0.setId(stationId); | |
| 946 | 1142 | |
| 947 | 1143 | arg0.setStationName(stationName); |
| 948 | 1144 | |
| ... | ... | @@ -966,7 +1162,7 @@ public class StationServiceImpl extends BaseServiceImpl<Station, Integer> implem |
| 966 | 1162 | arg0.setShapesType(shapesType); |
| 967 | 1163 | |
| 968 | 1164 | // 站点编码 |
| 969 | - arg0.setStationCod(String.valueOf(stationCode+1)); | |
| 1165 | + arg0.setStationCod(String.valueOf(stationCode)); | |
| 970 | 1166 | |
| 971 | 1167 | // 是否想撤销 |
| 972 | 1168 | arg0.setDestroy(destroy); |
| ... | ... | @@ -978,6 +1174,8 @@ public class StationServiceImpl extends BaseServiceImpl<Station, Integer> implem |
| 978 | 1174 | |
| 979 | 1175 | // 插入站点信息 |
| 980 | 1176 | repository.save(arg0); |
| 1177 | + | |
| 1178 | + | |
| 981 | 1179 | // 站点路由对象 |
| 982 | 1180 | StationRoute route = new StationRoute(); |
| 983 | 1181 | |
| ... | ... | @@ -1081,16 +1279,13 @@ public class StationServiceImpl extends BaseServiceImpl<Station, Integer> implem |
| 1081 | 1279 | } |
| 1082 | 1280 | |
| 1083 | 1281 | } |
| 1084 | - System.out.println(sectionName); | |
| 1085 | - | |
| 1086 | - System.out.println(sectionsBpoints); | |
| 1282 | + | |
| 1087 | 1283 | |
| 1088 | - System.out.println(sectionsWJPpoints); | |
| 1089 | - | |
| 1284 | + long sectionMaxId = GetUIDAndCode.getSectionId(); | |
| 1090 | 1285 | |
| 1091 | - int sectionMaxId = sectionRepository.sectionMaxId(); | |
| 1286 | + String sectionCode = String.valueOf(sectionMaxId); | |
| 1092 | 1287 | |
| 1093 | - String sectionCode = String.valueOf(sectionMaxId+1); | |
| 1288 | + int sectionId = (int) (sectionMaxId); | |
| 1094 | 1289 | |
| 1095 | 1290 | // 交出路 |
| 1096 | 1291 | String crosesRoad = ""; |
| ... | ... | @@ -1138,7 +1333,7 @@ public class StationServiceImpl extends BaseServiceImpl<Station, Integer> implem |
| 1138 | 1333 | |
| 1139 | 1334 | roadCoding, sectionDistance, sectionTime, dbType, speedLimit, |
| 1140 | 1335 | |
| 1141 | - descriptions, versions); | |
| 1336 | + descriptions, versions,sectionId); | |
| 1142 | 1337 | |
| 1143 | 1338 | |
| 1144 | 1339 | ... | ... |
src/main/resources/static/index.html
| ... | ... | @@ -281,6 +281,7 @@ tr.row-active td { |
| 281 | 281 | <script src="http://api.map.baidu.com/api?v=2.0&ak=IGGrr4UjwIYzatoCRFKEL8sT" data-exclude=1></script> |
| 282 | 282 | <script src="http://api.map.baidu.com/library/TrafficControl/1.4/src/TrafficControl_min.js" data-exclude=1></script> |
| 283 | 283 | <script type="text/javascript" src="http://api.map.baidu.com/library/DrawingManager/1.4/src/DrawingManager_min.js" data-exclude=1></script> |
| 284 | +<script type="text/javascript" src="http://api.map.baidu.com/library/RichMarker/1.2/src/RichMarker_min.js "> | |
| 284 | 285 | <script src="/assets/js/baidu/TextIconOverlay.js"></script> |
| 285 | 286 | <script src="/assets/js/baidu//MarkerClusterer.js"></script> |
| 286 | 287 | <!-- 高德 --> | ... | ... |
src/main/resources/static/pages/base/line/js/line-add-form.js
src/main/resources/static/pages/base/section/list.html
| ... | ... | @@ -43,28 +43,28 @@ |
| 43 | 43 | <tr role="row" class="filter"> |
| 44 | 44 | <td></td> |
| 45 | 45 | <td> |
| 46 | - <input type="text" class="form-control form-filter input-sm" name="lineCode"> | |
| 46 | + <input type="text" class="form-control form-filter input-sm" name="lineCode_eq"> | |
| 47 | 47 | </td> |
| 48 | 48 | <td> |
| 49 | - <input type="text" class="form-control form-filter input-sm" name="name"> | |
| 49 | + <input type="text" class="form-control form-filter input-sm" name="line.name_like"> | |
| 50 | 50 | </td> |
| 51 | 51 | <td> |
| 52 | - <input type="text" class="form-control form-filter input-sm" name="carSumNumber"> | |
| 52 | + <input type="text" class="form-control form-filter input-sm" name="directions_eq"> | |
| 53 | 53 | </td> |
| 54 | 54 | <td> |
| 55 | - <input type="text" class="form-control form-filter input-sm" name="carParkCode"> | |
| 55 | + <input type="text" class="form-control form-filter input-sm" name="section.sectionName_like"> | |
| 56 | 56 | </td> |
| 57 | 57 | <td> |
| 58 | - <input type="text" class="form-control form-filter input-sm" name="startStationName"> | |
| 58 | + <input type="text" class="form-control form-filter input-sm" name="sectionCode_eq"> | |
| 59 | 59 | </td> |
| 60 | 60 | <td> |
| 61 | - <input type="text" class="form-control form-filter input-sm" name="endStationName"> | |
| 61 | + <input type="text" class="form-control form-filter input-sm" name="sectionrouteCode_eq"> | |
| 62 | 62 | </td> |
| 63 | 63 | <td> |
| 64 | - <input type="text" class="form-control form-filter input-sm" name="company"> | |
| 64 | + <input type="text" class="form-control form-filter input-sm" name="versions_eq"> | |
| 65 | 65 | </td> |
| 66 | 66 | <td> |
| 67 | - <select class="form-control form-filter " name="destroy"> | |
| 67 | + <select class="form-control form-filter " name="destroy_eq"> | |
| 68 | 68 | <option value="">请选择...</option> |
| 69 | 69 | <option value="1">运营</option> |
| 70 | 70 | <option value="0">撤销</option> |
| ... | ... | @@ -122,14 +122,13 @@ |
| 122 | 122 | {{obj.destroy}} |
| 123 | 123 | </td> |
| 124 | 124 | <td> |
| 125 | - <a href="edit.html?no={{obj.id}}" class="btn default blue-stripe btn-sm" data-pjax> 定位 </a> | |
| 126 | - <a href="edit.html?no={{obj.id}}" class="btn default blue-stripe btn-sm" data-pjax> 修改 </a> | |
| 125 | + <a href="positions.html?no={{obj.id}}" class="btn default blue-stripe btn-sm" data-pjax> 定位 </a> | |
| 127 | 126 | </td> |
| 128 | 127 | </tr> |
| 129 | 128 | {{/each}} |
| 130 | 129 | {{if list.length == 0}} |
| 131 | 130 | <tr> |
| 132 | - <td colspan=8><h6 class="muted">没有找到相关数据</h6></td> | |
| 131 | + <td colspan=9><h6 class="muted">没有找到相关数据</h6></td> | |
| 133 | 132 | </tr> |
| 134 | 133 | {{/if}} |
| 135 | 134 | </script> | ... | ... |
src/main/resources/static/pages/base/station/js/station-list-table.js
| 1 | 1 | /** |
| 2 | 2 | * |
| 3 | - * @JSName : list.js(线路信息list.html页面js) | |
| 3 | + * @JSName : list.js(站点信息list.html页面js) | |
| 4 | 4 | * |
| 5 | 5 | * @Author : bsth@lq |
| 6 | 6 | * |
| 7 | - * @Description : TODO(线路信息list.html页面js) | |
| 7 | + * @Description : TODO(站点信息list.html页面js) | |
| 8 | 8 | * |
| 9 | 9 | * @Data : 2016年4月28日 上午9:21:17 |
| 10 | 10 | * |
| ... | ... | @@ -14,59 +14,60 @@ |
| 14 | 14 | |
| 15 | 15 | (function(){ |
| 16 | 16 | |
| 17 | - /** | |
| 18 | - * -----page : 当前页 | |
| 19 | - * | |
| 20 | - * -----initPag : | |
| 21 | - * | |
| 22 | - */ | |
| 17 | + /** page : 当前页 initPag : */ | |
| 23 | 18 | var page = 0,initPag; |
| 24 | 19 | |
| 25 | - | |
| 26 | - | |
| 27 | - // 表格数据分页加载 | |
| 20 | + /** 表格数据分页加载 */ | |
| 28 | 21 | loadTableDate(null,true); |
| 29 | 22 | |
| 30 | - /** | |
| 31 | - * 重置按钮事件 | |
| 32 | - * | |
| 33 | - */ | |
| 23 | + /** 重置按钮事件 */ | |
| 34 | 24 | $('tr.filter .filter-cancel').on('click',function(){ |
| 25 | + | |
| 35 | 26 | // 清空搜索框值 |
| 36 | 27 | $('tr.filter input,select').val('').change(); |
| 28 | + | |
| 37 | 29 | // 重新加载表格数据 |
| 38 | 30 | loadTableDate(null,true); |
| 39 | 31 | }); |
| 40 | 32 | |
| 41 | - /** | |
| 42 | - * 搜索按钮事件 | |
| 43 | - * | |
| 44 | - */ | |
| 33 | + /** 搜索按钮事件 */ | |
| 45 | 34 | $('tr.filter .filter-submit').on('click',function(){ |
| 35 | + | |
| 46 | 36 | // cells 集合返回表格中所有(列)单元格的一个数组 |
| 47 | 37 | var cells = $('tr.filter')[0].cells; |
| 38 | + | |
| 48 | 39 | // 搜索参数集合 |
| 49 | 40 | var params = {}; |
| 41 | + | |
| 50 | 42 | // 搜索字段名称 |
| 51 | 43 | var name; |
| 44 | + | |
| 52 | 45 | // 遍历cells数组 |
| 53 | 46 | $.each(cells, function(i, cell){ |
| 47 | + | |
| 54 | 48 | // 获取第i列的input或者select集合 |
| 55 | 49 | var items = $('input,select', cell); |
| 50 | + | |
| 56 | 51 | // 遍历items集合 |
| 57 | 52 | for(var j = 0, item; item = items[j++];){ |
| 53 | + | |
| 58 | 54 | // 获取字段名称 |
| 59 | 55 | name = $(item).attr('name'); |
| 56 | + | |
| 60 | 57 | if(name){ |
| 58 | + | |
| 61 | 59 | // 赋取相对应的值 |
| 62 | 60 | params[name] = $(item).val(); |
| 61 | + | |
| 63 | 62 | } |
| 64 | 63 | } |
| 64 | + | |
| 65 | 65 | }); |
| 66 | + | |
| 66 | 67 | page = 0; |
| 67 | 68 | |
| 68 | - console.log(params); | |
| 69 | 69 | loadTableDate(params,true); |
| 70 | + | |
| 70 | 71 | }); |
| 71 | 72 | |
| 72 | 73 | /** |
| ... | ... | @@ -78,64 +79,99 @@ |
| 78 | 79 | * |
| 79 | 80 | */ |
| 80 | 81 | function loadTableDate(param,isPon){ |
| 82 | + | |
| 81 | 83 | // 搜索参数 |
| 82 | 84 | var params = {}; |
| 83 | - if(param) | |
| 85 | + | |
| 86 | + if(param) { | |
| 87 | + | |
| 84 | 88 | params = param; |
| 89 | + | |
| 90 | + } | |
| 91 | + | |
| 85 | 92 | // 排序(按更新时间) |
| 86 | 93 | params['order'] = 'id'; |
| 94 | + | |
| 87 | 95 | // 记录当前页数 |
| 88 | 96 | params['page'] = page; |
| 97 | + | |
| 89 | 98 | // 弹出正在加载层 |
| 90 | 99 | var i = layer.load(2); |
| 100 | + | |
| 91 | 101 | // 异步请求获取表格数据 |
| 92 | 102 | $.get('/stationroute',params,function(result){ |
| 93 | 103 | |
| 104 | + console.log(result); | |
| 105 | + | |
| 94 | 106 | // 添加序号 |
| 95 | 107 | result.content.page = page; |
| 96 | 108 | |
| 97 | 109 | // 把数据填充到模版中 |
| 98 | 110 | var tbodyHtml = template('staitonInfo_list_table_temp',{list:result.content}); |
| 99 | - // 把渲染好的模版html文本追加到表格中 | |
| 100 | - $('#datatable_line tbody').html(tbodyHtml); | |
| 111 | + | |
| 112 | + | |
| 113 | + $('#datatable_station tbody').html(tbodyHtml); | |
| 114 | + | |
| 101 | 115 | // 是重新分页且返回数据长度大于0 |
| 102 | 116 | if(isPon && result.content.length > 0){ |
| 117 | + | |
| 103 | 118 | // 重新分页 |
| 104 | 119 | initPag = true; |
| 120 | + | |
| 105 | 121 | // 分页栏 |
| 106 | 122 | showPagination(result); |
| 123 | + | |
| 107 | 124 | } |
| 125 | + | |
| 108 | 126 | // 关闭弹出加载层 |
| 109 | 127 | layer.close(i); |
| 128 | + | |
| 110 | 129 | }); |
| 111 | 130 | } |
| 112 | 131 | |
| 113 | - /** | |
| 114 | - * 分页栏组件 | |
| 115 | - * | |
| 116 | - */ | |
| 132 | + /** 分页栏组件 */ | |
| 117 | 133 | function showPagination(data){ |
| 134 | + | |
| 118 | 135 | // 分页组件 |
| 119 | 136 | $('#pagination').jqPaginator({ |
| 137 | + | |
| 120 | 138 | // 总页数 |
| 121 | 139 | totalPages: data.totalPages, |
| 140 | + | |
| 122 | 141 | // 中间显示页数 |
| 123 | 142 | visiblePages: 6, |
| 143 | + | |
| 124 | 144 | // 当前页 |
| 125 | 145 | currentPage: page + 1, |
| 146 | + | |
| 126 | 147 | first: '<li class="first"><a href="javascript:void(0);">首页<\/a><\/li>', |
| 148 | + | |
| 127 | 149 | prev: '<li class="prev"><a href="javascript:void(0);">上一页<\/a><\/li>', |
| 150 | + | |
| 128 | 151 | next: '<li class="next"><a href="javascript:void(0);">下一页<\/a><\/li>', |
| 152 | + | |
| 129 | 153 | last: '<li class="last"><a href="javascript:void(0);">尾页<\/a><\/li>', |
| 154 | + | |
| 130 | 155 | page: '<li class="page"><a href="javascript:void(0);">{{page}}<\/a><\/li>', |
| 156 | + | |
| 131 | 157 | onPageChange: function (num, type) { |
| 158 | + | |
| 132 | 159 | if(initPag){ |
| 160 | + | |
| 133 | 161 | initPag = false; |
| 162 | + | |
| 134 | 163 | return; |
| 164 | + | |
| 135 | 165 | } |
| 166 | + | |
| 136 | 167 | page = num - 1; |
| 168 | + | |
| 137 | 169 | loadTableDate(null, false); |
| 170 | + | |
| 138 | 171 | } |
| 172 | + | |
| 139 | 173 | }); |
| 174 | + | |
| 140 | 175 | } |
| 176 | + | |
| 141 | 177 | })(); |
| 142 | 178 | \ No newline at end of file | ... | ... |
src/main/resources/static/pages/base/station/list.html
| ... | ... | @@ -26,7 +26,7 @@ |
| 26 | 26 | </div> |
| 27 | 27 | <div class="portlet-body"> |
| 28 | 28 | <div class="table-container" style="margin-top: 10px"> |
| 29 | - <table class="table table-striped table-bordered table-hover table-checkable" id="datatable_line"> | |
| 29 | + <table class="table table-striped table-bordered table-hover table-checkable" id="datatable_station"> | |
| 30 | 30 | <thead> |
| 31 | 31 | <tr role="row" class="heading"> |
| 32 | 32 | <th width="3%">序号</th> |
| ... | ... | @@ -44,34 +44,43 @@ |
| 44 | 44 | <tr role="row" class="filter"> |
| 45 | 45 | <td>#</td> |
| 46 | 46 | <td> |
| 47 | - <input type="text" class="form-control form-filter input-sm" name="carParkCode"> | |
| 47 | + <input type="text" class="form-control form-filter input-sm" name="lineCode_eq"> | |
| 48 | 48 | </td> |
| 49 | 49 | <td> |
| 50 | - <input type="text" class="form-control form-filter input-sm" name="startStationName"> | |
| 50 | + <input type="text" class="form-control form-filter input-sm" name="line.name_like"> | |
| 51 | 51 | </td> |
| 52 | 52 | <td> |
| 53 | - <input type="text" class="form-control form-filter input-sm" name="endStationName"> | |
| 53 | + <select class="form-control form-filter " name="directions_eq"> | |
| 54 | + <option value="">请选择...</option> | |
| 55 | + <option value="0">上行</option> | |
| 56 | + <option value="1">下行</option> | |
| 57 | + </select> | |
| 54 | 58 | </td> |
| 55 | 59 | <td> |
| 56 | - <input type="text" class="form-control form-filter input-sm" name="brancheCompany"> | |
| 60 | + <input type="text" class="form-control form-filter input-sm" name="stationName_like"> | |
| 57 | 61 | </td> |
| 58 | 62 | <td> |
| 59 | - <input type="text" class="form-control form-filter input-sm" name="startStationName"> | |
| 63 | + <input type="text" class="form-control form-filter input-sm" name="stationCode_eq"> | |
| 60 | 64 | </td> |
| 61 | 65 | <td> |
| 62 | - <input type="text" class="form-control form-filter input-sm" name="endStationName"> | |
| 66 | + <input type="text" class="form-control form-filter input-sm" name="stationRouteCode_eq"> | |
| 63 | 67 | </td> |
| 64 | 68 | <td> |
| 65 | - <input type="text" class="form-control form-filter input-sm" name="brancheCompany"> | |
| 69 | + <select class="form-control form-filter " name="stationMark_eq"> | |
| 70 | + <option value="">请选择...</option> | |
| 71 | + <option value="B">起始站</option> | |
| 72 | + <option value="Z">中途站</option> | |
| 73 | + <option value="E">终点站</option> | |
| 74 | + </select> | |
| 66 | 75 | </td> |
| 67 | 76 | <td> |
| 68 | - <input type="text" class="form-control form-filter input-sm" name="company"> | |
| 77 | + <input type="text" class="form-control form-filter input-sm" name="versions_eq"> | |
| 69 | 78 | </td> |
| 70 | 79 | <td> |
| 71 | - <select class="form-control form-filter " name="destroy"> | |
| 80 | + <select class="form-control form-filter " name="destroy_eq"> | |
| 72 | 81 | <option value="">请选择...</option> |
| 73 | - <option value="1">运营</option> | |
| 74 | - <option value="0">撤销</option> | |
| 82 | + <option value="0">运营</option> | |
| 83 | + <option value="1">撤销</option> | |
| 75 | 84 | </select> |
| 76 | 85 | </td> |
| 77 | 86 | <td> |
| ... | ... | @@ -129,14 +138,13 @@ |
| 129 | 138 | {{obj.destroy}} |
| 130 | 139 | </td> |
| 131 | 140 | <td> |
| 132 | - <a href="edit.html?no={{obj.id}}" class="btn default blue-stripe btn-sm" data-pjax> 定位 </a> | |
| 133 | - <a href="edit.html?no={{obj.id}}" class="btn default blue-stripe btn-sm" data-pjax> 修改 </a> | |
| 141 | + <a href="positions.html?no={{obj.id}}" class="btn default blue-stripe btn-sm" data-pjax> 定位 </a> | |
| 134 | 142 | </td> |
| 135 | 143 | </tr> |
| 136 | 144 | {{/each}} |
| 137 | 145 | {{if list.length == 0}} |
| 138 | 146 | <tr> |
| 139 | - <td colspan=8><h6 class="muted">没有找到相关数据</h6></td> | |
| 147 | + <td colspan=11><h6 class="muted">没有找到相关数据</h6></td> | |
| 140 | 148 | </tr> |
| 141 | 149 | {{/if}} |
| 142 | 150 | </script> | ... | ... |
src/main/resources/static/pages/base/stationroute/add_select.html
| ... | ... | @@ -47,10 +47,10 @@ |
| 47 | 47 | |
| 48 | 48 | <div class="form-group"> |
| 49 | 49 | <div class="alert alert-info font-blue-chambray" style="background-color: #2C3E50"> |
| 50 | - <h5 class="block"><span class="help-block"> * 新增方式说明: </span></h5> | |
| 51 | - <p><span class="help-block"> a)系统生成:根据站点名称自动生成以300米为半径范围的圆.</span> </p> | |
| 52 | - <p><span class="help-block"> b)手动添加:手动在地图上画出站点范围,然后双击鼠标右键保存.</span> </p> | |
| 53 | - <p><span class="help-block"> c)选择引用:从系统中选择已有的站点进行引用.</span> </p> | |
| 50 | + <h5 class="block"><span class="help-block" style="color:#eee;"> * 新增方式说明: </span></h5> | |
| 51 | + <p><span class="help-block" style="color:#eee;"> a)系统生成:根据站点名称自动生成以300米为半径范围的圆.</span> </p> | |
| 52 | + <p><span class="help-block" style="color:#eee;"> b)手动添加:手动在地图上画出站点范围,然后双击鼠标右键保存.</span> </p> | |
| 53 | + <p><span class="help-block" style="color:#eee;"> c)选择引用:从系统中选择已有的站点进行引用.</span> </p> | |
| 54 | 54 | </div> |
| 55 | 55 | </div> |
| 56 | 56 | </form> | ... | ... |
src/main/resources/static/pages/base/stationroute/edit.html
src/main/resources/static/pages/base/stationroute/js/stationroute-ajax-getdata.js
| ... | ... | @@ -345,6 +345,7 @@ var GetAjaxData = function(){ |
| 345 | 345 | |
| 346 | 346 | }, |
| 347 | 347 | |
| 348 | + // 手动规划线路保存 | |
| 348 | 349 | manualSave : function(params,callback) { |
| 349 | 350 | |
| 350 | 351 | // 保存 |
| ... | ... | @@ -354,6 +355,16 @@ var GetAjaxData = function(){ |
| 354 | 355 | |
| 355 | 356 | }); |
| 356 | 357 | |
| 358 | + }, | |
| 359 | + | |
| 360 | + createUsingSingle : function(params,callback) { | |
| 361 | + | |
| 362 | + $post('/stationroute/usingSingle',params,function(p) { | |
| 363 | + | |
| 364 | + return callback && callback(p); | |
| 365 | + | |
| 366 | + }); | |
| 367 | + | |
| 357 | 368 | } |
| 358 | 369 | |
| 359 | 370 | } | ... | ... |
src/main/resources/static/pages/base/stationroute/js/stationroute-list-events.js
| ... | ... | @@ -164,4 +164,17 @@ $(function(){ |
| 164 | 164 | |
| 165 | 165 | }); |
| 166 | 166 | |
| 167 | + // 生成行单 | |
| 168 | + $('.module_tools #createUsingSingle').on('click', function() { | |
| 169 | + | |
| 170 | + var params = {lineId:id}; | |
| 171 | + | |
| 172 | + GetAjaxData.createUsingSingle(params,function(p) { | |
| 173 | + | |
| 174 | + console.log(p); | |
| 175 | + | |
| 176 | + }) | |
| 177 | + | |
| 178 | + }); | |
| 179 | + | |
| 167 | 180 | }); |
| 168 | 181 | \ No newline at end of file | ... | ... |
src/main/resources/static/pages/base/stationroute/js/stationroute-list-function.js
| ... | ... | @@ -68,7 +68,7 @@ var PublicFunctions = function () { |
| 68 | 68 | GetAjaxData.getStation(id,directionData,function(treeDateJson) { |
| 69 | 69 | |
| 70 | 70 | // 获取数据长度 |
| 71 | - var len = treeDateJson[0].children.length; | |
| 71 | + var len = treeDateJson[0].children[0].children.length; | |
| 72 | 72 | |
| 73 | 73 | // 上行 |
| 74 | 74 | if(directionData==0){ |
| ... | ... | @@ -342,6 +342,36 @@ var PublicFunctions = function () { |
| 342 | 342 | // 如果线路信息不为空 |
| 343 | 343 | if(BusLine) { |
| 344 | 344 | |
| 345 | + console.log(BusLine.yB.length); | |
| 346 | + | |
| 347 | + if(BusLine.yB.length == 0){ | |
| 348 | + | |
| 349 | + layer.confirm('系统生成该线路【'+lineNameV+'】时获取站点与路段异常!请联系管理员或者检查网络连接是否异常!', { | |
| 350 | + btn : [ '确认' ] | |
| 351 | + }, function(index) { | |
| 352 | + | |
| 353 | + // 关闭弹出层 | |
| 354 | + layer.closeAll(); | |
| 355 | + | |
| 356 | + // 上行 | |
| 357 | + if(directionData==0){ | |
| 358 | + | |
| 359 | + // 显示上行规划 | |
| 360 | + $('#upToolsMobal').show(); | |
| 361 | + | |
| 362 | + // 下行 | |
| 363 | + }else if(directionData==1){ | |
| 364 | + | |
| 365 | + // 显示下行规划 | |
| 366 | + $('#downToolsMobal').show(); | |
| 367 | + | |
| 368 | + } | |
| 369 | + | |
| 370 | + return ; | |
| 371 | + }); | |
| 372 | + | |
| 373 | + } | |
| 374 | + | |
| 345 | 375 | // 获取公交线几何对象, 仅当结果自动添加到地图上时有效 |
| 346 | 376 | var Polygon = BusLine.getPolyline(); |
| 347 | 377 | |
| ... | ... | @@ -920,7 +950,13 @@ var PublicFunctions = function () { |
| 920 | 950 | var bJwpointsArray = bJwpointsStr.split(' '); |
| 921 | 951 | |
| 922 | 952 | var point_center = new BMap.Point(bJwpointsArray[0],bJwpointsArray[1]); |
| 923 | - | |
| 953 | + // var htm = '<div style="position: absolute; margin: 0pt; padding: 0pt; width: 80px; height: 26px; left: -10px; top: -35px; overflow: hidden;"><img id="rm3_image" style="border:none;left:0px; top:0px; position:absolute;" src="/pages/base/stationroute/css/img/back1.png"></div>'; | |
| 954 | + var htm = "<div style='background:#E7F0F5;color:#0082CB;border:1px solid #333'>" | |
| 955 | + + "欢迎使用百度地图" | |
| 956 | + + "</div>"; | |
| 957 | + var myRichMarkerObject = new BMapLib.RichMarker(htm, point_center, { "enableDragging": false}); | |
| 958 | + myRichMarkerObject.setWidth('50px'); | |
| 959 | + myRichMarkerObject.setWidth('30px') | |
| 924 | 960 | // 自定义标注物图片 |
| 925 | 961 | var icon_target = new BMap.Icon('/pages/base/stationroute/css/img/cz.png',new BMap.Size(20, 20)); |
| 926 | 962 | |
| ... | ... | @@ -935,6 +971,8 @@ var PublicFunctions = function () { |
| 935 | 971 | |
| 936 | 972 | mapB.addOverlay(markers_thread); |
| 937 | 973 | |
| 974 | + //mapB.addOverlay(myRichMarkerObject); | |
| 975 | + | |
| 938 | 976 | } |
| 939 | 977 | |
| 940 | 978 | } |
| ... | ... | @@ -949,7 +987,7 @@ var PublicFunctions = function () { |
| 949 | 987 | TreeUpOrDown : function(lineId,diraction) { |
| 950 | 988 | |
| 951 | 989 | GetAjaxData.getStation(lineId,diraction,function(treeDateJson) { |
| 952 | - | |
| 990 | + | |
| 953 | 991 | var len = treeDateJson[0].children[0].children.length; |
| 954 | 992 | |
| 955 | 993 | // 上行 | ... | ... |
src/main/resources/static/pages/base/stationroute/list.html