Commit aac8cf5fb9ccb197bb401f8f9c1f71476e4f3758
1 parent
3b394d44
update...
Showing
14 changed files
with
938 additions
and
163 deletions
src/main/java/com/bsth/CXFConfig.java
| @@ -4,9 +4,11 @@ import com.bsth.server_rs.AuthorizeInterceptor_IN; | @@ -4,9 +4,11 @@ import com.bsth.server_rs.AuthorizeInterceptor_IN; | ||
| 4 | import com.bsth.server_rs.base_info.car.CarRestService; | 4 | import com.bsth.server_rs.base_info.car.CarRestService; |
| 5 | import com.bsth.server_rs.base_info.line.LineRestService; | 5 | import com.bsth.server_rs.base_info.line.LineRestService; |
| 6 | import com.bsth.server_rs.base_info.person.PersonRestService; | 6 | import com.bsth.server_rs.base_info.person.PersonRestService; |
| 7 | +import com.bsth.server_rs.base_info.section.LD_SectionRestService; | ||
| 7 | import com.bsth.server_rs.base_info.station.StationRestService; | 8 | import com.bsth.server_rs.base_info.station.StationRestService; |
| 8 | import com.bsth.server_rs.exception.AesExceptionMapper; | 9 | import com.bsth.server_rs.exception.AesExceptionMapper; |
| 9 | import com.bsth.server_rs.gps.GpsRestService; | 10 | import com.bsth.server_rs.gps.GpsRestService; |
| 11 | +import com.bsth.server_rs.schedule.plan.SchedulePlanService; | ||
| 10 | import com.bsth.server_rs.schedule.real.ScheduleRealService; | 12 | import com.bsth.server_rs.schedule.real.ScheduleRealService; |
| 11 | import com.bsth.server_ws.attendance.AttendanceServiceSoap; | 13 | import com.bsth.server_ws.attendance.AttendanceServiceSoap; |
| 12 | import com.bsth.server_ws.park_station.CompanyServiceSoap; | 14 | import com.bsth.server_ws.park_station.CompanyServiceSoap; |
| @@ -73,9 +75,12 @@ public class CXFConfig { | @@ -73,9 +75,12 @@ public class CXFConfig { | ||
| 73 | 75 | ||
| 74 | @Autowired | 76 | @Autowired |
| 75 | ScheduleRealService scheduleRealService; | 77 | ScheduleRealService scheduleRealService; |
| 76 | - | ||
| 77 | @Autowired | 78 | @Autowired |
| 78 | StationRestService stationRestService; | 79 | StationRestService stationRestService; |
| 80 | + @Autowired | ||
| 81 | + LD_SectionRestService ldSectionRestService; | ||
| 82 | + @Autowired | ||
| 83 | + SchedulePlanService schedulePlanService; | ||
| 79 | 84 | ||
| 80 | @Bean | 85 | @Bean |
| 81 | public Server rsServer() { | 86 | public Server rsServer() { |
| @@ -88,7 +93,9 @@ public class CXFConfig { | @@ -88,7 +93,9 @@ public class CXFConfig { | ||
| 88 | new PersonRestService(), | 93 | new PersonRestService(), |
| 89 | new GpsRestService(), | 94 | new GpsRestService(), |
| 90 | scheduleRealService, | 95 | scheduleRealService, |
| 91 | - stationRestService)); | 96 | + stationRestService, |
| 97 | + ldSectionRestService, | ||
| 98 | + schedulePlanService)); | ||
| 92 | endpoint.setProviders(Arrays.asList(new JacksonJsonProvider(), new AesExceptionMapper())); | 99 | endpoint.setProviders(Arrays.asList(new JacksonJsonProvider(), new AesExceptionMapper())); |
| 93 | //endpoint.setFeatures(Arrays.asList(new Swagger2Feature())); | 100 | //endpoint.setFeatures(Arrays.asList(new Swagger2Feature())); |
| 94 | endpoint.getInInterceptors().add(new AuthorizeInterceptor_IN()); | 101 | endpoint.getInInterceptors().add(new AuthorizeInterceptor_IN()); |
src/main/java/com/bsth/common/BasicData.java
| @@ -69,7 +69,7 @@ public class BasicData implements CommandLineRunner { | @@ -69,7 +69,7 @@ public class BasicData implements CommandLineRunner { | ||
| 69 | } | 69 | } |
| 70 | 70 | ||
| 71 | private String calcScheduleDate(String startDate){ | 71 | private String calcScheduleDate(String startDate){ |
| 72 | - return "20170828"; | 72 | + return "20170831"; |
| 73 | } | 73 | } |
| 74 | } | 74 | } |
| 75 | } | 75 | } |
src/main/java/com/bsth/server_rs/base_info/section/LD_SectionRestService.java
0 → 100644
| 1 | +package com.bsth.server_rs.base_info.section; | ||
| 2 | + | ||
| 3 | +import com.bsth.server_rs.base_info.section.buffer.LD_SectionBufferData; | ||
| 4 | +import com.bsth.server_rs.base_info.section.entity.LD_SectionRoute; | ||
| 5 | +import org.springframework.stereotype.Component; | ||
| 6 | + | ||
| 7 | +import javax.ws.rs.GET; | ||
| 8 | +import javax.ws.rs.Path; | ||
| 9 | +import javax.ws.rs.PathParam; | ||
| 10 | +import javax.ws.rs.Produces; | ||
| 11 | +import javax.ws.rs.core.MediaType; | ||
| 12 | +import java.util.Collection; | ||
| 13 | +import java.util.Map; | ||
| 14 | + | ||
| 15 | +/** | ||
| 16 | + * Created by panzhao on 2017/9/1. | ||
| 17 | + */ | ||
| 18 | + | ||
| 19 | +@Component | ||
| 20 | +@Path("/ld_section") | ||
| 21 | +@Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML}) | ||
| 22 | +public class LD_SectionRestService { | ||
| 23 | + | ||
| 24 | + @GET | ||
| 25 | + @Path("/{company}") | ||
| 26 | + public Map<String, Collection<LD_SectionRoute>> findByCompany(@PathParam("company") String company){ | ||
| 27 | + return LD_SectionBufferData.findRouteByCompany(company); | ||
| 28 | + } | ||
| 29 | +} |
src/main/java/com/bsth/server_rs/base_info/section/buffer/LD_SectionBufferData.java
0 → 100644
| 1 | +package com.bsth.server_rs.base_info.section.buffer; | ||
| 2 | + | ||
| 3 | +import com.bsth.Application; | ||
| 4 | +import com.bsth.server_rs.base_info.line.Line; | ||
| 5 | +import com.bsth.server_rs.base_info.line.buffer.LineBufferData; | ||
| 6 | +import com.bsth.server_rs.base_info.section.entity.LD_Section; | ||
| 7 | +import com.bsth.server_rs.base_info.section.entity.LD_SectionRoute; | ||
| 8 | +import com.google.common.collect.ArrayListMultimap; | ||
| 9 | +import org.springframework.beans.factory.annotation.Autowired; | ||
| 10 | +import org.springframework.boot.CommandLineRunner; | ||
| 11 | +import org.springframework.core.annotation.Order; | ||
| 12 | +import org.springframework.stereotype.Component; | ||
| 13 | + | ||
| 14 | +import java.util.*; | ||
| 15 | +import java.util.concurrent.TimeUnit; | ||
| 16 | + | ||
| 17 | +/** | ||
| 18 | + * 站点数据缓存(自更新) | ||
| 19 | + * Created by panzhao on 2017/3/27. | ||
| 20 | + */ | ||
| 21 | +@Component | ||
| 22 | +@Order(6) | ||
| 23 | +public class LD_SectionBufferData implements CommandLineRunner { | ||
| 24 | + | ||
| 25 | + | ||
| 26 | + private static List<LD_Section> data; | ||
| 27 | + private static Map<String, LD_Section> codeMap; | ||
| 28 | + | ||
| 29 | + @Autowired | ||
| 30 | + LD_SectionRefreshThread ld_sectionRefreshThread; | ||
| 31 | + | ||
| 32 | + /** | ||
| 33 | + 路由缓存 | ||
| 34 | + 线路编码_上下行 ——> 路由集合 | ||
| 35 | + */ | ||
| 36 | + private static ArrayListMultimap<String, LD_SectionRoute> routeListMap; | ||
| 37 | + | ||
| 38 | + | ||
| 39 | + public static List<LD_Section> findAll(){ | ||
| 40 | + return data; | ||
| 41 | + } | ||
| 42 | + | ||
| 43 | + public static Map<String, Collection<LD_SectionRoute>> findAllRoute(){ | ||
| 44 | + return routeListMap.asMap(); | ||
| 45 | + } | ||
| 46 | + | ||
| 47 | + public static LD_Section findOne(String code){ | ||
| 48 | + return codeMap.get(code); | ||
| 49 | + } | ||
| 50 | + | ||
| 51 | + public static void replaceAll(List<LD_Section> newData){ | ||
| 52 | + data = newData; | ||
| 53 | + Map<String, LD_Section> codeMapCopy = new HashMap<>(); | ||
| 54 | + for(LD_Section section : data){ | ||
| 55 | + codeMapCopy.put(section.getSectionCode(), section); | ||
| 56 | + } | ||
| 57 | + | ||
| 58 | + codeMap = codeMapCopy; | ||
| 59 | + } | ||
| 60 | + | ||
| 61 | + public static void replaceRoutes(List<LD_SectionRoute> list){ | ||
| 62 | + Collections.sort(list, new Comparator<LD_SectionRoute>() { | ||
| 63 | + @Override | ||
| 64 | + public int compare(LD_SectionRoute o1, LD_SectionRoute o2) { | ||
| 65 | + return o1.getSectionrouteCode().compareTo(o2.getSectionrouteCode()); | ||
| 66 | + } | ||
| 67 | + }); | ||
| 68 | + | ||
| 69 | + ArrayListMultimap<String, LD_SectionRoute> routeListMapCopy = ArrayListMultimap.create(); | ||
| 70 | + for(LD_SectionRoute sr : list){ | ||
| 71 | + routeListMapCopy.put(sr.getLineCode()+"_" + sr.getDirections(), sr); | ||
| 72 | + } | ||
| 73 | + | ||
| 74 | + routeListMap = routeListMapCopy; | ||
| 75 | + } | ||
| 76 | + | ||
| 77 | + @Override | ||
| 78 | + public void run(String... strings) throws Exception { | ||
| 79 | + Application.mainServices.scheduleWithFixedDelay(ld_sectionRefreshThread, 10, 60 * 60, TimeUnit.SECONDS); | ||
| 80 | + } | ||
| 81 | + | ||
| 82 | + public static Map<String, Collection<LD_SectionRoute>> findRouteByCompany(String company) { | ||
| 83 | + List<Line> lines = LineBufferData.findByCompany(company); | ||
| 84 | + | ||
| 85 | + ArrayListMultimap<String, LD_SectionRoute> listMap = ArrayListMultimap.create(); | ||
| 86 | + | ||
| 87 | + | ||
| 88 | + Set<String> ks = routeListMap.keySet(); | ||
| 89 | + | ||
| 90 | + for(String k : ks){ | ||
| 91 | + if(include(lines, k)){ | ||
| 92 | + listMap.putAll(k, routeListMap.get(k)); | ||
| 93 | + } | ||
| 94 | + } | ||
| 95 | + return listMap.asMap(); | ||
| 96 | + } | ||
| 97 | + | ||
| 98 | + private static boolean include(List<Line> lines, String k){ | ||
| 99 | + | ||
| 100 | + for(Line line : lines){ | ||
| 101 | + if(k.startsWith(line.getLineCode() + "_")) | ||
| 102 | + return true; | ||
| 103 | + } | ||
| 104 | + return false; | ||
| 105 | + } | ||
| 106 | +} |
src/main/java/com/bsth/server_rs/base_info/section/buffer/LD_SectionRefreshThread.java
0 → 100644
| 1 | +package com.bsth.server_rs.base_info.section.buffer; | ||
| 2 | + | ||
| 3 | +import com.bsth.server_rs.base_info.section.entity.LD_Section; | ||
| 4 | +import com.bsth.server_rs.base_info.section.entity.LD_SectionRoute; | ||
| 5 | +import org.slf4j.Logger; | ||
| 6 | +import org.slf4j.LoggerFactory; | ||
| 7 | +import org.springframework.beans.factory.annotation.Autowired; | ||
| 8 | +import org.springframework.jdbc.core.BeanPropertyRowMapper; | ||
| 9 | +import org.springframework.jdbc.core.JdbcTemplate; | ||
| 10 | +import org.springframework.stereotype.Component; | ||
| 11 | + | ||
| 12 | +import java.util.List; | ||
| 13 | + | ||
| 14 | +/** | ||
| 15 | + * Created by panzhao on 2017/3/27. | ||
| 16 | + */ | ||
| 17 | +@Component | ||
| 18 | +public class LD_SectionRefreshThread extends Thread{ | ||
| 19 | + | ||
| 20 | + @Autowired | ||
| 21 | + JdbcTemplate jdbcTemplate; | ||
| 22 | + | ||
| 23 | + Logger logger = LoggerFactory.getLogger(this.getClass()); | ||
| 24 | + | ||
| 25 | + @Override | ||
| 26 | + public void run() { | ||
| 27 | + | ||
| 28 | + try { | ||
| 29 | + | ||
| 30 | + //路段信息 | ||
| 31 | + List<LD_Section> sectionList = jdbcTemplate.query("select section_code,section_name,section_type,ST_AsText(gsection_vector) as gsection_vector,croses_road,versions from bsth_c_section where section_name not like '%行路段' ", | ||
| 32 | + BeanPropertyRowMapper.newInstance(LD_Section.class)); | ||
| 33 | + | ||
| 34 | + if(sectionList == null || sectionList.size() == 0) | ||
| 35 | + return; | ||
| 36 | + | ||
| 37 | + LD_SectionBufferData.replaceAll(sectionList); | ||
| 38 | + | ||
| 39 | + //路段路由信息 | ||
| 40 | + List<LD_SectionRoute> routeList = jdbcTemplate.query("select line_code,section_code,directions,sectionroute_code,versions from bsth_c_sectionroute where destroy=0", | ||
| 41 | + BeanPropertyRowMapper.newInstance(LD_SectionRoute.class)); | ||
| 42 | + | ||
| 43 | + for(LD_SectionRoute sr : routeList){ | ||
| 44 | + sr.setSection(LD_SectionBufferData.findOne(sr.getSectionCode())); | ||
| 45 | + } | ||
| 46 | + | ||
| 47 | + LD_SectionBufferData.replaceRoutes(routeList); | ||
| 48 | + }catch (Exception e){ | ||
| 49 | + logger.error("", e); | ||
| 50 | + } | ||
| 51 | + } | ||
| 52 | +} |
src/main/java/com/bsth/server_rs/base_info/section/entity/LD_Section.java
0 → 100644
| 1 | +package com.bsth.server_rs.base_info.section.entity; | ||
| 2 | + | ||
| 3 | +/** | ||
| 4 | + * 路段 | ||
| 5 | + * Created by panzhao on 2017/9/1. | ||
| 6 | + */ | ||
| 7 | +public class LD_Section { | ||
| 8 | + | ||
| 9 | + /** 路段编码 */ | ||
| 10 | + private String sectionCode; | ||
| 11 | + | ||
| 12 | + /** 路段名称 */ | ||
| 13 | + private String sectionName; | ||
| 14 | + | ||
| 15 | + /** 路段类型 */ | ||
| 16 | + private String sectionType; | ||
| 17 | + | ||
| 18 | + /** 路段矢量(空间坐标点集合)--GPS坐标点 */ | ||
| 19 | + private String gsectionVector; | ||
| 20 | + | ||
| 21 | + /** 交叉路 */ | ||
| 22 | + private String crosesRoad; | ||
| 23 | + | ||
| 24 | + /** 版本号 */ | ||
| 25 | + private Integer versions; | ||
| 26 | + | ||
| 27 | + public String getSectionCode() { | ||
| 28 | + return sectionCode; | ||
| 29 | + } | ||
| 30 | + | ||
| 31 | + public void setSectionCode(String sectionCode) { | ||
| 32 | + this.sectionCode = sectionCode; | ||
| 33 | + } | ||
| 34 | + | ||
| 35 | + public String getSectionName() { | ||
| 36 | + return sectionName; | ||
| 37 | + } | ||
| 38 | + | ||
| 39 | + public void setSectionName(String sectionName) { | ||
| 40 | + this.sectionName = sectionName; | ||
| 41 | + } | ||
| 42 | + | ||
| 43 | + public String getSectionType() { | ||
| 44 | + return sectionType; | ||
| 45 | + } | ||
| 46 | + | ||
| 47 | + public void setSectionType(String sectionType) { | ||
| 48 | + this.sectionType = sectionType; | ||
| 49 | + } | ||
| 50 | + | ||
| 51 | + public String getGsectionVector() { | ||
| 52 | + return gsectionVector; | ||
| 53 | + } | ||
| 54 | + | ||
| 55 | + public void setGsectionVector(String gsectionVector) { | ||
| 56 | + this.gsectionVector = gsectionVector; | ||
| 57 | + } | ||
| 58 | + | ||
| 59 | + public String getCrosesRoad() { | ||
| 60 | + return crosesRoad; | ||
| 61 | + } | ||
| 62 | + | ||
| 63 | + public void setCrosesRoad(String crosesRoad) { | ||
| 64 | + this.crosesRoad = crosesRoad; | ||
| 65 | + } | ||
| 66 | + | ||
| 67 | + public Integer getVersions() { | ||
| 68 | + return versions; | ||
| 69 | + } | ||
| 70 | + | ||
| 71 | + public void setVersions(Integer versions) { | ||
| 72 | + this.versions = versions; | ||
| 73 | + } | ||
| 74 | +} |
src/main/java/com/bsth/server_rs/base_info/section/entity/LD_SectionRoute.java
0 → 100644
| 1 | +package com.bsth.server_rs.base_info.section.entity; | ||
| 2 | + | ||
| 3 | +/** | ||
| 4 | + * 路段路由 | ||
| 5 | + * Created by panzhao on 2017/9/1. | ||
| 6 | + */ | ||
| 7 | +public class LD_SectionRoute { | ||
| 8 | + | ||
| 9 | + /** 线路编号 */ | ||
| 10 | + private String lineCode; | ||
| 11 | + | ||
| 12 | + /** 路段编号 */ | ||
| 13 | + private String sectionCode; | ||
| 14 | + | ||
| 15 | + /** 路段路由方向 */ | ||
| 16 | + private Integer directions; | ||
| 17 | + | ||
| 18 | + /** 路段路由序号 */ | ||
| 19 | + private Integer sectionrouteCode; | ||
| 20 | + | ||
| 21 | + /** 版本号 */ | ||
| 22 | + private Integer versions; | ||
| 23 | + | ||
| 24 | + /** 路段详细 */ | ||
| 25 | + private LD_Section section; | ||
| 26 | + | ||
| 27 | + public String getLineCode() { | ||
| 28 | + return lineCode; | ||
| 29 | + } | ||
| 30 | + | ||
| 31 | + public void setLineCode(String lineCode) { | ||
| 32 | + this.lineCode = lineCode; | ||
| 33 | + } | ||
| 34 | + | ||
| 35 | + public String getSectionCode() { | ||
| 36 | + return sectionCode; | ||
| 37 | + } | ||
| 38 | + | ||
| 39 | + public void setSectionCode(String sectionCode) { | ||
| 40 | + this.sectionCode = sectionCode; | ||
| 41 | + } | ||
| 42 | + | ||
| 43 | + public Integer getDirections() { | ||
| 44 | + return directions; | ||
| 45 | + } | ||
| 46 | + | ||
| 47 | + public void setDirections(Integer directions) { | ||
| 48 | + this.directions = directions; | ||
| 49 | + } | ||
| 50 | + | ||
| 51 | + public Integer getSectionrouteCode() { | ||
| 52 | + return sectionrouteCode; | ||
| 53 | + } | ||
| 54 | + | ||
| 55 | + public void setSectionrouteCode(Integer sectionrouteCode) { | ||
| 56 | + this.sectionrouteCode = sectionrouteCode; | ||
| 57 | + } | ||
| 58 | + | ||
| 59 | + public Integer getVersions() { | ||
| 60 | + return versions; | ||
| 61 | + } | ||
| 62 | + | ||
| 63 | + public void setVersions(Integer versions) { | ||
| 64 | + this.versions = versions; | ||
| 65 | + } | ||
| 66 | + | ||
| 67 | + public LD_Section getSection() { | ||
| 68 | + return section; | ||
| 69 | + } | ||
| 70 | + | ||
| 71 | + public void setSection(LD_Section section) { | ||
| 72 | + this.section = section; | ||
| 73 | + } | ||
| 74 | +} |
src/main/java/com/bsth/server_rs/base_info/station/buffer/StationRefreshThread.java
| @@ -35,7 +35,7 @@ public class StationRefreshThread extends Thread{ | @@ -35,7 +35,7 @@ public class StationRefreshThread extends Thread{ | ||
| 35 | StationBufferData.replaceAll(stationList); | 35 | StationBufferData.replaceAll(stationList); |
| 36 | 36 | ||
| 37 | //站点路由信息 | 37 | //站点路由信息 |
| 38 | - List<StationRotue> routeList = jdbcTemplate.query("select id, line, station_route_code, line_code,station_code,station_mark,distances, to_time,directions from bsth_c_stationroute", | 38 | + List<StationRotue> routeList = jdbcTemplate.query("select id, line, station_route_code, line_code,station_code,station_mark,distances, to_time,directions from bsth_c_stationroute where destroy=0", |
| 39 | BeanPropertyRowMapper.newInstance(StationRotue.class)); | 39 | BeanPropertyRowMapper.newInstance(StationRotue.class)); |
| 40 | 40 | ||
| 41 | for(StationRotue sr : routeList){ | 41 | for(StationRotue sr : routeList){ |
src/main/java/com/bsth/server_rs/schedule/dto/AttendancePlanDay.java
0 → 100644
| 1 | +package com.bsth.server_rs.schedule.dto; | ||
| 2 | + | ||
| 3 | +/** | ||
| 4 | + * Created by panzhao on 2017/9/1. | ||
| 5 | + */ | ||
| 6 | +public class AttendancePlanDay { | ||
| 7 | + | ||
| 8 | + private String jGh; | ||
| 9 | + | ||
| 10 | + private String jName; | ||
| 11 | + | ||
| 12 | + private String scheduleDate; | ||
| 13 | + | ||
| 14 | + public String getjGh() { | ||
| 15 | + return jGh; | ||
| 16 | + } | ||
| 17 | + | ||
| 18 | + public void setjGh(String jGh) { | ||
| 19 | + this.jGh = jGh; | ||
| 20 | + } | ||
| 21 | + | ||
| 22 | + public String getjName() { | ||
| 23 | + return jName; | ||
| 24 | + } | ||
| 25 | + | ||
| 26 | + public void setjName(String jName) { | ||
| 27 | + this.jName = jName; | ||
| 28 | + } | ||
| 29 | + | ||
| 30 | + public String getScheduleDate() { | ||
| 31 | + return scheduleDate; | ||
| 32 | + } | ||
| 33 | + | ||
| 34 | + public void setScheduleDate(String scheduleDate) { | ||
| 35 | + this.scheduleDate = scheduleDate; | ||
| 36 | + } | ||
| 37 | +} |
src/main/java/com/bsth/server_rs/schedule/dto/AttendancePlanMonth.java
0 → 100644
| 1 | +package com.bsth.server_rs.schedule.dto; | ||
| 2 | + | ||
| 3 | +import com.bsth.util.ConvertUtil; | ||
| 4 | +import com.google.common.collect.ArrayListMultimap; | ||
| 5 | +import org.slf4j.Logger; | ||
| 6 | +import org.slf4j.LoggerFactory; | ||
| 7 | + | ||
| 8 | +import java.util.ArrayList; | ||
| 9 | +import java.util.List; | ||
| 10 | +import java.util.Set; | ||
| 11 | + | ||
| 12 | +/** | ||
| 13 | + * 计划出勤 | ||
| 14 | + * Created by panzhao on 2017/9/1. | ||
| 15 | + */ | ||
| 16 | +public class AttendancePlanMonth { | ||
| 17 | + | ||
| 18 | + static Logger logger = LoggerFactory.getLogger(AttendancePlanMonth.class); | ||
| 19 | + | ||
| 20 | + public static List<AttendancePlanMonth> getMultiInstance(String month, List<AttendancePlanDay> list){ | ||
| 21 | + List<AttendancePlanMonth> rs = new ArrayList<>(); | ||
| 22 | + | ||
| 23 | + if(list == null || list.size() == 0) | ||
| 24 | + return rs; | ||
| 25 | + | ||
| 26 | + //分组 | ||
| 27 | + Class clazz = AttendancePlanDay.class; | ||
| 28 | + try { | ||
| 29 | + ArrayListMultimap<String, AttendancePlanDay> listMultimap = new ConvertUtil<AttendancePlanDay>() | ||
| 30 | + .groupMultiList(list, "/", clazz.getDeclaredField("jGh"), clazz.getDeclaredField("jName")); | ||
| 31 | + | ||
| 32 | + Set<String> ks = listMultimap.keySet(); | ||
| 33 | + | ||
| 34 | + for(String k : ks){ | ||
| 35 | + rs.add(new AttendancePlanMonth(month, k, listMultimap.get(k))); | ||
| 36 | + } | ||
| 37 | + } catch (NoSuchFieldException e) { | ||
| 38 | + logger.error("", e); | ||
| 39 | + } | ||
| 40 | + return rs; | ||
| 41 | + } | ||
| 42 | + | ||
| 43 | + AttendancePlanMonth(){} | ||
| 44 | + | ||
| 45 | + AttendancePlanMonth(String month, String jsy, List<AttendancePlanDay> list){ | ||
| 46 | + this.month = month; | ||
| 47 | + this.jsy = jsy; | ||
| 48 | + this.ycqts = list.size(); | ||
| 49 | + | ||
| 50 | + StringBuilder sb = new StringBuilder(); | ||
| 51 | + try { | ||
| 52 | + for(AttendancePlanDay p : list){ | ||
| 53 | + sb.append(p.getScheduleDate().split("-")[2] + ","); | ||
| 54 | + } | ||
| 55 | + sb.deleteCharAt(sb.length() - 1); | ||
| 56 | + }catch (Exception e){ | ||
| 57 | + logger.error("", e); | ||
| 58 | + } | ||
| 59 | + this.details = sb.toString(); | ||
| 60 | + } | ||
| 61 | + | ||
| 62 | + /** 月份 yyyy-MM */ | ||
| 63 | + private String month; | ||
| 64 | + | ||
| 65 | + /** 驾驶员 */ | ||
| 66 | + private String jsy; | ||
| 67 | + | ||
| 68 | + /** 出勤天数 */ | ||
| 69 | + private int ycqts; | ||
| 70 | + | ||
| 71 | + /** 详细 */ | ||
| 72 | + private String details; | ||
| 73 | + | ||
| 74 | + public String getMonth() { | ||
| 75 | + return month; | ||
| 76 | + } | ||
| 77 | + | ||
| 78 | + public void setMonth(String month) { | ||
| 79 | + this.month = month; | ||
| 80 | + } | ||
| 81 | + | ||
| 82 | + public String getJsy() { | ||
| 83 | + return jsy; | ||
| 84 | + } | ||
| 85 | + | ||
| 86 | + public void setJsy(String jsy) { | ||
| 87 | + this.jsy = jsy; | ||
| 88 | + } | ||
| 89 | + | ||
| 90 | + public int getYcqts() { | ||
| 91 | + return ycqts; | ||
| 92 | + } | ||
| 93 | + | ||
| 94 | + public void setYcqts(int ycqts) { | ||
| 95 | + this.ycqts = ycqts; | ||
| 96 | + } | ||
| 97 | + | ||
| 98 | + public String getDetails() { | ||
| 99 | + return details; | ||
| 100 | + } | ||
| 101 | + | ||
| 102 | + public void setDetails(String details) { | ||
| 103 | + this.details = details; | ||
| 104 | + } | ||
| 105 | +} |
src/main/java/com/bsth/server_rs/schedule/dto/PlanScheduleDTO_JK.java
0 → 100644
| 1 | +package com.bsth.server_rs.schedule.dto; | ||
| 2 | + | ||
| 3 | +import com.bsth.entity.SchedulePlanInfo; | ||
| 4 | +import org.joda.time.format.DateTimeFormat; | ||
| 5 | +import org.joda.time.format.DateTimeFormatter; | ||
| 6 | + | ||
| 7 | +import javax.xml.bind.annotation.XmlRootElement; | ||
| 8 | +import java.util.ArrayList; | ||
| 9 | +import java.util.Collections; | ||
| 10 | +import java.util.Comparator; | ||
| 11 | +import java.util.List; | ||
| 12 | + | ||
| 13 | +/** | ||
| 14 | + * 输出给监控平台的计划排班 | ||
| 15 | + * Created by panzhao on 2017/9/1. | ||
| 16 | + */ | ||
| 17 | +@XmlRootElement | ||
| 18 | +public class PlanScheduleDTO_JK { | ||
| 19 | + | ||
| 20 | + public static List<PlanScheduleDTO_JK> getMultiInstance(List<SchedulePlanInfo> list){ | ||
| 21 | + List<PlanScheduleDTO_JK> rs = new ArrayList<>(); | ||
| 22 | + if(list == null || list.size()==0) | ||
| 23 | + return rs; | ||
| 24 | + | ||
| 25 | + Collections.sort(list, new Comparator<SchedulePlanInfo>() { | ||
| 26 | + @Override | ||
| 27 | + public int compare(SchedulePlanInfo o1, SchedulePlanInfo o2) { | ||
| 28 | + return o1.getFcno().compareTo(o2.getFcno()); | ||
| 29 | + } | ||
| 30 | + }); | ||
| 31 | + | ||
| 32 | + for(SchedulePlanInfo plan : list){ | ||
| 33 | + rs.add(new PlanScheduleDTO_JK(plan)); | ||
| 34 | + } | ||
| 35 | + | ||
| 36 | + return rs; | ||
| 37 | + } | ||
| 38 | + | ||
| 39 | + private static DateTimeFormatter fmtyyyyMMdd = DateTimeFormat.forPattern("yyyy-MM-dd"); | ||
| 40 | + | ||
| 41 | + PlanScheduleDTO_JK(){} | ||
| 42 | + | ||
| 43 | + PlanScheduleDTO_JK(SchedulePlanInfo sch){ | ||
| 44 | + this.id = sch.getId(); | ||
| 45 | + this.scheduleDateStr = fmtyyyyMMdd.print(sch.getScheduleDate().getTime()); | ||
| 46 | + this.lineCode = sch.getXlBm(); | ||
| 47 | + this.lineName = sch.getXlName(); | ||
| 48 | + this.lpName = sch.getLpName(); | ||
| 49 | + this.nbbm = sch.getClZbh(); | ||
| 50 | + this.jsy = sch.getjGh() + "/" + sch.getjName(); | ||
| 51 | + this.spy = sch.getsGh() + "/" + sch.getsName(); | ||
| 52 | + this.upDowm = Integer.parseInt(sch.getXlDir()); | ||
| 53 | + this.qdzCode = sch.getQdzCode(); | ||
| 54 | + this.qdzName = sch.getQdzName(); | ||
| 55 | + this.zdzCode = sch.getZdzCode(); | ||
| 56 | + this.zdzName = sch.getZdzName(); | ||
| 57 | + this.fcsj = sch.getFcsj(); | ||
| 58 | + this.fcno = sch.getFcno(); | ||
| 59 | + this.jhlc = sch.getJhlc(); | ||
| 60 | + this.bcsj = sch.getBcsj(); | ||
| 61 | + this.bcType = sch.getBcType(); | ||
| 62 | + } | ||
| 63 | + | ||
| 64 | + /** 主键Id */ | ||
| 65 | + private Long id; | ||
| 66 | + | ||
| 67 | + /** 排班计划日期 */ | ||
| 68 | + private String scheduleDateStr; | ||
| 69 | + | ||
| 70 | + /** 线路编码 */ | ||
| 71 | + private String lineCode; | ||
| 72 | + | ||
| 73 | + /** 线路名称 */ | ||
| 74 | + private String lineName; | ||
| 75 | + | ||
| 76 | + /** 路牌名称 */ | ||
| 77 | + private String lpName; | ||
| 78 | + | ||
| 79 | + /** 车辆自编号 */ | ||
| 80 | + private String nbbm; | ||
| 81 | + | ||
| 82 | + /** 驾驶员工号/姓名 */ | ||
| 83 | + private String jsy; | ||
| 84 | + /** 售票员工号/姓名 */ | ||
| 85 | + private String spy; | ||
| 86 | + | ||
| 87 | + /** 上下行 */ | ||
| 88 | + private Integer upDowm; | ||
| 89 | + /** 起点站code */ | ||
| 90 | + private String qdzCode; | ||
| 91 | + /** 起点站名字 */ | ||
| 92 | + private String qdzName; | ||
| 93 | + /** 终点站code */ | ||
| 94 | + private String zdzCode; | ||
| 95 | + /** 终点站名字 */ | ||
| 96 | + private String zdzName; | ||
| 97 | + | ||
| 98 | + /** 发车时间(格式 HH:mm) */ | ||
| 99 | + private String fcsj; | ||
| 100 | + /** 发车顺序号 */ | ||
| 101 | + private Integer fcno; | ||
| 102 | + /** 计划里程 */ | ||
| 103 | + private Double jhlc; | ||
| 104 | + /** 班次历时 */ | ||
| 105 | + private Integer bcsj; | ||
| 106 | + | ||
| 107 | + /** 班次类型 */ | ||
| 108 | + private String bcType; | ||
| 109 | + | ||
| 110 | + public Long getId() { | ||
| 111 | + return id; | ||
| 112 | + } | ||
| 113 | + | ||
| 114 | + public void setId(Long id) { | ||
| 115 | + this.id = id; | ||
| 116 | + } | ||
| 117 | + | ||
| 118 | + public String getScheduleDateStr() { | ||
| 119 | + return scheduleDateStr; | ||
| 120 | + } | ||
| 121 | + | ||
| 122 | + public void setScheduleDateStr(String scheduleDateStr) { | ||
| 123 | + this.scheduleDateStr = scheduleDateStr; | ||
| 124 | + } | ||
| 125 | + | ||
| 126 | + public String getLpName() { | ||
| 127 | + return lpName; | ||
| 128 | + } | ||
| 129 | + | ||
| 130 | + public void setLpName(String lpName) { | ||
| 131 | + this.lpName = lpName; | ||
| 132 | + } | ||
| 133 | + | ||
| 134 | + public String getNbbm() { | ||
| 135 | + return nbbm; | ||
| 136 | + } | ||
| 137 | + | ||
| 138 | + public void setNbbm(String nbbm) { | ||
| 139 | + this.nbbm = nbbm; | ||
| 140 | + } | ||
| 141 | + | ||
| 142 | + public String getJsy() { | ||
| 143 | + return jsy; | ||
| 144 | + } | ||
| 145 | + | ||
| 146 | + public void setJsy(String jsy) { | ||
| 147 | + this.jsy = jsy; | ||
| 148 | + } | ||
| 149 | + | ||
| 150 | + public String getSpy() { | ||
| 151 | + return spy; | ||
| 152 | + } | ||
| 153 | + | ||
| 154 | + public void setSpy(String spy) { | ||
| 155 | + this.spy = spy; | ||
| 156 | + } | ||
| 157 | + | ||
| 158 | + public String getQdzCode() { | ||
| 159 | + return qdzCode; | ||
| 160 | + } | ||
| 161 | + | ||
| 162 | + public void setQdzCode(String qdzCode) { | ||
| 163 | + this.qdzCode = qdzCode; | ||
| 164 | + } | ||
| 165 | + | ||
| 166 | + public String getQdzName() { | ||
| 167 | + return qdzName; | ||
| 168 | + } | ||
| 169 | + | ||
| 170 | + public void setQdzName(String qdzName) { | ||
| 171 | + this.qdzName = qdzName; | ||
| 172 | + } | ||
| 173 | + | ||
| 174 | + public String getZdzCode() { | ||
| 175 | + return zdzCode; | ||
| 176 | + } | ||
| 177 | + | ||
| 178 | + public void setZdzCode(String zdzCode) { | ||
| 179 | + this.zdzCode = zdzCode; | ||
| 180 | + } | ||
| 181 | + | ||
| 182 | + public String getZdzName() { | ||
| 183 | + return zdzName; | ||
| 184 | + } | ||
| 185 | + | ||
| 186 | + public void setZdzName(String zdzName) { | ||
| 187 | + this.zdzName = zdzName; | ||
| 188 | + } | ||
| 189 | + | ||
| 190 | + public String getFcsj() { | ||
| 191 | + return fcsj; | ||
| 192 | + } | ||
| 193 | + | ||
| 194 | + public void setFcsj(String fcsj) { | ||
| 195 | + this.fcsj = fcsj; | ||
| 196 | + } | ||
| 197 | + | ||
| 198 | + public Integer getFcno() { | ||
| 199 | + return fcno; | ||
| 200 | + } | ||
| 201 | + | ||
| 202 | + public void setFcno(Integer fcno) { | ||
| 203 | + this.fcno = fcno; | ||
| 204 | + } | ||
| 205 | + | ||
| 206 | + public Double getJhlc() { | ||
| 207 | + return jhlc; | ||
| 208 | + } | ||
| 209 | + | ||
| 210 | + public void setJhlc(Double jhlc) { | ||
| 211 | + this.jhlc = jhlc; | ||
| 212 | + } | ||
| 213 | + | ||
| 214 | + public Integer getBcsj() { | ||
| 215 | + return bcsj; | ||
| 216 | + } | ||
| 217 | + | ||
| 218 | + public void setBcsj(Integer bcsj) { | ||
| 219 | + this.bcsj = bcsj; | ||
| 220 | + } | ||
| 221 | + | ||
| 222 | + public String getBcType() { | ||
| 223 | + return bcType; | ||
| 224 | + } | ||
| 225 | + | ||
| 226 | + public void setBcType(String bcType) { | ||
| 227 | + this.bcType = bcType; | ||
| 228 | + } | ||
| 229 | + | ||
| 230 | + public String getLineCode() { | ||
| 231 | + return lineCode; | ||
| 232 | + } | ||
| 233 | + | ||
| 234 | + public void setLineCode(String lineCode) { | ||
| 235 | + this.lineCode = lineCode; | ||
| 236 | + } | ||
| 237 | + | ||
| 238 | + public String getLineName() { | ||
| 239 | + return lineName; | ||
| 240 | + } | ||
| 241 | + | ||
| 242 | + public void setLineName(String lineName) { | ||
| 243 | + this.lineName = lineName; | ||
| 244 | + } | ||
| 245 | + | ||
| 246 | + public Integer getUpDowm() { | ||
| 247 | + return upDowm; | ||
| 248 | + } | ||
| 249 | + | ||
| 250 | + public void setUpDowm(Integer upDowm) { | ||
| 251 | + this.upDowm = upDowm; | ||
| 252 | + } | ||
| 253 | +} |
src/main/java/com/bsth/server_rs/schedule/dto/ScheduleInOut.java
| 1 | package com.bsth.server_rs.schedule.dto; | 1 | package com.bsth.server_rs.schedule.dto; |
| 2 | 2 | ||
| 3 | -import com.alibaba.fastjson.JSON; | ||
| 4 | -import com.alibaba.fastjson.JSONObject; | ||
| 5 | import com.bsth.entity.ScheduleRealInfo; | 3 | import com.bsth.entity.ScheduleRealInfo; |
| 6 | 4 | ||
| 7 | import javax.xml.bind.annotation.XmlRootElement; | 5 | import javax.xml.bind.annotation.XmlRootElement; |
| @@ -26,43 +24,40 @@ public class ScheduleInOut implements Serializable { | @@ -26,43 +24,40 @@ public class ScheduleInOut implements Serializable { | ||
| 26 | if(!sch.getQdzCode().equals(tccCode) && !sch.getZdzCode().equals(tccCode)) | 24 | if(!sch.getQdzCode().equals(tccCode) && !sch.getZdzCode().equals(tccCode)) |
| 27 | continue; | 25 | continue; |
| 28 | 26 | ||
| 29 | - rs.add(getInstance(sch)); | 27 | + rs.add(new ScheduleInOut(sch)); |
| 30 | } | 28 | } |
| 31 | return rs; | 29 | return rs; |
| 32 | } | 30 | } |
| 33 | 31 | ||
| 34 | - public static ScheduleInOut getInstance(ScheduleRealInfo sch){ | ||
| 35 | - return JSONObject.parseObject(JSON.toJSONString(sch), ScheduleInOut.class); | 32 | + /* public static ScheduleInOut getInstance(ScheduleRealInfo sch){ |
| 33 | + //return JSONObject.parseObject(JSON.toJSONString(sch), ScheduleInOut.class); | ||
| 34 | + }*/ | ||
| 35 | + | ||
| 36 | + ScheduleInOut(){} | ||
| 37 | + | ||
| 38 | + ScheduleInOut(ScheduleRealInfo sch){ | ||
| 39 | + this.id = sch.getId(); | ||
| 36 | } | 40 | } |
| 37 | 41 | ||
| 38 | private Long id; | 42 | private Long id; |
| 39 | private String scheduleDateStr; | 43 | private String scheduleDateStr; |
| 40 | - private String realExecDate; | ||
| 41 | - private String xlName; | ||
| 42 | - private String xlBm; | 44 | + private String lineCode; |
| 45 | + private String lineName; | ||
| 43 | private String lpName; | 46 | private String lpName; |
| 44 | - private String clZbh; | ||
| 45 | - private String jGh; | ||
| 46 | - private String jName; | ||
| 47 | - private String sGh; | ||
| 48 | - private String sName; | ||
| 49 | - private String xlDir; | 47 | + private String nbbm; |
| 48 | + private String jsy; | ||
| 49 | + private String spy; | ||
| 50 | + private Integer upDown; | ||
| 50 | private String qdzCode; | 51 | private String qdzCode; |
| 51 | private String qdzName; | 52 | private String qdzName; |
| 52 | private String zdzCode; | 53 | private String zdzCode; |
| 53 | private String zdzName; | 54 | private String zdzName; |
| 54 | - private String dfsj; | ||
| 55 | private Long dfsjT; | 55 | private Long dfsjT; |
| 56 | - private String zdsj; | ||
| 57 | private Long zdsjT; | 56 | private Long zdsjT; |
| 58 | - private String fcsjActual; | ||
| 59 | - private String zdsjActual; | 57 | + private Long fcsjActualTime; |
| 58 | + private Long zdsjActualTime; | ||
| 60 | private boolean sflj; | 59 | private boolean sflj; |
| 61 | private String remarks; | 60 | private String remarks; |
| 62 | - private String gsName; | ||
| 63 | - private String gsBm; | ||
| 64 | - private String fgsName; | ||
| 65 | - private String fgsBm; | ||
| 66 | 61 | ||
| 67 | public Long getId() { | 62 | public Long getId() { |
| 68 | return id; | 63 | return id; |
| @@ -80,28 +75,20 @@ public class ScheduleInOut implements Serializable { | @@ -80,28 +75,20 @@ public class ScheduleInOut implements Serializable { | ||
| 80 | this.scheduleDateStr = scheduleDateStr; | 75 | this.scheduleDateStr = scheduleDateStr; |
| 81 | } | 76 | } |
| 82 | 77 | ||
| 83 | - public String getRealExecDate() { | ||
| 84 | - return realExecDate; | ||
| 85 | - } | ||
| 86 | - | ||
| 87 | - public void setRealExecDate(String realExecDate) { | ||
| 88 | - this.realExecDate = realExecDate; | ||
| 89 | - } | ||
| 90 | - | ||
| 91 | - public String getXlName() { | ||
| 92 | - return xlName; | 78 | + public String getLineCode() { |
| 79 | + return lineCode; | ||
| 93 | } | 80 | } |
| 94 | 81 | ||
| 95 | - public void setXlName(String xlName) { | ||
| 96 | - this.xlName = xlName; | 82 | + public void setLineCode(String lineCode) { |
| 83 | + this.lineCode = lineCode; | ||
| 97 | } | 84 | } |
| 98 | 85 | ||
| 99 | - public String getXlBm() { | ||
| 100 | - return xlBm; | 86 | + public String getLineName() { |
| 87 | + return lineName; | ||
| 101 | } | 88 | } |
| 102 | 89 | ||
| 103 | - public void setXlBm(String xlBm) { | ||
| 104 | - this.xlBm = xlBm; | 90 | + public void setLineName(String lineName) { |
| 91 | + this.lineName = lineName; | ||
| 105 | } | 92 | } |
| 106 | 93 | ||
| 107 | public String getLpName() { | 94 | public String getLpName() { |
| @@ -112,52 +99,36 @@ public class ScheduleInOut implements Serializable { | @@ -112,52 +99,36 @@ public class ScheduleInOut implements Serializable { | ||
| 112 | this.lpName = lpName; | 99 | this.lpName = lpName; |
| 113 | } | 100 | } |
| 114 | 101 | ||
| 115 | - public String getClZbh() { | ||
| 116 | - return clZbh; | ||
| 117 | - } | ||
| 118 | - | ||
| 119 | - public void setClZbh(String clZbh) { | ||
| 120 | - this.clZbh = clZbh; | ||
| 121 | - } | ||
| 122 | - | ||
| 123 | - public String getjGh() { | ||
| 124 | - return jGh; | 102 | + public String getNbbm() { |
| 103 | + return nbbm; | ||
| 125 | } | 104 | } |
| 126 | 105 | ||
| 127 | - public void setjGh(String jGh) { | ||
| 128 | - this.jGh = jGh; | 106 | + public void setNbbm(String nbbm) { |
| 107 | + this.nbbm = nbbm; | ||
| 129 | } | 108 | } |
| 130 | 109 | ||
| 131 | - public String getjName() { | ||
| 132 | - return jName; | 110 | + public String getJsy() { |
| 111 | + return jsy; | ||
| 133 | } | 112 | } |
| 134 | 113 | ||
| 135 | - public void setjName(String jName) { | ||
| 136 | - this.jName = jName; | 114 | + public void setJsy(String jsy) { |
| 115 | + this.jsy = jsy; | ||
| 137 | } | 116 | } |
| 138 | 117 | ||
| 139 | - public String getsGh() { | ||
| 140 | - return sGh; | 118 | + public String getSpy() { |
| 119 | + return spy; | ||
| 141 | } | 120 | } |
| 142 | 121 | ||
| 143 | - public void setsGh(String sGh) { | ||
| 144 | - this.sGh = sGh; | 122 | + public void setSpy(String spy) { |
| 123 | + this.spy = spy; | ||
| 145 | } | 124 | } |
| 146 | 125 | ||
| 147 | - public String getsName() { | ||
| 148 | - return sName; | 126 | + public Integer getUpDown() { |
| 127 | + return upDown; | ||
| 149 | } | 128 | } |
| 150 | 129 | ||
| 151 | - public void setsName(String sName) { | ||
| 152 | - this.sName = sName; | ||
| 153 | - } | ||
| 154 | - | ||
| 155 | - public String getXlDir() { | ||
| 156 | - return xlDir; | ||
| 157 | - } | ||
| 158 | - | ||
| 159 | - public void setXlDir(String xlDir) { | ||
| 160 | - this.xlDir = xlDir; | 130 | + public void setUpDown(Integer upDown) { |
| 131 | + this.upDown = upDown; | ||
| 161 | } | 132 | } |
| 162 | 133 | ||
| 163 | public String getQdzCode() { | 134 | public String getQdzCode() { |
| @@ -192,14 +163,6 @@ public class ScheduleInOut implements Serializable { | @@ -192,14 +163,6 @@ public class ScheduleInOut implements Serializable { | ||
| 192 | this.zdzName = zdzName; | 163 | this.zdzName = zdzName; |
| 193 | } | 164 | } |
| 194 | 165 | ||
| 195 | - public String getDfsj() { | ||
| 196 | - return dfsj; | ||
| 197 | - } | ||
| 198 | - | ||
| 199 | - public void setDfsj(String dfsj) { | ||
| 200 | - this.dfsj = dfsj; | ||
| 201 | - } | ||
| 202 | - | ||
| 203 | public Long getDfsjT() { | 166 | public Long getDfsjT() { |
| 204 | return dfsjT; | 167 | return dfsjT; |
| 205 | } | 168 | } |
| @@ -208,14 +171,6 @@ public class ScheduleInOut implements Serializable { | @@ -208,14 +171,6 @@ public class ScheduleInOut implements Serializable { | ||
| 208 | this.dfsjT = dfsjT; | 171 | this.dfsjT = dfsjT; |
| 209 | } | 172 | } |
| 210 | 173 | ||
| 211 | - public String getZdsj() { | ||
| 212 | - return zdsj; | ||
| 213 | - } | ||
| 214 | - | ||
| 215 | - public void setZdsj(String zdsj) { | ||
| 216 | - this.zdsj = zdsj; | ||
| 217 | - } | ||
| 218 | - | ||
| 219 | public Long getZdsjT() { | 174 | public Long getZdsjT() { |
| 220 | return zdsjT; | 175 | return zdsjT; |
| 221 | } | 176 | } |
| @@ -224,20 +179,20 @@ public class ScheduleInOut implements Serializable { | @@ -224,20 +179,20 @@ public class ScheduleInOut implements Serializable { | ||
| 224 | this.zdsjT = zdsjT; | 179 | this.zdsjT = zdsjT; |
| 225 | } | 180 | } |
| 226 | 181 | ||
| 227 | - public String getFcsjActual() { | ||
| 228 | - return fcsjActual; | 182 | + public Long getFcsjActualTime() { |
| 183 | + return fcsjActualTime; | ||
| 229 | } | 184 | } |
| 230 | 185 | ||
| 231 | - public void setFcsjActual(String fcsjActual) { | ||
| 232 | - this.fcsjActual = fcsjActual; | 186 | + public void setFcsjActualTime(Long fcsjActualTime) { |
| 187 | + this.fcsjActualTime = fcsjActualTime; | ||
| 233 | } | 188 | } |
| 234 | 189 | ||
| 235 | - public String getZdsjActual() { | ||
| 236 | - return zdsjActual; | 190 | + public Long getZdsjActualTime() { |
| 191 | + return zdsjActualTime; | ||
| 237 | } | 192 | } |
| 238 | 193 | ||
| 239 | - public void setZdsjActual(String zdsjActual) { | ||
| 240 | - this.zdsjActual = zdsjActual; | 194 | + public void setZdsjActualTime(Long zdsjActualTime) { |
| 195 | + this.zdsjActualTime = zdsjActualTime; | ||
| 241 | } | 196 | } |
| 242 | 197 | ||
| 243 | public boolean isSflj() { | 198 | public boolean isSflj() { |
| @@ -255,36 +210,4 @@ public class ScheduleInOut implements Serializable { | @@ -255,36 +210,4 @@ public class ScheduleInOut implements Serializable { | ||
| 255 | public void setRemarks(String remarks) { | 210 | public void setRemarks(String remarks) { |
| 256 | this.remarks = remarks; | 211 | this.remarks = remarks; |
| 257 | } | 212 | } |
| 258 | - | ||
| 259 | - public String getGsName() { | ||
| 260 | - return gsName; | ||
| 261 | - } | ||
| 262 | - | ||
| 263 | - public void setGsName(String gsName) { | ||
| 264 | - this.gsName = gsName; | ||
| 265 | - } | ||
| 266 | - | ||
| 267 | - public String getGsBm() { | ||
| 268 | - return gsBm; | ||
| 269 | - } | ||
| 270 | - | ||
| 271 | - public void setGsBm(String gsBm) { | ||
| 272 | - this.gsBm = gsBm; | ||
| 273 | - } | ||
| 274 | - | ||
| 275 | - public String getFgsName() { | ||
| 276 | - return fgsName; | ||
| 277 | - } | ||
| 278 | - | ||
| 279 | - public void setFgsName(String fgsName) { | ||
| 280 | - this.fgsName = fgsName; | ||
| 281 | - } | ||
| 282 | - | ||
| 283 | - public String getFgsBm() { | ||
| 284 | - return fgsBm; | ||
| 285 | - } | ||
| 286 | - | ||
| 287 | - public void setFgsBm(String fgsBm) { | ||
| 288 | - this.fgsBm = fgsBm; | ||
| 289 | - } | ||
| 290 | } | 213 | } |
src/main/java/com/bsth/server_rs/schedule/dto/ScheduleRealInfoDTO_JK.java
| @@ -14,7 +14,12 @@ import java.util.*; | @@ -14,7 +14,12 @@ import java.util.*; | ||
| 14 | @XmlRootElement | 14 | @XmlRootElement |
| 15 | public class ScheduleRealInfoDTO_JK implements Serializable { | 15 | public class ScheduleRealInfoDTO_JK implements Serializable { |
| 16 | 16 | ||
| 17 | - public static List<ScheduleRealInfoDTO_JK> getMultiInstance(List<ScheduleRealInfo> list){ | 17 | + public static List<ScheduleRealInfoDTO_JK> getMultiInstance(List<ScheduleRealInfo> list) { |
| 18 | + | ||
| 19 | + List<ScheduleRealInfoDTO_JK> rs = new ArrayList<>(); | ||
| 20 | + | ||
| 21 | + if(list == null || list.size()==0) | ||
| 22 | + return rs; | ||
| 18 | Collections.sort(list, new Comparator<ScheduleRealInfo>() { | 23 | Collections.sort(list, new Comparator<ScheduleRealInfo>() { |
| 19 | @Override | 24 | @Override |
| 20 | public int compare(ScheduleRealInfo o1, ScheduleRealInfo o2) { | 25 | public int compare(ScheduleRealInfo o1, ScheduleRealInfo o2) { |
| @@ -22,20 +27,16 @@ public class ScheduleRealInfoDTO_JK implements Serializable { | @@ -22,20 +27,16 @@ public class ScheduleRealInfoDTO_JK implements Serializable { | ||
| 22 | } | 27 | } |
| 23 | }); | 28 | }); |
| 24 | 29 | ||
| 25 | - List<ScheduleRealInfoDTO_JK> rs = new ArrayList<>(); | ||
| 26 | - ScheduleRealInfoDTO_JK s; | ||
| 27 | - for(ScheduleRealInfo sch : list){ | ||
| 28 | - s = new ScheduleRealInfoDTO_JK(sch); | ||
| 29 | - if(!s.getId().toString().equals("2740904")) | ||
| 30 | - continue; | ||
| 31 | - rs.add(s); | 30 | + for (ScheduleRealInfo sch : list) { |
| 31 | + rs.add(new ScheduleRealInfoDTO_JK(sch)); | ||
| 32 | } | 32 | } |
| 33 | return rs; | 33 | return rs; |
| 34 | } | 34 | } |
| 35 | 35 | ||
| 36 | - ScheduleRealInfoDTO_JK(){} | 36 | + ScheduleRealInfoDTO_JK() { |
| 37 | + } | ||
| 37 | 38 | ||
| 38 | - ScheduleRealInfoDTO_JK(ScheduleRealInfo sch){ | 39 | + ScheduleRealInfoDTO_JK(ScheduleRealInfo sch) { |
| 39 | this.id = sch.getId(); | 40 | this.id = sch.getId(); |
| 40 | this.scheduleDate = sch.getScheduleDateStr(); | 41 | this.scheduleDate = sch.getScheduleDateStr(); |
| 41 | this.lineName = sch.getXlName(); | 42 | this.lineName = sch.getXlName(); |
| @@ -69,53 +70,91 @@ public class ScheduleRealInfoDTO_JK implements Serializable { | @@ -69,53 +70,91 @@ public class ScheduleRealInfoDTO_JK implements Serializable { | ||
| 69 | 70 | ||
| 70 | private String scheduleDate; | 71 | private String scheduleDate; |
| 71 | 72 | ||
| 72 | - /** 线路名称 */ | 73 | + /** |
| 74 | + * 线路名称 | ||
| 75 | + */ | ||
| 73 | private String lineName; | 76 | private String lineName; |
| 74 | - /** 线路编码 */ | 77 | + /** |
| 78 | + * 线路编码 | ||
| 79 | + */ | ||
| 75 | private String lineCode; | 80 | private String lineCode; |
| 76 | 81 | ||
| 77 | - /** 路牌名称 */ | 82 | + /** |
| 83 | + * 路牌名称 | ||
| 84 | + */ | ||
| 78 | private String lpName; | 85 | private String lpName; |
| 79 | 86 | ||
| 80 | - /** 车辆自编号 */ | 87 | + /** |
| 88 | + * 车辆自编号 | ||
| 89 | + */ | ||
| 81 | private String nbbm; | 90 | private String nbbm; |
| 82 | 91 | ||
| 83 | - /** 驾驶员工号/名称 */ | 92 | + /** |
| 93 | + * 驾驶员工号/名称 | ||
| 94 | + */ | ||
| 84 | private String jsy; | 95 | private String jsy; |
| 85 | - /** 售票员工号/名称 */ | 96 | + /** |
| 97 | + * 售票员工号/名称 | ||
| 98 | + */ | ||
| 86 | private String spy; | 99 | private String spy; |
| 87 | 100 | ||
| 88 | - /** 线路方向 */ | 101 | + /** |
| 102 | + * 线路方向 | ||
| 103 | + */ | ||
| 89 | private Integer upDown; | 104 | private Integer upDown; |
| 90 | - /** 起点站code*/ | 105 | + /** |
| 106 | + * 起点站code | ||
| 107 | + */ | ||
| 91 | private String qdzCode; | 108 | private String qdzCode; |
| 92 | - /** 起点站名字 */ | 109 | + /** |
| 110 | + * 起点站名字 | ||
| 111 | + */ | ||
| 93 | private String qdzName; | 112 | private String qdzName; |
| 94 | 113 | ||
| 95 | - /** 终点站code*/ | 114 | + /** |
| 115 | + * 终点站code | ||
| 116 | + */ | ||
| 96 | private String zdzCode; | 117 | private String zdzCode; |
| 97 | - /** 终点站名字 */ | 118 | + /** |
| 119 | + * 终点站名字 | ||
| 120 | + */ | ||
| 98 | private String zdzName; | 121 | private String zdzName; |
| 99 | 122 | ||
| 100 | - /** 计划发车时间戳*/ | 123 | + /** |
| 124 | + * 计划发车时间戳 | ||
| 125 | + */ | ||
| 101 | private Long fcsjT; | 126 | private Long fcsjT; |
| 102 | - /**待发时间戳 */ | 127 | + /** |
| 128 | + * 待发时间戳 | ||
| 129 | + */ | ||
| 103 | private Long dfsjT; | 130 | private Long dfsjT; |
| 104 | - /** 计划终点时间戳*/ | 131 | + /** |
| 132 | + * 计划终点时间戳 | ||
| 133 | + */ | ||
| 105 | private Long zdsjT; | 134 | private Long zdsjT; |
| 106 | 135 | ||
| 107 | - /** 实际发车时间戳*/ | 136 | + /** |
| 137 | + * 实际发车时间戳 | ||
| 138 | + */ | ||
| 108 | private Long fcsjActualTime; | 139 | private Long fcsjActualTime; |
| 109 | - /** 实际终点时间戳*/ | 140 | + /** |
| 141 | + * 实际终点时间戳 | ||
| 142 | + */ | ||
| 110 | private Long zdsjActualTime; | 143 | private Long zdsjActualTime; |
| 111 | 144 | ||
| 112 | - /** 实际计划里程 */ | 145 | + /** |
| 146 | + * 实际计划里程 | ||
| 147 | + */ | ||
| 113 | private Double jhlc; | 148 | private Double jhlc; |
| 114 | 149 | ||
| 115 | - /** 计划里程 */ | 150 | + /** |
| 151 | + * 计划里程 | ||
| 152 | + */ | ||
| 116 | private Double jhlcOrig; | 153 | private Double jhlcOrig; |
| 117 | 154 | ||
| 118 | - /** 班次历时 */ | 155 | + /** |
| 156 | + * 班次历时 | ||
| 157 | + */ | ||
| 119 | private Integer bcsj; | 158 | private Integer bcsj; |
| 120 | 159 | ||
| 121 | /** | 160 | /** |
| @@ -124,18 +163,26 @@ public class ScheduleRealInfoDTO_JK implements Serializable { | @@ -124,18 +163,26 @@ public class ScheduleRealInfoDTO_JK implements Serializable { | ||
| 124 | private String bcType; | 163 | private String bcType; |
| 125 | 164 | ||
| 126 | 165 | ||
| 127 | - /**班次状态 0 未执行 1 正在执行 2 已执行 -1 已烂班 */ | 166 | + /** |
| 167 | + * 班次状态 0 未执行 1 正在执行 2 已执行 -1 已烂班 | ||
| 168 | + */ | ||
| 128 | private int status; | 169 | private int status; |
| 129 | 170 | ||
| 130 | private String adjustExps; | 171 | private String adjustExps; |
| 131 | 172 | ||
| 132 | - /** 是否是临加班次 */ | 173 | + /** |
| 174 | + * 是否是临加班次 | ||
| 175 | + */ | ||
| 133 | private boolean sflj; | 176 | private boolean sflj; |
| 134 | 177 | ||
| 135 | - /** 备注*/ | 178 | + /** |
| 179 | + * 备注 | ||
| 180 | + */ | ||
| 136 | private String remarks; | 181 | private String remarks; |
| 137 | 182 | ||
| 138 | - /** 子任务 */ | 183 | + /** |
| 184 | + * 子任务 | ||
| 185 | + */ | ||
| 139 | private Set<ChildTaskPlan> cTasks; | 186 | private Set<ChildTaskPlan> cTasks; |
| 140 | 187 | ||
| 141 | public Long getId() { | 188 | public Long getId() { |
src/main/java/com/bsth/server_rs/schedule/plan/SchedulePlanService.java
0 → 100644
| 1 | +package com.bsth.server_rs.schedule.plan; | ||
| 2 | + | ||
| 3 | +import com.bsth.redis.PlanScheduleRedisService; | ||
| 4 | +import com.bsth.server_rs.base_info.line.Line; | ||
| 5 | +import com.bsth.server_rs.base_info.line.buffer.LineBufferData; | ||
| 6 | +import com.bsth.server_rs.schedule.dto.AttendancePlanDay; | ||
| 7 | +import com.bsth.server_rs.schedule.dto.AttendancePlanMonth; | ||
| 8 | +import com.bsth.server_rs.schedule.dto.PlanScheduleDTO_JK; | ||
| 9 | +import org.slf4j.Logger; | ||
| 10 | +import org.slf4j.LoggerFactory; | ||
| 11 | +import org.springframework.beans.factory.annotation.Autowired; | ||
| 12 | +import org.springframework.jdbc.core.BeanPropertyRowMapper; | ||
| 13 | +import org.springframework.jdbc.core.JdbcTemplate; | ||
| 14 | +import org.springframework.stereotype.Component; | ||
| 15 | + | ||
| 16 | +import javax.ws.rs.GET; | ||
| 17 | +import javax.ws.rs.Path; | ||
| 18 | +import javax.ws.rs.PathParam; | ||
| 19 | +import javax.ws.rs.Produces; | ||
| 20 | +import javax.ws.rs.core.MediaType; | ||
| 21 | +import java.text.DateFormat; | ||
| 22 | +import java.text.SimpleDateFormat; | ||
| 23 | +import java.util.ArrayList; | ||
| 24 | +import java.util.List; | ||
| 25 | + | ||
| 26 | +/** | ||
| 27 | + * Created by panzhao on 2017/8/24. | ||
| 28 | + */ | ||
| 29 | +@Component | ||
| 30 | +@Path("/schedule") | ||
| 31 | +@Produces({MediaType.APPLICATION_JSON}) | ||
| 32 | +public class SchedulePlanService { | ||
| 33 | + | ||
| 34 | + @Autowired | ||
| 35 | + PlanScheduleRedisService redisService; | ||
| 36 | + | ||
| 37 | + @Autowired | ||
| 38 | + JdbcTemplate jdbcTemplate; | ||
| 39 | + | ||
| 40 | + Logger logger = LoggerFactory.getLogger(this.getClass()); | ||
| 41 | + | ||
| 42 | + @GET | ||
| 43 | + @Path("/sch_jk/{company}/{rq}") | ||
| 44 | + public List<PlanScheduleDTO_JK> find_JK(@PathParam("company") String company, @PathParam("rq") String rq){ | ||
| 45 | + List<PlanScheduleDTO_JK> all = new ArrayList<>(); | ||
| 46 | + | ||
| 47 | + List<Line> lines = LineBufferData.findByCompany(company); | ||
| 48 | + for(Line line : lines){ | ||
| 49 | + all.addAll(PlanScheduleDTO_JK.getMultiInstance(redisService.read(rq, line.getLineCode()))); | ||
| 50 | + } | ||
| 51 | + return all; | ||
| 52 | + } | ||
| 53 | + | ||
| 54 | + @GET | ||
| 55 | + @Path("/ycqts/{company}/{month}") | ||
| 56 | + public List<AttendancePlanMonth> count_ycqts(@PathParam("company") String company,@PathParam("month") String month){ | ||
| 57 | + try { | ||
| 58 | + DateFormat formatter = new SimpleDateFormat("yyyy-MM"); | ||
| 59 | + formatter.parse(month); | ||
| 60 | + }catch (Exception e){ | ||
| 61 | + logger.error("", e); | ||
| 62 | + return null; | ||
| 63 | + } | ||
| 64 | + | ||
| 65 | + List<AttendancePlanDay> list = jdbcTemplate.query("SELECT j_gh,j_name,DATE_FORMAT(schedule_date,'%Y-%m-%d') as schedule_date FROM bsth_c_s_sp_info WHERE gs_bm='"+company+"' and schedule_date LIKE '"+month+"-%' GROUP BY j_gh,j_name,DATE_FORMAT(schedule_date,'%Y-%m-%d')", BeanPropertyRowMapper.newInstance(AttendancePlanDay.class)); | ||
| 66 | + return AttendancePlanMonth.getMultiInstance(month, list); | ||
| 67 | + } | ||
| 68 | +} |