Commit 89c1fc5a29b96f519766f9272f18eb81199dd8b1
Merge branch 'pudong_jdk8' of http://61.169.120.202:8888/panzhaov5/bsth_control into pudong_jdk8
Showing
14 changed files
with
489 additions
and
375 deletions
Too many changes to show.
To preserve performance only 14 of 36 files are displayed.
src/main/java/com/bsth/common/SystemParamKeys.java
| ... | ... | @@ -7,6 +7,8 @@ public class SystemParamKeys { |
| 7 | 7 | |
| 8 | 8 | public static final String SPECIAL_ROLES = "special.roles"; |
| 9 | 9 | |
| 10 | + public static final String SPECIAL_DAYS = "special.days"; | |
| 11 | + | |
| 10 | 12 | public static final String URL_HTTP_GPS_REAL_CACHE = "url.http.gps.real.cache"; |
| 11 | 13 | |
| 12 | 14 | public static final String URL_HTTP_GPS_REAL = "url.http.gps.real"; | ... | ... |
src/main/java/com/bsth/controller/GeoPremiseController.java
| ... | ... | @@ -3,6 +3,7 @@ package com.bsth.controller; |
| 3 | 3 | import com.bsth.common.ResponseCode; |
| 4 | 4 | import com.bsth.entity.GeoPremise; |
| 5 | 5 | import com.bsth.service.GeoPremiseService; |
| 6 | +import com.bsth.util.GeoConverter; | |
| 6 | 7 | import org.springframework.beans.factory.annotation.Autowired; |
| 7 | 8 | import org.springframework.web.bind.annotation.RequestMapping; |
| 8 | 9 | import org.springframework.web.bind.annotation.RequestMethod; |
| ... | ... | @@ -26,6 +27,8 @@ public class GeoPremiseController extends BaseController<GeoPremise, Integer> { |
| 26 | 27 | public Map<String, Object> save(GeoPremise geoPremise) { |
| 27 | 28 | Map<String, Object> result = new HashMap<>(); |
| 28 | 29 | try { |
| 30 | + String coords = geoPremise.getCoords(); | |
| 31 | + geoPremise.setCoordsWgs(GeoConverter.polygonBd2wgs(String.format("POLYGON((%s))", coords)).toString().replace("POLYGON((", "").replace("))", "")); | |
| 29 | 32 | result.putAll(geoPremiseService.save(geoPremise)); |
| 30 | 33 | result.put("status", ResponseCode.SUCCESS); |
| 31 | 34 | } catch (Exception e) { | ... | ... |
src/main/java/com/bsth/controller/realcontrol/AdminUtilsController.java
| ... | ... | @@ -8,7 +8,6 @@ import com.bsth.data.BasicData; |
| 8 | 8 | import com.bsth.security.SsoConfig; |
| 9 | 9 | import com.bsth.service.SectionService; |
| 10 | 10 | import com.bsth.service.StationService; |
| 11 | -import com.bsth.data.SystemParamCache; | |
| 12 | 11 | import com.bsth.data.directive.DayOfDirectives; |
| 13 | 12 | import com.bsth.data.directive.DirectivesPstThread; |
| 14 | 13 | import com.bsth.data.directive.GatewayHttpUtils; | ... | ... |
src/main/java/com/bsth/controller/realcontrol/BasicDataController.java
| 1 | -package com.bsth.controller.realcontrol; | |
| 2 | - | |
| 3 | -import com.alibaba.fastjson.serializer.PropertyFilter; | |
| 4 | -import com.bsth.common.ResponseCode; | |
| 5 | -import com.bsth.data.BasicData; | |
| 6 | -import com.bsth.data.Station2ParkBuffer; | |
| 7 | -import com.bsth.data.pinyin.PersionPinYin; | |
| 8 | -import com.bsth.data.pinyin.PersionPinYinBuffer; | |
| 9 | -import com.bsth.entity.Line; | |
| 10 | -import com.bsth.entity.realcontrol.StationToPark; | |
| 11 | -import com.google.common.base.Splitter; | |
| 12 | -import com.google.common.collect.ArrayListMultimap; | |
| 13 | -import com.google.common.collect.BiMap; | |
| 14 | -import org.slf4j.Logger; | |
| 15 | -import org.slf4j.LoggerFactory; | |
| 16 | -import org.springframework.beans.factory.annotation.Autowired; | |
| 17 | -import org.springframework.web.bind.annotation.RequestMapping; | |
| 18 | -import org.springframework.web.bind.annotation.RequestMethod; | |
| 19 | -import org.springframework.web.bind.annotation.RequestParam; | |
| 20 | -import org.springframework.web.bind.annotation.RestController; | |
| 21 | - | |
| 22 | -import java.util.*; | |
| 23 | - | |
| 24 | -@RestController | |
| 25 | -@RequestMapping("/basic") | |
| 26 | -public class BasicDataController { | |
| 27 | - | |
| 28 | - @Autowired | |
| 29 | - BasicData.BasicDataLoader dataLoader; | |
| 30 | - | |
| 31 | - @Autowired | |
| 32 | - BasicData basicData; | |
| 33 | - | |
| 34 | - Logger logger = LoggerFactory.getLogger(this.getClass()); | |
| 35 | - | |
| 36 | - @Autowired | |
| 37 | - Station2ParkBuffer station2ParkBuffer; | |
| 38 | - | |
| 39 | - @Autowired | |
| 40 | - PersionPinYinBuffer persionPinYinBuffer; | |
| 41 | - | |
| 42 | - @RequestMapping("/cars") | |
| 43 | - public Iterable<String> findAllNbbm(Map<String, Object> map){ | |
| 44 | - return BasicData.deviceId2NbbmMap.values(); | |
| 45 | - } | |
| 46 | - | |
| 47 | - @RequestMapping("/nbbm2deviceId") | |
| 48 | - public Map<String, String> nbbm2deviceId(Map<String, Object> map){ | |
| 49 | - return BasicData.deviceId2NbbmMap.inverse(); | |
| 50 | - } | |
| 51 | - | |
| 52 | - @RequestMapping("/lineCode2Name") | |
| 53 | - public Map<String, String> findLineCodeMap(){ | |
| 54 | - return BasicData.lineCode2NameMap; | |
| 55 | - } | |
| 56 | - | |
| 57 | - @RequestMapping("/parks") | |
| 58 | - public Map<String, String> findParks(){ | |
| 59 | - Map<String, String> rs = new HashMap<>(); | |
| 60 | - List<String> codes = BasicData.parkCodeList; | |
| 61 | - for(String code : codes){ | |
| 62 | - rs.put(code, BasicData.stationCode2NameMap.get(code)); | |
| 63 | - } | |
| 64 | - return rs; | |
| 65 | - } | |
| 66 | - | |
| 67 | - /*@RequestMapping("/personnel") | |
| 68 | - public Map<String, Object> findPersonnelInfo(){ | |
| 69 | - Map<String, Object> rs = new HashMap<>(); | |
| 70 | - PersonnelFieldFilter filter=new PersonnelFieldFilter(); | |
| 71 | - //驾驶员 | |
| 72 | - rs.put("jsy", JSON.parse(JSON.toJSONString(BasicData.jsyMap.values(), filter))); | |
| 73 | - //售票员 | |
| 74 | - rs.put("spy", JSON.parse(JSON.toJSONString(BasicData.spyMap.values(), filter)));*//* | |
| 75 | - return rs; | |
| 76 | - }*/ | |
| 77 | - | |
| 78 | - @RequestMapping(value = "/all_personnel_py", method = RequestMethod.GET) | |
| 79 | - public List<PersionPinYin> findAll_PY(){ | |
| 80 | - return persionPinYinBuffer.getAll(); | |
| 81 | - } | |
| 82 | - | |
| 83 | - @RequestMapping("/all_personnel") | |
| 84 | - public Map<String, String> all_personnel(){ | |
| 85 | - return BasicData.allPerson; | |
| 86 | - } | |
| 87 | - | |
| 88 | - | |
| 89 | - public class PersonnelFieldFilter implements PropertyFilter{ | |
| 90 | - | |
| 91 | - String[] whiteList=new String[]{"jobCode", "personnelName", "brancheCompany"}; | |
| 92 | - @Override | |
| 93 | - public boolean apply(Object object, String name, Object value) { | |
| 94 | - for(String f : whiteList){ | |
| 95 | - if(name.equals(f)) | |
| 96 | - return true; | |
| 97 | - } | |
| 98 | - return false; | |
| 99 | - } | |
| 100 | - } | |
| 101 | - | |
| 102 | - /** | |
| 103 | - * 刷新车辆和设备号对照数据 | |
| 104 | - * @return | |
| 105 | - */ | |
| 106 | - @RequestMapping(value = "/refresh_nbbm2Device", method = RequestMethod.POST) | |
| 107 | - public Map<String, Object> refreshNbbm2DeviceId(){ | |
| 108 | - Map<String, Object> rs = new HashMap<>(); | |
| 109 | - try { | |
| 110 | - dataLoader.loadDeviceInfo(); | |
| 111 | - rs.put("status", ResponseCode.SUCCESS); | |
| 112 | - }catch (Exception e){ | |
| 113 | - rs.put("status", ResponseCode.ERROR); | |
| 114 | - rs.put("msg", e.getMessage()); | |
| 115 | - logger.error("", e); | |
| 116 | - } | |
| 117 | - return rs; | |
| 118 | - } | |
| 119 | - | |
| 120 | - /** | |
| 121 | - * 刷新员工对照数据 | |
| 122 | - * @return | |
| 123 | - */ | |
| 124 | - @RequestMapping(value = "/refresh_person_data", method = RequestMethod.POST) | |
| 125 | - public Map<String, Object> refreshPersonData(){ | |
| 126 | - Map<String, Object> rs = new HashMap<>(); | |
| 127 | - try { | |
| 128 | - dataLoader.loadPersonnelInfo(); | |
| 129 | - rs.put("status", ResponseCode.SUCCESS); | |
| 130 | - }catch (Exception e){ | |
| 131 | - rs.put("status", ResponseCode.ERROR); | |
| 132 | - rs.put("msg", e.getMessage()); | |
| 133 | - logger.error("", e); | |
| 134 | - } | |
| 135 | - return rs; | |
| 136 | - } | |
| 137 | - | |
| 138 | - /** | |
| 139 | - * 车辆自编号和车牌号对照 | |
| 140 | - * @return | |
| 141 | - */ | |
| 142 | - @RequestMapping("/nbbm2PlateNo") | |
| 143 | - public Map<String, String> nbbm2PlateNo(){ | |
| 144 | - return basicData.nbbmCompanyPlateMap; | |
| 145 | - } | |
| 146 | - | |
| 147 | - | |
| 148 | - /** | |
| 149 | - * 获取线路配车信息 | |
| 150 | - * @return | |
| 151 | - */ | |
| 152 | - @RequestMapping("/ccInfo") | |
| 153 | - public Map<String, Collection<String>> ccInfo(){ | |
| 154 | - | |
| 155 | - ArrayListMultimap<String, String> listMultimap = ArrayListMultimap.create(); | |
| 156 | - Set<String> ks = BasicData.nbbm2LineMap.keySet(); | |
| 157 | - | |
| 158 | - Line line; | |
| 159 | - for(String nbbm : ks){ | |
| 160 | - line = BasicData.nbbm2LineMap.get(nbbm); | |
| 161 | - listMultimap.put(line.getLineCode(), nbbm); | |
| 162 | - } | |
| 163 | - return listMultimap.asMap(); | |
| 164 | - } | |
| 165 | - | |
| 166 | - /** | |
| 167 | - * 获取车辆信息 | |
| 168 | - * @return | |
| 169 | - */ | |
| 170 | - @RequestMapping("/ccInfo/lineArray") | |
| 171 | - public List<Map<String, String>> ccInfoByLine(@RequestParam String idx){ | |
| 172 | - List<String> lines = Splitter.on(",").splitToList(idx); | |
| 173 | - List<Map<String, String>> rs = new ArrayList<>(); | |
| 174 | - Map<String, String> map; | |
| 175 | - | |
| 176 | - //ArrayListMultimap<String, String> listMultimap = ArrayListMultimap.create(); | |
| 177 | - Set<String> ks = BasicData.nbbm2LineMap.keySet(); | |
| 178 | - BiMap<String,String> nbbm2deviceMap = BasicData.deviceId2NbbmMap.inverse(); | |
| 179 | - | |
| 180 | - Line line; | |
| 181 | - for(String nbbm : ks){ | |
| 182 | - line = BasicData.nbbm2LineMap.get(nbbm); | |
| 183 | - if(lines.contains(line.getLineCode())){ | |
| 184 | - map = new HashMap<>(); | |
| 185 | - map.put("nbbm", nbbm); | |
| 186 | - map.put("deviceId", nbbm2deviceMap.get(nbbm)); | |
| 187 | - map.put("lineName", line.getName()); | |
| 188 | - map.put("lineCode", line.getLineCode()); | |
| 189 | - rs.add(map); | |
| 190 | - } | |
| 191 | - } | |
| 192 | - return rs; | |
| 193 | - } | |
| 194 | - | |
| 195 | - /** | |
| 196 | - * 获取站点和停车场历时公里对照表 | |
| 197 | - * @param idx | |
| 198 | - * @return | |
| 199 | - */ | |
| 200 | - @RequestMapping("/station2ParkData") | |
| 201 | - public Map<String, Collection<StationToPark>> findStation2ParkData(@RequestParam String idx){ | |
| 202 | - List<String> lines = Splitter.on(",").splitToList(idx); | |
| 203 | - ArrayListMultimap<String, StationToPark> rs = ArrayListMultimap.create(); | |
| 204 | - | |
| 205 | - for(String lineCode : lines){ | |
| 206 | - rs.putAll(lineCode, Station2ParkBuffer.get(lineCode)); | |
| 207 | - } | |
| 208 | - return rs.asMap(); | |
| 209 | - } | |
| 210 | - | |
| 211 | - @RequestMapping(value = "/deleteStation2Park", method = RequestMethod.POST) | |
| 212 | - public Map<String, Object> deleteStation2Park(@RequestParam String lineCode,@RequestParam Integer id){ | |
| 213 | - return station2ParkBuffer.delete(lineCode, id); | |
| 214 | - } | |
| 215 | -} | |
| 1 | +package com.bsth.controller.realcontrol; | |
| 2 | + | |
| 3 | +import com.alibaba.fastjson.serializer.PropertyFilter; | |
| 4 | +import com.bsth.common.ResponseCode; | |
| 5 | +import com.bsth.data.BasicData; | |
| 6 | +import com.bsth.data.Station2ParkBuffer; | |
| 7 | +import com.bsth.data.pinyin.PersionPinYin; | |
| 8 | +import com.bsth.data.pinyin.PersionPinYinBuffer; | |
| 9 | +import com.bsth.entity.Line; | |
| 10 | +import com.bsth.entity.Personnel; | |
| 11 | +import com.bsth.entity.realcontrol.StationToPark; | |
| 12 | +import com.google.common.base.Splitter; | |
| 13 | +import com.google.common.collect.ArrayListMultimap; | |
| 14 | +import com.google.common.collect.BiMap; | |
| 15 | +import org.slf4j.Logger; | |
| 16 | +import org.slf4j.LoggerFactory; | |
| 17 | +import org.springframework.beans.factory.annotation.Autowired; | |
| 18 | +import org.springframework.web.bind.annotation.RequestMapping; | |
| 19 | +import org.springframework.web.bind.annotation.RequestMethod; | |
| 20 | +import org.springframework.web.bind.annotation.RequestParam; | |
| 21 | +import org.springframework.web.bind.annotation.RestController; | |
| 22 | + | |
| 23 | +import java.util.*; | |
| 24 | + | |
| 25 | +@RestController | |
| 26 | +@RequestMapping("/basic") | |
| 27 | +public class BasicDataController { | |
| 28 | + | |
| 29 | + @Autowired | |
| 30 | + BasicData.BasicDataLoader dataLoader; | |
| 31 | + | |
| 32 | + @Autowired | |
| 33 | + BasicData basicData; | |
| 34 | + | |
| 35 | + Logger logger = LoggerFactory.getLogger(this.getClass()); | |
| 36 | + | |
| 37 | + @Autowired | |
| 38 | + Station2ParkBuffer station2ParkBuffer; | |
| 39 | + | |
| 40 | + @Autowired | |
| 41 | + PersionPinYinBuffer persionPinYinBuffer; | |
| 42 | + | |
| 43 | + @RequestMapping("/cars") | |
| 44 | + public Iterable<String> findAllNbbm(Map<String, Object> map){ | |
| 45 | + return BasicData.deviceId2NbbmMap.values(); | |
| 46 | + } | |
| 47 | + | |
| 48 | + @RequestMapping("/nbbm2deviceId") | |
| 49 | + public Map<String, String> nbbm2deviceId(Map<String, Object> map){ | |
| 50 | + return BasicData.deviceId2NbbmMap.inverse(); | |
| 51 | + } | |
| 52 | + | |
| 53 | + @RequestMapping("/lineCode2Name") | |
| 54 | + public Map<String, String> findLineCodeMap(){ | |
| 55 | + return BasicData.lineCode2NameMap; | |
| 56 | + } | |
| 57 | + | |
| 58 | + @RequestMapping("/parks") | |
| 59 | + public Map<String, String> findParks(){ | |
| 60 | + Map<String, String> rs = new HashMap<>(); | |
| 61 | + List<String> codes = BasicData.parkCodeList; | |
| 62 | + for(String code : codes){ | |
| 63 | + rs.put(code, BasicData.stationCode2NameMap.get(code)); | |
| 64 | + } | |
| 65 | + return rs; | |
| 66 | + } | |
| 67 | + | |
| 68 | + /*@RequestMapping("/personnel") | |
| 69 | + public Map<String, Object> findPersonnelInfo(){ | |
| 70 | + Map<String, Object> rs = new HashMap<>(); | |
| 71 | + PersonnelFieldFilter filter=new PersonnelFieldFilter(); | |
| 72 | + //驾驶员 | |
| 73 | + rs.put("jsy", JSON.parse(JSON.toJSONString(BasicData.jsyMap.values(), filter))); | |
| 74 | + //售票员 | |
| 75 | + rs.put("spy", JSON.parse(JSON.toJSONString(BasicData.spyMap.values(), filter)));*//* | |
| 76 | + return rs; | |
| 77 | + }*/ | |
| 78 | + | |
| 79 | + @RequestMapping(value = "/all_personnel_py", method = RequestMethod.GET) | |
| 80 | + public List<PersionPinYin> findAll_PY(){ | |
| 81 | + return persionPinYinBuffer.getAll(); | |
| 82 | + } | |
| 83 | + | |
| 84 | + @RequestMapping("/all_personnel") | |
| 85 | + public Map<String, String> all_personnel(){ | |
| 86 | + return BasicData.allPerson; | |
| 87 | + } | |
| 88 | + | |
| 89 | + @RequestMapping("/allPersonnelMobile") | |
| 90 | + public Map<String, String> allPersonnelMobile(){ | |
| 91 | + Map<String, String> result = new HashMap<>(); | |
| 92 | + for (Personnel personnel : BasicData.perMap.values()) { | |
| 93 | + result.put(personnel.getJobCode(), personnel.getMobile()); | |
| 94 | + } | |
| 95 | + | |
| 96 | + return result; | |
| 97 | + } | |
| 98 | + | |
| 99 | + public class PersonnelFieldFilter implements PropertyFilter{ | |
| 100 | + | |
| 101 | + String[] whiteList=new String[]{"jobCode", "personnelName", "brancheCompany"}; | |
| 102 | + @Override | |
| 103 | + public boolean apply(Object object, String name, Object value) { | |
| 104 | + for(String f : whiteList){ | |
| 105 | + if(name.equals(f)) | |
| 106 | + return true; | |
| 107 | + } | |
| 108 | + return false; | |
| 109 | + } | |
| 110 | + } | |
| 111 | + | |
| 112 | + /** | |
| 113 | + * 刷新车辆和设备号对照数据 | |
| 114 | + * @return | |
| 115 | + */ | |
| 116 | + @RequestMapping(value = "/refresh_nbbm2Device", method = RequestMethod.POST) | |
| 117 | + public Map<String, Object> refreshNbbm2DeviceId(){ | |
| 118 | + Map<String, Object> rs = new HashMap<>(); | |
| 119 | + try { | |
| 120 | + dataLoader.loadDeviceInfo(); | |
| 121 | + rs.put("status", ResponseCode.SUCCESS); | |
| 122 | + }catch (Exception e){ | |
| 123 | + rs.put("status", ResponseCode.ERROR); | |
| 124 | + rs.put("msg", e.getMessage()); | |
| 125 | + logger.error("", e); | |
| 126 | + } | |
| 127 | + return rs; | |
| 128 | + } | |
| 129 | + | |
| 130 | + /** | |
| 131 | + * 刷新员工对照数据 | |
| 132 | + * @return | |
| 133 | + */ | |
| 134 | + @RequestMapping(value = "/refresh_person_data", method = RequestMethod.POST) | |
| 135 | + public Map<String, Object> refreshPersonData(){ | |
| 136 | + Map<String, Object> rs = new HashMap<>(); | |
| 137 | + try { | |
| 138 | + dataLoader.loadPersonnelInfo(); | |
| 139 | + rs.put("status", ResponseCode.SUCCESS); | |
| 140 | + }catch (Exception e){ | |
| 141 | + rs.put("status", ResponseCode.ERROR); | |
| 142 | + rs.put("msg", e.getMessage()); | |
| 143 | + logger.error("", e); | |
| 144 | + } | |
| 145 | + return rs; | |
| 146 | + } | |
| 147 | + | |
| 148 | + /** | |
| 149 | + * 车辆自编号和车牌号对照 | |
| 150 | + * @return | |
| 151 | + */ | |
| 152 | + @RequestMapping("/nbbm2PlateNo") | |
| 153 | + public Map<String, String> nbbm2PlateNo(){ | |
| 154 | + return basicData.nbbmCompanyPlateMap; | |
| 155 | + } | |
| 156 | + | |
| 157 | + | |
| 158 | + /** | |
| 159 | + * 获取线路配车信息 | |
| 160 | + * @return | |
| 161 | + */ | |
| 162 | + @RequestMapping("/ccInfo") | |
| 163 | + public Map<String, Collection<String>> ccInfo(){ | |
| 164 | + | |
| 165 | + ArrayListMultimap<String, String> listMultimap = ArrayListMultimap.create(); | |
| 166 | + Set<String> ks = BasicData.nbbm2LineMap.keySet(); | |
| 167 | + | |
| 168 | + Line line; | |
| 169 | + for(String nbbm : ks){ | |
| 170 | + line = BasicData.nbbm2LineMap.get(nbbm); | |
| 171 | + listMultimap.put(line.getLineCode(), nbbm); | |
| 172 | + } | |
| 173 | + return listMultimap.asMap(); | |
| 174 | + } | |
| 175 | + | |
| 176 | + /** | |
| 177 | + * 获取车辆信息 | |
| 178 | + * @return | |
| 179 | + */ | |
| 180 | + @RequestMapping("/ccInfo/lineArray") | |
| 181 | + public List<Map<String, String>> ccInfoByLine(@RequestParam String idx){ | |
| 182 | + List<String> lines = Splitter.on(",").splitToList(idx); | |
| 183 | + List<Map<String, String>> rs = new ArrayList<>(); | |
| 184 | + Map<String, String> map; | |
| 185 | + | |
| 186 | + //ArrayListMultimap<String, String> listMultimap = ArrayListMultimap.create(); | |
| 187 | + Set<String> ks = BasicData.nbbm2LineMap.keySet(); | |
| 188 | + BiMap<String,String> nbbm2deviceMap = BasicData.deviceId2NbbmMap.inverse(); | |
| 189 | + | |
| 190 | + Line line; | |
| 191 | + for(String nbbm : ks){ | |
| 192 | + line = BasicData.nbbm2LineMap.get(nbbm); | |
| 193 | + if(lines.contains(line.getLineCode())){ | |
| 194 | + map = new HashMap<>(); | |
| 195 | + map.put("nbbm", nbbm); | |
| 196 | + map.put("deviceId", nbbm2deviceMap.get(nbbm)); | |
| 197 | + map.put("lineName", line.getName()); | |
| 198 | + map.put("lineCode", line.getLineCode()); | |
| 199 | + rs.add(map); | |
| 200 | + } | |
| 201 | + } | |
| 202 | + return rs; | |
| 203 | + } | |
| 204 | + | |
| 205 | + /** | |
| 206 | + * 获取站点和停车场历时公里对照表 | |
| 207 | + * @param idx | |
| 208 | + * @return | |
| 209 | + */ | |
| 210 | + @RequestMapping("/station2ParkData") | |
| 211 | + public Map<String, Collection<StationToPark>> findStation2ParkData(@RequestParam String idx){ | |
| 212 | + List<String> lines = Splitter.on(",").splitToList(idx); | |
| 213 | + ArrayListMultimap<String, StationToPark> rs = ArrayListMultimap.create(); | |
| 214 | + | |
| 215 | + for(String lineCode : lines){ | |
| 216 | + rs.putAll(lineCode, Station2ParkBuffer.get(lineCode)); | |
| 217 | + } | |
| 218 | + return rs.asMap(); | |
| 219 | + } | |
| 220 | + | |
| 221 | + @RequestMapping(value = "/deleteStation2Park", method = RequestMethod.POST) | |
| 222 | + public Map<String, Object> deleteStation2Park(@RequestParam String lineCode,@RequestParam Integer id){ | |
| 223 | + return station2ParkBuffer.delete(lineCode, id); | |
| 224 | + } | |
| 225 | +} | ... | ... |
src/main/java/com/bsth/controller/realcontrol/dto/StationSpatialData.java
| 1 | -package com.bsth.controller.realcontrol.dto; | |
| 2 | - | |
| 3 | -/** | |
| 4 | - * Created by panzhao on 2016/11/23. | |
| 5 | - */ | |
| 6 | -public class StationSpatialData { | |
| 7 | - | |
| 8 | - private String lineCode; | |
| 9 | - | |
| 10 | - private String stationName; | |
| 11 | - | |
| 12 | - private String stationCode; | |
| 13 | - | |
| 14 | - private String stationMark; | |
| 15 | - | |
| 16 | - private int directions; | |
| 17 | - | |
| 18 | - private Float distances; | |
| 19 | - | |
| 20 | - private Float toTime; | |
| 21 | - | |
| 22 | - private Integer versions; | |
| 23 | - | |
| 24 | - private Float gLonx; | |
| 25 | - | |
| 26 | - private Float gLaty; | |
| 27 | - | |
| 28 | - private Float radius; | |
| 29 | - | |
| 30 | - private String shapesType; | |
| 31 | - | |
| 32 | - private String gPolygonGrid; | |
| 33 | - | |
| 34 | - private Integer stationRouteCode; | |
| 35 | - | |
| 36 | - public String getLineCode() { | |
| 37 | - return lineCode; | |
| 38 | - } | |
| 39 | - | |
| 40 | - public void setLineCode(String lineCode) { | |
| 41 | - this.lineCode = lineCode; | |
| 42 | - } | |
| 43 | - | |
| 44 | - public String getStationName() { | |
| 45 | - return stationName; | |
| 46 | - } | |
| 47 | - | |
| 48 | - public void setStationName(String stationName) { | |
| 49 | - this.stationName = stationName; | |
| 50 | - } | |
| 51 | - | |
| 52 | - public String getStationCode() { | |
| 53 | - return stationCode; | |
| 54 | - } | |
| 55 | - | |
| 56 | - public void setStationCode(String stationCode) { | |
| 57 | - this.stationCode = stationCode; | |
| 58 | - } | |
| 59 | - | |
| 60 | - public String getStationMark() { | |
| 61 | - return stationMark; | |
| 62 | - } | |
| 63 | - | |
| 64 | - public void setStationMark(String stationMark) { | |
| 65 | - this.stationMark = stationMark; | |
| 66 | - } | |
| 67 | - | |
| 68 | - public int getDirections() { | |
| 69 | - return directions; | |
| 70 | - } | |
| 71 | - | |
| 72 | - public void setDirections(int directions) { | |
| 73 | - this.directions = directions; | |
| 74 | - } | |
| 75 | - | |
| 76 | - public Float getDistances() { | |
| 77 | - return distances; | |
| 78 | - } | |
| 79 | - | |
| 80 | - public void setDistances(Float distances) { | |
| 81 | - this.distances = distances; | |
| 82 | - } | |
| 83 | - | |
| 84 | - public Float getToTime() { | |
| 85 | - return toTime; | |
| 86 | - } | |
| 87 | - | |
| 88 | - public void setToTime(Float toTime) { | |
| 89 | - this.toTime = toTime; | |
| 90 | - } | |
| 91 | - | |
| 92 | - public Integer getVersions() { | |
| 93 | - return versions; | |
| 94 | - } | |
| 95 | - | |
| 96 | - public void setVersions(Integer versions) { | |
| 97 | - this.versions = versions; | |
| 98 | - } | |
| 99 | - | |
| 100 | - public Float getgLonx() { | |
| 101 | - return gLonx; | |
| 102 | - } | |
| 103 | - | |
| 104 | - public void setgLonx(Float gLonx) { | |
| 105 | - this.gLonx = gLonx; | |
| 106 | - } | |
| 107 | - | |
| 108 | - public Float getgLaty() { | |
| 109 | - return gLaty; | |
| 110 | - } | |
| 111 | - | |
| 112 | - public void setgLaty(Float gLaty) { | |
| 113 | - this.gLaty = gLaty; | |
| 114 | - } | |
| 115 | - | |
| 116 | - public Float getRadius() { | |
| 117 | - return radius; | |
| 118 | - } | |
| 119 | - | |
| 120 | - public void setRadius(Float radius) { | |
| 121 | - this.radius = radius; | |
| 122 | - } | |
| 123 | - | |
| 124 | - public String getShapesType() { | |
| 125 | - return shapesType; | |
| 126 | - } | |
| 127 | - | |
| 128 | - public void setShapesType(String shapesType) { | |
| 129 | - this.shapesType = shapesType; | |
| 130 | - } | |
| 131 | - | |
| 132 | - public String getgPolygonGrid() { | |
| 133 | - return gPolygonGrid; | |
| 134 | - } | |
| 135 | - | |
| 136 | - public void setgPolygonGrid(String gPolygonGrid) { | |
| 137 | - this.gPolygonGrid = gPolygonGrid; | |
| 138 | - } | |
| 139 | - | |
| 140 | - public Integer getStationRouteCode() { | |
| 141 | - return stationRouteCode; | |
| 142 | - } | |
| 143 | - | |
| 144 | - public void setStationRouteCode(Integer stationRouteCode) { | |
| 145 | - this.stationRouteCode = stationRouteCode; | |
| 146 | - } | |
| 147 | -} | |
| 1 | +package com.bsth.controller.realcontrol.dto; | |
| 2 | + | |
| 3 | +/** | |
| 4 | + * Created by panzhao on 2016/11/23. | |
| 5 | + */ | |
| 6 | +public class StationSpatialData { | |
| 7 | + | |
| 8 | + private Integer stationRouteId; | |
| 9 | + | |
| 10 | + private String lineCode; | |
| 11 | + | |
| 12 | + private String stationName; | |
| 13 | + | |
| 14 | + private String stationCode; | |
| 15 | + | |
| 16 | + private String stationMark; | |
| 17 | + | |
| 18 | + private int directions; | |
| 19 | + | |
| 20 | + private Float distances; | |
| 21 | + | |
| 22 | + private Float toTime; | |
| 23 | + | |
| 24 | + private Integer versions; | |
| 25 | + | |
| 26 | + private Float gLonx; | |
| 27 | + | |
| 28 | + private Float gLaty; | |
| 29 | + | |
| 30 | + private Float radius; | |
| 31 | + | |
| 32 | + private String shapesType; | |
| 33 | + | |
| 34 | + private String gPolygonGrid; | |
| 35 | + | |
| 36 | + private Integer stationRouteCode; | |
| 37 | + | |
| 38 | + public Integer getStationRouteId() { | |
| 39 | + return stationRouteId; | |
| 40 | + } | |
| 41 | + | |
| 42 | + public void setStationRouteId(Integer stationRouteId) { | |
| 43 | + this.stationRouteId = stationRouteId; | |
| 44 | + } | |
| 45 | + | |
| 46 | + public String getLineCode() { | |
| 47 | + return lineCode; | |
| 48 | + } | |
| 49 | + | |
| 50 | + public void setLineCode(String lineCode) { | |
| 51 | + this.lineCode = lineCode; | |
| 52 | + } | |
| 53 | + | |
| 54 | + public String getStationName() { | |
| 55 | + return stationName; | |
| 56 | + } | |
| 57 | + | |
| 58 | + public void setStationName(String stationName) { | |
| 59 | + this.stationName = stationName; | |
| 60 | + } | |
| 61 | + | |
| 62 | + public String getStationCode() { | |
| 63 | + return stationCode; | |
| 64 | + } | |
| 65 | + | |
| 66 | + public void setStationCode(String stationCode) { | |
| 67 | + this.stationCode = stationCode; | |
| 68 | + } | |
| 69 | + | |
| 70 | + public String getStationMark() { | |
| 71 | + return stationMark; | |
| 72 | + } | |
| 73 | + | |
| 74 | + public void setStationMark(String stationMark) { | |
| 75 | + this.stationMark = stationMark; | |
| 76 | + } | |
| 77 | + | |
| 78 | + public int getDirections() { | |
| 79 | + return directions; | |
| 80 | + } | |
| 81 | + | |
| 82 | + public void setDirections(int directions) { | |
| 83 | + this.directions = directions; | |
| 84 | + } | |
| 85 | + | |
| 86 | + public Float getDistances() { | |
| 87 | + return distances; | |
| 88 | + } | |
| 89 | + | |
| 90 | + public void setDistances(Float distances) { | |
| 91 | + this.distances = distances; | |
| 92 | + } | |
| 93 | + | |
| 94 | + public Float getToTime() { | |
| 95 | + return toTime; | |
| 96 | + } | |
| 97 | + | |
| 98 | + public void setToTime(Float toTime) { | |
| 99 | + this.toTime = toTime; | |
| 100 | + } | |
| 101 | + | |
| 102 | + public Integer getVersions() { | |
| 103 | + return versions; | |
| 104 | + } | |
| 105 | + | |
| 106 | + public void setVersions(Integer versions) { | |
| 107 | + this.versions = versions; | |
| 108 | + } | |
| 109 | + | |
| 110 | + public Float getgLonx() { | |
| 111 | + return gLonx; | |
| 112 | + } | |
| 113 | + | |
| 114 | + public void setgLonx(Float gLonx) { | |
| 115 | + this.gLonx = gLonx; | |
| 116 | + } | |
| 117 | + | |
| 118 | + public Float getgLaty() { | |
| 119 | + return gLaty; | |
| 120 | + } | |
| 121 | + | |
| 122 | + public void setgLaty(Float gLaty) { | |
| 123 | + this.gLaty = gLaty; | |
| 124 | + } | |
| 125 | + | |
| 126 | + public Float getRadius() { | |
| 127 | + return radius; | |
| 128 | + } | |
| 129 | + | |
| 130 | + public void setRadius(Float radius) { | |
| 131 | + this.radius = radius; | |
| 132 | + } | |
| 133 | + | |
| 134 | + public String getShapesType() { | |
| 135 | + return shapesType; | |
| 136 | + } | |
| 137 | + | |
| 138 | + public void setShapesType(String shapesType) { | |
| 139 | + this.shapesType = shapesType; | |
| 140 | + } | |
| 141 | + | |
| 142 | + public String getgPolygonGrid() { | |
| 143 | + return gPolygonGrid; | |
| 144 | + } | |
| 145 | + | |
| 146 | + public void setgPolygonGrid(String gPolygonGrid) { | |
| 147 | + this.gPolygonGrid = gPolygonGrid; | |
| 148 | + } | |
| 149 | + | |
| 150 | + public Integer getStationRouteCode() { | |
| 151 | + return stationRouteCode; | |
| 152 | + } | |
| 153 | + | |
| 154 | + public void setStationRouteCode(Integer stationRouteCode) { | |
| 155 | + this.stationRouteCode = stationRouteCode; | |
| 156 | + } | |
| 157 | +} | ... | ... |
src/main/java/com/bsth/controller/schedule/basicinfo/legacy/EmployeeController.java
| ... | ... | @@ -3,6 +3,7 @@ package com.bsth.controller.schedule.basicinfo.legacy; |
| 3 | 3 | import com.bsth.common.ResponseCode; |
| 4 | 4 | import com.bsth.controller.schedule.BController; |
| 5 | 5 | import com.bsth.controller.schedule.basicinfo.EmployeeController_facade; |
| 6 | +import com.bsth.data.pinyin.PersionPinYin; | |
| 6 | 7 | import com.bsth.entity.Personnel; |
| 7 | 8 | import com.bsth.service.schedule.EmployeeService; |
| 8 | 9 | import com.bsth.service.schedule.exception.ScheduleException; |
| ... | ... | @@ -14,6 +15,7 @@ import org.springframework.web.bind.annotation.RequestParam; |
| 14 | 15 | import org.springframework.web.bind.annotation.RestController; |
| 15 | 16 | |
| 16 | 17 | import java.util.HashMap; |
| 18 | +import java.util.List; | |
| 17 | 19 | import java.util.Map; |
| 18 | 20 | |
| 19 | 21 | /** |
| ... | ... | @@ -45,4 +47,9 @@ public class EmployeeController extends BController<Personnel, Integer> { |
| 45 | 47 | |
| 46 | 48 | return rtn; |
| 47 | 49 | } |
| 50 | + | |
| 51 | + @RequestMapping(value = "/all_py", method = RequestMethod.GET) | |
| 52 | + public List<PersionPinYin> findAll_PY(){ | |
| 53 | + return this.employeeService.findAll_PY(); | |
| 54 | + } | |
| 48 | 55 | } | ... | ... |
src/main/java/com/bsth/controller/schedule/datasync/VehicleDataSyncController.java
| ... | ... | @@ -63,14 +63,16 @@ public class VehicleDataSyncController extends BController<VehicleDataSyncTask, |
| 63 | 63 | public ApiResult refreshBuffer() { |
| 64 | 64 | try { |
| 65 | 65 | // 1、刷新车辆同步ETL文件 |
| 66 | - // 注意:使用Kettle内部的相关类清除指定ktr的缓存 | |
| 67 | - File ktrFile = new File(this.getClass().getResource( | |
| 68 | - dataToolsProperties.getVehicleDatasyncktr()).toURI()); | |
| 69 | - FileObject fileObject = KettleVFS.getFileObject(ktrFile.getAbsolutePath()); | |
| 70 | - FileSystem fileSystem = fileObject.getFileSystem(); | |
| 71 | - FilesCache filesCache = KettleVFS.getInstance().getFileSystemManager().getFilesCache(); | |
| 72 | -// System.out.println(filesCache.getFile(fileSystem, fileObject.getName())); | |
| 73 | - filesCache.removeFile(fileSystem, fileObject.getName()); | |
| 66 | + etlCacheRefresh(dataToolsProperties.getVehicleDatasyncktr()); | |
| 67 | + // 2、刷新人员配置导入导出ETL文件 | |
| 68 | + etlCacheRefresh(dataToolsProperties.getEmployeesconfigDatainputktr()); | |
| 69 | + etlCacheRefresh(dataToolsProperties.getEmployeesconfigDataoutputktr()); | |
| 70 | + // 3、刷新车辆配置导入导出ETL文件 | |
| 71 | + etlCacheRefresh(dataToolsProperties.getCarsconfigDatainputktr()); | |
| 72 | + etlCacheRefresh(dataToolsProperties.getCarsconfigDataoutputktr()); | |
| 73 | + // 4、刷新规则导入导出ETL文件 | |
| 74 | + etlCacheRefresh(dataToolsProperties.getScheduleruleDatainputktr()); | |
| 75 | + etlCacheRefresh(dataToolsProperties.getScheduleruleOutput()); | |
| 74 | 76 | |
| 75 | 77 | return ApiResult.success( |
| 76 | 78 | "200", |
| ... | ... | @@ -84,6 +86,16 @@ public class VehicleDataSyncController extends BController<VehicleDataSyncTask, |
| 84 | 86 | } |
| 85 | 87 | } |
| 86 | 88 | |
| 89 | + private void etlCacheRefresh(String ktrPath) throws Exception { | |
| 90 | + // 注意:使用Kettle内部的相关类清除指定ktr的缓存 | |
| 91 | + File ktrFile = new File(this.getClass().getResource(ktrPath).toURI()); | |
| 92 | + FileObject fileObject = KettleVFS.getFileObject(ktrFile.getAbsolutePath()); | |
| 93 | + FileSystem fileSystem = fileObject.getFileSystem(); | |
| 94 | + FilesCache filesCache = KettleVFS.getInstance().getFileSystemManager().getFilesCache(); | |
| 95 | +// System.out.println(filesCache.getFile(fileSystem, fileObject.getName())); | |
| 96 | + filesCache.removeFile(fileSystem, fileObject.getName()); | |
| 97 | + } | |
| 98 | + | |
| 87 | 99 | /** |
| 88 | 100 | * 手动添加同步任务。 |
| 89 | 101 | * @param vehicleDataSyncTaskRequest | ... | ... |
src/main/java/com/bsth/data/SystemParamCache.java
| ... | ... | @@ -21,6 +21,10 @@ public class SystemParamCache implements InitializingBean { |
| 21 | 21 | return systemParamService1.getValue(SystemParamKeys.SPECIAL_ROLES); |
| 22 | 22 | } |
| 23 | 23 | |
| 24 | + public static String getSpecialDays() { | |
| 25 | + return systemParamService1.getValue(SystemParamKeys.SPECIAL_DAYS); | |
| 26 | + } | |
| 27 | + | |
| 24 | 28 | public static String getUrlHttpGpsRealCache() { |
| 25 | 29 | return systemParamService1.getValue(SystemParamKeys.URL_HTTP_GPS_REAL_CACHE); |
| 26 | 30 | } | ... | ... |
src/main/java/com/bsth/data/gpsdata_v2/cache/GeoCacheData.java
| ... | ... | @@ -233,7 +233,7 @@ public class GeoCacheData { |
| 233 | 233 | private void loadPremiseGeoData() { |
| 234 | 234 | ArrayListMultimap<String, PreconditionGeo> premiseGeoMapCopy = ArrayListMultimap.create(); |
| 235 | 235 | |
| 236 | - String sql = "select * from bsth_f_geo_premise"; | |
| 236 | + String sql = "SELECT name, station_code, line_code, up_down, coords_wgs AS coords FROM bsth_f_geo_premise"; | |
| 237 | 237 | List<PreconditionGeo> list = jdbcTemplate.query(sql, BeanPropertyRowMapper.newInstance(PreconditionGeo.class)); |
| 238 | 238 | |
| 239 | 239 | List<String> coordList; | ... | ... |
src/main/java/com/bsth/entity/GeoPremise.java
| ... | ... | @@ -37,6 +37,11 @@ public class GeoPremise { |
| 37 | 37 | */ |
| 38 | 38 | private String coords; |
| 39 | 39 | |
| 40 | + /** | |
| 41 | + * wgs84坐标 | |
| 42 | + */ | |
| 43 | + private String coordsWgs; | |
| 44 | + | |
| 40 | 45 | public Integer getId() { |
| 41 | 46 | return id; |
| 42 | 47 | } |
| ... | ... | @@ -84,4 +89,12 @@ public class GeoPremise { |
| 84 | 89 | public void setCoords(String coords) { |
| 85 | 90 | this.coords = coords; |
| 86 | 91 | } |
| 92 | + | |
| 93 | + public String getCoordsWgs() { | |
| 94 | + return coordsWgs; | |
| 95 | + } | |
| 96 | + | |
| 97 | + public void setCoordsWgs(String coordsWgs) { | |
| 98 | + this.coordsWgs = coordsWgs; | |
| 99 | + } | |
| 87 | 100 | } | ... | ... |
src/main/java/com/bsth/entity/Personnel.java
| ... | ... | @@ -79,6 +79,11 @@ public class Personnel extends BEntity { |
| 79 | 79 | private String remark; |
| 80 | 80 | |
| 81 | 81 | /** |
| 82 | + * 移动电话 | |
| 83 | + */ | |
| 84 | + private String mobile; | |
| 85 | + | |
| 86 | + /** | |
| 82 | 87 | * 0为不锁定 1为锁定 |
| 83 | 88 | * 因人员与金蝶同步 但存在调度需要独立添加人员并不会被同步掉的情况 |
| 84 | 89 | */ |
| ... | ... | @@ -285,6 +290,14 @@ public class Personnel extends BEntity { |
| 285 | 290 | this.destroy = destroy; |
| 286 | 291 | } |
| 287 | 292 | |
| 293 | + public String getMobile() { | |
| 294 | + return mobile; | |
| 295 | + } | |
| 296 | + | |
| 297 | + public void setMobile(String mobile) { | |
| 298 | + this.mobile = mobile; | |
| 299 | + } | |
| 300 | + | |
| 288 | 301 | public Integer getLocked() { |
| 289 | 302 | return locked; |
| 290 | 303 | } | ... | ... |
src/main/java/com/bsth/service/impl/LsStationRouteServiceImpl.java
| ... | ... | @@ -208,6 +208,11 @@ public class LsStationRouteServiceImpl extends BaseServiceImpl<LsStationRoute, I |
| 208 | 208 | stationRoute.setStationCode(stationRoute.getStation().getStationCode()); |
| 209 | 209 | |
| 210 | 210 | Station station = stationRoute.getStation(); |
| 211 | + stationRoute.setCenterPointWkt(station.getCenterPointWkt()); | |
| 212 | + if (!StringUtils.isEmpty(stationRoute.getCenterPointWkt())) { | |
| 213 | + centerPoint(stationRoute); | |
| 214 | + } | |
| 215 | + | |
| 211 | 216 | if (station.getId() == null) { |
| 212 | 217 | station.setId(currentId + count); |
| 213 | 218 | station.setStationCode(station.getId().toString()); |
| ... | ... | @@ -252,10 +257,15 @@ public class LsStationRouteServiceImpl extends BaseServiceImpl<LsStationRoute, I |
| 252 | 257 | Integer currentVersion = lineVersionsRepository.findCurrentVersion(line.getId()); |
| 253 | 258 | boolean isPresent = stationRepository.findById(station.getId()).isPresent(); |
| 254 | 259 | stationRoute.setLineCode(line.getLineCode()); |
| 260 | + stationRoute.setCenterPointWkt(station.getCenterPointWkt()); | |
| 255 | 261 | if (stationRoute.getVersions() < currentVersion) { |
| 256 | 262 | throw new IllegalArgumentException("历史版本不可变更"); |
| 257 | 263 | } |
| 258 | 264 | |
| 265 | + if (!StringUtils.isEmpty(stationRoute.getCenterPointWkt())) { | |
| 266 | + centerPoint(stationRoute); | |
| 267 | + } | |
| 268 | + | |
| 259 | 269 | // 中心点坐标信息 |
| 260 | 270 | if (!isPresent) { |
| 261 | 271 | centerPoint(station); | ... | ... |
src/main/java/com/bsth/service/realcontrol/impl/ChildTaskPlanServiceImpl.java
| ... | ... | @@ -11,7 +11,11 @@ import com.bsth.repository.realcontrol.ChildTaskPlanRepository; |
| 11 | 11 | import com.bsth.repository.realcontrol.ScheduleRealInfoRepository; |
| 12 | 12 | import com.bsth.service.impl.BaseServiceImpl; |
| 13 | 13 | import com.bsth.service.realcontrol.ChildTaskPlanService; |
| 14 | +import com.bsth.util.PrivilegeUtils; | |
| 14 | 15 | import org.apache.commons.lang3.StringUtils; |
| 16 | +import org.joda.time.DateTime; | |
| 17 | +import org.joda.time.format.DateTimeFormat; | |
| 18 | +import org.joda.time.format.DateTimeFormatter; | |
| 15 | 19 | import org.slf4j.Logger; |
| 16 | 20 | import org.slf4j.LoggerFactory; |
| 17 | 21 | import org.springframework.beans.factory.annotation.Autowired; |
| ... | ... | @@ -231,7 +235,15 @@ public class ChildTaskPlanServiceImpl extends BaseServiceImpl<ChildTaskPlan, Lon |
| 231 | 235 | public Map<String, Object> saveHistory(ChildTaskPlan t) { |
| 232 | 236 | Map<String, Object> rs = new HashMap(); |
| 233 | 237 | try { |
| 234 | - ScheduleRealInfo sch = t.getSchedule(); | |
| 238 | + ScheduleRealInfo sch = scheduleRealInfoRepository.findById(t.getSchedule().getId()).get(); | |
| 239 | + // 检查调度日期 | |
| 240 | + DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy-MM-dd"); | |
| 241 | + long today = formatter.parseMillis(new DateTime().toString("yyyy-MM-dd")), scheduleDate = formatter.parseMillis(sch.getScheduleDateStr()); | |
| 242 | + if (today < scheduleDate || today - scheduleDate > 86400000 * PrivilegeUtils.getHistoryEditDays()) { | |
| 243 | + rs.put("status", ResponseCode.ERROR); | |
| 244 | + rs.put("msg", "无效的调度日期"); | |
| 245 | + return rs; | |
| 246 | + } | |
| 235 | 247 | //保存起终点名称 |
| 236 | 248 | String prefix = sch.getXlBm() + "_" + sch.getXlDir() + "_"; |
| 237 | 249 | if(StringUtils.isEmpty(t.getStartStationName())) |
| ... | ... | @@ -253,6 +265,25 @@ public class ChildTaskPlanServiceImpl extends BaseServiceImpl<ChildTaskPlan, Lon |
| 253 | 265 | |
| 254 | 266 | @Override |
| 255 | 267 | public Map<String, Object> delHistory(Long id) { |
| 256 | - return super.delete(id); | |
| 268 | + Map<String, Object> rs = new HashMap(); | |
| 269 | + try { | |
| 270 | + ScheduleRealInfo sch = childTaskPlanRepository.findById(id).get().getSchedule(); | |
| 271 | + // 检查调度日期 | |
| 272 | + DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy-MM-dd"); | |
| 273 | + long today = formatter.parseMillis(new DateTime().toString("yyyy-MM-dd")), scheduleDate = formatter.parseMillis(sch.getScheduleDateStr()); | |
| 274 | + if (today < scheduleDate || today - scheduleDate > 86400000 * PrivilegeUtils.getHistoryEditDays()) { | |
| 275 | + rs.put("status", ResponseCode.ERROR); | |
| 276 | + rs.put("msg", "无效的调度日期"); | |
| 277 | + return rs; | |
| 278 | + } | |
| 279 | + | |
| 280 | + return super.delete(id); | |
| 281 | + } catch (Exception e) { | |
| 282 | + logger.error("", e); | |
| 283 | + rs.put("status", ResponseCode.ERROR); | |
| 284 | + rs.put("msg", e.getMessage()); | |
| 285 | + } | |
| 286 | + | |
| 287 | + return rs; | |
| 257 | 288 | } |
| 258 | 289 | } | ... | ... |
src/main/java/com/bsth/service/realcontrol/impl/RealMapServiceImpl.java
| ... | ... | @@ -42,7 +42,7 @@ public class RealMapServiceImpl implements RealMapService { |
| 42 | 42 | } |
| 43 | 43 | inStr = " (" + inStr.substring(1) + ")"; |
| 44 | 44 | |
| 45 | - String sql = "select r.LINE_CODE,r.STATION_NAME,r.STATION_CODE,r.STATION_MARK,r.DIRECTIONS,r.DISTANCES,r.TO_TIME, r.VERSIONS,ST_X(s.CENTER_POINT_WGS) G_LONX,ST_Y(s.CENTER_POINT_WGS) G_LATY,r.RADIUS,r.SHAPED_TYPE shapes_type,ST_AsText(r.BUFFER_POLYGON_WGS) as G_POLYGON_GRID, r.STATION_ROUTE_CODE from bsth_c_stationroute r inner join bsth_c_station s on r.station=s.id where r.line_code in " + inStr + " and r.destroy=0"; | |
| 45 | + String sql = "select r.ID STATION_ROUTE_ID,r.LINE_CODE,r.STATION_NAME,r.STATION_CODE,r.STATION_MARK,r.DIRECTIONS,r.DISTANCES,r.TO_TIME, r.VERSIONS,ST_X(s.CENTER_POINT_WGS) G_LONX,ST_Y(s.CENTER_POINT_WGS) G_LATY,r.RADIUS,r.SHAPED_TYPE shapes_type,ST_AsText(r.BUFFER_POLYGON_WGS) as G_POLYGON_GRID, r.STATION_ROUTE_CODE from bsth_c_stationroute r inner join bsth_c_station s on r.station=s.id where r.line_code in " + inStr + " and r.destroy=0"; | |
| 46 | 46 | |
| 47 | 47 | List<StationSpatialData> list = jdbcTemplate.query(sql, new BeanPropertyRowMapper(StationSpatialData.class)); |
| 48 | 48 | rs.put("status", ResponseCode.SUCCESS); | ... | ... |