Commit 8bff9c0ec1e3f156b6f038588f12b2b005f69f72
Merge branch 'minhang' of http://222.66.0.204:8090/panzhaov5/bsth_control into minhang
Showing
88 changed files
with
5332 additions
and
2403 deletions
pom.xml
| @@ -24,7 +24,12 @@ | @@ -24,7 +24,12 @@ | ||
| 24 | <artifactId>spring-boot-starter-tomcat</artifactId> | 24 | <artifactId>spring-boot-starter-tomcat</artifactId> |
| 25 | <scope>provided</scope> | 25 | <scope>provided</scope> |
| 26 | </dependency> | 26 | </dependency> |
| 27 | - | 27 | + <dependency> |
| 28 | + <groupId>javax.servlet</groupId> | ||
| 29 | + <artifactId>javax.servlet-api</artifactId> | ||
| 30 | + <version>3.1.0</version> | ||
| 31 | + <scope>provided</scope> | ||
| 32 | + </dependency> | ||
| 28 | <dependency> | 33 | <dependency> |
| 29 | <groupId>org.springframework.boot</groupId> | 34 | <groupId>org.springframework.boot</groupId> |
| 30 | <artifactId>spring-boot-starter-security</artifactId> | 35 | <artifactId>spring-boot-starter-security</artifactId> |
| @@ -229,6 +234,23 @@ | @@ -229,6 +234,23 @@ | ||
| 229 | <version>1.1</version> | 234 | <version>1.1</version> |
| 230 | </dependency> | 235 | </dependency> |
| 231 | 236 | ||
| 237 | + <dependency> | ||
| 238 | + <groupId>org.apache.axis2</groupId> | ||
| 239 | + <artifactId>axis2-adb</artifactId> | ||
| 240 | + <version>1.7.4</version> | ||
| 241 | + </dependency> | ||
| 242 | + <dependency> | ||
| 243 | + <groupId>org.apache.axis2</groupId> | ||
| 244 | + <artifactId>axis2-transport-local</artifactId> | ||
| 245 | + <version>1.7.4</version> | ||
| 246 | + </dependency> | ||
| 247 | + <dependency> | ||
| 248 | + <groupId>org.apache.axis2</groupId> | ||
| 249 | + <artifactId>axis2-transport-http</artifactId> | ||
| 250 | + <version>1.7.4</version> | ||
| 251 | + </dependency> | ||
| 252 | + | ||
| 253 | + | ||
| 232 | <!-- <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> | 254 | <!-- <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> |
| 233 | <optional>true</optional> </dependency> --> | 255 | <optional>true</optional> </dependency> --> |
| 234 | <dependency> | 256 | <dependency> |
src/main/java/com/bsth/controller/oil/YlbController.java
| @@ -209,8 +209,8 @@ public class YlbController extends BaseController<Ylb, Integer>{ | @@ -209,8 +209,8 @@ public class YlbController extends BaseController<Ylb, Integer>{ | ||
| 209 | return maps; | 209 | return maps; |
| 210 | } | 210 | } |
| 211 | @RequestMapping(value="/oilListMonth") | 211 | @RequestMapping(value="/oilListMonth") |
| 212 | - public List<Ylb> oilListMonth(@RequestParam String line,@RequestParam String date){ | ||
| 213 | - return yblService.oilListMonth(line, date); | 212 | + public List<Ylb> oilListMonth(@RequestParam String line,@RequestParam String date,@RequestParam String type){ |
| 213 | + return yblService.oilListMonth(line, date, type); | ||
| 214 | } | 214 | } |
| 215 | 215 | ||
| 216 | @RequestMapping(value = "/checkJsy",method = RequestMethod.GET) | 216 | @RequestMapping(value = "/checkJsy",method = RequestMethod.GET) |
| @@ -244,8 +244,8 @@ public class YlbController extends BaseController<Ylb, Integer>{ | @@ -244,8 +244,8 @@ public class YlbController extends BaseController<Ylb, Integer>{ | ||
| 244 | m.put("jsy", y.getJsy()); | 244 | m.put("jsy", y.getJsy()); |
| 245 | m.put("name", y.getName()); | 245 | m.put("name", y.getName()); |
| 246 | m.put("jzl", y.getJzl()<=0?"0":y.getJzl()); | 246 | m.put("jzl", y.getJzl()<=0?"0":y.getJzl()); |
| 247 | - m.put("czlc", y.getCzlc()<=0?"0":y.getCzlc()); | ||
| 248 | - m.put("jzlc", y.getJzlc()<=0?"0":y.getJzlc()); | 247 | + m.put("czlc", "0"); |
| 248 | + m.put("jzlc", "0"); | ||
| 249 | m.put("czyl", y.getCzyl()<=0?"0":y.getCzyl()); | 249 | m.put("czyl", y.getCzyl()<=0?"0":y.getCzyl()); |
| 250 | m.put("jzyl", y.getJzyl()<=0?"0":y.getJzyl()); | 250 | m.put("jzyl", y.getJzyl()<=0?"0":y.getJzyl()); |
| 251 | m.put("yh", y.getYh()<=0?"0":y.getYh()); | 251 | m.put("yh", y.getYh()<=0?"0":y.getYh()); |
| @@ -255,7 +255,7 @@ public class YlbController extends BaseController<Ylb, Integer>{ | @@ -255,7 +255,7 @@ public class YlbController extends BaseController<Ylb, Integer>{ | ||
| 255 | if(y.getRylx().equals("1")){rylx="负10号柴油";} | 255 | if(y.getRylx().equals("1")){rylx="负10号柴油";} |
| 256 | } | 256 | } |
| 257 | m.put("rylx", rylx); | 257 | m.put("rylx", rylx); |
| 258 | - m.put("ns", y.getNs()); | 258 | + m.put("ns", y.getNs()==null?"0":y.getNs()); |
| 259 | String shyy ="无"; | 259 | String shyy ="无"; |
| 260 | if(y.getShyy()!=null){ | 260 | if(y.getShyy()!=null){ |
| 261 | shyy=y.getShyy(); | 261 | shyy=y.getShyy(); |
src/main/java/com/bsth/controller/realcontrol/ScheduleRealInfoController.java
| @@ -7,6 +7,7 @@ import com.bsth.controller.realcontrol.dto.ChangePersonCar; | @@ -7,6 +7,7 @@ import com.bsth.controller.realcontrol.dto.ChangePersonCar; | ||
| 7 | import com.bsth.controller.realcontrol.dto.DfsjChange; | 7 | import com.bsth.controller.realcontrol.dto.DfsjChange; |
| 8 | import com.bsth.data.BasicData; | 8 | import com.bsth.data.BasicData; |
| 9 | import com.bsth.data.schedule.DayOfSchedule; | 9 | import com.bsth.data.schedule.DayOfSchedule; |
| 10 | +import com.bsth.data.schedule.edit_logs.service.dto.SchEditInfoDto; | ||
| 10 | import com.bsth.entity.realcontrol.ScheduleRealInfo; | 11 | import com.bsth.entity.realcontrol.ScheduleRealInfo; |
| 11 | import com.bsth.entity.schedule.SchedulePlanInfo; | 12 | import com.bsth.entity.schedule.SchedulePlanInfo; |
| 12 | import com.bsth.service.realcontrol.ScheduleRealInfoService; | 13 | import com.bsth.service.realcontrol.ScheduleRealInfoService; |
| @@ -317,9 +318,9 @@ public class ScheduleRealInfoController extends BaseController<ScheduleRealInfo, | @@ -317,9 +318,9 @@ public class ScheduleRealInfoController extends BaseController<ScheduleRealInfo, | ||
| 317 | } | 318 | } |
| 318 | 319 | ||
| 319 | @RequestMapping(value = "/correctForm") | 320 | @RequestMapping(value = "/correctForm") |
| 320 | - public List<ScheduleRealInfo> correctForm(@RequestParam String line, @RequestParam String startDate, | ||
| 321 | - @RequestParam String endDate, @RequestParam String lpName, @RequestParam String code, @RequestParam String type) { | ||
| 322 | - return scheduleRealInfoService.correctForm(line, startDate, endDate, lpName, code, type); | 321 | + public List<SchEditInfoDto> correctForm(@RequestParam String line, @RequestParam String date, |
| 322 | + @RequestParam String lpName, @RequestParam String code, @RequestParam String type) { | ||
| 323 | + return scheduleRealInfoService.correctForm(line, date, lpName, code, type); | ||
| 323 | } | 324 | } |
| 324 | /** | 325 | /** |
| 325 | * @Title queryListWaybill | 326 | * @Title queryListWaybill |
src/main/java/com/bsth/controller/schedule/TrafficManageController.java
| @@ -8,6 +8,8 @@ import org.springframework.web.bind.annotation.RequestMethod; | @@ -8,6 +8,8 @@ import org.springframework.web.bind.annotation.RequestMethod; | ||
| 8 | import org.springframework.web.bind.annotation.RequestParam; | 8 | import org.springframework.web.bind.annotation.RequestParam; |
| 9 | import org.springframework.web.bind.annotation.RestController; | 9 | import org.springframework.web.bind.annotation.RestController; |
| 10 | 10 | ||
| 11 | +import java.util.Map; | ||
| 12 | + | ||
| 11 | /** | 13 | /** |
| 12 | * | 14 | * |
| 13 | * @author BSTH | 15 | * @author BSTH |
| @@ -22,9 +24,9 @@ public class TrafficManageController { | @@ -22,9 +24,9 @@ public class TrafficManageController { | ||
| 22 | 24 | ||
| 23 | 25 | ||
| 24 | @RequestMapping(value = "/setXL", method = RequestMethod.GET) | 26 | @RequestMapping(value = "/setXL", method = RequestMethod.GET) |
| 25 | - public String setXL() throws Exception { | 27 | + public String setXL(@RequestParam Map<String, Object> param) throws Exception { |
| 26 | try { | 28 | try { |
| 27 | - return trManageService.setXL(); | 29 | + return trManageService.setXL(param); |
| 28 | } catch (Exception exp) { | 30 | } catch (Exception exp) { |
| 29 | throw new Exception(exp.getCause()); | 31 | throw new Exception(exp.getCause()); |
| 30 | } | 32 | } |
| @@ -57,6 +59,15 @@ public class TrafficManageController { | @@ -57,6 +59,15 @@ public class TrafficManageController { | ||
| 57 | } | 59 | } |
| 58 | } | 60 | } |
| 59 | 61 | ||
| 62 | + @RequestMapping(value = "/setLDFile", method = RequestMethod.GET) | ||
| 63 | + public String setLDFile() throws Exception { | ||
| 64 | + try { | ||
| 65 | + return trManageService.setLDFile(); | ||
| 66 | + } catch (Exception exp) { | ||
| 67 | + throw new Exception(exp.getCause()); | ||
| 68 | + } | ||
| 69 | + } | ||
| 70 | + | ||
| 60 | @RequestMapping(value = "/setLCYH", method = RequestMethod.GET) | 71 | @RequestMapping(value = "/setLCYH", method = RequestMethod.GET) |
| 61 | public String setLCYH() throws Exception { | 72 | public String setLCYH() throws Exception { |
| 62 | try { | 73 | try { |
src/main/java/com/bsth/controller/traffic/SKBUploadLoggerController.java
0 → 100644
| 1 | +package com.bsth.controller.traffic; | ||
| 2 | + | ||
| 3 | +import com.bsth.controller.BaseController; | ||
| 4 | +import com.bsth.entity.traffic.SKBUploadLogger; | ||
| 5 | +import com.bsth.service.traffic.SKBUploadLoggerService; | ||
| 6 | +import org.springframework.beans.factory.annotation.Autowired; | ||
| 7 | +import org.springframework.web.bind.annotation.RequestMapping; | ||
| 8 | +import org.springframework.web.bind.annotation.RestController; | ||
| 9 | + | ||
| 10 | +/** | ||
| 11 | + * | ||
| 12 | + * @author BSTH | ||
| 13 | + * | ||
| 14 | + */ | ||
| 15 | +@RestController | ||
| 16 | +@RequestMapping("skb_log") | ||
| 17 | +public class SKBUploadLoggerController extends BaseController<SKBUploadLogger,Integer> { | ||
| 18 | + | ||
| 19 | + @Autowired | ||
| 20 | + private SKBUploadLoggerService skbUploadLoggerService; | ||
| 21 | + | ||
| 22 | +} |
src/main/java/com/bsth/data/BasicData.java
| @@ -274,22 +274,23 @@ public class BasicData implements CommandLineRunner { | @@ -274,22 +274,23 @@ public class BasicData implements CommandLineRunner { | ||
| 274 | * 加载运管处的站点及序号 | 274 | * 加载运管处的站点及序号 |
| 275 | * 上行从1开始,下行顺序续编 | 275 | * 上行从1开始,下行顺序续编 |
| 276 | */ | 276 | */ |
| 277 | - List<Object[]> ygcLines = stationRouteRepository.findAllLineWithYgc(); | 277 | + List<Map<String, String>> ygcLines = stationRouteRepository.findAllLineWithYgc(); |
| 278 | if(ygcLines != null && ygcLines.size() > 0){ | 278 | if(ygcLines != null && ygcLines.size() > 0){ |
| 279 | int size = ygcLines.size(); | 279 | int size = ygcLines.size(); |
| 280 | - Object[] tempArray ; | 280 | + Map<String, String> tempMap ; |
| 281 | int num = 1; | 281 | int num = 1; |
| 282 | String key; | 282 | String key; |
| 283 | String lineCode = ""; | 283 | String lineCode = ""; |
| 284 | for (int i = 0; i < size; i ++){ | 284 | for (int i = 0; i < size; i ++){ |
| 285 | - tempArray = ygcLines.get(i); | 285 | + tempMap = ygcLines.get(i); |
| 286 | if(lineCode.equals("")){ | 286 | if(lineCode.equals("")){ |
| 287 | - lineCode = tempArray[0]+""; | ||
| 288 | - }else if(!lineCode.equals(tempArray[0]+"")){ | 287 | + lineCode = tempMap.get("lineCode"); |
| 288 | + }else if(!lineCode.equals(tempMap.get("lineCode"))){ | ||
| 289 | num = 1; | 289 | num = 1; |
| 290 | - lineCode = tempArray[0]+""; | 290 | + lineCode = tempMap.get("lineCode"); |
| 291 | } | 291 | } |
| 292 | - key = tempArray[0] + "_"+tempArray[1] + "_"+tempArray[3]; | 292 | + key = tempMap.get("lineCode") + "_"+String.valueOf(tempMap.get("directions")) |
| 293 | + + "_"+tempMap.get("stationCode")+ "_"+tempMap.get("stationMark"); | ||
| 293 | tempStationName2YgcNumber.put(key,num++); | 294 | tempStationName2YgcNumber.put(key,num++); |
| 294 | } | 295 | } |
| 295 | } | 296 | } |
src/main/java/com/bsth/data/schedule/thread/SubmitToTrafficManage.java
| 1 | package com.bsth.data.schedule.thread; | 1 | package com.bsth.data.schedule.thread; |
| 2 | 2 | ||
| 3 | import com.bsth.service.TrafficManageService; | 3 | import com.bsth.service.TrafficManageService; |
| 4 | +import com.bsth.service.traffic.YgcBasicDataService; | ||
| 4 | import org.slf4j.Logger; | 5 | import org.slf4j.Logger; |
| 5 | import org.slf4j.LoggerFactory; | 6 | import org.slf4j.LoggerFactory; |
| 6 | import org.springframework.beans.factory.annotation.Autowired; | 7 | import org.springframework.beans.factory.annotation.Autowired; |
| @@ -18,6 +19,9 @@ public class SubmitToTrafficManage extends Thread{ | @@ -18,6 +19,9 @@ public class SubmitToTrafficManage extends Thread{ | ||
| 18 | @Autowired | 19 | @Autowired |
| 19 | TrafficManageService trafficManageService; | 20 | TrafficManageService trafficManageService; |
| 20 | 21 | ||
| 22 | + @Autowired | ||
| 23 | + YgcBasicDataService ygcBasicDataService; | ||
| 24 | + | ||
| 21 | @Override | 25 | @Override |
| 22 | public void run() { | 26 | public void run() { |
| 23 | logger.info("开始提交数据到运管处..."); | 27 | logger.info("开始提交数据到运管处..."); |
| @@ -46,6 +50,12 @@ public class SubmitToTrafficManage extends Thread{ | @@ -46,6 +50,12 @@ public class SubmitToTrafficManage extends Thread{ | ||
| 46 | } catch (Exception e) { | 50 | } catch (Exception e) { |
| 47 | logger.error("提交线路计划班次表到运管处失败", e); | 51 | logger.error("提交线路计划班次表到运管处失败", e); |
| 48 | } | 52 | } |
| 53 | + try { | ||
| 54 | + // 运管处基础数据更新 | ||
| 55 | + ygcBasicDataService.updateYgcBasicData(); | ||
| 56 | + } catch (Exception e) { | ||
| 57 | + logger.error("运管处基础数据更新失败", e); | ||
| 58 | + } | ||
| 49 | logger.info("提交数据到运管处结束!"); | 59 | logger.info("提交数据到运管处结束!"); |
| 50 | } | 60 | } |
| 51 | } | 61 | } |
src/main/java/com/bsth/entity/Line.java
| @@ -104,6 +104,9 @@ public class Line implements Serializable { | @@ -104,6 +104,9 @@ public class Line implements Serializable { | ||
| 104 | /** 开辟日期 date*/ | 104 | /** 开辟日期 date*/ |
| 105 | @DateTimeFormat(pattern ="yyyy-MM-dd") | 105 | @DateTimeFormat(pattern ="yyyy-MM-dd") |
| 106 | private Date openDate; | 106 | private Date openDate; |
| 107 | + | ||
| 108 | + /** 大间隔等级 */ | ||
| 109 | + private Integer spacGrade; | ||
| 107 | 110 | ||
| 108 | /** 线路沿革 varchar length(50) */ | 111 | /** 线路沿革 varchar length(50) */ |
| 109 | private String history; | 112 | private String history; |
| @@ -155,6 +158,14 @@ public class Line implements Serializable { | @@ -155,6 +158,14 @@ public class Line implements Serializable { | ||
| 155 | /** 是否在使用 <1:是;0:否> bit length(50) */ | 158 | /** 是否在使用 <1:是;0:否> bit length(50) */ |
| 156 | private Integer inUse; | 159 | private Integer inUse; |
| 157 | 160 | ||
| 161 | + public Integer getSpacGrade() { | ||
| 162 | + return spacGrade; | ||
| 163 | + } | ||
| 164 | + | ||
| 165 | + public void setSpacGrade(Integer spacGrade) { | ||
| 166 | + this.spacGrade = spacGrade; | ||
| 167 | + } | ||
| 168 | + | ||
| 158 | public Integer getWarrantCar() { | 169 | public Integer getWarrantCar() { |
| 159 | return warrantCar; | 170 | return warrantCar; |
| 160 | } | 171 | } |
src/main/java/com/bsth/entity/traffic/SKBUploadLogger.java
0 → 100644
| 1 | +package com.bsth.entity.traffic; | ||
| 2 | + | ||
| 3 | +import com.bsth.entity.schedule.TTInfo; | ||
| 4 | +import com.bsth.entity.sys.SysUser; | ||
| 5 | +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; | ||
| 6 | + | ||
| 7 | +import javax.persistence.*; | ||
| 8 | +import java.util.Date; | ||
| 9 | + | ||
| 10 | +/** | ||
| 11 | + * | ||
| 12 | + * @ClassName : SKBUploadLogger(时刻表上传日志实体类) | ||
| 13 | + * | ||
| 14 | + * @Author : bsth@zq | ||
| 15 | + * | ||
| 16 | + * @Description : | ||
| 17 | + * | ||
| 18 | + * @Data : 2016-04-27 | ||
| 19 | + * | ||
| 20 | + * @Version 公交调度系统BS版 0.1 | ||
| 21 | + * | ||
| 22 | + */ | ||
| 23 | + | ||
| 24 | +@Entity | ||
| 25 | +@Table(name = "bsth_t_upload_logger") | ||
| 26 | +@JsonIgnoreProperties(value={"hibernateLazyInitializer","handler","fieldHandler"}) | ||
| 27 | +public class SKBUploadLogger { | ||
| 28 | + | ||
| 29 | + // ID | ||
| 30 | + @Id | ||
| 31 | + @GeneratedValue(strategy = GenerationType.IDENTITY) | ||
| 32 | + private Integer id; | ||
| 33 | + | ||
| 34 | + /** 时刻表信息 */ | ||
| 35 | + @ManyToOne(optional = false, cascade = CascadeType.DETACH, fetch = FetchType.LAZY) | ||
| 36 | + private TTInfo ttInfo; | ||
| 37 | + | ||
| 38 | + /** 用户 关联 */ | ||
| 39 | + @ManyToOne(optional = false, cascade = CascadeType.DETACH, fetch = FetchType.LAZY) | ||
| 40 | + private SysUser user; | ||
| 41 | + | ||
| 42 | + // 创建日期 | ||
| 43 | + @Column(updatable = false, name = "create_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP") | ||
| 44 | + private Date createDate; | ||
| 45 | + | ||
| 46 | + public Integer getId() { | ||
| 47 | + return id; | ||
| 48 | + } | ||
| 49 | + | ||
| 50 | + public void setId(Integer id) { | ||
| 51 | + this.id = id; | ||
| 52 | + } | ||
| 53 | + | ||
| 54 | + public TTInfo getTtInfo() { | ||
| 55 | + return ttInfo; | ||
| 56 | + } | ||
| 57 | + | ||
| 58 | + public void setTtInfo(TTInfo ttInfo) { | ||
| 59 | + this.ttInfo = ttInfo; | ||
| 60 | + } | ||
| 61 | + | ||
| 62 | + public SysUser getUser() { | ||
| 63 | + return user; | ||
| 64 | + } | ||
| 65 | + | ||
| 66 | + public void setUser(SysUser user) { | ||
| 67 | + this.user = user; | ||
| 68 | + } | ||
| 69 | + | ||
| 70 | + public Date getCreateDate() { | ||
| 71 | + return createDate; | ||
| 72 | + } | ||
| 73 | + | ||
| 74 | + public void setCreateDate(Date createDate) { | ||
| 75 | + this.createDate = createDate; | ||
| 76 | + } | ||
| 77 | +} |
src/main/java/com/bsth/repository/SectionRouteRepository.java
| @@ -159,11 +159,11 @@ public interface SectionRouteRepository extends BaseRepository<SectionRoute, Int | @@ -159,11 +159,11 @@ public interface SectionRouteRepository extends BaseRepository<SectionRoute, Int | ||
| 159 | */ | 159 | */ |
| 160 | @Query(value = "SELECT " + | 160 | @Query(value = "SELECT " + |
| 161 | "c.directions," + | 161 | "c.directions," + |
| 162 | - "ST_AsText(s.bsection_vector) as bsection_vector," + | 162 | + "ST_AsText(s.gsection_vector) as gsection_vector," + |
| 163 | "s.speed_limit," + | 163 | "s.speed_limit," + |
| 164 | "s.section_name " + | 164 | "s.section_name " + |
| 165 | " FROM bsth_c_sectionroute c " + | 165 | " FROM bsth_c_sectionroute c " + |
| 166 | - " LEFT JOIN bsth_c_section s on c.section = s.id where c.line = ?1 and c.directions = ?2", nativeQuery=true) | 166 | + " LEFT JOIN bsth_c_section s on c.section = s.id where c.line = ?1 and c.directions = ?2 and c.destroy = 0", nativeQuery=true) |
| 167 | List<Object[]> sectionRouteVector(Integer lineId,Integer directions); | 167 | List<Object[]> sectionRouteVector(Integer lineId,Integer directions); |
| 168 | 168 | ||
| 169 | @Transactional | 169 | @Transactional |
src/main/java/com/bsth/repository/StationRouteRepository.java
| @@ -153,7 +153,7 @@ public interface StationRouteRepository extends BaseRepository<StationRoute, Int | @@ -153,7 +153,7 @@ public interface StationRouteRepository extends BaseRepository<StationRoute, Int | ||
| 153 | "s.station_route_code," + | 153 | "s.station_route_code," + |
| 154 | "s.directions," + | 154 | "s.directions," + |
| 155 | "s.distances,"+ | 155 | "s.distances,"+ |
| 156 | - "s.station FROM bsth_c_stationroute s where s.line = ?1) a " + | 156 | + "s.station FROM bsth_c_stationroute s where s.line = ?1 and s.destroy=0) a " + |
| 157 | "LEFT JOIN bsth_c_station b " + | 157 | "LEFT JOIN bsth_c_station b " + |
| 158 | " on a.station = b.id ORDER BY a.directions ASC ) k ORDER BY k.directions,k.station_route_code ASC", nativeQuery=true) | 158 | " on a.station = b.id ORDER BY a.directions ASC ) k ORDER BY k.directions,k.station_route_code ASC", nativeQuery=true) |
| 159 | List<Object[]> usingSingle(Integer lineId); | 159 | List<Object[]> usingSingle(Integer lineId); |
| @@ -259,8 +259,9 @@ public interface StationRouteRepository extends BaseRepository<StationRoute, Int | @@ -259,8 +259,9 @@ public interface StationRouteRepository extends BaseRepository<StationRoute, Int | ||
| 259 | @Query("select s from StationRoute s where s.destroy=0 and s.lineCode=?1") | 259 | @Query("select s from StationRoute s where s.destroy=0 and s.lineCode=?1") |
| 260 | List<StationRoute> findByLineCode(String lineCode); | 260 | List<StationRoute> findByLineCode(String lineCode); |
| 261 | 261 | ||
| 262 | - @Query("SELECT " + | ||
| 263 | - "lineCode,directions,stationName,stationCode " + | 262 | + @Query("SELECT new map(" + |
| 263 | + "lineCode as lineCode,directions as directions,stationName as stationName,stationCode as stationCode," + | ||
| 264 | + "line.linePlayType as linePlayType,s.stationMark as stationMark) " + | ||
| 264 | "FROM " + | 265 | "FROM " + |
| 265 | "StationRoute s " + | 266 | "StationRoute s " + |
| 266 | "WHERE " + | 267 | "WHERE " + |
| @@ -268,7 +269,7 @@ public interface StationRouteRepository extends BaseRepository<StationRoute, Int | @@ -268,7 +269,7 @@ public interface StationRouteRepository extends BaseRepository<StationRoute, Int | ||
| 268 | "and s.lineCode in(select lineCode from Line where inUse = 1) " + | 269 | "and s.lineCode in(select lineCode from Line where inUse = 1) " + |
| 269 | "ORDER BY " + | 270 | "ORDER BY " + |
| 270 | "lineCode,directions,stationRouteCode") | 271 | "lineCode,directions,stationRouteCode") |
| 271 | - List<Object[]> findAllLineWithYgc(); | 272 | + List<Map<String, String>> findAllLineWithYgc(); |
| 272 | 273 | ||
| 273 | @Modifying | 274 | @Modifying |
| 274 | @Query(value="update bsth_c_stationroute set directions = case directions when 1 then 0 when 0 then 1 end where line_code = ?1 ", nativeQuery=true) | 275 | @Query(value="update bsth_c_stationroute set directions = case directions when 1 then 0 when 0 then 1 end where line_code = ?1 ", nativeQuery=true) |
src/main/java/com/bsth/repository/traffic/SKBUploadLoggerRepository.java
0 → 100644
src/main/java/com/bsth/service/TrafficManageService.java
| 1 | package com.bsth.service; | 1 | package com.bsth.service; |
| 2 | 2 | ||
| 3 | +import java.util.Map; | ||
| 4 | + | ||
| 3 | /** | 5 | /** |
| 4 | * | 6 | * |
| 5 | * @Interface: LineService(线路service业务层实现接口) | 7 | * @Interface: LineService(线路service业务层实现接口) |
| @@ -22,7 +24,7 @@ public interface TrafficManageService { | @@ -22,7 +24,7 @@ public interface TrafficManageService { | ||
| 22 | * | 24 | * |
| 23 | * @return 调用接口返回信息 | 25 | * @return 调用接口返回信息 |
| 24 | */ | 26 | */ |
| 25 | - String setXL(); | 27 | + String setXL(Map<String, Object> param); |
| 26 | 28 | ||
| 27 | /** | 29 | /** |
| 28 | * 上传车辆信息 | 30 | * 上传车辆信息 |
| @@ -65,6 +67,8 @@ public interface TrafficManageService { | @@ -65,6 +67,8 @@ public interface TrafficManageService { | ||
| 65 | 67 | ||
| 66 | String setLD(); | 68 | String setLD(); |
| 67 | 69 | ||
| 70 | + String setLDFile(); | ||
| 71 | + | ||
| 68 | String setLCYH(); | 72 | String setLCYH(); |
| 69 | 73 | ||
| 70 | String setDDRB(); | 74 | String setDDRB(); |
src/main/java/com/bsth/service/excep/impl/OutboundServiceImpl.java
src/main/java/com/bsth/service/forms/impl/FormsServiceImpl.java
| 1 | package com.bsth.service.forms.impl; | 1 | package com.bsth.service.forms.impl; |
| 2 | 2 | ||
| 3 | +import java.math.BigDecimal; | ||
| 3 | import java.sql.ResultSet; | 4 | import java.sql.ResultSet; |
| 4 | import java.sql.SQLException; | 5 | import java.sql.SQLException; |
| 5 | import java.text.DecimalFormat; | 6 | import java.text.DecimalFormat; |
| @@ -151,6 +152,40 @@ public class FormsServiceImpl implements FormsService { | @@ -151,6 +152,40 @@ public class FormsServiceImpl implements FormsService { | ||
| 151 | w.setSh(String.valueOf(sh)); | 152 | w.setSh(String.valueOf(sh)); |
| 152 | 153 | ||
| 153 | } | 154 | } |
| 155 | + | ||
| 156 | + Waybillday way = new Waybillday(); | ||
| 157 | + way.setNbbm("汇总合计"); | ||
| 158 | + BigDecimal ksgl = new BigDecimal("0.0"); | ||
| 159 | + BigDecimal jzl_ = new BigDecimal("0.0"); | ||
| 160 | + BigDecimal sh_ = new BigDecimal("0.0"); | ||
| 161 | + BigDecimal lc_ = new BigDecimal("0.0"); | ||
| 162 | + BigDecimal yh_ = new BigDecimal("0.0"); | ||
| 163 | + for(Waybillday w : list){ | ||
| 164 | + if(w.getJzl1() != null && w.getJzl1().trim().length() != 0){ | ||
| 165 | + ksgl = ksgl.add(new BigDecimal(w.getJzl1().trim())); | ||
| 166 | + } | ||
| 167 | + if(w.getJzl() != null && w.getJzl().trim().length() != 0){ | ||
| 168 | + jzl_ = jzl_.add(new BigDecimal(w.getJzl().trim())); | ||
| 169 | + } | ||
| 170 | + if(w.getSh() != null && w.getSh().trim().length() != 0){ | ||
| 171 | + sh_ = sh_.add(new BigDecimal(w.getSh().trim())); | ||
| 172 | + } | ||
| 173 | + if(w.getZlc() != null && w.getZlc().trim().length() != 0){ | ||
| 174 | + lc_ = lc_.add(new BigDecimal(w.getZlc().trim())); | ||
| 175 | + } | ||
| 176 | + if(w.getYh() != null && w.getYh().trim().length() != 0){ | ||
| 177 | + yh_ = yh_.add(new BigDecimal(w.getYh().trim())); | ||
| 178 | + } | ||
| 179 | + } | ||
| 180 | + way.setJzl1(ksgl.toString()); | ||
| 181 | + way.setJzl(jzl_.toString()); | ||
| 182 | + way.setjName(""); | ||
| 183 | + way.setSh(sh_.toString()); | ||
| 184 | + way.setZlc(lc_.toString()); | ||
| 185 | + way.setYh(yh_.toString()); | ||
| 186 | + if(list.size() > 0) | ||
| 187 | + list.add(way); | ||
| 188 | + | ||
| 154 | return list; | 189 | return list; |
| 155 | } | 190 | } |
| 156 | 191 | ||
| @@ -205,12 +240,15 @@ public class FormsServiceImpl implements FormsService { | @@ -205,12 +240,15 @@ public class FormsServiceImpl implements FormsService { | ||
| 205 | if(map.containsKey("fgsdmManth")){ | 240 | if(map.containsKey("fgsdmManth")){ |
| 206 | fgsdmManth=map.get("fgsdmManth").toString(); | 241 | fgsdmManth=map.get("fgsdmManth").toString(); |
| 207 | } | 242 | } |
| 208 | - String sql = "select" | ||
| 209 | - + " r.j_name, r.cl_zbh,r.j_gh,r.s_gh,r.s_name " | ||
| 210 | -// + "r.gs_bm,r.gs_name," | ||
| 211 | -// + " r.fgs_bm,r.fgs_name,r.bc_type,r.lp_name " | ||
| 212 | - + " from bsth_c_s_sp_info_real r " | ||
| 213 | - + " where 1=1 "; | 243 | + String sql ="select "; |
| 244 | + if(empnames.equals("驾驶员")){ | ||
| 245 | + sql += " r.j_name,r.j_gh "; | ||
| 246 | + }else if(empnames.equals("售票员")){ | ||
| 247 | + sql += " r.s_gh,r.s_name"; | ||
| 248 | + }else{ | ||
| 249 | + sql += " r.cl_zbh"; | ||
| 250 | + } | ||
| 251 | + sql += " from bsth_c_s_sp_info_real r where 1=1 "; | ||
| 214 | if(map.get("startDate")!=null&&!map.get("startDate").equals("")){ | 252 | if(map.get("startDate")!=null&&!map.get("startDate").equals("")){ |
| 215 | sql+=" and to_days(r.schedule_date_str) BETWEEN to_days('" + map.get("startDate").toString() + "') "; | 253 | sql+=" and to_days(r.schedule_date_str) BETWEEN to_days('" + map.get("startDate").toString() + "') "; |
| 216 | } | 254 | } |
| @@ -227,12 +265,16 @@ public class FormsServiceImpl implements FormsService { | @@ -227,12 +265,16 @@ public class FormsServiceImpl implements FormsService { | ||
| 227 | // } | 265 | // } |
| 228 | if(map.get("fgsdmManth")!=null&&!map.get("fgsdmManth").equals("")){ | 266 | if(map.get("fgsdmManth")!=null&&!map.get("fgsdmManth").equals("")){ |
| 229 | sql+=" and r.fgs_bm like'%"+fgsdmManth+"%' "; | 267 | sql+=" and r.fgs_bm like'%"+fgsdmManth+"%' "; |
| 230 | - } | ||
| 231 | - if(empnames.equals("售票员")){ | ||
| 232 | - sql+="and r.s_name is not null AND r.s_name !=''"; | ||
| 233 | } | 268 | } |
| 269 | + if(empnames.equals("驾驶员")){ | ||
| 234 | sql += " GROUP BY " | 270 | sql += " GROUP BY " |
| 235 | - + "r.j_name, r.cl_zbh,r.j_gh,r.s_gh,r.s_name "; | 271 | + + "r.j_name,r.j_gh"; |
| 272 | + }else if(empnames.equals("售票员")){ | ||
| 273 | + sql+="and r.s_name is not null AND r.s_name !='' GROUP BY r.s_gh,r.s_name"; | ||
| 274 | + }else{ | ||
| 275 | + sql += " GROUP BY r.cl_zbh"; | ||
| 276 | + } | ||
| 277 | + | ||
| 236 | // + ",r.gs_bm,r.gs_name," | 278 | // + ",r.gs_bm,r.gs_name," |
| 237 | // + "r.fgs_bm,r.fgs_name,r.bc_type "; | 279 | // + "r.fgs_bm,r.fgs_name,r.bc_type "; |
| 238 | 280 | ||
| @@ -244,15 +286,16 @@ public class FormsServiceImpl implements FormsService { | @@ -244,15 +286,16 @@ public class FormsServiceImpl implements FormsService { | ||
| 244 | public Shiftuehiclemanth mapRow(ResultSet arg0, int arg1) throws SQLException { | 286 | public Shiftuehiclemanth mapRow(ResultSet arg0, int arg1) throws SQLException { |
| 245 | Shiftuehiclemanth shif = new Shiftuehiclemanth(); | 287 | Shiftuehiclemanth shif = new Shiftuehiclemanth(); |
| 246 | if(empnames.equals("驾驶员")){ | 288 | if(empnames.equals("驾驶员")){ |
| 247 | - shif.setjName(arg0.getString("j_name")); | 289 | + shif.setjName(arg0.getString("j_name")+"/"+arg0.getString("j_gh")); |
| 290 | + shif.setJgh(arg0.getString("j_gh")); | ||
| 248 | }else if(empnames.equals("售票员")){ | 291 | }else if(empnames.equals("售票员")){ |
| 249 | - shif.setjName(arg0.getString("s_name")==null ? "":arg0.getString("s_name")); | 292 | + shif.setjName(arg0.getString("s_name")+"/"+arg0.getString("s_gh")); |
| 250 | shif.setSgh(arg0.getString("s_gh")==null ? "":arg0.getString("s_gh")); | 293 | shif.setSgh(arg0.getString("s_gh")==null ? "":arg0.getString("s_gh")); |
| 251 | }else if(empnames.equals("车辆自编号")){ | 294 | }else if(empnames.equals("车辆自编号")){ |
| 252 | shif.setjName(arg0.getString("cl_zbh")); | 295 | shif.setjName(arg0.getString("cl_zbh")); |
| 253 | } | 296 | } |
| 254 | - shif.setJgh(arg0.getString("j_gh")); | ||
| 255 | - shif.setZbh(arg0.getString("cl_zbh")); | 297 | +// shif.setJgh(arg0.getString("j_gh")); |
| 298 | +// shif.setZbh(arg0.getString("cl_zbh")); | ||
| 256 | // shif.setjName(arg0.getString("s_gh")==null ? "":arg0.getString("s_gh")); | 299 | // shif.setjName(arg0.getString("s_gh")==null ? "":arg0.getString("s_gh")); |
| 257 | return shif; | 300 | return shif; |
| 258 | } | 301 | } |
| @@ -274,11 +317,11 @@ public class FormsServiceImpl implements FormsService { | @@ -274,11 +317,11 @@ public class FormsServiceImpl implements FormsService { | ||
| 274 | } | 317 | } |
| 275 | }else if(empnames.equals("售票员")){ | 318 | }else if(empnames.equals("售票员")){ |
| 276 | String sgh=s.getsGh()==null?"":s.getsGh(); | 319 | String sgh=s.getsGh()==null?"":s.getsGh(); |
| 277 | - if(d.getSgh().equals(sgh) && d.getZbh().equals(s.getClZbh())){ | 320 | + if(d.getSgh().equals(sgh)){ |
| 278 | sList.add(s); | 321 | sList.add(s); |
| 279 | } | 322 | } |
| 280 | }else if(empnames.equals("车辆自编号")){ | 323 | }else if(empnames.equals("车辆自编号")){ |
| 281 | - if(d.getZbh().equals(s.getClZbh())){ | 324 | + if(d.getjName().equals(s.getClZbh())){ |
| 282 | sList.add(s); | 325 | sList.add(s); |
| 283 | } | 326 | } |
| 284 | } | 327 | } |
| @@ -307,6 +350,34 @@ public class FormsServiceImpl implements FormsService { | @@ -307,6 +350,34 @@ public class FormsServiceImpl implements FormsService { | ||
| 307 | 350 | ||
| 308 | } | 351 | } |
| 309 | 352 | ||
| 353 | + Shiftuehiclemanth shif = new Shiftuehiclemanth(); | ||
| 354 | + shif.setjName("汇总合计"); | ||
| 355 | + BigDecimal yylc = new BigDecimal("0.0"); | ||
| 356 | + BigDecimal kslc = new BigDecimal("0.0"); | ||
| 357 | + BigDecimal cjlc = new BigDecimal("0.0"); | ||
| 358 | + BigDecimal zjlc = new BigDecimal("0.0"); | ||
| 359 | + BigDecimal zlc = new BigDecimal("0.0"); | ||
| 360 | + int cjbc = 0, zjbc = 0, sjbc = 0; | ||
| 361 | + for(Shiftuehiclemanth s : list){ | ||
| 362 | + yylc = yylc.add(new BigDecimal(s.getJhlc())); | ||
| 363 | + kslc = kslc.add(new BigDecimal(s.getEmptMileage())); | ||
| 364 | + cjlc = cjlc.add(new BigDecimal(s.getRemMileage())); | ||
| 365 | + zjlc = zjlc.add(new BigDecimal(s.getAddMileage())); | ||
| 366 | + zlc = zlc.add(new BigDecimal(s.getTotalm())); | ||
| 367 | + cjbc += Integer.valueOf(s.getCjbc()); | ||
| 368 | + zjbc += Integer.valueOf(s.getLjbc()); | ||
| 369 | + sjbc += Integer.valueOf(s.getSjbc()); | ||
| 370 | + } | ||
| 371 | + shif.setJhlc(yylc.toString()); | ||
| 372 | + shif.setEmptMileage(kslc.toString()); | ||
| 373 | + shif.setRemMileage(cjlc.toString()); | ||
| 374 | + shif.setAddMileage(zjlc.toString()); | ||
| 375 | + shif.setTotalm(zlc.toString()); | ||
| 376 | + shif.setCjbc("" + cjbc); | ||
| 377 | + shif.setLjbc("" + zjbc); | ||
| 378 | + shif.setSjbc("" + sjbc); | ||
| 379 | + if(list.size() > 0) | ||
| 380 | + list.add(shif); | ||
| 310 | 381 | ||
| 311 | return list; | 382 | return list; |
| 312 | } | 383 | } |
| @@ -395,7 +466,47 @@ public class FormsServiceImpl implements FormsService { | @@ -395,7 +466,47 @@ public class FormsServiceImpl implements FormsService { | ||
| 395 | d.setLjbc(String.valueOf(ljbc));//增加班次 | 466 | d.setLjbc(String.valueOf(ljbc));//增加班次 |
| 396 | d.setAddMileage(String.valueOf(zjgl));//增加公里 | 467 | d.setAddMileage(String.valueOf(zjgl));//增加公里 |
| 397 | d.setSjjhbc(String.valueOf(sjbc));//实际计划班次 | 468 | d.setSjjhbc(String.valueOf(sjbc));//实际计划班次 |
| 398 | - } | 469 | + } |
| 470 | + | ||
| 471 | + Shifday shif = new Shifday(); | ||
| 472 | + shif.setjName("汇总合计"); | ||
| 473 | + BigDecimal jhlc = new BigDecimal("0.0"); | ||
| 474 | + BigDecimal sjlc = new BigDecimal("0.0"); | ||
| 475 | + BigDecimal yylc = new BigDecimal("0.0"); | ||
| 476 | + BigDecimal kslc = new BigDecimal("0.0"); | ||
| 477 | + BigDecimal cjlc = new BigDecimal("0.0"); | ||
| 478 | + BigDecimal zjlc = new BigDecimal("0.0"); | ||
| 479 | + BigDecimal zlc = new BigDecimal("0.0"); | ||
| 480 | + int jhbc = 0, sjjhbc = 0, cjbc = 0, zjbc = 0, sjbc = 0; | ||
| 481 | + for(Shifday s : list){ | ||
| 482 | + jhlc = jhlc.add(new BigDecimal(s.getJhlc())); | ||
| 483 | + sjlc = sjlc.add(new BigDecimal(s.getSjjhlc())); | ||
| 484 | + yylc = yylc.add(new BigDecimal(s.getYygl())); | ||
| 485 | + kslc = kslc.add(new BigDecimal(s.getEmptMileage())); | ||
| 486 | + cjlc = cjlc.add(new BigDecimal(s.getRemMileage())); | ||
| 487 | + zjlc = zjlc.add(new BigDecimal(s.getAddMileage())); | ||
| 488 | + zlc = zlc.add(new BigDecimal(s.getTotalm())); | ||
| 489 | + jhbc += Integer.valueOf(s.getJhbc()); | ||
| 490 | + sjjhbc += Integer.valueOf(s.getSjjhbc()); | ||
| 491 | + cjbc += Integer.valueOf(s.getCjbc()); | ||
| 492 | + zjbc += Integer.valueOf(s.getLjbc()); | ||
| 493 | + sjbc += Integer.valueOf(s.getSjbc()); | ||
| 494 | + } | ||
| 495 | + shif.setJhlc(jhlc.toString()); | ||
| 496 | + shif.setSjjhlc(sjlc.toString()); | ||
| 497 | + shif.setYygl(yylc.toString()); | ||
| 498 | + shif.setEmptMileage(kslc.toString()); | ||
| 499 | + shif.setRemMileage(cjlc.toString()); | ||
| 500 | + shif.setAddMileage(zjlc.toString()); | ||
| 501 | + shif.setTotalm(zlc.toString()); | ||
| 502 | + shif.setJhbc("" + jhbc); | ||
| 503 | + shif.setSjjhbc("" + sjjhbc); | ||
| 504 | + shif.setCjbc("" + cjbc); | ||
| 505 | + shif.setLjbc("" + zjbc); | ||
| 506 | + shif.setSjbc("" + sjbc); | ||
| 507 | + if(list.size() > 0) | ||
| 508 | + list.add(shif); | ||
| 509 | + | ||
| 399 | return list; | 510 | return list; |
| 400 | } | 511 | } |
| 401 | 512 | ||
| @@ -866,9 +977,11 @@ public class FormsServiceImpl implements FormsService { | @@ -866,9 +977,11 @@ public class FormsServiceImpl implements FormsService { | ||
| 866 | 977 | ||
| 867 | List<ScheduleRealInfo> list = scheduleRealInfoRepository.scheduleByDateAndLineTj(line, startDate, endDate, company, subCompany); | 978 | List<ScheduleRealInfo> list = scheduleRealInfoRepository.scheduleByDateAndLineTj(line, startDate, endDate, company, subCompany); |
| 868 | List<Line> lineList = lineRepository.findLineBygsBm(company, subCompany, line.length()==0?"%"+line+"%":line); | 979 | List<Line> lineList = lineRepository.findLineBygsBm(company, subCompany, line.length()==0?"%"+line+"%":line); |
| 869 | - | ||
| 870 | - String sql = "select * from bsth_c_s_sp_info where gs_bm = '"+company+"' and fgs_bm = '"+subCompany+"' " | ||
| 871 | - + "and DATE_FORMAT(schedule_date,'%Y-%m-%d') BETWEEN '"+startDate+"' and '"+endDate+"' "; | 980 | + |
| 981 | + String sql = "select gs_name, fgs_name, cl_zbh, fcsj, bc_type, xl_bm, xl_name, schedule_date" | ||
| 982 | + + " from bsth_c_s_sp_info where gs_bm = '"+company+"' and fgs_bm = '"+subCompany+"' " | ||
| 983 | + + "and DATE_FORMAT(schedule_date,'%Y-%m-%d') >= '"+startDate+"' " | ||
| 984 | + + "and DATE_FORMAT(schedule_date,'%Y-%m-%d') <= '"+endDate+"' "; | ||
| 872 | if(line.trim().length() != 0){ | 985 | if(line.trim().length() != 0){ |
| 873 | sql += "and xl_bm = '"+line+"' "; | 986 | sql += "and xl_bm = '"+line+"' "; |
| 874 | } | 987 | } |
| @@ -957,12 +1070,10 @@ public class FormsServiceImpl implements FormsService { | @@ -957,12 +1070,10 @@ public class FormsServiceImpl implements FormsService { | ||
| 957 | } | 1070 | } |
| 958 | } | 1071 | } |
| 959 | Map<String, Object> tempMap = new HashMap<String, Object>(); | 1072 | Map<String, Object> tempMap = new HashMap<String, Object>(); |
| 960 | - int jhcc = 0; | ||
| 961 | - int sjcc = 0; | ||
| 962 | - int jhbc = 0; | ||
| 963 | - int sjbc = 0; | 1073 | + int jhcc = 0, sjcc = 0; |
| 1074 | + int jhbc = 0, sjbc = 0; | ||
| 964 | int qz = 0; | 1075 | int qz = 0; |
| 965 | - for(Map<String, Object> m : tempList){ | 1076 | + for(Map<String, Object> m : resList){ |
| 966 | jhcc += Integer.valueOf(m.get("jhcc").toString()); | 1077 | jhcc += Integer.valueOf(m.get("jhcc").toString()); |
| 967 | sjcc += Integer.valueOf(m.get("sjcc").toString()); | 1078 | sjcc += Integer.valueOf(m.get("sjcc").toString()); |
| 968 | jhbc += Integer.valueOf(m.get("jhbc").toString()); | 1079 | jhbc += Integer.valueOf(m.get("jhbc").toString()); |
| @@ -970,7 +1081,7 @@ public class FormsServiceImpl implements FormsService { | @@ -970,7 +1081,7 @@ public class FormsServiceImpl implements FormsService { | ||
| 970 | qz += Integer.valueOf(m.get("qz").toString()); | 1081 | qz += Integer.valueOf(m.get("qz").toString()); |
| 971 | } | 1082 | } |
| 972 | tempMap.put("rq", "分类汇总"); | 1083 | tempMap.put("rq", "分类汇总"); |
| 973 | - tempMap.put("line", "共" + tempList.size() + "条线路"); | 1084 | + tempMap.put("line", "共" + resList.size() + "条线路"); |
| 974 | tempMap.put("jhcc", jhcc); | 1085 | tempMap.put("jhcc", jhcc); |
| 975 | tempMap.put("sjcc", sjcc); | 1086 | tempMap.put("sjcc", sjcc); |
| 976 | tempMap.put("jhbc", jhbc); | 1087 | tempMap.put("jhbc", jhbc); |
src/main/java/com/bsth/service/impl/BusIntervalServiceImpl.java
| @@ -421,10 +421,10 @@ public class BusIntervalServiceImpl implements BusIntervalService { | @@ -421,10 +421,10 @@ public class BusIntervalServiceImpl implements BusIntervalService { | ||
| 421 | long fcsj1 = fcsjs.get(i - 1); | 421 | long fcsj1 = fcsjs.get(i - 1); |
| 422 | long fcsj2 = fcsjs.get(i); | 422 | long fcsj2 = fcsjs.get(i); |
| 423 | Long time = fcsj1/60; | 423 | Long time = fcsj1/60; |
| 424 | - if(!timeMap0.containsKey(time) && !timeMap1.containsKey(time)){ | 424 | + if(!timeMap0.containsKey(time)){ |
| 425 | timeMap0.put(time, new ArrayList<Long>()); | 425 | timeMap0.put(time, new ArrayList<Long>()); |
| 426 | - timeMap1.put(time, new ArrayList<Long>()); | ||
| 427 | - timeList.add(time); | 426 | + if(!timeList.contains(time)) |
| 427 | + timeList.add(time); | ||
| 428 | } | 428 | } |
| 429 | timeMap0.get(time).add(fcsj2 - fcsj1); | 429 | timeMap0.get(time).add(fcsj2 - fcsj1); |
| 430 | } | 430 | } |
| @@ -432,6 +432,11 @@ public class BusIntervalServiceImpl implements BusIntervalService { | @@ -432,6 +432,11 @@ public class BusIntervalServiceImpl implements BusIntervalService { | ||
| 432 | long fcsj1 = fcsjAs.get(i - 1); | 432 | long fcsj1 = fcsjAs.get(i - 1); |
| 433 | long fcsj2 = fcsjAs.get(i); | 433 | long fcsj2 = fcsjAs.get(i); |
| 434 | Long time = fcsj1/60; | 434 | Long time = fcsj1/60; |
| 435 | + if(!timeMap1.containsKey(time)){ | ||
| 436 | + timeMap1.put(time, new ArrayList<Long>()); | ||
| 437 | + if(!timeList.contains(time)) | ||
| 438 | + timeList.add(time); | ||
| 439 | + } | ||
| 435 | if(timeMap1.containsKey(time)){ | 440 | if(timeMap1.containsKey(time)){ |
| 436 | timeMap1.get(time).add(fcsj2 - fcsj1); | 441 | timeMap1.get(time).add(fcsj2 - fcsj1); |
| 437 | } | 442 | } |
| @@ -440,9 +445,8 @@ public class BusIntervalServiceImpl implements BusIntervalService { | @@ -440,9 +445,8 @@ public class BusIntervalServiceImpl implements BusIntervalService { | ||
| 440 | for(int i = 1; i < fcsjs.size(); i++){ | 445 | for(int i = 1; i < fcsjs.size(); i++){ |
| 441 | long fcsj1 = fcsjs.get(i - 1); | 446 | long fcsj1 = fcsjs.get(i - 1); |
| 442 | long fcsj2 = fcsjs.get(i); | 447 | long fcsj2 = fcsjs.get(i); |
| 443 | - if(!temp0.containsKey(key) && !temp1.containsKey(key)){ | 448 | + if(!temp0.containsKey(key)){ |
| 444 | temp0.put(key, new ArrayList<Long>()); | 449 | temp0.put(key, new ArrayList<Long>()); |
| 445 | - temp1.put(key, new ArrayList<Long>()); | ||
| 446 | if(!keyList.contains(key)) | 450 | if(!keyList.contains(key)) |
| 447 | keyList.add(key); | 451 | keyList.add(key); |
| 448 | } | 452 | } |
| @@ -451,6 +455,12 @@ public class BusIntervalServiceImpl implements BusIntervalService { | @@ -451,6 +455,12 @@ public class BusIntervalServiceImpl implements BusIntervalService { | ||
| 451 | for(int i = 1; i < fcsjAs.size(); i++){ | 455 | for(int i = 1; i < fcsjAs.size(); i++){ |
| 452 | long fcsj1 = fcsjAs.get(i - 1); | 456 | long fcsj1 = fcsjAs.get(i - 1); |
| 453 | long fcsj2 = fcsjAs.get(i); | 457 | long fcsj2 = fcsjAs.get(i); |
| 458 | + if(!temp1.containsKey(key)){ | ||
| 459 | + temp1.put(key, new ArrayList<Long>()); | ||
| 460 | + if(!keyList.contains(key)) | ||
| 461 | + keyList.add(key); | ||
| 462 | + } | ||
| 463 | + System.out.println("key:"+key+" fcsj2:"+fcsj2+" fcsj1:"+fcsj2+" temp1:"+temp1.get(key)+" tem0:"+temp0.get(key)); | ||
| 454 | temp1.get(key).add(fcsj2 - fcsj1); | 464 | temp1.get(key).add(fcsj2 - fcsj1); |
| 455 | } | 465 | } |
| 456 | } | 466 | } |
| @@ -461,14 +471,16 @@ public class BusIntervalServiceImpl implements BusIntervalService { | @@ -461,14 +471,16 @@ public class BusIntervalServiceImpl implements BusIntervalService { | ||
| 461 | Map<String, Object> tempMap = new HashMap<String, Object>(); | 471 | Map<String, Object> tempMap = new HashMap<String, Object>(); |
| 462 | List<Long> fcsjs = new ArrayList<Long>(); | 472 | List<Long> fcsjs = new ArrayList<Long>(); |
| 463 | List<Long> fcsjAs = new ArrayList<Long>(); | 473 | List<Long> fcsjAs = new ArrayList<Long>(); |
| 464 | - for(Long l : timeMap0.get(time)){ | ||
| 465 | - if(l < 90) | ||
| 466 | - fcsjs.add(l); | ||
| 467 | - } | ||
| 468 | - for(Long l : timeMap1.get(time)){ | ||
| 469 | - if(l < 90) | ||
| 470 | - fcsjAs.add(l); | ||
| 471 | - } | 474 | + if(timeMap0.containsKey(time)) |
| 475 | + for(Long l : timeMap0.get(time)){ | ||
| 476 | + if(l < 90) | ||
| 477 | + fcsjs.add(l); | ||
| 478 | + } | ||
| 479 | + if(timeMap1.containsKey(time)) | ||
| 480 | + for(Long l : timeMap1.get(time)){ | ||
| 481 | + if(l < 90) | ||
| 482 | + fcsjAs.add(l); | ||
| 483 | + } | ||
| 472 | Collections.sort(fcsjs); | 484 | Collections.sort(fcsjs); |
| 473 | Collections.sort(fcsjAs); | 485 | Collections.sort(fcsjAs); |
| 474 | String[] split = key.split("/"); | 486 | String[] split = key.split("/"); |
| @@ -495,7 +507,8 @@ public class BusIntervalServiceImpl implements BusIntervalService { | @@ -495,7 +507,8 @@ public class BusIntervalServiceImpl implements BusIntervalService { | ||
| 495 | tempMap.put("deviation", df.format(Double.valueOf(tempMap.get("sjInterval").toString()) | 507 | tempMap.put("deviation", df.format(Double.valueOf(tempMap.get("sjInterval").toString()) |
| 496 | - Double.valueOf(tempMap.get("jhInterval").toString()))); | 508 | - Double.valueOf(tempMap.get("jhInterval").toString()))); |
| 497 | } | 509 | } |
| 498 | - tempList.add(tempMap); | 510 | + if(fcsjs.size() != 0 || fcsjAs.size() != 0) |
| 511 | + tempList.add(tempMap); | ||
| 499 | } | 512 | } |
| 500 | } | 513 | } |
| 501 | } | 514 | } |
| @@ -504,11 +517,24 @@ public class BusIntervalServiceImpl implements BusIntervalService { | @@ -504,11 +517,24 @@ public class BusIntervalServiceImpl implements BusIntervalService { | ||
| 504 | List<Long> sortList = new ArrayList<Long>(); | 517 | List<Long> sortList = new ArrayList<Long>(); |
| 505 | Map<Long, List<Map<String, Object>>> sortMap = new HashMap<Long, List<Map<String, Object>>>(); | 518 | Map<Long, List<Map<String, Object>>> sortMap = new HashMap<Long, List<Map<String, Object>>>(); |
| 506 | for(Map<String, Object> m : tempList){ | 519 | for(Map<String, Object> m : tempList){ |
| 507 | - Long sort = Long.valueOf(m.get("times").toString().substring(0, 2)); | 520 | + String times = m.get("times").toString(); |
| 521 | + Long sort = Long.valueOf(times.substring(0, 2)); | ||
| 508 | if(!sortMap.containsKey(sort)){ | 522 | if(!sortMap.containsKey(sort)){ |
| 509 | sortMap.put(sort, new ArrayList<Map<String, Object>>()); | 523 | sortMap.put(sort, new ArrayList<Map<String, Object>>()); |
| 510 | sortList.add(sort); | 524 | sortList.add(sort); |
| 511 | } | 525 | } |
| 526 | + String[] split = times.split("-"); | ||
| 527 | + String[] split0 = split[0].split(":"); | ||
| 528 | + String[] split1 = split[1].split(":"); | ||
| 529 | + int t0 = Integer.valueOf(split0[0]); | ||
| 530 | + int t1 = Integer.valueOf(split1[0]); | ||
| 531 | + if(t0 >= 24){ | ||
| 532 | + t0 = t0 - 24; | ||
| 533 | + } | ||
| 534 | + if(t1 >= 24){ | ||
| 535 | + t1 = t1 - 24; | ||
| 536 | + } | ||
| 537 | + m.put("times", (t0>9?t0:("0"+t0))+":"+split0[1]+"-"+(t1>9?t1:("0"+t1))+":"+split1[1]); | ||
| 512 | sortMap.get(sort).add(m); | 538 | sortMap.get(sort).add(m); |
| 513 | } | 539 | } |
| 514 | Collections.sort(sortList); | 540 | Collections.sort(sortList); |
| @@ -531,14 +557,16 @@ public class BusIntervalServiceImpl implements BusIntervalService { | @@ -531,14 +557,16 @@ public class BusIntervalServiceImpl implements BusIntervalService { | ||
| 531 | Map<String, Object> tempMap = new HashMap<String, Object>(); | 557 | Map<String, Object> tempMap = new HashMap<String, Object>(); |
| 532 | List<Long> fcsjs = new ArrayList<Long>(); | 558 | List<Long> fcsjs = new ArrayList<Long>(); |
| 533 | List<Long> fcsjAs = new ArrayList<Long>(); | 559 | List<Long> fcsjAs = new ArrayList<Long>(); |
| 534 | - for(Long l : temp0.get(key)){ | ||
| 535 | - if(l < 90) | ||
| 536 | - fcsjs.add(l); | ||
| 537 | - } | ||
| 538 | - for(Long l : temp1.get(key)){ | ||
| 539 | - if(l < 90) | ||
| 540 | - fcsjAs.add(l); | ||
| 541 | - } | 560 | + if(temp0.containsKey(key)) |
| 561 | + for(Long l : temp0.get(key)){ | ||
| 562 | + if(l < 90) | ||
| 563 | + fcsjs.add(l); | ||
| 564 | + } | ||
| 565 | + if(temp0.containsKey(key)) | ||
| 566 | + for(Long l : temp1.get(key)){ | ||
| 567 | + if(l < 90) | ||
| 568 | + fcsjAs.add(l); | ||
| 569 | + } | ||
| 542 | Collections.sort(fcsjs); | 570 | Collections.sort(fcsjs); |
| 543 | Collections.sort(fcsjAs); | 571 | Collections.sort(fcsjAs); |
| 544 | long fcsj = 0l; | 572 | long fcsj = 0l; |
| @@ -563,7 +591,8 @@ public class BusIntervalServiceImpl implements BusIntervalService { | @@ -563,7 +591,8 @@ public class BusIntervalServiceImpl implements BusIntervalService { | ||
| 563 | tempMap.put("deviation", df.format(Double.valueOf(tempMap.get("sjInterval").toString()) | 591 | tempMap.put("deviation", df.format(Double.valueOf(tempMap.get("sjInterval").toString()) |
| 564 | - Double.valueOf(tempMap.get("jhInterval").toString()))); | 592 | - Double.valueOf(tempMap.get("jhInterval").toString()))); |
| 565 | } | 593 | } |
| 566 | - resList.add(tempMap); | 594 | + if(fcsjs.size() != 0 || fcsjAs.size() != 0) |
| 595 | + resList.add(tempMap); | ||
| 567 | } | 596 | } |
| 568 | } | 597 | } |
| 569 | } | 598 | } |
| @@ -601,6 +630,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { | @@ -601,6 +630,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { | ||
| 601 | Map<String, List<ChildTaskPlan>> cMap = new HashMap<String, List<ChildTaskPlan>>(); | 630 | Map<String, List<ChildTaskPlan>> cMap = new HashMap<String, List<ChildTaskPlan>>(); |
| 602 | Map<String, Object> modelMap = new HashMap<String, Object>(); | 631 | Map<String, Object> modelMap = new HashMap<String, Object>(); |
| 603 | Set<Long> tsSet = new HashSet<Long>(); | 632 | Set<Long> tsSet = new HashSet<Long>(); |
| 633 | + Set<Long> ttSet = new HashSet<Long>(); | ||
| 604 | 634 | ||
| 605 | String company = map.get("company").toString(); | 635 | String company = map.get("company").toString(); |
| 606 | String subCompany = map.get("subCompany").toString(); | 636 | String subCompany = map.get("subCompany").toString(); |
| @@ -639,7 +669,9 @@ public class BusIntervalServiceImpl implements BusIntervalService { | @@ -639,7 +669,9 @@ public class BusIntervalServiceImpl implements BusIntervalService { | ||
| 639 | } | 669 | } |
| 640 | where += " and bc_type != 'in' and bc_type != 'out' and bc_type != 'ldks'"; | 670 | where += " and bc_type != 'in' and bc_type != 'out' and bc_type != 'ldks'"; |
| 641 | 671 | ||
| 642 | - String sql = "select * from bsth_c_s_sp_info_real where DATE_FORMAT(schedule_date,'%Y-%m-%d') >= '"+startDate+"'" | 672 | + String sql = "select id, schedule_date_Str, real_exec_date, xl_name, lp_name, bcs, bcsj, jhlc," |
| 673 | + + " fcsj, fcsj_actual, zdsj, zdsj_actual, qdz_name, zdz_name, xl_dir, status, remarks, gs_name, fgs_name, sp_id" | ||
| 674 | + + " from bsth_c_s_sp_info_real where DATE_FORMAT(schedule_date,'%Y-%m-%d') >= '"+startDate+"'" | ||
| 643 | + " and DATE_FORMAT(schedule_date,'%Y-%m-%d') <= '"+endDate+"'"+where+""; | 675 | + " and DATE_FORMAT(schedule_date,'%Y-%m-%d') <= '"+endDate+"'"+where+""; |
| 644 | 676 | ||
| 645 | list = jdbcTemplate.query(sql, | 677 | list = jdbcTemplate.query(sql, |
| @@ -652,11 +684,9 @@ public class BusIntervalServiceImpl implements BusIntervalService { | @@ -652,11 +684,9 @@ public class BusIntervalServiceImpl implements BusIntervalService { | ||
| 652 | schedule.setRealExecDate(rs.getString("real_exec_date")); | 684 | schedule.setRealExecDate(rs.getString("real_exec_date")); |
| 653 | schedule.setXlName(rs.getString("xl_name")); | 685 | schedule.setXlName(rs.getString("xl_name")); |
| 654 | schedule.setLpName(rs.getString("lp_name")); | 686 | schedule.setLpName(rs.getString("lp_name")); |
| 655 | - schedule.setBcType(rs.getString("bc_type")); | ||
| 656 | schedule.setBcs(rs.getInt("bcs")); | 687 | schedule.setBcs(rs.getInt("bcs")); |
| 657 | schedule.setBcsj(rs.getInt("bcsj")); | 688 | schedule.setBcsj(rs.getInt("bcsj")); |
| 658 | schedule.setJhlc(rs.getDouble("jhlc")); | 689 | schedule.setJhlc(rs.getDouble("jhlc")); |
| 659 | - schedule.setDfsj(rs.getString("dfsj")); | ||
| 660 | schedule.setFcsj(rs.getString("fcsj")); | 690 | schedule.setFcsj(rs.getString("fcsj")); |
| 661 | schedule.setFcsjActual(rs.getString("fcsj_actual")); | 691 | schedule.setFcsjActual(rs.getString("fcsj_actual")); |
| 662 | schedule.setZdsj(rs.getString("zdsj")); | 692 | schedule.setZdsj(rs.getString("zdsj")); |
| @@ -668,12 +698,6 @@ public class BusIntervalServiceImpl implements BusIntervalService { | @@ -668,12 +698,6 @@ public class BusIntervalServiceImpl implements BusIntervalService { | ||
| 668 | schedule.setRemarks(rs.getString("remarks")); | 698 | schedule.setRemarks(rs.getString("remarks")); |
| 669 | schedule.setGsName(rs.getString("gs_name")); | 699 | schedule.setGsName(rs.getString("gs_name")); |
| 670 | schedule.setFgsName(rs.getString("fgs_name")); | 700 | schedule.setFgsName(rs.getString("fgs_name")); |
| 671 | - schedule.setDfAuto(rs.getBoolean("df_auto")); | ||
| 672 | - schedule.setOnline(rs.getBoolean("online")); | ||
| 673 | - schedule.setClZbh(rs.getString("cl_zbh")); | ||
| 674 | - schedule.setjGh(rs.getString("j_gh")); | ||
| 675 | - schedule.setjName(rs.getString("j_name")); | ||
| 676 | - schedule.setStatus(rs.getInt("status")); | ||
| 677 | schedule.setSpId(rs.getLong("sp_id")); | 701 | schedule.setSpId(rs.getLong("sp_id")); |
| 678 | 702 | ||
| 679 | if(schedule.getFcsjActual() != null && schedule.getFcsjActual().trim().length() == 0){ | 703 | if(schedule.getFcsjActual() != null && schedule.getFcsjActual().trim().length() == 0){ |
| @@ -726,7 +750,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { | @@ -726,7 +750,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { | ||
| 726 | { | 750 | { |
| 727 | List<Map<String, String>> temp1 = new ArrayList<Map<String, String>>(); | 751 | List<Map<String, String>> temp1 = new ArrayList<Map<String, String>>(); |
| 728 | List<Map<String, String>> temp2 = new ArrayList<Map<String, String>>(); | 752 | List<Map<String, String>> temp2 = new ArrayList<Map<String, String>>(); |
| 729 | - sql = "select * from bsth_c_s_sp_info where bc_type != 'in' and bc_type != 'out' and bc_type != 'ldks'"; | 753 | + sql = "select id, lp, fcsj, xl_bm, tt_info from bsth_c_s_sp_info where bc_type != 'in' and bc_type != 'out' and bc_type != 'ldks'"; |
| 730 | 754 | ||
| 731 | if(startDate.equals(endDate)){ | 755 | if(startDate.equals(endDate)){ |
| 732 | sql += " and schedule_date = '"+startDate+"'"; | 756 | sql += " and schedule_date = '"+startDate+"'"; |
| @@ -782,7 +806,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { | @@ -782,7 +806,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { | ||
| 782 | } | 806 | } |
| 783 | } | 807 | } |
| 784 | 808 | ||
| 785 | - sql = "select * from bsth_c_s_child_task order by start_date"; | 809 | + sql = "select destroy, start_date, end_date, mileage, mileage_type, schedule from bsth_c_s_child_task order by start_date"; |
| 786 | 810 | ||
| 787 | cList = jdbcTemplate.query(sql, | 811 | cList = jdbcTemplate.query(sql, |
| 788 | new RowMapper<ChildTaskPlan>(){ | 812 | new RowMapper<ChildTaskPlan>(){ |
| @@ -798,10 +822,12 @@ public class BusIntervalServiceImpl implements BusIntervalService { | @@ -798,10 +822,12 @@ public class BusIntervalServiceImpl implements BusIntervalService { | ||
| 798 | return cTask; | 822 | return cTask; |
| 799 | } | 823 | } |
| 800 | }); | 824 | }); |
| 801 | - | 825 | + |
| 802 | if(model.length() != 0){ | 826 | if(model.length() != 0){ |
| 803 | - sql = "select sp.id from bsth_c_s_sp_info sp left join bsth_c_s_ttinfo_detail tt on sp.tt_info = tt.ttinfo and sp.xl_bm = tt.xl and sp.lp = tt.lp and sp.fcsj = tt.fcsj " | ||
| 804 | - + "where tt_info = '" + model + "' and bc_type != 'in' and bc_type != 'out' and bc_type != 'ldks'"; | 827 | + sql = "select sp.id from " |
| 828 | + + "(select id, tt_info, xl_bm, lp, fcsj from bsth_c_s_sp_info where schedule_date >= '"+startDate+"' and schedule_date <= '"+endDate+"'" | ||
| 829 | + + " and tt_info = '" + model + "' and bc_type != 'in' and bc_type != 'out' and bc_type != 'ldks') sp" | ||
| 830 | + + " left join bsth_c_s_ttinfo_detail tt on sp.tt_info = tt.ttinfo and sp.xl_bm = tt.xl and sp.lp = tt.lp and sp.fcsj = tt.fcsj"; | ||
| 805 | 831 | ||
| 806 | ttList = jdbcTemplate.query(sql, | 832 | ttList = jdbcTemplate.query(sql, |
| 807 | new RowMapper<Map<String, Object>>(){ | 833 | new RowMapper<Map<String, Object>>(){ |
| @@ -809,10 +835,14 @@ public class BusIntervalServiceImpl implements BusIntervalService { | @@ -809,10 +835,14 @@ public class BusIntervalServiceImpl implements BusIntervalService { | ||
| 809 | public Map<String, Object> mapRow(ResultSet rs, int rowNum) throws SQLException { | 835 | public Map<String, Object> mapRow(ResultSet rs, int rowNum) throws SQLException { |
| 810 | Map<String, Object> m = new HashMap<String, Object>(); | 836 | Map<String, Object> m = new HashMap<String, Object>(); |
| 811 | m.put("id", rs.getString("id")); | 837 | m.put("id", rs.getString("id")); |
| 812 | - m.put("ists", rs.getString("ists")!=null?rs.getString("ists"):"0"); | 838 | +// m.put("ists", rs.getString("ists")!=null?rs.getString("ists"):"0"); |
| 813 | return m; | 839 | return m; |
| 814 | } | 840 | } |
| 815 | }); | 841 | }); |
| 842 | + | ||
| 843 | + for(Map<String, Object> m : ttList){ | ||
| 844 | + ttSet.add(Long.valueOf(m.get("id").toString())); | ||
| 845 | + } | ||
| 816 | } | 846 | } |
| 817 | 847 | ||
| 818 | } catch (Exception e) { | 848 | } catch (Exception e) { |
| @@ -852,15 +882,21 @@ public class BusIntervalServiceImpl implements BusIntervalService { | @@ -852,15 +882,21 @@ public class BusIntervalServiceImpl implements BusIntervalService { | ||
| 852 | if(schedule.getXlName()==null || schedule.getXlName().trim().length()==0) | 882 | if(schedule.getXlName()==null || schedule.getXlName().trim().length()==0) |
| 853 | continue; | 883 | continue; |
| 854 | if(model.length() != 0){ | 884 | if(model.length() != 0){ |
| 855 | - for(Map<String, Object> tt : ttList){ | ||
| 856 | - long id = Long.valueOf(tt.get("id").toString()); | ||
| 857 | - if(id == (long)schedule.getSpId()){ | ||
| 858 | - String key = schedule.getScheduleDateStr() + "/" + schedule.getXlName() + "/" + schedule.getLpName(); | ||
| 859 | - if(!keyMap.containsKey(key)) | ||
| 860 | - keyMap.put(key, new ArrayList<ScheduleRealInfo>()); | ||
| 861 | - keyMap.get(key).add(schedule); | ||
| 862 | - } | 885 | + if(ttSet.contains(schedule.getSpId())){ |
| 886 | + String key = schedule.getScheduleDateStr() + "/" + schedule.getXlName() + "/" + schedule.getLpName(); | ||
| 887 | + if(!keyMap.containsKey(key)) | ||
| 888 | + keyMap.put(key, new ArrayList<ScheduleRealInfo>()); | ||
| 889 | + keyMap.get(key).add(schedule); | ||
| 863 | } | 890 | } |
| 891 | +// for(Map<String, Object> tt : ttList){ | ||
| 892 | +// long id = Long.valueOf(tt.get("id").toString()); | ||
| 893 | +// if(id == (long)schedule.getSpId()){ | ||
| 894 | +// String key = schedule.getScheduleDateStr() + "/" + schedule.getXlName() + "/" + schedule.getLpName(); | ||
| 895 | +// if(!keyMap.containsKey(key)) | ||
| 896 | +// keyMap.put(key, new ArrayList<ScheduleRealInfo>()); | ||
| 897 | +// keyMap.get(key).add(schedule); | ||
| 898 | +// } | ||
| 899 | +// } | ||
| 864 | }else{ | 900 | }else{ |
| 865 | String key = schedule.getScheduleDateStr() + "/" + schedule.getXlName() + "/" + schedule.getLpName(); | 901 | String key = schedule.getScheduleDateStr() + "/" + schedule.getXlName() + "/" + schedule.getLpName(); |
| 866 | if(!keyMap.containsKey(key)) | 902 | if(!keyMap.containsKey(key)) |
src/main/java/com/bsth/service/impl/StationRouteServiceImpl.java
| @@ -24,6 +24,7 @@ import org.springframework.transaction.annotation.Transactional; | @@ -24,6 +24,7 @@ import org.springframework.transaction.annotation.Transactional; | ||
| 24 | 24 | ||
| 25 | import java.io.ByteArrayInputStream; | 25 | import java.io.ByteArrayInputStream; |
| 26 | import java.io.File; | 26 | import java.io.File; |
| 27 | +import java.io.FileOutputStream; | ||
| 27 | import java.io.InputStream; | 28 | import java.io.InputStream; |
| 28 | import java.text.DecimalFormat; | 29 | import java.text.DecimalFormat; |
| 29 | import java.util.*; | 30 | import java.util.*; |
| @@ -511,57 +512,38 @@ public class StationRouteServiceImpl extends BaseServiceImpl<StationRoute, Integ | @@ -511,57 +512,38 @@ public class StationRouteServiceImpl extends BaseServiceImpl<StationRoute, Integ | ||
| 511 | */ | 512 | */ |
| 512 | @Override | 513 | @Override |
| 513 | public Map<String, Object> usingSingle(Map<String, Object> map) { | 514 | public Map<String, Object> usingSingle(Map<String, Object> map) { |
| 514 | - | ||
| 515 | // 返回值map | 515 | // 返回值map |
| 516 | Map<String, Object> resultMap = new HashMap<String,Object>(); | 516 | Map<String, Object> resultMap = new HashMap<String,Object>(); |
| 517 | - | ||
| 518 | try { | 517 | try { |
| 519 | - | ||
| 520 | // 获取线路ID | 518 | // 获取线路ID |
| 521 | Integer lineId = map.get("lineId").equals("") ? 0 : Integer.parseInt(map.get("lineId").toString()); | 519 | Integer lineId = map.get("lineId").equals("") ? 0 : Integer.parseInt(map.get("lineId").toString()); |
| 522 | - | ||
| 523 | /** 查询线路信息 @param:<lineId:线路ID> */ | 520 | /** 查询线路信息 @param:<lineId:线路ID> */ |
| 524 | Line line = lineRepository.findOne(lineId); | 521 | Line line = lineRepository.findOne(lineId); |
| 525 | - | ||
| 526 | /** 查询线路信息下的站点路由信息 @param:<lineId:线路ID> */ | 522 | /** 查询线路信息下的站点路由信息 @param:<lineId:线路ID> */ |
| 527 | List<Object[]> objects = repository.usingSingle(lineId); | 523 | List<Object[]> objects = repository.usingSingle(lineId); |
| 528 | - | ||
| 529 | if (objects.size()>0) { | 524 | if (objects.size()>0) { |
| 530 | - | ||
| 531 | /** 获取配置文件里的ftp登录参数 */ | 525 | /** 获取配置文件里的ftp登录参数 */ |
| 532 | Map<String, Object> FTPParamMap = readPropertiesGetFTPParam(); | 526 | Map<String, Object> FTPParamMap = readPropertiesGetFTPParam(); |
| 533 | - | ||
| 534 | // 压缩文件名 | 527 | // 压缩文件名 |
| 535 | String odlGzFileName = line.getLineCode() + ".txt.gz"; | 528 | String odlGzFileName = line.getLineCode() + ".txt.gz"; |
| 536 | - | ||
| 537 | // txt文件名 | 529 | // txt文件名 |
| 538 | String textFileName = line.getLineCode() + ".txt"; | 530 | String textFileName = line.getLineCode() + ".txt"; |
| 539 | - | ||
| 540 | // 创建一个ftp上传实例 | 531 | // 创建一个ftp上传实例 |
| 541 | FTPClientUtils clientUtils = new FTPClientUtils(); | 532 | FTPClientUtils clientUtils = new FTPClientUtils(); |
| 542 | - | ||
| 543 | // IP | 533 | // IP |
| 544 | String url = FTPParamMap.get("url").toString(); | 534 | String url = FTPParamMap.get("url").toString(); |
| 545 | - | ||
| 546 | // 端口 | 535 | // 端口 |
| 547 | int port = Integer.valueOf(FTPParamMap.get("port").toString()); | 536 | int port = Integer.valueOf(FTPParamMap.get("port").toString()); |
| 548 | - | ||
| 549 | // 用户名 | 537 | // 用户名 |
| 550 | String username = FTPParamMap.get("username").toString(); | 538 | String username = FTPParamMap.get("username").toString(); |
| 551 | - | ||
| 552 | // 密码 | 539 | // 密码 |
| 553 | String password = FTPParamMap.get("password").toString(); | 540 | String password = FTPParamMap.get("password").toString(); |
| 554 | - | ||
| 555 | // 相对路径 | 541 | // 相对路径 |
| 556 | String remotePath = FTPParamMap.get("remotePath").toString(); | 542 | String remotePath = FTPParamMap.get("remotePath").toString(); |
| 557 | - | ||
| 558 | /** 如果已存在相同行单文件名则先删除 */ | 543 | /** 如果已存在相同行单文件名则先删除 */ |
| 559 | clientUtils.deleteFtpFile(url, port, username, password, remotePath, odlGzFileName); | 544 | clientUtils.deleteFtpFile(url, port, username, password, remotePath, odlGzFileName); |
| 560 | - | ||
| 561 | clientUtils.deleteFtpFile(url, port, username, password, remotePath, textFileName); | 545 | clientUtils.deleteFtpFile(url, port, username, password, remotePath, textFileName); |
| 562 | - | ||
| 563 | String textStr = ""; | 546 | String textStr = ""; |
| 564 | - | ||
| 565 | boolean tempTag = ishxType(objects); | 547 | boolean tempTag = ishxType(objects); |
| 566 | 548 | ||
| 567 | if(tempTag) | 549 | if(tempTag) |
| @@ -575,6 +557,12 @@ public class StationRouteServiceImpl extends BaseServiceImpl<StationRoute, Integ | @@ -575,6 +557,12 @@ public class StationRouteServiceImpl extends BaseServiceImpl<StationRoute, Integ | ||
| 575 | 557 | ||
| 576 | InputStream input = new ByteArrayInputStream(textStr.getBytes("gbk")); | 558 | InputStream input = new ByteArrayInputStream(textStr.getBytes("gbk")); |
| 577 | 559 | ||
| 560 | + // FileOutputStream fos = new FileOutputStream("test.txt"); | ||
| 561 | + /*int len = 0 ; | ||
| 562 | + byte[] cbuf = new byte[1024]; | ||
| 563 | + while((len = input.read(cbuf)) != -1) { | ||
| 564 | + fos.write(cbuf, 0, len); | ||
| 565 | + }*/ | ||
| 578 | /** 生成txt文件,上传ftp */ | 566 | /** 生成txt文件,上传ftp */ |
| 579 | clientUtils.uploadFile(url, port, username, password, remotePath, textFileName, input); | 567 | clientUtils.uploadFile(url, port, username, password, remotePath, textFileName, input); |
| 580 | 568 | ||
| @@ -645,25 +633,23 @@ public class StationRouteServiceImpl extends BaseServiceImpl<StationRoute, Integ | @@ -645,25 +633,23 @@ public class StationRouteServiceImpl extends BaseServiceImpl<StationRoute, Integ | ||
| 645 | * @return String | 633 | * @return String |
| 646 | */ | 634 | */ |
| 647 | public String newTextFileToFTP(List<Object[]> objects,Integer lineId) { | 635 | public String newTextFileToFTP(List<Object[]> objects,Integer lineId) { |
| 648 | - | ||
| 649 | // 返回值String | 636 | // 返回值String |
| 650 | String stationRStr = ""; | 637 | String stationRStr = ""; |
| 651 | - | ||
| 652 | // windows下的文本文件换行符 | 638 | // windows下的文本文件换行符 |
| 653 | //String enterStr = "\r\n"; | 639 | //String enterStr = "\r\n"; |
| 654 | - | ||
| 655 | // linux/unix下的文本文件换行符 | 640 | // linux/unix下的文本文件换行符 |
| 656 | String enterStr = "\r"; | 641 | String enterStr = "\r"; |
| 657 | - | 642 | + int defaultZdxh = 0; |
| 658 | if(objects.size()>0) { | 643 | if(objects.size()>0) { |
| 659 | - | ||
| 660 | for(int i = 0; i<objects.size();i++) { | 644 | for(int i = 0; i<objects.size();i++) { |
| 661 | - | 645 | + defaultZdxh ++ ; |
| 662 | // 经度 | 646 | // 经度 |
| 663 | - String lng = objects.get(i)[0].equals("") ? "" : objects.get(i)[0].toString(); | 647 | + String lng = objects.get(i)[0].equals("") ? "0" : objects.get(i)[0].toString(); |
| 664 | 648 | ||
| 665 | // 纬度 | 649 | // 纬度 |
| 666 | - String lat = objects.get(i)[1].equals("") ? "" : objects.get(i)[1].toString(); | 650 | + String lat = objects.get(i)[1].equals("") ? "0" : objects.get(i)[1].toString(); |
| 651 | + | ||
| 652 | + Point point = new Point(Double.valueOf(lng), Double.valueOf(lat)); | ||
| 667 | 653 | ||
| 668 | lat = "\t" + lat; | 654 | lat = "\t" + lat; |
| 669 | 655 | ||
| @@ -673,23 +659,32 @@ public class StationRouteServiceImpl extends BaseServiceImpl<StationRoute, Integ | @@ -673,23 +659,32 @@ public class StationRouteServiceImpl extends BaseServiceImpl<StationRoute, Integ | ||
| 673 | String stationMake = ""; | 659 | String stationMake = ""; |
| 674 | 660 | ||
| 675 | if(stationMakeStr.equals("E")) { | 661 | if(stationMakeStr.equals("E")) { |
| 676 | - | ||
| 677 | stationMake = "\t2"; | 662 | stationMake = "\t2"; |
| 678 | - | ||
| 679 | }else { | 663 | }else { |
| 680 | - | ||
| 681 | stationMake ="\t1"; | 664 | stationMake ="\t1"; |
| 682 | - | ||
| 683 | } | 665 | } |
| 684 | 666 | ||
| 685 | // 站点序号 | 667 | // 站点序号 |
| 686 | - String stationNo = objects.get(i)[4].equals("") ? "" : objects.get(i)[4].toString(); | 668 | + // String stationNo = objects.get(i)[4].equals("") ? "" : objects.get(i)[4].toString(); |
| 669 | + String stationNo = String.valueOf(defaultZdxh); | ||
| 687 | 670 | ||
| 688 | stationNo = "\t" + stationNo; | 671 | stationNo = "\t" + stationNo; |
| 689 | 672 | ||
| 690 | // 站点编码 | 673 | // 站点编码 |
| 691 | String stationCode = objects.get(i)[5].equals("") ? "" : objects.get(i)[5].toString(); | 674 | String stationCode = objects.get(i)[5].equals("") ? "" : objects.get(i)[5].toString(); |
| 692 | 675 | ||
| 676 | + int len = stationCode.length(); | ||
| 677 | + if(len<8) { | ||
| 678 | + int dx = 8 - len; | ||
| 679 | + String addStr = ""; | ||
| 680 | + for(int p =0;p<dx;p++) { | ||
| 681 | + addStr = addStr + "0"; | ||
| 682 | + } | ||
| 683 | + stationCode = addStr + stationCode; | ||
| 684 | + }else if(len>8){ | ||
| 685 | + stationCode = stationCode.substring(8); | ||
| 686 | + } | ||
| 687 | + | ||
| 693 | stationCode = "\t" +stationCode; | 688 | stationCode = "\t" +stationCode; |
| 694 | 689 | ||
| 695 | double dis = objects.get(i)[6]==null ? 0.0 : Double.parseDouble(objects.get(i)[6].toString())*1000; | 690 | double dis = objects.get(i)[6]==null ? 0.0 : Double.parseDouble(objects.get(i)[6].toString())*1000; |
| @@ -709,41 +704,33 @@ public class StationRouteServiceImpl extends BaseServiceImpl<StationRoute, Integ | @@ -709,41 +704,33 @@ public class StationRouteServiceImpl extends BaseServiceImpl<StationRoute, Integ | ||
| 709 | 704 | ||
| 710 | // 限速 | 705 | // 限速 |
| 711 | String sleepStr = ""; | 706 | String sleepStr = ""; |
| 712 | - | ||
| 713 | // 方向 | 707 | // 方向 |
| 714 | int directions = objects.get(i)[8]==null ? null : Integer.valueOf(objects.get(i)[8].toString()); | 708 | int directions = objects.get(i)[8]==null ? null : Integer.valueOf(objects.get(i)[8].toString()); |
| 715 | - | ||
| 716 | /** 获取路段路由信息 @pararm:<lineId:线路ID;directions:方向> */ | 709 | /** 获取路段路由信息 @pararm:<lineId:线路ID;directions:方向> */ |
| 717 | List<Object[]> sobje = routeRepository.sectionRouteVector(lineId,directions); | 710 | List<Object[]> sobje = routeRepository.sectionRouteVector(lineId,directions); |
| 718 | - | ||
| 719 | if(sobje.size()==1) { | 711 | if(sobje.size()==1) { |
| 720 | - | ||
| 721 | - double dsleepStr = sobje.get(0)[2] == null ? 60d : Double.valueOf(sobje.get(0)[2].toString()); | ||
| 722 | - | ||
| 723 | - sleepStr = "\t" + new DecimalFormat("0").format(dsleepStr); | ||
| 724 | - | 712 | + int dsleepStr = sobje.get(0)[2] == null || sobje.get(0)[2].equals("") ? 60 : Integer.valueOf(sobje.get(0)[2].toString()); |
| 713 | + sleepStr = "\t" + String.valueOf(dsleepStr); | ||
| 725 | }else if(sobje.size()>1){ | 714 | }else if(sobje.size()>1){ |
| 726 | - | ||
| 727 | - /** 这里暂时只根据站点名称去匹配所在路段的限速值 ,如果路段名称"至"之前的地名与站点名称等同,就认为站点在路段上。 */ | ||
| 728 | for(int j =0;j<sobje.size();j++) { | 715 | for(int j =0;j<sobje.size();j++) { |
| 729 | - | ||
| 730 | - String sectionName = sobje.get(j)[3].toString(); | ||
| 731 | - | ||
| 732 | - String sectionNameA[] = sectionName.split("至"); | ||
| 733 | - | ||
| 734 | - if(stationName.equals(sectionNameA[0])){ | ||
| 735 | - | ||
| 736 | - /*sleepStr = sobje.get(j)[2].toString();*/ | ||
| 737 | - | ||
| 738 | - double dsleepStrt = sobje.get(0)[2] == null ? 60d : Double.valueOf(sobje.get(j)[2].toString()); | ||
| 739 | - | ||
| 740 | - sleepStr = "\t" + new DecimalFormat("0").format(dsleepStrt); | ||
| 741 | - | 716 | + double dsleepStrt = sobje.get(j)[2] == null || sobje.get(j)[2].equals("") ? 60d : Double.valueOf(sobje.get(j)[2].toString()); |
| 717 | + String pointsStr = sobje.get(j)[1]==null || sobje.get(j)[1].equals("") ? null : sobje.get(j)[1].toString(); | ||
| 718 | + pointsStr = pointsStr.substring(11, pointsStr.length()-1); | ||
| 719 | + List<Point> ps = new ArrayList<>(); | ||
| 720 | + String[] pArray = pointsStr.split(","); | ||
| 721 | + for(int a = 0; a <pArray.length; a++) { | ||
| 722 | + String[] tmepA = pArray[a].split(" "); | ||
| 723 | + Point temp = new Point(Double.valueOf(tmepA[0]), Double.valueOf(tmepA[1])); | ||
| 724 | + ps.add(temp); | ||
| 725 | + } | ||
| 726 | + if(GeoUtils.isInSection(ps, point)) { | ||
| 727 | + sleepStr = "\t" + String.valueOf((int)dsleepStrt); | ||
| 728 | + break; | ||
| 742 | } | 729 | } |
| 743 | - | ||
| 744 | } | 730 | } |
| 745 | } | 731 | } |
| 746 | - | 732 | + if(sleepStr.equals("")) |
| 733 | + sleepStr = "\t" + "60"; | ||
| 747 | stationRStr = stationRStr + lng + lat + stationMake + stationNo + stationCode + staitondistance + sleepStr + stationName + enterStr; | 734 | stationRStr = stationRStr + lng + lat + stationMake + stationNo + stationCode + staitondistance + sleepStr + stationName + enterStr; |
| 748 | } | 735 | } |
| 749 | 736 | ||
| @@ -762,9 +749,12 @@ public class StationRouteServiceImpl extends BaseServiceImpl<StationRoute, Integ | @@ -762,9 +749,12 @@ public class StationRouteServiceImpl extends BaseServiceImpl<StationRoute, Integ | ||
| 762 | for(int i = 0; i<objects.size();i++) { | 749 | for(int i = 0; i<objects.size();i++) { |
| 763 | if(Integer.valueOf(objects.get(i)[8].toString())==0) { | 750 | if(Integer.valueOf(objects.get(i)[8].toString())==0) { |
| 764 | // 经度 | 751 | // 经度 |
| 765 | - String lng = objects.get(i)[0].equals("") ? "" : objects.get(i)[0].toString(); | 752 | + String lng = objects.get(i)[0].equals("") ? "0" : objects.get(i)[0].toString(); |
| 753 | + | ||
| 766 | // 纬度 | 754 | // 纬度 |
| 767 | - String lat = objects.get(i)[1].equals("") ? "" : objects.get(i)[1].toString(); | 755 | + String lat = objects.get(i)[1].equals("") ? "0" : objects.get(i)[1].toString(); |
| 756 | + | ||
| 757 | + Point point = new Point(Double.valueOf(lng), Double.valueOf(lat)); | ||
| 768 | lat = "\t" + lat; | 758 | lat = "\t" + lat; |
| 769 | // 站点类型 | 759 | // 站点类型 |
| 770 | String stationMakeStr = objects.get(i)[3].equals("") ? "" : objects.get(i)[3].toString(); | 760 | String stationMakeStr = objects.get(i)[3].equals("") ? "" : objects.get(i)[3].toString(); |
| @@ -779,6 +769,17 @@ public class StationRouteServiceImpl extends BaseServiceImpl<StationRoute, Integ | @@ -779,6 +769,17 @@ public class StationRouteServiceImpl extends BaseServiceImpl<StationRoute, Integ | ||
| 779 | String stationNo = "\t" + xh; | 769 | String stationNo = "\t" + xh; |
| 780 | // 站点编码 | 770 | // 站点编码 |
| 781 | String stationCode = objects.get(i)[5].equals("") ? "" : objects.get(i)[5].toString(); | 771 | String stationCode = objects.get(i)[5].equals("") ? "" : objects.get(i)[5].toString(); |
| 772 | + int len = stationCode.length(); | ||
| 773 | + if(len<8) { | ||
| 774 | + int dx = 8 - len; | ||
| 775 | + String addStr = ""; | ||
| 776 | + for(int p =0;p<dx;p++) { | ||
| 777 | + addStr = addStr + "0"; | ||
| 778 | + } | ||
| 779 | + stationCode = addStr + stationCode; | ||
| 780 | + }else if(len>8){ | ||
| 781 | + stationCode = stationCode.substring(8); | ||
| 782 | + } | ||
| 782 | stationCode = "\t" +stationCode; | 783 | stationCode = "\t" +stationCode; |
| 783 | double dis = objects.get(i)[6]==null ? 0.0 : Double.parseDouble(objects.get(i)[6].toString())*1000; | 784 | double dis = objects.get(i)[6]==null ? 0.0 : Double.parseDouble(objects.get(i)[6].toString())*1000; |
| 784 | String tempDistc = String.valueOf((int) dis); | 785 | String tempDistc = String.valueOf((int) dis); |
| @@ -794,20 +795,28 @@ public class StationRouteServiceImpl extends BaseServiceImpl<StationRoute, Integ | @@ -794,20 +795,28 @@ public class StationRouteServiceImpl extends BaseServiceImpl<StationRoute, Integ | ||
| 794 | /** 获取路段路由信息 @pararm:<lineId:线路ID;directions:方向> */ | 795 | /** 获取路段路由信息 @pararm:<lineId:线路ID;directions:方向> */ |
| 795 | List<Object[]> sobje = routeRepository.sectionRouteVector(lineId,directions); | 796 | List<Object[]> sobje = routeRepository.sectionRouteVector(lineId,directions); |
| 796 | if(sobje.size()==1) { | 797 | if(sobje.size()==1) { |
| 797 | - double dsleepStr = sobje.get(0)[2] == null ? 60d : Double.valueOf(sobje.get(0)[2].toString()); | ||
| 798 | - sleepStr = "\t" + new DecimalFormat("0").format(dsleepStr); | 798 | + int dsleepStr = sobje.get(0)[2] == null || sobje.get(0)[2].equals("") ? 60 : Integer.valueOf(sobje.get(0)[2].toString()); |
| 799 | + sleepStr = "\t" + String.valueOf(dsleepStr); | ||
| 799 | }else if(sobje.size()>1){ | 800 | }else if(sobje.size()>1){ |
| 800 | - /** 这里暂时只根据站点名称去匹配所在路段的限速值 ,如果路段名称"至"之前的地名与站点名称等同,就认为站点在路段上。 */ | ||
| 801 | for(int j =0;j<sobje.size();j++) { | 801 | for(int j =0;j<sobje.size();j++) { |
| 802 | - String sectionName = sobje.get(j)[3].toString(); | ||
| 803 | - String sectionNameA[] = sectionName.split("至"); | ||
| 804 | - if(stationName.equals(sectionNameA[0])){ | ||
| 805 | - /*sleepStr = sobje.get(j)[2].toString();*/ | ||
| 806 | - double dsleepStrt = sobje.get(0)[2] == null ? 60d : Double.valueOf(sobje.get(j)[2].toString()); | ||
| 807 | - sleepStr = "\t" + new DecimalFormat("0").format(dsleepStrt); | 802 | + double dsleepStrt = sobje.get(j)[2] == null || sobje.get(j)[2].equals("") ? 60d : Double.valueOf(sobje.get(j)[2].toString()); |
| 803 | + String pointsStr = sobje.get(j)[1]==null || sobje.get(j)[1].equals("") ? null : sobje.get(j)[1].toString(); | ||
| 804 | + pointsStr = pointsStr.substring(11, pointsStr.length()-1); | ||
| 805 | + List<Point> ps = new ArrayList<>(); | ||
| 806 | + String[] pArray = pointsStr.split(","); | ||
| 807 | + for(int a = 0; a <pArray.length; a++) { | ||
| 808 | + String[] tmepA = pArray[a].split(" "); | ||
| 809 | + Point temp = new Point(Double.valueOf(tmepA[0]), Double.valueOf(tmepA[1])); | ||
| 810 | + ps.add(temp); | ||
| 811 | + } | ||
| 812 | + if(GeoUtils.isInSection(ps, point)) { | ||
| 813 | + sleepStr = "\t" + String.valueOf((int)dsleepStrt); | ||
| 814 | + break; | ||
| 808 | } | 815 | } |
| 809 | } | 816 | } |
| 810 | } | 817 | } |
| 818 | + if(sleepStr.equals("")) | ||
| 819 | + sleepStr = "\t" + "60"; | ||
| 811 | xh++; | 820 | xh++; |
| 812 | restStr = restStr + lng + lat + stationMake + stationNo + stationCode + staitondistance + sleepStr + stationName + enterStr; | 821 | restStr = restStr + lng + lat + stationMake + stationNo + stationCode + staitondistance + sleepStr + stationName + enterStr; |
| 813 | } | 822 | } |
src/main/java/com/bsth/service/impl/TrafficManageServiceImpl.java
| @@ -8,9 +8,13 @@ import com.bsth.entity.schedule.SchedulePlanInfo; | @@ -8,9 +8,13 @@ import com.bsth.entity.schedule.SchedulePlanInfo; | ||
| 8 | import com.bsth.entity.schedule.TTInfo; | 8 | import com.bsth.entity.schedule.TTInfo; |
| 9 | import com.bsth.entity.schedule.TTInfoDetail; | 9 | import com.bsth.entity.schedule.TTInfoDetail; |
| 10 | import com.bsth.entity.search.CustomerSpecs; | 10 | import com.bsth.entity.search.CustomerSpecs; |
| 11 | +import com.bsth.entity.sys.SysUser; | ||
| 12 | +import com.bsth.entity.traffic.SKBUploadLogger; | ||
| 11 | import com.bsth.repository.*; | 13 | import com.bsth.repository.*; |
| 12 | import com.bsth.repository.realcontrol.ScheduleRealInfoRepository; | 14 | import com.bsth.repository.realcontrol.ScheduleRealInfoRepository; |
| 13 | import com.bsth.repository.schedule.*; | 15 | import com.bsth.repository.schedule.*; |
| 16 | +import com.bsth.repository.traffic.SKBUploadLoggerRepository; | ||
| 17 | +import com.bsth.security.util.SecurityUtils; | ||
| 14 | import com.bsth.service.TrafficManageService; | 18 | import com.bsth.service.TrafficManageService; |
| 15 | import com.bsth.util.TimeUtils; | 19 | import com.bsth.util.TimeUtils; |
| 16 | import com.bsth.util.db.DBUtils_MS; | 20 | import com.bsth.util.db.DBUtils_MS; |
| @@ -101,6 +105,10 @@ public class TrafficManageServiceImpl implements TrafficManageService{ | @@ -101,6 +105,10 @@ public class TrafficManageServiceImpl implements TrafficManageService{ | ||
| 101 | @Autowired | 105 | @Autowired |
| 102 | private ScheduleRealInfoRepository scheduleRealInfoRepository; | 106 | private ScheduleRealInfoRepository scheduleRealInfoRepository; |
| 103 | 107 | ||
| 108 | + // 时刻表上传记录repository | ||
| 109 | + @Autowired | ||
| 110 | + private SKBUploadLoggerRepository skbUploadLoggerRepository; | ||
| 111 | + | ||
| 104 | 112 | ||
| 105 | // 运管处接口 | 113 | // 运管处接口 |
| 106 | private InternalPortType portType = null;//new Internal().getInternalHttpSoap11Endpoint(); | 114 | private InternalPortType portType = null;//new Internal().getInternalHttpSoap11Endpoint(); |
| @@ -134,12 +142,19 @@ public class TrafficManageServiceImpl implements TrafficManageService{ | @@ -134,12 +142,19 @@ public class TrafficManageServiceImpl implements TrafficManageService{ | ||
| 134 | * 上传线路信息 | 142 | * 上传线路信息 |
| 135 | */ | 143 | */ |
| 136 | @Override | 144 | @Override |
| 137 | - public String setXL() { | 145 | + public String setXL(Map<String, Object> param) { |
| 138 | String result = "failure"; | 146 | String result = "failure"; |
| 139 | StringBuffer sBuffer = new StringBuffer(); | 147 | StringBuffer sBuffer = new StringBuffer(); |
| 140 | try { | 148 | try { |
| 141 | - Iterator<Line> lineIterator = lineRepository.findAll().iterator(); | 149 | + Map<String,Object> map = new HashMap<String,Object>(); |
| 150 | + map.put("lineCode_eq", param.get("xl.lineCode_like")+""); | ||
| 151 | + Iterator<Line> lineIterator; | ||
| 142 | Line line = null; | 152 | Line line = null; |
| 153 | + if(param.get("xl.lineCode_like").equals("")){ | ||
| 154 | + lineIterator = lineRepository.findAll().iterator(); | ||
| 155 | + }else { | ||
| 156 | + line = lineRepository.findOne(new CustomerSpecs<Line>(map)); | ||
| 157 | + } | ||
| 143 | List<StationRoute> upStationsList = null;// 上行站点路由集 | 158 | List<StationRoute> upStationsList = null;// 上行站点路由集 |
| 144 | List<StationRoute> downStationsList = null;// 下行站点路由集 | 159 | List<StationRoute> downStationsList = null;// 下行站点路由集 |
| 145 | List<LineInformation> lineInformationsList = null; | 160 | List<LineInformation> lineInformationsList = null; |
| @@ -147,14 +162,15 @@ public class TrafficManageServiceImpl implements TrafficManageService{ | @@ -147,14 +162,15 @@ public class TrafficManageServiceImpl implements TrafficManageService{ | ||
| 147 | sBuffer.append("<Data>"); | 162 | sBuffer.append("<Data>"); |
| 148 | sBuffer.append("<RequestOrg>上海巴士拓华科技发展有限公司</RequestOrg>"); | 163 | sBuffer.append("<RequestOrg>上海巴士拓华科技发展有限公司</RequestOrg>"); |
| 149 | sBuffer.append("<DataList>"); | 164 | sBuffer.append("<DataList>"); |
| 150 | - while(lineIterator.hasNext()){ | ||
| 151 | - line = lineIterator.next(); | ||
| 152 | - if(!line.getName().equals("浦江4路")){ | ||
| 153 | - continue; | ||
| 154 | - } | ||
| 155 | - if(BasicData.lineId2ShangHaiCodeMap.get(line.getId()) == null | 165 | +// while(lineIterator.hasNext()){ |
| 166 | +// line = lineIterator.next(); | ||
| 167 | +// if(BasicData.lineId2ShangHaiCodeMap.get(line.getId()) == null | ||
| 168 | +// || line.getInUse() == 0){ | ||
| 169 | +// continue; | ||
| 170 | +// } | ||
| 171 | + if(BasicData.lineId2ShangHaiCodeMap.get(line.getId()) == null | ||
| 156 | || line.getInUse() == 0){ | 172 | || line.getInUse() == 0){ |
| 157 | - continue; | 173 | + return result; |
| 158 | } | 174 | } |
| 159 | sBuffer.append("<LINE_ID>").append(line.getId()).append("</LINE_ID>"); | 175 | sBuffer.append("<LINE_ID>").append(line.getId()).append("</LINE_ID>"); |
| 160 | sBuffer.append("<LINE_CODE>").append(BasicData.lineId2ShangHaiCodeMap.get(line.getId())).append("</LINE_CODE>"); | 176 | sBuffer.append("<LINE_CODE>").append(BasicData.lineId2ShangHaiCodeMap.get(line.getId())).append("</LINE_CODE>"); |
| @@ -165,18 +181,24 @@ public class TrafficManageServiceImpl implements TrafficManageService{ | @@ -165,18 +181,24 @@ public class TrafficManageServiceImpl implements TrafficManageService{ | ||
| 165 | upStationsList = stationRouteRepository.findByLine(line.getLineCode(), 0); | 181 | upStationsList = stationRouteRepository.findByLine(line.getLineCode(), 0); |
| 166 | int startId = 1; | 182 | int startId = 1; |
| 167 | startId = packagStationXml(upStationsList, sBuffer, startId); | 183 | startId = packagStationXml(upStationsList, sBuffer, startId); |
| 168 | - // 再查下行 | ||
| 169 | - downStationsList = stationRouteRepository.findByLine(line.getLineCode(), 1); | ||
| 170 | - packagStationXml(downStationsList, sBuffer, startId); | 184 | + // 环线不查下行 |
| 185 | + if(line.getLinePlayType() != 1){ | ||
| 186 | + // 再查下行 | ||
| 187 | + downStationsList = stationRouteRepository.findByLine(line.getLineCode(), 1); | ||
| 188 | + packagStationXml(downStationsList, sBuffer, startId); | ||
| 189 | + } | ||
| 171 | sBuffer.append("</LineStationList>"); | 190 | sBuffer.append("</LineStationList>"); |
| 172 | 191 | ||
| 173 | // 循环添加站点点位信息 | 192 | // 循环添加站点点位信息 |
| 174 | sBuffer.append("<LinePointList>"); | 193 | sBuffer.append("<LinePointList>"); |
| 175 | startId = 1; | 194 | startId = 1; |
| 176 | startId = packagStationPointXml(upStationsList, sBuffer, startId); | 195 | startId = packagStationPointXml(upStationsList, sBuffer, startId); |
| 177 | - packagStationPointXml(downStationsList, sBuffer, startId); | 196 | + // 环线不查下行 |
| 197 | + if(line.getLinePlayType() != 1){ | ||
| 198 | + packagStationPointXml(downStationsList, sBuffer, startId); | ||
| 199 | + } | ||
| 178 | sBuffer.append("</LinePointList>"); | 200 | sBuffer.append("</LinePointList>"); |
| 179 | - } | 201 | +// } |
| 180 | sBuffer.append("</DataList>"); | 202 | sBuffer.append("</DataList>"); |
| 181 | sBuffer.append("</Data>"); | 203 | sBuffer.append("</Data>"); |
| 182 | System.out.println(sBuffer.toString()); | 204 | System.out.println(sBuffer.toString()); |
| @@ -301,6 +323,8 @@ public class TrafficManageServiceImpl implements TrafficManageService{ | @@ -301,6 +323,8 @@ public class TrafficManageServiceImpl implements TrafficManageService{ | ||
| 301 | List<ScheduleRealInfo> list = scheduleRealInfoRepository.setLD(date); | 323 | List<ScheduleRealInfo> list = scheduleRealInfoRepository.setLD(date); |
| 302 | List<Map<String,Object>> listGroup = scheduleRealInfoRepository.setLDGroup(date); | 324 | List<Map<String,Object>> listGroup = scheduleRealInfoRepository.setLDGroup(date); |
| 303 | Map<String,Object> map = new HashMap<String,Object>(); | 325 | Map<String,Object> map = new HashMap<String,Object>(); |
| 326 | + HashMap<String,String> paramMap; | ||
| 327 | + HashMap<String,String> otherMap = new HashMap<String, String>(); | ||
| 304 | for(Map<String,Object> schRealInfo:listGroup){ | 328 | for(Map<String,Object> schRealInfo:listGroup){ |
| 305 | if(schRealInfo != null){ | 329 | if(schRealInfo != null){ |
| 306 | //根据车辆自编号查询车牌号 | 330 | //根据车辆自编号查询车牌号 |
| @@ -347,16 +371,20 @@ public class TrafficManageServiceImpl implements TrafficManageService{ | @@ -347,16 +371,20 @@ public class TrafficManageServiceImpl implements TrafficManageService{ | ||
| 347 | sf.append("<SJGH>"+scheduleRealInfo.getjGh()+"</SJGH>"); | 371 | sf.append("<SJGH>"+scheduleRealInfo.getjGh()+"</SJGH>"); |
| 348 | sf.append("<SXX>"+scheduleRealInfo.getXlDir()+"</SXX>"); | 372 | sf.append("<SXX>"+scheduleRealInfo.getXlDir()+"</SXX>"); |
| 349 | sf.append("<FCZDMC>"+scheduleRealInfo.getQdzName()+"</FCZDMC>"); | 373 | sf.append("<FCZDMC>"+scheduleRealInfo.getQdzName()+"</FCZDMC>"); |
| 350 | - sf.append("<FCZDXH>" + getYgcStationNumByLineCodeAndDirectionAndStationName( | ||
| 351 | - scheduleRealInfo.getXlBm(), scheduleRealInfo.getXlDir(), scheduleRealInfo.getQdzCode()) + "</FCZDXH>"); | 374 | + // 起点站的参数 |
| 375 | + otherMap.put("stationMark","B"); | ||
| 376 | + paramMap = packageYgcStationNumParam(scheduleRealInfo,otherMap); | ||
| 377 | + sf.append("<FCZDXH>" + getYgcStationNumByLineCodeAndDirectionAndStationName(paramMap) + "</FCZDXH>"); | ||
| 352 | sf.append("<FCZDBM>"+scheduleRealInfo.getQdzCode()+"</FCZDBM>"); | 378 | sf.append("<FCZDBM>"+scheduleRealInfo.getQdzCode()+"</FCZDBM>"); |
| 353 | sf.append("<JHFCSJ>"+scheduleRealInfo.getFcsj()+"</JHFCSJ>"); | 379 | sf.append("<JHFCSJ>"+scheduleRealInfo.getFcsj()+"</JHFCSJ>"); |
| 354 | sf.append("<DFSJ>"+scheduleRealInfo.getDfsj()+"</DFSJ>"); | 380 | sf.append("<DFSJ>"+scheduleRealInfo.getDfsj()+"</DFSJ>"); |
| 355 | sf.append("<SJFCSJ>"+scheduleRealInfo.getFcsjActual()+"</SJFCSJ>"); | 381 | sf.append("<SJFCSJ>"+scheduleRealInfo.getFcsjActual()+"</SJFCSJ>"); |
| 356 | sf.append("<FCZDLX>"+""+"</FCZDLX>"); | 382 | sf.append("<FCZDLX>"+""+"</FCZDLX>"); |
| 357 | sf.append("<DDZDMC>"+scheduleRealInfo.getZdzName()+"</DDZDMC>"); | 383 | sf.append("<DDZDMC>"+scheduleRealInfo.getZdzName()+"</DDZDMC>"); |
| 358 | - sf.append("<DDZDXH>"+ getYgcStationNumByLineCodeAndDirectionAndStationName( | ||
| 359 | - scheduleRealInfo.getXlBm(), scheduleRealInfo.getXlDir(), scheduleRealInfo.getZdzCode()) +"</DDZDXH>"); | 384 | + // 终点站的参数 |
| 385 | + otherMap.put("stationMark","E"); | ||
| 386 | + paramMap = packageYgcStationNumParam(scheduleRealInfo,otherMap); | ||
| 387 | + sf.append("<DDZDXH>"+ getYgcStationNumByLineCodeAndDirectionAndStationName(paramMap) +"</DDZDXH>"); | ||
| 360 | sf.append("<DDZDBM>"+scheduleRealInfo.getZdzCode()+"</DDZDBM>"); | 388 | sf.append("<DDZDBM>"+scheduleRealInfo.getZdzCode()+"</DDZDBM>"); |
| 361 | sf.append("<JHDDSJ>"+scheduleRealInfo.getZdsj()+"</JHDDSJ>"); | 389 | sf.append("<JHDDSJ>"+scheduleRealInfo.getZdsj()+"</JHDDSJ>"); |
| 362 | sf.append("<SJDDSJ>"+scheduleRealInfo.getZdsjActual()+"</SJDDSJ>"); | 390 | sf.append("<SJDDSJ>"+scheduleRealInfo.getZdsjActual()+"</SJDDSJ>"); |
| @@ -650,6 +678,8 @@ public class TrafficManageServiceImpl implements TrafficManageService{ | @@ -650,6 +678,8 @@ public class TrafficManageServiceImpl implements TrafficManageService{ | ||
| 650 | List<SchedulePlanInfo> schedulePlanList = schedulePlanInfoRepository.findLineScheduleBc(tomorrow); | 678 | List<SchedulePlanInfo> schedulePlanList = schedulePlanInfoRepository.findLineScheduleBc(tomorrow); |
| 651 | int j = 0; // 初始化标识 | 679 | int j = 0; // 初始化标识 |
| 652 | if(schedulePlanList != null ){ | 680 | if(schedulePlanList != null ){ |
| 681 | + HashMap<String,String> paramMap; | ||
| 682 | + HashMap<String,String> otherMap = new HashMap<String, String>(); | ||
| 653 | int size = schedulePlanList.size(); | 683 | int size = schedulePlanList.size(); |
| 654 | for (int i = 0; i < size; i++) { | 684 | for (int i = 0; i < size; i++) { |
| 655 | schedulePlanInfo = schedulePlanList.get(i); | 685 | schedulePlanInfo = schedulePlanList.get(i); |
| @@ -676,12 +706,16 @@ public class TrafficManageServiceImpl implements TrafficManageService{ | @@ -676,12 +706,16 @@ public class TrafficManageServiceImpl implements TrafficManageService{ | ||
| 676 | sBuffer.append("<SJGH>").append(schedulePlanInfo.getjGh()).append("</SJGH>"); | 706 | sBuffer.append("<SJGH>").append(schedulePlanInfo.getjGh()).append("</SJGH>"); |
| 677 | sBuffer.append("<SXX>").append(schedulePlanInfo.getXlDir()).append("</SXX>"); | 707 | sBuffer.append("<SXX>").append(schedulePlanInfo.getXlDir()).append("</SXX>"); |
| 678 | sBuffer.append("<FCZDMC>").append(schedulePlanInfo.getQdzName()).append("</FCZDMC>"); | 708 | sBuffer.append("<FCZDMC>").append(schedulePlanInfo.getQdzName()).append("</FCZDMC>"); |
| 679 | - sBuffer.append("<ZDXH>").append(getYgcStationNumByLineCodeAndDirectionAndStationName( | ||
| 680 | - schedulePlanInfo.getXlBm(), schedulePlanInfo.getXlDir(), schedulePlanInfo.getQdzCode())).append("</ZDXH>"); | 709 | + // 起点站的参数 |
| 710 | + otherMap.put("stationMark","B"); | ||
| 711 | + paramMap = packageYgcStationNumParam(schedulePlanInfo,otherMap); | ||
| 712 | + sBuffer.append("<ZDXH>").append(getYgcStationNumByLineCodeAndDirectionAndStationName(paramMap)).append("</ZDXH>"); | ||
| 681 | sBuffer.append("<JHFCSJ>").append(schedulePlanInfo.getFcsj()).append("</JHFCSJ>"); | 713 | sBuffer.append("<JHFCSJ>").append(schedulePlanInfo.getFcsj()).append("</JHFCSJ>"); |
| 682 | sBuffer.append("<DDZDMC>").append(schedulePlanInfo.getZdzName()).append("</DDZDMC>"); | 714 | sBuffer.append("<DDZDMC>").append(schedulePlanInfo.getZdzName()).append("</DDZDMC>"); |
| 683 | - sBuffer.append("<DDXH>").append(getYgcStationNumByLineCodeAndDirectionAndStationName( | ||
| 684 | - schedulePlanInfo.getXlBm(), schedulePlanInfo.getXlDir(), schedulePlanInfo.getZdzCode())).append("</DDXH>"); | 715 | + // 起点站的参数 |
| 716 | + otherMap.put("stationMark","E"); | ||
| 717 | + paramMap = packageYgcStationNumParam(schedulePlanInfo,otherMap); | ||
| 718 | + sBuffer.append("<DDXH>").append(getYgcStationNumByLineCodeAndDirectionAndStationName(paramMap)).append("</DDXH>"); | ||
| 685 | sBuffer.append("<JHDDSJ>").append(calcDdsj(schedulePlanInfo.getFcsj(),schedulePlanInfo.getBcsj())) | 719 | sBuffer.append("<JHDDSJ>").append(calcDdsj(schedulePlanInfo.getFcsj(),schedulePlanInfo.getBcsj())) |
| 686 | .append("</JHDDSJ>"); | 720 | .append("</JHDDSJ>"); |
| 687 | sBuffer.append("</BC>"); | 721 | sBuffer.append("</BC>"); |
| @@ -737,16 +771,20 @@ public class TrafficManageServiceImpl implements TrafficManageService{ | @@ -737,16 +771,20 @@ public class TrafficManageServiceImpl implements TrafficManageService{ | ||
| 737 | String[] idArray = ids.split(","); | 771 | String[] idArray = ids.split(","); |
| 738 | StringBuffer sBufferA; | 772 | StringBuffer sBufferA; |
| 739 | StringBuffer sBufferB; | 773 | StringBuffer sBufferB; |
| 774 | + // 上传的时刻表集合 | ||
| 775 | + List<TTInfo> ttinfoList = new ArrayList<>(); | ||
| 740 | TTInfo ttInfo; | 776 | TTInfo ttInfo; |
| 741 | TTInfoDetail ttInfoDetail; | 777 | TTInfoDetail ttInfoDetail; |
| 742 | Iterator<TTInfoDetail> ttInfoDetailIterator; | 778 | Iterator<TTInfoDetail> ttInfoDetailIterator; |
| 743 | HashMap<String,Object> param = new HashMap<String, Object>(); | 779 | HashMap<String,Object> param = new HashMap<String, Object>(); |
| 744 | - String lineCode ; | ||
| 745 | sBuffer.append("<SKBs>"); | 780 | sBuffer.append("<SKBs>"); |
| 781 | + HashMap<String,String> paramMap; | ||
| 782 | + HashMap<String,String> otherMap = new HashMap<String, String>(); | ||
| 746 | for (int i = 0; i < idArray.length; i++) { | 783 | for (int i = 0; i < idArray.length; i++) { |
| 747 | ttInfo = ttInfoRepository.findOne(Long.valueOf(idArray[i])); | 784 | ttInfo = ttInfoRepository.findOne(Long.valueOf(idArray[i])); |
| 748 | if(ttInfo == null) | 785 | if(ttInfo == null) |
| 749 | continue; | 786 | continue; |
| 787 | + ttinfoList.add(ttInfo); // 保存时刻表 | ||
| 750 | param.put("ttinfo.id_eq", ttInfo.getId()); | 788 | param.put("ttinfo.id_eq", ttInfo.getId()); |
| 751 | ttInfoDetailIterator = ttInfoDetailRepository.findAll(new CustomerSpecs<TTInfoDetail>(param), | 789 | ttInfoDetailIterator = ttInfoDetailRepository.findAll(new CustomerSpecs<TTInfoDetail>(param), |
| 752 | new Sort(Direction.ASC, "xlDir")).iterator(); | 790 | new Sort(Direction.ASC, "xlDir")).iterator(); |
| @@ -774,7 +812,6 @@ public class TrafficManageServiceImpl implements TrafficManageService{ | @@ -774,7 +812,6 @@ public class TrafficManageServiceImpl implements TrafficManageService{ | ||
| 774 | sBufferA.append("<JHYYLC>").append(ttInfoDetail.getJhlc()).append("</JHYYLC>"); | 812 | sBufferA.append("<JHYYLC>").append(ttInfoDetail.getJhlc()).append("</JHYYLC>"); |
| 775 | sBuffer.append(sBufferA).append(sBufferB); | 813 | sBuffer.append(sBufferA).append(sBufferB); |
| 776 | } | 814 | } |
| 777 | - lineCode = ttInfoDetail.getXl().getLineCode(); | ||
| 778 | // 如果发车时间格式错误,忽略此条 | 815 | // 如果发车时间格式错误,忽略此条 |
| 779 | if(changeTimeFormat(ttInfoDetail) == null){ | 816 | if(changeTimeFormat(ttInfoDetail) == null){ |
| 780 | continue; | 817 | continue; |
| @@ -783,12 +820,16 @@ public class TrafficManageServiceImpl implements TrafficManageService{ | @@ -783,12 +820,16 @@ public class TrafficManageServiceImpl implements TrafficManageService{ | ||
| 783 | sBuffer.append("<LPBH>").append(ttInfoDetail.getLp().getLpNo()).append("</LPBH>"); | 820 | sBuffer.append("<LPBH>").append(ttInfoDetail.getLp().getLpNo()).append("</LPBH>"); |
| 784 | sBuffer.append("<SXX>").append(ttInfoDetail.getXlDir()).append("</SXX>"); | 821 | sBuffer.append("<SXX>").append(ttInfoDetail.getXlDir()).append("</SXX>"); |
| 785 | sBuffer.append("<FCZDMC>").append(ttInfoDetail.getQdz().getStationName()).append("</FCZDMC>"); | 822 | sBuffer.append("<FCZDMC>").append(ttInfoDetail.getQdz().getStationName()).append("</FCZDMC>"); |
| 786 | - sBuffer.append("<ZDXH>").append(getYgcStationNumByLineCodeAndDirectionAndStationName( | ||
| 787 | - lineCode, ttInfoDetail.getXlDir(), ttInfoDetail.getQdz().getStationCod())).append("</ZDXH>"); | 823 | + // 起点站的参数 |
| 824 | + otherMap.put("stationMark","B"); | ||
| 825 | + paramMap = packageYgcStationNumParam(ttInfoDetail,otherMap); | ||
| 826 | + sBuffer.append("<ZDXH>").append(getYgcStationNumByLineCodeAndDirectionAndStationName(paramMap)).append("</ZDXH>"); | ||
| 788 | sBuffer.append("<JHFCSJ>").append(changeTimeFormat(ttInfoDetail)).append("</JHFCSJ>"); | 827 | sBuffer.append("<JHFCSJ>").append(changeTimeFormat(ttInfoDetail)).append("</JHFCSJ>"); |
| 789 | sBuffer.append("<DDZDMC>").append(ttInfoDetail.getZdz().getStationName()).append("</DDZDMC>"); | 828 | sBuffer.append("<DDZDMC>").append(ttInfoDetail.getZdz().getStationName()).append("</DDZDMC>"); |
| 790 | - sBuffer.append("<DDXH>").append(getYgcStationNumByLineCodeAndDirectionAndStationName( | ||
| 791 | - lineCode, ttInfoDetail.getXlDir(), ttInfoDetail.getZdz().getStationCod())).append("</DDXH>"); | 829 | + // 起点站的参数 |
| 830 | + otherMap.put("stationMark","E"); | ||
| 831 | + paramMap = packageYgcStationNumParam(ttInfoDetail,otherMap); | ||
| 832 | + sBuffer.append("<DDXH>").append(getYgcStationNumByLineCodeAndDirectionAndStationName(paramMap)).append("</DDXH>"); | ||
| 792 | sBuffer.append("<JHDDSJ>").append(calcDdsj(ttInfoDetail.getFcsj(),ttInfoDetail.getBcsj())).append("</JHDDSJ>"); | 833 | sBuffer.append("<JHDDSJ>").append(calcDdsj(ttInfoDetail.getFcsj(),ttInfoDetail.getBcsj())).append("</JHDDSJ>"); |
| 793 | sBuffer.append("</BC>"); | 834 | sBuffer.append("</BC>"); |
| 794 | } | 835 | } |
| @@ -799,6 +840,15 @@ public class TrafficManageServiceImpl implements TrafficManageService{ | @@ -799,6 +840,15 @@ public class TrafficManageServiceImpl implements TrafficManageService{ | ||
| 799 | sBuffer.append("</SKBs>"); | 840 | sBuffer.append("</SKBs>"); |
| 800 | if(ssop.setSKB(userNameOther, passwordOther, sBuffer.toString()).isSuccess()){ | 841 | if(ssop.setSKB(userNameOther, passwordOther, sBuffer.toString()).isSuccess()){ |
| 801 | result = "success"; | 842 | result = "success"; |
| 843 | + SKBUploadLogger skbUploadLogger ; | ||
| 844 | + SysUser user = SecurityUtils.getCurrentUser(); | ||
| 845 | + // 保存时刻表上传记录 | ||
| 846 | + for(TTInfo ttInfo1 : ttinfoList){ | ||
| 847 | + skbUploadLogger = new SKBUploadLogger(); | ||
| 848 | + skbUploadLogger.setTtInfo(ttInfo1); | ||
| 849 | + skbUploadLogger.setUser(user); | ||
| 850 | + skbUploadLoggerRepository.save(skbUploadLogger); | ||
| 851 | + } | ||
| 802 | } | 852 | } |
| 803 | } catch (Exception e) { | 853 | } catch (Exception e) { |
| 804 | logger.error("setSKB:", e); | 854 | logger.error("setSKB:", e); |
| @@ -1136,6 +1186,7 @@ public class TrafficManageServiceImpl implements TrafficManageService{ | @@ -1136,6 +1186,7 @@ public class TrafficManageServiceImpl implements TrafficManageService{ | ||
| 1136 | private int packagStationXml(List<StationRoute> stationsList,StringBuffer sBuffer,int startId){ | 1186 | private int packagStationXml(List<StationRoute> stationsList,StringBuffer sBuffer,int startId){ |
| 1137 | int size = stationsList.size(); | 1187 | int size = stationsList.size(); |
| 1138 | StationRoute srRoute; | 1188 | StationRoute srRoute; |
| 1189 | + HashMap<String,String> paraMap; | ||
| 1139 | String zdlx ;// 站点类型:0:起点站、1:终点站、2:中途站 | 1190 | String zdlx ;// 站点类型:0:起点站、1:终点站、2:中途站 |
| 1140 | for (int i = 0; i < size; i++) { | 1191 | for (int i = 0; i < size; i++) { |
| 1141 | srRoute = stationsList.get(i); | 1192 | srRoute = stationsList.get(i); |
| @@ -1147,10 +1198,11 @@ public class TrafficManageServiceImpl implements TrafficManageService{ | @@ -1147,10 +1198,11 @@ public class TrafficManageServiceImpl implements TrafficManageService{ | ||
| 1147 | }else{ | 1198 | }else{ |
| 1148 | zdlx = "2"; | 1199 | zdlx = "2"; |
| 1149 | } | 1200 | } |
| 1201 | + paraMap = packageYgcStationNumParam(srRoute,null); | ||
| 1150 | sBuffer.append("<Station>"); | 1202 | sBuffer.append("<Station>"); |
| 1151 | - sBuffer.append("<STATION_ID>").append(getYgcStationNumByLineCodeAndDirectionAndStationName(srRoute.getLineCode(),srRoute.getDirections()+"",srRoute.getStationCode())).append("</STATION_ID>"); | 1203 | + sBuffer.append("<STATION_ID>").append(getYgcStationNumByLineCodeAndDirectionAndStationName(paraMap)).append("</STATION_ID>"); |
| 1152 | sBuffer.append("<UPDDOWN>").append(srRoute.getDirections()).append("</UPDDOWN>"); | 1204 | sBuffer.append("<UPDDOWN>").append(srRoute.getDirections()).append("</UPDDOWN>"); |
| 1153 | - sBuffer.append("<STATION_NO>").append(getYgcStationNumByLineCodeAndDirectionAndStationName(srRoute.getLineCode(),srRoute.getDirections()+"",srRoute.getStationCode())).append("</STATION_NO>"); | 1205 | + sBuffer.append("<STATION_NO>").append(i).append("</STATION_NO>"); |
| 1154 | sBuffer.append("<STATION_CODE>").append(srRoute.getStationCode()).append("</STATION_CODE>"); | 1206 | sBuffer.append("<STATION_CODE>").append(srRoute.getStationCode()).append("</STATION_CODE>"); |
| 1155 | sBuffer.append("<STATION_NAME>").append(srRoute.getStationName()).append("</STATION_NAME>"); | 1207 | sBuffer.append("<STATION_NAME>").append(srRoute.getStationName()).append("</STATION_NAME>"); |
| 1156 | sBuffer.append("<STATION_LON>").append(srRoute.getStation().getgLonx()).append("</STATION_LON>"); | 1208 | sBuffer.append("<STATION_LON>").append(srRoute.getStation().getgLonx()).append("</STATION_LON>"); |
| @@ -1173,6 +1225,7 @@ public class TrafficManageServiceImpl implements TrafficManageService{ | @@ -1173,6 +1225,7 @@ public class TrafficManageServiceImpl implements TrafficManageService{ | ||
| 1173 | private int packagStationPointXml(List<StationRoute> stationsList,StringBuffer sBuffer,int startId){ | 1225 | private int packagStationPointXml(List<StationRoute> stationsList,StringBuffer sBuffer,int startId){ |
| 1174 | int size = stationsList.size(); | 1226 | int size = stationsList.size(); |
| 1175 | StationRoute srRoute; | 1227 | StationRoute srRoute; |
| 1228 | + HashMap<String,String> paraMap; | ||
| 1176 | String zdlx ;// 站点类型:0:起点站、1:终点站、2:中途站 | 1229 | String zdlx ;// 站点类型:0:起点站、1:终点站、2:中途站 |
| 1177 | for (int i = 0; i < size; i++) { | 1230 | for (int i = 0; i < size; i++) { |
| 1178 | srRoute = stationsList.get(i); | 1231 | srRoute = stationsList.get(i); |
| @@ -1184,8 +1237,9 @@ public class TrafficManageServiceImpl implements TrafficManageService{ | @@ -1184,8 +1237,9 @@ public class TrafficManageServiceImpl implements TrafficManageService{ | ||
| 1184 | }else{ | 1237 | }else{ |
| 1185 | zdlx = "2"; | 1238 | zdlx = "2"; |
| 1186 | } | 1239 | } |
| 1240 | + paraMap = packageYgcStationNumParam(srRoute,null); | ||
| 1187 | sBuffer.append("<Point>"); | 1241 | sBuffer.append("<Point>"); |
| 1188 | - sBuffer.append("<POINT_ID>").append(getYgcStationNumByLineCodeAndDirectionAndStationName(srRoute.getLineCode(),srRoute.getDirections()+"",srRoute.getStationCode())).append("</POINT_ID>"); | 1242 | + sBuffer.append("<POINT_ID>").append(getYgcStationNumByLineCodeAndDirectionAndStationName(paraMap)).append("</POINT_ID>"); |
| 1189 | sBuffer.append("<UPDDOWN>").append(srRoute.getDirections()).append("</UPDDOWN>"); | 1243 | sBuffer.append("<UPDDOWN>").append(srRoute.getDirections()).append("</UPDDOWN>"); |
| 1190 | sBuffer.append("<POINTLON>").append(srRoute.getStation().getgLonx()).append("</POINTLON>"); | 1244 | sBuffer.append("<POINTLON>").append(srRoute.getStation().getgLonx()).append("</POINTLON>"); |
| 1191 | sBuffer.append("<POINTLAT>").append(srRoute.getStation().getgLaty()).append("</POINTLAT>"); | 1245 | sBuffer.append("<POINTLAT>").append(srRoute.getStation().getgLaty()).append("</POINTLAT>"); |
| @@ -1196,15 +1250,94 @@ public class TrafficManageServiceImpl implements TrafficManageService{ | @@ -1196,15 +1250,94 @@ public class TrafficManageServiceImpl implements TrafficManageService{ | ||
| 1196 | } | 1250 | } |
| 1197 | 1251 | ||
| 1198 | /** | 1252 | /** |
| 1199 | - * | ||
| 1200 | - * @param lineCode 线路编码 | ||
| 1201 | - * @param direction 线路方向 | ||
| 1202 | - * @param stationCode 让点名称 | 1253 | + * 获取运管处站点序号 |
| 1254 | + * @param map | ||
| 1203 | * @return 运管处站点序号 | 1255 | * @return 运管处站点序号 |
| 1204 | */ | 1256 | */ |
| 1205 | - private Integer getYgcStationNumByLineCodeAndDirectionAndStationName(String lineCode,String direction,String stationCode){ | ||
| 1206 | - Integer number = 0; | ||
| 1207 | - number = BasicData.stationName2YgcNumber.get(lineCode+"_"+direction+"_"+stationCode); | 1257 | + private Integer getYgcStationNumByLineCodeAndDirectionAndStationName(HashMap<String,String> map){ |
| 1258 | + // 线路编码 | ||
| 1259 | + String lineCode = map.get("lineCode"); | ||
| 1260 | + // 线路走向 0:上行 1:下行 | ||
| 1261 | + String direction = map.get("direction"); | ||
| 1262 | + // 站点编码 | ||
| 1263 | + String stationCode = map.get("stationCode"); | ||
| 1264 | + // 站点类型:B:起点站 Z:中途站 E:终点站 T:停车场 | ||
| 1265 | + String stationMark = map.get("stationMark"); | ||
| 1266 | + String[] marks = null; | ||
| 1267 | + // 起点站,先从起点找,找不到再从中途站找,最后从终点找 | ||
| 1268 | + if(stationMark.equals("B")){ | ||
| 1269 | + marks= new String[]{"B","Z","E"}; | ||
| 1270 | + }else if(stationMark.equals("E")){// 终点站相反 | ||
| 1271 | + marks= new String[]{"E","Z","B"}; | ||
| 1272 | + }else if(stationMark.equals("Z")){ | ||
| 1273 | + marks= new String[]{"Z"}; | ||
| 1274 | + } | ||
| 1275 | + Integer number = null; | ||
| 1276 | + for (int i = 0 ;i < marks.length ; i ++){ | ||
| 1277 | + number = BasicData.stationName2YgcNumber.get(lineCode+"_"+direction+"_"+stationCode+"_"+marks[i]); | ||
| 1278 | + if(number != null){ | ||
| 1279 | + break; | ||
| 1280 | + } | ||
| 1281 | + } | ||
| 1208 | return number == null ? 0 : number; | 1282 | return number == null ? 0 : number; |
| 1209 | } | 1283 | } |
| 1284 | + | ||
| 1285 | + /** | ||
| 1286 | + * 封装查询站序条件 | ||
| 1287 | + * @param obj | ||
| 1288 | + * @return | ||
| 1289 | + */ | ||
| 1290 | + private HashMap packageYgcStationNumParam(Object obj,HashMap<String,String> otherParam){ | ||
| 1291 | + HashMap<String,String> map = new HashMap<String,String>(); | ||
| 1292 | + String lineCode = "",direction = "",stationCode = "",stationMark = ""; | ||
| 1293 | + // 站点路由 | ||
| 1294 | + if(obj instanceof StationRoute){ | ||
| 1295 | + StationRoute sr = (StationRoute)obj; | ||
| 1296 | + lineCode = sr.getLineCode(); | ||
| 1297 | + direction = String.valueOf(sr.getDirections()); | ||
| 1298 | + stationCode = sr.getStationCode(); | ||
| 1299 | + stationMark = sr.getStationMark(); | ||
| 1300 | + }else if(obj instanceof ScheduleRealInfo){ //实际排班计划明细。 | ||
| 1301 | + ScheduleRealInfo sri = (ScheduleRealInfo)obj; | ||
| 1302 | + lineCode = sri.getXlBm(); | ||
| 1303 | + direction = sri.getXlDir(); | ||
| 1304 | + if(otherParam != null && otherParam.get("stationMark") != null){ | ||
| 1305 | + stationMark = otherParam.get("stationMark"); | ||
| 1306 | + if(stationMark.equals("B")){ // 起点站 | ||
| 1307 | + stationCode = sri.getQdzCode(); | ||
| 1308 | + }else if(stationMark.equals("E")){ // 终点站 | ||
| 1309 | + stationCode = sri.getZdzCode(); | ||
| 1310 | + } | ||
| 1311 | + } | ||
| 1312 | + }else if(obj instanceof SchedulePlanInfo){ //排班计划明细 | ||
| 1313 | + SchedulePlanInfo spi = (SchedulePlanInfo)obj; | ||
| 1314 | + lineCode = spi.getXlBm(); | ||
| 1315 | + direction = spi.getXlDir(); | ||
| 1316 | + if(otherParam != null && otherParam.get("stationMark") != null){ | ||
| 1317 | + stationMark = otherParam.get("stationMark"); | ||
| 1318 | + if(stationMark.equals("B")){ // 起点站 | ||
| 1319 | + stationCode = spi.getQdzCode(); | ||
| 1320 | + }else if(stationMark.equals("E")){ // 终点站 | ||
| 1321 | + stationCode = spi.getZdzCode(); | ||
| 1322 | + } | ||
| 1323 | + } | ||
| 1324 | + }else if(obj instanceof TTInfoDetail){ //时刻表明细 | ||
| 1325 | + TTInfoDetail ttid = (TTInfoDetail)obj; | ||
| 1326 | + lineCode = ttid.getXl().getLineCode(); | ||
| 1327 | + direction = ttid.getXlDir(); | ||
| 1328 | + if(otherParam != null && otherParam.get("stationMark") != null){ | ||
| 1329 | + stationMark = otherParam.get("stationMark"); | ||
| 1330 | + if(stationMark.equals("B")){ // 起点站 | ||
| 1331 | + stationCode = ttid.getQdz().getStationCod(); | ||
| 1332 | + }else if(stationMark.equals("E")){ // 终点站 | ||
| 1333 | + stationCode = ttid.getZdz().getStationCod(); | ||
| 1334 | + } | ||
| 1335 | + } | ||
| 1336 | + } | ||
| 1337 | + map.put("lineCode",lineCode);// 站点编码 | ||
| 1338 | + map.put("direction",direction); // 上下行 | ||
| 1339 | + map.put("stationCode",stationCode); // 站点编号 | ||
| 1340 | + map.put("stationMark",stationMark); // 站点类型 | ||
| 1341 | + return map; | ||
| 1342 | + } | ||
| 1210 | } | 1343 | } |
src/main/java/com/bsth/service/oil/YlbService.java
| @@ -19,7 +19,7 @@ public interface YlbService extends BaseService<Ylb, Integer>{ | @@ -19,7 +19,7 @@ public interface YlbService extends BaseService<Ylb, Integer>{ | ||
| 19 | 19 | ||
| 20 | Map<String, Object> sumYlb(Map<String, Object> map); | 20 | Map<String, Object> sumYlb(Map<String, Object> map); |
| 21 | String checkJsy(Map<String, Object> map); | 21 | String checkJsy(Map<String, Object> map); |
| 22 | - List<Ylb> oilListMonth(String line,String date); | 22 | + List<Ylb> oilListMonth(String line,String date,String type); |
| 23 | List<Ylb> listYlb(Map<String, Object> map); | 23 | List<Ylb> listYlb(Map<String, Object> map); |
| 24 | StringBuffer checkNbmmNum(String rq, String gsbm,String fgsbm,String xlbm,String nbbm,int lx); | 24 | StringBuffer checkNbmmNum(String rq, String gsbm,String fgsbm,String xlbm,String nbbm,int lx); |
| 25 | 25 |
src/main/java/com/bsth/service/oil/impl/CwjyServiceImpl.java
| @@ -315,7 +315,7 @@ public class CwjyServiceImpl extends BaseServiceImpl<Cwjy,Integer> implements Cw | @@ -315,7 +315,7 @@ public class CwjyServiceImpl extends BaseServiceImpl<Cwjy,Integer> implements Cw | ||
| 315 | return t; | 315 | return t; |
| 316 | } | 316 | } |
| 317 | }); | 317 | }); |
| 318 | - List<Ylxxb> list= ylxxbRepository.checkYlxx(rq, gsdm); | 318 | + /*List<Ylxxb> list= ylxxbRepository.checkYlxx(rq, gsdm); |
| 319 | for (int i = 0; i < yList.size(); i++) { | 319 | for (int i = 0; i < yList.size(); i++) { |
| 320 | Ylxxb t=yList.get(i); | 320 | Ylxxb t=yList.get(i); |
| 321 | Double zjzl=0.0; | 321 | Double zjzl=0.0; |
| @@ -327,7 +327,7 @@ public class CwjyServiceImpl extends BaseServiceImpl<Cwjy,Integer> implements Cw | @@ -327,7 +327,7 @@ public class CwjyServiceImpl extends BaseServiceImpl<Cwjy,Integer> implements Cw | ||
| 327 | 327 | ||
| 328 | } | 328 | } |
| 329 | t.setZjzl(zjzl); | 329 | t.setZjzl(zjzl); |
| 330 | - } | 330 | + }*/ |
| 331 | return yList; | 331 | return yList; |
| 332 | } | 332 | } |
| 333 | 333 |
src/main/java/com/bsth/service/oil/impl/YlbServiceImpl.java
| @@ -31,6 +31,7 @@ import com.bsth.common.ResponseCode; | @@ -31,6 +31,7 @@ import com.bsth.common.ResponseCode; | ||
| 31 | import com.bsth.data.BasicData; | 31 | import com.bsth.data.BasicData; |
| 32 | import com.bsth.entity.Cars; | 32 | import com.bsth.entity.Cars; |
| 33 | import com.bsth.entity.Line; | 33 | import com.bsth.entity.Line; |
| 34 | +import com.bsth.entity.mcy_forms.Daily; | ||
| 34 | import com.bsth.entity.oil.Cyl; | 35 | import com.bsth.entity.oil.Cyl; |
| 35 | import com.bsth.entity.oil.Ylb; | 36 | import com.bsth.entity.oil.Ylb; |
| 36 | import com.bsth.entity.oil.Ylxxb; | 37 | import com.bsth.entity.oil.Ylxxb; |
| @@ -44,6 +45,7 @@ import com.bsth.service.oil.YlbService; | @@ -44,6 +45,7 @@ import com.bsth.service.oil.YlbService; | ||
| 44 | import com.bsth.service.realcontrol.ScheduleRealInfoService; | 45 | import com.bsth.service.realcontrol.ScheduleRealInfoService; |
| 45 | import com.bsth.util.Arith; | 46 | import com.bsth.util.Arith; |
| 46 | import com.bsth.util.BatchSaveUtils; | 47 | import com.bsth.util.BatchSaveUtils; |
| 48 | +import com.bsth.util.ReportUtils; | ||
| 47 | import com.github.abel533.echarts.code.Y; | 49 | import com.github.abel533.echarts.code.Y; |
| 48 | 50 | ||
| 49 | @Service | 51 | @Service |
| @@ -100,7 +102,8 @@ public class YlbServiceImpl extends BaseServiceImpl<Ylb,Integer> implements YlbS | @@ -100,7 +102,8 @@ public class YlbServiceImpl extends BaseServiceImpl<Ylb,Integer> implements YlbS | ||
| 100 | // TODO Auto-generated method stub | 102 | // TODO Auto-generated method stub |
| 101 | Map<String, Object> newMap=new HashMap<String,Object>(); | 103 | Map<String, Object> newMap=new HashMap<String,Object>(); |
| 102 | //当天YLB信息 | 104 | //当天YLB信息 |
| 103 | - List<Ylb> ylList=repository.obtainYl(rq,"","","","","nbbm"); | 105 | +// List<Ylb> ylList=repository.obtainYl(rq,"","","","","nbbm"); |
| 106 | + List<Ylb> ylList=this.listOrderBy(rq,"","","","","nbbm"); | ||
| 104 | //当天YLXXB信息 | 107 | //当天YLXXB信息 |
| 105 | // List<Ylxxb> ylxxList=ylxxbRepository.obtainYlxx(rq); | 108 | // List<Ylxxb> ylxxList=ylxxbRepository.obtainYlxx(rq); |
| 106 | //前一天所有车辆最后进场班次信息 | 109 | //前一天所有车辆最后进场班次信息 |
| @@ -258,7 +261,8 @@ public class YlbServiceImpl extends BaseServiceImpl<Ylb,Integer> implements YlbS | @@ -258,7 +261,8 @@ public class YlbServiceImpl extends BaseServiceImpl<Ylb,Integer> implements YlbS | ||
| 258 | DecimalFormat df = new DecimalFormat("#.00"); | 261 | DecimalFormat df = new DecimalFormat("#.00"); |
| 259 | // TODO Auto-generated method stub | 262 | // TODO Auto-generated method stub |
| 260 | // 当天YLB信息 | 263 | // 当天YLB信息 |
| 261 | - List<Ylb> ylList = repository.obtainYl(rq,gsbm,fgsbm,line,nbbm,"nbbm"); | 264 | + List<Ylb> ylList = this.listOrderBy(rq,gsbm,fgsbm,line,nbbm,"nbbm"); |
| 265 | +// repository.obtainYl(rq,gsbm,fgsbm,line,nbbm,"nbbm"); | ||
| 262 | // 当天YLXXB信息 | 266 | // 当天YLXXB信息 |
| 263 | List<Ylxxb> ylxxList = ylxxbRepository.obtainYlxx(rq, 0,gsbm); | 267 | List<Ylxxb> ylxxList = ylxxbRepository.obtainYlxx(rq, 0,gsbm); |
| 264 | // 前一天所有车辆最后进场班次信息 | 268 | // 前一天所有车辆最后进场班次信息 |
| @@ -376,18 +380,42 @@ public class YlbServiceImpl extends BaseServiceImpl<Ylb,Integer> implements YlbS | @@ -376,18 +380,42 @@ public class YlbServiceImpl extends BaseServiceImpl<Ylb,Integer> implements YlbS | ||
| 376 | if(ylMap.get(map.get("clZbh").toString()+"_"+ map.get("jGh").toString())!=null){ | 380 | if(ylMap.get(map.get("clZbh").toString()+"_"+ map.get("jGh").toString())!=null){ |
| 377 | 381 | ||
| 378 | }else{ | 382 | }else{ |
| 379 | - // 把当天的YLXXB的加注量设置为当天YLB的加注量(根据车号,驾驶员判断) | ||
| 380 | - for (int j = 0; j < ylxxList.size(); j++) { | ||
| 381 | - Ylxxb ylxxb = ylxxList.get(j); | 383 | + boolean fage2=false; |
| 384 | + for (int i = 0; i < ylxxList.size(); i++) { | ||
| 385 | + Ylxxb ylxxb = ylxxList.get(i); | ||
| 382 | if (map.get("clZbh").toString().equals(ylxxb.getNbbm()) | 386 | if (map.get("clZbh").toString().equals(ylxxb.getNbbm()) |
| 383 | - && map.get("jGh").toString().equals(ylxxb.getJsy())) { | ||
| 384 | - jzl =Arith.add(jzl, ylxxb.getJzl()); | 387 | + && ylxxb.getJylx()==1) { |
| 388 | + if(ylxxb.getJzl()>0){ | ||
| 389 | + fage2=true; | ||
| 390 | + } | ||
| 391 | + | ||
| 385 | } | 392 | } |
| 386 | } | 393 | } |
| 387 | - ylMap.put(map.get("clZbh").toString()+"_"+ map.get("jGh").toString(),map.get("xlBm") == null ? "" : map.get("xlBm").toString()); | 394 | + //车辆的加注量如果有任工干预,略接口过来 数据 |
| 395 | + if(fage2){ | ||
| 396 | + // 把当天手工输入的的YLXXB的加注量设置为当天YLB的加注量(根据车号,驾驶员判断,加油类型为1) | ||
| 397 | + for (int j = 0; j < ylxxList.size(); j++) { | ||
| 398 | + Ylxxb ylxxb = ylxxList.get(j); | ||
| 399 | + if (map.get("clZbh").toString().equals(ylxxb.getNbbm()) | ||
| 400 | + && map.get("jGh").toString().equals(ylxxb.getJsy()) | ||
| 401 | + && ylxxb.getJylx()==1) { | ||
| 402 | + jzl =Arith.add(jzl, ylxxb.getJzl()); | ||
| 403 | + } | ||
| 404 | + } | ||
| 405 | + ylMap.put(map.get("clZbh").toString()+"_"+ map.get("jGh").toString(),map.get("xlBm") == null ? "" : map.get("xlBm").toString()); | ||
| 406 | + }else{ | ||
| 407 | + // 把当天的YLXXB的加注量设置为当天YLB的加注量(根据车号,驾驶员判断) | ||
| 408 | + for (int j = 0; j < ylxxList.size(); j++) { | ||
| 409 | + Ylxxb ylxxb = ylxxList.get(j); | ||
| 410 | + if (map.get("clZbh").toString().equals(ylxxb.getNbbm()) | ||
| 411 | + && map.get("jGh").toString().equals(ylxxb.getJsy())) { | ||
| 412 | + jzl =Arith.add(jzl, ylxxb.getJzl()); | ||
| 413 | + } | ||
| 414 | + } | ||
| 415 | + ylMap.put(map.get("clZbh").toString()+"_"+ map.get("jGh").toString(),map.get("xlBm") == null ? "" : map.get("xlBm").toString()); | ||
| 416 | + } | ||
| 417 | + | ||
| 388 | } | 418 | } |
| 389 | - | ||
| 390 | - | ||
| 391 | t.setJzl(jzl); | 419 | t.setJzl(jzl); |
| 392 | t.setNbbm(map.get("clZbh").toString()); | 420 | t.setNbbm(map.get("clZbh").toString()); |
| 393 | t.setJsy(map.get("jGh") == null ? "" : map.get("jGh").toString()); | 421 | t.setJsy(map.get("jGh") == null ? "" : map.get("jGh").toString()); |
| @@ -482,13 +510,15 @@ public class YlbServiceImpl extends BaseServiceImpl<Ylb,Integer> implements YlbS | @@ -482,13 +510,15 @@ public class YlbServiceImpl extends BaseServiceImpl<Ylb,Integer> implements YlbS | ||
| 482 | List<Ylb> ylbList =new ArrayList<Ylb>(); | 510 | List<Ylb> ylbList =new ArrayList<Ylb>(); |
| 483 | List<Ylb> ylbLists =new ArrayList<Ylb>(); | 511 | List<Ylb> ylbLists =new ArrayList<Ylb>(); |
| 484 | List<Ylb> iterator2=new ArrayList<Ylb>(); | 512 | List<Ylb> iterator2=new ArrayList<Ylb>(); |
| 485 | - if(xlbm.equals("")){ | ||
| 486 | - ylbLists=repository.obtainYl(rq,gsbm,fgsbm,xlbm,nbbm,"jcsx"); | ||
| 487 | - iterator2=repository.obtainYl(rq,gsbm,fgsbm,xlbm,nbbm,"nbbm,jcsx"); | ||
| 488 | - }else{ | ||
| 489 | - ylbLists=repository.obtainYl_eq(rq,gsbm,fgsbm,xlbm,nbbm,"jcsx"); | ||
| 490 | - iterator2=repository.obtainYl_eq(rq,gsbm,fgsbm,xlbm,nbbm,"nbbm,jcsx"); | ||
| 491 | - } | 513 | +// if(xlbm.equals("")){ |
| 514 | + ylbLists=this.listOrderBy(rq,gsbm,fgsbm,xlbm,nbbm,"jcsx"); | ||
| 515 | +// repository.obtainYl(rq,gsbm,fgsbm,xlbm,nbbm,"jcsx"); | ||
| 516 | + iterator2=this.listOrderBy(rq,gsbm,fgsbm,xlbm,nbbm,"nbbm,jcsx"); | ||
| 517 | +// repository.obtainYl(rq,gsbm,fgsbm,xlbm,nbbm,"nbbm,jcsx"); | ||
| 518 | +// }else{ | ||
| 519 | +// ylbLists=repository.obtainYl_eq(rq,gsbm,fgsbm,xlbm,nbbm,"jcsx"); | ||
| 520 | +// iterator2=repository.obtainYl_eq(rq,gsbm,fgsbm,xlbm,nbbm,"nbbm,jcsx"); | ||
| 521 | +// } | ||
| 492 | 522 | ||
| 493 | // 从排班表中计算出行驶的总里程 | 523 | // 从排班表中计算出行驶的总里程 |
| 494 | 524 | ||
| @@ -602,8 +632,14 @@ public class YlbServiceImpl extends BaseServiceImpl<Ylb,Integer> implements YlbS | @@ -602,8 +632,14 @@ public class YlbServiceImpl extends BaseServiceImpl<Ylb,Integer> implements YlbS | ||
| 602 | if(j==iterator2.size()-1){ | 632 | if(j==iterator2.size()-1){ |
| 603 | ylxs=czyl; | 633 | ylxs=czyl; |
| 604 | }else{ | 634 | }else{ |
| 605 | - l=Math.round(nextJzyl); | ||
| 606 | - ylxs=l*100/100; | 635 | +// l=Math.round(nextJzyl); |
| 636 | +// ylxs=l*100/100; | ||
| 637 | + if(iterator2.get(j+1).getNbbm().equals(t.getNbbm())){ | ||
| 638 | + l=Math.round(nextJzyl); | ||
| 639 | + ylxs=l*100/100; | ||
| 640 | + }else{ | ||
| 641 | + ylxs=czyl; | ||
| 642 | + } | ||
| 607 | 643 | ||
| 608 | } | 644 | } |
| 609 | yh=Arith.add(yh, Arith.sub(nextJzyl,ylxs)); | 645 | yh=Arith.add(yh, Arith.sub(nextJzyl,ylxs)); |
| @@ -833,7 +869,8 @@ public class YlbServiceImpl extends BaseServiceImpl<Ylb,Integer> implements YlbS | @@ -833,7 +869,8 @@ public class YlbServiceImpl extends BaseServiceImpl<Ylb,Integer> implements YlbS | ||
| 833 | } | 869 | } |
| 834 | // List<Ylb> ylListBe=repository.obtainYlbefore(rq, gsbm, "", xlbm, nbbm); | 870 | // List<Ylb> ylListBe=repository.obtainYlbefore(rq, gsbm, "", xlbm, nbbm); |
| 835 | List<Ylb> ylListBe=repository.listMaxRqJcsx(rq, gsbm, fgsbm, xlbm, nbbm); | 871 | List<Ylb> ylListBe=repository.listMaxRqJcsx(rq, gsbm, fgsbm, xlbm, nbbm); |
| 836 | - List<Ylb> ylbList=repository.obtainYl(rq,gsbm,fgsbm,xlbm,nbbm,"nbbm"); | 872 | + List<Ylb> ylbList=this.listOrderBy(rq,gsbm,fgsbm,xlbm,nbbm,"nbbm"); |
| 873 | +// repository.obtainYl(rq,gsbm,fgsbm,xlbm,nbbm,"nbbm"); | ||
| 837 | List<Ylxxb> ylxxbList=ylxxbRepository.obtainYlxx(rq,0,gsbm); | 874 | List<Ylxxb> ylxxbList=ylxxbRepository.obtainYlxx(rq,0,gsbm); |
| 838 | for (int i = 0; i < ylxxbList.size(); i++) { | 875 | for (int i = 0; i < ylxxbList.size(); i++) { |
| 839 | Boolean fage=true; | 876 | Boolean fage=true; |
| @@ -913,7 +950,7 @@ public class YlbServiceImpl extends BaseServiceImpl<Ylb,Integer> implements YlbS | @@ -913,7 +950,7 @@ public class YlbServiceImpl extends BaseServiceImpl<Ylb,Integer> implements YlbS | ||
| 913 | 950 | ||
| 914 | 951 | ||
| 915 | @Override | 952 | @Override |
| 916 | - public List<Ylb> oilListMonth(String line, String date) { | 953 | + public List<Ylb> oilListMonth(String line, String date, String type) { |
| 917 | String date2=date.substring(0, 8)+"01"; | 954 | String date2=date.substring(0, 8)+"01"; |
| 918 | String lineStr=""; | 955 | String lineStr=""; |
| 919 | if(line !=null && !line.equals("")){ | 956 | if(line !=null && !line.equals("")){ |
| @@ -943,6 +980,34 @@ public class YlbServiceImpl extends BaseServiceImpl<Ylb,Integer> implements YlbS | @@ -943,6 +980,34 @@ public class YlbServiceImpl extends BaseServiceImpl<Ylb,Integer> implements YlbS | ||
| 943 | return s; | 980 | return s; |
| 944 | } | 981 | } |
| 945 | }); | 982 | }); |
| 983 | + | ||
| 984 | + if(type != null && type.equals("export")){ | ||
| 985 | + SimpleDateFormat sdfMonth = new SimpleDateFormat("yyyy-MM-dd"), | ||
| 986 | + sdfSimple = new SimpleDateFormat("yyyyMMdd"); | ||
| 987 | + | ||
| 988 | + List<Map<String, Object>> mapList = new ArrayList<Map<String, Object>>(); | ||
| 989 | + for(Ylb ylb : list){ | ||
| 990 | + Map<String, Object> m = new HashMap<String, Object>(); | ||
| 991 | + m.put("nbbm", ylb.getNbbm()!=null?ylb.getNbbm():""); | ||
| 992 | + m.put("rq", ylb.getRq()!=null?sdfMonth.format(ylb.getRq()):""); | ||
| 993 | + m.put("jzyl", ylb.getJzyl()!=null?ylb.getJzyl():""); | ||
| 994 | + mapList.add(m); | ||
| 995 | + } | ||
| 996 | + | ||
| 997 | + List<Iterator<?>> listI = new ArrayList<Iterator<?>>(); | ||
| 998 | + Map<String, Object> m = new HashMap<String, Object>(); | ||
| 999 | + ReportUtils ee = new ReportUtils(); | ||
| 1000 | + try { | ||
| 1001 | + listI.add(mapList.iterator()); | ||
| 1002 | + String path = this.getClass().getResource("/").getPath()+"static/pages/forms/"; | ||
| 1003 | + ee.excelReplace(listI, new Object[] { m }, path+"mould/oilListMonth.xls", | ||
| 1004 | + path+"export/月存油报表" + sdfSimple.format(sdfMonth.parse(date)) + ".xls"); | ||
| 1005 | + } catch (Exception e) { | ||
| 1006 | + // TODO: handle exception | ||
| 1007 | + e.printStackTrace(); | ||
| 1008 | + } | ||
| 1009 | + } | ||
| 1010 | + | ||
| 946 | return list; | 1011 | return list; |
| 947 | } | 1012 | } |
| 948 | 1013 | ||
| @@ -1278,8 +1343,10 @@ public class YlbServiceImpl extends BaseServiceImpl<Ylb,Integer> implements YlbS | @@ -1278,8 +1343,10 @@ public class YlbServiceImpl extends BaseServiceImpl<Ylb,Integer> implements YlbS | ||
| 1278 | map.put("nbbm_eq", nbbm_eq); | 1343 | map.put("nbbm_eq", nbbm_eq); |
| 1279 | map.put("rq_eq", rq_eq); | 1344 | map.put("rq_eq", rq_eq); |
| 1280 | 1345 | ||
| 1281 | - List<Ylb> iterator2=repository.obtainYl(sdf.format(rq_eq),ylb.getSsgsdm(),ylb.getFgsdm(),"", | 1346 | + List<Ylb> iterator2=this.listOrderBy(sdf.format(rq_eq),ylb.getSsgsdm(),ylb.getFgsdm(),"", |
| 1282 | ylb.getNbbm(),"jcsx"); | 1347 | ylb.getNbbm(),"jcsx"); |
| 1348 | +// repository.obtainYl(sdf.format(rq_eq),ylb.getSsgsdm(),ylb.getFgsdm(),"", | ||
| 1349 | +// ylb.getNbbm(),"jcsx"); | ||
| 1283 | DecimalFormat df = new DecimalFormat("#.00"); | 1350 | DecimalFormat df = new DecimalFormat("#.00"); |
| 1284 | Double zyl = 0.0; | 1351 | Double zyl = 0.0; |
| 1285 | Double nextJzyl = 0.0; | 1352 | Double nextJzyl = 0.0; |
| @@ -1395,7 +1462,8 @@ public class YlbServiceImpl extends BaseServiceImpl<Ylb,Integer> implements YlbS | @@ -1395,7 +1462,8 @@ public class YlbServiceImpl extends BaseServiceImpl<Ylb,Integer> implements YlbS | ||
| 1395 | t.setCreatetime(new Date()); | 1462 | t.setCreatetime(new Date()); |
| 1396 | String[] jhsjStr = jhsj.split(":"); | 1463 | String[] jhsjStr = jhsj.split(":"); |
| 1397 | long fcsjL= Long.parseLong(jhsjStr[0])*60+Long.parseLong(jhsjStr[1]); | 1464 | long fcsjL= Long.parseLong(jhsjStr[0])*60+Long.parseLong(jhsjStr[1]); |
| 1398 | - List<Ylb> list=repository.obtainYl(rq, gsdm, fgsdm, xlbm, nbbm, "jhsj"); | 1465 | + List<Ylb> list=this.listOrderBy(rq, gsdm, fgsdm, xlbm, nbbm, "jhsj"); |
| 1466 | +// repository.obtainYl(rq, gsdm, fgsdm, xlbm, nbbm, "jhsj"); | ||
| 1399 | int jcsx=1; | 1467 | int jcsx=1; |
| 1400 | if(list.size()>0){ | 1468 | if(list.size()>0){ |
| 1401 | for (int i = 0; i < list.size(); i++) { | 1469 | for (int i = 0; i < list.size(); i++) { |
| @@ -1439,4 +1507,43 @@ public class YlbServiceImpl extends BaseServiceImpl<Ylb,Integer> implements YlbS | @@ -1439,4 +1507,43 @@ public class YlbServiceImpl extends BaseServiceImpl<Ylb,Integer> implements YlbS | ||
| 1439 | } | 1507 | } |
| 1440 | return maps; | 1508 | return maps; |
| 1441 | } | 1509 | } |
| 1510 | + | ||
| 1511 | + public List<Ylb> listOrderBy(String rq,String gsdm, | ||
| 1512 | + String fgsdm,String xlbm,String nbbm, | ||
| 1513 | + String px) { | ||
| 1514 | + // TODO Auto-generated method stub | ||
| 1515 | + String sql="SELECT * FROM bsth_c_ylb " | ||
| 1516 | + + " where to_days('"+rq+"')=to_days(rq) and ssgsdm like '%"+gsdm+"%' " | ||
| 1517 | + + " and fgsdm like '%"+fgsdm+"%'"; | ||
| 1518 | + if(xlbm.equals("")){ | ||
| 1519 | + sql+= " and xlbm like '%"+xlbm+"%' "; | ||
| 1520 | + }else{ | ||
| 1521 | + sql+= " and xlbm = '"+xlbm+"' "; | ||
| 1522 | + } | ||
| 1523 | + | ||
| 1524 | + sql += "and nbbm like '%"+nbbm+"%' order by "+px+" asc "; | ||
| 1525 | + | ||
| 1526 | + List<Ylb> list = jdbcTemplate.query(sql, new RowMapper<Ylb>() { | ||
| 1527 | + @Override | ||
| 1528 | + public Ylb mapRow(ResultSet arg0, int arg1) throws SQLException { | ||
| 1529 | + Ylb y = new Ylb(); | ||
| 1530 | + y.setId(arg0.getInt("id")); | ||
| 1531 | + return y; | ||
| 1532 | + } | ||
| 1533 | + }); | ||
| 1534 | + List<Ylb> lists=new ArrayList<Ylb>(); | ||
| 1535 | + List<Ylb> ylbLists=repository.obtainYl(rq,gsdm,fgsdm,xlbm,nbbm,"jcsx"); | ||
| 1536 | + for (int i = 0; i < list.size(); i++) { | ||
| 1537 | + Ylb t=list.get(i); | ||
| 1538 | + for (int j = 0; j < ylbLists.size(); j++) { | ||
| 1539 | + Ylb t2=ylbLists.get(j); | ||
| 1540 | + if(t.getId().intValue()==t2.getId().intValue()){ | ||
| 1541 | + lists.add(t2); | ||
| 1542 | + break; | ||
| 1543 | + } | ||
| 1544 | + } | ||
| 1545 | + } | ||
| 1546 | + | ||
| 1547 | + return lists; | ||
| 1548 | + } | ||
| 1442 | } | 1549 | } |
src/main/java/com/bsth/service/realcontrol/ScheduleRealInfoService.java
| @@ -2,6 +2,7 @@ package com.bsth.service.realcontrol; | @@ -2,6 +2,7 @@ package com.bsth.service.realcontrol; | ||
| 2 | 2 | ||
| 3 | import com.bsth.controller.realcontrol.dto.ChangePersonCar; | 3 | import com.bsth.controller.realcontrol.dto.ChangePersonCar; |
| 4 | import com.bsth.controller.realcontrol.dto.DfsjChange; | 4 | import com.bsth.controller.realcontrol.dto.DfsjChange; |
| 5 | +import com.bsth.data.schedule.edit_logs.service.dto.SchEditInfoDto; | ||
| 5 | import com.bsth.entity.realcontrol.ScheduleRealInfo; | 6 | import com.bsth.entity.realcontrol.ScheduleRealInfo; |
| 6 | import com.bsth.entity.schedule.SchedulePlanInfo; | 7 | import com.bsth.entity.schedule.SchedulePlanInfo; |
| 7 | import com.bsth.service.BaseService; | 8 | import com.bsth.service.BaseService; |
| @@ -104,7 +105,7 @@ public interface ScheduleRealInfoService extends BaseService<ScheduleRealInfo, L | @@ -104,7 +105,7 @@ public interface ScheduleRealInfoService extends BaseService<ScheduleRealInfo, L | ||
| 104 | List<Map<String,Object>> accountPx(String line,String date,String code,String xlName, String px); | 105 | List<Map<String,Object>> accountPx(String line,String date,String code,String xlName, String px); |
| 105 | 106 | ||
| 106 | 107 | ||
| 107 | - List<ScheduleRealInfo> correctForm(String line,String startDate,String endDate,String lpName,String code, String type); | 108 | + List<SchEditInfoDto> correctForm(String line,String date,String lpName,String code, String type); |
| 108 | 109 | ||
| 109 | List<ScheduleRealInfo> queryListWaybill(String jName,String clZbh,String lpName,String date,String line); | 110 | List<ScheduleRealInfo> queryListWaybill(String jName,String clZbh,String lpName,String date,String line); |
| 110 | 111 |
src/main/java/com/bsth/service/realcontrol/impl/ScheduleRealInfoServiceImpl.java
| @@ -16,6 +16,7 @@ import com.bsth.data.schedule.ScheduleComparator; | @@ -16,6 +16,7 @@ import com.bsth.data.schedule.ScheduleComparator; | ||
| 16 | import com.bsth.data.schedule.edit_logs.FormLogger; | 16 | import com.bsth.data.schedule.edit_logs.FormLogger; |
| 17 | import com.bsth.data.schedule.edit_logs.ScheduleModifyLogger; | 17 | import com.bsth.data.schedule.edit_logs.ScheduleModifyLogger; |
| 18 | import com.bsth.data.schedule.edit_logs.loggers.FcxxwtLogger; | 18 | import com.bsth.data.schedule.edit_logs.loggers.FcxxwtLogger; |
| 19 | +import com.bsth.data.schedule.edit_logs.service.dto.SchEditInfoDto; | ||
| 19 | import com.bsth.data.schedule.late_adjust.LateAdjustHandle; | 20 | import com.bsth.data.schedule.late_adjust.LateAdjustHandle; |
| 20 | import com.bsth.entity.Cars; | 21 | import com.bsth.entity.Cars; |
| 21 | import com.bsth.entity.Line; | 22 | import com.bsth.entity.Line; |
| @@ -58,9 +59,11 @@ import org.apache.commons.lang3.StringEscapeUtils; | @@ -58,9 +59,11 @@ import org.apache.commons.lang3.StringEscapeUtils; | ||
| 58 | import org.apache.commons.lang3.StringUtils; | 59 | import org.apache.commons.lang3.StringUtils; |
| 59 | import org.joda.time.format.DateTimeFormat; | 60 | import org.joda.time.format.DateTimeFormat; |
| 60 | import org.joda.time.format.DateTimeFormatter; | 61 | import org.joda.time.format.DateTimeFormatter; |
| 62 | +import org.mvel2.optimizers.impl.refl.nodes.ArrayLength; | ||
| 61 | import org.slf4j.Logger; | 63 | import org.slf4j.Logger; |
| 62 | import org.slf4j.LoggerFactory; | 64 | import org.slf4j.LoggerFactory; |
| 63 | import org.springframework.beans.factory.annotation.Autowired; | 65 | import org.springframework.beans.factory.annotation.Autowired; |
| 66 | +import org.springframework.jdbc.core.BeanPropertyRowMapper; | ||
| 64 | import org.springframework.jdbc.core.JdbcTemplate; | 67 | import org.springframework.jdbc.core.JdbcTemplate; |
| 65 | import org.springframework.jdbc.core.RowMapper; | 68 | import org.springframework.jdbc.core.RowMapper; |
| 66 | import org.springframework.stereotype.Service; | 69 | import org.springframework.stereotype.Service; |
| @@ -1904,7 +1907,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -1904,7 +1907,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 1904 | return listMap; | 1907 | return listMap; |
| 1905 | } | 1908 | } |
| 1906 | 1909 | ||
| 1907 | - @Override | 1910 | + /* @Override |
| 1908 | public List<ScheduleRealInfo> correctForm(String line, String startDate, | 1911 | public List<ScheduleRealInfo> correctForm(String line, String startDate, |
| 1909 | String endDate, String lpName, String code, String type) { | 1912 | String endDate, String lpName, String code, String type) { |
| 1910 | List<ScheduleRealInfo> list = scheduleRealInfoRepository.correctForm(line, startDate, endDate, lpName, code); | 1913 | List<ScheduleRealInfo> list = scheduleRealInfoRepository.correctForm(line, startDate, endDate, lpName, code); |
| @@ -1959,8 +1962,93 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -1959,8 +1962,93 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 1959 | } | 1962 | } |
| 1960 | 1963 | ||
| 1961 | return list; | 1964 | return list; |
| 1965 | + }*/ | ||
| 1966 | + | ||
| 1967 | + @Override | ||
| 1968 | + public List<SchEditInfoDto> correctForm(String line,String date, | ||
| 1969 | + String lpName,String code, String type) { | ||
| 1970 | + | ||
| 1971 | +// var types = {'DFTZ': '待发调整', 'FCXXWT':'发车信息微调', 'JHLB': '计划烂班', 'CXLB': '撤销烂班', | ||
| 1972 | +// 'CXZX': '撤销执行', 'CXSF': '撤销实发', 'SFTZ': '实发调整', 'TZRC': '调整人车'}; | ||
| 1973 | + Map<String, Object> map=new HashMap<String,Object>(); | ||
| 1974 | + map.put("DFTZ", "待发调整"); | ||
| 1975 | + map.put("FCXXWT", "发车信息微调"); | ||
| 1976 | + map.put("JHLB", "计划烂班"); | ||
| 1977 | + map.put("CXLB", "撤销烂班"); | ||
| 1978 | + map.put("CXZX","撤销执行"); | ||
| 1979 | + map.put("CXSF", "撤销实发"); | ||
| 1980 | + map.put("SFTZ", "实发调整"); | ||
| 1981 | + map.put("TZRC", "调整人车"); | ||
| 1982 | + | ||
| 1983 | + String cont = ""; | ||
| 1984 | + cont = " and xl_bm ='"+line +"'"; | ||
| 1985 | + if(!lpName.equals("")){ | ||
| 1986 | + cont +=" and lp_name = '"+lpName+"'"; | ||
| 1987 | + } | ||
| 1988 | + if(!code.equals("")){ | ||
| 1989 | + cont +=" and cl_zbh ='"+code+"'"; | ||
| 1990 | + } | ||
| 1991 | + String sql = "select t1.*, " | ||
| 1992 | + + "t2.fcsj,t2.lp_name,t2.cl_zbh,t2.j_gh,t2.j_name," | ||
| 1993 | + + "t2.xl_dir,t2.real_exec_date from (select * from " | ||
| 1994 | + + "logger_sch_modify where rq=? and line_code=? )" | ||
| 1995 | + + " t1 INNER JOIN bsth_c_s_sp_info_real t2 on " | ||
| 1996 | + + "t1.sch_id=t2.id where 1=1 " + cont; | ||
| 1997 | + | ||
| 1998 | + List<SchEditInfoDto> list = jdbcTemplate.query(sql, | ||
| 1999 | + new BeanPropertyRowMapper(SchEditInfoDto.class),date, line); | ||
| 2000 | + List<SchEditInfoDto> lists=new ArrayList<SchEditInfoDto>(); | ||
| 2001 | + for (int i = 0; i < list.size(); i++) { | ||
| 2002 | + SchEditInfoDto t=list.get(i); | ||
| 2003 | + if(map.get(t.getType())!=null){ | ||
| 2004 | + t.setType2(t.getTimeStr()+":"+map.get(t.getType()).toString()); | ||
| 2005 | + }else{ | ||
| 2006 | + t.setType2(""); | ||
| 2007 | + } | ||
| 2008 | + boolean fage=true; | ||
| 2009 | + for (int j = 0; j < lists.size(); j++) { | ||
| 2010 | + SchEditInfoDto s=lists.get(j); | ||
| 2011 | + if(s.getSchId()==t.getSchId()){ | ||
| 2012 | + s.setType2(s.getType2()+" "+t.getType2()); | ||
| 2013 | + fage=false; | ||
| 2014 | + } | ||
| 2015 | + } | ||
| 2016 | + if(fage){ | ||
| 2017 | + lists.add(t); | ||
| 2018 | + } | ||
| 2019 | + } | ||
| 2020 | + | ||
| 2021 | + if (type != null && type.length() != 0 && type.equals("export")) { | ||
| 2022 | + SimpleDateFormat sdfMonth = new SimpleDateFormat("yyyy-MM-dd"), | ||
| 2023 | + sdfSimple = new SimpleDateFormat("yyyyMMdd"); | ||
| 2024 | + List<Iterator<?>> listI = new ArrayList<Iterator<?>>(); | ||
| 2025 | + Map<String, Object> m = new HashMap<String, Object>(); | ||
| 2026 | + m.put("dates",date); | ||
| 2027 | + ReportUtils ee = new ReportUtils(); | ||
| 2028 | + List<Map<String, Object>> tempList = new ArrayList<Map<String, Object>>(); | ||
| 2029 | + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); | ||
| 2030 | + for (SchEditInfoDto d : lists) { | ||
| 2031 | + Map<String, Object> tempMap = new HashMap<String, Object>(); | ||
| 2032 | + tempMap.put("lpName", d.getLpName()); | ||
| 2033 | + tempMap.put("clZbh", d.getClZbh()); | ||
| 2034 | + tempMap.put("jName", d.getjName()+"/"+d.getjGh()); | ||
| 2035 | + tempMap.put("fcsj", d.getFcsj()); | ||
| 2036 | + tempMap.put("type", d.getType2()); | ||
| 2037 | + tempList.add(tempMap); | ||
| 2038 | + } | ||
| 2039 | + try { | ||
| 2040 | + listI.add(tempList.iterator()); | ||
| 2041 | + String path = this.getClass().getResource("/").getPath() + "static/pages/forms/"; | ||
| 2042 | + ee.excelReplace(listI, new Object[]{m}, path + "mould/correctForm.xls", | ||
| 2043 | + path + "export/修正报表" + date+ ".xls"); | ||
| 2044 | + } catch (Exception e) { | ||
| 2045 | + // TODO: handle exception | ||
| 2046 | + e.printStackTrace(); | ||
| 2047 | + } | ||
| 2048 | +// Map<String, Object> maps = tempList.get(tempList.size() - 1); | ||
| 2049 | + } | ||
| 2050 | + return lists; | ||
| 1962 | } | 2051 | } |
| 1963 | - | ||
| 1964 | @Override | 2052 | @Override |
| 1965 | public List<ScheduleRealInfo> queryListWaybill(String jName, String clZbh, | 2053 | public List<ScheduleRealInfo> queryListWaybill(String jName, String clZbh, |
| 1966 | String lpName, String date, String line) { | 2054 | String lpName, String date, String line) { |
| @@ -3267,26 +3355,28 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -3267,26 +3355,28 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 3267 | yesterdayDataList.get(x).put("totalKilometers", zlc); | 3355 | yesterdayDataList.get(x).put("totalKilometers", zlc); |
| 3268 | 3356 | ||
| 3269 | } | 3357 | } |
| 3358 | + List<Map<String, Object>> yesterdayDataLists = new ArrayList<Map<String, Object>>(); | ||
| 3359 | + | ||
| 3270 | for (int i = 0; i < yesterdayDataList.size(); i++) { | 3360 | for (int i = 0; i < yesterdayDataList.size(); i++) { |
| 3271 | Map<String, Object> map=yesterdayDataList.get(i); | 3361 | Map<String, Object> map=yesterdayDataList.get(i); |
| 3272 | Double zlc=map.get("totalKilometers")==null?0.0:Double.parseDouble(map.get("totalKilometers").toString()); | 3362 | Double zlc=map.get("totalKilometers")==null?0.0:Double.parseDouble(map.get("totalKilometers").toString()); |
| 3273 | - if(zlc<=0){ | ||
| 3274 | - yesterdayDataList.remove(map); | 3363 | + if(zlc>0){ |
| 3364 | + yesterdayDataLists.add(map); | ||
| 3275 | } | 3365 | } |
| 3276 | } | 3366 | } |
| 3277 | //增加顺序号 | 3367 | //增加顺序号 |
| 3278 | - for (int i = 0; i < yesterdayDataList.size(); i++) { | 3368 | + for (int i = 0; i < yesterdayDataLists.size(); i++) { |
| 3279 | if (i == 0) { | 3369 | if (i == 0) { |
| 3280 | - yesterdayDataList.get(i).put("seqNumber", 1); | 3370 | + yesterdayDataLists.get(i).put("seqNumber", 1); |
| 3281 | } else { | 3371 | } else { |
| 3282 | - if (yesterdayDataList.get(i - 1).get("clZbh").equals(yesterdayDataList.get(i).get("clZbh"))) { | ||
| 3283 | - yesterdayDataList.get(i).put("seqNumber", 1 + (int) yesterdayDataList.get(i - 1).get("seqNumber")); | 3372 | + if (yesterdayDataLists.get(i - 1).get("clZbh").equals(yesterdayDataLists.get(i).get("clZbh"))) { |
| 3373 | + yesterdayDataLists.get(i).put("seqNumber", 1 + (int) yesterdayDataLists.get(i - 1).get("seqNumber")); | ||
| 3284 | } else { | 3374 | } else { |
| 3285 | - yesterdayDataList.get(i).put("seqNumber", 1); | 3375 | + yesterdayDataLists.get(i).put("seqNumber", 1); |
| 3286 | } | 3376 | } |
| 3287 | } | 3377 | } |
| 3288 | } | 3378 | } |
| 3289 | - return yesterdayDataList; | 3379 | + return yesterdayDataLists; |
| 3290 | } | 3380 | } |
| 3291 | 3381 | ||
| 3292 | /** | 3382 | /** |
src/main/java/com/bsth/service/report/impl/CulateMileageServiceImpl.java
| @@ -239,7 +239,7 @@ public class CulateMileageServiceImpl implements CulateMileageService{ | @@ -239,7 +239,7 @@ public class CulateMileageServiceImpl implements CulateMileageService{ | ||
| 239 | } | 239 | } |
| 240 | }else{ | 240 | }else{ |
| 241 | Set<ChildTaskPlan> childTaskPlans = scheduleRealInfo.getcTasks(); | 241 | Set<ChildTaskPlan> childTaskPlans = scheduleRealInfo.getcTasks(); |
| 242 | - if(!childTaskPlans.isEmpty()){ | 242 | + if(childTaskPlans.isEmpty()){ |
| 243 | double jhlc=scheduleRealInfo.getJhlc()==null?0:scheduleRealInfo.getJhlc(); | 243 | double jhlc=scheduleRealInfo.getJhlc()==null?0:scheduleRealInfo.getJhlc(); |
| 244 | double jhlcOrig=scheduleRealInfo.getJhlcOrig()==null?0:scheduleRealInfo.getJhlcOrig(); | 244 | double jhlcOrig=scheduleRealInfo.getJhlcOrig()==null?0:scheduleRealInfo.getJhlcOrig(); |
| 245 | double zjlc=Arith.sub(jhlc, jhlcOrig); | 245 | double zjlc=Arith.sub(jhlc, jhlcOrig); |
src/main/java/com/bsth/service/report/impl/ReportServiceImpl.java
| @@ -720,36 +720,40 @@ public class ReportServiceImpl implements ReportService{ | @@ -720,36 +720,40 @@ public class ReportServiceImpl implements ReportService{ | ||
| 720 | Map<String, Object> tempMap = new HashMap<String, Object>(); | 720 | Map<String, Object> tempMap = new HashMap<String, Object>(); |
| 721 | List<Map<String, Object>> list2 = keyMap.get(key); | 721 | List<Map<String, Object>> list2 = keyMap.get(key); |
| 722 | List<Integer> cjs = new ArrayList<Integer>(); | 722 | List<Integer> cjs = new ArrayList<Integer>(); |
| 723 | - int sxsj = 0, xxsj = 0, zcj = 0, tssj = 0; | ||
| 724 | - int sxbc = 0, xxbc = 0; | ||
| 725 | - int temp = 24*60+1; | 723 | + int sxsj = 0, xxsj = 0, sxtssj = 0, xxtssj = 0; |
| 724 | + int sxbc = 0, xxbc = 0, sxtsbc = 0, xxtsbc = 0; | ||
| 725 | + int temp = 24*60+1, zcj = 0; | ||
| 726 | boolean ists = false; | 726 | boolean ists = false; |
| 727 | for(Map<String, Object> m : list2){ | 727 | for(Map<String, Object> m : list2){ |
| 728 | String[] split = m.get("fcsj").toString().split(":"); | 728 | String[] split = m.get("fcsj").toString().split(":"); |
| 729 | int fcsj = Integer.valueOf(split[0])*60 + Integer.valueOf(split[1]); | 729 | int fcsj = Integer.valueOf(split[0])*60 + Integer.valueOf(split[1]); |
| 730 | int xlDir = Integer.valueOf(m.get("dir").toString()); | 730 | int xlDir = Integer.valueOf(m.get("dir").toString()); |
| 731 | int bcsj = Integer.valueOf(m.get("bcsj").toString()); | 731 | int bcsj = Integer.valueOf(m.get("bcsj").toString()); |
| 732 | + if(temp >= fcsj){ | ||
| 733 | + temp = fcsj; | ||
| 734 | + ists = false; | ||
| 735 | + } | ||
| 732 | if(xlDir == 0){ | 736 | if(xlDir == 0){ |
| 733 | sxsj += bcsj; | 737 | sxsj += bcsj; |
| 734 | sxbc ++; | 738 | sxbc ++; |
| 739 | + if(ists){ | ||
| 740 | + sxtssj += fcsj - temp; | ||
| 741 | + sxtsbc++; | ||
| 742 | + } | ||
| 735 | } else { | 743 | } else { |
| 736 | xxsj += bcsj; | 744 | xxsj += bcsj; |
| 737 | xxbc ++; | 745 | xxbc ++; |
| 738 | - } | ||
| 739 | - if(temp >= fcsj){ | ||
| 740 | - temp = fcsj; | ||
| 741 | - ists = false; | ||
| 742 | - } else { | ||
| 743 | if(ists){ | 746 | if(ists){ |
| 744 | - tssj += fcsj - temp; | ||
| 745 | - ists = false; | ||
| 746 | - } else { | ||
| 747 | - cjs.add(fcsj - temp); | 747 | + xxtssj += fcsj - temp; |
| 748 | + xxtsbc++; | ||
| 748 | } | 749 | } |
| 750 | + } | ||
| 751 | + if(temp < fcsj){ | ||
| 752 | + cjs.add(fcsj - temp); | ||
| 749 | temp = fcsj; | 753 | temp = fcsj; |
| 750 | - if(m.get("ists").equals("1")){ | ||
| 751 | - ists = true; | ||
| 752 | - } | 754 | + } |
| 755 | + if(m.get("ists").toString().trim().equals("1")){ | ||
| 756 | + ists = true; | ||
| 753 | } | 757 | } |
| 754 | } | 758 | } |
| 755 | Collections.sort(cjs); | 759 | Collections.sort(cjs); |
| @@ -757,12 +761,14 @@ public class ReportServiceImpl implements ReportService{ | @@ -757,12 +761,14 @@ public class ReportServiceImpl implements ReportService{ | ||
| 757 | zcj += i; | 761 | zcj += i; |
| 758 | } | 762 | } |
| 759 | tempMap.put("sjd", key); | 763 | tempMap.put("sjd", key); |
| 760 | - tempMap.put("sxsj", sxsj / sxbc); | ||
| 761 | - tempMap.put("xxsj", xxsj / xxbc); | ||
| 762 | - tempMap.put("fqsj", (sxsj + xxsj) / list2.size()); | 764 | + tempMap.put("sxsj", sxbc != 0 ? sxsj / sxbc : "0"); |
| 765 | + tempMap.put("xxsj", xxbc != 0 ? xxsj / xxbc : "0"); | ||
| 766 | + tempMap.put("sxtssj", sxtsbc != 0 ? sxtssj / sxtsbc : "0"); | ||
| 767 | + tempMap.put("xxtssj", xxtsbc != 0 ? xxtssj / xxtsbc : "0"); | ||
| 768 | + tempMap.put("fqsj", Integer.valueOf(tempMap.get("sxsj").toString()) + Integer.valueOf(tempMap.get("xxsj").toString()) | ||
| 769 | + + Integer.valueOf(tempMap.get("sxtssj").toString()) + Integer.valueOf(tempMap.get("xxtssj").toString())); | ||
| 763 | tempMap.put("cjqj", cjs.size()>0?cjs.get(0)+"——"+cjs.get(cjs.size()-1):"——"); | 770 | tempMap.put("cjqj", cjs.size()>0?cjs.get(0)+"——"+cjs.get(cjs.size()-1):"——"); |
| 764 | tempMap.put("pjcj", cjs.size()>0?zcj/cjs.size():"/"); | 771 | tempMap.put("pjcj", cjs.size()>0?zcj/cjs.size():"/"); |
| 765 | - tempMap.put("tssj", tssj); | ||
| 766 | maps.put(key, tempMap); | 772 | maps.put(key, tempMap); |
| 767 | } | 773 | } |
| 768 | newList.add(maps.get("(首)——6:30")); | 774 | newList.add(maps.get("(首)——6:30")); |
| @@ -920,7 +926,7 @@ public class ReportServiceImpl implements ReportService{ | @@ -920,7 +926,7 @@ public class ReportServiceImpl implements ReportService{ | ||
| 920 | 926 | ||
| 921 | } else { | 927 | } else { |
| 922 | Iterator<ChildTaskPlan> it = childTaskPlans.iterator(); | 928 | Iterator<ChildTaskPlan> it = childTaskPlans.iterator(); |
| 923 | - if (scheduleRealInfo.getStatus() == -1) { | 929 | + /*if (scheduleRealInfo.getStatus() == -1) { |
| 924 | while (it.hasNext()) { | 930 | while (it.hasNext()) { |
| 925 | ChildTaskPlan childTaskPlan = it.next(); | 931 | ChildTaskPlan childTaskPlan = it.next(); |
| 926 | if (childTaskPlan.isDestroy()) { | 932 | if (childTaskPlan.isDestroy()) { |
| @@ -947,7 +953,7 @@ public class ReportServiceImpl implements ReportService{ | @@ -947,7 +953,7 @@ public class ReportServiceImpl implements ReportService{ | ||
| 947 | 953 | ||
| 948 | } | 954 | } |
| 949 | } | 955 | } |
| 950 | - }else{ | 956 | + }else{*/ |
| 951 | while (it.hasNext()) { | 957 | while (it.hasNext()) { |
| 952 | ChildTaskPlan childTaskPlan = it.next(); | 958 | ChildTaskPlan childTaskPlan = it.next(); |
| 953 | if (childTaskPlan.isDestroy()) { | 959 | if (childTaskPlan.isDestroy()) { |
| @@ -974,7 +980,7 @@ public class ReportServiceImpl implements ReportService{ | @@ -974,7 +980,7 @@ public class ReportServiceImpl implements ReportService{ | ||
| 974 | 980 | ||
| 975 | } | 981 | } |
| 976 | } | 982 | } |
| 977 | - } | 983 | +// } |
| 978 | 984 | ||
| 979 | } | 985 | } |
| 980 | } | 986 | } |
src/main/java/com/bsth/service/schedule/impl/BServiceImpl.java
| @@ -4,11 +4,9 @@ import com.bsth.entity.search.CustomerSpecs; | @@ -4,11 +4,9 @@ import com.bsth.entity.search.CustomerSpecs; | ||
| 4 | import com.bsth.repository.BaseRepository; | 4 | import com.bsth.repository.BaseRepository; |
| 5 | import com.bsth.service.schedule.BService; | 5 | import com.bsth.service.schedule.BService; |
| 6 | import com.bsth.service.schedule.exception.ScheduleException; | 6 | import com.bsth.service.schedule.exception.ScheduleException; |
| 7 | -import com.bsth.service.schedule.utils.DataToolsService; | ||
| 8 | import org.slf4j.Logger; | 7 | import org.slf4j.Logger; |
| 9 | import org.slf4j.LoggerFactory; | 8 | import org.slf4j.LoggerFactory; |
| 10 | import org.springframework.beans.factory.annotation.Autowired; | 9 | import org.springframework.beans.factory.annotation.Autowired; |
| 11 | -import org.springframework.beans.factory.annotation.Qualifier; | ||
| 12 | import org.springframework.beans.factory.annotation.Value; | 10 | import org.springframework.beans.factory.annotation.Value; |
| 13 | import org.springframework.data.domain.Page; | 11 | import org.springframework.data.domain.Page; |
| 14 | import org.springframework.data.domain.Pageable; | 12 | import org.springframework.data.domain.Pageable; |
| @@ -32,10 +30,6 @@ public class BServiceImpl<T, ID extends Serializable> implements BService<T, ID> | @@ -32,10 +30,6 @@ public class BServiceImpl<T, ID extends Serializable> implements BService<T, ID> | ||
| 32 | @Value("${hibernate.jdbc.batch_size}") | 30 | @Value("${hibernate.jdbc.batch_size}") |
| 33 | private int batchSize; | 31 | private int batchSize; |
| 34 | 32 | ||
| 35 | - @Autowired | ||
| 36 | - @Qualifier(value = "dataToolsServiceImpl") | ||
| 37 | - private DataToolsService dataToolsService; | ||
| 38 | - | ||
| 39 | /** 日志记录器 */ | 33 | /** 日志记录器 */ |
| 40 | protected Logger logger = LoggerFactory.getLogger(this.getClass()); | 34 | protected Logger logger = LoggerFactory.getLogger(this.getClass()); |
| 41 | 35 |
src/main/java/com/bsth/service/schedule/impl/PeopleCarPlanServiceImpl.java
| @@ -516,6 +516,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | @@ -516,6 +516,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | ||
| 516 | String endDate = map.get("endDate").toString(); | 516 | String endDate = map.get("endDate").toString(); |
| 517 | String model = map.get("model").toString(); | 517 | String model = map.get("model").toString(); |
| 518 | String type = map.get("type").toString(); | 518 | String type = map.get("type").toString(); |
| 519 | + String bcType = map.get("bcType").toString(); | ||
| 519 | 520 | ||
| 520 | if(startDate.length() == 0){ | 521 | if(startDate.length() == 0){ |
| 521 | startDate = new SimpleDateFormat("yyyy-MM-dd").format(new Date()); | 522 | startDate = new SimpleDateFormat("yyyy-MM-dd").format(new Date()); |
| @@ -533,7 +534,11 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | @@ -533,7 +534,11 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | ||
| 533 | sql += " and gs_bm like '%"+company+"%' and fgs_bm like '%"+subCompany+"%'"; | 534 | sql += " and gs_bm like '%"+company+"%' and fgs_bm like '%"+subCompany+"%'"; |
| 534 | // } | 535 | // } |
| 535 | sql += " and bc_type != 'in' and bc_type != 'out' and bc_type != 'ldks'"; | 536 | sql += " and bc_type != 'in' and bc_type != 'out' and bc_type != 'ldks'"; |
| 536 | - | 537 | + if(Integer.valueOf(bcType) == 1){ |
| 538 | + sql += " and bc_type != 'region'"; | ||
| 539 | + } else if(Integer.valueOf(bcType) == 2){ | ||
| 540 | + sql += " and bc_type = 'region'"; | ||
| 541 | + } | ||
| 537 | list = jdbcTemplate.query(sql, | 542 | list = jdbcTemplate.query(sql, |
| 538 | new RowMapper<ScheduleRealInfo>(){ | 543 | new RowMapper<ScheduleRealInfo>(){ |
| 539 | @Override | 544 | @Override |
| @@ -798,6 +803,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | @@ -798,6 +803,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | ||
| 798 | String line = map.get("line").toString(); | 803 | String line = map.get("line").toString(); |
| 799 | String startDate = map.get("startDate").toString(); | 804 | String startDate = map.get("startDate").toString(); |
| 800 | String endDate = map.get("endDate").toString(); | 805 | String endDate = map.get("endDate").toString(); |
| 806 | + String bcType = map.get("bcType").toString(); | ||
| 801 | String nbbm = map.get("nbbm").toString(); | 807 | String nbbm = map.get("nbbm").toString(); |
| 802 | String type = map.get("type").toString(); | 808 | String type = map.get("type").toString(); |
| 803 | 809 | ||
| @@ -824,6 +830,11 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | @@ -824,6 +830,11 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | ||
| 824 | sql += " and gs_bm like '%"+company+"%' and fgs_bm like '%"+subCompany+"%'"; | 830 | sql += " and gs_bm like '%"+company+"%' and fgs_bm like '%"+subCompany+"%'"; |
| 825 | // } | 831 | // } |
| 826 | sql += " and bc_type != 'in' and bc_type != 'out' and bc_type != 'ldks'"; | 832 | sql += " and bc_type != 'in' and bc_type != 'out' and bc_type != 'ldks'"; |
| 833 | + if(bcType.trim().equals("1")){ | ||
| 834 | + sql += " and bc_type != 'region'"; | ||
| 835 | + } else if(bcType.trim().equals("2")){ | ||
| 836 | + sql += " and bc_type = 'region'"; | ||
| 837 | + } | ||
| 827 | 838 | ||
| 828 | list = jdbcTemplate.query(sql, | 839 | list = jdbcTemplate.query(sql, |
| 829 | new RowMapper<ScheduleRealInfo>(){ | 840 | new RowMapper<ScheduleRealInfo>(){ |
| @@ -1180,8 +1191,11 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | @@ -1180,8 +1191,11 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | ||
| 1180 | 1191 | ||
| 1181 | @Override | 1192 | @Override |
| 1182 | public List<Map<String, Object>> firstAndLastBus(Map<String, Object> map) { | 1193 | public List<Map<String, Object>> firstAndLastBus(Map<String, Object> map) { |
| 1194 | + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); | ||
| 1195 | + NumberFormat nf = NumberFormat.getNumberInstance(); | ||
| 1196 | + nf.setMinimumFractionDigits(2); | ||
| 1197 | + List<ScheduleRealInfo> list = new ArrayList<ScheduleRealInfo>(); | ||
| 1183 | List<Map<String, Object>> resList = new ArrayList<Map<String, Object>>(); | 1198 | List<Map<String, Object>> resList = new ArrayList<Map<String, Object>>(); |
| 1184 | - Map<String, List<ScheduleRealInfo>> keyMap = new HashMap<String, List<ScheduleRealInfo>>(); | ||
| 1185 | 1199 | ||
| 1186 | String company = map.get("company").toString(); | 1200 | String company = map.get("company").toString(); |
| 1187 | String subCompany = map.get("subCompany").toString(); | 1201 | String subCompany = map.get("subCompany").toString(); |
| @@ -1190,151 +1204,173 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | @@ -1190,151 +1204,173 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | ||
| 1190 | String type = map.get("type").toString(); | 1204 | String type = map.get("type").toString(); |
| 1191 | 1205 | ||
| 1192 | if(date.length() == 0) | 1206 | if(date.length() == 0) |
| 1193 | - date = new SimpleDateFormat("yyyy-MM-dd").format(new Date()); | 1207 | + date = sdf.format(new Date()); |
| 1194 | 1208 | ||
| 1195 | - List<ScheduleRealInfo> list = this.getSchedule(company, subCompany, line, date); | 1209 | + try { |
| 1210 | + String sql = "select a.schedule_date_Str, a.real_exec_date, a.xl_name, a.fcsj, a.fcsj_actual, a.zdsj, a.zdsj_actual, a.qdz_name, a.zdz_name, a.xl_dir, a.status, a.gs_name, a.fgs_name," | ||
| 1211 | + + " b.start_opt from bsth_c_s_sp_info_real a left join (select line, start_opt from bsth_c_line_config order by id desc) b on a.xl_bm = b.line" | ||
| 1212 | + + " where DATE_FORMAT(schedule_date,'%Y-%m-%d') = '"+date+"'" | ||
| 1213 | + + " and fcsj_actual is not null and fcsj_actual != '' and bc_type != 'in' and bc_type != 'out' and bc_type != 'ldks'"; | ||
| 1214 | + if(line.length() != 0) | ||
| 1215 | + sql += " and xl_bm = '"+line+"'"; | ||
| 1216 | + if(company.length() != 0) | ||
| 1217 | + sql += " and gs_bm = '"+company+"' and fgs_bm = '"+subCompany+"'"; | ||
| 1218 | + | ||
| 1219 | + list = jdbcTemplate.query(sql, | ||
| 1220 | + new RowMapper<ScheduleRealInfo>(){ | ||
| 1221 | + @Override | ||
| 1222 | + public ScheduleRealInfo mapRow(ResultSet rs, int rowNum) throws SQLException { | ||
| 1223 | + ScheduleRealInfo schedule = new ScheduleRealInfo(); | ||
| 1224 | + schedule.setScheduleDateStr(rs.getString("schedule_date_Str")); | ||
| 1225 | + schedule.setRealExecDate(rs.getString("real_exec_date")); | ||
| 1226 | + schedule.setXlName(rs.getString("xl_name")); | ||
| 1227 | + schedule.setFcsj(rs.getString("fcsj")); | ||
| 1228 | + schedule.setFcsjActual(rs.getString("fcsj_actual")); | ||
| 1229 | + schedule.setZdsj(rs.getString("zdsj")); | ||
| 1230 | + schedule.setZdsjActual(rs.getString("zdsj_actual")); | ||
| 1231 | + schedule.setQdzName(rs.getString("qdz_name")); | ||
| 1232 | + schedule.setZdzName(rs.getString("zdz_name")); | ||
| 1233 | + schedule.setXlDir(rs.getString("xl_dir")); | ||
| 1234 | + schedule.setStatus(rs.getInt("status")); | ||
| 1235 | + schedule.setGsName(rs.getString("gs_name")); | ||
| 1236 | + schedule.setFgsName(rs.getString("fgs_name")); | ||
| 1237 | + | ||
| 1238 | + int startOpt = 0; | ||
| 1239 | + if(rs.getString("start_opt") != null && rs.getString("start_opt").trim().length() != 0){ | ||
| 1240 | + String[] split = rs.getString("start_opt").split(":"); | ||
| 1241 | + startOpt = Integer.valueOf(split[0])*60 + Integer.valueOf(split[1]); | ||
| 1242 | + } | ||
| 1243 | + | ||
| 1244 | + if(schedule.getFcsjActual() != null && schedule.getFcsjActual().trim().length() == 0){ | ||
| 1245 | + schedule.setFcsjActual(null); | ||
| 1246 | + } | ||
| 1247 | + if(schedule.getZdsjActual() != null && schedule.getZdsjActual().trim().length() == 0){ | ||
| 1248 | + schedule.setZdsjActual(null); | ||
| 1249 | + } | ||
| 1250 | + if(schedule.getFcsj() != null){ | ||
| 1251 | + String[] split = schedule.getFcsj().split(":"); | ||
| 1252 | + int fcsj = Integer.valueOf(split[0]) * 60 + Integer.valueOf(split[1]); | ||
| 1253 | + if(fcsj < startOpt) | ||
| 1254 | + fcsj += 1440; | ||
| 1255 | + schedule.setFcsjT((long)fcsj); | ||
| 1256 | + } | ||
| 1257 | + if(schedule.getFcsjActual() != null){ | ||
| 1258 | + String[] split = schedule.getFcsjActual().split(":"); | ||
| 1259 | + int fcsjA = Integer.valueOf(split[0]) * 60 + Integer.valueOf(split[1]); | ||
| 1260 | + if(fcsjA < startOpt || !schedule.getRealExecDate().equals(schedule.getScheduleDateStr())) | ||
| 1261 | + fcsjA += 1440; | ||
| 1262 | + schedule.setFcsjActualTime((long)fcsjA); | ||
| 1263 | + } | ||
| 1264 | + | ||
| 1265 | + return schedule; | ||
| 1266 | + } | ||
| 1267 | + }); | ||
| 1268 | + | ||
| 1269 | + } catch (Exception e) { | ||
| 1270 | + // TODO: handle exception | ||
| 1271 | + e.printStackTrace(); | ||
| 1272 | + } | ||
| 1196 | 1273 | ||
| 1197 | - for(ScheduleRealInfo schedule : list){ | ||
| 1198 | - if(schedule.getBcType().equals("in") || schedule.getBcType().equals("out") || schedule.getBcType().equals("ldks")) | ||
| 1199 | - continue; | ||
| 1200 | - if(schedule.getStatus() == -1){ | ||
| 1201 | - continue; | ||
| 1202 | - } | ||
| 1203 | - String key = schedule.getXlName(); | ||
| 1204 | - if(key == null || key.trim().length() == 0) | ||
| 1205 | - continue; | ||
| 1206 | - if(!keyMap.containsKey(key)) | ||
| 1207 | - keyMap.put(key, new ArrayList<ScheduleRealInfo>()); | ||
| 1208 | - keyMap.get(key).add(schedule); | 1274 | + Map<String, List<ScheduleRealInfo>> keyMap = new HashMap<String, List<ScheduleRealInfo>>(); |
| 1275 | + String companyName = "", subCompanyName = ""; | ||
| 1276 | + | ||
| 1277 | + for(ScheduleRealInfo s : list){ | ||
| 1278 | + String xlName = s.getXlName(); | ||
| 1279 | + if(!keyMap.containsKey(xlName)) | ||
| 1280 | + keyMap.put(xlName, new ArrayList<ScheduleRealInfo>()); | ||
| 1281 | + keyMap.get(xlName).add(s); | ||
| 1282 | + if(companyName.length()==0&&s.getGsName()!=null&&s.getGsName().trim().length()!=0) | ||
| 1283 | + companyName = s.getGsName(); | ||
| 1284 | + if(subCompanyName.length()==0&&s.getFgsName()!=null&&s.getFgsName().trim().length()!=0) | ||
| 1285 | + subCompanyName = s.getFgsName(); | ||
| 1209 | } | 1286 | } |
| 1210 | - for(String key : keyMap.keySet()){ | 1287 | + |
| 1288 | + for(String xlName : keyMap.keySet()){ | ||
| 1211 | Map<String, Object> tempMap = new HashMap<String, Object>(); | 1289 | Map<String, Object> tempMap = new HashMap<String, Object>(); |
| 1212 | - Map<Long, ScheduleRealInfo> temp0 = new HashMap<Long, ScheduleRealInfo>(); | ||
| 1213 | - List<Long> longList0 = new ArrayList<Long>(); | ||
| 1214 | - Map<Long, ScheduleRealInfo> temp1 = new HashMap<Long, ScheduleRealInfo>(); | ||
| 1215 | - List<Long> longList1 = new ArrayList<Long>(); | ||
| 1216 | - String companyName = "", subCompanyName = ""; | ||
| 1217 | - for(ScheduleRealInfo schedule : keyMap.get(key)){ | ||
| 1218 | - if(schedule.getFcsjActual() == null || schedule.getFcsjActual().trim().length() == 0){ | ||
| 1219 | - continue; | ||
| 1220 | - } | ||
| 1221 | - if(schedule.getGsName() != null && companyName.length() == 0) | ||
| 1222 | - companyName = schedule.getGsName(); | ||
| 1223 | - if(schedule.getFgsName() != null && subCompanyName.length() == 0) | ||
| 1224 | - subCompanyName = schedule.getFgsName(); | ||
| 1225 | - String[] split = schedule.getFcsj().split(":"); | ||
| 1226 | - long min = Integer.valueOf(split[0])*60 + Integer.valueOf(split[1]); | ||
| 1227 | - schedule.setFcsjT(min); | ||
| 1228 | - if(schedule.getXlDir().equals("0")){ | ||
| 1229 | - temp0.put(min, schedule); | ||
| 1230 | - longList0.add(min); | ||
| 1231 | - } else { | ||
| 1232 | - temp1.put(min, schedule); | ||
| 1233 | - longList1.add(min); | 1290 | + tempMap.put("date", date.substring(5)); |
| 1291 | + tempMap.put("line", xlName); | ||
| 1292 | + List<Long> up1 = new ArrayList<Long>(); | ||
| 1293 | + List<Long> up2 = new ArrayList<Long>();; | ||
| 1294 | + List<Long> dn1 = new ArrayList<Long>(); | ||
| 1295 | + List<Long> dn2 = new ArrayList<Long>(); | ||
| 1296 | + Map<Long, ScheduleRealInfo> up1Map = new HashMap<Long, ScheduleRealInfo>(); | ||
| 1297 | + Map<Long, ScheduleRealInfo> up2Map = new HashMap<Long, ScheduleRealInfo>(); | ||
| 1298 | + Map<Long, ScheduleRealInfo> dn1Map = new HashMap<Long, ScheduleRealInfo>(); | ||
| 1299 | + Map<Long, ScheduleRealInfo> dn2Map = new HashMap<Long, ScheduleRealInfo>(); | ||
| 1300 | + for(ScheduleRealInfo s : keyMap.get(xlName)){ | ||
| 1301 | + if(s.getXlDir().equals("0")){ | ||
| 1302 | + up1.add(s.getFcsjT()); | ||
| 1303 | + up2.add(s.getFcsjActualTime()); | ||
| 1304 | + up1Map.put(s.getFcsjT(), s); | ||
| 1305 | + up2Map.put(s.getFcsjActualTime(), s); | ||
| 1306 | + } else if(s.getXlDir().equals("1")){ | ||
| 1307 | + dn1.add(s.getFcsjT()); | ||
| 1308 | + dn2.add(s.getFcsjActualTime()); | ||
| 1309 | + dn1Map.put(s.getFcsjT(), s); | ||
| 1310 | + dn2Map.put(s.getFcsjActualTime(), s); | ||
| 1234 | } | 1311 | } |
| 1235 | } | 1312 | } |
| 1236 | - | ||
| 1237 | - if(longList0.size() == 0 && longList1.size() == 0){ | ||
| 1238 | - continue; | ||
| 1239 | - } | ||
| 1240 | - | ||
| 1241 | - if(longList0.size() != 0){ | ||
| 1242 | - Collections.sort(longList0); | ||
| 1243 | - ScheduleRealInfo shouban0 = temp0.get(longList0.get(0)); | ||
| 1244 | - ScheduleRealInfo moban0 = temp0.get(longList0.get(longList0.size() - 1)); | ||
| 1245 | - tempMap.put("qdzFirst0", shouban0.getQdzName()); | ||
| 1246 | - tempMap.put("jhfcFirst0", shouban0.getFcsj()); | ||
| 1247 | - tempMap.put("qdzLast0", moban0.getQdzName()); | ||
| 1248 | - tempMap.put("jhfcLast0", moban0.getFcsj()); | ||
| 1249 | - if(shouban0.getFcsjActual() != null){ | ||
| 1250 | - String[] split = shouban0.getFcsjActual().split(":"); | ||
| 1251 | - long min = Integer.valueOf(split[0])*60 + Integer.valueOf(split[1]); | ||
| 1252 | - long delay = shouban0.getFcsjT() - min; | ||
| 1253 | - tempMap.put("sjfcFirst0", shouban0.getFcsjActual()); | ||
| 1254 | - if(delay > 0) | ||
| 1255 | - tempMap.put("delayFirst0", "+" + delay); | ||
| 1256 | - else | ||
| 1257 | - tempMap.put("delayFirst0", delay); | ||
| 1258 | - } else { | ||
| 1259 | - tempMap.put("sjfcFirst0", "/"); | ||
| 1260 | - tempMap.put("delayFirst0", "/"); | ||
| 1261 | - } | ||
| 1262 | - if(moban0.getFcsjActual() != null){ | ||
| 1263 | - String[] split = moban0.getFcsjActual().split(":"); | ||
| 1264 | - long min = Integer.valueOf(split[0])*60 + Integer.valueOf(split[1]); | ||
| 1265 | - long delay = moban0.getFcsjT() - min; | ||
| 1266 | - tempMap.put("sjfcLast0", moban0.getFcsjActual()); | ||
| 1267 | - if(delay > 0) | ||
| 1268 | - tempMap.put("delayLast0", "+" + delay); | ||
| 1269 | - else | ||
| 1270 | - tempMap.put("delayLast0", delay); | ||
| 1271 | - } else { | ||
| 1272 | - tempMap.put("sjfcLast0", "/"); | ||
| 1273 | - tempMap.put("delayLast0", "/"); | ||
| 1274 | - } | ||
| 1275 | - }else{ | 1313 | + if(up1.size() > 0 && up2.size() > 0){ |
| 1314 | + Collections.sort(up1); | ||
| 1315 | + Collections.sort(up2); | ||
| 1316 | + ScheduleRealInfo s1 = up1Map.get(up1.get(0)); | ||
| 1317 | + ScheduleRealInfo s2 = up2Map.get(up2.get(0)); | ||
| 1318 | + ScheduleRealInfo s3 = up1Map.get(up1.get(up1.size()-1)); | ||
| 1319 | + ScheduleRealInfo s4 = up2Map.get(up2.get(up2.size()-1)); | ||
| 1320 | + long delayFirst0 = up1.get(0) - up2.get(0); | ||
| 1321 | + long delayLast0 = up1.get(up1.size()-1) - up2.get(up2.size()-1); | ||
| 1322 | + tempMap.put("qdzFirst0", s1.getQdzName()); | ||
| 1323 | + tempMap.put("jhfcFirst0", s1.getFcsj()); | ||
| 1324 | + tempMap.put("sjfcFirst0", s2.getFcsjActual()); | ||
| 1325 | + tempMap.put("delayFirst0", delayFirst0>0?"+"+delayFirst0:delayFirst0); | ||
| 1326 | + tempMap.put("qdzLast0", s3.getQdzName()); | ||
| 1327 | + tempMap.put("jhfcLast0", s3.getFcsj()); | ||
| 1328 | + tempMap.put("sjfcLast0", s4.getFcsjActual()); | ||
| 1329 | + tempMap.put("delayLast0", delayLast0>0?"+"+delayLast0:delayLast0); | ||
| 1330 | + } else { | ||
| 1276 | tempMap.put("qdzFirst0", "--"); | 1331 | tempMap.put("qdzFirst0", "--"); |
| 1277 | tempMap.put("jhfcFirst0", "/"); | 1332 | tempMap.put("jhfcFirst0", "/"); |
| 1278 | - tempMap.put("qdzLast0", "--"); | ||
| 1279 | - tempMap.put("jhfcLast0", "/"); | ||
| 1280 | tempMap.put("sjfcFirst0", "/"); | 1333 | tempMap.put("sjfcFirst0", "/"); |
| 1281 | tempMap.put("delayFirst0", "/"); | 1334 | tempMap.put("delayFirst0", "/"); |
| 1335 | + tempMap.put("qdzLast0", "--"); | ||
| 1336 | + tempMap.put("jhfcLast0", "/"); | ||
| 1282 | tempMap.put("sjfcLast0", "/"); | 1337 | tempMap.put("sjfcLast0", "/"); |
| 1283 | tempMap.put("delayLast0", "/"); | 1338 | tempMap.put("delayLast0", "/"); |
| 1284 | } | 1339 | } |
| 1285 | - | ||
| 1286 | - if(longList1.size() != 0){ | ||
| 1287 | - Collections.sort(longList1); | ||
| 1288 | - ScheduleRealInfo shouban1 = temp1.get(longList1.get(0)); | ||
| 1289 | - ScheduleRealInfo moban1 = temp1.get(longList1.get(longList1.size() - 1)); | ||
| 1290 | - tempMap.put("qdzFirst1", shouban1.getQdzName()); | ||
| 1291 | - tempMap.put("jhfcFirst1", shouban1.getFcsj()); | ||
| 1292 | - tempMap.put("qdzLast1", moban1.getQdzName()); | ||
| 1293 | - tempMap.put("jhfcLast1", moban1.getFcsj()); | ||
| 1294 | - if(shouban1.getFcsjActual() != null){ | ||
| 1295 | - String[] split = shouban1.getFcsjActual().split(":"); | ||
| 1296 | - long min = Integer.valueOf(split[0])*60 + Integer.valueOf(split[1]); | ||
| 1297 | - long delay = shouban1.getFcsjT() - min; | ||
| 1298 | - tempMap.put("sjfcFirst1", shouban1.getFcsjActual()); | ||
| 1299 | - if(delay > 0) | ||
| 1300 | - tempMap.put("delayFirst1", "+" + delay); | ||
| 1301 | - else | ||
| 1302 | - tempMap.put("delayFirst1", delay); | ||
| 1303 | - } else { | ||
| 1304 | - tempMap.put("sjfcFirst1", "/"); | ||
| 1305 | - tempMap.put("delayFirst1", "/"); | ||
| 1306 | - } | ||
| 1307 | - if(moban1.getFcsjActual() != null){ | ||
| 1308 | - String[] split = moban1.getFcsjActual().split(":"); | ||
| 1309 | - long min = Integer.valueOf(split[0])*60 + Integer.valueOf(split[1]); | ||
| 1310 | - long delay = moban1.getFcsjT() - min; | ||
| 1311 | - tempMap.put("sjfcLast1", moban1.getFcsjActual()); | ||
| 1312 | - if(delay > 0) | ||
| 1313 | - tempMap.put("delayLast1", "+" + delay); | ||
| 1314 | - else | ||
| 1315 | - tempMap.put("delayLast1", delay); | ||
| 1316 | - } else { | ||
| 1317 | - tempMap.put("sjfcLast1", "/"); | ||
| 1318 | - tempMap.put("delayLast1", "/"); | ||
| 1319 | - } | ||
| 1320 | - }else{ | 1340 | + if(dn1.size() > 0 && dn2.size() > 0){ |
| 1341 | + Collections.sort(dn1); | ||
| 1342 | + Collections.sort(dn2); | ||
| 1343 | + ScheduleRealInfo s1 = dn1Map.get(dn1.get(0)); | ||
| 1344 | + ScheduleRealInfo s2 = dn2Map.get(dn2.get(0)); | ||
| 1345 | + ScheduleRealInfo s3 = dn1Map.get(dn1.get(dn1.size()-1)); | ||
| 1346 | + ScheduleRealInfo s4 = dn2Map.get(dn2.get(dn2.size()-1)); | ||
| 1347 | + long delayFirst1 = dn1.get(0) - dn2.get(0); | ||
| 1348 | + long delayLast1 = dn1.get(dn1.size()-1) - dn2.get(dn2.size()-1); | ||
| 1349 | + tempMap.put("qdzFirst1", s1.getQdzName()); | ||
| 1350 | + tempMap.put("jhfcFirst1", s1.getFcsj()); | ||
| 1351 | + tempMap.put("sjfcFirst1", s2.getFcsjActual()); | ||
| 1352 | + tempMap.put("delayFirst1", delayFirst1>0?"+"+delayFirst1:delayFirst1); | ||
| 1353 | + tempMap.put("qdzLast1", s3.getQdzName()); | ||
| 1354 | + tempMap.put("jhfcLast1", s3.getFcsj()); | ||
| 1355 | + tempMap.put("sjfcLast1", s4.getFcsjActual()); | ||
| 1356 | + tempMap.put("delayLast1", delayLast1>0?"+"+delayLast1:delayLast1); | ||
| 1357 | + } else { | ||
| 1321 | tempMap.put("qdzFirst1", "--"); | 1358 | tempMap.put("qdzFirst1", "--"); |
| 1322 | tempMap.put("jhfcFirst1", "/"); | 1359 | tempMap.put("jhfcFirst1", "/"); |
| 1323 | - tempMap.put("qdzLast1", "--"); | ||
| 1324 | - tempMap.put("jhfcLast1", "/"); | ||
| 1325 | tempMap.put("sjfcFirst1", "/"); | 1360 | tempMap.put("sjfcFirst1", "/"); |
| 1326 | tempMap.put("delayFirst1", "/"); | 1361 | tempMap.put("delayFirst1", "/"); |
| 1362 | + tempMap.put("qdzLast1", "--"); | ||
| 1363 | + tempMap.put("jhfcLast1", "/"); | ||
| 1327 | tempMap.put("sjfcLast1", "/"); | 1364 | tempMap.put("sjfcLast1", "/"); |
| 1328 | tempMap.put("delayLast1", "/"); | 1365 | tempMap.put("delayLast1", "/"); |
| 1329 | } | 1366 | } |
| 1330 | - | ||
| 1331 | - tempMap.put("date", date); | ||
| 1332 | tempMap.put("company", companyName); | 1367 | tempMap.put("company", companyName); |
| 1333 | tempMap.put("subCompany", subCompanyName); | 1368 | tempMap.put("subCompany", subCompanyName); |
| 1334 | - tempMap.put("line", key); | 1369 | + tempMap.put("date", date); |
| 1370 | + tempMap.put("line", xlName); | ||
| 1335 | resList.add(tempMap); | 1371 | resList.add(tempMap); |
| 1336 | } | 1372 | } |
| 1337 | - | 1373 | + |
| 1338 | if(type.equals("export")){ | 1374 | if(type.equals("export")){ |
| 1339 | SimpleDateFormat sdfMonth = new SimpleDateFormat("yyyy-MM-dd"), | 1375 | SimpleDateFormat sdfMonth = new SimpleDateFormat("yyyy-MM-dd"), |
| 1340 | sdfSimple = new SimpleDateFormat("yyyyMMdd"); | 1376 | sdfSimple = new SimpleDateFormat("yyyyMMdd"); |
| @@ -1357,164 +1393,248 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | @@ -1357,164 +1393,248 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | ||
| 1357 | 1393 | ||
| 1358 | @Override | 1394 | @Override |
| 1359 | public List<Map<String, Object>> firstAndLastBus_sum(Map<String, Object> map) { | 1395 | public List<Map<String, Object>> firstAndLastBus_sum(Map<String, Object> map) { |
| 1396 | + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); | ||
| 1360 | NumberFormat nf = NumberFormat.getNumberInstance(); | 1397 | NumberFormat nf = NumberFormat.getNumberInstance(); |
| 1361 | nf.setMinimumFractionDigits(2); | 1398 | nf.setMinimumFractionDigits(2); |
| 1399 | + List<ScheduleRealInfo> list = new ArrayList<ScheduleRealInfo>(); | ||
| 1362 | List<Map<String, Object>> resList = new ArrayList<Map<String, Object>>(); | 1400 | List<Map<String, Object>> resList = new ArrayList<Map<String, Object>>(); |
| 1363 | - Map<String, List<ScheduleRealInfo>> keyMap = new HashMap<String, List<ScheduleRealInfo>>(); | ||
| 1364 | 1401 | ||
| 1365 | String company = map.get("company").toString(); | 1402 | String company = map.get("company").toString(); |
| 1366 | String subCompany = map.get("subCompany").toString(); | 1403 | String subCompany = map.get("subCompany").toString(); |
| 1367 | String line = map.get("line").toString(); | 1404 | String line = map.get("line").toString(); |
| 1368 | - String date = map.get("date").toString(); | 1405 | +// String date = map.get("date").toString(); |
| 1406 | + String startDate = map.get("startDate").toString(); | ||
| 1407 | + String endDate = map.get("endDate").toString(); | ||
| 1369 | String type = map.get("type").toString(); | 1408 | String type = map.get("type").toString(); |
| 1370 | 1409 | ||
| 1371 | - if(date.length() == 0) | ||
| 1372 | - date = new SimpleDateFormat("yyyy-MM-dd").format(new Date()); | ||
| 1373 | - | ||
| 1374 | - List<ScheduleRealInfo> list = this.getSchedule(company, subCompany, line, date); | 1410 | + if(startDate.length() == 0) |
| 1411 | + startDate = sdf.format(new Date()); | ||
| 1412 | + if(endDate.length() == 0) | ||
| 1413 | + endDate = sdf.format(new Date()); | ||
| 1375 | 1414 | ||
| 1376 | - for(ScheduleRealInfo schedule : list){ | ||
| 1377 | - if(schedule.getBcType().equals("in") || schedule.getBcType().equals("out") || schedule.getBcType().equals("ldks")) | ||
| 1378 | - continue; | ||
| 1379 | - if(schedule.getStatus() == -1){ | ||
| 1380 | - continue; | ||
| 1381 | - } | ||
| 1382 | - String key = schedule.getXlName(); | ||
| 1383 | - if(key == null || key.trim().length() == 0) | ||
| 1384 | - continue; | ||
| 1385 | - if(!keyMap.containsKey(key)) | ||
| 1386 | - keyMap.put(key, new ArrayList<ScheduleRealInfo>()); | ||
| 1387 | - keyMap.get(key).add(schedule); | 1415 | + String dates = ""; |
| 1416 | + if(startDate.equals(endDate)){ | ||
| 1417 | + String[] split = startDate.split("-"); | ||
| 1418 | + dates = split[0]+"年"+split[1]+"月"+split[2]+"日"; | ||
| 1419 | + } else { | ||
| 1420 | + String[] split1 = startDate.split("-"); | ||
| 1421 | + String[] split2 = endDate.split("-"); | ||
| 1422 | + dates = split1[0]+"年"+split1[1]+"月"+split1[2]+"日--" | ||
| 1423 | + +split2[0]+"年"+split2[1]+"月"+split2[2]+"日"; | ||
| 1388 | } | 1424 | } |
| 1389 | - for(String key : keyMap.keySet()){ | ||
| 1390 | - Map<String, Object> tempMap = new HashMap<String, Object>(); | ||
| 1391 | - Map<String, Object> m = new HashMap<String, Object>(); | ||
| 1392 | - Map<Long, ScheduleRealInfo> temp0 = new HashMap<Long, ScheduleRealInfo>(); | ||
| 1393 | - List<Long> longList0 = new ArrayList<Long>(); | ||
| 1394 | - Map<Long, ScheduleRealInfo> temp1 = new HashMap<Long, ScheduleRealInfo>(); | ||
| 1395 | - List<Long> longList1 = new ArrayList<Long>(); | ||
| 1396 | - String companyName = "", subCompanyName = ""; | ||
| 1397 | - for(ScheduleRealInfo schedule : keyMap.get(key)){ | ||
| 1398 | - if(schedule.getFcsjActual() == null || schedule.getFcsjActual().trim().length() == 0){ | ||
| 1399 | - continue; | ||
| 1400 | - } | ||
| 1401 | - if(schedule.getGsName() != null && companyName.length() == 0) | ||
| 1402 | - companyName = schedule.getGsName(); | ||
| 1403 | - if(schedule.getFgsName() != null && subCompanyName.length() == 0) | ||
| 1404 | - subCompanyName = schedule.getFgsName(); | ||
| 1405 | - String[] split = schedule.getFcsj().split(":"); | ||
| 1406 | - long min = Integer.valueOf(split[0])*60 + Integer.valueOf(split[1]); | ||
| 1407 | - schedule.setFcsjT(min); | ||
| 1408 | - if(schedule.getXlDir().equals("0")){ | ||
| 1409 | - temp0.put(min, schedule); | ||
| 1410 | - longList0.add(min); | ||
| 1411 | - } else { | ||
| 1412 | - temp1.put(min, schedule); | ||
| 1413 | - longList1.add(min); | 1425 | + |
| 1426 | + try { | ||
| 1427 | + String sql = "select a.schedule_date_Str, a.real_exec_date, a.xl_name, a.fcsj, a.fcsj_actual, a.zdsj, a.zdsj_actual, a.qdz_name, a.zdz_name, a.xl_dir, a.status, a.gs_name, a.fgs_name," | ||
| 1428 | + + " b.start_opt from bsth_c_s_sp_info_real a left join (select line, start_opt from bsth_c_line_config order by id desc) b on a.xl_bm = b.line" | ||
| 1429 | + + " where DATE_FORMAT(schedule_date,'%Y-%m-%d') >= '"+startDate+"' and DATE_FORMAT(schedule_date,'%Y-%m-%d') <= '"+endDate+"'" | ||
| 1430 | + + " and fcsj_actual is not null and fcsj_actual != '' and bc_type != 'in' and bc_type != 'out' and bc_type != 'ldks'"; | ||
| 1431 | + if(line.length() != 0) | ||
| 1432 | + sql += " and xl_bm = '"+line+"'"; | ||
| 1433 | + if(company.length() != 0) | ||
| 1434 | + sql += " and gs_bm = '"+company+"' and fgs_bm = '"+subCompany+"'"; | ||
| 1435 | + | ||
| 1436 | + list = jdbcTemplate.query(sql, | ||
| 1437 | + new RowMapper<ScheduleRealInfo>(){ | ||
| 1438 | + @Override | ||
| 1439 | + public ScheduleRealInfo mapRow(ResultSet rs, int rowNum) throws SQLException { | ||
| 1440 | + ScheduleRealInfo schedule = new ScheduleRealInfo(); | ||
| 1441 | + schedule.setScheduleDateStr(rs.getString("schedule_date_Str")); | ||
| 1442 | + schedule.setRealExecDate(rs.getString("real_exec_date")); | ||
| 1443 | + schedule.setXlName(rs.getString("xl_name")); | ||
| 1444 | + schedule.setFcsj(rs.getString("fcsj")); | ||
| 1445 | + schedule.setFcsjActual(rs.getString("fcsj_actual")); | ||
| 1446 | + schedule.setZdsj(rs.getString("zdsj")); | ||
| 1447 | + schedule.setZdsjActual(rs.getString("zdsj_actual")); | ||
| 1448 | + schedule.setQdzName(rs.getString("qdz_name")); | ||
| 1449 | + schedule.setZdzName(rs.getString("zdz_name")); | ||
| 1450 | + schedule.setXlDir(rs.getString("xl_dir")); | ||
| 1451 | + schedule.setStatus(rs.getInt("status")); | ||
| 1452 | + schedule.setGsName(rs.getString("gs_name")); | ||
| 1453 | + schedule.setFgsName(rs.getString("fgs_name")); | ||
| 1454 | + | ||
| 1455 | + int startOpt = 0; | ||
| 1456 | + if(rs.getString("start_opt") != null && rs.getString("start_opt").trim().length() != 0){ | ||
| 1457 | + String[] split = rs.getString("start_opt").split(":"); | ||
| 1458 | + startOpt = Integer.valueOf(split[0])*60 + Integer.valueOf(split[1]); | ||
| 1459 | + } | ||
| 1460 | + | ||
| 1461 | + if(schedule.getFcsjActual() != null && schedule.getFcsjActual().trim().length() == 0){ | ||
| 1462 | + schedule.setFcsjActual(null); | ||
| 1463 | + } | ||
| 1464 | + if(schedule.getZdsjActual() != null && schedule.getZdsjActual().trim().length() == 0){ | ||
| 1465 | + schedule.setZdsjActual(null); | ||
| 1466 | + } | ||
| 1467 | + if(schedule.getFcsj() != null){ | ||
| 1468 | + String[] split = schedule.getFcsj().split(":"); | ||
| 1469 | + int fcsj = Integer.valueOf(split[0]) * 60 + Integer.valueOf(split[1]); | ||
| 1470 | + if(fcsj < startOpt) | ||
| 1471 | + fcsj += 1440; | ||
| 1472 | + schedule.setFcsjT((long)fcsj); | ||
| 1473 | + } | ||
| 1474 | + if(schedule.getFcsjActual() != null){ | ||
| 1475 | + String[] split = schedule.getFcsjActual().split(":"); | ||
| 1476 | + int fcsjA = Integer.valueOf(split[0]) * 60 + Integer.valueOf(split[1]); | ||
| 1477 | + if(fcsjA < startOpt || !schedule.getRealExecDate().equals(schedule.getScheduleDateStr())) | ||
| 1478 | + fcsjA += 1440; | ||
| 1479 | + schedule.setFcsjActualTime((long)fcsjA); | ||
| 1480 | + } | ||
| 1481 | + | ||
| 1482 | + return schedule; | ||
| 1414 | } | 1483 | } |
| 1415 | - } | 1484 | + }); |
| 1416 | 1485 | ||
| 1417 | - if(longList0.size() == 0 && longList1.size() == 0){ | ||
| 1418 | - continue; | 1486 | + } catch (Exception e) { |
| 1487 | + // TODO: handle exception | ||
| 1488 | + e.printStackTrace(); | ||
| 1489 | + } | ||
| 1490 | + | ||
| 1491 | + Map<String, Map<String, List<ScheduleRealInfo>>> keyMap = new HashMap<String, Map<String,List<ScheduleRealInfo>>>(); | ||
| 1492 | + String companyName = "", subCompanyName = ""; | ||
| 1493 | + | ||
| 1494 | + for(ScheduleRealInfo s : list){ | ||
| 1495 | + String xlName = s.getXlName(); | ||
| 1496 | + String date = s.getScheduleDateStr(); | ||
| 1497 | + if(!keyMap.containsKey(xlName)) | ||
| 1498 | + keyMap.put(xlName, new HashMap<String, List<ScheduleRealInfo>>()); | ||
| 1499 | + if(!keyMap.get(xlName).containsKey(date)) | ||
| 1500 | + keyMap.get(xlName).put(date, new ArrayList<ScheduleRealInfo>()); | ||
| 1501 | + keyMap.get(xlName).get(date).add(s); | ||
| 1502 | + if(companyName.length()==0&&s.getGsName()!=null&&s.getGsName().trim().length()!=0) | ||
| 1503 | + companyName = s.getGsName(); | ||
| 1504 | + if(subCompanyName.length()==0&&s.getFgsName()!=null&&s.getFgsName().trim().length()!=0) | ||
| 1505 | + subCompanyName = s.getFgsName(); | ||
| 1506 | + } | ||
| 1507 | + | ||
| 1508 | + for(String xlName : keyMap.keySet()){ | ||
| 1509 | + List<Map<String, Object>> tempList = new ArrayList<Map<String,Object>>(); | ||
| 1510 | + Map<String, Object> tempMap = new HashMap<String, Object>(); | ||
| 1511 | + Map<Long, String> dateMap = new HashMap<Long, String>(); | ||
| 1512 | + List<Long> Longs = new ArrayList<Long>(); | ||
| 1513 | + int jhbc = 0, sjbc = 0; | ||
| 1514 | + for(String date : keyMap.get(xlName).keySet()){ | ||
| 1515 | + String[] split = date.split("-"); | ||
| 1516 | + long l = Long.valueOf(split[0])*10000 + Long.valueOf(split[1])*100 + Long.valueOf(split[2]); | ||
| 1517 | + dateMap.put(l, date); | ||
| 1518 | + Longs.add(l); | ||
| 1419 | } | 1519 | } |
| 1420 | - int jhbc = 0; | ||
| 1421 | - int sjbc = 0; | ||
| 1422 | - | ||
| 1423 | - if(longList0.size() != 0){ | ||
| 1424 | - Collections.sort(longList0); | ||
| 1425 | - ScheduleRealInfo shouban0 = temp0.get(longList0.get(0)); | ||
| 1426 | - ScheduleRealInfo moban0 = temp0.get(longList0.get(longList0.size() - 1)); | ||
| 1427 | - if(shouban0.getFcsjActual() != null){ | ||
| 1428 | - jhbc++; | ||
| 1429 | - String[] split = shouban0.getFcsjActual().split(":"); | ||
| 1430 | - long min = Integer.valueOf(split[0])*60 + Integer.valueOf(split[1]); | ||
| 1431 | - long delay = shouban0.getFcsjT() - min; | ||
| 1432 | - if(delay >= -3 && delay <= 1){ | ||
| 1433 | - sjbc++; | 1520 | + Collections.sort(Longs); |
| 1521 | + for(long l : Longs){ | ||
| 1522 | + String date = dateMap.get(l); | ||
| 1523 | + Map<String, Object> temp = new HashMap<String, Object>(); | ||
| 1524 | + temp.put("date", date.substring(5)); | ||
| 1525 | + temp.put("line", xlName); | ||
| 1526 | + List<Long> up1 = new ArrayList<Long>(); | ||
| 1527 | + List<Long> up2 = new ArrayList<Long>();; | ||
| 1528 | + List<Long> dn1 = new ArrayList<Long>(); | ||
| 1529 | + List<Long> dn2 = new ArrayList<Long>(); | ||
| 1530 | + Map<Long, ScheduleRealInfo> up1Map = new HashMap<Long, ScheduleRealInfo>(); | ||
| 1531 | + Map<Long, ScheduleRealInfo> up2Map = new HashMap<Long, ScheduleRealInfo>(); | ||
| 1532 | + Map<Long, ScheduleRealInfo> dn1Map = new HashMap<Long, ScheduleRealInfo>(); | ||
| 1533 | + Map<Long, ScheduleRealInfo> dn2Map = new HashMap<Long, ScheduleRealInfo>(); | ||
| 1534 | + for(ScheduleRealInfo s : keyMap.get(xlName).get(date)){ | ||
| 1535 | + if(s.getXlDir().equals("0")){ | ||
| 1536 | + up1.add(s.getFcsjT()); | ||
| 1537 | + up2.add(s.getFcsjActualTime()); | ||
| 1538 | + up1Map.put(s.getFcsjT(), s); | ||
| 1539 | + up2Map.put(s.getFcsjActualTime(), s); | ||
| 1540 | + } else if(s.getXlDir().equals("1")){ | ||
| 1541 | + dn1.add(s.getFcsjT()); | ||
| 1542 | + dn2.add(s.getFcsjActualTime()); | ||
| 1543 | + dn1Map.put(s.getFcsjT(), s); | ||
| 1544 | + dn2Map.put(s.getFcsjActualTime(), s); | ||
| 1434 | } | 1545 | } |
| 1435 | - m.put("qdzFirst0", shouban0.getQdzName()); | ||
| 1436 | - m.put("jhfcFirst0", shouban0.getFcsj()); | ||
| 1437 | - m.put("sjfcFirst0", shouban0.getFcsjActual()); | ||
| 1438 | - m.put("delayFirst0", delay>0?"+"+delay:delay); | ||
| 1439 | } | 1546 | } |
| 1440 | - | ||
| 1441 | - if(moban0.getFcsjActual() != null){ | ||
| 1442 | - jhbc++; | ||
| 1443 | - String[] split = moban0.getFcsjActual().split(":"); | ||
| 1444 | - long min = Integer.valueOf(split[0])*60 + Integer.valueOf(split[1]); | ||
| 1445 | - long delay = moban0.getFcsjT() - min; | ||
| 1446 | - if(delay >= -3 && delay <= 1){ | 1547 | + if(up1.size() > 0 && up2.size() > 0){ |
| 1548 | + Collections.sort(up1); | ||
| 1549 | + Collections.sort(up2); | ||
| 1550 | + ScheduleRealInfo s1 = up1Map.get(up1.get(0)); | ||
| 1551 | + ScheduleRealInfo s2 = up2Map.get(up2.get(0)); | ||
| 1552 | + ScheduleRealInfo s3 = up1Map.get(up1.get(up1.size()-1)); | ||
| 1553 | + ScheduleRealInfo s4 = up2Map.get(up2.get(up2.size()-1)); | ||
| 1554 | + long delayFirst0 = up1.get(0) - up2.get(0); | ||
| 1555 | + long delayLast0 = up1.get(up1.size()-1) - up2.get(up2.size()-1); | ||
| 1556 | + temp.put("qdzFirst0", s1.getQdzName()); | ||
| 1557 | + temp.put("jhfcFirst0", s1.getFcsj()); | ||
| 1558 | + temp.put("sjfcFirst0", s2.getFcsjActual()); | ||
| 1559 | + temp.put("delayFirst0", delayFirst0>0?"+"+delayFirst0:delayFirst0); | ||
| 1560 | + temp.put("qdzLast0", s3.getQdzName()); | ||
| 1561 | + temp.put("jhfcLast0", s3.getFcsj()); | ||
| 1562 | + temp.put("sjfcLast0", s4.getFcsjActual()); | ||
| 1563 | + temp.put("delayLast0", delayLast0>0?"+"+delayLast0:delayLast0); | ||
| 1564 | + jhbc += 2; | ||
| 1565 | + if(delayFirst0 <= 1l && delayFirst0 >= -3l) | ||
| 1447 | sjbc++; | 1566 | sjbc++; |
| 1448 | - } | ||
| 1449 | - m.put("qdzLast0", moban0.getQdzName()); | ||
| 1450 | - m.put("jhfcLast0", moban0.getFcsj()); | ||
| 1451 | - m.put("sjfcLast0", moban0.getFcsjActual()); | ||
| 1452 | - m.put("delayLast0", delay>0?"+"+delay:delay); | ||
| 1453 | - } | ||
| 1454 | - } else { | ||
| 1455 | - m.put("qdzFirst0", "--"); | ||
| 1456 | - m.put("jhfcFirst0", "/"); | ||
| 1457 | - m.put("sjfcFirst0", "/"); | ||
| 1458 | - m.put("delayFirst0", "/"); | ||
| 1459 | - m.put("qdzLast0", "--"); | ||
| 1460 | - m.put("jhfcLast0", "/"); | ||
| 1461 | - m.put("sjfcLast0", "/"); | ||
| 1462 | - m.put("delayLast0", "/"); | ||
| 1463 | - } | ||
| 1464 | - | ||
| 1465 | - if(longList1.size() != 0){ | ||
| 1466 | - Collections.sort(longList1); | ||
| 1467 | - ScheduleRealInfo shouban1 = temp1.get(longList1.get(0)); | ||
| 1468 | - ScheduleRealInfo moban1 = temp1.get(longList1.get(longList1.size() - 1)); | ||
| 1469 | - if(shouban1.getFcsjActual() != null){ | ||
| 1470 | - jhbc++; | ||
| 1471 | - String[] split = shouban1.getFcsjActual().split(":"); | ||
| 1472 | - long min = Integer.valueOf(split[0])*60 + Integer.valueOf(split[1]); | ||
| 1473 | - long delay = shouban1.getFcsjT() - min; | ||
| 1474 | - if(delay >= -3 && delay <= 1){ | 1567 | + if(delayLast0 <= 1l && delayLast0 >= -3l) |
| 1475 | sjbc++; | 1568 | sjbc++; |
| 1476 | - } | ||
| 1477 | - m.put("qdzFirst1", shouban1.getQdzName()); | ||
| 1478 | - m.put("jhfcFirst1", shouban1.getFcsj()); | ||
| 1479 | - m.put("sjfcFirst1", shouban1.getFcsjActual()); | ||
| 1480 | - m.put("delayFirst1", delay>0?"+"+delay:delay); | 1569 | + } else { |
| 1570 | + temp.put("qdzFirst0", "--"); | ||
| 1571 | + temp.put("jhfcFirst0", "/"); | ||
| 1572 | + temp.put("sjfcFirst0", "/"); | ||
| 1573 | + temp.put("delayFirst0", "/"); | ||
| 1574 | + temp.put("qdzLast0", "--"); | ||
| 1575 | + temp.put("jhfcLast0", "/"); | ||
| 1576 | + temp.put("sjfcLast0", "/"); | ||
| 1577 | + temp.put("delayLast0", "/"); | ||
| 1481 | } | 1578 | } |
| 1482 | - | ||
| 1483 | - if(moban1.getFcsjActual() != null){ | ||
| 1484 | - jhbc++; | ||
| 1485 | - String[] split = moban1.getFcsjActual().split(":"); | ||
| 1486 | - long min = Integer.valueOf(split[0])*60 + Integer.valueOf(split[1]); | ||
| 1487 | - long delay = moban1.getFcsjT() - min; | ||
| 1488 | - if(delay >= -3 && delay <= 1){ | 1579 | + if(dn1.size() > 0 && dn2.size() > 0){ |
| 1580 | + Collections.sort(dn1); | ||
| 1581 | + Collections.sort(dn2); | ||
| 1582 | + ScheduleRealInfo s1 = dn1Map.get(dn1.get(0)); | ||
| 1583 | + ScheduleRealInfo s2 = dn2Map.get(dn2.get(0)); | ||
| 1584 | + ScheduleRealInfo s3 = dn1Map.get(dn1.get(dn1.size()-1)); | ||
| 1585 | + ScheduleRealInfo s4 = dn2Map.get(dn2.get(dn2.size()-1)); | ||
| 1586 | + long delayFirst1 = dn1.get(0) - dn2.get(0); | ||
| 1587 | + long delayLast1 = dn1.get(dn1.size()-1) - dn2.get(dn2.size()-1); | ||
| 1588 | + temp.put("qdzFirst1", s1.getQdzName()); | ||
| 1589 | + temp.put("jhfcFirst1", s1.getFcsj()); | ||
| 1590 | + temp.put("sjfcFirst1", s2.getFcsjActual()); | ||
| 1591 | + temp.put("delayFirst1", delayFirst1>0?"+"+delayFirst1:delayFirst1); | ||
| 1592 | + temp.put("qdzLast1", s3.getQdzName()); | ||
| 1593 | + temp.put("jhfcLast1", s3.getFcsj()); | ||
| 1594 | + temp.put("sjfcLast1", s4.getFcsjActual()); | ||
| 1595 | + temp.put("delayLast1", delayLast1>0?"+"+delayLast1:delayLast1); | ||
| 1596 | + jhbc += 2; | ||
| 1597 | + if(delayFirst1 <= 1l && delayFirst1 >= -3l) | ||
| 1489 | sjbc++; | 1598 | sjbc++; |
| 1490 | - } | ||
| 1491 | - m.put("qdzLast1", moban1.getQdzName()); | ||
| 1492 | - m.put("jhfcLast1", moban1.getFcsj()); | ||
| 1493 | - m.put("sjfcLast1", moban1.getFcsjActual()); | ||
| 1494 | - m.put("delayLast1", delay>0?"+"+delay:delay); | 1599 | + if(delayLast1 <= 1l && delayLast1 >= -3l) |
| 1600 | + sjbc++; | ||
| 1601 | + } else { | ||
| 1602 | + temp.put("qdzFirst1", "--"); | ||
| 1603 | + temp.put("jhfcFirst1", "/"); | ||
| 1604 | + temp.put("sjfcFirst1", "/"); | ||
| 1605 | + temp.put("delayFirst1", "/"); | ||
| 1606 | + temp.put("qdzLast1", "--"); | ||
| 1607 | + temp.put("jhfcLast1", "/"); | ||
| 1608 | + temp.put("sjfcLast1", "/"); | ||
| 1609 | + temp.put("delayLast1", "/"); | ||
| 1495 | } | 1610 | } |
| 1496 | - } else { | ||
| 1497 | - m.put("qdzFirst1", "--"); | ||
| 1498 | - m.put("jhfcFirst1", "/"); | ||
| 1499 | - m.put("sjfcFirst1", "/"); | ||
| 1500 | - m.put("delayFirst1", "/"); | ||
| 1501 | - m.put("qdzLast1", "--"); | ||
| 1502 | - m.put("jhfcLast1", "/"); | ||
| 1503 | - m.put("sjfcLast1", "/"); | ||
| 1504 | - m.put("delayLast1", "/"); | 1611 | + tempList.add(temp); |
| 1505 | } | 1612 | } |
| 1506 | - | ||
| 1507 | - m.put("line", key); | ||
| 1508 | - tempMap.put("map", m); | 1613 | + tempMap.put("map", tempList); |
| 1614 | + tempMap.put("company", companyName); | ||
| 1615 | + tempMap.put("subCompany", subCompanyName); | ||
| 1616 | + tempMap.put("date", dates); | ||
| 1617 | + tempMap.put("line", xlName); | ||
| 1509 | tempMap.put("jhbc", jhbc); | 1618 | tempMap.put("jhbc", jhbc); |
| 1510 | tempMap.put("sjbc", sjbc); | 1619 | tempMap.put("sjbc", sjbc); |
| 1511 | tempMap.put("zdl", nf.format((float) sjbc / jhbc *100) + "%"); | 1620 | tempMap.put("zdl", nf.format((float) sjbc / jhbc *100) + "%"); |
| 1512 | - tempMap.put("date", date); | ||
| 1513 | - tempMap.put("company", companyName); | ||
| 1514 | - tempMap.put("subCompany", subCompanyName); | ||
| 1515 | - tempMap.put("line", key); | ||
| 1516 | resList.add(tempMap); | 1621 | resList.add(tempMap); |
| 1517 | } | 1622 | } |
| 1623 | + | ||
| 1624 | + Map<String, Object> tempMap = new HashMap<String, Object>(); | ||
| 1625 | + if(resList.size() > 0){ | ||
| 1626 | + tempMap.put("date", "合计汇总"); | ||
| 1627 | + int jhbc = 0, sjbc = 0; | ||
| 1628 | + for(Map<String, Object> m : resList){ | ||
| 1629 | + jhbc += Integer.valueOf(m.get("jhbc").toString()); | ||
| 1630 | + sjbc += Integer.valueOf(m.get("sjbc").toString()); | ||
| 1631 | + } | ||
| 1632 | + tempMap.put("jhbc", jhbc); | ||
| 1633 | + tempMap.put("sjbc", sjbc); | ||
| 1634 | + tempMap.put("zdl", nf.format((float) sjbc / jhbc *100) + "%"); | ||
| 1635 | + if(!type.equals("export")) | ||
| 1636 | + resList.add(tempMap); | ||
| 1637 | + } | ||
| 1518 | 1638 | ||
| 1519 | if(type.equals("export")){ | 1639 | if(type.equals("export")){ |
| 1520 | SimpleDateFormat sdfMonth = new SimpleDateFormat("yyyy-MM-dd"), | 1640 | SimpleDateFormat sdfMonth = new SimpleDateFormat("yyyy-MM-dd"), |
| @@ -1525,8 +1645,9 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | @@ -1525,8 +1645,9 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | ||
| 1525 | try { | 1645 | try { |
| 1526 | listI.add(resList.iterator()); | 1646 | listI.add(resList.iterator()); |
| 1527 | String path = this.getClass().getResource("/").getPath()+"static/pages/forms/"; | 1647 | String path = this.getClass().getResource("/").getPath()+"static/pages/forms/"; |
| 1528 | - ee.excelReplace(listI, new Object[] { m }, path+"mould/firstAndLastBus_sum.xls", | ||
| 1529 | - path+"export/线路首末班准点率" + sdfSimple.format(sdfMonth.parse(date)) + ".xls"); | 1648 | + ee.excelReplace(listI, new Object[] { tempMap }, path+"mould/firstAndLastBus_sum.xls", |
| 1649 | + path+"export/线路首末班准点率" + sdfSimple.format(sdfMonth.parse(startDate)) + | ||
| 1650 | + (startDate.equals(endDate)?"":"-"+sdfSimple.format(sdfMonth.parse(endDate))) + ".xls"); | ||
| 1530 | } catch (Exception e) { | 1651 | } catch (Exception e) { |
| 1531 | // TODO: handle exception | 1652 | // TODO: handle exception |
| 1532 | e.printStackTrace(); | 1653 | e.printStackTrace(); |
src/main/java/com/bsth/service/traffic/SKBUploadLoggerService.java
0 → 100644
src/main/java/com/bsth/service/traffic/YgcBasicDataService.java
0 → 100644
src/main/java/com/bsth/service/traffic/impl/SKBUploadLoggerServiceImpl.java
0 → 100644
| 1 | +package com.bsth.service.traffic.impl; | ||
| 2 | + | ||
| 3 | +import com.bsth.entity.traffic.SKBUploadLogger; | ||
| 4 | +import com.bsth.service.impl.BaseServiceImpl; | ||
| 5 | +import com.bsth.service.traffic.SKBUploadLoggerService; | ||
| 6 | +import org.slf4j.Logger; | ||
| 7 | +import org.slf4j.LoggerFactory; | ||
| 8 | +import org.springframework.stereotype.Service; | ||
| 9 | + | ||
| 10 | +/** | ||
| 11 | + * | ||
| 12 | + * @ClassName: TrafficManageServiceImpl(运管处接口service业务层实现类) | ||
| 13 | + * | ||
| 14 | + * @Extends : BaseService | ||
| 15 | + * | ||
| 16 | + * @Description: | ||
| 17 | + * | ||
| 18 | + * @Author bsth@zq | ||
| 19 | + * | ||
| 20 | + * @Date 2016年10月28日 上午9:21:17 | ||
| 21 | + * | ||
| 22 | + * @Version 公交调度系统BS版 0.1 | ||
| 23 | + * | ||
| 24 | + */ | ||
| 25 | + | ||
| 26 | +@Service | ||
| 27 | +public class SKBUploadLoggerServiceImpl extends BaseServiceImpl<SKBUploadLogger,Integer> implements SKBUploadLoggerService{ | ||
| 28 | + | ||
| 29 | + Logger logger = LoggerFactory.getLogger(this.getClass()); | ||
| 30 | + | ||
| 31 | +} |
src/main/java/com/bsth/service/traffic/impl/YgcBasicDataServiceImpl.java
0 → 100644
| 1 | +package com.bsth.service.traffic.impl; | ||
| 2 | + | ||
| 3 | +import com.bsth.service.impl.TrafficManageServiceImpl; | ||
| 4 | +import com.bsth.service.traffic.YgcBasicDataService; | ||
| 5 | +import com.bsth.util.db.DBUtils_oldSystem; | ||
| 6 | +import org.apache.axiom.om.*; | ||
| 7 | +import org.apache.axis2.addressing.EndpointReference; | ||
| 8 | +import org.apache.axis2.client.Options; | ||
| 9 | +import org.apache.axis2.client.ServiceClient; | ||
| 10 | +import org.apache.commons.codec.digest.DigestUtils; | ||
| 11 | +import org.slf4j.Logger; | ||
| 12 | +import org.slf4j.LoggerFactory; | ||
| 13 | +import org.springframework.beans.factory.annotation.Autowired; | ||
| 14 | +import org.springframework.jdbc.core.BatchPreparedStatementSetter; | ||
| 15 | +import org.springframework.jdbc.core.JdbcTemplate; | ||
| 16 | +import org.springframework.stereotype.Service; | ||
| 17 | +import org.w3c.dom.Document; | ||
| 18 | +import org.w3c.dom.NodeList; | ||
| 19 | + | ||
| 20 | +import javax.activation.DataHandler; | ||
| 21 | +import javax.xml.parsers.DocumentBuilder; | ||
| 22 | +import javax.xml.parsers.DocumentBuilderFactory; | ||
| 23 | +import java.io.*; | ||
| 24 | +import java.sql.PreparedStatement; | ||
| 25 | +import java.sql.SQLException; | ||
| 26 | +import java.util.ArrayList; | ||
| 27 | +import java.util.HashMap; | ||
| 28 | +import java.util.List; | ||
| 29 | +import java.util.zip.ZipEntry; | ||
| 30 | +import java.util.zip.ZipFile; | ||
| 31 | +import java.util.zip.ZipInputStream; | ||
| 32 | + | ||
| 33 | +/** | ||
| 34 | + * 运管处基础数据操作类 | ||
| 35 | + * Created by zq on 2017/6/15. | ||
| 36 | + */ | ||
| 37 | +@Service | ||
| 38 | +public class YgcBasicDataServiceImpl implements YgcBasicDataService{ | ||
| 39 | + Logger logger = LoggerFactory.getLogger(TrafficManageServiceImpl.class); | ||
| 40 | + | ||
| 41 | + @Autowired | ||
| 42 | + JdbcTemplate jdbcTemplate; | ||
| 43 | + | ||
| 44 | + private static String IP = "218.242.195.76:9091"; | ||
| 45 | + private static String targetEndpoint = "http://" + IP +"/ygc.TransManager.Basicdown?wsdl"; | ||
| 46 | + private static String namespace = "http://service.shygc.com"; | ||
| 47 | + private static String userName = "admin"; | ||
| 48 | + private static String passWord = "000000"; | ||
| 49 | + private static EndpointReference targetEPR; | ||
| 50 | + { | ||
| 51 | + try { | ||
| 52 | + targetEPR = new EndpointReference(targetEndpoint); | ||
| 53 | + } catch (Exception e) { | ||
| 54 | + e.printStackTrace(); | ||
| 55 | + } | ||
| 56 | + } | ||
| 57 | + | ||
| 58 | + /** | ||
| 59 | + * 更新运管处基础数据 | ||
| 60 | + */ | ||
| 61 | + public void updateYgcBasicData(){ | ||
| 62 | + String saveFile = "ygcBasicData.zip"; | ||
| 63 | + String flag = "failure"; | ||
| 64 | + try { | ||
| 65 | + // 调用接口下载基础数据 | ||
| 66 | + if(download(userName, DigestUtils.md5Hex(passWord), saveFile)){ | ||
| 67 | + // 读取基础数据zip | ||
| 68 | + StringBuffer sb = readZipFile(saveFile); | ||
| 69 | + // 解析xml | ||
| 70 | + List<HashMap<String,String>> result = parseXml(sb); | ||
| 71 | + // 插入数据库 | ||
| 72 | + if(result != null && result.size() > 0){ | ||
| 73 | + insertRecord(result); | ||
| 74 | + } | ||
| 75 | + } | ||
| 76 | + flag = "success"; | ||
| 77 | + }catch (Exception e){ | ||
| 78 | + e.printStackTrace(); | ||
| 79 | + } | ||
| 80 | + finally { | ||
| 81 | + // 删除文件 | ||
| 82 | + File fill = new File(saveFile); | ||
| 83 | + logger.info("updateYgcBasicData:"+fill.getAbsolutePath()); | ||
| 84 | + logger.info("updateYgcBasicData:"+flag); | ||
| 85 | + if(fill.exists()){ | ||
| 86 | + fill.delete(); | ||
| 87 | + } | ||
| 88 | + } | ||
| 89 | + } | ||
| 90 | + /** | ||
| 91 | + * 下载基础数据,并生成rar文件 | ||
| 92 | + * @param userName | ||
| 93 | + * @param password | ||
| 94 | + * @param saveFile | ||
| 95 | + * @return | ||
| 96 | + */ | ||
| 97 | + private boolean download(String userName, String password, String saveFile) | ||
| 98 | + { | ||
| 99 | + try | ||
| 100 | + { | ||
| 101 | + OMElement data = buildDownloadEnvelope(userName, password); | ||
| 102 | + ServiceClient sender = new ServiceClient(); | ||
| 103 | + Options options = sender.getOptions(); | ||
| 104 | + options.setProperty("SO_TIMEOUT", Integer.valueOf(1800000)); | ||
| 105 | + options.setTo(targetEPR); | ||
| 106 | + sender.setOptions(options); | ||
| 107 | + System.out.println("The data in method download: " + data); | ||
| 108 | + data.build(); | ||
| 109 | + OMElement ome = sender.sendReceive(data); | ||
| 110 | + | ||
| 111 | + OMText binaryNode = (OMText)ome.getFirstOMChild(); | ||
| 112 | + binaryNode.setOptimize(true); | ||
| 113 | + DataHandler actualDH = (DataHandler)binaryNode.getDataHandler(); | ||
| 114 | + FileOutputStream imageOutStream = new FileOutputStream(saveFile); | ||
| 115 | + InputStream is = actualDH.getInputStream(); | ||
| 116 | + int read ; | ||
| 117 | + byte[] buffer = new byte[1024]; | ||
| 118 | + while ((read = is.read(buffer)) != -1) { | ||
| 119 | + imageOutStream.write(buffer, 0, read); | ||
| 120 | + } | ||
| 121 | + return true; | ||
| 122 | + } catch (Exception e) { | ||
| 123 | + e.printStackTrace(); | ||
| 124 | + }return false; | ||
| 125 | + } | ||
| 126 | + | ||
| 127 | + /** | ||
| 128 | + * 构建webservice接口参数 | ||
| 129 | + * @param userName | ||
| 130 | + * @param password | ||
| 131 | + * @return | ||
| 132 | + */ | ||
| 133 | + private OMElement buildDownloadEnvelope(String userName, String password) | ||
| 134 | + { | ||
| 135 | + OMFactory fac = OMAbstractFactory.getOMFactory(); | ||
| 136 | + OMNamespace omNs = fac.createOMNamespace(namespace, | ||
| 137 | + "ser"); | ||
| 138 | + OMElement data = fac.createOMElement("downloadAllDataFile", omNs); | ||
| 139 | + OMElement _userName = fac.createOMElement("userName", omNs); | ||
| 140 | + _userName.setText(userName); | ||
| 141 | + OMElement _passWord = fac.createOMElement("passWord", omNs); | ||
| 142 | + _passWord.setText(String.valueOf(password)); | ||
| 143 | + | ||
| 144 | + data.addChild(_userName); | ||
| 145 | + data.addChild(_passWord); | ||
| 146 | + | ||
| 147 | + OMElement soap = fac.createOMElement("downloadAllDataFile", omNs); | ||
| 148 | + soap.addChild(data); | ||
| 149 | + return soap; | ||
| 150 | + } | ||
| 151 | + | ||
| 152 | + /** | ||
| 153 | + * 读取zip文件的内容 | ||
| 154 | + * @param file | ||
| 155 | + * @return | ||
| 156 | + * @throws Exception | ||
| 157 | + */ | ||
| 158 | + public StringBuffer readZipFile(String file) throws Exception { | ||
| 159 | + ZipFile zf = new ZipFile(file); | ||
| 160 | + InputStream in = new BufferedInputStream(new FileInputStream(file)); | ||
| 161 | + ZipInputStream zin = new ZipInputStream(in); | ||
| 162 | + ZipEntry ze; | ||
| 163 | + StringBuffer sb = new StringBuffer(); | ||
| 164 | + while ((ze = zin.getNextEntry()) != null) { | ||
| 165 | + System.out.print(ze); | ||
| 166 | + if (ze.isDirectory()) { | ||
| 167 | + } else { | ||
| 168 | + System.err.println("file - " + ze.getName() + " : " | ||
| 169 | + + ze.getSize() + " bytes"); | ||
| 170 | + long size = ze.getSize(); | ||
| 171 | + if (size > 0) { | ||
| 172 | + BufferedReader br = new BufferedReader( | ||
| 173 | + new InputStreamReader(zf.getInputStream(ze),"GBK")); | ||
| 174 | + String line; | ||
| 175 | + boolean addFlag = false; | ||
| 176 | + while ((line = br.readLine()) != null) { | ||
| 177 | + if(line.indexOf("BusLineList") != -1){ | ||
| 178 | + addFlag = true; | ||
| 179 | + } | ||
| 180 | + if(addFlag){ | ||
| 181 | + sb.append(line); | ||
| 182 | + } | ||
| 183 | + | ||
| 184 | + if(line.indexOf("/BusLineList") != -1){ | ||
| 185 | + break; | ||
| 186 | + } | ||
| 187 | + } | ||
| 188 | + br.close(); | ||
| 189 | + } | ||
| 190 | + } | ||
| 191 | + } | ||
| 192 | + zin.closeEntry(); | ||
| 193 | + return sb; | ||
| 194 | + } | ||
| 195 | + | ||
| 196 | + /** | ||
| 197 | + * 解析xml | ||
| 198 | + * @param sb | ||
| 199 | + */ | ||
| 200 | + private List<HashMap<String,String>> parseXml(StringBuffer sb){ | ||
| 201 | + List<HashMap<String,String>> list = new ArrayList<>(); | ||
| 202 | + HashMap<String,String> map; | ||
| 203 | + try { | ||
| 204 | + DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); | ||
| 205 | + DocumentBuilder builder = factory.newDocumentBuilder(); | ||
| 206 | + Document doc = builder.parse(new ByteArrayInputStream(sb.toString().getBytes())); | ||
| 207 | + NodeList nl = doc.getElementsByTagName("BusLine"); | ||
| 208 | + String lineName; //线路名称 | ||
| 209 | + String lineId; // 线路ID | ||
| 210 | + String abbreviation ; // 公司名称 | ||
| 211 | + String ddfs ; // 调度方式 | ||
| 212 | + String lineStandardCode; // 上海市线路编码 | ||
| 213 | + String parentUnitName ; // 总公司 | ||
| 214 | + for (int i = 0; i < nl.getLength(); i++) { | ||
| 215 | + parentUnitName = doc.getElementsByTagName("ParentUnitName").item(i).getFirstChild() == null ?"": | ||
| 216 | + doc.getElementsByTagName("ParentUnitName").item(i).getFirstChild().getNodeValue(); | ||
| 217 | + if(parentUnitName.indexOf("浦东") != -1){// 只查找浦东的数据 | ||
| 218 | + lineName = doc.getElementsByTagName("LineName").item(i).getFirstChild() == null ?"": | ||
| 219 | + doc.getElementsByTagName("LineName").item(i).getFirstChild().getNodeValue(); | ||
| 220 | + lineId = doc.getElementsByTagName("LineId").item(i).getFirstChild() == null ?"": | ||
| 221 | + doc.getElementsByTagName("LineId").item(i).getFirstChild().getNodeValue(); | ||
| 222 | + abbreviation = doc.getElementsByTagName("Abbreviation").item(i).getFirstChild() == null ?"": | ||
| 223 | + doc.getElementsByTagName("Abbreviation").item(i).getFirstChild().getNodeValue(); | ||
| 224 | + ddfs = doc.getElementsByTagName("DDFS").item(i).getFirstChild() == null ?"": | ||
| 225 | + doc.getElementsByTagName("DDFS").item(i).getFirstChild().getNodeValue(); | ||
| 226 | + lineStandardCode = doc.getElementsByTagName("LineStandardCode").item(i).getFirstChild() == null ?"": | ||
| 227 | + doc.getElementsByTagName("LineStandardCode").item(i).getFirstChild().getNodeValue(); | ||
| 228 | + map = new HashMap<>(); | ||
| 229 | + map.put("lineName",lineName); | ||
| 230 | + map.put("lineId",lineId); | ||
| 231 | + map.put("abbreviation",abbreviation); | ||
| 232 | + map.put("ddfs",ddfs); | ||
| 233 | + map.put("lineStandardCode",lineStandardCode); | ||
| 234 | + list.add(map); | ||
| 235 | + } | ||
| 236 | + } | ||
| 237 | + }catch (Exception e){ | ||
| 238 | + e.printStackTrace();; | ||
| 239 | + } | ||
| 240 | + return list; | ||
| 241 | + } | ||
| 242 | + | ||
| 243 | + /** | ||
| 244 | + * 批量插入用法 | ||
| 245 | + * @param list | ||
| 246 | + */ | ||
| 247 | + public boolean insertRecord(List<HashMap<String,String>> list) | ||
| 248 | + { | ||
| 249 | + boolean flag = false; | ||
| 250 | + final List<HashMap<String,String>> tempList=list; | ||
| 251 | + String sql="INSERT INTO JJWGPS_T_SHSXLFILE(XLID,SHSXLBM,XLMC,GSMC,DDFS,CREATETIME,XLMC_ALL) VALUES (?,?,?,?,?,SYSDATE,?)"; | ||
| 252 | + jdbcTemplate = new JdbcTemplate(DBUtils_oldSystem.getDataSource()); | ||
| 253 | + jdbcTemplate.batchUpdate(sql, new BatchPreparedStatementSetter() | ||
| 254 | + { | ||
| 255 | + public void setValues(PreparedStatement ps, int i)throws SQLException | ||
| 256 | + { | ||
| 257 | + String lineId =tempList.get(i).get("lineId"); | ||
| 258 | + String lineStandardCode =tempList.get(i).get("lineStandardCode"); | ||
| 259 | + String lineName =tempList.get(i).get("lineName"); | ||
| 260 | + String abbreviation =tempList.get(i).get("abbreviation"); | ||
| 261 | + String ddfs =tempList.get(i).get("ddfs"); | ||
| 262 | + String lineNameAll = lineName; | ||
| 263 | + if(ddfs.equals("2")){ | ||
| 264 | + lineNameAll = lineName+"区间(走向部分在全程线路之外)"; | ||
| 265 | + }else if(ddfs.equals("7")){ | ||
| 266 | + lineNameAll = lineName+"区间(走向在全程线路之内)"; | ||
| 267 | + } | ||
| 268 | + ps.setString(1, lineId); | ||
| 269 | + ps.setString(2, lineStandardCode); | ||
| 270 | + ps.setString(3, lineName); | ||
| 271 | + ps.setString(4, abbreviation); | ||
| 272 | + ps.setString(5, ddfs); | ||
| 273 | + ps.setString(6, lineNameAll); | ||
| 274 | + } | ||
| 275 | + public int getBatchSize() | ||
| 276 | + { | ||
| 277 | + return tempList.size(); | ||
| 278 | + } | ||
| 279 | + }); | ||
| 280 | + flag = true; | ||
| 281 | + return flag; | ||
| 282 | + } | ||
| 283 | +} |
src/main/resources/datatools/ktrs/legecy/scheduleRuleDataInput_insertupdate.ktr
0 → 100644
| 1 | +<?xml version="1.0" encoding="UTF-8"?> | ||
| 2 | +<transformation> | ||
| 3 | + <info> | ||
| 4 | + <name>排班规则信息导入</name> | ||
| 5 | + <description/> | ||
| 6 | + <extended_description/> | ||
| 7 | + <trans_version/> | ||
| 8 | + <trans_type>Normal</trans_type> | ||
| 9 | + <trans_status>0</trans_status> | ||
| 10 | + <directory>/</directory> | ||
| 11 | + <parameters> | ||
| 12 | + <parameter> | ||
| 13 | + <name>erroroutputdir</name> | ||
| 14 | + <default_value>/Users/xu/resource/project_code/bsth_project/bsth_control_etl/导入导出1</default_value> | ||
| 15 | + <description>ktr step配置的错误输出目录</description> | ||
| 16 | + </parameter> | ||
| 17 | + <parameter> | ||
| 18 | + <name>filepath</name> | ||
| 19 | + <default_value>/Users/xu/resource/project_code/bsth_project/bsth_control_etl/导入导出1/排版规则信息.xls</default_value> | ||
| 20 | + <description>待处理导入的excel文件</description> | ||
| 21 | + </parameter> | ||
| 22 | + </parameters> | ||
| 23 | + <log> | ||
| 24 | +<trans-log-table><connection/> | ||
| 25 | +<schema/> | ||
| 26 | +<table/> | ||
| 27 | +<size_limit_lines/> | ||
| 28 | +<interval/> | ||
| 29 | +<timeout_days/> | ||
| 30 | +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STATUS</id><enabled>Y</enabled><name>STATUS</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name><subject/></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name><subject/></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name><subject/></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name><subject/></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name><subject/></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name><subject/></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>STARTDATE</id><enabled>Y</enabled><name>STARTDATE</name></field><field><id>ENDDATE</id><enabled>Y</enabled><name>ENDDATE</name></field><field><id>LOGDATE</id><enabled>Y</enabled><name>LOGDATE</name></field><field><id>DEPDATE</id><enabled>Y</enabled><name>DEPDATE</name></field><field><id>REPLAYDATE</id><enabled>Y</enabled><name>REPLAYDATE</name></field><field><id>LOG_FIELD</id><enabled>Y</enabled><name>LOG_FIELD</name></field><field><id>EXECUTING_SERVER</id><enabled>N</enabled><name>EXECUTING_SERVER</name></field><field><id>EXECUTING_USER</id><enabled>N</enabled><name>EXECUTING_USER</name></field><field><id>CLIENT</id><enabled>N</enabled><name>CLIENT</name></field></trans-log-table> | ||
| 31 | +<perf-log-table><connection/> | ||
| 32 | +<schema/> | ||
| 33 | +<table/> | ||
| 34 | +<interval/> | ||
| 35 | +<timeout_days/> | ||
| 36 | +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>SEQ_NR</id><enabled>Y</enabled><name>SEQ_NR</name></field><field><id>LOGDATE</id><enabled>Y</enabled><name>LOGDATE</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STEPNAME</id><enabled>Y</enabled><name>STEPNAME</name></field><field><id>STEP_COPY</id><enabled>Y</enabled><name>STEP_COPY</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>INPUT_BUFFER_ROWS</id><enabled>Y</enabled><name>INPUT_BUFFER_ROWS</name></field><field><id>OUTPUT_BUFFER_ROWS</id><enabled>Y</enabled><name>OUTPUT_BUFFER_ROWS</name></field></perf-log-table> | ||
| 37 | +<channel-log-table><connection/> | ||
| 38 | +<schema/> | ||
| 39 | +<table/> | ||
| 40 | +<timeout_days/> | ||
| 41 | +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>LOGGING_OBJECT_TYPE</id><enabled>Y</enabled><name>LOGGING_OBJECT_TYPE</name></field><field><id>OBJECT_NAME</id><enabled>Y</enabled><name>OBJECT_NAME</name></field><field><id>OBJECT_COPY</id><enabled>Y</enabled><name>OBJECT_COPY</name></field><field><id>REPOSITORY_DIRECTORY</id><enabled>Y</enabled><name>REPOSITORY_DIRECTORY</name></field><field><id>FILENAME</id><enabled>Y</enabled><name>FILENAME</name></field><field><id>OBJECT_ID</id><enabled>Y</enabled><name>OBJECT_ID</name></field><field><id>OBJECT_REVISION</id><enabled>Y</enabled><name>OBJECT_REVISION</name></field><field><id>PARENT_CHANNEL_ID</id><enabled>Y</enabled><name>PARENT_CHANNEL_ID</name></field><field><id>ROOT_CHANNEL_ID</id><enabled>Y</enabled><name>ROOT_CHANNEL_ID</name></field></channel-log-table> | ||
| 42 | +<step-log-table><connection/> | ||
| 43 | +<schema/> | ||
| 44 | +<table/> | ||
| 45 | +<timeout_days/> | ||
| 46 | +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STEPNAME</id><enabled>Y</enabled><name>STEPNAME</name></field><field><id>STEP_COPY</id><enabled>Y</enabled><name>STEP_COPY</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>LOG_FIELD</id><enabled>N</enabled><name>LOG_FIELD</name></field></step-log-table> | ||
| 47 | +<metrics-log-table><connection/> | ||
| 48 | +<schema/> | ||
| 49 | +<table/> | ||
| 50 | +<timeout_days/> | ||
| 51 | +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>METRICS_DATE</id><enabled>Y</enabled><name>METRICS_DATE</name></field><field><id>METRICS_CODE</id><enabled>Y</enabled><name>METRICS_CODE</name></field><field><id>METRICS_DESCRIPTION</id><enabled>Y</enabled><name>METRICS_DESCRIPTION</name></field><field><id>METRICS_SUBJECT</id><enabled>Y</enabled><name>METRICS_SUBJECT</name></field><field><id>METRICS_TYPE</id><enabled>Y</enabled><name>METRICS_TYPE</name></field><field><id>METRICS_VALUE</id><enabled>Y</enabled><name>METRICS_VALUE</name></field></metrics-log-table> | ||
| 52 | + </log> | ||
| 53 | + <maxdate> | ||
| 54 | + <connection/> | ||
| 55 | + <table/> | ||
| 56 | + <field/> | ||
| 57 | + <offset>0.0</offset> | ||
| 58 | + <maxdiff>0.0</maxdiff> | ||
| 59 | + </maxdate> | ||
| 60 | + <size_rowset>10000</size_rowset> | ||
| 61 | + <sleep_time_empty>50</sleep_time_empty> | ||
| 62 | + <sleep_time_full>50</sleep_time_full> | ||
| 63 | + <unique_connections>N</unique_connections> | ||
| 64 | + <feedback_shown>Y</feedback_shown> | ||
| 65 | + <feedback_size>50000</feedback_size> | ||
| 66 | + <using_thread_priorities>Y</using_thread_priorities> | ||
| 67 | + <shared_objects_file/> | ||
| 68 | + <capture_step_performance>N</capture_step_performance> | ||
| 69 | + <step_performance_capturing_delay>1000</step_performance_capturing_delay> | ||
| 70 | + <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit> | ||
| 71 | + <dependencies> | ||
| 72 | + </dependencies> | ||
| 73 | + <partitionschemas> | ||
| 74 | + </partitionschemas> | ||
| 75 | + <slaveservers> | ||
| 76 | + </slaveservers> | ||
| 77 | + <clusterschemas> | ||
| 78 | + </clusterschemas> | ||
| 79 | + <created_user>-</created_user> | ||
| 80 | + <created_date>2017/01/09 10:10:36.915</created_date> | ||
| 81 | + <modified_user>-</modified_user> | ||
| 82 | + <modified_date>2017/01/09 10:10:36.915</modified_date> | ||
| 83 | + <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA=</key_for_session_key> | ||
| 84 | + <is_key_private>N</is_key_private> | ||
| 85 | + </info> | ||
| 86 | + <notepads> | ||
| 87 | + </notepads> | ||
| 88 | + <connection> | ||
| 89 | + <name>192.168.168.1_jwgl_dw</name> | ||
| 90 | + <server>192.168.168.1</server> | ||
| 91 | + <type>ORACLE</type> | ||
| 92 | + <access>Native</access> | ||
| 93 | + <database>orcl</database> | ||
| 94 | + <port>1521</port> | ||
| 95 | + <username>jwgl_dw</username> | ||
| 96 | + <password>Encrypted 2be98afc86aa7f2e4cb13b977d2adabcd</password> | ||
| 97 | + <servername/> | ||
| 98 | + <data_tablespace/> | ||
| 99 | + <index_tablespace/> | ||
| 100 | + <attributes> | ||
| 101 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | ||
| 102 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | ||
| 103 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | ||
| 104 | + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute> | ||
| 105 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | ||
| 106 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | ||
| 107 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 108 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 109 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | ||
| 110 | + </attributes> | ||
| 111 | + </connection> | ||
| 112 | + <connection> | ||
| 113 | + <name>bus_control_variable</name> | ||
| 114 | + <server>${v_db_ip}</server> | ||
| 115 | + <type>MYSQL</type> | ||
| 116 | + <access>Native</access> | ||
| 117 | + <database>${v_db_dname}</database> | ||
| 118 | + <port>3306</port> | ||
| 119 | + <username>${v_db_uname}</username> | ||
| 120 | + <password>${v_db_pwd}</password> | ||
| 121 | + <servername/> | ||
| 122 | + <data_tablespace/> | ||
| 123 | + <index_tablespace/> | ||
| 124 | + <attributes> | ||
| 125 | + <attribute><code>EXTRA_OPTION_MYSQL.characterEncoding</code><attribute>utf8</attribute></attribute> | ||
| 126 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | ||
| 127 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | ||
| 128 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | ||
| 129 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | ||
| 130 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | ||
| 131 | + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | ||
| 132 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | ||
| 133 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | ||
| 134 | + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute> | ||
| 135 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 136 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 137 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | ||
| 138 | + </attributes> | ||
| 139 | + </connection> | ||
| 140 | + <connection> | ||
| 141 | + <name>bus_control_公司_201</name> | ||
| 142 | + <server>localhost</server> | ||
| 143 | + <type>MYSQL</type> | ||
| 144 | + <access>Native</access> | ||
| 145 | + <database>control</database> | ||
| 146 | + <port>3306</port> | ||
| 147 | + <username>root</username> | ||
| 148 | + <password>Encrypted </password> | ||
| 149 | + <servername/> | ||
| 150 | + <data_tablespace/> | ||
| 151 | + <index_tablespace/> | ||
| 152 | + <attributes> | ||
| 153 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | ||
| 154 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | ||
| 155 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | ||
| 156 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | ||
| 157 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | ||
| 158 | + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | ||
| 159 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | ||
| 160 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | ||
| 161 | + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute> | ||
| 162 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 163 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 164 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | ||
| 165 | + </attributes> | ||
| 166 | + </connection> | ||
| 167 | + <connection> | ||
| 168 | + <name>bus_control_本机</name> | ||
| 169 | + <server>localhost</server> | ||
| 170 | + <type>MYSQL</type> | ||
| 171 | + <access>Native</access> | ||
| 172 | + <database>control</database> | ||
| 173 | + <port>3306</port> | ||
| 174 | + <username>root</username> | ||
| 175 | + <password>Encrypted </password> | ||
| 176 | + <servername/> | ||
| 177 | + <data_tablespace/> | ||
| 178 | + <index_tablespace/> | ||
| 179 | + <attributes> | ||
| 180 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | ||
| 181 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | ||
| 182 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | ||
| 183 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | ||
| 184 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | ||
| 185 | + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | ||
| 186 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | ||
| 187 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | ||
| 188 | + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | ||
| 189 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 190 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 191 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | ||
| 192 | + </attributes> | ||
| 193 | + </connection> | ||
| 194 | + <connection> | ||
| 195 | + <name>xlab_mysql_youle</name> | ||
| 196 | + <server>101.231.124.8</server> | ||
| 197 | + <type>MYSQL</type> | ||
| 198 | + <access>Native</access> | ||
| 199 | + <database>xlab_youle</database> | ||
| 200 | + <port>45687</port> | ||
| 201 | + <username>xlab-youle</username> | ||
| 202 | + <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password> | ||
| 203 | + <servername/> | ||
| 204 | + <data_tablespace/> | ||
| 205 | + <index_tablespace/> | ||
| 206 | + <attributes> | ||
| 207 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | ||
| 208 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | ||
| 209 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | ||
| 210 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | ||
| 211 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | ||
| 212 | + <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute> | ||
| 213 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | ||
| 214 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | ||
| 215 | + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | ||
| 216 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute> | ||
| 217 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute> | ||
| 218 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | ||
| 219 | + </attributes> | ||
| 220 | + </connection> | ||
| 221 | + <connection> | ||
| 222 | + <name>xlab_mysql_youle(本机)</name> | ||
| 223 | + <server>localhost</server> | ||
| 224 | + <type>MYSQL</type> | ||
| 225 | + <access>Native</access> | ||
| 226 | + <database>xlab_youle</database> | ||
| 227 | + <port>3306</port> | ||
| 228 | + <username>root</username> | ||
| 229 | + <password>Encrypted </password> | ||
| 230 | + <servername/> | ||
| 231 | + <data_tablespace/> | ||
| 232 | + <index_tablespace/> | ||
| 233 | + <attributes> | ||
| 234 | + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute> | ||
| 235 | + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute> | ||
| 236 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | ||
| 237 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | ||
| 238 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | ||
| 239 | + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute> | ||
| 240 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | ||
| 241 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | ||
| 242 | + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | ||
| 243 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute> | ||
| 244 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute> | ||
| 245 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | ||
| 246 | + </attributes> | ||
| 247 | + </connection> | ||
| 248 | + <connection> | ||
| 249 | + <name>xlab_youle</name> | ||
| 250 | + <server/> | ||
| 251 | + <type>MYSQL</type> | ||
| 252 | + <access>JNDI</access> | ||
| 253 | + <database>xlab_youle</database> | ||
| 254 | + <port>1521</port> | ||
| 255 | + <username/> | ||
| 256 | + <password>Encrypted </password> | ||
| 257 | + <servername/> | ||
| 258 | + <data_tablespace/> | ||
| 259 | + <index_tablespace/> | ||
| 260 | + <attributes> | ||
| 261 | + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute> | ||
| 262 | + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute> | ||
| 263 | + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute> | ||
| 264 | + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute> | ||
| 265 | + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute> | ||
| 266 | + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute> | ||
| 267 | + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute> | ||
| 268 | + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 269 | + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute> | ||
| 270 | + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute> | ||
| 271 | + </attributes> | ||
| 272 | + </connection> | ||
| 273 | + <order> | ||
| 274 | + <hop> <from>获取变量</from><to>原始系统导出的Excel输入</to><enabled>Y</enabled> </hop> | ||
| 275 | + <hop> <from>原始系统导出的Excel输入</from><to>启用被数据flag</to><enabled>Y</enabled> </hop> | ||
| 276 | + <hop> <from>拆分路牌范围</from><to>路牌id查询</to><enabled>Y</enabled> </hop> | ||
| 277 | + <hop> <from>排序记录</from><to>分组合并路牌id</to><enabled>Y</enabled> </hop> | ||
| 278 | + <hop> <from>分组合并路牌id</from><to>拆分人员范围</to><enabled>Y</enabled> </hop> | ||
| 279 | + <hop> <from>拆分人员范围</from><to>拆分分班搭班编码字段</to><enabled>Y</enabled> </hop> | ||
| 280 | + <hop> <from>拆分分班搭班编码字段</from><to>人员配置id查询</to><enabled>Y</enabled> </hop> | ||
| 281 | + <hop> <from>人员配置id查询</from><to>人员配置id查询 2</to><enabled>Y</enabled> </hop> | ||
| 282 | + <hop> <from>启用被数据flag</from><to>线路id查询</to><enabled>Y</enabled> </hop> | ||
| 283 | + <hop> <from>线路id查询</from><to>过滤线路id为空记录</to><enabled>Y</enabled> </hop> | ||
| 284 | + <hop> <from>过滤线路id为空记录</from><to>车辆配置id查询</to><enabled>Y</enabled> </hop> | ||
| 285 | + <hop> <from>车辆配置id查询</from><to>过滤车辆配置id为空记录</to><enabled>Y</enabled> </hop> | ||
| 286 | + <hop> <from>过滤车辆配置id为空记录</from><to>拆分路牌范围</to><enabled>Y</enabled> </hop> | ||
| 287 | + <hop> <from>路牌id查询</from><to>过滤路牌id为空记录</to><enabled>Y</enabled> </hop> | ||
| 288 | + <hop> <from>过滤路牌id为空记录</from><to>排序记录</to><enabled>Y</enabled> </hop> | ||
| 289 | + <hop> <from>人员配置id查询 2</from><to>过滤人员配置id为空记录</to><enabled>Y</enabled> </hop> | ||
| 290 | + <hop> <from>过滤人员配置id为空记录</from><to>合并分班人员配置id</to><enabled>Y</enabled> </hop> | ||
| 291 | + <hop> <from>合并分班人员配置id</from><to>排序记录 2</to><enabled>Y</enabled> </hop> | ||
| 292 | + <hop> <from>排序记录 2</from><to>分组合并人员配置id</to><enabled>Y</enabled> </hop> | ||
| 293 | + <hop> <from>插入 / 更新bsth_c_s_sr1_flat</from><to>错误输出 2</to><enabled>Y</enabled> </hop> | ||
| 294 | + <hop> <from>分组合并人员配置id</from><to>启用日期转换</to><enabled>Y</enabled> </hop> | ||
| 295 | + <hop> <from>启用日期转换</from><to>插入 / 更新bsth_c_s_sr1_flat</to><enabled>Y</enabled> </hop> | ||
| 296 | + </order> | ||
| 297 | + <step> | ||
| 298 | + <name>人员配置id查询</name> | ||
| 299 | + <type>DBLookup</type> | ||
| 300 | + <description/> | ||
| 301 | + <distribute>Y</distribute> | ||
| 302 | + <custom_distribution/> | ||
| 303 | + <copies>1</copies> | ||
| 304 | + <partitioning> | ||
| 305 | + <method>none</method> | ||
| 306 | + <schema_name/> | ||
| 307 | + </partitioning> | ||
| 308 | + <connection>bus_control_variable</connection> | ||
| 309 | + <cache>N</cache> | ||
| 310 | + <cache_load_all>Y</cache_load_all> | ||
| 311 | + <cache_size>0</cache_size> | ||
| 312 | + <lookup> | ||
| 313 | + <schema/> | ||
| 314 | + <table>bsth_c_s_ecinfo</table> | ||
| 315 | + <orderby/> | ||
| 316 | + <fail_on_multiple>N</fail_on_multiple> | ||
| 317 | + <eat_row_on_failure>N</eat_row_on_failure> | ||
| 318 | + <key> | ||
| 319 | + <name>xlid</name> | ||
| 320 | + <field>xl</field> | ||
| 321 | + <condition>=</condition> | ||
| 322 | + <name2/> | ||
| 323 | + </key> | ||
| 324 | + <key> | ||
| 325 | + <name>dbbm1</name> | ||
| 326 | + <field>dbbm</field> | ||
| 327 | + <condition>=</condition> | ||
| 328 | + <name2/> | ||
| 329 | + </key> | ||
| 330 | + <key> | ||
| 331 | + <name>isCancel</name> | ||
| 332 | + <field>is_cancel</field> | ||
| 333 | + <condition>=</condition> | ||
| 334 | + <name2/> | ||
| 335 | + </key> | ||
| 336 | + <value> | ||
| 337 | + <name>id</name> | ||
| 338 | + <rename>rycid1</rename> | ||
| 339 | + <default/> | ||
| 340 | + <type>Integer</type> | ||
| 341 | + </value> | ||
| 342 | + </lookup> | ||
| 343 | + <cluster_schema/> | ||
| 344 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 345 | + <xloc>904</xloc> | ||
| 346 | + <yloc>101</yloc> | ||
| 347 | + <draw>Y</draw> | ||
| 348 | + </GUI> | ||
| 349 | + </step> | ||
| 350 | + | ||
| 351 | + <step> | ||
| 352 | + <name>人员配置id查询 2</name> | ||
| 353 | + <type>DBLookup</type> | ||
| 354 | + <description/> | ||
| 355 | + <distribute>Y</distribute> | ||
| 356 | + <custom_distribution/> | ||
| 357 | + <copies>1</copies> | ||
| 358 | + <partitioning> | ||
| 359 | + <method>none</method> | ||
| 360 | + <schema_name/> | ||
| 361 | + </partitioning> | ||
| 362 | + <connection>bus_control_variable</connection> | ||
| 363 | + <cache>N</cache> | ||
| 364 | + <cache_load_all>Y</cache_load_all> | ||
| 365 | + <cache_size>0</cache_size> | ||
| 366 | + <lookup> | ||
| 367 | + <schema/> | ||
| 368 | + <table>bsth_c_s_ecinfo</table> | ||
| 369 | + <orderby/> | ||
| 370 | + <fail_on_multiple>N</fail_on_multiple> | ||
| 371 | + <eat_row_on_failure>N</eat_row_on_failure> | ||
| 372 | + <key> | ||
| 373 | + <name>xlid</name> | ||
| 374 | + <field>xl</field> | ||
| 375 | + <condition>=</condition> | ||
| 376 | + <name2/> | ||
| 377 | + </key> | ||
| 378 | + <key> | ||
| 379 | + <name>dbbm2</name> | ||
| 380 | + <field>dbbm</field> | ||
| 381 | + <condition>=</condition> | ||
| 382 | + <name2/> | ||
| 383 | + </key> | ||
| 384 | + <key> | ||
| 385 | + <name>isCancel</name> | ||
| 386 | + <field>is_cancel</field> | ||
| 387 | + <condition>=</condition> | ||
| 388 | + <name2/> | ||
| 389 | + </key> | ||
| 390 | + <value> | ||
| 391 | + <name>id</name> | ||
| 392 | + <rename>rycid2</rename> | ||
| 393 | + <default/> | ||
| 394 | + <type>Integer</type> | ||
| 395 | + </value> | ||
| 396 | + </lookup> | ||
| 397 | + <cluster_schema/> | ||
| 398 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 399 | + <xloc>778</xloc> | ||
| 400 | + <yloc>103</yloc> | ||
| 401 | + <draw>Y</draw> | ||
| 402 | + </GUI> | ||
| 403 | + </step> | ||
| 404 | + | ||
| 405 | + <step> | ||
| 406 | + <name>分组合并人员配置id</name> | ||
| 407 | + <type>GroupBy</type> | ||
| 408 | + <description/> | ||
| 409 | + <distribute>Y</distribute> | ||
| 410 | + <custom_distribution/> | ||
| 411 | + <copies>1</copies> | ||
| 412 | + <partitioning> | ||
| 413 | + <method>none</method> | ||
| 414 | + <schema_name/> | ||
| 415 | + </partitioning> | ||
| 416 | + <all_rows>N</all_rows> | ||
| 417 | + <ignore_aggregate>N</ignore_aggregate> | ||
| 418 | + <field_ignore/> | ||
| 419 | + <directory>%%java.io.tmpdir%%</directory> | ||
| 420 | + <prefix>grp</prefix> | ||
| 421 | + <add_linenr>N</add_linenr> | ||
| 422 | + <linenr_fieldname/> | ||
| 423 | + <give_back_row>N</give_back_row> | ||
| 424 | + <group> | ||
| 425 | + <field> | ||
| 426 | + <name>xlid</name> | ||
| 427 | + </field> | ||
| 428 | + <field> | ||
| 429 | + <name>cid</name> | ||
| 430 | + </field> | ||
| 431 | + <field> | ||
| 432 | + <name>lpnames</name> | ||
| 433 | + </field> | ||
| 434 | + <field> | ||
| 435 | + <name>lpids</name> | ||
| 436 | + </field> | ||
| 437 | + <field> | ||
| 438 | + <name>起始路牌</name> | ||
| 439 | + </field> | ||
| 440 | + <field> | ||
| 441 | + <name>起始人员</name> | ||
| 442 | + </field> | ||
| 443 | + <field> | ||
| 444 | + <name>人员范围</name> | ||
| 445 | + </field> | ||
| 446 | + <field> | ||
| 447 | + <name>启用日期</name> | ||
| 448 | + </field> | ||
| 449 | + <field> | ||
| 450 | + <name>翻班格式</name> | ||
| 451 | + </field> | ||
| 452 | + <field> | ||
| 453 | + <name>isCancel</name> | ||
| 454 | + </field> | ||
| 455 | + </group> | ||
| 456 | + <fields> | ||
| 457 | + <field> | ||
| 458 | + <aggregate>rycids</aggregate> | ||
| 459 | + <subject>rycid</subject> | ||
| 460 | + <type>CONCAT_STRING</type> | ||
| 461 | + <valuefield>,</valuefield> | ||
| 462 | + </field> | ||
| 463 | + <field> | ||
| 464 | + <aggregate>rybms</aggregate> | ||
| 465 | + <subject>rybm</subject> | ||
| 466 | + <type>CONCAT_STRING</type> | ||
| 467 | + <valuefield>,</valuefield> | ||
| 468 | + </field> | ||
| 469 | + </fields> | ||
| 470 | + <cluster_schema/> | ||
| 471 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 472 | + <xloc>780</xloc> | ||
| 473 | + <yloc>291</yloc> | ||
| 474 | + <draw>Y</draw> | ||
| 475 | + </GUI> | ||
| 476 | + </step> | ||
| 477 | + | ||
| 478 | + <step> | ||
| 479 | + <name>分组合并路牌id</name> | ||
| 480 | + <type>GroupBy</type> | ||
| 481 | + <description/> | ||
| 482 | + <distribute>Y</distribute> | ||
| 483 | + <custom_distribution/> | ||
| 484 | + <copies>1</copies> | ||
| 485 | + <partitioning> | ||
| 486 | + <method>none</method> | ||
| 487 | + <schema_name/> | ||
| 488 | + </partitioning> | ||
| 489 | + <all_rows>N</all_rows> | ||
| 490 | + <ignore_aggregate>N</ignore_aggregate> | ||
| 491 | + <field_ignore/> | ||
| 492 | + <directory>%%java.io.tmpdir%%</directory> | ||
| 493 | + <prefix>grp</prefix> | ||
| 494 | + <add_linenr>N</add_linenr> | ||
| 495 | + <linenr_fieldname/> | ||
| 496 | + <give_back_row>N</give_back_row> | ||
| 497 | + <group> | ||
| 498 | + <field> | ||
| 499 | + <name>xlid</name> | ||
| 500 | + </field> | ||
| 501 | + <field> | ||
| 502 | + <name>cid</name> | ||
| 503 | + </field> | ||
| 504 | + <field> | ||
| 505 | + <name>起始路牌</name> | ||
| 506 | + </field> | ||
| 507 | + <field> | ||
| 508 | + <name>起始人员</name> | ||
| 509 | + </field> | ||
| 510 | + <field> | ||
| 511 | + <name>人员范围</name> | ||
| 512 | + </field> | ||
| 513 | + <field> | ||
| 514 | + <name>启用日期</name> | ||
| 515 | + </field> | ||
| 516 | + <field> | ||
| 517 | + <name>翻班格式</name> | ||
| 518 | + </field> | ||
| 519 | + <field> | ||
| 520 | + <name>isCancel</name> | ||
| 521 | + </field> | ||
| 522 | + </group> | ||
| 523 | + <fields> | ||
| 524 | + <field> | ||
| 525 | + <aggregate>lpids</aggregate> | ||
| 526 | + <subject>lpid</subject> | ||
| 527 | + <type>CONCAT_STRING</type> | ||
| 528 | + <valuefield>,</valuefield> | ||
| 529 | + </field> | ||
| 530 | + <field> | ||
| 531 | + <aggregate>lpnames</aggregate> | ||
| 532 | + <subject>lpname</subject> | ||
| 533 | + <type>CONCAT_STRING</type> | ||
| 534 | + <valuefield>,</valuefield> | ||
| 535 | + </field> | ||
| 536 | + </fields> | ||
| 537 | + <cluster_schema/> | ||
| 538 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 539 | + <xloc>653</xloc> | ||
| 540 | + <yloc>119</yloc> | ||
| 541 | + <draw>Y</draw> | ||
| 542 | + </GUI> | ||
| 543 | + </step> | ||
| 544 | + | ||
| 545 | + <step> | ||
| 546 | + <name>原始系统导出的Excel输入</name> | ||
| 547 | + <type>ExcelInput</type> | ||
| 548 | + <description/> | ||
| 549 | + <distribute>Y</distribute> | ||
| 550 | + <custom_distribution/> | ||
| 551 | + <copies>1</copies> | ||
| 552 | + <partitioning> | ||
| 553 | + <method>none</method> | ||
| 554 | + <schema_name/> | ||
| 555 | + </partitioning> | ||
| 556 | + <header>Y</header> | ||
| 557 | + <noempty>Y</noempty> | ||
| 558 | + <stoponempty>N</stoponempty> | ||
| 559 | + <filefield/> | ||
| 560 | + <sheetfield/> | ||
| 561 | + <sheetrownumfield/> | ||
| 562 | + <rownumfield/> | ||
| 563 | + <sheetfield/> | ||
| 564 | + <filefield/> | ||
| 565 | + <limit>0</limit> | ||
| 566 | + <encoding/> | ||
| 567 | + <add_to_result_filenames>Y</add_to_result_filenames> | ||
| 568 | + <accept_filenames>Y</accept_filenames> | ||
| 569 | + <accept_field>filepath_</accept_field> | ||
| 570 | + <accept_stepname>获取变量</accept_stepname> | ||
| 571 | + <file> | ||
| 572 | + <name/> | ||
| 573 | + <filemask/> | ||
| 574 | + <exclude_filemask/> | ||
| 575 | + <file_required>N</file_required> | ||
| 576 | + <include_subfolders>N</include_subfolders> | ||
| 577 | + </file> | ||
| 578 | + <fields> | ||
| 579 | + <field> | ||
| 580 | + <name>线路</name> | ||
| 581 | + <type>String</type> | ||
| 582 | + <length>-1</length> | ||
| 583 | + <precision>-1</precision> | ||
| 584 | + <trim_type>none</trim_type> | ||
| 585 | + <repeat>N</repeat> | ||
| 586 | + <format/> | ||
| 587 | + <currency/> | ||
| 588 | + <decimal/> | ||
| 589 | + <group/> | ||
| 590 | + </field> | ||
| 591 | + <field> | ||
| 592 | + <name>内部编码</name> | ||
| 593 | + <type>String</type> | ||
| 594 | + <length>-1</length> | ||
| 595 | + <precision>-1</precision> | ||
| 596 | + <trim_type>none</trim_type> | ||
| 597 | + <repeat>N</repeat> | ||
| 598 | + <format/> | ||
| 599 | + <currency/> | ||
| 600 | + <decimal/> | ||
| 601 | + <group/> | ||
| 602 | + </field> | ||
| 603 | + <field> | ||
| 604 | + <name>启用日期</name> | ||
| 605 | + <type>String</type> | ||
| 606 | + <length>-1</length> | ||
| 607 | + <precision>-1</precision> | ||
| 608 | + <trim_type>none</trim_type> | ||
| 609 | + <repeat>N</repeat> | ||
| 610 | + <format/> | ||
| 611 | + <currency/> | ||
| 612 | + <decimal/> | ||
| 613 | + <group/> | ||
| 614 | + </field> | ||
| 615 | + <field> | ||
| 616 | + <name>起始路牌</name> | ||
| 617 | + <type>String</type> | ||
| 618 | + <length>-1</length> | ||
| 619 | + <precision>-1</precision> | ||
| 620 | + <trim_type>none</trim_type> | ||
| 621 | + <repeat>N</repeat> | ||
| 622 | + <format>#</format> | ||
| 623 | + <currency/> | ||
| 624 | + <decimal/> | ||
| 625 | + <group/> | ||
| 626 | + </field> | ||
| 627 | + <field> | ||
| 628 | + <name>路牌范围</name> | ||
| 629 | + <type>String</type> | ||
| 630 | + <length>-1</length> | ||
| 631 | + <precision>-1</precision> | ||
| 632 | + <trim_type>none</trim_type> | ||
| 633 | + <repeat>N</repeat> | ||
| 634 | + <format>#</format> | ||
| 635 | + <currency/> | ||
| 636 | + <decimal/> | ||
| 637 | + <group/> | ||
| 638 | + </field> | ||
| 639 | + <field> | ||
| 640 | + <name>起始人员</name> | ||
| 641 | + <type>String</type> | ||
| 642 | + <length>-1</length> | ||
| 643 | + <precision>-1</precision> | ||
| 644 | + <trim_type>none</trim_type> | ||
| 645 | + <repeat>N</repeat> | ||
| 646 | + <format>#</format> | ||
| 647 | + <currency/> | ||
| 648 | + <decimal/> | ||
| 649 | + <group/> | ||
| 650 | + </field> | ||
| 651 | + <field> | ||
| 652 | + <name>人员范围</name> | ||
| 653 | + <type>String</type> | ||
| 654 | + <length>-1</length> | ||
| 655 | + <precision>-1</precision> | ||
| 656 | + <trim_type>none</trim_type> | ||
| 657 | + <repeat>N</repeat> | ||
| 658 | + <format>#</format> | ||
| 659 | + <currency/> | ||
| 660 | + <decimal/> | ||
| 661 | + <group/> | ||
| 662 | + </field> | ||
| 663 | + <field> | ||
| 664 | + <name>翻班格式</name> | ||
| 665 | + <type>String</type> | ||
| 666 | + <length>-1</length> | ||
| 667 | + <precision>-1</precision> | ||
| 668 | + <trim_type>none</trim_type> | ||
| 669 | + <repeat>N</repeat> | ||
| 670 | + <format>#</format> | ||
| 671 | + <currency/> | ||
| 672 | + <decimal/> | ||
| 673 | + <group/> | ||
| 674 | + </field> | ||
| 675 | + </fields> | ||
| 676 | + <sheets> | ||
| 677 | + <sheet> | ||
| 678 | + <name>工作表1</name> | ||
| 679 | + <startrow>0</startrow> | ||
| 680 | + <startcol>0</startcol> | ||
| 681 | + </sheet> | ||
| 682 | + </sheets> | ||
| 683 | + <strict_types>N</strict_types> | ||
| 684 | + <error_ignored>N</error_ignored> | ||
| 685 | + <error_line_skipped>N</error_line_skipped> | ||
| 686 | + <bad_line_files_destination_directory/> | ||
| 687 | + <bad_line_files_extension>warning</bad_line_files_extension> | ||
| 688 | + <error_line_files_destination_directory/> | ||
| 689 | + <error_line_files_extension>error</error_line_files_extension> | ||
| 690 | + <line_number_files_destination_directory/> | ||
| 691 | + <line_number_files_extension>line</line_number_files_extension> | ||
| 692 | + <shortFileFieldName/> | ||
| 693 | + <pathFieldName/> | ||
| 694 | + <hiddenFieldName/> | ||
| 695 | + <lastModificationTimeFieldName/> | ||
| 696 | + <uriNameFieldName/> | ||
| 697 | + <rootUriNameFieldName/> | ||
| 698 | + <extensionFieldName/> | ||
| 699 | + <sizeFieldName/> | ||
| 700 | + <spreadsheet_type>JXL</spreadsheet_type> | ||
| 701 | + <cluster_schema/> | ||
| 702 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 703 | + <xloc>208</xloc> | ||
| 704 | + <yloc>21</yloc> | ||
| 705 | + <draw>Y</draw> | ||
| 706 | + </GUI> | ||
| 707 | + </step> | ||
| 708 | + | ||
| 709 | + <step> | ||
| 710 | + <name>合并分班人员配置id</name> | ||
| 711 | + <type>ScriptValueMod</type> | ||
| 712 | + <description/> | ||
| 713 | + <distribute>Y</distribute> | ||
| 714 | + <custom_distribution/> | ||
| 715 | + <copies>1</copies> | ||
| 716 | + <partitioning> | ||
| 717 | + <method>none</method> | ||
| 718 | + <schema_name/> | ||
| 719 | + </partitioning> | ||
| 720 | + <compatible>N</compatible> | ||
| 721 | + <optimizationLevel>9</optimizationLevel> | ||
| 722 | + <jsScripts> <jsScript> <jsScript_type>0</jsScript_type> | ||
| 723 | + <jsScript_name>Script 1</jsScript_name> | ||
| 724 | + <jsScript_script>//Script here

var rycid;
var rybm;

if (rycid2 == null) {
 rycid = rycid1;
 rybm = dbbm1;
} else {
 rycid = rycid1 + "-" + rycid2;
 rybm = dbbm1 + "-" + dbbm2;
}</jsScript_script> | ||
| 725 | + </jsScript> </jsScripts> <fields> <field> <name>rycid</name> | ||
| 726 | + <rename>rycid</rename> | ||
| 727 | + <type>String</type> | ||
| 728 | + <length>-1</length> | ||
| 729 | + <precision>-1</precision> | ||
| 730 | + <replace>N</replace> | ||
| 731 | + </field> <field> <name>rybm</name> | ||
| 732 | + <rename>rybm</rename> | ||
| 733 | + <type>String</type> | ||
| 734 | + <length>-1</length> | ||
| 735 | + <precision>-1</precision> | ||
| 736 | + <replace>N</replace> | ||
| 737 | + </field> </fields> <cluster_schema/> | ||
| 738 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 739 | + <xloc>917</xloc> | ||
| 740 | + <yloc>201</yloc> | ||
| 741 | + <draw>Y</draw> | ||
| 742 | + </GUI> | ||
| 743 | + </step> | ||
| 744 | + | ||
| 745 | + <step> | ||
| 746 | + <name>启用日期转换</name> | ||
| 747 | + <type>SelectValues</type> | ||
| 748 | + <description/> | ||
| 749 | + <distribute>Y</distribute> | ||
| 750 | + <custom_distribution/> | ||
| 751 | + <copies>1</copies> | ||
| 752 | + <partitioning> | ||
| 753 | + <method>none</method> | ||
| 754 | + <schema_name/> | ||
| 755 | + </partitioning> | ||
| 756 | + <fields> <select_unspecified>N</select_unspecified> | ||
| 757 | + <meta> <name>启用日期</name> | ||
| 758 | + <rename>启用日期</rename> | ||
| 759 | + <type>Timestamp</type> | ||
| 760 | + <length>-2</length> | ||
| 761 | + <precision>-2</precision> | ||
| 762 | + <conversion_mask>yyyy-MM-dd</conversion_mask> | ||
| 763 | + <date_format_lenient>false</date_format_lenient> | ||
| 764 | + <date_format_locale/> | ||
| 765 | + <date_format_timezone/> | ||
| 766 | + <lenient_string_to_number>false</lenient_string_to_number> | ||
| 767 | + <encoding/> | ||
| 768 | + <decimal_symbol/> | ||
| 769 | + <grouping_symbol/> | ||
| 770 | + <currency_symbol/> | ||
| 771 | + <storage_type/> | ||
| 772 | + </meta> </fields> <cluster_schema/> | ||
| 773 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 774 | + <xloc>777</xloc> | ||
| 775 | + <yloc>368</yloc> | ||
| 776 | + <draw>Y</draw> | ||
| 777 | + </GUI> | ||
| 778 | + </step> | ||
| 779 | + | ||
| 780 | + <step> | ||
| 781 | + <name>启用被数据flag</name> | ||
| 782 | + <type>Constant</type> | ||
| 783 | + <description/> | ||
| 784 | + <distribute>Y</distribute> | ||
| 785 | + <custom_distribution/> | ||
| 786 | + <copies>1</copies> | ||
| 787 | + <partitioning> | ||
| 788 | + <method>none</method> | ||
| 789 | + <schema_name/> | ||
| 790 | + </partitioning> | ||
| 791 | + <fields> | ||
| 792 | + <field> | ||
| 793 | + <name>isCancel</name> | ||
| 794 | + <type>Integer</type> | ||
| 795 | + <format/> | ||
| 796 | + <currency/> | ||
| 797 | + <decimal/> | ||
| 798 | + <group/> | ||
| 799 | + <nullif>0</nullif> | ||
| 800 | + <length>-1</length> | ||
| 801 | + <precision>-1</precision> | ||
| 802 | + <set_empty_string>N</set_empty_string> | ||
| 803 | + </field> | ||
| 804 | + </fields> | ||
| 805 | + <cluster_schema/> | ||
| 806 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 807 | + <xloc>361</xloc> | ||
| 808 | + <yloc>22</yloc> | ||
| 809 | + <draw>Y</draw> | ||
| 810 | + </GUI> | ||
| 811 | + </step> | ||
| 812 | + | ||
| 813 | + <step> | ||
| 814 | + <name>拆分人员范围</name> | ||
| 815 | + <type>SplitFieldToRows3</type> | ||
| 816 | + <description/> | ||
| 817 | + <distribute>Y</distribute> | ||
| 818 | + <custom_distribution/> | ||
| 819 | + <copies>1</copies> | ||
| 820 | + <partitioning> | ||
| 821 | + <method>none</method> | ||
| 822 | + <schema_name/> | ||
| 823 | + </partitioning> | ||
| 824 | + <splitfield>人员范围</splitfield> | ||
| 825 | + <delimiter>,</delimiter> | ||
| 826 | + <newfield>dbbm</newfield> | ||
| 827 | + <rownum>N</rownum> | ||
| 828 | + <rownum_field/> | ||
| 829 | + <resetrownumber>Y</resetrownumber> | ||
| 830 | + <delimiter_is_regex>N</delimiter_is_regex> | ||
| 831 | + <cluster_schema/> | ||
| 832 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 833 | + <xloc>777</xloc> | ||
| 834 | + <yloc>22</yloc> | ||
| 835 | + <draw>Y</draw> | ||
| 836 | + </GUI> | ||
| 837 | + </step> | ||
| 838 | + | ||
| 839 | + <step> | ||
| 840 | + <name>拆分分班搭班编码字段</name> | ||
| 841 | + <type>FieldSplitter</type> | ||
| 842 | + <description/> | ||
| 843 | + <distribute>Y</distribute> | ||
| 844 | + <custom_distribution/> | ||
| 845 | + <copies>1</copies> | ||
| 846 | + <partitioning> | ||
| 847 | + <method>none</method> | ||
| 848 | + <schema_name/> | ||
| 849 | + </partitioning> | ||
| 850 | + <splitfield>dbbm</splitfield> | ||
| 851 | + <delimiter>-</delimiter> | ||
| 852 | + <enclosure/> | ||
| 853 | + <fields> <field> <name>dbbm1</name> | ||
| 854 | + <id/> | ||
| 855 | + <idrem>N</idrem> | ||
| 856 | + <type>String</type> | ||
| 857 | + <format/> | ||
| 858 | + <group/> | ||
| 859 | + <decimal/> | ||
| 860 | + <currency/> | ||
| 861 | + <length>-1</length> | ||
| 862 | + <precision>-1</precision> | ||
| 863 | + <nullif/> | ||
| 864 | + <ifnull/> | ||
| 865 | + <trimtype>none</trimtype> | ||
| 866 | + </field> <field> <name>dbbm2</name> | ||
| 867 | + <id/> | ||
| 868 | + <idrem>N</idrem> | ||
| 869 | + <type>String</type> | ||
| 870 | + <format/> | ||
| 871 | + <group/> | ||
| 872 | + <decimal/> | ||
| 873 | + <currency/> | ||
| 874 | + <length>-1</length> | ||
| 875 | + <precision>-1</precision> | ||
| 876 | + <nullif/> | ||
| 877 | + <ifnull/> | ||
| 878 | + <trimtype>none</trimtype> | ||
| 879 | + </field> </fields> <cluster_schema/> | ||
| 880 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 881 | + <xloc>901</xloc> | ||
| 882 | + <yloc>22</yloc> | ||
| 883 | + <draw>Y</draw> | ||
| 884 | + </GUI> | ||
| 885 | + </step> | ||
| 886 | + | ||
| 887 | + <step> | ||
| 888 | + <name>拆分路牌范围</name> | ||
| 889 | + <type>SplitFieldToRows3</type> | ||
| 890 | + <description/> | ||
| 891 | + <distribute>Y</distribute> | ||
| 892 | + <custom_distribution/> | ||
| 893 | + <copies>1</copies> | ||
| 894 | + <partitioning> | ||
| 895 | + <method>none</method> | ||
| 896 | + <schema_name/> | ||
| 897 | + </partitioning> | ||
| 898 | + <splitfield>路牌范围</splitfield> | ||
| 899 | + <delimiter>,</delimiter> | ||
| 900 | + <newfield>lpname</newfield> | ||
| 901 | + <rownum>N</rownum> | ||
| 902 | + <rownum_field/> | ||
| 903 | + <resetrownumber>Y</resetrownumber> | ||
| 904 | + <delimiter_is_regex>N</delimiter_is_regex> | ||
| 905 | + <cluster_schema/> | ||
| 906 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 907 | + <xloc>364</xloc> | ||
| 908 | + <yloc>259</yloc> | ||
| 909 | + <draw>Y</draw> | ||
| 910 | + </GUI> | ||
| 911 | + </step> | ||
| 912 | + | ||
| 913 | + <step> | ||
| 914 | + <name>排序记录</name> | ||
| 915 | + <type>SortRows</type> | ||
| 916 | + <description/> | ||
| 917 | + <distribute>Y</distribute> | ||
| 918 | + <custom_distribution/> | ||
| 919 | + <copies>1</copies> | ||
| 920 | + <partitioning> | ||
| 921 | + <method>none</method> | ||
| 922 | + <schema_name/> | ||
| 923 | + </partitioning> | ||
| 924 | + <directory>%%java.io.tmpdir%%</directory> | ||
| 925 | + <prefix>out</prefix> | ||
| 926 | + <sort_size>1000000</sort_size> | ||
| 927 | + <free_memory/> | ||
| 928 | + <compress>N</compress> | ||
| 929 | + <compress_variable/> | ||
| 930 | + <unique_rows>N</unique_rows> | ||
| 931 | + <fields> | ||
| 932 | + <field> | ||
| 933 | + <name>xlid</name> | ||
| 934 | + <ascending>Y</ascending> | ||
| 935 | + <case_sensitive>N</case_sensitive> | ||
| 936 | + <presorted>N</presorted> | ||
| 937 | + </field> | ||
| 938 | + <field> | ||
| 939 | + <name>cid</name> | ||
| 940 | + <ascending>Y</ascending> | ||
| 941 | + <case_sensitive>N</case_sensitive> | ||
| 942 | + <presorted>N</presorted> | ||
| 943 | + </field> | ||
| 944 | + <field> | ||
| 945 | + <name>起始路牌</name> | ||
| 946 | + <ascending>Y</ascending> | ||
| 947 | + <case_sensitive>N</case_sensitive> | ||
| 948 | + <presorted>N</presorted> | ||
| 949 | + </field> | ||
| 950 | + <field> | ||
| 951 | + <name>起始人员</name> | ||
| 952 | + <ascending>Y</ascending> | ||
| 953 | + <case_sensitive>N</case_sensitive> | ||
| 954 | + <presorted>N</presorted> | ||
| 955 | + </field> | ||
| 956 | + <field> | ||
| 957 | + <name>人员范围</name> | ||
| 958 | + <ascending>Y</ascending> | ||
| 959 | + <case_sensitive>N</case_sensitive> | ||
| 960 | + <presorted>N</presorted> | ||
| 961 | + </field> | ||
| 962 | + <field> | ||
| 963 | + <name>启用日期</name> | ||
| 964 | + <ascending>Y</ascending> | ||
| 965 | + <case_sensitive>N</case_sensitive> | ||
| 966 | + <presorted>N</presorted> | ||
| 967 | + </field> | ||
| 968 | + <field> | ||
| 969 | + <name>翻班格式</name> | ||
| 970 | + <ascending>Y</ascending> | ||
| 971 | + <case_sensitive>N</case_sensitive> | ||
| 972 | + <presorted>N</presorted> | ||
| 973 | + </field> | ||
| 974 | + <field> | ||
| 975 | + <name>isCancel</name> | ||
| 976 | + <ascending>Y</ascending> | ||
| 977 | + <case_sensitive>N</case_sensitive> | ||
| 978 | + <presorted>N</presorted> | ||
| 979 | + </field> | ||
| 980 | + </fields> | ||
| 981 | + <cluster_schema/> | ||
| 982 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 983 | + <xloc>516</xloc> | ||
| 984 | + <yloc>119</yloc> | ||
| 985 | + <draw>Y</draw> | ||
| 986 | + </GUI> | ||
| 987 | + </step> | ||
| 988 | + | ||
| 989 | + <step> | ||
| 990 | + <name>排序记录 2</name> | ||
| 991 | + <type>SortRows</type> | ||
| 992 | + <description/> | ||
| 993 | + <distribute>Y</distribute> | ||
| 994 | + <custom_distribution/> | ||
| 995 | + <copies>1</copies> | ||
| 996 | + <partitioning> | ||
| 997 | + <method>none</method> | ||
| 998 | + <schema_name/> | ||
| 999 | + </partitioning> | ||
| 1000 | + <directory>%%java.io.tmpdir%%</directory> | ||
| 1001 | + <prefix>out</prefix> | ||
| 1002 | + <sort_size>1000000</sort_size> | ||
| 1003 | + <free_memory/> | ||
| 1004 | + <compress>N</compress> | ||
| 1005 | + <compress_variable/> | ||
| 1006 | + <unique_rows>N</unique_rows> | ||
| 1007 | + <fields> | ||
| 1008 | + <field> | ||
| 1009 | + <name>xlid</name> | ||
| 1010 | + <ascending>Y</ascending> | ||
| 1011 | + <case_sensitive>N</case_sensitive> | ||
| 1012 | + <presorted>N</presorted> | ||
| 1013 | + </field> | ||
| 1014 | + <field> | ||
| 1015 | + <name>cid</name> | ||
| 1016 | + <ascending>Y</ascending> | ||
| 1017 | + <case_sensitive>N</case_sensitive> | ||
| 1018 | + <presorted>N</presorted> | ||
| 1019 | + </field> | ||
| 1020 | + <field> | ||
| 1021 | + <name>lpnames</name> | ||
| 1022 | + <ascending>Y</ascending> | ||
| 1023 | + <case_sensitive>N</case_sensitive> | ||
| 1024 | + <presorted>N</presorted> | ||
| 1025 | + </field> | ||
| 1026 | + <field> | ||
| 1027 | + <name>lpids</name> | ||
| 1028 | + <ascending>Y</ascending> | ||
| 1029 | + <case_sensitive>N</case_sensitive> | ||
| 1030 | + <presorted>N</presorted> | ||
| 1031 | + </field> | ||
| 1032 | + <field> | ||
| 1033 | + <name>起始路牌</name> | ||
| 1034 | + <ascending>Y</ascending> | ||
| 1035 | + <case_sensitive>N</case_sensitive> | ||
| 1036 | + <presorted>N</presorted> | ||
| 1037 | + </field> | ||
| 1038 | + <field> | ||
| 1039 | + <name>起始人员</name> | ||
| 1040 | + <ascending>Y</ascending> | ||
| 1041 | + <case_sensitive>N</case_sensitive> | ||
| 1042 | + <presorted>N</presorted> | ||
| 1043 | + </field> | ||
| 1044 | + <field> | ||
| 1045 | + <name>人员范围</name> | ||
| 1046 | + <ascending>Y</ascending> | ||
| 1047 | + <case_sensitive>N</case_sensitive> | ||
| 1048 | + <presorted>N</presorted> | ||
| 1049 | + </field> | ||
| 1050 | + <field> | ||
| 1051 | + <name>启用日期</name> | ||
| 1052 | + <ascending>Y</ascending> | ||
| 1053 | + <case_sensitive>N</case_sensitive> | ||
| 1054 | + <presorted>N</presorted> | ||
| 1055 | + </field> | ||
| 1056 | + <field> | ||
| 1057 | + <name>翻班格式</name> | ||
| 1058 | + <ascending>Y</ascending> | ||
| 1059 | + <case_sensitive>N</case_sensitive> | ||
| 1060 | + <presorted>N</presorted> | ||
| 1061 | + </field> | ||
| 1062 | + <field> | ||
| 1063 | + <name>isCancel</name> | ||
| 1064 | + <ascending>Y</ascending> | ||
| 1065 | + <case_sensitive>N</case_sensitive> | ||
| 1066 | + <presorted>N</presorted> | ||
| 1067 | + </field> | ||
| 1068 | + </fields> | ||
| 1069 | + <cluster_schema/> | ||
| 1070 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 1071 | + <xloc>919</xloc> | ||
| 1072 | + <yloc>289</yloc> | ||
| 1073 | + <draw>Y</draw> | ||
| 1074 | + </GUI> | ||
| 1075 | + </step> | ||
| 1076 | + | ||
| 1077 | + <step> | ||
| 1078 | + <name>插入 / 更新bsth_c_s_sr1_flat</name> | ||
| 1079 | + <type>InsertUpdate</type> | ||
| 1080 | + <description/> | ||
| 1081 | + <distribute>Y</distribute> | ||
| 1082 | + <custom_distribution/> | ||
| 1083 | + <copies>1</copies> | ||
| 1084 | + <partitioning> | ||
| 1085 | + <method>none</method> | ||
| 1086 | + <schema_name/> | ||
| 1087 | + </partitioning> | ||
| 1088 | + <connection>bus_control_variable</connection> | ||
| 1089 | + <commit>100</commit> | ||
| 1090 | + <update_bypassed>N</update_bypassed> | ||
| 1091 | + <lookup> | ||
| 1092 | + <schema/> | ||
| 1093 | + <table>bsth_c_s_sr1_flat</table> | ||
| 1094 | + <key> | ||
| 1095 | + <name>xlid</name> | ||
| 1096 | + <field>xl</field> | ||
| 1097 | + <condition>=</condition> | ||
| 1098 | + <name2/> | ||
| 1099 | + </key> | ||
| 1100 | + <key> | ||
| 1101 | + <name>cid</name> | ||
| 1102 | + <field>car_config_info</field> | ||
| 1103 | + <condition>=</condition> | ||
| 1104 | + <name2/> | ||
| 1105 | + </key> | ||
| 1106 | + <value> | ||
| 1107 | + <name>xl</name> | ||
| 1108 | + <rename>xlid</rename> | ||
| 1109 | + <update>Y</update> | ||
| 1110 | + </value> | ||
| 1111 | + <value> | ||
| 1112 | + <name>car_config_info</name> | ||
| 1113 | + <rename>cid</rename> | ||
| 1114 | + <update>Y</update> | ||
| 1115 | + </value> | ||
| 1116 | + <value> | ||
| 1117 | + <name>lp_names</name> | ||
| 1118 | + <rename>lpnames</rename> | ||
| 1119 | + <update>Y</update> | ||
| 1120 | + </value> | ||
| 1121 | + <value> | ||
| 1122 | + <name>lp_ids</name> | ||
| 1123 | + <rename>lpids</rename> | ||
| 1124 | + <update>Y</update> | ||
| 1125 | + </value> | ||
| 1126 | + <value> | ||
| 1127 | + <name>lp_start</name> | ||
| 1128 | + <rename>起始路牌</rename> | ||
| 1129 | + <update>Y</update> | ||
| 1130 | + </value> | ||
| 1131 | + <value> | ||
| 1132 | + <name>ry_start</name> | ||
| 1133 | + <rename>起始人员</rename> | ||
| 1134 | + <update>Y</update> | ||
| 1135 | + </value> | ||
| 1136 | + <value> | ||
| 1137 | + <name>ry_dbbms</name> | ||
| 1138 | + <rename>rybms</rename> | ||
| 1139 | + <update>Y</update> | ||
| 1140 | + </value> | ||
| 1141 | + <value> | ||
| 1142 | + <name>qyrq</name> | ||
| 1143 | + <rename>启用日期</rename> | ||
| 1144 | + <update>Y</update> | ||
| 1145 | + </value> | ||
| 1146 | + <value> | ||
| 1147 | + <name>ry_config_ids</name> | ||
| 1148 | + <rename>rycids</rename> | ||
| 1149 | + <update>Y</update> | ||
| 1150 | + </value> | ||
| 1151 | + <value> | ||
| 1152 | + <name>fbgs</name> | ||
| 1153 | + <rename>翻班格式</rename> | ||
| 1154 | + <update>Y</update> | ||
| 1155 | + </value> | ||
| 1156 | + </lookup> | ||
| 1157 | + <cluster_schema/> | ||
| 1158 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 1159 | + <xloc>532</xloc> | ||
| 1160 | + <yloc>297</yloc> | ||
| 1161 | + <draw>Y</draw> | ||
| 1162 | + </GUI> | ||
| 1163 | + </step> | ||
| 1164 | + | ||
| 1165 | + <step> | ||
| 1166 | + <name>线路id查询</name> | ||
| 1167 | + <type>DBLookup</type> | ||
| 1168 | + <description/> | ||
| 1169 | + <distribute>Y</distribute> | ||
| 1170 | + <custom_distribution/> | ||
| 1171 | + <copies>1</copies> | ||
| 1172 | + <partitioning> | ||
| 1173 | + <method>none</method> | ||
| 1174 | + <schema_name/> | ||
| 1175 | + </partitioning> | ||
| 1176 | + <connection>bus_control_variable</connection> | ||
| 1177 | + <cache>N</cache> | ||
| 1178 | + <cache_load_all>Y</cache_load_all> | ||
| 1179 | + <cache_size>0</cache_size> | ||
| 1180 | + <lookup> | ||
| 1181 | + <schema/> | ||
| 1182 | + <table>bsth_c_line</table> | ||
| 1183 | + <orderby/> | ||
| 1184 | + <fail_on_multiple>N</fail_on_multiple> | ||
| 1185 | + <eat_row_on_failure>N</eat_row_on_failure> | ||
| 1186 | + <key> | ||
| 1187 | + <name>线路</name> | ||
| 1188 | + <field>name</field> | ||
| 1189 | + <condition>=</condition> | ||
| 1190 | + <name2/> | ||
| 1191 | + </key> | ||
| 1192 | + <key> | ||
| 1193 | + <name>isCancel</name> | ||
| 1194 | + <field>destroy</field> | ||
| 1195 | + <condition>=</condition> | ||
| 1196 | + <name2/> | ||
| 1197 | + </key> | ||
| 1198 | + <value> | ||
| 1199 | + <name>id</name> | ||
| 1200 | + <rename>xlid</rename> | ||
| 1201 | + <default/> | ||
| 1202 | + <type>Integer</type> | ||
| 1203 | + </value> | ||
| 1204 | + </lookup> | ||
| 1205 | + <cluster_schema/> | ||
| 1206 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 1207 | + <xloc>359</xloc> | ||
| 1208 | + <yloc>110</yloc> | ||
| 1209 | + <draw>Y</draw> | ||
| 1210 | + </GUI> | ||
| 1211 | + </step> | ||
| 1212 | + | ||
| 1213 | + <step> | ||
| 1214 | + <name>获取变量</name> | ||
| 1215 | + <type>GetVariable</type> | ||
| 1216 | + <description/> | ||
| 1217 | + <distribute>Y</distribute> | ||
| 1218 | + <custom_distribution/> | ||
| 1219 | + <copies>1</copies> | ||
| 1220 | + <partitioning> | ||
| 1221 | + <method>none</method> | ||
| 1222 | + <schema_name/> | ||
| 1223 | + </partitioning> | ||
| 1224 | + <fields> | ||
| 1225 | + <field> | ||
| 1226 | + <name>filepath_</name> | ||
| 1227 | + <variable>${filepath}</variable> | ||
| 1228 | + <type>String</type> | ||
| 1229 | + <format/> | ||
| 1230 | + <currency/> | ||
| 1231 | + <decimal/> | ||
| 1232 | + <group/> | ||
| 1233 | + <length>-1</length> | ||
| 1234 | + <precision>-1</precision> | ||
| 1235 | + <trim_type>none</trim_type> | ||
| 1236 | + </field> | ||
| 1237 | + <field> | ||
| 1238 | + <name>erroroutputdir_</name> | ||
| 1239 | + <variable>${erroroutputdir}</variable> | ||
| 1240 | + <type>String</type> | ||
| 1241 | + <format/> | ||
| 1242 | + <currency/> | ||
| 1243 | + <decimal/> | ||
| 1244 | + <group/> | ||
| 1245 | + <length>-1</length> | ||
| 1246 | + <precision>-1</precision> | ||
| 1247 | + <trim_type>none</trim_type> | ||
| 1248 | + </field> | ||
| 1249 | + </fields> | ||
| 1250 | + <cluster_schema/> | ||
| 1251 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 1252 | + <xloc>53</xloc> | ||
| 1253 | + <yloc>23</yloc> | ||
| 1254 | + <draw>Y</draw> | ||
| 1255 | + </GUI> | ||
| 1256 | + </step> | ||
| 1257 | + | ||
| 1258 | + <step> | ||
| 1259 | + <name>路牌id查询</name> | ||
| 1260 | + <type>DBLookup</type> | ||
| 1261 | + <description/> | ||
| 1262 | + <distribute>Y</distribute> | ||
| 1263 | + <custom_distribution/> | ||
| 1264 | + <copies>1</copies> | ||
| 1265 | + <partitioning> | ||
| 1266 | + <method>none</method> | ||
| 1267 | + <schema_name/> | ||
| 1268 | + </partitioning> | ||
| 1269 | + <connection>bus_control_variable</connection> | ||
| 1270 | + <cache>N</cache> | ||
| 1271 | + <cache_load_all>Y</cache_load_all> | ||
| 1272 | + <cache_size>0</cache_size> | ||
| 1273 | + <lookup> | ||
| 1274 | + <schema/> | ||
| 1275 | + <table>bsth_c_s_gbi</table> | ||
| 1276 | + <orderby/> | ||
| 1277 | + <fail_on_multiple>N</fail_on_multiple> | ||
| 1278 | + <eat_row_on_failure>N</eat_row_on_failure> | ||
| 1279 | + <key> | ||
| 1280 | + <name>xlid</name> | ||
| 1281 | + <field>xl</field> | ||
| 1282 | + <condition>=</condition> | ||
| 1283 | + <name2/> | ||
| 1284 | + </key> | ||
| 1285 | + <key> | ||
| 1286 | + <name>lpname</name> | ||
| 1287 | + <field>lp_name</field> | ||
| 1288 | + <condition>=</condition> | ||
| 1289 | + <name2/> | ||
| 1290 | + </key> | ||
| 1291 | + <key> | ||
| 1292 | + <name>isCancel</name> | ||
| 1293 | + <field>is_cancel</field> | ||
| 1294 | + <condition>=</condition> | ||
| 1295 | + <name2/> | ||
| 1296 | + </key> | ||
| 1297 | + <value> | ||
| 1298 | + <name>id</name> | ||
| 1299 | + <rename>lpid</rename> | ||
| 1300 | + <default/> | ||
| 1301 | + <type>Integer</type> | ||
| 1302 | + </value> | ||
| 1303 | + </lookup> | ||
| 1304 | + <cluster_schema/> | ||
| 1305 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 1306 | + <xloc>516</xloc> | ||
| 1307 | + <yloc>21</yloc> | ||
| 1308 | + <draw>Y</draw> | ||
| 1309 | + </GUI> | ||
| 1310 | + </step> | ||
| 1311 | + | ||
| 1312 | + <step> | ||
| 1313 | + <name>车辆配置id查询</name> | ||
| 1314 | + <type>DBJoin</type> | ||
| 1315 | + <description/> | ||
| 1316 | + <distribute>Y</distribute> | ||
| 1317 | + <custom_distribution/> | ||
| 1318 | + <copies>1</copies> | ||
| 1319 | + <partitioning> | ||
| 1320 | + <method>none</method> | ||
| 1321 | + <schema_name/> | ||
| 1322 | + </partitioning> | ||
| 1323 | + <connection>bus_control_variable</connection> | ||
| 1324 | + <rowlimit>1</rowlimit> | ||
| 1325 | + <sql>select t1.id as cid from bsth_c_s_ccinfo t1 left join bsth_c_cars t2 on t1.cl = t2.id
where t1.xl = ? and t2.inside_code = ? and t1.is_cancel = ?</sql> | ||
| 1326 | + <outer_join>Y</outer_join> | ||
| 1327 | + <replace_vars>N</replace_vars> | ||
| 1328 | + <parameter> | ||
| 1329 | + <field> | ||
| 1330 | + <name>xlid</name> | ||
| 1331 | + <type>Integer</type> | ||
| 1332 | + </field> | ||
| 1333 | + <field> | ||
| 1334 | + <name>内部编码</name> | ||
| 1335 | + <type>String</type> | ||
| 1336 | + </field> | ||
| 1337 | + <field> | ||
| 1338 | + <name>isCancel</name> | ||
| 1339 | + <type>Integer</type> | ||
| 1340 | + </field> | ||
| 1341 | + </parameter> | ||
| 1342 | + <cluster_schema/> | ||
| 1343 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 1344 | + <xloc>360</xloc> | ||
| 1345 | + <yloc>184</yloc> | ||
| 1346 | + <draw>Y</draw> | ||
| 1347 | + </GUI> | ||
| 1348 | + </step> | ||
| 1349 | + | ||
| 1350 | + <step> | ||
| 1351 | + <name>过滤人员配置id为空记录</name> | ||
| 1352 | + <type>FilterRows</type> | ||
| 1353 | + <description/> | ||
| 1354 | + <distribute>Y</distribute> | ||
| 1355 | + <custom_distribution/> | ||
| 1356 | + <copies>1</copies> | ||
| 1357 | + <partitioning> | ||
| 1358 | + <method>none</method> | ||
| 1359 | + <schema_name/> | ||
| 1360 | + </partitioning> | ||
| 1361 | +<send_true_to/> | ||
| 1362 | +<send_false_to/> | ||
| 1363 | + <compare> | ||
| 1364 | +<condition> | ||
| 1365 | + <negated>N</negated> | ||
| 1366 | + <conditions> | ||
| 1367 | + <condition> | ||
| 1368 | + <negated>N</negated> | ||
| 1369 | + <leftvalue>rycid1</leftvalue> | ||
| 1370 | + <function>IS NOT NULL</function> | ||
| 1371 | + <rightvalue/> | ||
| 1372 | + </condition> | ||
| 1373 | + <condition> | ||
| 1374 | + <negated>N</negated> | ||
| 1375 | + <operator>OR</operator> | ||
| 1376 | + <leftvalue>rycid2</leftvalue> | ||
| 1377 | + <function>IS NOT NULL</function> | ||
| 1378 | + <rightvalue/> | ||
| 1379 | + </condition> | ||
| 1380 | + </conditions> | ||
| 1381 | + </condition> | ||
| 1382 | + </compare> | ||
| 1383 | + <cluster_schema/> | ||
| 1384 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 1385 | + <xloc>776</xloc> | ||
| 1386 | + <yloc>204</yloc> | ||
| 1387 | + <draw>Y</draw> | ||
| 1388 | + </GUI> | ||
| 1389 | + </step> | ||
| 1390 | + | ||
| 1391 | + <step> | ||
| 1392 | + <name>过滤线路id为空记录</name> | ||
| 1393 | + <type>FilterRows</type> | ||
| 1394 | + <description/> | ||
| 1395 | + <distribute>Y</distribute> | ||
| 1396 | + <custom_distribution/> | ||
| 1397 | + <copies>1</copies> | ||
| 1398 | + <partitioning> | ||
| 1399 | + <method>none</method> | ||
| 1400 | + <schema_name/> | ||
| 1401 | + </partitioning> | ||
| 1402 | +<send_true_to>车辆配置id查询</send_true_to> | ||
| 1403 | +<send_false_to/> | ||
| 1404 | + <compare> | ||
| 1405 | +<condition> | ||
| 1406 | + <negated>N</negated> | ||
| 1407 | + <leftvalue>xlid</leftvalue> | ||
| 1408 | + <function>IS NOT NULL</function> | ||
| 1409 | + <rightvalue/> | ||
| 1410 | + </condition> | ||
| 1411 | + </compare> | ||
| 1412 | + <cluster_schema/> | ||
| 1413 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 1414 | + <xloc>203</xloc> | ||
| 1415 | + <yloc>110</yloc> | ||
| 1416 | + <draw>Y</draw> | ||
| 1417 | + </GUI> | ||
| 1418 | + </step> | ||
| 1419 | + | ||
| 1420 | + <step> | ||
| 1421 | + <name>过滤路牌id为空记录</name> | ||
| 1422 | + <type>FilterRows</type> | ||
| 1423 | + <description/> | ||
| 1424 | + <distribute>Y</distribute> | ||
| 1425 | + <custom_distribution/> | ||
| 1426 | + <copies>1</copies> | ||
| 1427 | + <partitioning> | ||
| 1428 | + <method>none</method> | ||
| 1429 | + <schema_name/> | ||
| 1430 | + </partitioning> | ||
| 1431 | +<send_true_to>排序记录</send_true_to> | ||
| 1432 | +<send_false_to/> | ||
| 1433 | + <compare> | ||
| 1434 | +<condition> | ||
| 1435 | + <negated>N</negated> | ||
| 1436 | + <leftvalue>lpid</leftvalue> | ||
| 1437 | + <function>IS NOT NULL</function> | ||
| 1438 | + <rightvalue/> | ||
| 1439 | + </condition> | ||
| 1440 | + </compare> | ||
| 1441 | + <cluster_schema/> | ||
| 1442 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 1443 | + <xloc>653</xloc> | ||
| 1444 | + <yloc>23</yloc> | ||
| 1445 | + <draw>Y</draw> | ||
| 1446 | + </GUI> | ||
| 1447 | + </step> | ||
| 1448 | + | ||
| 1449 | + <step> | ||
| 1450 | + <name>过滤车辆配置id为空记录</name> | ||
| 1451 | + <type>FilterRows</type> | ||
| 1452 | + <description/> | ||
| 1453 | + <distribute>Y</distribute> | ||
| 1454 | + <custom_distribution/> | ||
| 1455 | + <copies>1</copies> | ||
| 1456 | + <partitioning> | ||
| 1457 | + <method>none</method> | ||
| 1458 | + <schema_name/> | ||
| 1459 | + </partitioning> | ||
| 1460 | +<send_true_to>拆分路牌范围</send_true_to> | ||
| 1461 | +<send_false_to/> | ||
| 1462 | + <compare> | ||
| 1463 | +<condition> | ||
| 1464 | + <negated>N</negated> | ||
| 1465 | + <leftvalue>cid</leftvalue> | ||
| 1466 | + <function>IS NOT NULL</function> | ||
| 1467 | + <rightvalue/> | ||
| 1468 | + </condition> | ||
| 1469 | + </compare> | ||
| 1470 | + <cluster_schema/> | ||
| 1471 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 1472 | + <xloc>208</xloc> | ||
| 1473 | + <yloc>182</yloc> | ||
| 1474 | + <draw>Y</draw> | ||
| 1475 | + </GUI> | ||
| 1476 | + </step> | ||
| 1477 | + | ||
| 1478 | + <step> | ||
| 1479 | + <name>错误输出 2</name> | ||
| 1480 | + <type>ExcelOutput</type> | ||
| 1481 | + <description/> | ||
| 1482 | + <distribute>Y</distribute> | ||
| 1483 | + <custom_distribution/> | ||
| 1484 | + <copies>1</copies> | ||
| 1485 | + <partitioning> | ||
| 1486 | + <method>none</method> | ||
| 1487 | + <schema_name/> | ||
| 1488 | + </partitioning> | ||
| 1489 | + <header>Y</header> | ||
| 1490 | + <footer>N</footer> | ||
| 1491 | + <encoding>UTF-8</encoding> | ||
| 1492 | + <append>N</append> | ||
| 1493 | + <add_to_result_filenames>Y</add_to_result_filenames> | ||
| 1494 | + <file> | ||
| 1495 | + <name>${erroroutputdir}/排版规则信息导入_错误</name> | ||
| 1496 | + <extention>xls</extention> | ||
| 1497 | + <do_not_open_newfile_init>N</do_not_open_newfile_init> | ||
| 1498 | + <create_parent_folder>N</create_parent_folder> | ||
| 1499 | + <split>N</split> | ||
| 1500 | + <add_date>N</add_date> | ||
| 1501 | + <add_time>N</add_time> | ||
| 1502 | + <SpecifyFormat>N</SpecifyFormat> | ||
| 1503 | + <date_time_format/> | ||
| 1504 | + <sheetname>Sheet1</sheetname> | ||
| 1505 | + <autosizecolums>N</autosizecolums> | ||
| 1506 | + <nullisblank>N</nullisblank> | ||
| 1507 | + <protect_sheet>N</protect_sheet> | ||
| 1508 | + <password>Encrypted </password> | ||
| 1509 | + <splitevery>0</splitevery> | ||
| 1510 | + <usetempfiles>N</usetempfiles> | ||
| 1511 | + <tempdirectory/> | ||
| 1512 | + </file> | ||
| 1513 | + <template> | ||
| 1514 | + <enabled>N</enabled> | ||
| 1515 | + <append>N</append> | ||
| 1516 | + <filename>template.xls</filename> | ||
| 1517 | + </template> | ||
| 1518 | + <fields> | ||
| 1519 | + <field> | ||
| 1520 | + <name>xlid</name> | ||
| 1521 | + <type>Integer</type> | ||
| 1522 | + <format/> | ||
| 1523 | + </field> | ||
| 1524 | + <field> | ||
| 1525 | + <name>cid</name> | ||
| 1526 | + <type>Integer</type> | ||
| 1527 | + <format/> | ||
| 1528 | + </field> | ||
| 1529 | + <field> | ||
| 1530 | + <name>lpnames</name> | ||
| 1531 | + <type>String</type> | ||
| 1532 | + <format/> | ||
| 1533 | + </field> | ||
| 1534 | + <field> | ||
| 1535 | + <name>lpids</name> | ||
| 1536 | + <type>String</type> | ||
| 1537 | + <format/> | ||
| 1538 | + </field> | ||
| 1539 | + <field> | ||
| 1540 | + <name>起始路牌</name> | ||
| 1541 | + <type>String</type> | ||
| 1542 | + <format/> | ||
| 1543 | + </field> | ||
| 1544 | + <field> | ||
| 1545 | + <name>起始人员</name> | ||
| 1546 | + <type>String</type> | ||
| 1547 | + <format/> | ||
| 1548 | + </field> | ||
| 1549 | + <field> | ||
| 1550 | + <name>人员范围</name> | ||
| 1551 | + <type>String</type> | ||
| 1552 | + <format/> | ||
| 1553 | + </field> | ||
| 1554 | + <field> | ||
| 1555 | + <name>启用日期</name> | ||
| 1556 | + <type>Timestamp</type> | ||
| 1557 | + <format/> | ||
| 1558 | + </field> | ||
| 1559 | + <field> | ||
| 1560 | + <name>翻班格式</name> | ||
| 1561 | + <type>String</type> | ||
| 1562 | + <format/> | ||
| 1563 | + </field> | ||
| 1564 | + <field> | ||
| 1565 | + <name>isCancel</name> | ||
| 1566 | + <type>Integer</type> | ||
| 1567 | + <format/> | ||
| 1568 | + </field> | ||
| 1569 | + <field> | ||
| 1570 | + <name>rycids</name> | ||
| 1571 | + <type>String</type> | ||
| 1572 | + <format/> | ||
| 1573 | + </field> | ||
| 1574 | + <field> | ||
| 1575 | + <name>rybms</name> | ||
| 1576 | + <type>String</type> | ||
| 1577 | + <format/> | ||
| 1578 | + </field> | ||
| 1579 | + <field> | ||
| 1580 | + <name>error_count</name> | ||
| 1581 | + <type>Integer</type> | ||
| 1582 | + <format/> | ||
| 1583 | + </field> | ||
| 1584 | + <field> | ||
| 1585 | + <name>error_desc</name> | ||
| 1586 | + <type>String</type> | ||
| 1587 | + <format/> | ||
| 1588 | + </field> | ||
| 1589 | + <field> | ||
| 1590 | + <name>error_column1</name> | ||
| 1591 | + <type>String</type> | ||
| 1592 | + <format/> | ||
| 1593 | + </field> | ||
| 1594 | + <field> | ||
| 1595 | + <name>error_column2</name> | ||
| 1596 | + <type>String</type> | ||
| 1597 | + <format/> | ||
| 1598 | + </field> | ||
| 1599 | + </fields> | ||
| 1600 | + <custom> | ||
| 1601 | + <header_font_name>arial</header_font_name> | ||
| 1602 | + <header_font_size>10</header_font_size> | ||
| 1603 | + <header_font_bold>N</header_font_bold> | ||
| 1604 | + <header_font_italic>N</header_font_italic> | ||
| 1605 | + <header_font_underline>no</header_font_underline> | ||
| 1606 | + <header_font_orientation>horizontal</header_font_orientation> | ||
| 1607 | + <header_font_color>black</header_font_color> | ||
| 1608 | + <header_background_color>none</header_background_color> | ||
| 1609 | + <header_row_height>255</header_row_height> | ||
| 1610 | + <header_alignment>left</header_alignment> | ||
| 1611 | + <header_image/> | ||
| 1612 | + <row_font_name>arial</row_font_name> | ||
| 1613 | + <row_font_size>10</row_font_size> | ||
| 1614 | + <row_font_color>black</row_font_color> | ||
| 1615 | + <row_background_color>none</row_background_color> | ||
| 1616 | + </custom> | ||
| 1617 | + <cluster_schema/> | ||
| 1618 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 1619 | + <xloc>534</xloc> | ||
| 1620 | + <yloc>392</yloc> | ||
| 1621 | + <draw>Y</draw> | ||
| 1622 | + </GUI> | ||
| 1623 | + </step> | ||
| 1624 | + | ||
| 1625 | + <step_error_handling> | ||
| 1626 | + <error> | ||
| 1627 | + <source_step>插入 / 更新bsth_c_s_sr1_flat</source_step> | ||
| 1628 | + <target_step>错误输出 2</target_step> | ||
| 1629 | + <is_enabled>Y</is_enabled> | ||
| 1630 | + <nr_valuename>error_count</nr_valuename> | ||
| 1631 | + <descriptions_valuename>error_desc</descriptions_valuename> | ||
| 1632 | + <fields_valuename>error_column1</fields_valuename> | ||
| 1633 | + <codes_valuename>error_column2</codes_valuename> | ||
| 1634 | + <max_errors/> | ||
| 1635 | + <max_pct_errors/> | ||
| 1636 | + <min_pct_rows/> | ||
| 1637 | + </error> | ||
| 1638 | + </step_error_handling> | ||
| 1639 | + <slave-step-copy-partition-distribution> | ||
| 1640 | +</slave-step-copy-partition-distribution> | ||
| 1641 | + <slave_transformation>N</slave_transformation> | ||
| 1642 | + | ||
| 1643 | +</transformation> |
src/main/resources/datatools/ktrs/scheduleRuleDataInput.ktr
| @@ -290,9 +290,11 @@ | @@ -290,9 +290,11 @@ | ||
| 290 | <hop> <from>过滤人员配置id为空记录</from><to>合并分班人员配置id</to><enabled>Y</enabled> </hop> | 290 | <hop> <from>过滤人员配置id为空记录</from><to>合并分班人员配置id</to><enabled>Y</enabled> </hop> |
| 291 | <hop> <from>合并分班人员配置id</from><to>排序记录 2</to><enabled>Y</enabled> </hop> | 291 | <hop> <from>合并分班人员配置id</from><to>排序记录 2</to><enabled>Y</enabled> </hop> |
| 292 | <hop> <from>排序记录 2</from><to>分组合并人员配置id</to><enabled>Y</enabled> </hop> | 292 | <hop> <from>排序记录 2</from><to>分组合并人员配置id</to><enabled>Y</enabled> </hop> |
| 293 | - <hop> <from>插入 / 更新bsth_c_s_sr1_flat</from><to>错误输出 2</to><enabled>Y</enabled> </hop> | ||
| 294 | <hop> <from>分组合并人员配置id</from><to>启用日期转换</to><enabled>Y</enabled> </hop> | 293 | <hop> <from>分组合并人员配置id</from><to>启用日期转换</to><enabled>Y</enabled> </hop> |
| 295 | - <hop> <from>启用日期转换</from><to>插入 / 更新bsth_c_s_sr1_flat</to><enabled>Y</enabled> </hop> | 294 | + <hop> <from>启用日期转换</from><to>删除</to><enabled>Y</enabled> </hop> |
| 295 | + <hop> <from>删除</from><to>阻塞数据直到步骤都完成</to><enabled>Y</enabled> </hop> | ||
| 296 | + <hop> <from>阻塞数据直到步骤都完成</from><to>规则表输出</to><enabled>Y</enabled> </hop> | ||
| 297 | + <hop> <from>规则表输出</from><to>错误输出 2</to><enabled>Y</enabled> </hop> | ||
| 296 | </order> | 298 | </order> |
| 297 | <step> | 299 | <step> |
| 298 | <name>人员配置id查询</name> | 300 | <name>人员配置id查询</name> |
| @@ -1075,94 +1077,6 @@ | @@ -1075,94 +1077,6 @@ | ||
| 1075 | </step> | 1077 | </step> |
| 1076 | 1078 | ||
| 1077 | <step> | 1079 | <step> |
| 1078 | - <name>插入 / 更新bsth_c_s_sr1_flat</name> | ||
| 1079 | - <type>InsertUpdate</type> | ||
| 1080 | - <description/> | ||
| 1081 | - <distribute>Y</distribute> | ||
| 1082 | - <custom_distribution/> | ||
| 1083 | - <copies>1</copies> | ||
| 1084 | - <partitioning> | ||
| 1085 | - <method>none</method> | ||
| 1086 | - <schema_name/> | ||
| 1087 | - </partitioning> | ||
| 1088 | - <connection>bus_control_variable</connection> | ||
| 1089 | - <commit>100</commit> | ||
| 1090 | - <update_bypassed>N</update_bypassed> | ||
| 1091 | - <lookup> | ||
| 1092 | - <schema/> | ||
| 1093 | - <table>bsth_c_s_sr1_flat</table> | ||
| 1094 | - <key> | ||
| 1095 | - <name>xlid</name> | ||
| 1096 | - <field>xl</field> | ||
| 1097 | - <condition>=</condition> | ||
| 1098 | - <name2/> | ||
| 1099 | - </key> | ||
| 1100 | - <key> | ||
| 1101 | - <name>cid</name> | ||
| 1102 | - <field>car_config_info</field> | ||
| 1103 | - <condition>=</condition> | ||
| 1104 | - <name2/> | ||
| 1105 | - </key> | ||
| 1106 | - <value> | ||
| 1107 | - <name>xl</name> | ||
| 1108 | - <rename>xlid</rename> | ||
| 1109 | - <update>Y</update> | ||
| 1110 | - </value> | ||
| 1111 | - <value> | ||
| 1112 | - <name>car_config_info</name> | ||
| 1113 | - <rename>cid</rename> | ||
| 1114 | - <update>Y</update> | ||
| 1115 | - </value> | ||
| 1116 | - <value> | ||
| 1117 | - <name>lp_names</name> | ||
| 1118 | - <rename>lpnames</rename> | ||
| 1119 | - <update>Y</update> | ||
| 1120 | - </value> | ||
| 1121 | - <value> | ||
| 1122 | - <name>lp_ids</name> | ||
| 1123 | - <rename>lpids</rename> | ||
| 1124 | - <update>Y</update> | ||
| 1125 | - </value> | ||
| 1126 | - <value> | ||
| 1127 | - <name>lp_start</name> | ||
| 1128 | - <rename>起始路牌</rename> | ||
| 1129 | - <update>Y</update> | ||
| 1130 | - </value> | ||
| 1131 | - <value> | ||
| 1132 | - <name>ry_start</name> | ||
| 1133 | - <rename>起始人员</rename> | ||
| 1134 | - <update>Y</update> | ||
| 1135 | - </value> | ||
| 1136 | - <value> | ||
| 1137 | - <name>ry_dbbms</name> | ||
| 1138 | - <rename>rybms</rename> | ||
| 1139 | - <update>Y</update> | ||
| 1140 | - </value> | ||
| 1141 | - <value> | ||
| 1142 | - <name>qyrq</name> | ||
| 1143 | - <rename>启用日期</rename> | ||
| 1144 | - <update>Y</update> | ||
| 1145 | - </value> | ||
| 1146 | - <value> | ||
| 1147 | - <name>ry_config_ids</name> | ||
| 1148 | - <rename>rycids</rename> | ||
| 1149 | - <update>Y</update> | ||
| 1150 | - </value> | ||
| 1151 | - <value> | ||
| 1152 | - <name>fbgs</name> | ||
| 1153 | - <rename>翻班格式</rename> | ||
| 1154 | - <update>Y</update> | ||
| 1155 | - </value> | ||
| 1156 | - </lookup> | ||
| 1157 | - <cluster_schema/> | ||
| 1158 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 1159 | - <xloc>532</xloc> | ||
| 1160 | - <yloc>297</yloc> | ||
| 1161 | - <draw>Y</draw> | ||
| 1162 | - </GUI> | ||
| 1163 | - </step> | ||
| 1164 | - | ||
| 1165 | - <step> | ||
| 1166 | <name>线路id查询</name> | 1080 | <name>线路id查询</name> |
| 1167 | <type>DBLookup</type> | 1081 | <type>DBLookup</type> |
| 1168 | <description/> | 1082 | <description/> |
| @@ -1527,7 +1441,7 @@ | @@ -1527,7 +1441,7 @@ | ||
| 1527 | <format/> | 1441 | <format/> |
| 1528 | </field> | 1442 | </field> |
| 1529 | <field> | 1443 | <field> |
| 1530 | - <name>路牌范围</name> | 1444 | + <name>lpnames</name> |
| 1531 | <type>String</type> | 1445 | <type>String</type> |
| 1532 | <format/> | 1446 | <format/> |
| 1533 | </field> | 1447 | </field> |
| @@ -1572,6 +1486,11 @@ | @@ -1572,6 +1486,11 @@ | ||
| 1572 | <format/> | 1486 | <format/> |
| 1573 | </field> | 1487 | </field> |
| 1574 | <field> | 1488 | <field> |
| 1489 | + <name>rybms</name> | ||
| 1490 | + <type>String</type> | ||
| 1491 | + <format/> | ||
| 1492 | + </field> | ||
| 1493 | + <field> | ||
| 1575 | <name>error_count</name> | 1494 | <name>error_count</name> |
| 1576 | <type>Integer</type> | 1495 | <type>Integer</type> |
| 1577 | <format/> | 1496 | <format/> |
| @@ -1611,15 +1530,149 @@ | @@ -1611,15 +1530,149 @@ | ||
| 1611 | </custom> | 1530 | </custom> |
| 1612 | <cluster_schema/> | 1531 | <cluster_schema/> |
| 1613 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | 1532 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> |
| 1614 | - <xloc>534</xloc> | ||
| 1615 | - <yloc>392</yloc> | 1533 | + <xloc>253</xloc> |
| 1534 | + <yloc>501</yloc> | ||
| 1535 | + <draw>Y</draw> | ||
| 1536 | + </GUI> | ||
| 1537 | + </step> | ||
| 1538 | + | ||
| 1539 | + <step> | ||
| 1540 | + <name>删除</name> | ||
| 1541 | + <type>Delete</type> | ||
| 1542 | + <description/> | ||
| 1543 | + <distribute>Y</distribute> | ||
| 1544 | + <custom_distribution/> | ||
| 1545 | + <copies>1</copies> | ||
| 1546 | + <partitioning> | ||
| 1547 | + <method>none</method> | ||
| 1548 | + <schema_name/> | ||
| 1549 | + </partitioning> | ||
| 1550 | + <connection>bus_control_variable</connection> | ||
| 1551 | + <commit>100</commit> | ||
| 1552 | + <lookup> | ||
| 1553 | + <schema/> | ||
| 1554 | + <table>bsth_c_s_sr1_flat</table> | ||
| 1555 | + <key> | ||
| 1556 | + <name>xlid</name> | ||
| 1557 | + <field>xl</field> | ||
| 1558 | + <condition>=</condition> | ||
| 1559 | + <name2/> | ||
| 1560 | + </key> | ||
| 1561 | + </lookup> | ||
| 1562 | + <cluster_schema/> | ||
| 1563 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 1564 | + <xloc>619</xloc> | ||
| 1565 | + <yloc>370</yloc> | ||
| 1566 | + <draw>Y</draw> | ||
| 1567 | + </GUI> | ||
| 1568 | + </step> | ||
| 1569 | + | ||
| 1570 | + <step> | ||
| 1571 | + <name>阻塞数据直到步骤都完成</name> | ||
| 1572 | + <type>BlockUntilStepsFinish</type> | ||
| 1573 | + <description/> | ||
| 1574 | + <distribute>Y</distribute> | ||
| 1575 | + <custom_distribution/> | ||
| 1576 | + <copies>1</copies> | ||
| 1577 | + <partitioning> | ||
| 1578 | + <method>none</method> | ||
| 1579 | + <schema_name/> | ||
| 1580 | + </partitioning> | ||
| 1581 | + <steps> | ||
| 1582 | + <step> | ||
| 1583 | + <name>删除</name> | ||
| 1584 | + <CopyNr>0</CopyNr> | ||
| 1585 | + </step> | ||
| 1586 | + </steps> | ||
| 1587 | + <cluster_schema/> | ||
| 1588 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 1589 | + <xloc>450</xloc> | ||
| 1590 | + <yloc>370</yloc> | ||
| 1591 | + <draw>Y</draw> | ||
| 1592 | + </GUI> | ||
| 1593 | + </step> | ||
| 1594 | + | ||
| 1595 | + <step> | ||
| 1596 | + <name>规则表输出</name> | ||
| 1597 | + <type>TableOutput</type> | ||
| 1598 | + <description/> | ||
| 1599 | + <distribute>Y</distribute> | ||
| 1600 | + <custom_distribution/> | ||
| 1601 | + <copies>1</copies> | ||
| 1602 | + <partitioning> | ||
| 1603 | + <method>none</method> | ||
| 1604 | + <schema_name/> | ||
| 1605 | + </partitioning> | ||
| 1606 | + <connection>bus_control_variable</connection> | ||
| 1607 | + <schema/> | ||
| 1608 | + <table>bsth_c_s_sr1_flat</table> | ||
| 1609 | + <commit>1000</commit> | ||
| 1610 | + <truncate>N</truncate> | ||
| 1611 | + <ignore_errors>N</ignore_errors> | ||
| 1612 | + <use_batch>Y</use_batch> | ||
| 1613 | + <specify_fields>Y</specify_fields> | ||
| 1614 | + <partitioning_enabled>N</partitioning_enabled> | ||
| 1615 | + <partitioning_field/> | ||
| 1616 | + <partitioning_daily>N</partitioning_daily> | ||
| 1617 | + <partitioning_monthly>Y</partitioning_monthly> | ||
| 1618 | + <tablename_in_field>N</tablename_in_field> | ||
| 1619 | + <tablename_field/> | ||
| 1620 | + <tablename_in_table>Y</tablename_in_table> | ||
| 1621 | + <return_keys>N</return_keys> | ||
| 1622 | + <return_field/> | ||
| 1623 | + <fields> | ||
| 1624 | + <field> | ||
| 1625 | + <column_name>xl</column_name> | ||
| 1626 | + <stream_name>xlid</stream_name> | ||
| 1627 | + </field> | ||
| 1628 | + <field> | ||
| 1629 | + <column_name>car_config_info</column_name> | ||
| 1630 | + <stream_name>cid</stream_name> | ||
| 1631 | + </field> | ||
| 1632 | + <field> | ||
| 1633 | + <column_name>lp_names</column_name> | ||
| 1634 | + <stream_name>lpnames</stream_name> | ||
| 1635 | + </field> | ||
| 1636 | + <field> | ||
| 1637 | + <column_name>lp_ids</column_name> | ||
| 1638 | + <stream_name>lpids</stream_name> | ||
| 1639 | + </field> | ||
| 1640 | + <field> | ||
| 1641 | + <column_name>lp_start</column_name> | ||
| 1642 | + <stream_name>起始路牌</stream_name> | ||
| 1643 | + </field> | ||
| 1644 | + <field> | ||
| 1645 | + <column_name>ry_start</column_name> | ||
| 1646 | + <stream_name>起始人员</stream_name> | ||
| 1647 | + </field> | ||
| 1648 | + <field> | ||
| 1649 | + <column_name>qyrq</column_name> | ||
| 1650 | + <stream_name>启用日期</stream_name> | ||
| 1651 | + </field> | ||
| 1652 | + <field> | ||
| 1653 | + <column_name>fbgs</column_name> | ||
| 1654 | + <stream_name>翻班格式</stream_name> | ||
| 1655 | + </field> | ||
| 1656 | + <field> | ||
| 1657 | + <column_name>ry_dbbms</column_name> | ||
| 1658 | + <stream_name>rybms</stream_name> | ||
| 1659 | + </field> | ||
| 1660 | + <field> | ||
| 1661 | + <column_name>ry_config_ids</column_name> | ||
| 1662 | + <stream_name>rycids</stream_name> | ||
| 1663 | + </field> | ||
| 1664 | + </fields> | ||
| 1665 | + <cluster_schema/> | ||
| 1666 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 1667 | + <xloc>259</xloc> | ||
| 1668 | + <yloc>369</yloc> | ||
| 1616 | <draw>Y</draw> | 1669 | <draw>Y</draw> |
| 1617 | </GUI> | 1670 | </GUI> |
| 1618 | </step> | 1671 | </step> |
| 1619 | 1672 | ||
| 1620 | <step_error_handling> | 1673 | <step_error_handling> |
| 1621 | <error> | 1674 | <error> |
| 1622 | - <source_step>插入 / 更新bsth_c_s_sr1_flat</source_step> | 1675 | + <source_step>规则表输出</source_step> |
| 1623 | <target_step>错误输出 2</target_step> | 1676 | <target_step>错误输出 2</target_step> |
| 1624 | <is_enabled>Y</is_enabled> | 1677 | <is_enabled>Y</is_enabled> |
| 1625 | <nr_valuename>error_count</nr_valuename> | 1678 | <nr_valuename>error_count</nr_valuename> |
src/main/resources/static/pages/base/line/add.html
| @@ -289,14 +289,20 @@ | @@ -289,14 +289,20 @@ | ||
| 289 | </div> | 289 | </div> |
| 290 | <!-- 线路规划类型 (* 必填项) END --> | 290 | <!-- 线路规划类型 (* 必填项) END --> |
| 291 | 291 | ||
| 292 | - <!-- 开辟日期 START --> | 292 | + <!--大间隔等级 START --> |
| 293 | <div class="col-md-6"> | 293 | <div class="col-md-6"> |
| 294 | - <label class="control-label col-md-5"> 开辟日期 : </label> | 294 | + <label class="control-label col-md-5"> 大间隔等级 : </label> |
| 295 | <div class="col-md-4"> | 295 | <div class="col-md-4"> |
| 296 | - <input type="text" class="form-control" name="openDate" id="openDateInput" placeholder="开辟日期"> | 296 | + <select name="spacGrade" class="form-control" id="spacGradeSelect"> |
| 297 | + <option value="">-- 请选择大间隔等级 --</option> | ||
| 298 | + <option value="1">一级</option> | ||
| 299 | + <option value="2">二级</option> | ||
| 300 | + <option value="3">三级</option> | ||
| 301 | + <option value="4">四级</option> | ||
| 302 | + </select> | ||
| 297 | </div> | 303 | </div> |
| 298 | </div> | 304 | </div> |
| 299 | - <!-- 开辟日期 END --> | 305 | + <!-- 大间隔等级END --> |
| 300 | </div> | 306 | </div> |
| 301 | <!-- 表单分组组件 form-group START --> | 307 | <!-- 表单分组组件 form-group START --> |
| 302 | 308 | ||
| @@ -398,6 +404,15 @@ | @@ -398,6 +404,15 @@ | ||
| 398 | </div> | 404 | </div> |
| 399 | </div> | 405 | </div> |
| 400 | <!-- 空调车辆数 END --> | 406 | <!-- 空调车辆数 END --> |
| 407 | + | ||
| 408 | + <!-- 开辟日期 START --> | ||
| 409 | + <div class="col-md-6"> | ||
| 410 | + <label class="control-label col-md-5"> 开辟日期 : </label> | ||
| 411 | + <div class="col-md-4"> | ||
| 412 | + <input type="text" class="form-control" name="openDate" id="openDateInput" placeholder="开辟日期"> | ||
| 413 | + </div> | ||
| 414 | + </div> | ||
| 415 | + <!-- 开辟日期 END --> | ||
| 401 | </div> | 416 | </div> |
| 402 | <!-- 表单分组组件 form-group END --> | 417 | <!-- 表单分组组件 form-group END --> |
| 403 | 418 |
src/main/resources/static/pages/base/line/details.html
| @@ -282,14 +282,20 @@ | @@ -282,14 +282,20 @@ | ||
| 282 | </div> | 282 | </div> |
| 283 | <!-- 线路规划类型 (* 必填项) END --> | 283 | <!-- 线路规划类型 (* 必填项) END --> |
| 284 | 284 | ||
| 285 | - <!-- 开辟日期 START --> | 285 | + <!--大间隔等级 START --> |
| 286 | <div class="col-md-6"> | 286 | <div class="col-md-6"> |
| 287 | - <label class="control-label col-md-5"> 开辟日期 : </label> | 287 | + <label class="control-label col-md-5"> 大间隔等级 : </label> |
| 288 | <div class="col-md-4"> | 288 | <div class="col-md-4"> |
| 289 | - <input type="text" class="form-control" name="openDate" id="openDateInput" placeholder="开辟日期"> | 289 | + <select name="spacGrade" class="form-control" id="spacGradeSelect"> |
| 290 | + <option value="">-- 请选择大间隔等级 --</option> | ||
| 291 | + <option value="1">一级</option> | ||
| 292 | + <option value="2">二级</option> | ||
| 293 | + <option value="3">三级</option> | ||
| 294 | + <option value="4">四级</option> | ||
| 295 | + </select> | ||
| 290 | </div> | 296 | </div> |
| 291 | </div> | 297 | </div> |
| 292 | - <!-- 开辟日期 END --> | 298 | + <!-- 大间隔等级END --> |
| 293 | </div> | 299 | </div> |
| 294 | <!-- 表单分组组件 form-group START --> | 300 | <!-- 表单分组组件 form-group START --> |
| 295 | 301 | ||
| @@ -391,6 +397,15 @@ | @@ -391,6 +397,15 @@ | ||
| 391 | </div> | 397 | </div> |
| 392 | </div> | 398 | </div> |
| 393 | <!-- 空调车辆数 END --> | 399 | <!-- 空调车辆数 END --> |
| 400 | + | ||
| 401 | + <!-- 开辟日期 START --> | ||
| 402 | + <div class="col-md-6"> | ||
| 403 | + <label class="control-label col-md-5"> 开辟日期 : </label> | ||
| 404 | + <div class="col-md-4"> | ||
| 405 | + <input type="text" class="form-control" name="openDate" id="openDateInput" placeholder="开辟日期"> | ||
| 406 | + </div> | ||
| 407 | + </div> | ||
| 408 | + <!-- 开辟日期 END --> | ||
| 394 | </div> | 409 | </div> |
| 395 | <!-- 表单分组组件 form-group END --> | 410 | <!-- 表单分组组件 form-group END --> |
| 396 | 411 |
src/main/resources/static/pages/base/line/edit.html
| @@ -290,14 +290,20 @@ | @@ -290,14 +290,20 @@ | ||
| 290 | </div> | 290 | </div> |
| 291 | <!-- 线路规划类型 (* 必填项) END --> | 291 | <!-- 线路规划类型 (* 必填项) END --> |
| 292 | 292 | ||
| 293 | - <!-- 开辟日期 START --> | 293 | + <!--大间隔等级 START --> |
| 294 | <div class="col-md-6"> | 294 | <div class="col-md-6"> |
| 295 | - <label class="control-label col-md-5"> 开辟日期 : </label> | 295 | + <label class="control-label col-md-5"> 大间隔等级 : </label> |
| 296 | <div class="col-md-4"> | 296 | <div class="col-md-4"> |
| 297 | - <input type="text" class="form-control" name="openDate" id="openDateInput" placeholder="开辟日期"> | 297 | + <select name="spacGrade" class="form-control" id="spacGradeSelect"> |
| 298 | + <option value="">-- 请选择大间隔等级 --</option> | ||
| 299 | + <option value="1">一级</option> | ||
| 300 | + <option value="2">二级</option> | ||
| 301 | + <option value="3">三级</option> | ||
| 302 | + <option value="4">四级</option> | ||
| 303 | + </select> | ||
| 298 | </div> | 304 | </div> |
| 299 | </div> | 305 | </div> |
| 300 | - <!-- 开辟日期 END --> | 306 | + <!-- 大间隔等级END --> |
| 301 | </div> | 307 | </div> |
| 302 | <!-- 表单分组组件 form-group START --> | 308 | <!-- 表单分组组件 form-group START --> |
| 303 | 309 | ||
| @@ -399,6 +405,15 @@ | @@ -399,6 +405,15 @@ | ||
| 399 | </div> | 405 | </div> |
| 400 | </div> | 406 | </div> |
| 401 | <!-- 空调车辆数 END --> | 407 | <!-- 空调车辆数 END --> |
| 408 | + | ||
| 409 | + <!-- 开辟日期 START --> | ||
| 410 | + <div class="col-md-6"> | ||
| 411 | + <label class="control-label col-md-5"> 开辟日期 : </label> | ||
| 412 | + <div class="col-md-4"> | ||
| 413 | + <input type="text" class="form-control" name="openDate" id="openDateInput" placeholder="开辟日期"> | ||
| 414 | + </div> | ||
| 415 | + </div> | ||
| 416 | + <!-- 开辟日期 END --> | ||
| 402 | </div> | 417 | </div> |
| 403 | <!-- 表单分组组件 form-group END --> | 418 | <!-- 表单分组组件 form-group END --> |
| 404 | 419 |
src/main/resources/static/pages/base/timesmodel/bctz.html
| @@ -18,9 +18,10 @@ | @@ -18,9 +18,10 @@ | ||
| 18 | <table class="table table-striped table-bordered table-hover table-checkable" id="datatable_bctz"> | 18 | <table class="table table-striped table-bordered table-hover table-checkable" id="datatable_bctz"> |
| 19 | <thead> | 19 | <thead> |
| 20 | <tr role="row" class="heading"> | 20 | <tr role="row" class="heading"> |
| 21 | - <th width="33%">路牌</th> | ||
| 22 | - <th width="33%">当前班次数</th> | ||
| 23 | - <th width="33%">调整班次数</th> | 21 | + <th width="25%">路牌编码</th> |
| 22 | + <th width="25%">路牌名称</th> | ||
| 23 | + <th width="25%">当前班次数</th> | ||
| 24 | + <th width="25%">调整班次数</th> | ||
| 24 | </tr> | 25 | </tr> |
| 25 | </thead> | 26 | </thead> |
| 26 | <tbody></tbody> | 27 | <tbody></tbody> |
| @@ -40,13 +41,16 @@ | @@ -40,13 +41,16 @@ | ||
| 40 | {{each list as obj i }} | 41 | {{each list as obj i }} |
| 41 | <tr role="row" class="filter"> | 42 | <tr role="row" class="filter"> |
| 42 | <td> | 43 | <td> |
| 43 | - <input type="text" readonly class="form-control form-filter input-sm" name="lpname_{{i+1}}" value="{{obj.lpNo}}"> | 44 | + <input type="text" readonly class="form-control form-filter input-sm" name="lpno_{{i+1}}" value="{{obj.lpNo}}"> |
| 45 | + </td> | ||
| 46 | + <td> | ||
| 47 | + <input type="text" readonly class="form-control form-filter input-sm" name="lpname_{{i+1}}" value="{{obj.lpName}}"> | ||
| 44 | </td> | 48 | </td> |
| 45 | <td> | 49 | <td> |
| 46 | <input type="text" readonly class="form-control form-filter input-sm" name="dqbc_{{i+1}}" value="{{obj.bcs}}"> | 50 | <input type="text" readonly class="form-control form-filter input-sm" name="dqbc_{{i+1}}" value="{{obj.bcs}}"> |
| 47 | </td> | 51 | </td> |
| 48 | <td> | 52 | <td> |
| 49 | - <input type="number" class="form-control form-filter input-sm" name="{{i+1}}" value="{{obj.bcs}}"> | 53 | + <input type="number" class="form-control form-filter input-sm" name="{{i+1}}" value="{{obj.bcs}}" min="0"> |
| 50 | </td> | 54 | </td> |
| 51 | </tr> | 55 | </tr> |
| 52 | {{/each}} | 56 | {{/each}} |
| @@ -57,230 +61,239 @@ | @@ -57,230 +61,239 @@ | ||
| 57 | {{/if}} | 61 | {{/if}} |
| 58 | </script> | 62 | </script> |
| 59 | <script type="text/javascript"> | 63 | <script type="text/javascript"> |
| 60 | -$('#tzbc_mobal').on('tzbcMobal.show', function(e,obj,cardata,bf){ | ||
| 61 | - setTimeout(function(){ | ||
| 62 | - // 加载延迟200毫秒显示mobal | ||
| 63 | - $('#tzbc_mobal').modal({show : true,backdrop: 'static', keyboard: false}); | ||
| 64 | - },200); | ||
| 65 | - // 当模态框对用户可见时触发(将等待 CSS 过渡效果完成)。 | ||
| 66 | - $('#tzbc_mobal').on('show.bs.modal', function () { | ||
| 67 | - // 把数据填充到模版中 | ||
| 68 | - var tbodyHtml = template('bctz_temp',{list:cardata}); | ||
| 69 | - // 把渲染好的模版html文本追加到表格中 | ||
| 70 | - $('#datatable_bctz tbody').html(tbodyHtml); | ||
| 71 | - }); | ||
| 72 | - // 获取表单元素 | ||
| 73 | - var form = $('#tzbcForm'); | ||
| 74 | - // 错误提示元素 | ||
| 75 | - var tzbcAlert = $('#tzbcAlert', form); | ||
| 76 | - // 下一步点击事件 | ||
| 77 | - $('#tzbcnext').on('click', function() { | ||
| 78 | - form.submit();// 表单提交 | ||
| 79 | - }); | ||
| 80 | - // 表单验证 | ||
| 81 | - form.validate({ | ||
| 82 | - errorElement : 'span', | ||
| 83 | - errorClass : 'help-block help-block-error', | ||
| 84 | - focusInvalid : false, | ||
| 85 | - rules : { | ||
| 86 | - }, | ||
| 87 | - invalidHandler : function(event, validator) { | ||
| 88 | - tzbcAlert.show(); | ||
| 89 | - App.scrollTo(reladplusname, -200); | ||
| 90 | - }, | ||
| 91 | - highlight : function(element) { | ||
| 92 | - $(element).closest('.form-group').addClass('has-error'); | ||
| 93 | - }, | ||
| 94 | - unhighlight : function(element) { | ||
| 95 | - $(element).closest('.form-group').removeClass('has-error'); | ||
| 96 | - }, | ||
| 97 | - success : function(label) { | ||
| 98 | - label.closest('.form-group').removeClass('has-error'); | ||
| 99 | - }, | ||
| 100 | - submitHandler : function(f) { | ||
| 101 | - // 1、 获取表单内容,并序列化 | ||
| 102 | - var params = form.serializeJSON(); | ||
| 103 | - // 2、 调整路牌对应的班次总数 | ||
| 104 | - updFormParams(params); | ||
| 105 | - // 3、调整班次.并重新给定班次序号和发车序号.再确定首末班车时间.最后渲染数据 | ||
| 106 | - obj.data(bf.tzsmbcsj(bf.setbcsAndfcno(tzbcDate()), | ||
| 107 | - obj.configuration.dataMap.smbcsjArr, | ||
| 108 | - obj.configuration.dataMap.ccsjArr, | ||
| 109 | - obj.configuration.dataMap.cclcArr, | ||
| 110 | - obj.configuration.dataMap.qdzArr, | ||
| 111 | - obj.configuration.dataMap.lbsj)); | ||
| 112 | - // 3、记录早操.并保存历史班次数据 | ||
| 113 | - obj.addHistory(); | ||
| 114 | - // 5、隐藏错误提示 | ||
| 115 | - tzbcAlert.hide(); | ||
| 116 | - // 6、隐藏 reladplus_mobal 弹出层 | ||
| 117 | - $('#tzbc_mobal').modal('hide'); | ||
| 118 | - } | ||
| 119 | - }); | ||
| 120 | - | ||
| 121 | - /** | ||
| 122 | - * @description : (TODO) 调整路牌对应的班次总数. | ||
| 123 | - * | ||
| 124 | - * ❀ 根据路牌对应班次的数值,把路牌对应的当前班次总数修改成调整后的班次总数,并转为数值类型以及把空值转为0. | ||
| 125 | - * | ||
| 126 | - * @params : [p--表单序列化对象]. | ||
| 127 | - */ | ||
| 128 | - function updFormParams(p) { | ||
| 129 | - for(var i= 0;i<cardata.length;i++) { | ||
| 130 | - if(p[i+1] != undefined) { | ||
| 131 | - if(p[i+1]=='') | ||
| 132 | - cardata[i].tzbc = 0; | ||
| 133 | - else | ||
| 134 | - cardata[i].tzbc = parseInt(p[i+1]); | 64 | +$('#tzbc_mobal').on('tzbcMobal.show', function(e,obj,cardata,bf,error){ |
| 65 | + if(obj != null && obj !='' && bf != null && bf!='' && cardata.length>0){ | ||
| 66 | + // 延迟200毫秒显示mobal | ||
| 67 | + setTimeout(function(){$('#tzbc_mobal').modal({show : true,backdrop: 'static', keyboard: false});},200); | ||
| 68 | + // 当模态框对用户可见时触发(将等待 CSS 过渡效果完成)。 | ||
| 69 | + $('#tzbc_mobal').on('show.bs.modal', function () { | ||
| 70 | + // 把数据填充到模版中 | ||
| 71 | + var tbodyHtml = template('bctz_temp',{list:cardata}); | ||
| 72 | + // 把渲染好的模版html文本追加到表格中 | ||
| 73 | + $('#datatable_bctz tbody').html(tbodyHtml); | ||
| 74 | + }); | ||
| 75 | + // 获取表单元素 | ||
| 76 | + var form = $('#tzbcForm'); | ||
| 77 | + // 错误提示元素 | ||
| 78 | + var tzbcAlert = $('#tzbcAlert', form); | ||
| 79 | + // 下一步点击事件 | ||
| 80 | + $('#tzbcnext').on('click', function() { | ||
| 81 | + form.submit();// 表单提交 | ||
| 82 | + }); | ||
| 83 | + // 表单验证 | ||
| 84 | + form.validate({ | ||
| 85 | + errorElement : 'span', | ||
| 86 | + errorClass : 'help-block help-block-error', | ||
| 87 | + focusInvalid : false, | ||
| 88 | + rules : { | ||
| 89 | + }, | ||
| 90 | + invalidHandler : function(event, validator) { | ||
| 91 | + tzbcAlert.show(); | ||
| 92 | + App.scrollTo(reladplusname, -200); | ||
| 93 | + }, | ||
| 94 | + highlight : function(element) { | ||
| 95 | + $(element).closest('.form-group').addClass('has-error'); | ||
| 96 | + }, | ||
| 97 | + unhighlight : function(element) { | ||
| 98 | + $(element).closest('.form-group').removeClass('has-error'); | ||
| 99 | + }, | ||
| 100 | + success : function(label) { | ||
| 101 | + label.closest('.form-group').removeClass('has-error'); | ||
| 102 | + }, | ||
| 103 | + submitHandler : function(f) { | ||
| 104 | + // 1、 获取表单内容,并序列化 | ||
| 105 | + var params = form.serializeJSON(); | ||
| 106 | + var dataMap = obj.configuration.dataMap; | ||
| 107 | + // 2、 调整路牌对应的班次总数 | ||
| 108 | + updFormParams(params); | ||
| 109 | + // 3、调整班次.并重新给定班次序号和发车序号.再确定首末班车时间.最后渲染数据. | ||
| 110 | + var jar = bf.tzsmbcsj01(bf.setbcsAndfcno(tzbcDate()), | ||
| 111 | + obj.configuration.dataMap.smbcsjArr, | ||
| 112 | + obj.configuration.dataMap.ccsjArr, | ||
| 113 | + obj.configuration.dataMap.cclcArr, | ||
| 114 | + obj.configuration.dataMap.qdzArr, | ||
| 115 | + obj.configuration.dataMap.lbsj,dataMap); | ||
| 116 | + obj.data(bf.addjcclcbc01(obj.configuration.taskTypes,jar,dataMap, | ||
| 117 | + obj.configuration.stopAraay,obj.configuration.dataMap.map)); | ||
| 118 | + // 3、记录早操.并保存历史班次数据 | ||
| 119 | + obj.addHistory(); | ||
| 120 | + // 5、隐藏错误提示 | ||
| 121 | + tzbcAlert.hide(); | ||
| 122 | + // 6、隐藏 reladplus_mobal 弹出层 | ||
| 123 | + $('#tzbc_mobal').modal('hide'); | ||
| 124 | + } | ||
| 125 | + }); | ||
| 126 | + | ||
| 127 | + /** | ||
| 128 | + * @description : (TODO) 调整路牌对应的班次总数. | ||
| 129 | + * | ||
| 130 | + * ❀ 根据路牌对应班次的数值,把路牌对应的当前班次总数修改成调整后的班次总数,并转为数值类型以及把空值转为0. | ||
| 131 | + * | ||
| 132 | + * @params : [p--表单序列化对象]. | ||
| 133 | + */ | ||
| 134 | + function updFormParams(p) { | ||
| 135 | + for(var i= 0;i<cardata.length;i++) { | ||
| 136 | + if(p[i+1] != undefined) { | ||
| 137 | + if(p[i+1]=='') | ||
| 138 | + cardata[i].tzbc = 0; | ||
| 139 | + else | ||
| 140 | + cardata[i].tzbc = parseInt(p[i+1]); | ||
| 141 | + } | ||
| 135 | } | 142 | } |
| 136 | } | 143 | } |
| 137 | - } | ||
| 138 | - | ||
| 139 | - /** | ||
| 140 | - * @description : (TODO)调整班次. | ||
| 141 | - * | ||
| 142 | - * @return : 返回一个数组.这里返回的是一个调整完班次数后的数组. | ||
| 143 | - */ | ||
| 144 | - function tzbcDate() { | ||
| 145 | - // 1、获取当前所有的班次数. | ||
| 146 | - var dr = obj.getDataArray(), | ||
| 147 | - result = new Array();// 定义返回数组对象. | ||
| 148 | - // 2、遍历路牌对应的班次总数. | ||
| 149 | - for(var i = 0 ; i<cardata.length;i++) { | ||
| 150 | - var zcbcsz = new Array(),// 定义当前路牌下的正常班次数组. | ||
| 151 | - zwlbbcsz = new Array(),// 定义当前路牌下的早晚例保、吃饭班次数组. | ||
| 152 | - jccbcs = 0,// 进出场班次数.这个值是为了计算总班次数时除去时间为空的班次 | ||
| 153 | - jccbcsz = new Array();// 定义当前路牌下的进出场班次数组. | ||
| 154 | - // 3、遍历当前所有的班次数. | ||
| 155 | - for(var j = 0 ;j<dr.length;j++) { | ||
| 156 | - // 4、判断当前遍历的班次是否属于当前路牌对应的班次数组对象. | ||
| 157 | - if(cardata[i].lpNo == dr[j].parent && dr[j].bcsj>0 ){ | ||
| 158 | - // 5、把当前班次添加到上序定义的不同班次数组中. | ||
| 159 | - if(dr[j].bcType =='bd' || dr[j].bcType=='lc' || dr[j].bcType =='cf') | ||
| 160 | - zwlbbcsz.push(dr[j]);// 添加到早晚例保、吃饭班次数组中. | ||
| 161 | - else if(dr[j].bcType=='in' || dr[j].bcType =='out') | ||
| 162 | - jccbcs++; | ||
| 163 | - else | ||
| 164 | - zcbcsz.push(dr[j]);// 添加到正常班次数组. | ||
| 165 | - } | ||
| 166 | - if(cardata[i].lpNo == dr[j].parent && (dr[j].bcType=='in' || dr[j].bcType =='out')) { | ||
| 167 | - jccbcsz.push(dr[j]);// 添加到进出场班次数组中. | 144 | + |
| 145 | + /** | ||
| 146 | + * @description : (TODO)调整班次. | ||
| 147 | + * | ||
| 148 | + * @return : 返回一个数组.这里返回的是一个调整完班次数后的数组. | ||
| 149 | + */ | ||
| 150 | + function tzbcDate() { | ||
| 151 | + // 1、获取当前所有的班次数. | ||
| 152 | + var dr = obj.getDataArray(), | ||
| 153 | + result = new Array();// 定义返回数组对象. | ||
| 154 | + // 2、遍历路牌对应的班次总数. | ||
| 155 | + for(var i = 0 ; i<cardata.length;i++) { | ||
| 156 | + var zcbcsz = new Array(),// 定义当前路牌下的正常班次数组. | ||
| 157 | + zwlbbcsz = new Array(),// 定义当前路牌下的早晚例保、吃饭班次数组. | ||
| 158 | + jccbcs = 0,// 进出场班次数.这个值是为了计算总班次数时除去时间为空的班次 | ||
| 159 | + jccbcsz = new Array();// 定义当前路牌下的进出场班次数组. | ||
| 160 | + // 3、遍历当前所有的班次数. | ||
| 161 | + for(var j = 0 ;j<dr.length;j++) { | ||
| 162 | + // 4、判断当前遍历的班次是否属于当前路牌对应的班次数组对象. | ||
| 163 | + if(cardata[i].lpNo == dr[j].parent && dr[j].bcsj>0 ){ | ||
| 164 | + // 5、把当前班次添加到上序定义的不同班次数组中. | ||
| 165 | + if(dr[j].bcType =='bd' || dr[j].bcType=='lc' || dr[j].bcType =='cf') | ||
| 166 | + zwlbbcsz.push(dr[j]);// 添加到早晚例保、吃饭班次数组中. | ||
| 167 | + else if(dr[j].bcType=='in' || dr[j].bcType =='out') | ||
| 168 | + jccbcs++; | ||
| 169 | + else | ||
| 170 | + zcbcsz.push(dr[j]);// 添加到正常班次数组. | ||
| 171 | + } | ||
| 172 | + if(cardata[i].lpNo == dr[j].parent && (dr[j].bcType=='in' || dr[j].bcType =='out')) { | ||
| 173 | + jccbcsz.push(dr[j]);// 添加到进出场班次数组中. | ||
| 174 | + } | ||
| 168 | } | 175 | } |
| 169 | - } | ||
| 170 | - // 6、调整班次 | ||
| 171 | - result = result.concat(tcbcgz(bf.pxarr(zcbcsz),cardata[i].tzbc,zwlbbcsz,bf.pxarr(jccbcsz),jccbcs,cardata[i])); | 176 | + // 6、调整班次 |
| 177 | + result = result.concat(tcbcgz(bf.pxarr(zcbcsz),cardata[i].tzbc,zwlbbcsz,bf.pxarr(jccbcsz),jccbcs,cardata[i])); | ||
| 178 | + } | ||
| 179 | + return result; | ||
| 172 | } | 180 | } |
| 173 | - return result; | ||
| 174 | - } | ||
| 175 | - | ||
| 176 | - /** | ||
| 177 | - * @description : (TODO) | ||
| 178 | - * | ||
| 179 | - * @params : [ar-- 当前路牌下的正常班次数组;num--当前路牌对应的班次总数;qa--当前路牌下的早晚例保、吃饭班次数组,ja--当前路牌下的进出场班次数组] | ||
| 180 | - * | ||
| 181 | - * @return : 返回一个数组.这里返回一个根据班次总数调整过车班次数组 | ||
| 182 | - */ | ||
| 183 | - function tcbcgz(ar,num,qa,ja,jccbcs,cara) { | ||
| 184 | - var rsbcA = new Array(); | ||
| 185 | - if(ar.length>0) { | ||
| 186 | - var ra_ = new Array(); | ||
| 187 | - var _dx = num-jccbcs;// 班次总数值 - 进出时间大于零的班次 = 正常班次数 | ||
| 188 | - var lastbcsjStr = ar[ar.length-1].ARRIVALTIME;// 标记调整班次之前最后一个班次的达到时间 | ||
| 189 | - var fcno_ = Math.abs(ar.length+jccbcs-num),// 调整班次差 | ||
| 190 | - tempS = '';// 标记调整班次是添加还是剔除[jq--剔除;add--添加] | ||
| 191 | - var fxdm = bf.dirDmToIndex(ar[ar.length-1].xlDir);// 标记调整班次之前最后一个班次的方向 | ||
| 192 | - // 如果调整班次差是成对的,那么方向一致.否则改变方向 | ||
| 193 | - if(fcno_%2!=0) | ||
| 194 | - fxdm = bf.getfx(1,fxdm);// 改变方向 | ||
| 195 | - // 如果当前路牌的班次总数大于等于调整后的班次总数则截取班次,反之添加班次 | ||
| 196 | - if(ar.length>=_dx) { | ||
| 197 | - ra_ = ar.splice(0,_dx);// 截取班次数(这里从下标0开始截取到 对应的班次总数值) | ||
| 198 | - tempS = 'jq'; | ||
| 199 | - }else if(ar.length<_dx) { | ||
| 200 | - var tzsj_ = obj.configuration.dataMap.ztjxA[fxdm],sh = ar[ar.length-1]; | ||
| 201 | - var startTime = new Date(); | ||
| 202 | - var strArray = sh.ARRIVALTIME.split(':'); | ||
| 203 | - startTime.setHours(parseInt(strArray[0])); | ||
| 204 | - startTime.setMinutes(parseInt(strArray[1]) + tzsj_); | ||
| 205 | - bf.addbc(obj,sh,startTime,tzsj_,sh.fcno + 1,ar,_dx - ar.length); | ||
| 206 | - ra_ = ar; | ||
| 207 | - tempS = 'add'; | ||
| 208 | - } | ||
| 209 | - rsbcA = tzsj(ra_,qa,ja,lastbcsjStr,fcno_,tempS,fxdm); | ||
| 210 | - }else if(ar.length==0) { | ||
| 211 | - rsbcA = bf.addlpbc(obj,bf,cara.lpNo,num); | 181 | + |
| 182 | + /** | ||
| 183 | + * @description : (TODO) | ||
| 184 | + * | ||
| 185 | + * @params : [ar-- 当前路牌下的正常班次数组;num--当前路牌对应的班次总数;qa--当前路牌下的早晚例保、吃饭班次数组,ja--当前路牌下的进出场班次数组] | ||
| 186 | + * | ||
| 187 | + * @return : 返回一个数组.这里返回一个根据班次总数调整过车班次数组 | ||
| 188 | + */ | ||
| 189 | + function tcbcgz(ar,num,qa,ja,jccbcs,cara) { | ||
| 190 | + var rsbcA = new Array(); | ||
| 191 | + if(ar.length>0) { | ||
| 192 | + var ra_ = new Array(); | ||
| 193 | + var _dx = num-jccbcs;// 班次总数值 - 进出时间大于零的班次 = 正常班次数 | ||
| 194 | + var lastbcsjStr = ar[ar.length-1].ARRIVALTIME;// 标记调整班次之前最后一个班次的达到时间 | ||
| 195 | + var fcno_ = Math.abs(ar.length+jccbcs-num),// 调整班次差 | ||
| 196 | + tempS = '';// 标记调整班次是添加还是剔除[jq--剔除;add--添加] | ||
| 197 | + var fxdm = bf.dirDmToIndex(ar[ar.length-1].xlDir);// 标记调整班次之前最后一个班次的方向 | ||
| 198 | + // 如果调整班次差是成对的,那么方向一致.否则改变方向 | ||
| 199 | + if(fcno_%2!=0) | ||
| 200 | + fxdm = bf.getfx(1,fxdm);// 改变方向 | ||
| 201 | + // 如果当前路牌的班次总数大于等 于调整后的班次总数则截取班次,反之添加班次 | ||
| 202 | + if(ar.length>=_dx) { | ||
| 203 | + ra_ = ar.splice(0,_dx);// 截取班次数(这里从下标0开始截取到 对应的班次总数值) | ||
| 204 | + tempS = 'jq'; | ||
| 205 | + }else if(ar.length<_dx) { | ||
| 206 | + var sh = ar[ar.length-1]; | ||
| 207 | + var cctag = bf.dirDmToIndex(ar[ar.length-1].xlDir);// 标记调整班次之前最后一个班次的方向 | ||
| 208 | + cctag = bf.getfx(1,cctag);// 改变方向 | ||
| 209 | + var startTime = new Date(); | ||
| 210 | + var strArray = sh.ARRIVALTIME.split(':'); | ||
| 211 | + startTime.setHours(parseInt(strArray[0])); | ||
| 212 | + startTime.setMinutes(parseInt(strArray[1])); | ||
| 213 | + var tzjx = bf.isgfsjd01(startTime,obj.configuration.dataMap) ? obj.configuration.dataMap.gftzsj[cctag] : obj.configuration.dataMap.dgtzsj[cctag]; | ||
| 214 | + startTime.setMinutes(parseInt(strArray[1]) + tzjx); | ||
| 215 | + bf.addbc(obj , sh , startTime , tzjx, (sh.fcno + 1),ar, (_dx - ar.length)); | ||
| 216 | + ra_ = ar; | ||
| 217 | + tempS = 'add'; | ||
| 218 | + } | ||
| 219 | + // rsbcA = tzsj(ra_,qa,ja,lastbcsjStr,fcno_,tempS,fxdm); | ||
| 220 | + rsbcA = ra_; | ||
| 221 | + }else if(ar.length==0) { | ||
| 222 | + rsbcA = bf.addlpbc(obj,bf,cara.lpNo,num); | ||
| 223 | + } | ||
| 224 | + return rsbcA; | ||
| 212 | } | 225 | } |
| 213 | - return rsbcA; | ||
| 214 | - } | ||
| 215 | - | ||
| 216 | - /** | ||
| 217 | - * @description : (TODO) 调整时间 | ||
| 218 | - * | ||
| 219 | - * @params : [a1-- 当前路牌下的正常班次数组;a2--当前路牌下的早晚例保、吃饭班次数组;a3--当前路牌下的进出场班次数组] | ||
| 220 | - * | ||
| 221 | - * @return : 返回一个数组.这里返回的是一个调整时间后的班次数组 | ||
| 222 | - */ | ||
| 223 | - function tzsj(a1,a2,a3,sjstr,fcno_,tempS,fxdm) { | ||
| 224 | - return a1.concat(jsjclc(a1[a1.length-1].ARRIVALTIME,a2,a3,sjstr,fcno_,tempS,fxdm)); | ||
| 225 | - } | ||
| 226 | - | ||
| 227 | - /** | ||
| 228 | - * @description : (TODO)调整进出场、离场班次 | ||
| 229 | - * | ||
| 230 | - * @params : [st--当前路牌最后一个班次的到达时间;ar--当前路牌下的早晚例保、吃饭班次数组,pa--当前路牌下的进出场班次数组] | ||
| 231 | - * | ||
| 232 | - * @return | ||
| 233 | - */ | ||
| 234 | - function jsjclc(st,ar,pa,sjstr,fcno_,tempS,fxdm) { | ||
| 235 | - console.log('{' + tempS + '......}') | ||
| 236 | - // 1、修改进出场班次. | ||
| 237 | - for(var p = 0;p<pa.length;p++) { | ||
| 238 | - // A)、如果当前班次的发车时间等于 在没有调整班次总数之前的最后一个班次的到达时间,则这个班次是在没有调整班次之前的那个进场班次 | ||
| 239 | - if(pa[p].fcsj == sjstr && pa[p].bcType =='in') { | ||
| 240 | - pa[p].fcsj = st; | ||
| 241 | - pa[p].bcsj = obj.configuration.dataMap.ccsjArr[fxdm]; | ||
| 242 | - pa[p].xlDir = obj.configuration.dataMap.dira[fxdm]; | ||
| 243 | - var _s = bf.getDateTime(st); | ||
| 244 | - var _tt = new Date(_s); | ||
| 245 | - _tt.setMinutes(_tt.getMinutes()+pa[p].bcsj); | ||
| 246 | - var ddsjStr = bf.getTimeStr(_tt); | ||
| 247 | - pa[p].ARRIVALTIME = ddsjStr; | ||
| 248 | - if(tempS =='add') | ||
| 249 | - pa[p].fcno = pa[p].fcno+fcno_; | ||
| 250 | - else if(tempS =='jq') | ||
| 251 | - pa[p].fcno = pa[p].fcno-fcno_; | ||
| 252 | - } | ||
| 253 | - // B)、剔除掉 当前班次的到达时间大于调整班次过后最后一个班次到达时间的班次 | ||
| 254 | - if((bf.getDateTime(pa[p].ARRIVALTIME)-bf.getDateTime(st))/60000 > pa[p].bcsj) { | ||
| 255 | - console.log('{' + pa[p].lpNo + '----' + pa[p].ARRIVALTIME + '----' + st + '}'); | ||
| 256 | - console.log('修改进出场班次时...该班次的到达时间大于了最后一个班次的到达时间,应该剔除掉!'); | ||
| 257 | - pa.splice(p,1); | ||
| 258 | - } | 226 | + |
| 227 | + /** | ||
| 228 | + * @description : (TODO) 调整时间 | ||
| 229 | + * | ||
| 230 | + * @params : [a1-- 当前路牌下的正常班次数组;a2--当前路牌下的早晚例保、吃饭班次数组;a3--当前路牌下的进出场班次数组] | ||
| 231 | + * | ||
| 232 | + * @return : 返回一个数组.这里返回的是一个调整时间后的班次数组 | ||
| 233 | + */ | ||
| 234 | + function tzsj(a1,a2,a3,sjstr,fcno_,tempS,fxdm) { | ||
| 235 | + return a1.concat(jsjclc(a1[a1.length-1].ARRIVALTIME,a2,a3,sjstr,fcno_,tempS,fxdm)); | ||
| 259 | } | 236 | } |
| 260 | - // 2、修改晚例保班次. | ||
| 261 | - for(var i = 0 ; i<ar.length;i++) { | ||
| 262 | - // A)、修改离场班次属性值 | ||
| 263 | - if(ar[i].bcType=='lc') { | ||
| 264 | - ar[i].fcsj = ddsjStr; | ||
| 265 | - ar[i].xlDir = obj.configuration.dataMap.dira[fxdm]; | ||
| 266 | - var _lcs = bf.getDateTime(ddsjStr); | ||
| 267 | - var _lctt = new Date(_lcs); | ||
| 268 | - _lctt.setMinutes(_lctt.getMinutes()+ar[i].bcsj); | ||
| 269 | - ar[i].ARRIVALTIME = bf.getTimeStr(_lctt); | ||
| 270 | - if(tempS =='add') | ||
| 271 | - ar[i].fcno = ar[i].fcno+fcno_; | ||
| 272 | - else if(tempS =='jq') | ||
| 273 | - ar[i].fcno = ar[i].fcno-fcno_; | 237 | + |
| 238 | + /** | ||
| 239 | + * @description : (TODO)调整进出场、离场班次 | ||
| 240 | + * | ||
| 241 | + * @params : [st--当前路牌最后一个班次的到达时间;ar--当前路牌下的早晚例保、吃饭班次数组,pa--当前路牌下的进出场班次数组] | ||
| 242 | + * | ||
| 243 | + * @return | ||
| 244 | + */ | ||
| 245 | + function jsjclc(st,ar,pa,sjstr,fcno_,tempS,fxdm) { | ||
| 246 | + // 1、修改进出场班次. | ||
| 247 | + for(var p = 0;p<pa.length;p++) { | ||
| 248 | + // A)、如果当前班次的发车时间等于 在没有调整班次总数之前的最后一个班次的到达时间,则这个班次是在没有调整班次之前的那个进场班次 | ||
| 249 | + if(pa[p].fcsj == sjstr && pa[p].bcType =='in') { | ||
| 250 | + pa[p].fcsj = st; | ||
| 251 | + pa[p].bcsj = obj.configuration.dataMap.ccsjArr[fxdm]; | ||
| 252 | + pa[p].xlDir = obj.configuration.dataMap.dira[fxdm]; | ||
| 253 | + var _s = bf.getDateTime(st); | ||
| 254 | + var _tt = new Date(_s); | ||
| 255 | + _tt.setMinutes(_tt.getMinutes()+pa[p].bcsj); | ||
| 256 | + var ddsjStr = bf.getTimeStr(_tt); | ||
| 257 | + pa[p].ARRIVALTIME = ddsjStr; | ||
| 258 | + if(tempS =='add') | ||
| 259 | + pa[p].fcno = pa[p].fcno+fcno_; | ||
| 260 | + else if(tempS =='jq') | ||
| 261 | + pa[p].fcno = pa[p].fcno-fcno_; | ||
| 262 | + } | ||
| 263 | + // B)、剔除掉 当前班次的到达时间大于调整班次过后最后一个班次到达时间的班次 | ||
| 264 | + if((bf.getDateTime(pa[p].ARRIVALTIME)-bf.getDateTime(st))/60000 > pa[p].bcsj) { | ||
| 265 | + console.log('{' + pa[p].lpNo + '----' + pa[p].ARRIVALTIME + '----' + st + '}'); | ||
| 266 | + console.log('修改进出场班次时...该班次的到达时间大于了最后一个班次的到达时间,应该剔除掉!'); | ||
| 267 | + pa.splice(p,1); | ||
| 268 | + } | ||
| 274 | } | 269 | } |
| 275 | - // B)、剔除掉 当前班次的到达时间大于调整班次过后最后一个班次到达时间的班次 | ||
| 276 | - if(bf.getDateTime(ar[i].ARRIVALTIME)>bf.getDateTime(st) && ar[i].bcType!='lc') { | ||
| 277 | - console.log('{' + ar[i].lpNo + '----' + ar[i].ARRIVALTIME + '----' + st + '}') | ||
| 278 | - console.log('修改晚例保班次时...该班次的到达时间大于了最后一个班次的到达时间,应该剔除掉!'); | ||
| 279 | - ar.splice(i,1); | 270 | + // 2、修改晚例保班次. |
| 271 | + for(var i = 0 ; i<ar.length;i++) { | ||
| 272 | + // A)、修改离场班次属性值 | ||
| 273 | + if(ar[i].bcType=='lc') { | ||
| 274 | + ar[i].fcsj = ddsjStr; | ||
| 275 | + ar[i].xlDir = obj.configuration.dataMap.dira[fxdm]; | ||
| 276 | + var _lcs = bf.getDateTime(ddsjStr); | ||
| 277 | + var _lctt = new Date(_lcs); | ||
| 278 | + _lctt.setMinutes(_lctt.getMinutes()+ar[i].bcsj); | ||
| 279 | + ar[i].ARRIVALTIME = bf.getTimeStr(_lctt); | ||
| 280 | + if(tempS =='add') | ||
| 281 | + ar[i].fcno = ar[i].fcno+fcno_; | ||
| 282 | + else if(tempS =='jq') | ||
| 283 | + ar[i].fcno = ar[i].fcno-fcno_; | ||
| 284 | + } | ||
| 285 | + // B)、剔除掉 当前班次的到达时间大于调整班次过后最后一个班次到达时间的班次 | ||
| 286 | + if(bf.getDateTime(ar[i].ARRIVALTIME)>bf.getDateTime(st) && ar[i].bcType!='lc') { | ||
| 287 | + console.log('{' + ar[i].lpNo + '----' + ar[i].ARRIVALTIME + '----' + st + '}') | ||
| 288 | + console.log('修改晚例保班次时...该班次的到达时间大于了最后一个班次的到达时间,应该剔除掉!'); | ||
| 289 | + ar.splice(i,1); | ||
| 290 | + } | ||
| 280 | } | 291 | } |
| 281 | - } | ||
| 282 | - // 3、合并进出场、例保班次,并返回. | ||
| 283 | - return pa.concat(ar); | ||
| 284 | - } | 292 | + // 3、合并进出场、例保班次,并返回. |
| 293 | + return pa.concat(ar); | ||
| 294 | + } | ||
| 295 | + } else{ | ||
| 296 | + error.show('参数异常!','【 obj:' + obj + ' , cardata:' + cardata + ' , bf:' + bf + '】'); | ||
| 297 | + } | ||
| 285 | }); | 298 | }); |
| 286 | </script> | 299 | </script> |
| 287 | \ No newline at end of file | 300 | \ No newline at end of file |
src/main/resources/static/pages/base/timesmodel/editlp.html
0 → 100644
| 1 | +<!-- 修改路牌名称 --> | ||
| 2 | +<div class="modal fade" id="editlp_mobal" tabindex="-1" role="basic" aria-hidden="true"> | ||
| 3 | + <div class="modal-dialog"> | ||
| 4 | + <div class="modal-content"> | ||
| 5 | + <div class="modal-header"> | ||
| 6 | + <button type="button" class="close" data-dismiss="modal" aria-hidden="true"></button> | ||
| 7 | + <h4 class="modal-title">修改路牌名称</h4> | ||
| 8 | + </div> | ||
| 9 | + <div class="modal-body"> | ||
| 10 | + <form class="form-horizontal" action="/" method="post" id="editlpForm" role="form"> | ||
| 11 | + <!-- alert-danger 组件START --> | ||
| 12 | + <div class="alert alert-danger display-hide" id="editlpAlert"> | ||
| 13 | + <button class="close" data-close="alert"></button> | ||
| 14 | + 您的输入有误,请检查下面的输入项 | ||
| 15 | + </div> | ||
| 16 | + <div class="portlet-body"> | ||
| 17 | + <div class="table-container" style="margin-top: 10px"> | ||
| 18 | + <table class="table table-striped table-bordered table-hover table-checkable" id="datatable_bctz"> | ||
| 19 | + <thead> | ||
| 20 | + <tr role="row" class="heading"> | ||
| 21 | + <th width="50%">当前路牌名称</th> | ||
| 22 | + <th width="50%" style="text-align: center;max-width: 50px;min-width: 40px;padding-left: 0;padding-right: 0;">修改路牌名称</th> | ||
| 23 | + </tr> | ||
| 24 | + </thead> | ||
| 25 | + <tbody></tbody> | ||
| 26 | + </table> | ||
| 27 | + </div> | ||
| 28 | + </div> | ||
| 29 | + </form> | ||
| 30 | + </div> | ||
| 31 | + <div class="modal-footer"> | ||
| 32 | + <button type="button" class="btn default" data-dismiss="modal">取消</button> | ||
| 33 | + <button type="button" class="btn btn-primary" id="editlpnext">确定</button> | ||
| 34 | + </div> | ||
| 35 | + </div> | ||
| 36 | + </div> | ||
| 37 | +</div> | ||
| 38 | +<script type="text/html" id="editlp_temp"> | ||
| 39 | +{{each list as obj i }} | ||
| 40 | + <tr role="row" class="filter"> | ||
| 41 | + <td> | ||
| 42 | + <input type="text" readonly class="form-control form-filter input-sm" name="lpname_{{i+1}}" value="{{obj.lpName}}"> | ||
| 43 | + </td> | ||
| 44 | + <td> | ||
| 45 | + <input type="text" class="form-control form-filter input-sm" name="{{i+1}}" value="{{obj.lpName}}" required> | ||
| 46 | + </td> | ||
| 47 | + </tr> | ||
| 48 | +{{/each}} | ||
| 49 | +{{if list.length == 0}} | ||
| 50 | + <tr> | ||
| 51 | + <td colspan=3><h6 class="muted">没有找到相关数据</h6></td> | ||
| 52 | + </tr> | ||
| 53 | + {{/if}} | ||
| 54 | +</script> | ||
| 55 | +<script type="text/javascript"> | ||
| 56 | +$('#editlp_mobal').on('editlpMobal.show', function(e,obj,bf){ | ||
| 57 | + var lpArray = obj.configuration.taskTypes; | ||
| 58 | + setTimeout(function(){ | ||
| 59 | + // 加载延迟200毫秒显示mobal | ||
| 60 | + $('#editlp_mobal').modal({show : true,backdrop: 'static', keyboard: false}); | ||
| 61 | + },200); | ||
| 62 | + // 当模态框对用户可见时触发(将等待 CSS 过渡效果完成)。 | ||
| 63 | + $('#editlp_mobal').on('show.bs.modal', function () { | ||
| 64 | + // 把数据填充到模版中 | ||
| 65 | + var tbodyHtml = template('editlp_temp',{list:lpArray}); | ||
| 66 | + // 把渲染好的模版html文本追加到表格中 | ||
| 67 | + $('#datatable_bctz tbody').html(tbodyHtml); | ||
| 68 | + }); | ||
| 69 | + // 获取表单元素 | ||
| 70 | + var form = $('#editlpForm'); | ||
| 71 | + // 错误提示元素 | ||
| 72 | + var editlpAlert = $('#editlpAlert', form); | ||
| 73 | + // 下一步点击事件 | ||
| 74 | + $('#editlpnext').on('click', function() { | ||
| 75 | + form.submit();// 表单提交 | ||
| 76 | + }); | ||
| 77 | + // 表单验证 | ||
| 78 | + form.validate({ | ||
| 79 | + errorElement : 'span', | ||
| 80 | + errorClass : 'help-block help-block-error', | ||
| 81 | + focusInvalid : false, | ||
| 82 | + rules : { | ||
| 83 | + }, | ||
| 84 | + invalidHandler : function(event, validator) { | ||
| 85 | + editlpAlert.show(); | ||
| 86 | + App.scrollTo(editlpAlert, -200); | ||
| 87 | + }, | ||
| 88 | + highlight : function(element) { | ||
| 89 | + $(element).closest('.form-group').addClass('has-error'); | ||
| 90 | + }, | ||
| 91 | + unhighlight : function(element) { | ||
| 92 | + $(element).closest('.form-group').removeClass('has-error'); | ||
| 93 | + }, | ||
| 94 | + success : function(label) { | ||
| 95 | + label.closest('.form-group').removeClass('has-error'); | ||
| 96 | + }, | ||
| 97 | + submitHandler : function(f) { | ||
| 98 | + // 1、 获取表单内容,并序列化 | ||
| 99 | + var params = form.serializeJSON(); | ||
| 100 | + var data = obj.getDataArray(); | ||
| 101 | + // 2、 调整路牌对应的班次总数 | ||
| 102 | + updFormParams(params,data); | ||
| 103 | + // 删除图形. | ||
| 104 | + $('svg.svg-chart').remove(); | ||
| 105 | + // 重新创建图形. | ||
| 106 | + var graph_ = d3.select('#ganttSvg').relationshipGraph(obj.configuration); | ||
| 107 | + // 根据数据重新渲染图形. | ||
| 108 | + obj.data(data); | ||
| 109 | + // 记录早操.并保存历史班次数据 | ||
| 110 | + obj.addHistory(); | ||
| 111 | + // 隐藏错误提示 | ||
| 112 | + editlpAlert.hide(); | ||
| 113 | + // 隐藏 reladplus_mobal 弹出层 | ||
| 114 | + $('#editlp_mobal').modal('hide'); | ||
| 115 | + layer.msg('修改路牌名称成功!'); | ||
| 116 | + } | ||
| 117 | + }); | ||
| 118 | + function updFormParams(p,data) { | ||
| 119 | + for(var i= 0;i<lpArray.length;i++) { | ||
| 120 | + if(p[i+1] != undefined) { | ||
| 121 | + if(lpArray[i].lpName != p[i+1]) { | ||
| 122 | + for(var d = 0 ; d< data.length;d++) { | ||
| 123 | + if(data[d].lpName == lpArray[i].lpName) { | ||
| 124 | + data[d].lpName = p[i+1]; | ||
| 125 | + } | ||
| 126 | + | ||
| 127 | + } | ||
| 128 | + lpArray[i].lpName = p[i+1]; | ||
| 129 | + obj.configuration.lpNameA[i] = p[i+1]; | ||
| 130 | + } | ||
| 131 | + } | ||
| 132 | + } | ||
| 133 | + } | ||
| 134 | +}); | ||
| 135 | +</script> | ||
| 0 | \ No newline at end of file | 136 | \ No newline at end of file |
src/main/resources/static/pages/base/timesmodel/gantt.html
| @@ -87,7 +87,7 @@ | @@ -87,7 +87,7 @@ | ||
| 87 | </li> | 87 | </li> |
| 88 | <li> | 88 | <li> |
| 89 | <a href="javascript:" class="tool-action aboutread"> | 89 | <a href="javascript:" class="tool-action aboutread"> |
| 90 | - <i class="fa fa-arrows-v"></i> 调整班次 | 90 | + <i class="fa fa-arrows-v"></i> 班次调整 |
| 91 | </a> | 91 | </a> |
| 92 | </li> | 92 | </li> |
| 93 | </ul> | 93 | </ul> |
| @@ -116,4 +116,5 @@ | @@ -116,4 +116,5 @@ | ||
| 116 | <script src="/pages/base/timesmodel/js/ContextJS/js/context.js"></script> | 116 | <script src="/pages/base/timesmodel/js/ContextJS/js/context.js"></script> |
| 117 | <script src="/pages/base/timesmodel/js/base-fun.js"></script> | 117 | <script src="/pages/base/timesmodel/js/base-fun.js"></script> |
| 118 | <script src="/pages/base/timesmodel/js/d3.relationshipgraph.js"></script> | 118 | <script src="/pages/base/timesmodel/js/d3.relationshipgraph.js"></script> |
| 119 | +<script src="/pages/base/timesmodel/js/errorinfo.js"></script> | ||
| 119 | <script src="/pages/base/timesmodel/js/gantt.js"></script> | 120 | <script src="/pages/base/timesmodel/js/gantt.js"></script> |
| 120 | \ No newline at end of file | 121 | \ No newline at end of file |
src/main/resources/static/pages/base/timesmodel/js/add-form-reload.js
| @@ -46,7 +46,8 @@ | @@ -46,7 +46,8 @@ | ||
| 46 | obj.jhlc = d[i].jhlc;// 计划里程 | 46 | obj.jhlc = d[i].jhlc;// 计划里程 |
| 47 | obj.lp = d[i].lp==null ? null : d[i].lp.id;// 路牌id | 47 | obj.lp = d[i].lp==null ? null : d[i].lp.id;// 路牌id |
| 48 | obj.lpType = d[i].lp==null ? null : d[i].lp.lpType;// 路牌类型 | 48 | obj.lpType = d[i].lp==null ? null : d[i].lp.lpType;// 路牌类型 |
| 49 | - obj.parent = d[i].lp.lpName;// 路牌名称 | 49 | + obj.parent = d[i].lp.lpNo;// 路牌名称 |
| 50 | + obj.lpName = d[i].lp.lpName; | ||
| 50 | obj.lpNo = d[i].lp.lpNo;// 路牌编码 | 51 | obj.lpNo = d[i].lp.lpNo;// 路牌编码 |
| 51 | obj.tcc = d[i].tcc==null ? null : d[i].tcc.id;// 停车场id | 52 | obj.tcc = d[i].tcc==null ? null : d[i].tcc.id;// 停车场id |
| 52 | obj.ttinfo = d[i].ttinfo==null ? null : d[i].ttinfo.id;// 时刻表id | 53 | obj.ttinfo = d[i].ttinfo==null ? null : d[i].ttinfo.id;// 时刻表id |
| @@ -60,7 +61,7 @@ | @@ -60,7 +61,7 @@ | ||
| 60 | resultD.push(obj); | 61 | resultD.push(obj); |
| 61 | if(lpA.indexOf(obj.lpNo)<0) { | 62 | if(lpA.indexOf(obj.lpNo)<0) { |
| 62 | lpA.push(obj.lpNo); | 63 | lpA.push(obj.lpNo); |
| 63 | - rsLpA.push({'lp':obj.lp,'lpNo':obj.lpNo,'lpName':obj.parent,'lpType':obj.lpType}); | 64 | + rsLpA.push({'lp':obj.lp,'lpNo':obj.lpNo,'lpName':obj.lpName,'lpType':obj.lpType}); |
| 64 | } | 65 | } |
| 65 | } | 66 | } |
| 66 | // 返回渲染图形的数据格式. | 67 | // 返回渲染图形的数据格式. |
src/main/resources/static/pages/base/timesmodel/js/add-form-wizard.js
| @@ -407,7 +407,9 @@ var SKBFormWizard = function() { | @@ -407,7 +407,9 @@ var SKBFormWizard = function() { | ||
| 407 | obj.jhlc = d[i].jhlc;// 计划里程 | 407 | obj.jhlc = d[i].jhlc;// 计划里程 |
| 408 | obj.lp = d[i].lp==null ? null : d[i].lp.id;// 路牌id | 408 | obj.lp = d[i].lp==null ? null : d[i].lp.id;// 路牌id |
| 409 | obj.lpType = d[i].lp==null ? null : d[i].lp.lpType;// 路牌类型 | 409 | obj.lpType = d[i].lp==null ? null : d[i].lp.lpType;// 路牌类型 |
| 410 | - obj.parent = d[i].lp.lpName;// 路牌名称 | 410 | + // obj.parent = d[i].lp.lpName;// 路牌名称 |
| 411 | + // obj.parent = parseInt(d[i].lp.lpNo);// 路牌名称 | ||
| 412 | + obj.lpName = d[i].lp.lpName; | ||
| 411 | obj.lpNo = d[i].lp.lpNo;// 路牌编码 | 413 | obj.lpNo = d[i].lp.lpNo;// 路牌编码 |
| 412 | obj.tcc = d[i].tcc==null ? null : d[i].tcc.id;// 停车场id | 414 | obj.tcc = d[i].tcc==null ? null : d[i].tcc.id;// 停车场id |
| 413 | obj.ttinfo = d[i].ttinfo==null ? null : d[i].ttinfo.id;// 时刻表id | 415 | obj.ttinfo = d[i].ttinfo==null ? null : d[i].ttinfo.id;// 时刻表id |
| @@ -421,7 +423,7 @@ var SKBFormWizard = function() { | @@ -421,7 +423,7 @@ var SKBFormWizard = function() { | ||
| 421 | resultD.push(obj); | 423 | resultD.push(obj); |
| 422 | if(lpA.indexOf(obj.lpNo)<0) { | 424 | if(lpA.indexOf(obj.lpNo)<0) { |
| 423 | lpA.push(obj.lpNo); | 425 | lpA.push(obj.lpNo); |
| 424 | - rsLpA.push({'lp':obj.lp,'lpNo':obj.lpNo,'lpName':obj.parent,'lpType':obj.lpType}); | 426 | + rsLpA.push({'lp':obj.lp,'lpNo':obj.lpNo,'lpName':obj.lpName,'lpType':obj.lpType}); |
| 425 | } | 427 | } |
| 426 | } | 428 | } |
| 427 | // 返回渲染图形的数据格式. | 429 | // 返回渲染图形的数据格式. |
src/main/resources/static/pages/base/timesmodel/js/base-fun.js
| @@ -332,6 +332,8 @@ var BaseFun = function() { | @@ -332,6 +332,8 @@ var BaseFun = function() { | ||
| 332 | var rs = new Array(),bxrcgs= new Array(); | 332 | var rs = new Array(),bxrcgs= new Array(); |
| 333 | // 遍历已分配好路牌的班型人次数组. | 333 | // 遍历已分配好路牌的班型人次数组. |
| 334 | for(var x = 0 ; x < bxrclist.length; x++) { | 334 | for(var x = 0 ; x < bxrclist.length; x++) { |
| 335 | + /*if(x>0) | ||
| 336 | + continue;*/ | ||
| 335 | // 定义当前班型人次下的路牌数组. | 337 | // 定义当前班型人次下的路牌数组. |
| 336 | var cla = bxrclist[x].sslp; | 338 | var cla = bxrclist[x].sslp; |
| 337 | var dsdnmb = bxrclist[x].rs/bxrclist[x].fpcls; | 339 | var dsdnmb = bxrclist[x].rs/bxrclist[x].fpcls; |
| @@ -339,12 +341,13 @@ var BaseFun = function() { | @@ -339,12 +341,13 @@ var BaseFun = function() { | ||
| 339 | var hoursV = bxrclist[x].hoursV*dsdnmb; | 341 | var hoursV = bxrclist[x].hoursV*dsdnmb; |
| 340 | // 遍历路牌 | 342 | // 遍历路牌 |
| 341 | for(var s = 0 ; s < cla.length; s++) { | 343 | for(var s = 0 ; s < cla.length; s++) { |
| 344 | + /*if(s>1 || s==0) | ||
| 345 | + continue;*/ | ||
| 342 | //cla[s].lpName = bxrclist[x].type; | 346 | //cla[s].lpName = bxrclist[x].type; |
| 343 | // 获取路牌编号. | 347 | // 获取路牌编号. |
| 344 | var lpNo = cla[s].lpNo; | 348 | var lpNo = cla[s].lpNo; |
| 345 | // 定义路牌下的所有班次. | 349 | // 定义路牌下的所有班次. |
| 346 | var lpbc = new Array(); | 350 | var lpbc = new Array(); |
| 347 | - bxrcgs.push({'lpNo':lpNo,'hoursV':hoursV,'type':bxrclist[x].type}); | ||
| 348 | // 遍历班次数. | 351 | // 遍历班次数. |
| 349 | for(var i =0 ; i <jsonArray.length; i++) { | 352 | for(var i =0 ; i <jsonArray.length; i++) { |
| 350 | // 判断当期遍历的班次是否属于当前的路牌. | 353 | // 判断当期遍历的班次是否属于当前的路牌. |
| @@ -359,10 +362,20 @@ var BaseFun = function() { | @@ -359,10 +362,20 @@ var BaseFun = function() { | ||
| 359 | cara[l].lpName = bxrclist[x].type + '_' + lpNo ; | 362 | cara[l].lpName = bxrclist[x].type + '_' + lpNo ; |
| 360 | } | 363 | } |
| 361 | } | 364 | } |
| 365 | + var _obj = baseF.getsxAndxxbc(lpbc,dataMap); | ||
| 366 | + baseF.tcbc(_obj.sxbc,dataMap.smbcsjArr[0].kssj,dataMap.smbcsjArr[0].jssj);// 剔除上行不在时间范围内的班次 | ||
| 367 | + baseF.tcbc(_obj.xxbc,dataMap.smbcsjArr[1].kssj,dataMap.smbcsjArr[1].jssj);// 剔除下行不在时间范围内的班次 | ||
| 368 | + var tcnofwlpbc = _obj.sxbc.concat(_obj.xxbc); | ||
| 362 | // 按照发车序号顺序排序. | 369 | // 按照发车序号顺序排序. |
| 363 | - lpbc.sort(function(a,b){return b.fcno-a.fcno}); | 370 | + tcnofwlpbc.sort(function(a,b){return b.fcno-a.fcno}); |
| 371 | + /*var gsv = 0 ; | ||
| 372 | + for(var z = 0 ;z < tza.length;z++) { | ||
| 373 | + gsv = gsv + tza[z].bcsj + tza[z].STOPTIME; | ||
| 374 | + }*/ | ||
| 375 | + // parseFloat((gsv/60).toFixed(2)) | ||
| 376 | + bxrcgs.push({'lpNo':lpNo,'hoursV':hoursV,'type':bxrclist[x].type}); | ||
| 364 | // 调整班次数.也就是说调整工时. | 377 | // 调整班次数.也就是说调整工时. |
| 365 | - rs = rs.concat(baseF.tzlpgs01(lpbc,hoursV,map,dataMap,lpNo,saa,bxrclist[x].type,lpNo,cara.length)); | 378 | + rs = rs.concat(baseF.tzlpgs01(tcnofwlpbc,hoursV,map,dataMap,lpNo,saa,bxrclist[x].type,lpNo,cara.length)); |
| 366 | } | 379 | } |
| 367 | } | 380 | } |
| 368 | var jar01 = baseF.tzsmbcsj01( | 381 | var jar01 = baseF.tzsmbcsj01( |
| @@ -375,25 +388,329 @@ var BaseFun = function() { | @@ -375,25 +388,329 @@ var BaseFun = function() { | ||
| 375 | var jar = baseF.tzsmbcsj01( | 388 | var jar = baseF.tzsmbcsj01( |
| 376 | baseF.setbcsAndfcno(baseF.tzsmbcsj01(baseF.setbcsAndfcno(baseF.tzsztest(cara,jar01,dataMap)),dataMap.smbcsjArr,dataMap.ccsjArr,dataMap.cclcArr,dataMap.qdzArr,saa[0].lbsj,dataMap)), | 389 | baseF.setbcsAndfcno(baseF.tzsmbcsj01(baseF.setbcsAndfcno(baseF.tzsztest(cara,jar01,dataMap)),dataMap.smbcsjArr,dataMap.ccsjArr,dataMap.cclcArr,dataMap.qdzArr,saa[0].lbsj,dataMap)), |
| 377 | dataMap.smbcsjArr,dataMap.ccsjArr,dataMap.cclcArr,dataMap.qdzArr,saa[0].lbsj,dataMap); | 390 | dataMap.smbcsjArr,dataMap.ccsjArr,dataMap.cclcArr,dataMap.qdzArr,saa[0].lbsj,dataMap); |
| 378 | - var resultJA = new Array(); | 391 | + // return {'json':jar,'bxrcgs':bxrcgs}; |
| 392 | + for(var r = 0 ; r < bxrcgs.length; r++) { | ||
| 393 | + var lpNo = bxrcgs[r].lpNo; | ||
| 394 | + var gsv = 0 , bczs = 0; | ||
| 395 | + for(var g = 0 ; g< jar.length; g++) { | ||
| 396 | + if(jar[g].lpNo == lpNo) { | ||
| 397 | + gsv = gsv + jar[g].bcsj + jar[g].STOPTIME; | ||
| 398 | + bczs++; | ||
| 399 | + } | ||
| 400 | + } | ||
| 401 | + bxrcgs[r].sjgsV = gsv; | ||
| 402 | + bxrcgs[r].bczs = bczs; | ||
| 403 | + } | ||
| 404 | + //debugger; | ||
| 405 | + var jar3 = baseF.dqbcsAndgs(bxrcgs,jar,dataMap,cara.length); | ||
| 406 | + // return {'json':jar3,'bxrcgs':bxrcgs}; | ||
| 407 | + /*var jar4 = baseF.tzsmbcsj01( | ||
| 408 | + baseF.setbcsAndfcno(baseF.tzsmbcsj01(baseF.setbcsAndfcno(baseF.tzsztest(cara,jar3,dataMap)),dataMap.smbcsjArr,dataMap.ccsjArr,dataMap.cclcArr,dataMap.qdzArr,saa[0].lbsj,dataMap)), | ||
| 409 | + dataMap.smbcsjArr,dataMap.ccsjArr,dataMap.cclcArr,dataMap.qdzArr,saa[0].lbsj,dataMap);*/ | ||
| 410 | + var rsjar = baseF.tzsztest(cara,jar3,dataMap); | ||
| 411 | + // return {'json':rsjar,'bxrcgs':bxrcgs}; | ||
| 412 | + return {'json':baseF.addjcclcbc01(cara,rsjar,dataMap,saa,map),'bxrcgs':bxrcgs}; | ||
| 413 | + }, | ||
| 414 | + | ||
| 415 | + addjcclcbc01 : function(cara,rsjar,dataMap,saa,map) { | ||
| 416 | + var resultJA = new Array(),bcs = 0; | ||
| 379 | for(var m = 0 ; m < cara.length; m++) { | 417 | for(var m = 0 ; m < cara.length; m++) { |
| 380 | // 获取路牌编号. | 418 | // 获取路牌编号. |
| 381 | var lpNo_ = cara[m].lpNo; | 419 | var lpNo_ = cara[m].lpNo; |
| 382 | // 定义路牌下的所有班次. | 420 | // 定义路牌下的所有班次. |
| 383 | var lpbc_ = new Array(); | 421 | var lpbc_ = new Array(); |
| 384 | // 遍历班次数. | 422 | // 遍历班次数. |
| 385 | - for(var x =0 ; x <jar.length; x++) { | 423 | + for(var x =0 ; x <rsjar.length; x++) { |
| 386 | // 判断当期遍历的班次是否属于当前的路牌. | 424 | // 判断当期遍历的班次是否属于当前的路牌. |
| 387 | - if(jar[x].lpNo == lpNo_) { | ||
| 388 | - delete jar[x].fcint; | ||
| 389 | - lpbc_.push(jar[x]); | 425 | + if(rsjar[x].lpNo == lpNo_) { |
| 426 | + delete rsjar[x].fcint; | ||
| 427 | + lpbc_.push(rsjar[x]); | ||
| 390 | } | 428 | } |
| 391 | } | 429 | } |
| 392 | // 按照发车序号顺序排序. | 430 | // 按照发车序号顺序排序. |
| 393 | lpbc_.sort(function(a,b){return a.fcno-b.fcno}); | 431 | lpbc_.sort(function(a,b){return a.fcno-b.fcno}); |
| 394 | - resultJA = resultJA.concat(baseF.addjclbbc01(lpbc_,dataMap,saa[0].lbsj,map)); | 432 | + baseF.addcfbc01(lpbc_,dataMap,map); |
| 433 | + // 按照发车序号顺序排序. | ||
| 434 | + // lpbc_.sort(function(a,b){return a.fcno-b.fcno}); | ||
| 435 | + var tt = baseF.addjclbbc01(lpbc_,dataMap,saa[0].lbsj,map); | ||
| 436 | + bcs = baseF.updfcno01(tt,bcs); | ||
| 437 | + resultJA = resultJA.concat(tt); | ||
| 438 | + } | ||
| 439 | + return resultJA; | ||
| 440 | + }, | ||
| 441 | + | ||
| 442 | + updfcno01 : function(bcArr,bcs) { | ||
| 443 | + for(var i =0; i < bcArr.length;i++) { | ||
| 444 | + bcArr[i].fcint = baseF.getDateTime(bcArr[i].fcsj).getTime(); | ||
| 445 | + } | ||
| 446 | + bcArr.sort(function(a,b){return a.fcint-b.fcint}); | ||
| 447 | + for(var t = 0 ; t <bcArr.length;t++) { | ||
| 448 | + bcs++; | ||
| 449 | + bcArr[t].bcs = bcs; | ||
| 450 | + bcArr[t].fcno = t+1; | ||
| 451 | + delete bcArr[t].fcint; | ||
| 452 | + } | ||
| 453 | + return bcs; | ||
| 454 | + }, | ||
| 455 | + | ||
| 456 | + addcfbc01 : function(lpbcar,dataMap,map) { | ||
| 457 | + var gs = 0 ,sicftag = true; | ||
| 458 | + for(var g = 0 ; g <lpbcar.length-1;g++ ) { | ||
| 459 | + if( parseInt((baseF.getDateTime(lpbcar[g+1].fcsj) - baseF.getDateTime(lpbcar[g].ARRIVALTIME))/60000) > 80 | ||
| 460 | + && lpbcar[g].STOPTIME==0 ) { | ||
| 461 | + lpbcar[g].isfb = 1; | ||
| 462 | + } | ||
| 463 | + /*gs = gs + lpbcar[g].bcsj + lpbcar[g].STOPTIME; | ||
| 464 | + if(lpbcar[g].STOPTIME==0 && g>0 && g<(lpbcar.length-1)) { | ||
| 465 | + debugger; | ||
| 466 | + lpbcar[g].isfb = 1; | ||
| 467 | + sicftag = false; | ||
| 468 | + }*/ | ||
| 469 | + } | ||
| 470 | + /*if(sicftag) { | ||
| 471 | + for(var j = 0 ; j <lpbcar.length;j ++ ) { | ||
| 472 | + var kssj = baseF.getDateTime(lpbcar[j].fcsj); | ||
| 473 | + var tzsj = lpbcar[j].STOPTIME; | ||
| 474 | + var cctag = baseF.dirDmToIndex(lpbcar[j].xlDir); | ||
| 475 | + var cfdd = baseF.getcfdd(map.cfdd,cctag); | ||
| 476 | + if(kssj> new Date (baseF.getCFDate(10,30)) && | ||
| 477 | + kssj<new Date (baseF.getCFDate(11,30)) && cfdd == cctag) { | ||
| 478 | + console.log(tzsj,lpbcar[j].fcsj); | ||
| 479 | + rs.push(baseF.getbcObj( | ||
| 480 | + kssj,dataMap.zwcArr[0],cara[c],dataMap.bcTypeArr.cf, | ||
| 481 | + dataMap.dira[cctag],xhNo++,0,map,0,null,null,null,0,0)); | ||
| 482 | + | ||
| 483 | + }else if(kssj > new Date (baseF.getCFDate(18,30)) && | ||
| 484 | + kssj < new Date (baseF.getCFDate(19,30)) && cfdd == cctag ) { | ||
| 485 | + console.log(tzsj,lpbcar[j].fcsj); | ||
| 486 | + rs.push(baseF.getbcObj( | ||
| 487 | + kssj,dataMap.zwcArr[1],cara[c],dataMap.bcTypeArr.cf, | ||
| 488 | + dataMap.dira[cctag],xhNo++,0,map,0,null,null,null,0,0)); | ||
| 489 | + | ||
| 490 | + } | ||
| 491 | + } | ||
| 492 | + }*/ | ||
| 493 | + }, | ||
| 494 | + | ||
| 495 | + dqbcsAndgs : function(bxrcgs,jar,dataMap,cla) { | ||
| 496 | + var bxA = new Array(),rsA = new Array(); | ||
| 497 | + for(var b = 0 ;b <bxrcgs.length; b++) { | ||
| 498 | + if(bxA.indexOf(bxrcgs[b].type)<0) | ||
| 499 | + bxA.push(bxrcgs[b].type); | ||
| 500 | + } | ||
| 501 | + var maxXxsjA = [parseInt(dataMap.map.upTravelTime),parseInt(dataMap.map.downTravelTime)]; | ||
| 502 | + var v1 = Math.max.apply(null, maxXxsjA) *1.5; | ||
| 503 | + for(var a = 0 ;a < bxA.length;a++) { | ||
| 504 | + var type = bxA[a],bxszA = new Array(); | ||
| 505 | + for(var s = 0 ; s < bxrcgs.length; s++) { | ||
| 506 | + if(type == bxrcgs[s].type) | ||
| 507 | + bxszA.push({'szgs':bxrcgs[s].sjgsV,'szbc' : bxrcgs[s].bczs, 'lpNo':bxrcgs[s].lpNo,'type' :bxrcgs[s].type}); | ||
| 508 | + } | ||
| 509 | + var lpA = new Array(); | ||
| 510 | + if(bxszA.length>1) { | ||
| 511 | + /*bxszA.sort(function(c,d){return ((c.szbc - d.szbc) && (c.szgs - d.szgs))});*/ | ||
| 512 | + bxszA.sort(function(c,d){return d.szgs - c.szgs}); | ||
| 513 | + for(var t = 0 ;t < bxszA.length;t++) { | ||
| 514 | + var lpN_ = bxszA[t].lpNo; | ||
| 515 | + /*if(lpN_==bxszA[0].lpNo) | ||
| 516 | + continue;*/ | ||
| 517 | + var dx = bxszA[t].szbc - bxszA[0].szbc; | ||
| 518 | + var type_ = bxszA[t].type; | ||
| 519 | + lpA = baseF.getlpbcA(lpN_,jar); | ||
| 520 | + lpA.sort(function(x,y){return y.fcno - x.fcno}); | ||
| 521 | + var tempTag = false; | ||
| 522 | + var isyddygbc = !baseF.issmbcsjArr(lpA[lpA.length-1].fcsj,dataMap.smbcsjArr); | ||
| 523 | + var isydzhygbc = !baseF.issmbcsjArr(lpA[0].fcsj,dataMap.smbcsjArr); | ||
| 524 | + if(dx>0) { | ||
| 525 | + for(var j = 0 ; j < dx ; j++) { | ||
| 526 | + for(var k = 0 ; k<lpA.length;k++) { | ||
| 527 | + // 得到当前路牌下的发车时间. | ||
| 528 | + var dqbcfcsj = baseF.getDateTime(lpA[k].fcsj); | ||
| 529 | + // 判断时间范围. | ||
| 530 | + if(dataMap.zgfsjd[0].ed < dqbcfcsj && dqbcfcsj < dataMap.wgfsjd[0].st) { | ||
| 531 | + lpA.splice(k,1); | ||
| 532 | + break; | ||
| 533 | + } | ||
| 534 | + } | ||
| 535 | + } | ||
| 536 | + tempTag = true; | ||
| 537 | + }else if(bxszA[t].szgs < bxszA[0].szgs) { | ||
| 538 | + var gsdx = bxszA[0].szgs - bxszA[t].szgs; | ||
| 539 | + // console.log(gsdx + '---' + lpN_); | ||
| 540 | + if(gsdx<=v1) { | ||
| 541 | + if(isyddygbc && isydzhygbc) { | ||
| 542 | + var dygbcydx = 0,zhygbcydx = 0; | ||
| 543 | + if(gsdx%2==0) { | ||
| 544 | + dygbcydx = gsdx/2; | ||
| 545 | + zhygbcydx = dygbcydx; | ||
| 546 | + }else { | ||
| 547 | + dygbcydx = gsdx%2; | ||
| 548 | + zhygbcydx = gsdx - dygbcydx; | ||
| 549 | + } | ||
| 550 | + baseF.dygbcUpd(lpA[lpA.length-1],dygbcydx); | ||
| 551 | + baseF.zhygbcUpd(lpA[0],lpA[1],zhygbcydx); | ||
| 552 | + }else if(isyddygbc) { | ||
| 553 | + baseF.dygbcUpd(lpA[lpA.length-1],gsdx); | ||
| 554 | + }else if(isydzhygbc) { | ||
| 555 | + baseF.zhygbcUpd(lpA[0],lpA[1],gsdx); | ||
| 556 | + } | ||
| 557 | + }else { | ||
| 558 | + var isZerInt = baseF.istzsjZero(lpA,dataMap); | ||
| 559 | + var vag = 0,avgdx = 0; | ||
| 560 | + if(gsdx % isZerInt==0) { | ||
| 561 | + vag = gsdx / isZerInt; | ||
| 562 | + }else { | ||
| 563 | + vag = parseInt(gsdx / isZerInt); | ||
| 564 | + avgdx = gsdx - vag*isZerInt; | ||
| 565 | + if(isyddygbc && isydzhygbc) { | ||
| 566 | + var dygbcydx = 0,zhygbcydx = 0; | ||
| 567 | + if(avgdx%2==0) { | ||
| 568 | + dygbcydx = avgdx/2; | ||
| 569 | + zhygbcydx = dygbcydx; | ||
| 570 | + }else { | ||
| 571 | + dygbcydx = avgdx%2; | ||
| 572 | + zhygbcydx = avgdx - dygbcydx; | ||
| 573 | + } | ||
| 574 | + baseF.dygbcUpd(lpA[lpA.length-1],dygbcydx); | ||
| 575 | + baseF.zhygbcUpd(lpA[0],lpA[1],zhygbcydx); | ||
| 576 | + }else if(isyddygbc) { | ||
| 577 | + baseF.dygbcUpd(lpA[lpA.length-1],avgdx); | ||
| 578 | + }else if(isydzhygbc) { | ||
| 579 | + baseF.zhygbcUpd(lpA[0],lpA[1],avgdx); | ||
| 580 | + } | ||
| 581 | + } | ||
| 582 | + var qbbfbc = new Array(); | ||
| 583 | + for(var v = 1 ; v < lpA.length;v++) { | ||
| 584 | + var ddsj = baseF.getDateTime(lpA[v-1].fcsj); | ||
| 585 | + if(baseF.getDateTime("13:00") <= baseF.getDateTime(lpA[v].fcsj)) { | ||
| 586 | + if(lpA[v].STOPTIME > 0 && !baseF.issmbcsjArr(lpA[v].fcsj,dataMap.smbcsjArr) ) { | ||
| 587 | + lpA[v].STOPTIME = lpA[v].STOPTIME + vag; | ||
| 588 | + ddsj.setMinutes(ddsj.getMinutes() - lpA[v].STOPTIME); | ||
| 589 | + lpA[v].ARRIVALTIME = baseF.getTimeStr(ddsj); | ||
| 590 | + ddsj.setMinutes(ddsj.getMinutes() - lpA[v].bcsj); | ||
| 591 | + lpA[v].fcsj = baseF.getTimeStr(ddsj); | ||
| 592 | + | ||
| 593 | + } | ||
| 594 | + }else { | ||
| 595 | + if(!baseF.issmbcsjArr(lpA[v].fcsj,dataMap.smbcsjArr)) { | ||
| 596 | + qbbfbc.push(lpA[v]); | ||
| 597 | + } | ||
| 598 | + } | ||
| 599 | + } | ||
| 600 | + qbbfbc.sort(function(x,y){return x.fcno - y.fcno}); | ||
| 601 | + for(var q = 0 ; q < qbbfbc.length; q++) { | ||
| 602 | + if(q<(qbbfbc.length-1)) | ||
| 603 | + qbbfbc[q].STOPTIME = qbbfbc[q].STOPTIME + vag; | ||
| 604 | + if(q==0) { | ||
| 605 | + var fcsj_ = baseF.getDateTime(qbbfbc[q].fcsj); | ||
| 606 | + fcsj_.setMinutes(fcsj_.getMinutes() + qbbfbc[q].bcsj); | ||
| 607 | + qbbfbc[q].ARRIVALTIME = baseF.getTimeStr(fcsj_); | ||
| 608 | + }else { | ||
| 609 | + var ddsj_ = baseF.getDateTime(qbbfbc[q-1].ARRIVALTIME); | ||
| 610 | + ddsj_.setMinutes(ddsj_.getMinutes() + qbbfbc[q-1].STOPTIME); | ||
| 611 | + qbbfbc[q].fcsj = baseF.getTimeStr(ddsj_); | ||
| 612 | + ddsj_.setMinutes(ddsj_.getMinutes() + qbbfbc[q].bcsj); | ||
| 613 | + qbbfbc[q].ARRIVALTIME = baseF.getTimeStr(ddsj_); | ||
| 614 | + } | ||
| 615 | + } | ||
| 616 | + } | ||
| 617 | + } | ||
| 618 | + var start = baseF.getDateTime(lpA[0].ARRIVALTIME); | ||
| 619 | + var end = baseF.getDateTime(lpA[lpA.length-1].fcsj); | ||
| 620 | + var hourdx = start.getHours() - end.getHours(); | ||
| 621 | + var minuedx = hourdx* 60 + (start.getMinutes() - end.getMinutes()) + lpA[0].STOPTIME; | ||
| 622 | + var dx = 0; | ||
| 623 | + /*if(minuedx > bxszA[0].szgs && tempTag) { | ||
| 624 | + dx = minuedx - bxszA[0].szgs; | ||
| 625 | + console.log(dx); | ||
| 626 | + }else */ | ||
| 627 | + if(minuedx < bxszA[0].szgs && tempTag) { | ||
| 628 | + dx = bxszA[0].szgs - minuedx; | ||
| 629 | + if(dx > v1 && isyddygbc && isydzhygbc) { | ||
| 630 | + var dygbcydx = 0,zhygbcydx = 0; | ||
| 631 | + if(dx%2==0) { | ||
| 632 | + dygbcydx = dx/2; | ||
| 633 | + zhygbcydx = dygbcydx; | ||
| 634 | + }else { | ||
| 635 | + dygbcydx = dx%2; | ||
| 636 | + zhygbcydx = dx - dygbcydx; | ||
| 637 | + } | ||
| 638 | + baseF.dygbcUpd(lpA[lpA.length-1],dygbcydx); | ||
| 639 | + baseF.zhygbcUpd(lpA[0],lpA[1],zhygbcydx); | ||
| 640 | + }else { | ||
| 641 | + if(isyddygbc && isydzhygbc) { | ||
| 642 | + var dygbcydx = 0,zhygbcydx = 0; | ||
| 643 | + if(dx%2==0) { | ||
| 644 | + dygbcydx = dx/2; | ||
| 645 | + zhygbcydx = dygbcydx; | ||
| 646 | + }else { | ||
| 647 | + dygbcydx = dx%2; | ||
| 648 | + zhygbcydx = dx - dygbcydx; | ||
| 649 | + } | ||
| 650 | + baseF.dygbcUpd(lpA[lpA.length-1],dygbcydx); | ||
| 651 | + baseF.zhygbcUpd(lpA[0],lpA[1],zhygbcydx); | ||
| 652 | + }else if(isyddygbc) { | ||
| 653 | + baseF.dygbcUpd(lpA[lpA.length-1],dx); | ||
| 654 | + }else if(isydzhygbc) { | ||
| 655 | + baseF.zhygbcUpd(lpA[0],lpA[1],dx); | ||
| 656 | + } | ||
| 657 | + } | ||
| 658 | + } | ||
| 659 | + rsA = rsA.concat(lpA); | ||
| 660 | + } | ||
| 661 | + | ||
| 662 | + }else { | ||
| 663 | + rsA = rsA.concat(baseF.getlpbcA(bxszA[0].lpNo,jar)); | ||
| 664 | + } | ||
| 665 | + } | ||
| 666 | + return rsA; | ||
| 667 | + }, | ||
| 668 | + | ||
| 669 | + istzsjZero : function(arr,dataMap) { | ||
| 670 | + var rsint = 0; | ||
| 671 | + for(var r = 1 ; r<arr.length;r++) { | ||
| 672 | + if(arr[r].STOPTIME>0 && !baseF.issmbcsjArr(arr[r].fcsj,dataMap.smbcsjArr)) { | ||
| 673 | + rsint++; | ||
| 674 | + } | ||
| 395 | } | 675 | } |
| 396 | - return {'json':resultJA,'bxrcgs':bxrcgs}; | 676 | + return rsint; |
| 677 | + }, | ||
| 678 | + | ||
| 679 | + dygbcUpd : function(obj,dx) { | ||
| 680 | + obj.STOPTIME = obj.STOPTIME + dx; | ||
| 681 | + var dygbcfcsj = baseF.getDateTime(obj.fcsj); | ||
| 682 | + dygbcfcsj.setMinutes(dygbcfcsj.getMinutes() - dx); | ||
| 683 | + obj.fcsj = baseF.getTimeStr(dygbcfcsj); | ||
| 684 | + | ||
| 685 | + dygbcfcsj.setMinutes(dygbcfcsj.getMinutes() + obj.bcsj); | ||
| 686 | + obj.ARRIVALTIME = baseF.getTimeStr(dygbcfcsj); | ||
| 687 | + }, | ||
| 688 | + | ||
| 689 | + zhygbcUpd: function(obj,xgOjb,dx) { | ||
| 690 | + xgOjb.STOPTIME = xgOjb.STOPTIME + dx; | ||
| 691 | + var zhygbcydx = baseF.getDateTime(obj.fcsj); | ||
| 692 | + zhygbcydx.setMinutes(zhygbcydx.getMinutes() + dx); | ||
| 693 | + obj.fcsj = baseF.getTimeStr(zhygbcydx); | ||
| 694 | + zhygbcydx.setMinutes(zhygbcydx.getMinutes() + obj.bcsj); | ||
| 695 | + obj.ARRIVALTIME = baseF.getTimeStr(zhygbcydx); | ||
| 696 | + }, | ||
| 697 | + | ||
| 698 | + issmbcsjArr : function(str,arr) { | ||
| 699 | + var tag = false; | ||
| 700 | + for(var a = 0 ;a < arr.length;a++) { | ||
| 701 | + if(str == arr[a].kssj || str == arr[a].jssj) | ||
| 702 | + tag = true; | ||
| 703 | + } | ||
| 704 | + return tag; | ||
| 705 | + }, | ||
| 706 | + | ||
| 707 | + getlpbcA : function(lpN_,jar) { | ||
| 708 | + var lpA = new Array(); | ||
| 709 | + for(var p = 0 ; p < jar.length; p++ ) { | ||
| 710 | + if(jar[p].lpNo == lpN_) | ||
| 711 | + lpA.push(jar[p]); | ||
| 712 | + } | ||
| 713 | + return lpA; | ||
| 397 | }, | 714 | }, |
| 398 | 715 | ||
| 399 | tzsztest : function(cara,tempa,dataMap) { | 716 | tzsztest : function(cara,tempa,dataMap) { |
| @@ -445,22 +762,36 @@ var BaseFun = function() { | @@ -445,22 +762,36 @@ var BaseFun = function() { | ||
| 445 | }, | 762 | }, |
| 446 | 763 | ||
| 447 | tztzsjInit01 : function(ar,dataMap) { | 764 | tztzsjInit01 : function(ar,dataMap) { |
| 765 | + var maxXxsjA = [parseInt(dataMap.map.upTravelTime),parseInt(dataMap.map.downTravelTime)]; | ||
| 766 | + var v1 = Math.max.apply(null, maxXxsjA) *1.5; | ||
| 448 | for(var r = 0 ; r< ar.length-1;r++) { | 767 | for(var r = 0 ; r< ar.length-1;r++) { |
| 449 | var sgbcfcsj = baseF.getDateTime(ar[r+1].fcsj),dqbcddsj = baseF.getDateTime(ar[r].ARRIVALTIME); | 768 | var sgbcfcsj = baseF.getDateTime(ar[r+1].fcsj),dqbcddsj = baseF.getDateTime(ar[r].ARRIVALTIME); |
| 450 | var dxmin = parseInt( (sgbcfcsj - dqbcddsj)/60000); | 769 | var dxmin = parseInt( (sgbcfcsj - dqbcddsj)/60000); |
| 451 | if(dxmin<0 || ar[r].STOPTIME<0) { | 770 | if(dxmin<0 || ar[r].STOPTIME<0) { |
| 452 | var cctag = baseF.dirDmToIndex(ar[r].xlDir); | 771 | var cctag = baseF.dirDmToIndex(ar[r].xlDir); |
| 453 | dxmin = ar[r].bcType == dataMap.bcTypeArr.cf ? 0 : baseF.isgfsjd01(baseF.getDateTime(ar[r].fcsj),dataMap) ? dataMap.gftzsj[cctag] : dataMap.dgtzsj[cctag]; | 772 | dxmin = ar[r].bcType == dataMap.bcTypeArr.cf ? 0 : baseF.isgfsjd01(baseF.getDateTime(ar[r].fcsj),dataMap) ? dataMap.gftzsj[cctag] : dataMap.dgtzsj[cctag]; |
| 454 | - dqbcddsj.setMinutes(dqbcddsj.getMinutes() + dxmin); | 773 | + /*dqbcddsj.setMinutes(dqbcddsj.getMinutes() + dxmin); |
| 455 | ar[r+1].fcsj = baseF.getTimeStr(dqbcddsj); | 774 | ar[r+1].fcsj = baseF.getTimeStr(dqbcddsj); |
| 456 | dqbcddsj.setMinutes(dqbcddsj.getMinutes() + ar[r+1].bcsj); | 775 | dqbcddsj.setMinutes(dqbcddsj.getMinutes() + ar[r+1].bcsj); |
| 457 | - ar[r+1].ARRIVALTIME = baseF.getTimeStr(dqbcddsj); | 776 | + ar[r+1].ARRIVALTIME = baseF.getTimeStr(dqbcddsj);*/ |
| 458 | /*sgbcfcsj.setMinutes(sgbcfcsj.getMinutes() - dxmin); | 777 | /*sgbcfcsj.setMinutes(sgbcfcsj.getMinutes() - dxmin); |
| 459 | ar[r].ARRIVALTIME = baseF.getTimeStr(sgbcfcsj); | 778 | ar[r].ARRIVALTIME = baseF.getTimeStr(sgbcfcsj); |
| 460 | sgbcfcsj.setMinutes(sgbcfcsj.getMinutes() - ar[r].bcsj); | 779 | sgbcfcsj.setMinutes(sgbcfcsj.getMinutes() - ar[r].bcsj); |
| 461 | ar[r].fcsj = baseF.getTimeStr(sgbcfcsj);*/ | 780 | ar[r].fcsj = baseF.getTimeStr(sgbcfcsj);*/ |
| 781 | + }else if(dxmin >= v1 && dxmin < 180) { | ||
| 782 | + if(r==ar.length-2 || baseF.issmbcsjArr(ar[r+1].fcsj,dataMap.smbcsjArr)) { | ||
| 783 | + dxmin = dxmin; | ||
| 784 | + }else { | ||
| 785 | + dxmin = v1; | ||
| 786 | + } | ||
| 787 | + } | ||
| 788 | + if(ar[r].STOPTIME >0) { | ||
| 789 | + dqbcddsj.setMinutes(dqbcddsj.getMinutes() + dxmin); | ||
| 790 | + ar[r+1].fcsj = baseF.getTimeStr(dqbcddsj); | ||
| 791 | + dqbcddsj.setMinutes(dqbcddsj.getMinutes() + ar[r+1].bcsj); | ||
| 792 | + ar[r+1].ARRIVALTIME = baseF.getTimeStr(dqbcddsj); | ||
| 793 | + ar[r].STOPTIME = dxmin >= 180 ? 0 : parseInt(dxmin); | ||
| 462 | } | 794 | } |
| 463 | - ar[r].STOPTIME = dxmin>180 ? 0 : dxmin; | ||
| 464 | } | 795 | } |
| 465 | }, | 796 | }, |
| 466 | 797 | ||
| @@ -475,6 +806,7 @@ var BaseFun = function() { | @@ -475,6 +806,7 @@ var BaseFun = function() { | ||
| 475 | if(bcArr.length<=0) | 806 | if(bcArr.length<=0) |
| 476 | return; | 807 | return; |
| 477 | var dirA = dataMap.dira; | 808 | var dirA = dataMap.dira; |
| 809 | + var clzs = parseInt(dataMap.map.clzs); | ||
| 478 | for(var d = 0 ; d < dirA.length; d++) { | 810 | for(var d = 0 ; d < dirA.length; d++) { |
| 479 | var fxdm = dirA[d],fxbc = new Array(); | 811 | var fxdm = dirA[d],fxbc = new Array(); |
| 480 | var cctag = baseF.dirDmToIndex(fxdm); | 812 | var cctag = baseF.dirDmToIndex(fxdm); |
| @@ -500,6 +832,10 @@ var BaseFun = function() { | @@ -500,6 +832,10 @@ var BaseFun = function() { | ||
| 500 | var _fcjx = parseInt(Math.ceil(zzsj/bcCount)); | 832 | var _fcjx = parseInt(Math.ceil(zzsj/bcCount)); |
| 501 | var fcnosj = new Date(kssj); | 833 | var fcnosj = new Date(kssj); |
| 502 | for(var l = 0 ; l< len_ ; l++) { | 834 | for(var l = 0 ; l< len_ ; l++) { |
| 835 | + // 每个路牌的末班车发车时间不准动. | ||
| 836 | + if(baseF.iszhclzsbc(fxbc, sjdbcArr[l].fcno , clzs)) { | ||
| 837 | + continue; | ||
| 838 | + } | ||
| 503 | sjdbcArr[l].fcsj = baseF.getTimeStr(fcnosj); | 839 | sjdbcArr[l].fcsj = baseF.getTimeStr(fcnosj); |
| 504 | var _xxsj = baseF.getxssj(dataMap.zgfsjd, | 840 | var _xxsj = baseF.getxssj(dataMap.zgfsjd, |
| 505 | dataMap.wgfsjd,fcnosj,dataMap.pcxssjArr, | 841 | dataMap.wgfsjd,fcnosj,dataMap.pcxssjArr, |
| @@ -518,6 +854,16 @@ var BaseFun = function() { | @@ -518,6 +854,16 @@ var BaseFun = function() { | ||
| 518 | } | 854 | } |
| 519 | }, | 855 | }, |
| 520 | 856 | ||
| 857 | + iszhclzsbc : function(dirA , fcno , clzs) { | ||
| 858 | + var flag = false; | ||
| 859 | + for(var a =1 ; a < clzs ; a++) { | ||
| 860 | + if(fcno == dirA[dirA.length-a].fcno) { | ||
| 861 | + flag = true; | ||
| 862 | + } | ||
| 863 | + } | ||
| 864 | + return flag; | ||
| 865 | + }, | ||
| 866 | + | ||
| 521 | /** | 867 | /** |
| 522 | * @description : (TODO) 添加进出场班次、早晚例保班次. | 868 | * @description : (TODO) 添加进出场班次、早晚例保班次. |
| 523 | * | 869 | * |
| @@ -541,7 +887,25 @@ var BaseFun = function() { | @@ -541,7 +887,25 @@ var BaseFun = function() { | ||
| 541 | dqbcfcsj,dataMap.ccsjArr[fxdm],car,dataMap.bcTypeArr.out, | 887 | dqbcfcsj,dataMap.ccsjArr[fxdm],car,dataMap.bcTypeArr.out, |
| 542 | dataMap.dira[fxdm],2,dataMap.cclcArr[fxdm],gatps,0,dataMap.qdzArr[fxdm],null,null,0,0));// 出场班次 | 888 | dataMap.dira[fxdm],2,dataMap.cclcArr[fxdm],gatps,0,dataMap.qdzArr[fxdm],null,null,0,0));// 出场班次 |
| 543 | fcno ++; | 889 | fcno ++; |
| 544 | - }else if(b==bc.length-1){ | 890 | + }/*else if(b > 0 && b < bc.length-1){ |
| 891 | + var jcbckssj = baseF.getDateTime(bc[b].ARRIVALTIME) | ||
| 892 | + var ccbckssj = baseF.getDateTime(bc[b+1].fcsj) | ||
| 893 | + var dx = parseInt((ccbckssj - jcbckssj)/60000); | ||
| 894 | + if(bc[b].STOPTIME==0) { | ||
| 895 | + // bc[b].STOPTIME = 0; | ||
| 896 | + //console.log(bc[b].fcno); | ||
| 897 | + var fcno_ = bc[b].fcno + 2; | ||
| 898 | + stas = true; | ||
| 899 | + // console.log(bc[b],bc[b+1],b); | ||
| 900 | + result.push(baseF.getbcObj( | ||
| 901 | + jcbckssj,dataMap.jcsjArr[fxdm],car,dataMap.bcTypeArr.in_, | ||
| 902 | + dataMap.dira[fxdm],fcno_++,dataMap.jclcArr[fxdm],gatps,0,dataMap.qdzArr[fxdm],null,null,0,0));// 进场班次 | ||
| 903 | + var ccfx = baseF.dirDmToIndex(bc[b+1].xlDir); | ||
| 904 | + result.push(baseF.getbcObj( | ||
| 905 | + ccbckssj,dataMap.ccsjArr[ccfx],car,dataMap.bcTypeArr.out, | ||
| 906 | + dataMap.dira[ccfx],fcno_++,dataMap.cclcArr[ccfx],gatps,0,dataMap.qdzArr[ccfx],null,null,0,0));// 出场班次 | ||
| 907 | + } | ||
| 908 | + }*/else if(b==bc.length-1){ | ||
| 545 | var fcno_ = dxfno + 2; | 909 | var fcno_ = dxfno + 2; |
| 546 | var qdbcddsj = baseF.getDateTime(bc[b].ARRIVALTIME); | 910 | var qdbcddsj = baseF.getDateTime(bc[b].ARRIVALTIME); |
| 547 | result.push(baseF.getbcObj( | 911 | result.push(baseF.getbcObj( |
| @@ -573,64 +937,129 @@ var BaseFun = function() { | @@ -573,64 +937,129 @@ var BaseFun = function() { | ||
| 573 | var jczwsj = saa[0].lbsj*2 + dataMap.ccsjArr[baseF.dirDmToIndex(arr[0].xlDir)] + | 937 | var jczwsj = saa[0].lbsj*2 + dataMap.ccsjArr[baseF.dirDmToIndex(arr[0].xlDir)] + |
| 574 | dataMap.jcsjArr[baseF.dirDmToIndex(arr[arr.length-1].xlDir)]; | 938 | dataMap.jcsjArr[baseF.dirDmToIndex(arr[arr.length-1].xlDir)]; |
| 575 | // 定义路牌总工时.第一次切高峰之间和晚高峰之后的班次. | 939 | // 定义路牌总工时.第一次切高峰之间和晚高峰之后的班次. |
| 576 | - var lpdqzgs = parseFloat(((baseF.getlpzgs(arr) + jczwsj)/60).toFixed(2)); | ||
| 577 | - while(lpdqzgs>gs) { | ||
| 578 | - for(var t = 0 ; t<arr.length;t++) { | ||
| 579 | - // 得到当前路牌下的发车时间. | ||
| 580 | - var dqbcfcsj = baseF.getDateTime(arr[t].fcsj); | ||
| 581 | - // 判断时间范围. | ||
| 582 | - if(!baseF.issplice(dqbcfcsj,dataMap,type,lpNo,cla)) { | ||
| 583 | - arr.splice(t,1); | ||
| 584 | - break; | 940 | + var lpdqzgs = parseFloat(((baseF.getlpzgs(arr) + jczwsj)/60).toFixed(2)),tagboolean = true; |
| 941 | + while(tagboolean) { | ||
| 942 | + if(lpdqzgs>gs) { | ||
| 943 | + var temp = true ; | ||
| 944 | + for(var t = 0 ; t<arr.length;t++) { | ||
| 945 | + // 得到当前路牌下的发车时间. | ||
| 946 | + var dqbcfcsj = baseF.getDateTime(arr[t].fcsj); | ||
| 947 | + // 判断时间范围. | ||
| 948 | + if(!baseF.issplice(dqbcfcsj,dataMap,type,lpNo,cla)) { | ||
| 949 | + arr.splice(t,1); | ||
| 950 | + temp = false; | ||
| 951 | + break; | ||
| 952 | + } | ||
| 585 | } | 953 | } |
| 954 | + lpdqzgs = parseFloat(((baseF.getlpzgs(arr) + jczwsj)/60).toFixed(2)); | ||
| 955 | + if(temp) | ||
| 956 | + tagboolean = false; | ||
| 957 | + }else { | ||
| 958 | + tagboolean = false; | ||
| 586 | } | 959 | } |
| 587 | - lpdqzgs = parseFloat(((baseF.getlpzgs(arr) + jczwsj)/60).toFixed(2)); | ||
| 588 | } | 960 | } |
| 961 | + if(arr[0].xlDir == arr[arr.length-1].xlDir) { | ||
| 962 | + baseF.addbc01(arr,arr[0],dataMap); | ||
| 963 | + } | ||
| 964 | + var gfzjst = null | ||
| 589 | for(var c = 0 ; c<arr.length;c++) { | 965 | for(var c = 0 ; c<arr.length;c++) { |
| 590 | var cfsjbc = baseF.getDateTime(arr[c].fcsj); | 966 | var cfsjbc = baseF.getDateTime(arr[c].fcsj); |
| 591 | if(dataMap.gfzjsjd[0].st <= cfsjbc && cfsjbc <= dataMap.gfzjsjd[0].ed && arr[c].bcType == dataMap.bcTypeArr.cf ) | 967 | if(dataMap.gfzjsjd[0].st <= cfsjbc && cfsjbc <= dataMap.gfzjsjd[0].ed && arr[c].bcType == dataMap.bcTypeArr.cf ) |
| 592 | gfzjst = baseF.getDateTime(arr[c].ARRIVALTIME); | 968 | gfzjst = baseF.getDateTime(arr[c].ARRIVALTIME); |
| 593 | } | 969 | } |
| 594 | - gfzjst == null ? dataMap.gfzjsjd[0].st : gfzjst; | 970 | + gfzjst = gfzjst == null ? dataMap.gfzjsjd[0].st : gfzjst; |
| 595 | var gfzjbc = new Array(),wgfbc = new Array(),zgfbc = new Array(); | 971 | var gfzjbc = new Array(),wgfbc = new Array(),zgfbc = new Array(); |
| 596 | - for(var a = 0 ; a<arr.length;a++) { | ||
| 597 | - var tmkssj = baseF.getDateTime(arr[a].fcsj) | 972 | + for(var x = 0 ; x<arr.length;x++) { |
| 973 | + var tmkssj = baseF.getDateTime(arr[x].fcsj) | ||
| 598 | if(gfzjst <= tmkssj && tmkssj <= dataMap.gfzjsjd[0].ed) | 974 | if(gfzjst <= tmkssj && tmkssj <= dataMap.gfzjsjd[0].ed) |
| 599 | - gfzjbc.push(arr[a]); | 975 | + gfzjbc.push(arr[x]); |
| 600 | else if(dataMap.wgfsjd[0].st <= tmkssj && tmkssj <= dataMap.wgfsjd[0].ed) | 976 | else if(dataMap.wgfsjd[0].st <= tmkssj && tmkssj <= dataMap.wgfsjd[0].ed) |
| 601 | - wgfbc.push(arr[a]); | 977 | + wgfbc.push(arr[x]); |
| 602 | else | 978 | else |
| 603 | - zgfbc.push(arr[a]); | 979 | + zgfbc.push(arr[x]); |
| 604 | } | 980 | } |
| 605 | gfzjbc.sort(function(a,b){return a.fcno-b.fcno}); | 981 | gfzjbc.sort(function(a,b){return a.fcno-b.fcno}); |
| 606 | wgfbc.sort(function(a,b){return a.fcno-b.fcno}); | 982 | wgfbc.sort(function(a,b){return a.fcno-b.fcno}); |
| 607 | - if(gfzjbc[gfzjbc.length-1].xlDir == wgfbc[0].xlDir) | ||
| 608 | - gfzjbc.splice(gfzjbc.length-1,1); | ||
| 609 | - if(type!='五工二休') { | ||
| 610 | - var gfzjst = null; | ||
| 611 | - var dxmin = parseInt((baseF.getDateTime(wgfbc[0].fcsj) - baseF.getDateTime(gfzjbc[gfzjbc.length-1].ARRIVALTIME))/60000); | ||
| 612 | - var addmin = parseInt(dxmin/gfzjbc.length); | ||
| 613 | - for(var g = 0 ;g < gfzjbc.length;g++) { | ||
| 614 | - if(gfzjbc[g].bcType != dataMap.bcTypeArr.cf) | ||
| 615 | - gfzjbc[g].STOPTIME = gfzjbc[g].STOPTIME + addmin; | ||
| 616 | - if(g==0) { | ||
| 617 | - continue; | ||
| 618 | - }else { | ||
| 619 | - var tempd = baseF.getDateTime(gfzjbc[g-1].ARRIVALTIME); | ||
| 620 | - tempd.setMinutes(tempd.getMinutes() + gfzjbc[g-1].STOPTIME); | ||
| 621 | - gfzjbc[g].fcsj = baseF.getTimeStr(tempd); | ||
| 622 | - tempd.setMinutes(tempd.getMinutes() + gfzjbc[g].bcsj); | ||
| 623 | - gfzjbc[g].ARRIVALTIME = baseF.getTimeStr(tempd); | 983 | + if(gfzjbc.length>0 && wgfbc.length>0) { |
| 984 | + if(gfzjbc[gfzjbc.length-1].xlDir == wgfbc[0].xlDir && dataMap.map.linePlayType == "0"){ | ||
| 985 | + // addbc | ||
| 986 | + baseF.addbc01(gfzjbc,gfzjbc[gfzjbc.length-1],dataMap); | ||
| 987 | + } | ||
| 988 | + if(type!='五工二休') { | ||
| 989 | + var dxmin = parseInt((baseF.getDateTime(wgfbc[0].fcsj) - baseF.getDateTime(gfzjbc[gfzjbc.length-1].ARRIVALTIME))/60000); | ||
| 990 | + var addmin = parseInt(dxmin/gfzjbc.length); | ||
| 991 | + var rsM = baseF.gettzsjbs(gfzjbc,addmin,dataMap); | ||
| 992 | + if(rsM.tag) { | ||
| 993 | + for(var g = 0 ;g < gfzjbc.length;g++) { | ||
| 994 | + if(gfzjbc[g].bcType != dataMap.bcTypeArr.cf) | ||
| 995 | + gfzjbc[g].STOPTIME = gfzjbc[g].STOPTIME + addmin; | ||
| 996 | + if(g==0) { | ||
| 997 | + continue; | ||
| 998 | + }else { | ||
| 999 | + var tempd = baseF.getDateTime(gfzjbc[g-1].ARRIVALTIME); | ||
| 1000 | + tempd.setMinutes(tempd.getMinutes() + gfzjbc[g-1].STOPTIME); | ||
| 1001 | + gfzjbc[g].fcsj = baseF.getTimeStr(tempd); | ||
| 1002 | + tempd.setMinutes(tempd.getMinutes() + gfzjbc[g].bcsj); | ||
| 1003 | + gfzjbc[g].ARRIVALTIME = baseF.getTimeStr(tempd); | ||
| 1004 | + } | ||
| 1005 | + } | ||
| 624 | } | 1006 | } |
| 1007 | + gfzjbc[gfzjbc.length-1].STOPTIME = parseInt((baseF.getDateTime(wgfbc[0].fcsj) - baseF.getDateTime(gfzjbc[gfzjbc.length-1].ARRIVALTIME))/60000); | ||
| 625 | } | 1008 | } |
| 626 | - gfzjbc[gfzjbc.length-1].STOPTIME = parseInt((baseF.getDateTime(wgfbc[0].fcsj) - baseF.getDateTime(gfzjbc[gfzjbc.length-1].ARRIVALTIME))/60000); | ||
| 627 | } | 1009 | } |
| 628 | - return gfzjbc.concat(wgfbc).concat(zgfbc); | 1010 | + var rsAy = gfzjbc.concat(wgfbc).concat(zgfbc); |
| 1011 | + rsAy.sort(function(a,b){return b.fcno-a.fcno}); | ||
| 1012 | + rsAy[0].STOPTIME= 0; | ||
| 1013 | + return rsAy; | ||
| 1014 | + }, | ||
| 1015 | + | ||
| 1016 | + addbc01 : function(gfzjbc,lastObj,dataMap) { | ||
| 1017 | + var kssj = new Date(),strArray = lastObj.ARRIVALTIME.split(':'); | ||
| 1018 | + kssj.setHours(parseInt(strArray[0])); | ||
| 1019 | + kssj.setMinutes(parseInt(strArray[1]) + lastObj.STOPTIME); | ||
| 1020 | + var cctag = baseF.dirDmToIndex(lastObj.xlDir); | ||
| 1021 | + cctag = baseF.getfx(1,cctag); | ||
| 1022 | + var tzsj = baseF.isgfsjd01(kssj,dataMap) ? dataMap.gftzsj[cctag] : dataMap.dgtzsj[cctag]; | ||
| 1023 | + var _xxsj = baseF.getxssj(dataMap.zgfsjd,dataMap.wgfsjd,kssj,dataMap.pcxssjArr,dataMap.gfxxsjArr,cctag);// 获取行驶时间 | ||
| 1024 | + // 定义班次序号 | ||
| 1025 | + var xhNo = lastObj.fcno+1; | ||
| 1026 | + var carArray = {'lp':lastObj.lp,'lpNo':lastObj.lpNo,'lpName':lastObj.lpName,'lpType':lastObj.lpType}; | ||
| 1027 | + var ags = {'tcc_id':lastObj.tcc,'skbName':lastObj.ttinfo,'lineName':lastObj.xl+'_'}; | ||
| 1028 | + gfzjbc.push(baseF.getbcObj( kssj, | ||
| 1029 | + _xxsj, | ||
| 1030 | + carArray, | ||
| 1031 | + 'normal', | ||
| 1032 | + dataMap.dira[cctag], | ||
| 1033 | + xhNo++, | ||
| 1034 | + dataMap.pcxslcArr[cctag], | ||
| 1035 | + ags,0, | ||
| 1036 | + dataMap.qdzArr[cctag], | ||
| 1037 | + dataMap.zdzArr[cctag], | ||
| 1038 | + null,tzsj,0)); | ||
| 1039 | + }, | ||
| 1040 | + | ||
| 1041 | + gettzsjbs : function(array,bs,dataMap) { | ||
| 1042 | + var tag = true,dx = 0; | ||
| 1043 | + var tempA = new Array(),maxXxsjA = [parseInt(dataMap.map.upTravelTime),parseInt(dataMap.map.downTravelTime)]; | ||
| 1044 | + for(var r = 0 ; r<array.length;r++) { | ||
| 1045 | + tempA.push(array[r].STOPTIME + bs); | ||
| 1046 | + } | ||
| 1047 | + var v1 = Math.max.apply(null, maxXxsjA) *1.5; | ||
| 1048 | + var v2 = Math.max.apply(null, tempA); | ||
| 1049 | + if( v2 > v1) { | ||
| 1050 | + tag = false; | ||
| 1051 | + dx = parseInt(v2 -v1); | ||
| 1052 | + } | ||
| 1053 | + return {tag:tag,dx:dx}; | ||
| 629 | }, | 1054 | }, |
| 630 | 1055 | ||
| 631 | issplice : function (kssj,dataMap,type,lpNo,cla){ | 1056 | issplice : function (kssj,dataMap,type,lpNo,cla){ |
| 632 | - var tag = false; | ||
| 633 | - if(type=='五工二休' || lpNo <Math.round(cla/2)) { | 1057 | + var tag = false,booleanTag = false ; |
| 1058 | + if(cla % 2 ==0) | ||
| 1059 | + booleanTag = lpNo <= Math.round(cla/2); | ||
| 1060 | + else | ||
| 1061 | + booleanTag = lpNo < Math.round(cla/2); | ||
| 1062 | + if(type=='五工二休' || booleanTag) { | ||
| 634 | if((dataMap.zgfsjd[0].st <=kssj && kssj<= dataMap.zgfsjd[0].ed ) || | 1063 | if((dataMap.zgfsjd[0].st <=kssj && kssj<= dataMap.zgfsjd[0].ed ) || |
| 635 | ( dataMap.wgfsjd[0].st <= kssj && kssj <= dataMap.wgfsjd[0].ed)) | 1064 | ( dataMap.wgfsjd[0].st <= kssj && kssj <= dataMap.wgfsjd[0].ed)) |
| 636 | tag = true; | 1065 | tag = true; |
| @@ -1152,12 +1581,12 @@ var BaseFun = function() { | @@ -1152,12 +1581,12 @@ var BaseFun = function() { | ||
| 1152 | while(kssj<=endTime) { | 1581 | while(kssj<=endTime) { |
| 1153 | cctag = map.linePlayType=='1' ? 0 : baseF.getfx(fxTagDm,cctag); | 1582 | cctag = map.linePlayType=='1' ? 0 : baseF.getfx(fxTagDm,cctag); |
| 1154 | fxTagDm = 1; | 1583 | fxTagDm = 1; |
| 1155 | - var cfdd = baseF.getcfdd(map.cfdd,cctag); | 1584 | + /*var cfdd = baseF.getcfdd(map.cfdd,cctag); |
| 1156 | if(kssj> new Date (baseF.getCFDate(10,30)) && | 1585 | if(kssj> new Date (baseF.getCFDate(10,30)) && |
| 1157 | kssj<new Date (baseF.getCFDate(11,30)) && $_cfn<1 && cfdd == cctag) { | 1586 | kssj<new Date (baseF.getCFDate(11,30)) && $_cfn<1 && cfdd == cctag) { |
| 1158 | $_cfn++; | 1587 | $_cfn++; |
| 1159 | rs.push(baseF.getbcObj( | 1588 | rs.push(baseF.getbcObj( |
| 1160 | - kssj,dataMap.zwcArr[0],cara[c],dataMap.bcTypeArr.cf, | 1589 | + kssj,dataMap.zwcAr r[0],cara[c],dataMap.bcTypeArr.cf, |
| 1161 | dataMap.dira[cctag],xhNo++,0,map,0,null,null,null,0,0));// 午餐班次 | 1590 | dataMap.dira[cctag],xhNo++,0,map,0,null,null,null,0,0));// 午餐班次 |
| 1162 | }else if(kssj> new Date (baseF.getCFDate(18,30)) && | 1591 | }else if(kssj> new Date (baseF.getCFDate(18,30)) && |
| 1163 | kssj<new Date (baseF.getCFDate(19,30)) && $_cfw<1 && cfdd == cctag && | 1592 | kssj<new Date (baseF.getCFDate(19,30)) && $_cfw<1 && cfdd == cctag && |
| @@ -1166,15 +1595,15 @@ var BaseFun = function() { | @@ -1166,15 +1595,15 @@ var BaseFun = function() { | ||
| 1166 | rs.push(baseF.getbcObj( | 1595 | rs.push(baseF.getbcObj( |
| 1167 | kssj,dataMap.zwcArr[1],cara[c],dataMap.bcTypeArr.cf, | 1596 | kssj,dataMap.zwcArr[1],cara[c],dataMap.bcTypeArr.cf, |
| 1168 | dataMap.dira[cctag],xhNo++,0,map,0,null,null,null,0,0));// 晚餐班次 | 1597 | dataMap.dira[cctag],xhNo++,0,map,0,null,null,null,0,0));// 晚餐班次 |
| 1169 | - } | 1598 | + }*/ |
| 1170 | var tzsj = baseF.isgfsjd01(kssj,dataMap) ? dataMap.gftzsj[cctag] : dataMap.dgtzsj[cctag]; | 1599 | var tzsj = baseF.isgfsjd01(kssj,dataMap) ? dataMap.gftzsj[cctag] : dataMap.dgtzsj[cctag]; |
| 1171 | // var tzsj = dataMap.ztjxA[cctag]; | 1600 | // var tzsj = dataMap.ztjxA[cctag]; |
| 1172 | var _xxsj = baseF.getxssj(dataMap.zgfsjd,dataMap.wgfsjd,kssj,dataMap.pcxssjArr,dataMap.gfxxsjArr,cctag);// 获取行驶时间 | 1601 | var _xxsj = baseF.getxssj(dataMap.zgfsjd,dataMap.wgfsjd,kssj,dataMap.pcxssjArr,dataMap.gfxxsjArr,cctag);// 获取行驶时间 |
| 1173 | - tzsj = baseF.isLastbc(kssj,endTime,tzsj,_xxsj) ? 0 : tzsj; | 1602 | + var xs_tzsj = baseF.isLastbc(kssj,endTime,tzsj,_xxsj) ? 0 : tzsj; |
| 1174 | rs.push(baseF.getbcObj( | 1603 | rs.push(baseF.getbcObj( |
| 1175 | kssj,_xxsj,cara[c],dataMap.bcTypeArr.normal, | 1604 | kssj,_xxsj,cara[c],dataMap.bcTypeArr.normal, |
| 1176 | dataMap.dira[cctag],xhNo++,dataMap.pcxslcArr[cctag],map,0, | 1605 | dataMap.dira[cctag],xhNo++,dataMap.pcxslcArr[cctag],map,0, |
| 1177 | - dataMap.qdzArr[cctag],dataMap.zdzArr[cctag],null,tzsj,0));// 正常班次 | 1606 | + dataMap.qdzArr[cctag],dataMap.zdzArr[cctag],null,xs_tzsj,0));// 正常班次 |
| 1178 | kssj = new Date(kssj.setMinutes(kssj.getMinutes() + tzsj)); | 1607 | kssj = new Date(kssj.setMinutes(kssj.getMinutes() + tzsj)); |
| 1179 | } | 1608 | } |
| 1180 | } | 1609 | } |
| @@ -1266,32 +1695,7 @@ var BaseFun = function() { | @@ -1266,32 +1695,7 @@ var BaseFun = function() { | ||
| 1266 | {'type':'无工休', 'hoursV':5.43, 'minueV':'5:43'}]; | 1695 | {'type':'无工休', 'hoursV':5.43, 'minueV':'5:43'}]; |
| 1267 | }, | 1696 | }, |
| 1268 | setbcsAndfcno : function(listA) { | 1697 | setbcsAndfcno : function(listA) { |
| 1269 | - /*var array = new Array(); | ||
| 1270 | - var len = listA.length; | ||
| 1271 | - for(var i =0;i<len;i++) { | ||
| 1272 | - if(array.indexOf(listA[i].lpNo)<0) | ||
| 1273 | - array.push(listA[i].lpNo); | ||
| 1274 | - } | ||
| 1275 | - array.sort(baseF.compare); | ||
| 1276 | - console.log(array); | ||
| 1277 | - var sortGattArray = new Array(); | ||
| 1278 | - for(var k =0;k<array.length;k++) { | ||
| 1279 | - var index = array[k]; | ||
| 1280 | - var temp = new Array(); | ||
| 1281 | - for(var x=0;x<listA.length;x++) { | ||
| 1282 | - if(index==listA[x].lpNo) | ||
| 1283 | - temp.push(listA[x]); | ||
| 1284 | - } | ||
| 1285 | - var lpbc = baseF.sortDirArray(temp); | ||
| 1286 | - for(var p = 0 ;p<lpbc.length;p++) { | ||
| 1287 | - lpbc[p].fcno = (p+1); | ||
| 1288 | - } | ||
| 1289 | - sortGattArray = sortGattArray.concat(lpbc); | ||
| 1290 | - } | ||
| 1291 | - for(var b = 0 ; b <sortGattArray.length;b++) { | ||
| 1292 | - sortGattArray[b].bcs = (b+1); | ||
| 1293 | - } | ||
| 1294 | - return sortGattArray;*/ | 1698 | + |
| 1295 | var array = new Array(); | 1699 | var array = new Array(); |
| 1296 | var len = listA.length; | 1700 | var len = listA.length; |
| 1297 | for(var i =0;i<len;i++) { | 1701 | for(var i =0;i<len;i++) { |
| @@ -1336,8 +1740,8 @@ var BaseFun = function() { | @@ -1336,8 +1740,8 @@ var BaseFun = function() { | ||
| 1336 | var _obj = baseF.getsxAndxxbc(list); | 1740 | var _obj = baseF.getsxAndxxbc(list); |
| 1337 | baseF.tcbc(_obj.sxbc,smbcsj[0].kssj,smbcsj[0].jssj);// 剔除上行不在时间范围内的班次 | 1741 | baseF.tcbc(_obj.sxbc,smbcsj[0].kssj,smbcsj[0].jssj);// 剔除上行不在时间范围内的班次 |
| 1338 | baseF.tcbc(_obj.xxbc,smbcsj[1].kssj,smbcsj[1].jssj);// 剔除下行不在时间范围内的班次 | 1742 | baseF.tcbc(_obj.xxbc,smbcsj[1].kssj,smbcsj[1].jssj);// 剔除下行不在时间范围内的班次 |
| 1339 | - baseF.dzsmsj(_obj.sxbc,smbcsj[0].kssj,smbcsj[0].jssj,_obj.xxbc);// 调整上行首末班车时间 | ||
| 1340 | baseF.dzsmsj(_obj.xxbc,smbcsj[1].kssj,smbcsj[1].jssj,_obj.sxbc);// 调整下行首末班车时间 | 1743 | baseF.dzsmsj(_obj.xxbc,smbcsj[1].kssj,smbcsj[1].jssj,_obj.sxbc);// 调整下行首末班车时间 |
| 1744 | + baseF.dzsmsj(_obj.sxbc,smbcsj[0].kssj,smbcsj[0].jssj,_obj.xxbc);// 调整上行首末班车时间 | ||
| 1341 | baseF.tzqtbc(_obj.sxbc,_obj.qt,sj,cl,zd,lbsj); | 1745 | baseF.tzqtbc(_obj.sxbc,_obj.qt,sj,cl,zd,lbsj); |
| 1342 | baseF.tzqtbc(_obj.xxbc,_obj.qt,sj,cl,zd,lbsj); | 1746 | baseF.tzqtbc(_obj.xxbc,_obj.qt,sj,cl,zd,lbsj); |
| 1343 | return _obj.sxbc.concat(_obj.xxbc).concat(_obj.qt); | 1747 | return _obj.sxbc.concat(_obj.xxbc).concat(_obj.qt); |
| @@ -1353,8 +1757,14 @@ var BaseFun = function() { | @@ -1353,8 +1757,14 @@ var BaseFun = function() { | ||
| 1353 | var _obj = baseF.getsxAndxxbc(list,dm); | 1757 | var _obj = baseF.getsxAndxxbc(list,dm); |
| 1354 | baseF.tcbc(_obj.sxbc,smbcsj[0].kssj,smbcsj[0].jssj ,_obj.xxbc);// 剔除上行不在时间范围内的班次 | 1758 | baseF.tcbc(_obj.sxbc,smbcsj[0].kssj,smbcsj[0].jssj ,_obj.xxbc);// 剔除上行不在时间范围内的班次 |
| 1355 | baseF.tcbc(_obj.xxbc,smbcsj[1].kssj,smbcsj[1].jssj,_obj.sxbc);// 剔除下行不在时间范围内的班次 | 1759 | baseF.tcbc(_obj.xxbc,smbcsj[1].kssj,smbcsj[1].jssj,_obj.sxbc);// 剔除下行不在时间范围内的班次 |
| 1356 | - baseF.dzsmsj(_obj.sxbc,smbcsj[0].kssj,smbcsj[0].jssj,_obj.xxbc);// 调整上行首末班车时间 | ||
| 1357 | - baseF.dzsmsj(_obj.xxbc,smbcsj[1].kssj,smbcsj[1].jssj,_obj.sxbc);// 调整下行首末班车时间 | 1760 | + if(smbcsj[1].jssj < smbcsj[0].jssj ) { |
| 1761 | + baseF.dzsmsj(_obj.xxbc,smbcsj[1].kssj,smbcsj[1].jssj,_obj.sxbc);// 调整下行首末班车时间 | ||
| 1762 | + baseF.dzsmsj(_obj.sxbc,smbcsj[0].kssj,smbcsj[0].jssj,_obj.xxbc);// 调整上行首末班车时间 | ||
| 1763 | + }else { | ||
| 1764 | + baseF.dzsmsj(_obj.sxbc,smbcsj[0].kssj,smbcsj[0].jssj,_obj.xxbc);// 调整上行首末班车时间 | ||
| 1765 | + baseF.dzsmsj(_obj.xxbc,smbcsj[1].kssj,smbcsj[1].jssj,_obj.sxbc);// 调整下行首末班车时间 | ||
| 1766 | + } | ||
| 1767 | + | ||
| 1358 | return _obj.sxbc.concat(_obj.xxbc).concat(_obj.qt); | 1768 | return _obj.sxbc.concat(_obj.xxbc).concat(_obj.qt); |
| 1359 | }, | 1769 | }, |
| 1360 | tcbc : function(ar,kssj,jssj,ppar) { | 1770 | tcbc : function(ar,kssj,jssj,ppar) { |
| @@ -1505,14 +1915,13 @@ var BaseFun = function() { | @@ -1505,14 +1915,13 @@ var BaseFun = function() { | ||
| 1505 | getsxAndxxbc : function(json,dataMap) { | 1915 | getsxAndxxbc : function(json,dataMap) { |
| 1506 | var upArray = new Array(),downArray = new Array(),qt = new Array(); | 1916 | var upArray = new Array(),downArray = new Array(),qt = new Array(); |
| 1507 | for(var j = 0 ; j< json.length ; j++) { | 1917 | for(var j = 0 ; j< json.length ; j++) { |
| 1508 | - //json[j].fcint = baseF.getDateTime(json[j].fcsj).getTime(); | ||
| 1509 | if(json[j].bcType== dataMap.bcTypeArr.normal || | 1918 | if(json[j].bcType== dataMap.bcTypeArr.normal || |
| 1510 | json[j].bcType== dataMap.bcTypeArr.region || | 1919 | json[j].bcType== dataMap.bcTypeArr.region || |
| 1511 | json[j].bcType== dataMap.bcTypeArr.major || | 1920 | json[j].bcType== dataMap.bcTypeArr.major || |
| 1512 | json[j].bcType== dataMap.bcTypeArr.venting) { | 1921 | json[j].bcType== dataMap.bcTypeArr.venting) { |
| 1513 | - if(json[j].xlDir == 'relationshipGraph-up') | 1922 | + if(json[j].xlDir == dataMap.dira[0]) |
| 1514 | upArray.push(json[j]); | 1923 | upArray.push(json[j]); |
| 1515 | - else if(json[j].xlDir == 'relationshipGraph-down') | 1924 | + else if(json[j].xlDir == dataMap.dira[1]) |
| 1516 | downArray.push(json[j]); | 1925 | downArray.push(json[j]); |
| 1517 | }else if(json[j].bcType == dataMap.bcTypeArr.cf) { | 1926 | }else if(json[j].bcType == dataMap.bcTypeArr.cf) { |
| 1518 | qt.push(json[j]); | 1927 | qt.push(json[j]); |
| @@ -1556,8 +1965,10 @@ var BaseFun = function() { | @@ -1556,8 +1965,10 @@ var BaseFun = function() { | ||
| 1556 | kssj, | 1965 | kssj, |
| 1557 | obj.configuration.dataMap.pcxssjArr, | 1966 | obj.configuration.dataMap.pcxssjArr, |
| 1558 | obj.configuration.dataMap.gfxxsjArr,cctag);// 获取行驶时间 | 1967 | obj.configuration.dataMap.gfxxsjArr,cctag);// 获取行驶时间 |
| 1559 | - tzsj = obj.configuration.dataMap.ztjxA[cctag]; | ||
| 1560 | - var temptzsj = t == num-1 ? 0 : tzsj; | 1968 | + // tzsj = obj.configuration.dataMap.ztjxA[cctag]; |
| 1969 | + var tzjx = baseF.isgfsjd01(kssj,obj.configuration.dataMap) ? obj.configuration.dataMap.gftzsj[cctag] : obj.configuration.dataMap.dgtzsj[cctag]; | ||
| 1970 | + var temptzsj = ((t == num-1) ? 0 : tzsj); | ||
| 1971 | + /*var xs_tzsj = baseF.isLastbc(kssj,endTime,tzsj,_xxsj) ? 0 : tzsj;*/ | ||
| 1561 | jsonArray.push(baseF.getbcObj( kssj, | 1972 | jsonArray.push(baseF.getbcObj( kssj, |
| 1562 | _xxsj, | 1973 | _xxsj, |
| 1563 | carArray, | 1974 | carArray, |
| @@ -1570,7 +1981,7 @@ var BaseFun = function() { | @@ -1570,7 +1981,7 @@ var BaseFun = function() { | ||
| 1570 | obj.configuration.dataMap.zdzArr[cctag], | 1981 | obj.configuration.dataMap.zdzArr[cctag], |
| 1571 | null,temptzsj,0)); | 1982 | null,temptzsj,0)); |
| 1572 | // kssj = new Date(kssj.setMinutes(kssj.getMinutes() + temptzsj)); | 1983 | // kssj = new Date(kssj.setMinutes(kssj.getMinutes() + temptzsj)); |
| 1573 | - kssj.setMinutes(kssj.getMinutes() + temptzsj) | 1984 | + kssj.setMinutes(kssj.getMinutes() + tzjx) |
| 1574 | } | 1985 | } |
| 1575 | lastObj.STOPTIME = 10; | 1986 | lastObj.STOPTIME = 10; |
| 1576 | }, | 1987 | }, |
src/main/resources/static/pages/base/timesmodel/js/d3.relationshipgraph.js
| @@ -229,7 +229,7 @@ $('.updownread').on('click',function() { | @@ -229,7 +229,7 @@ $('.updownread').on('click',function() { | ||
| 229 | /************************************************************************************************************************************************/ | 229 | /************************************************************************************************************************************************/ |
| 230 | 230 | ||
| 231 | /** | 231 | /** |
| 232 | - * @description : (TODO) 调整班次点击事件 | 232 | + * @description : (TODO) 班次调整点击事件 |
| 233 | * | 233 | * |
| 234 | * @status OK. | 234 | * @status OK. |
| 235 | ************************************************************************************************************************************************/ | 235 | ************************************************************************************************************************************************/ |
| @@ -417,31 +417,6 @@ $('.editlp').on('click',function() { | @@ -417,31 +417,6 @@ $('.editlp').on('click',function() { | ||
| 417 | }); | 417 | }); |
| 418 | /************************************************************************************************************************************************/ | 418 | /************************************************************************************************************************************************/ |
| 419 | 419 | ||
| 420 | -/** | ||
| 421 | - * @description : (TODO)获取路牌对应的班次数(这里的班次不包括早晚例保班次、吃饭时间) | ||
| 422 | - * | ||
| 423 | - * @params : [a1--班次数组;a2--路牌数组] | ||
| 424 | - * | ||
| 425 | - * @return : 返回一个数组.这里返回的是一个封装的每个路牌对应的班次数(这里的班次不包括早晚例保班次、吃饭时间、班次时间为0的班次) | ||
| 426 | - ************************************************************************************************************************************************/ | ||
| 427 | -var getbczs = function (a1,a2) { | ||
| 428 | - var array = new Array(); | ||
| 429 | - // 1、遍历路牌数组 | ||
| 430 | - for(var i = 0;i<a2.length;i++) { | ||
| 431 | - var bcs = 0; | ||
| 432 | - // 2、遍历班次数组 | ||
| 433 | - for(var j =0;j<a1.length;j++) { | ||
| 434 | - // 3、判断当前班次j是否属于当前路牌i下,除去早晚例保班次、吃饭时间、班次时间为0的班次 | ||
| 435 | - if(a1[j].parent == a2[i].lpA.lpNo && a1[j].bcType!='bd' && a1[j].bcType!='lc' && a1[j].bcType!='cf' && a1[j].bcsj>0) | ||
| 436 | - bcs++; | ||
| 437 | - } | ||
| 438 | - // 4、把每个路牌下的对应班次数一一封装在一起,并添加到返回数组里边 | ||
| 439 | - array.push({lpNo:a2[i].lpA.lpNo,bcs:bcs}); | ||
| 440 | - } | ||
| 441 | - return array; | ||
| 442 | -} | ||
| 443 | -/************************************************************************************************************************************************/ | ||
| 444 | - | ||
| 445 | 420 | ||
| 446 | /** | 421 | /** |
| 447 | * d3动画过度 | 422 | * d3动画过度 |
| @@ -647,7 +622,6 @@ var RelationshipGraph = function () { | @@ -647,7 +622,6 @@ var RelationshipGraph = function () { | ||
| 647 | .ordinal() | 622 | .ordinal() |
| 648 | .domain(this.configuration.lpNameA) | 623 | .domain(this.configuration.lpNameA) |
| 649 | .rangeRoundBands([ 0, this.configuration.height], .1); | 624 | .rangeRoundBands([ 0, this.configuration.height], .1); |
| 650 | - | ||
| 651 | this.configuration.y = y; | 625 | this.configuration.y = y; |
| 652 | // 创建X轴 | 626 | // 创建X轴 |
| 653 | var xAxis = d3.svg | 627 | var xAxis = d3.svg |
| @@ -733,7 +707,7 @@ var RelationshipGraph = function () { | @@ -733,7 +707,7 @@ var RelationshipGraph = function () { | ||
| 733 | yAxisYArray.splice(0,yAxisYArray.length); | 707 | yAxisYArray.splice(0,yAxisYArray.length); |
| 734 | for(var t = 0;t<this.configuration.taskTypes.length;t++) { | 708 | for(var t = 0;t<this.configuration.taskTypes.length;t++) { |
| 735 | yAxisYArray.push({ | 709 | yAxisYArray.push({ |
| 736 | - y:y(this.configuration.taskTypes[t].lpNo)+this.configuration.offsetY, | 710 | + y:y(this.configuration.taskTypes[t].lpName)+this.configuration.offsetY, |
| 737 | carname:this.configuration.taskTypes[t].lpName, | 711 | carname:this.configuration.taskTypes[t].lpName, |
| 738 | lpA : this.configuration.taskTypes[t]}); | 712 | lpA : this.configuration.taskTypes[t]}); |
| 739 | } | 713 | } |
| @@ -938,6 +912,44 @@ var RelationshipGraph = function () { | @@ -938,6 +912,44 @@ var RelationshipGraph = function () { | ||
| 938 | return dataArray; | 912 | return dataArray; |
| 939 | } | 913 | } |
| 940 | }, { | 914 | }, { |
| 915 | + /** | ||
| 916 | + * @description : (TODO) 获取路牌对应的班次数(这里的班次不包括早晚例保班次、吃饭时间) | ||
| 917 | + * | ||
| 918 | + * @params : [a1--班次数组;a2--路牌数组] | ||
| 919 | + * | ||
| 920 | + * @return : 返回一个数组.这里返回的是一个封装的每个路牌对应的班次数(这里的班次不包括早晚例保班次、吃饭时间、班次时间为0的班次) | ||
| 921 | + **/ | ||
| 922 | + key : 'getbczs', | ||
| 923 | + value : function getbczs(a1,a2,dataMap) { | ||
| 924 | + // 定义返回数组. | ||
| 925 | + var array = new Array(); | ||
| 926 | + // 判断参数数组长度大于〇,dataMap不能为空. | ||
| 927 | + if(a1.length>0 && a2.length>0 && dataMap!=null && dataMap!='') { | ||
| 928 | + // 遍历路牌数组 | ||
| 929 | + for(var i = 0 ;i < a2.length ; i++) { | ||
| 930 | + // 定义当前路牌下班次数,初始化为0. | ||
| 931 | + var bcs = 0; | ||
| 932 | + // 遍历班次数组 | ||
| 933 | + for(var j = 0 ; j < a1.length ; j++) { | ||
| 934 | + // 判断当前班次j是否属于当前路牌i下,除去早晚例保班次、吃饭时间、班次时间为0的班次 | ||
| 935 | + if(a1[j].parent == a2[i].lpA.lpNo && | ||
| 936 | + a1[j].bcType != dataMap.bcTypeArr.bd && | ||
| 937 | + a1[j].bcType != dataMap.bcTypeArr.lc && | ||
| 938 | + a1[j].bcType != dataMap.bcTypeArr.cf && | ||
| 939 | + a1[j].bcsj > 0) { | ||
| 940 | + bcs++; | ||
| 941 | + } | ||
| 942 | + } | ||
| 943 | + // 把每个路牌下的对应班次数一一封装在一起,并添加到返回数组里边 | ||
| 944 | + array.push({lpNo : a2[i].lpA.lpNo , lpName:a2[i].lpA.lpName , bcs:bcs}); | ||
| 945 | + } | ||
| 946 | + }else { | ||
| 947 | + error.show('参数异常!','【 a1:' + a1 + ' , a2:' + a2 + ' , dataMap:' + dataMap + '】'); | ||
| 948 | + // console.log("您传入的参数异常!【 a1:" + a1 + ", a2:" + a2 + ", dataMap:" + dataMap); | ||
| 949 | + } | ||
| 950 | + return array; | ||
| 951 | + } | ||
| 952 | + }, { | ||
| 941 | key : 'addHistory' , | 953 | key : 'addHistory' , |
| 942 | value : function addHistory() { | 954 | value : function addHistory() { |
| 943 | historyArray.push({'data':JSON.stringify(this.getDataArray()),'granph':JSON.stringify(this.configuration)}); | 955 | historyArray.push({'data':JSON.stringify(this.getDataArray()),'granph':JSON.stringify(this.configuration)}); |
| @@ -947,11 +959,30 @@ var RelationshipGraph = function () { | @@ -947,11 +959,30 @@ var RelationshipGraph = function () { | ||
| 947 | key : 'statistics', | 959 | key : 'statistics', |
| 948 | value : function statistics() { | 960 | value : function statistics() { |
| 949 | var $_this = this, | 961 | var $_this = this, |
| 950 | - array = $_this.getSvgyAxisTransformY(), | ||
| 951 | - gdata = d3.selectAll('rect.data')[0], | ||
| 952 | - arrayTemp = new Array(), | ||
| 953 | - minValue = 0,timeNum; | 962 | + // array = $_this.getSvgyAxisTransformY(), |
| 963 | + array = $_this.configuration.taskTypes, | ||
| 964 | + tza = $_this.getDataArray(); | ||
| 954 | for(var a=0;a<array.length;a++) { | 965 | for(var a=0;a<array.length;a++) { |
| 966 | + var lpNo = array[a].lpNo; | ||
| 967 | + var timeNum = 0 ,tempNum = 0; | ||
| 968 | + for(var z = 0 ;z < tza.length;z++) { | ||
| 969 | + if(tza[z].lpNo == lpNo) { | ||
| 970 | + timeNum = timeNum + tza[z].bcsj + tza[z].STOPTIME; | ||
| 971 | + tempNum ++; | ||
| 972 | + } | ||
| 973 | + } | ||
| 974 | + var className = 'statis_container_' + lpNo; | ||
| 975 | + var textNodes = $("."+className).children("text"); | ||
| 976 | + var hours = parseInt(timeNum/60); | ||
| 977 | + var mimus = timeNum%60, zgs = hours + (mimus==0? "": "." + mimus); | ||
| 978 | + var zgs = parseFloat((timeNum/60).toFixed(2)); | ||
| 979 | + // var zgs = timeNum; | ||
| 980 | + $(textNodes[0]).text("总工时:" + zgs); | ||
| 981 | + $(textNodes[1]).text("总班次:"+(tempNum)); | ||
| 982 | + // $_this.pptjbx($("."+className).children("rect")[2],zgs*1,lpNo,$_this); | ||
| 983 | + } | ||
| 984 | + /*for(var a=0;a<array.length;a++) { | ||
| 985 | + debugger; | ||
| 955 | var tempNum = 0,timeNum = 0,lpNo = ''; | 986 | var tempNum = 0,timeNum = 0,lpNo = ''; |
| 956 | for(var g = 0 ; g <gdata.length;g++) { | 987 | for(var g = 0 ; g <gdata.length;g++) { |
| 957 | var temp_i = parseInt(d3.select(gdata[g]).attr('y'))-this.configuration.offsetY; | 988 | var temp_i = parseInt(d3.select(gdata[g]).attr('y'))-this.configuration.offsetY; |
| @@ -968,13 +999,14 @@ var RelationshipGraph = function () { | @@ -968,13 +999,14 @@ var RelationshipGraph = function () { | ||
| 968 | minValue = array[a]; | 999 | minValue = array[a]; |
| 969 | var className = 'statis_container_' + array[a]; | 1000 | var className = 'statis_container_' + array[a]; |
| 970 | var textNodes = $("."+className).children("text"); | 1001 | var textNodes = $("."+className).children("text"); |
| 971 | - /*var hours = parseInt(timeNum/60); | ||
| 972 | - var mimus = timeNum%60,zgs = hours + (mimus==0? "": "." + mimus);*/ | 1002 | + var hours = parseInt(timeNum/60); |
| 1003 | + var mimus = timeNum%60,zgs = hours + (mimus==0? "": "." + mimus); | ||
| 973 | var zgs = parseFloat((timeNum/60).toFixed(2)); | 1004 | var zgs = parseFloat((timeNum/60).toFixed(2)); |
| 1005 | + var zgs = timeNum; | ||
| 974 | $(textNodes[0]).text("总工时:" + zgs); | 1006 | $(textNodes[0]).text("总工时:" + zgs); |
| 975 | $(textNodes[1]).text("总班次:"+(tempNum)); | 1007 | $(textNodes[1]).text("总班次:"+(tempNum)); |
| 976 | $_this.pptjbx($("."+className).children("rect")[2],zgs*1,lpNo,$_this); | 1008 | $_this.pptjbx($("."+className).children("rect")[2],zgs*1,lpNo,$_this); |
| 977 | - } | 1009 | + }*/ |
| 978 | } | 1010 | } |
| 979 | 1011 | ||
| 980 | }, { | 1012 | }, { |
| @@ -1025,11 +1057,12 @@ var RelationshipGraph = function () { | @@ -1025,11 +1057,12 @@ var RelationshipGraph = function () { | ||
| 1025 | value : function createStatistics() { | 1057 | value : function createStatistics() { |
| 1026 | var svg = d3.select('.gantt-chart'), | 1058 | var svg = d3.select('.gantt-chart'), |
| 1027 | _this = this, | 1059 | _this = this, |
| 1028 | - array = _this.getSvgyAxisTransformY(); | 1060 | + yAyxisA = _this.getSvgyAxisTransformY(); |
| 1061 | + array = _this.configuration.taskTypes; | ||
| 1029 | var g_statis = svg.selectAll('.g_statis').data([1]).enter().append('g').classed({'g_statis':true}).attr("transform", "translate(" + _this.configuration.offsetX + ", " + _this.configuration.offsetY + ")"); | 1062 | var g_statis = svg.selectAll('.g_statis').data([1]).enter().append('g').classed({'g_statis':true}).attr("transform", "translate(" + _this.configuration.offsetX + ", " + _this.configuration.offsetY + ")"); |
| 1030 | for(var c = 0 ;c<array.length;c++) { | 1063 | for(var c = 0 ;c<array.length;c++) { |
| 1031 | - var className = 'statis_container_' + array[c]; | ||
| 1032 | - var statis_container = g_statis.append('g').attr("class",className).attr("transform", "translate(" + 0 + ", " + array[c] + ")"); | 1064 | + var className = 'statis_container_' + array[c].lpNo; |
| 1065 | + var statis_container = g_statis.append('g').attr("class",className).attr("transform", "translate(" + 0 + ", " + yAyxisA[c] + ")"); | ||
| 1033 | statis_container.append('rect').classed({'rect_shift':true}) | 1066 | statis_container.append('rect').classed({'rect_shift':true}) |
| 1034 | .attr("x",-_this.configuration.offsetX) | 1067 | .attr("x",-_this.configuration.offsetX) |
| 1035 | .attr("y",9) | 1068 | .attr("y",9) |
| @@ -1255,34 +1288,44 @@ var RelationshipGraph = function () { | @@ -1255,34 +1288,44 @@ var RelationshipGraph = function () { | ||
| 1255 | } | 1288 | } |
| 1256 | } | 1289 | } |
| 1257 | }, { | 1290 | }, { |
| 1291 | + /** | ||
| 1292 | + * 均匀发车间隙 | ||
| 1293 | + * | ||
| 1294 | + */ | ||
| 1258 | key : 'updownread01', | 1295 | key : 'updownread01', |
| 1259 | value : function updownread01() { | 1296 | value : function updownread01() { |
| 1260 | - // 1、获取所有班次数. | ||
| 1261 | var list = $_GlobalGraph.getDataArray(); | 1297 | var list = $_GlobalGraph.getDataArray(); |
| 1262 | var dataMap = $_GlobalGraph.configuration.dataMap; | 1298 | var dataMap = $_GlobalGraph.configuration.dataMap; |
| 1263 | - var rsmap = BaseFun.getsxAndxxbc(list,dataMap); | ||
| 1264 | var cara = $_GlobalGraph.configuration.taskTypes; | 1299 | var cara = $_GlobalGraph.configuration.taskTypes; |
| 1265 | - var jar01 = rsmap.qt.concat(rsmap.sxbc).concat(rsmap.xxbc); | ||
| 1266 | - BaseFun.jhfcjx01(jar01,dataMap); | ||
| 1267 | - var jar = BaseFun.tzsmbcsj01( | ||
| 1268 | - BaseFun.setbcsAndfcno(BaseFun.tzsmbcsj01(BaseFun.setbcsAndfcno(BaseFun.tzsztest(cara,jar01,dataMap)),dataMap.smbcsjArr,dataMap.ccsjArr,dataMap.cclcArr,dataMap.qdzArr,dataMap.lbsj,dataMap)), | ||
| 1269 | - dataMap.smbcsjArr,dataMap.ccsjArr,dataMap.cclcArr,dataMap.qdzArr,dataMap.lbsj,dataMap); | ||
| 1270 | - var resultJA = new Array(); | ||
| 1271 | - for(var m = 0 ; m < cara.length; m++) { | ||
| 1272 | - // 获取路牌编号. | ||
| 1273 | - var lpNo_ = cara[m].lpNo; | ||
| 1274 | - // 定义路牌下的所有班次. | ||
| 1275 | - var lpbc_ = new Array(); | ||
| 1276 | - // 遍历班次数. | ||
| 1277 | - for(var x =0 ; x <jar.length; x++) { | ||
| 1278 | - // 判断当期遍历的班次是否属于当前的路牌. | ||
| 1279 | - if(jar[x].lpNo == lpNo_) | ||
| 1280 | - lpbc_.push(jar[x]); | ||
| 1281 | - } | ||
| 1282 | - // 按照发车序号顺序排序. | ||
| 1283 | - lpbc_.sort(function(a,b){return a.fcno-b.fcno}); | ||
| 1284 | - resultJA = resultJA.concat(BaseFun.addjclbbc01(lpbc_,dataMap,dataMap.lbsj,dataMap.map)); | ||
| 1285 | - } | 1300 | + var bxrcgs = $_GlobalGraph.configuration.bxrcgs; |
| 1301 | + var resultJA = new Array(); | ||
| 1302 | + if(list.length !=0 && dataMap!=null && dataMap!='' && cara.length !=0) { | ||
| 1303 | + var rsmap = BaseFun.getsxAndxxbc(list,dataMap); | ||
| 1304 | + var jar01 = rsmap.qt.concat(rsmap.sxbc).concat(rsmap.xxbc); | ||
| 1305 | + BaseFun.jhfcjx01(jar01,dataMap); | ||
| 1306 | + var jar = BaseFun.tzsmbcsj01( | ||
| 1307 | + BaseFun.setbcsAndfcno(BaseFun.tzsmbcsj01(BaseFun.setbcsAndfcno(BaseFun.tzsztest(cara,jar01,dataMap)),dataMap.smbcsjArr,dataMap.ccsjArr,dataMap.cclcArr,dataMap.qdzArr,dataMap.lbsj,dataMap)), | ||
| 1308 | + dataMap.smbcsjArr,dataMap.ccsjArr,dataMap.cclcArr,dataMap.qdzArr,dataMap.lbsj,dataMap); | ||
| 1309 | + for(var r = 0 ; r < bxrcgs.length; r++) { | ||
| 1310 | + var lpNo = bxrcgs[r].lpNo; | ||
| 1311 | + var gsv = 0 , bczs = 0; | ||
| 1312 | + for(var g = 0 ; g< jar.length; g++) { | ||
| 1313 | + if(jar[g].lpNo == lpNo) { | ||
| 1314 | + gsv = gsv + jar[g].bcsj + jar[g].STOPTIME; | ||
| 1315 | + bczs++; | ||
| 1316 | + } | ||
| 1317 | + } | ||
| 1318 | + bxrcgs[r].sjgsV = gsv; | ||
| 1319 | + bxrcgs[r].bczs = bczs; | ||
| 1320 | + } | ||
| 1321 | + var jar3 = BaseFun.dqbcsAndgs(bxrcgs,jar,dataMap,cara.length); | ||
| 1322 | + var rsjar = BaseFun.tzsztest(cara,jar3,dataMap); | ||
| 1323 | + resultJA = BaseFun.addjcclcbc01(cara,rsjar,dataMap,$_GlobalGraph.configuration.stopAraay,dataMap.map); | ||
| 1324 | + } else { | ||
| 1325 | + resultJA = list; | ||
| 1326 | + error.show('参数异常!','【 list:' + list + ' , dataMap:' | ||
| 1327 | + + dataMap + ' , cara:' + cara + ' , bxrcgs:' + bxrcgs + '】'); | ||
| 1328 | + } | ||
| 1286 | // 删除图形. | 1329 | // 删除图形. |
| 1287 | $('svg.svg-chart').remove(); | 1330 | $('svg.svg-chart').remove(); |
| 1288 | // 重新创建图形. | 1331 | // 重新创建图形. |
| @@ -1389,7 +1432,7 @@ var RelationshipGraph = function () { | @@ -1389,7 +1432,7 @@ var RelationshipGraph = function () { | ||
| 1389 | } | 1432 | } |
| 1390 | }, { | 1433 | }, { |
| 1391 | /** | 1434 | /** |
| 1392 | - * @description : (TODO) 调整班次函数. | 1435 | + * @description : (TODO) 班次调整函数. |
| 1393 | * | 1436 | * |
| 1394 | * @status OK. | 1437 | * @status OK. |
| 1395 | * */ | 1438 | * */ |
| @@ -1398,7 +1441,9 @@ var RelationshipGraph = function () { | @@ -1398,7 +1441,9 @@ var RelationshipGraph = function () { | ||
| 1398 | // 弹出层mobal页面 | 1441 | // 弹出层mobal页面 |
| 1399 | $.get('/pages/base/timesmodel/bctz.html', function(m){ | 1442 | $.get('/pages/base/timesmodel/bctz.html', function(m){ |
| 1400 | $(pjaxContainer).append(m); | 1443 | $(pjaxContainer).append(m); |
| 1401 | - $('#tzbc_mobal').trigger('tzbcMobal.show',[$_GlobalGraph,getbczs($_GlobalGraph.getDataArray(),yAxisYArray),BaseFun]); | 1444 | + // 获取各路牌下的班次数 |
| 1445 | + var lpbcs = $_GlobalGraph.getbczs($_GlobalGraph.getDataArray() , yAxisYArray , $_GlobalGraph.configuration.dataMap); | ||
| 1446 | + $('#tzbc_mobal').trigger('tzbcMobal.show',[$_GlobalGraph , lpbcs , BaseFun , ErrorInfo]); | ||
| 1402 | }); | 1447 | }); |
| 1403 | } | 1448 | } |
| 1404 | 1449 | ||
| @@ -1527,7 +1572,8 @@ var RelationshipGraph = function () { | @@ -1527,7 +1572,8 @@ var RelationshipGraph = function () { | ||
| 1527 | key : 'setIdValue', | 1572 | key : 'setIdValue', |
| 1528 | value : function setIdValue(obj) { | 1573 | value : function setIdValue(obj) { |
| 1529 | // 设置id属性值. 由一个 常量字符串 + 班次数 + 常量字符串 + 发车序号 + 常量字符 + 对应的y轴值. | 1574 | // 设置id属性值. 由一个 常量字符串 + 班次数 + 常量字符串 + 发车序号 + 常量字符 + 对应的y轴值. |
| 1530 | - return 'shift-rect-' + obj.bcs + '_' + obj.fcno + '_' + $_GlobalGraph.configuration.y(obj.parent); | 1575 | + // return 'shift-rect-' + obj.bcs + '_' + obj.fcno + '_' + $_GlobalGraph.configuration.y(obj.parent); |
| 1576 | + return 'shift-rect-' + obj.bcs + '_' + obj.fcno + '_' + $_GlobalGraph.configuration.y(obj.lpName); | ||
| 1531 | } | 1577 | } |
| 1532 | }, { | 1578 | }, { |
| 1533 | /** | 1579 | /** |
| @@ -1615,7 +1661,8 @@ var RelationshipGraph = function () { | @@ -1615,7 +1661,8 @@ var RelationshipGraph = function () { | ||
| 1615 | * */ | 1661 | * */ |
| 1616 | key : 'setRectParenNodeIdV', | 1662 | key : 'setRectParenNodeIdV', |
| 1617 | value : function setRectParenNodeIdV(obj) { | 1663 | value : function setRectParenNodeIdV(obj) { |
| 1618 | - return 'parent_' + $_GlobalGraph.configuration.y(obj.parent) + '_' + obj.bcs + "_node_" + obj.fcno; | 1664 | + // return 'parent_' + $_GlobalGraph.configuration.y(obj.parent) + '_' + obj.bcs + "_node_" + obj.fcno; |
| 1665 | + return 'parent_' + $_GlobalGraph.configuration.y(obj.lpName) + '_' + obj.bcs + "_node_" + obj.fcno; | ||
| 1619 | } | 1666 | } |
| 1620 | }, { | 1667 | }, { |
| 1621 | /** | 1668 | /** |
| @@ -1629,7 +1676,8 @@ var RelationshipGraph = function () { | @@ -1629,7 +1676,8 @@ var RelationshipGraph = function () { | ||
| 1629 | * */ | 1676 | * */ |
| 1630 | key : 'setNextNodeIdV', | 1677 | key : 'setNextNodeIdV', |
| 1631 | value : function setNextNodeIdV(obj) { | 1678 | value : function setNextNodeIdV(obj) { |
| 1632 | - return "shift-rect-" + (obj.bcs+1) + '_' + (obj.fcno+1) + '_' + $_GlobalGraph.configuration.y(obj.parent); | 1679 | + // return "shift-rect-" + (obj.bcs+1) + '_' + (obj.fcno+1) + '_' + $_GlobalGraph.configuration.y(obj.parent); |
| 1680 | + return "shift-rect-" + (obj.bcs+1) + '_' + (obj.fcno+1) + '_' + $_GlobalGraph.configuration.y(obj.lpName); | ||
| 1633 | } | 1681 | } |
| 1634 | }, { | 1682 | }, { |
| 1635 | /** | 1683 | /** |
| @@ -1643,7 +1691,8 @@ var RelationshipGraph = function () { | @@ -1643,7 +1691,8 @@ var RelationshipGraph = function () { | ||
| 1643 | * */ | 1691 | * */ |
| 1644 | key : 'setLastNodeIdV', | 1692 | key : 'setLastNodeIdV', |
| 1645 | value : function setLastNodeIdV(obj) { | 1693 | value : function setLastNodeIdV(obj) { |
| 1646 | - return "shift-rect-" + (obj.bcs-1) + '_' + (obj.fcno-1)+ '_' + $_GlobalGraph.configuration.y(obj.parent); | 1694 | + // return "shift-rect-" + (obj.bcs-1) + '_' + (obj.fcno-1)+ '_' + $_GlobalGraph.configuration.y(obj.parent); |
| 1695 | + return "shift-rect-" + (obj.bcs-1) + '_' + (obj.fcno-1)+ '_' + $_GlobalGraph.configuration.y(obj.lpName); | ||
| 1647 | } | 1696 | } |
| 1648 | }, { | 1697 | }, { |
| 1649 | /** | 1698 | /** |
| @@ -1671,7 +1720,8 @@ var RelationshipGraph = function () { | @@ -1671,7 +1720,8 @@ var RelationshipGraph = function () { | ||
| 1671 | * */ | 1720 | * */ |
| 1672 | key : 'setText01IdV', | 1721 | key : 'setText01IdV', |
| 1673 | value : function setText01IdV(obj) { | 1722 | value : function setText01IdV(obj) { |
| 1674 | - return "shift-rect-text01-" + obj.bcs + '_' + obj.fcno + $_GlobalGraph.configuration.y(obj.parent); | 1723 | + // return "shift-rect-text01-" + obj.bcs + '_' + obj.fcno + $_GlobalGraph.configuration.y(obj.parent); |
| 1724 | + return "shift-rect-text01-" + obj.bcs + '_' + obj.fcno + $_GlobalGraph.configuration.y(obj.lpName); | ||
| 1675 | } | 1725 | } |
| 1676 | }, { | 1726 | }, { |
| 1677 | /** | 1727 | /** |
| @@ -1755,7 +1805,8 @@ var RelationshipGraph = function () { | @@ -1755,7 +1805,8 @@ var RelationshipGraph = function () { | ||
| 1755 | * */ | 1805 | * */ |
| 1756 | key : 'setCircleIdV', | 1806 | key : 'setCircleIdV', |
| 1757 | value : function setCircleIdV(obj) { | 1807 | value : function setCircleIdV(obj) { |
| 1758 | - return "shift-rect-circle-" + obj.bcs + '_' + obj.fcno + $_GlobalGraph.configuration.y(obj.parent); | 1808 | + // return "shift-rect-circle-" + obj.bcs + '_' + obj.fcno + $_GlobalGraph.configuration.y(obj.parent); |
| 1809 | + return "shift-rect-circle-" + obj.bcs + '_' + obj.fcno + $_GlobalGraph.configuration.y(obj.lpName); | ||
| 1759 | } | 1810 | } |
| 1760 | }, { | 1811 | }, { |
| 1761 | /** | 1812 | /** |
| @@ -1833,7 +1884,8 @@ var RelationshipGraph = function () { | @@ -1833,7 +1884,8 @@ var RelationshipGraph = function () { | ||
| 1833 | * */ | 1884 | * */ |
| 1834 | key : 'setText02IdV', | 1885 | key : 'setText02IdV', |
| 1835 | value : function setText02IdV(obj) { | 1886 | value : function setText02IdV(obj) { |
| 1836 | - return "shift-rect-text02-" + obj.bcs + '_' + obj.fcno + $_GlobalGraph.configuration.y(obj.parent); | 1887 | + // return "shift-rect-text02-" + obj.bcs + '_' + obj.fcno + $_GlobalGraph.configuration.y(obj.parent); |
| 1888 | + return "shift-rect-text02-" + obj.bcs + '_' + obj.fcno + $_GlobalGraph.configuration.y(obj.lpName); | ||
| 1837 | } | 1889 | } |
| 1838 | }, { | 1890 | }, { |
| 1839 | /** | 1891 | /** |
| @@ -1873,7 +1925,9 @@ var RelationshipGraph = function () { | @@ -1873,7 +1925,9 @@ var RelationshipGraph = function () { | ||
| 1873 | * */ | 1925 | * */ |
| 1874 | key : 'setText03IdV', | 1926 | key : 'setText03IdV', |
| 1875 | value : function setText03IdV(obj) { | 1927 | value : function setText03IdV(obj) { |
| 1876 | - return "shift-rect-text03-" + obj.bcs + '_' + obj.fcno + $_GlobalGraph.configuration.y(obj.parent); | 1928 | + /*return "shift-rect-text03-" + obj.bcs + '_' + obj.fcno + $_GlobalGraph.configuration.y(obj.parent);*/ |
| 1929 | + return "shift-rect-text03-" + obj.bcs + '_' + obj.fcno + $_GlobalGraph.configuration.y(obj.lpName); | ||
| 1930 | + | ||
| 1877 | } | 1931 | } |
| 1878 | }, { | 1932 | }, { |
| 1879 | /** | 1933 | /** |
| @@ -1911,7 +1965,8 @@ var RelationshipGraph = function () { | @@ -1911,7 +1965,8 @@ var RelationshipGraph = function () { | ||
| 1911 | * */ | 1965 | * */ |
| 1912 | key : 'setText04IdV', | 1966 | key : 'setText04IdV', |
| 1913 | value : function (obj) { | 1967 | value : function (obj) { |
| 1914 | - return "shift-rect-text04-" + obj.bcs + '_' + obj.fcno + $_GlobalGraph.configuration.y(obj.parent); | 1968 | + /*return "shift-rect-text04-" + obj.bcs + '_' + obj.fcno + $_GlobalGraph.configuration.y(obj.parent);*/ |
| 1969 | + return "shift-rect-text04-" + obj.bcs + '_' + obj.fcno + $_GlobalGraph.configuration.y(obj.lpName); | ||
| 1915 | } | 1970 | } |
| 1916 | }, { | 1971 | }, { |
| 1917 | /** | 1972 | /** |
| @@ -2011,7 +2066,8 @@ var RelationshipGraph = function () { | @@ -2011,7 +2066,8 @@ var RelationshipGraph = function () { | ||
| 2011 | * */ | 2066 | * */ |
| 2012 | key : 'setCoverRectIdV', | 2067 | key : 'setCoverRectIdV', |
| 2013 | value : function setCoverRectIdV(obj) { | 2068 | value : function setCoverRectIdV(obj) { |
| 2014 | - return "shift-rect-cover-" + obj.bcs + '_' + obj.fcno + $_GlobalGraph.configuration.y(obj.parent); | 2069 | + /*return "shift-rect-cover-" + obj.bcs + '_' + obj.fcno + $_GlobalGraph.configuration.y(obj.parent);*/ |
| 2070 | + return "shift-rect-cover-" + obj.bcs + '_' + obj.fcno + $_GlobalGraph.configuration.y(obj.lpName); | ||
| 2015 | } | 2071 | } |
| 2016 | }, { | 2072 | }, { |
| 2017 | /** | 2073 | /** |
| @@ -2039,7 +2095,8 @@ var RelationshipGraph = function () { | @@ -2039,7 +2095,8 @@ var RelationshipGraph = function () { | ||
| 2039 | * */ | 2095 | * */ |
| 2040 | key : 'setCoverRectParentV', | 2096 | key : 'setCoverRectParentV', |
| 2041 | value : function setCoverRectParentV(obj) { | 2097 | value : function setCoverRectParentV(obj) { |
| 2042 | - return "shift-rect-" + obj.bcs + '_' + obj.fcno + '_' + $_GlobalGraph.configuration.y(obj.parent) + '-cover'; | 2098 | + //return "shift-rect-" + obj.bcs + '_' + obj.fcno + '_' + $_GlobalGraph.configuration.y(obj.parent) + '-cover'; |
| 2099 | + return "shift-rect-" + obj.bcs + '_' + obj.fcno + '_' + $_GlobalGraph.configuration.y(obj.lpName) + '-cover'; | ||
| 2043 | } | 2100 | } |
| 2044 | }, { | 2101 | }, { |
| 2045 | /** | 2102 | /** |
| @@ -2053,7 +2110,8 @@ var RelationshipGraph = function () { | @@ -2053,7 +2110,8 @@ var RelationshipGraph = function () { | ||
| 2053 | * */ | 2110 | * */ |
| 2054 | key : 'setCoverRectLastIdV', | 2111 | key : 'setCoverRectLastIdV', |
| 2055 | value : function setCoverRectLastIdV(obj) { | 2112 | value : function setCoverRectLastIdV(obj) { |
| 2056 | - return "shift-rect-cover-" + obj.bcs + '_' + (obj.fcno+1) + $_GlobalGraph.configuration.y(obj.parent); | 2113 | + // return "shift-rect-cover-" + obj.bcs + '_' + (obj.fcno+1) + $_GlobalGraph.configuration.y(obj.parent); |
| 2114 | + return "shift-rect-cover-" + obj.bcs + '_' + (obj.fcno+1) + $_GlobalGraph.configuration.y(obj.lpName); | ||
| 2057 | } | 2115 | } |
| 2058 | }, { | 2116 | }, { |
| 2059 | key : 'mouseUpEvent', | 2117 | key : 'mouseUpEvent', |
| @@ -2442,9 +2500,11 @@ var RelationshipGraph = function () { | @@ -2442,9 +2500,11 @@ var RelationshipGraph = function () { | ||
| 2442 | for(var s = 0 ; s < len ; s++) { | 2500 | for(var s = 0 ; s < len ; s++) { |
| 2443 | var rectNodesAttr = RelationshipGraph.getContextNodeAndData(d3.select(shiftRectA[s]).attr('id')); | 2501 | var rectNodesAttr = RelationshipGraph.getContextNodeAndData(d3.select(shiftRectA[s]).attr('id')); |
| 2444 | if(rectNodesAttr.dqbcData.STOPTIME<0) { | 2502 | if(rectNodesAttr.dqbcData.STOPTIME<0) { |
| 2445 | - var nextTzsjDx = $_GlobalGraph.configuration.dataMap.minztjx - rectNodesAttr.dqbcData.STOPTIME; | 2503 | + // var nextTzsjDx = $_GlobalGraph.configuration.dataMap.minztjx - rectNodesAttr.dqbcData.STOPTIME; |
| 2504 | + var nextTzsjDx = 0 - rectNodesAttr.dqbcData.STOPTIME; | ||
| 2446 | // 修改遍历的当前元素数据的停站时间为最小停站时间. | 2505 | // 修改遍历的当前元素数据的停站时间为最小停站时间. |
| 2447 | - rectNodesAttr.dqbcData.STOPTIME = $_GlobalGraph.configuration.dataMap.minztjx; | 2506 | + // rectNodesAttr.dqbcData.STOPTIME = $_GlobalGraph.configuration.dataMap.minztjx; |
| 2507 | + rectNodesAttr.dqbcData.STOPTIME = 0; | ||
| 2448 | // 修改遍历的当前元素数据的文本展示停站时间 | 2508 | // 修改遍历的当前元素数据的文本展示停站时间 |
| 2449 | for(var t = 0 ; t < rectNodesAttr.dqbctextNodes.length ; t++) { | 2509 | for(var t = 0 ; t < rectNodesAttr.dqbctextNodes.length ; t++) { |
| 2450 | if(d3.select(rectNodesAttr.dqbctextNodes[t]).attr('text-type')=='gap') | 2510 | if(d3.select(rectNodesAttr.dqbctextNodes[t]).attr('text-type')=='gap') |
| @@ -2467,6 +2527,7 @@ var RelationshipGraph = function () { | @@ -2467,6 +2527,7 @@ var RelationshipGraph = function () { | ||
| 2467 | * 修改下个班次的元素坐标属性值 | 2527 | * 修改下个班次的元素坐标属性值 |
| 2468 | * | 2528 | * |
| 2469 | * */ | 2529 | * */ |
| 2530 | + | ||
| 2470 | rectNodesAttr.nextbcNode.attr('x',$_x); | 2531 | rectNodesAttr.nextbcNode.attr('x',$_x); |
| 2471 | var rectCover = d3.select(d3.selectAll('rect[parent-node='+ rectNodesAttr.nextbcNodeId + '-cover' +']')[0][0]); | 2532 | var rectCover = d3.select(d3.selectAll('rect[parent-node='+ rectNodesAttr.nextbcNodeId + '-cover' +']')[0][0]); |
| 2472 | rectCover.attr('x',$_x); | 2533 | rectCover.attr('x',$_x); |
| @@ -2962,7 +3023,7 @@ var RelationshipGraph = function () { | @@ -2962,7 +3023,7 @@ var RelationshipGraph = function () { | ||
| 2962 | nowDate.setMinutes(parseInt(tm.min)+d.bcsj);// 10.3.1、设置分钟. | 3023 | nowDate.setMinutes(parseInt(tm.min)+d.bcsj);// 10.3.1、设置分钟. |
| 2963 | // 9.1.4、修改当前班次的到达时间. | 3024 | // 9.1.4、修改当前班次的到达时间. |
| 2964 | d.ARRIVALTIME = BaseFun.getTimeStr(nowDate); | 3025 | d.ARRIVALTIME = BaseFun.getTimeStr(nowDate); |
| 2965 | - d.STOPTIME = parseInt((BaseFun.getDateTime(nodeContext.nextData.fcsj) - BaseFun.getDateTime(d.ARRIVALTIME))/ 60000); | 3026 | + d.STOPTIME = d.isfb ==1 ? 0 : parseInt((BaseFun.getDateTime(nodeContext.nextData.fcsj) - BaseFun.getDateTime(d.ARRIVALTIME))/ 60000); |
| 2966 | /** | 3027 | /** |
| 2967 | * 9.2、修改元素沿X轴方向的X坐标属性值. | 3028 | * 9.2、修改元素沿X轴方向的X坐标属性值. |
| 2968 | * | 3029 | * |
| @@ -2983,6 +3044,8 @@ var RelationshipGraph = function () { | @@ -2983,6 +3044,8 @@ var RelationshipGraph = function () { | ||
| 2983 | } | 3044 | } |
| 2984 | /****************************************** update 当前的班次数据以及相关元素对象属性值. END ************************************/ | 3045 | /****************************************** update 当前的班次数据以及相关元素对象属性值. END ************************************/ |
| 2985 | 3046 | ||
| 3047 | + //console.log(nodeContext); | ||
| 3048 | + //debugger; | ||
| 2986 | // 10、计算与上个班次的停站时间. | 3049 | // 10、计算与上个班次的停站时间. |
| 2987 | var dxMinues = parseInt((BaseFun.getDateTime(d.fcsj) - BaseFun.getDateTime(nodeContext.lastData.ARRIVALTIME)) / 60000); | 3050 | var dxMinues = parseInt((BaseFun.getDateTime(d.fcsj) - BaseFun.getDateTime(nodeContext.lastData.ARRIVALTIME)) / 60000); |
| 2988 | 3051 | ||
| @@ -3129,7 +3192,8 @@ var RelationshipGraph = function () { | @@ -3129,7 +3192,8 @@ var RelationshipGraph = function () { | ||
| 3129 | **/ | 3192 | **/ |
| 3130 | var _obj = RelationshipGraph.getContextNodeAndData(d3.select(this).attr('parent-node').replace('-cover','')); | 3193 | var _obj = RelationshipGraph.getContextNodeAndData(d3.select(this).attr('parent-node').replace('-cover','')); |
| 3131 | // 1.3、定义最小停站间隙. | 3194 | // 1.3、定义最小停站间隙. |
| 3132 | - var minSoptTime = $_GlobalGraph.configuration.dataMap.minztjx; | 3195 | + // var minSoptTime = $_GlobalGraph.configuration.dataMap.minztjx; |
| 3196 | + var minSoptTime = 0; | ||
| 3133 | // 1.4、创建当前时间对象. | 3197 | // 1.4、创建当前时间对象. |
| 3134 | var $_date = new Date(); | 3198 | var $_date = new Date(); |
| 3135 | // 1.5、判断 如果当前班次的停站时间小于零,则修改成最小停站时间. | 3199 | // 1.5、判断 如果当前班次的停站时间小于零,则修改成最小停站时间. |
src/main/resources/static/pages/base/timesmodel/js/errorinfo.js
0 → 100644
src/main/resources/static/pages/base/timesmodel/js/gantt.js
| @@ -70,8 +70,28 @@ | @@ -70,8 +70,28 @@ | ||
| 70 | }else { | 70 | }else { |
| 71 | var jsonA = JSON.parse(objD); | 71 | var jsonA = JSON.parse(objD); |
| 72 | // 使用已有的时刻表明细数据渲染视图. | 72 | // 使用已有的时刻表明细数据渲染视图. |
| 73 | - data = {'json':jsonA.rsD,'bxrcgs':null}; | 73 | + // data = {'json':jsonA.rsD,'bxrcgs':null}; |
| 74 | CSMap = {'gattA':null,'stopSpace': Math.round(map.zzsj/map.clzs),'maxCar':jsonA.rsLP}; | 74 | CSMap = {'gattA':null,'stopSpace': Math.round(map.zzsj/map.clzs),'maxCar':jsonA.rsLP}; |
| 75 | + var cara = jsonA.rsLP; | ||
| 76 | + var rsjar = jsonA.rsD; | ||
| 77 | + var resultJA = new Array(); | ||
| 78 | + for(var m = 0 ; m < cara.length; m++) { | ||
| 79 | + // 获取路牌编号. | ||
| 80 | + var lpNo_ = cara[m].lpNo; | ||
| 81 | + // 定义路牌下的所有班次. | ||
| 82 | + var lpbc_ = new Array(); | ||
| 83 | + // 遍历班次数. | ||
| 84 | + for(var x =0 ; x <rsjar.length; x++) { | ||
| 85 | + // 判断当期遍历的班次是否属于当前的路牌. | ||
| 86 | + if(rsjar[x].lpNo == lpNo_) { | ||
| 87 | + lpbc_.push(rsjar[x]); | ||
| 88 | + } | ||
| 89 | + } | ||
| 90 | + // 按照发车序号顺序排序. | ||
| 91 | + lpbc_.sort(function(a,b){return a.fcno-b.fcno}); | ||
| 92 | + resultJA = resultJA.concat(BaseFun.addjclbbc01(lpbc_,dataMap,stopAraay[0].lbsj,map)); | ||
| 93 | + } | ||
| 94 | + data = {'json':rsjar,'bxrcgs':null}; | ||
| 75 | } | 95 | } |
| 76 | // 创建甘特图对象. | 96 | // 创建甘特图对象. |
| 77 | var graph = d3.select('#ganttSvg').relationshipGraph( | 97 | var graph = d3.select('#ganttSvg').relationshipGraph( |
| @@ -388,7 +408,8 @@ | @@ -388,7 +408,8 @@ | ||
| 388 | * @return 返回甘特图的参数配置信息. | 408 | * @return 返回甘特图的参数配置信息. |
| 389 | * */ | 409 | * */ |
| 390 | function getGraphArgus(p) { | 410 | function getGraphArgus(p) { |
| 391 | - var VALUEKEYNAME = 'Worldwide Gross',MULTIPLE = Math.round(105/parseInt(p.stopAraay[0].sxsj)) >=4 ? Math.round(90/parseInt(p.stopAraay[0].sxsj)) : 3 , | 411 | + var MULTIPLE = Math.round(105/parseInt(p.stopAraay[0].sxsj)) >=4 ? Math.round(90/parseInt(p.stopAraay[0].sxsj)) : Math.round(90/parseInt(p.stopAraay[0].sxsj)) *2; |
| 412 | + var VALUEKEYNAME = 'Worldwide Gross' , | ||
| 392 | DXHOURS = 24,MINUTE = 60,WIDTH = DXHOURS*MINUTE,MARGINLEFT = 380,HEIGHT = p.yAxisCarArray.length*60 + 240, | 413 | DXHOURS = 24,MINUTE = 60,WIDTH = DXHOURS*MINUTE,MARGINLEFT = 380,HEIGHT = p.yAxisCarArray.length*60 + 240, |
| 393 | MARGINBOTTOM = 240,OFFSETX = 90,OFFSETY = 180,OFFSETUPY = 120,OFFSETDOWNY = 60, | 414 | MARGINBOTTOM = 240,OFFSETX = 90,OFFSETY = 180,OFFSETUPY = 120,OFFSETDOWNY = 60, |
| 394 | STARTDATETIME = p.startDateTime ,ENDDATETIME = p.endDateTime ,TASKTYPES =p.yAxisCarArray ,TICKFORMAT ='%H:%M' ,SHOWTOOLTIPS = true; | 415 | STARTDATETIME = p.startDateTime ,ENDDATETIME = p.endDateTime ,TASKTYPES =p.yAxisCarArray ,TICKFORMAT ='%H:%M' ,SHOWTOOLTIPS = true; |
| @@ -400,6 +421,7 @@ | @@ -400,6 +421,7 @@ | ||
| 400 | var hours=Math.floor(leave1/(3600*1000)); | 421 | var hours=Math.floor(leave1/(3600*1000)); |
| 401 | DXHOURS = days*24+hours; | 422 | DXHOURS = days*24+hours; |
| 402 | WIDTH = DXHOURS*MINUTE*MULTIPLE; | 423 | WIDTH = DXHOURS*MINUTE*MULTIPLE; |
| 424 | + // debugger; | ||
| 403 | var lpsplitA = getylp(p.yAxisCarArray); | 425 | var lpsplitA = getylp(p.yAxisCarArray); |
| 404 | var args = { | 426 | var args = { |
| 405 | 'valueKeyName': VALUEKEYNAME, | 427 | 'valueKeyName': VALUEKEYNAME, |
| @@ -506,8 +528,15 @@ | @@ -506,8 +528,15 @@ | ||
| 506 | }else { | 528 | }else { |
| 507 | data = graph.getDataArray(); | 529 | data = graph.getDataArray(); |
| 508 | } | 530 | } |
| 531 | + var rsjar = BaseFun.tzsztest(graph.configuration.taskTypes,data,graph.configuration.dataMap); | ||
| 532 | + /*var resultJA = BaseFun.addjcclcbc01(graph.configuration.taskTypes,rsjar, | ||
| 533 | + graph.configuration.dataMap,graph.configuration.stopAraay,data, | ||
| 534 | + graph.configuration.dataMap.map);*/ | ||
| 509 | // 获取图形数据.重新绘制. | 535 | // 获取图形数据.重新绘制. |
| 510 | - graph.data(data); | 536 | + graph.data(BaseFun.addjcclcbc01(graph.configuration.taskTypes,rsjar, |
| 537 | + graph.configuration.dataMap, | ||
| 538 | + graph.configuration.stopAraay, | ||
| 539 | + graph.configuration.dataMap.map)); | ||
| 511 | // 记录当前操作. | 540 | // 记录当前操作. |
| 512 | graph.addHistory(); | 541 | graph.addHistory(); |
| 513 | stateSuccess('删除'); | 542 | stateSuccess('删除'); |
src/main/resources/static/pages/base/timesmodel/tepms/bctype_temp.html
| @@ -538,10 +538,10 @@ | @@ -538,10 +538,10 @@ | ||
| 538 | </select> | 538 | </select> |
| 539 | </div> | 539 | </div> |
| 540 | <div class="margin-top-10"> | 540 | <div class="margin-top-10"> |
| 541 | - <input type="number" class="form-control" placeholder="请输入分配人次数" id="state_tagsinput_rcsvalue"> | 541 | + <input type="number" class="form-control" placeholder="请输入分配人次数" id="state_tagsinput_rcsvalue" min="1"> |
| 542 | </div> | 542 | </div> |
| 543 | <div class="margin-top-10"> | 543 | <div class="margin-top-10"> |
| 544 | - <input type="number" class="form-control" placeholder="请输入分配车辆数" id="state_tagsinput_clsvalue"> | 544 | + <input type="number" class="form-control" placeholder="请输入分配车辆数" id="state_tagsinput_clsvalue" min="1"> |
| 545 | </div> | 545 | </div> |
| 546 | <div class="margin-top-10"> | 546 | <div class="margin-top-10"> |
| 547 | <a href="javascript:;" class="btn red" id="state_tagsinput_add">添加</a> | 547 | <a href="javascript:;" class="btn red" id="state_tagsinput_add">添加</a> |
src/main/resources/static/pages/excep/boundList.html
| @@ -157,7 +157,7 @@ $(function(){ | @@ -157,7 +157,7 @@ $(function(){ | ||
| 157 | increaseArea: '20%' | 157 | increaseArea: '20%' |
| 158 | } | 158 | } |
| 159 | 159 | ||
| 160 | - jsDoQuery(null,true); | 160 | +// jsDoQuery(null,true); |
| 161 | 161 | ||
| 162 | //重置 | 162 | //重置 |
| 163 | $('tr.filter .filter-cancel').on('click', function(){ | 163 | $('tr.filter .filter-cancel').on('click', function(){ |
src/main/resources/static/pages/forms/mould/correctForm.xls
No preview for this file type
src/main/resources/static/pages/forms/mould/firstAndLastBus_sum.xls
No preview for this file type
src/main/resources/static/pages/forms/mould/oilListMonth.xls
0 → 100644
No preview for this file type
src/main/resources/static/pages/forms/statement/correctForm.html
| @@ -32,13 +32,13 @@ | @@ -32,13 +32,13 @@ | ||
| 32 | <select class="form-control" name="line" id="line" style="width: 136px;"></select> | 32 | <select class="form-control" name="line" id="line" style="width: 136px;"></select> |
| 33 | </div> | 33 | </div> |
| 34 | <div style="display: inline-block;margin-left: 15px;"> | 34 | <div style="display: inline-block;margin-left: 15px;"> |
| 35 | - <span class="item-label" style="width: 80px;">开始时间: </span> | ||
| 36 | - <input class="form-control" type="text" id="startDate" style="width: 120px;"/> | ||
| 37 | - </div> | ||
| 38 | - <div style="display: inline-block;margin-left: 15px;"> | ||
| 39 | - <span class="item-label" style="width: 80px;">结束时间: </span> | ||
| 40 | - <input class="form-control" type="text" id="endDate" style="width: 120px;"/> | 35 | + <span class="item-label" style="width: 80px;">时间: </span> |
| 36 | + <input class="form-control" type="text" id="date" style="width: 120px;"/> | ||
| 41 | </div> | 37 | </div> |
| 38 | +<!-- <div style="display: inline-block;margin-left: 15px;"> --> | ||
| 39 | +<!-- <span class="item-label" style="width: 80px;">结束时间: </span> --> | ||
| 40 | +<!-- <input class="form-control" type="text" id="endDate" style="width: 120px;"/> --> | ||
| 41 | +<!-- </div> --> | ||
| 42 | <div style="display: inline-block;margin-left: 15px"> | 42 | <div style="display: inline-block;margin-left: 15px"> |
| 43 | <span class="item-label" style="width: 140px;">路牌: </span> | 43 | <span class="item-label" style="width: 140px;">路牌: </span> |
| 44 | <select class="form-control" name="lpName" id="lpName" style="width: 136px;"></select> | 44 | <select class="form-control" name="lpName" id="lpName" style="width: 136px;"></select> |
| @@ -46,6 +46,7 @@ | @@ -46,6 +46,7 @@ | ||
| 46 | <div style="display: inline-block;margin-left: 15px"> | 46 | <div style="display: inline-block;margin-left: 15px"> |
| 47 | <span class="item-label" style="width: 140px;">内部编码: </span> | 47 | <span class="item-label" style="width: 140px;">内部编码: </span> |
| 48 | <select class="form-control" name="code" id="code" style="width: 145px;"></select> | 48 | <select class="form-control" name="code" id="code" style="width: 145px;"></select> |
| 49 | + <input class="btn btn-default" type="button" id="czcl" value="X"/> | ||
| 49 | </div> | 50 | </div> |
| 50 | <div class="form-group"> | 51 | <div class="form-group"> |
| 51 | <input class="btn btn-default" type="button" id="query" value="筛选"/> | 52 | <input class="btn btn-default" type="button" id="query" value="筛选"/> |
| @@ -58,28 +59,15 @@ | @@ -58,28 +59,15 @@ | ||
| 58 | <table class="table table-bordered table-hover table-checkable" id="forms"> | 59 | <table class="table table-bordered table-hover table-checkable" id="forms"> |
| 59 | <thead> | 60 | <thead> |
| 60 | <tr> | 61 | <tr> |
| 61 | - <th colspan="12">营运车辆修正统计表</th> | ||
| 62 | - </tr> | ||
| 63 | - <tr> | ||
| 64 | - <td colspan="12">车队 站 <span id="sDate"></span>至<span id="eDate"></span></td> | 62 | + <th colspan="6">营运车辆修正统计表</th> |
| 65 | </tr> | 63 | </tr> |
| 66 | <tr> | 64 | <tr> |
| 67 | - <td rowspan="2">线路名</td> | ||
| 68 | - <td rowspan="2">路牌</td> | ||
| 69 | - <td rowspan="2">车号</td> | ||
| 70 | - <td rowspan="2">司机</td> | ||
| 71 | - <td rowspan="2">售票员</td> | ||
| 72 | - <td colspan="2">发车时间</td> | ||
| 73 | - <td colspan="2">结束时间</td> | ||
| 74 | - <td rowspan="2">修改人</td> | ||
| 75 | - <td rowspan="2">修改时间</td> | ||
| 76 | - <td rowspan="2">备注</td> | ||
| 77 | - </tr> | ||
| 78 | - <tr> | ||
| 79 | - <td>计划</td> | ||
| 80 | - <td>实际</td> | ||
| 81 | - <td>计划</td> | ||
| 82 | - <td>实际</td> | 65 | + <td>编号</td> |
| 66 | + <td>路牌</td> | ||
| 67 | + <td>车号</td> | ||
| 68 | + <td>司机</td> | ||
| 69 | + <td>计发</td> | ||
| 70 | + <td>修改详细</td> | ||
| 83 | </tr> | 71 | </tr> |
| 84 | </thead> | 72 | </thead> |
| 85 | <tbody class="list_correctForm"> | 73 | <tbody class="list_correctForm"> |
| @@ -104,11 +92,19 @@ | @@ -104,11 +92,19 @@ | ||
| 104 | if (!$('body').hasClass('page-sidebar-closed')) | 92 | if (!$('body').hasClass('page-sidebar-closed')) |
| 105 | $('.menu-toggler.sidebar-toggler').click(); | 93 | $('.menu-toggler.sidebar-toggler').click(); |
| 106 | 94 | ||
| 107 | - $("#startDate,#endDate").datetimepicker({ | 95 | + $("#date").datetimepicker({ |
| 108 | format : 'YYYY-MM-DD', | 96 | format : 'YYYY-MM-DD', |
| 109 | locale : 'zh-cn' | 97 | locale : 'zh-cn' |
| 110 | }); | 98 | }); |
| 111 | - | 99 | + var d = new Date(); |
| 100 | + var year = d.getFullYear(); | ||
| 101 | + var month = d.getMonth() + 1; | ||
| 102 | + var day = d.getDate(); | ||
| 103 | + if(month < 10) | ||
| 104 | + month = "0" + month; | ||
| 105 | + if(day < 10) | ||
| 106 | + day = "0" + day; | ||
| 107 | + $("#date").val(year + "-" + month + "-" + day); | ||
| 112 | 108 | ||
| 113 | $.get('/basic/lineCode2Name',function(result){ | 109 | $.get('/basic/lineCode2Name',function(result){ |
| 114 | var data=[]; | 110 | var data=[]; |
| @@ -116,11 +112,12 @@ | @@ -116,11 +112,12 @@ | ||
| 116 | for(var code in result){ | 112 | for(var code in result){ |
| 117 | data.push({id: code, text: result[code]}); | 113 | data.push({id: code, text: result[code]}); |
| 118 | } | 114 | } |
| 119 | - console.log(data); | ||
| 120 | initPinYinSelect2('#line',data,''); | 115 | initPinYinSelect2('#line',data,''); |
| 121 | 116 | ||
| 122 | }) | 117 | }) |
| 123 | - | 118 | + $('#czcl').on('click', function () { |
| 119 | + $('#code').val('').change(); | ||
| 120 | + }); | ||
| 124 | 121 | ||
| 125 | $('#lpName').select2({ | 122 | $('#lpName').select2({ |
| 126 | ajax: { | 123 | ajax: { |
| @@ -200,44 +197,16 @@ | @@ -200,44 +197,16 @@ | ||
| 200 | }); | 197 | }); |
| 201 | 198 | ||
| 202 | var line = $("#line").val(); | 199 | var line = $("#line").val(); |
| 203 | - var startDate = $("#startDate").val(); | ||
| 204 | - var endDate = $("#endDate").val(); | 200 | + var date = $("#startDate").val(); |
| 205 | var lpName = $("#lpName").val(); | 201 | var lpName = $("#lpName").val(); |
| 206 | var code = $("#code").val(); | 202 | var code = $("#code").val(); |
| 207 | $("#query").on("click",function(){ | 203 | $("#query").on("click",function(){ |
| 208 | - if($("#startDate").val() == null || $("#startDate").val().trim().length == 0){ | ||
| 209 | - layer.msg("请选择范围!"); | ||
| 210 | - return; | ||
| 211 | - } | ||
| 212 | - if($("#endDate").val() == null || $("#endDate").val().trim().length == 0){ | ||
| 213 | - layer.msg("请选择范围!"); | ||
| 214 | - return; | ||
| 215 | - } | ||
| 216 | line = $("#line").val(); | 204 | line = $("#line").val(); |
| 217 | - startDate = $("#startDate").val(); | ||
| 218 | - endDate = $("#endDate").val(); | 205 | + date = $("#date").val(); |
| 219 | lpName = $("#lpName").val(); | 206 | lpName = $("#lpName").val(); |
| 220 | code = $("#code").val(); | 207 | code = $("#code").val(); |
| 221 | var type = "query"; | 208 | var type = "query"; |
| 222 | - $post("/realSchedule/correctForm",{line:line,startDate:startDate,endDate:endDate,lpName:lpName,code:code,type:type},function(result){ | ||
| 223 | - $("#sDate").text(startDate); | ||
| 224 | - $("#eDate").text(endDate); | ||
| 225 | - var temp = {}; | ||
| 226 | - var today_account = 0; | ||
| 227 | - temp["line"] = $("#line").text() ; | ||
| 228 | - temp["totalAdjustment"] = result.length; | ||
| 229 | - | ||
| 230 | - $.each(result, function(i, obj) { | ||
| 231 | - if(moment(obj.scheduleDate).format("YYYY-MM-DD") == moment(obj.updateDate).format("YYYY-MM-DD")){ | ||
| 232 | - today_account++; | ||
| 233 | - } | ||
| 234 | - obj.updateDate = moment(obj.updateDate).format("YYYY-MM-DD HH:mm:ss"); | ||
| 235 | - }); | ||
| 236 | - | ||
| 237 | - temp["todayAdjustment"] = today_account; | ||
| 238 | - temp["beforeAdjustment"] = result.length-today_account; | ||
| 239 | - temp["historyAdjustment"] = 0; | ||
| 240 | - | 209 | + $get("/realSchedule/correctForm",{line:line,date:date,lpName:lpName,code:code,type:type},function(result){ |
| 241 | var list_correctForm = template('list_correctForm',{list:result}); | 210 | var list_correctForm = template('list_correctForm',{list:result}); |
| 242 | // 把渲染好的模版html文本追加到表格中 | 211 | // 把渲染好的模版html文本追加到表格中 |
| 243 | $('#forms .list_correctForm').html(list_correctForm); | 212 | $('#forms .list_correctForm').html(list_correctForm); |
| @@ -255,8 +224,8 @@ | @@ -255,8 +224,8 @@ | ||
| 255 | 224 | ||
| 256 | $("#export").on("click",function(){ | 225 | $("#export").on("click",function(){ |
| 257 | var type = "export"; | 226 | var type = "export"; |
| 258 | - $get('/realSchedule/correctForm',{line:line,startDate:startDate,endDate:endDate,lpName:lpName,code:code,type:type},function(result){ | ||
| 259 | - window.open("/downloadFile/download?fileName=修正报表"+moment(startDate).format("YYYYMMDD")+"-"+moment(endDate).format("YYYYMMDD")); | 227 | + $get('/realSchedule/correctForm',{line:line,date:date,lpName:lpName,code:code,type:type},function(result){ |
| 228 | + window.open("/downloadFile/download?fileName=修正报表"+date); | ||
| 260 | }); | 229 | }); |
| 261 | }); | 230 | }); |
| 262 | 231 | ||
| @@ -264,38 +233,18 @@ | @@ -264,38 +233,18 @@ | ||
| 264 | </script> | 233 | </script> |
| 265 | <script type="text/html" id="list_correctForm"> | 234 | <script type="text/html" id="list_correctForm"> |
| 266 | {{each list as obj i}} | 235 | {{each list as obj i}} |
| 267 | - <tr> | ||
| 268 | - <td>{{obj.xlName}}</td> | 236 | + <tr> |
| 237 | + <td>{{i+1}}</td> | ||
| 269 | <td>{{obj.lpName}}</td> | 238 | <td>{{obj.lpName}}</td> |
| 270 | <td>{{obj.clZbh}}</td> | 239 | <td>{{obj.clZbh}}</td> |
| 271 | - <td>{{obj.jName}}</td> | ||
| 272 | - <td>{{obj.sName}}</td> | 240 | + <td>{{obj.jName}}/{{obj.jGh}}</td> |
| 273 | <td>{{obj.fcsj}}</td> | 241 | <td>{{obj.fcsj}}</td> |
| 274 | - <td>{{obj.fcsjActual}}</td> | ||
| 275 | - <td>{{obj.zdsj}}</td> | ||
| 276 | - <td>{{obj.zdsjActual}}</td> | ||
| 277 | - <td>{{obj.updateBy}}</td> | ||
| 278 | - <td>{{obj.updateDate}}</td> | ||
| 279 | - <td>{{obj.remarks}}</td> | 242 | + <td>{{obj.type2}}</td> |
| 280 | </tr> | 243 | </tr> |
| 281 | {{/each}} | 244 | {{/each}} |
| 282 | {{if list.length == 0}} | 245 | {{if list.length == 0}} |
| 283 | <tr> | 246 | <tr> |
| 284 | - <td colspan="12"><h6 class="muted">没有找到相关数据</h6></td> | 247 | + <td colspan="6"><h6 class="muted">没有找到相关数据</h6></td> |
| 285 | </tr> | 248 | </tr> |
| 286 | {{/if}} | 249 | {{/if}} |
| 287 | </script> | 250 | </script> |
| 288 | -<script type="text/html" id="list_correctForm_statistics"> | ||
| 289 | - <tr> | ||
| 290 | - <td colspan="2">线路:</td> | ||
| 291 | - <td>{{line}}</td> | ||
| 292 | - <td>调整总数</td> | ||
| 293 | - <td>{{totalAdjustment}}</td> | ||
| 294 | - <td>事先调整</td> | ||
| 295 | - <td>{{beforeAdjustment}}</td> | ||
| 296 | - <td>当日调整</td> | ||
| 297 | - <td>{{todayAdjustment}}</td> | ||
| 298 | - <td>历史调整</td> | ||
| 299 | - <td colspan="2">{{historyAdjustment}}</td> | ||
| 300 | - </tr> | ||
| 301 | -</script> | ||
| 302 | \ No newline at end of file | 251 | \ No newline at end of file |
src/main/resources/static/pages/forms/statement/correctStatis.html
| @@ -7,7 +7,8 @@ | @@ -7,7 +7,8 @@ | ||
| 7 | .table-bordered > tbody > tr > td, | 7 | .table-bordered > tbody > tr > td, |
| 8 | .table-bordered > tfoot > tr > th, | 8 | .table-bordered > tfoot > tr > th, |
| 9 | .table-bordered > tfoot > tr > td { | 9 | .table-bordered > tfoot > tr > td { |
| 10 | - border: 1px solid; } | 10 | + border: 1px solid; |
| 11 | + text-align: center; } | ||
| 11 | .table-bordered > thead > tr > th, | 12 | .table-bordered > thead > tr > th, |
| 12 | .table-bordered > thead > tr > td { | 13 | .table-bordered > thead > tr > td { |
| 13 | border-bottom-width: 2px; } | 14 | border-bottom-width: 2px; } |
src/main/resources/static/pages/forms/statement/firstAndLastBus.html
| @@ -7,7 +7,8 @@ | @@ -7,7 +7,8 @@ | ||
| 7 | .table-bordered > tbody > tr > td, | 7 | .table-bordered > tbody > tr > td, |
| 8 | .table-bordered > tfoot > tr > th, | 8 | .table-bordered > tfoot > tr > th, |
| 9 | .table-bordered > tfoot > tr > td { | 9 | .table-bordered > tfoot > tr > td { |
| 10 | - border: 1px solid; } | 10 | + border: 1px solid; |
| 11 | + text-align: center; } | ||
| 11 | .table-bordered > thead > tr > th, | 12 | .table-bordered > thead > tr > th, |
| 12 | .table-bordered > thead > tr > td { | 13 | .table-bordered > thead > tr > td { |
| 13 | border-bottom-width: 2px; } | 14 | border-bottom-width: 2px; } |
| @@ -250,7 +251,7 @@ | @@ -250,7 +251,7 @@ | ||
| 250 | <td>{{obj.company}}</td> | 251 | <td>{{obj.company}}</td> |
| 251 | <td>{{obj.subCompany}}</td> | 252 | <td>{{obj.subCompany}}</td> |
| 252 | <td>{{obj.line}}</td> | 253 | <td>{{obj.line}}</td> |
| 253 | - {{if obj.delayFirst0 != '/' && obj.delayFirst0 != '0'}} | 254 | + {{if obj.delayFirst0 != '/' && (obj.delayFirst0 > 1 || obj.delayFirst0 < -2)}} |
| 254 | <td style="background-color: #FF9999">{{obj.qdzFirst0}}</td> | 255 | <td style="background-color: #FF9999">{{obj.qdzFirst0}}</td> |
| 255 | <td style="background-color: #FF9999">{{obj.jhfcFirst0}}</td> | 256 | <td style="background-color: #FF9999">{{obj.jhfcFirst0}}</td> |
| 256 | <td style="background-color: #FF9999">{{obj.sjfcFirst0}}</td> | 257 | <td style="background-color: #FF9999">{{obj.sjfcFirst0}}</td> |
| @@ -261,7 +262,7 @@ | @@ -261,7 +262,7 @@ | ||
| 261 | <td>{{obj.sjfcFirst0}}</td> | 262 | <td>{{obj.sjfcFirst0}}</td> |
| 262 | <td>{{obj.delayFirst0}}</td> | 263 | <td>{{obj.delayFirst0}}</td> |
| 263 | {{/if}} | 264 | {{/if}} |
| 264 | - {{if obj.delayLast0 != '/' && obj.delayLast0 != '0'}} | 265 | + {{if obj.delayLast0 != '/' && (obj.delayLast0 > 1 || obj.delayLast0 < -2)}} |
| 265 | <td style="background-color: #FF9999">{{obj.qdzLast0}}</td> | 266 | <td style="background-color: #FF9999">{{obj.qdzLast0}}</td> |
| 266 | <td style="background-color: #FF9999">{{obj.jhfcLast0}}</td> | 267 | <td style="background-color: #FF9999">{{obj.jhfcLast0}}</td> |
| 267 | <td style="background-color: #FF9999">{{obj.sjfcLast0}}</td> | 268 | <td style="background-color: #FF9999">{{obj.sjfcLast0}}</td> |
| @@ -272,7 +273,7 @@ | @@ -272,7 +273,7 @@ | ||
| 272 | <td>{{obj.sjfcLast0}}</td> | 273 | <td>{{obj.sjfcLast0}}</td> |
| 273 | <td>{{obj.delayLast0}}</td> | 274 | <td>{{obj.delayLast0}}</td> |
| 274 | {{/if}} | 275 | {{/if}} |
| 275 | - {{if obj.delayFirst1 != '/' && obj.delayFirst1 != '0'}} | 276 | + {{if obj.delayFirst1 != '/' && (obj.delayFirst1 > 1 || obj.delayFirst1 < -2)}} |
| 276 | <td style="background-color: #FF9999">{{obj.qdzFirst1}}</td> | 277 | <td style="background-color: #FF9999">{{obj.qdzFirst1}}</td> |
| 277 | <td style="background-color: #FF9999">{{obj.jhfcFirst1}}</td> | 278 | <td style="background-color: #FF9999">{{obj.jhfcFirst1}}</td> |
| 278 | <td style="background-color: #FF9999">{{obj.sjfcFirst1}}</td> | 279 | <td style="background-color: #FF9999">{{obj.sjfcFirst1}}</td> |
| @@ -283,7 +284,7 @@ | @@ -283,7 +284,7 @@ | ||
| 283 | <td>{{obj.sjfcFirst1}}</td> | 284 | <td>{{obj.sjfcFirst1}}</td> |
| 284 | <td>{{obj.delayFirst1}}</td> | 285 | <td>{{obj.delayFirst1}}</td> |
| 285 | {{/if}} | 286 | {{/if}} |
| 286 | - {{if obj.delayLast1 != '/' && obj.delayLast1 != '0'}} | 287 | + {{if obj.delayLast1 != '/' && (obj.delayLast1 > 1 || obj.delayLast1 < -2)}} |
| 287 | <td style="background-color: #FF9999">{{obj.qdzLast1}}</td> | 288 | <td style="background-color: #FF9999">{{obj.qdzLast1}}</td> |
| 288 | <td style="background-color: #FF9999">{{obj.jhfcLast1}}</td> | 289 | <td style="background-color: #FF9999">{{obj.jhfcLast1}}</td> |
| 289 | <td style="background-color: #FF9999">{{obj.sjfcLast1}}</td> | 290 | <td style="background-color: #FF9999">{{obj.sjfcLast1}}</td> |
src/main/resources/static/pages/forms/statement/firstAndLastBus_sum.html
| @@ -7,7 +7,8 @@ | @@ -7,7 +7,8 @@ | ||
| 7 | .table-bordered > tbody > tr > td, | 7 | .table-bordered > tbody > tr > td, |
| 8 | .table-bordered > tfoot > tr > th, | 8 | .table-bordered > tfoot > tr > th, |
| 9 | .table-bordered > tfoot > tr > td { | 9 | .table-bordered > tfoot > tr > td { |
| 10 | - border: 1px solid; } | 10 | + border: 1px solid; |
| 11 | + text-align: center; } | ||
| 11 | .table-bordered > thead > tr > th, | 12 | .table-bordered > thead > tr > th, |
| 12 | .table-bordered > thead > tr > td { | 13 | .table-bordered > thead > tr > td { |
| 13 | border-bottom-width: 2px; } | 14 | border-bottom-width: 2px; } |
| @@ -27,11 +28,11 @@ | @@ -27,11 +28,11 @@ | ||
| 27 | <div class="portlet light porttlet-fit bordered"> | 28 | <div class="portlet light porttlet-fit bordered"> |
| 28 | <div class="portlet-title"> | 29 | <div class="portlet-title"> |
| 29 | <form id="history" class="form-inline" action=""> | 30 | <form id="history" class="form-inline" action=""> |
| 30 | - <div style="display: inline-block;margin-left: 10px;" id="company1"> | 31 | + <div style="display: inline-block;margin-left: 28px;" id="company1"> |
| 31 | <span class="item-label" style="width: 80px;">公司: </span> | 32 | <span class="item-label" style="width: 80px;">公司: </span> |
| 32 | <select class="form-control" name="company" id="company" style="width: 160px;"></select> | 33 | <select class="form-control" name="company" id="company" style="width: 160px;"></select> |
| 33 | </div> | 34 | </div> |
| 34 | - <div style="display: inline-block;margin-left: 10px;" id="subCompany1"> | 35 | + <div style="display: inline-block;margin-left: 24px;" id="subCompany1"> |
| 35 | <span class="item-label" style="width: 80px;">分公司: </span> | 36 | <span class="item-label" style="width: 80px;">分公司: </span> |
| 36 | <select class="form-control" name="subCompany" id="subCompany" style="width: 160px;"></select> | 37 | <select class="form-control" name="subCompany" id="subCompany" style="width: 160px;"></select> |
| 37 | </div> | 38 | </div> |
| @@ -39,11 +40,16 @@ | @@ -39,11 +40,16 @@ | ||
| 39 | <span class="item-label" style="width: 80px;">线路: </span> | 40 | <span class="item-label" style="width: 80px;">线路: </span> |
| 40 | <select class="form-control" name="line" id="line" style="width: 160px;"></select> | 41 | <select class="form-control" name="line" id="line" style="width: 160px;"></select> |
| 41 | </div> | 42 | </div> |
| 43 | + <div style="margin-top: 10px"></div> | ||
| 44 | + <div style="display: inline-block;margin-left: 0px;"> | ||
| 45 | + <span class="item-label" style="width: 80px;">开始时间: </span> | ||
| 46 | + <input class="form-control" type="text" id="startDate" style="width: 160px;"/> | ||
| 47 | + </div> | ||
| 42 | <div style="display: inline-block;margin-left: 10px;"> | 48 | <div style="display: inline-block;margin-left: 10px;"> |
| 43 | - <span class="item-label" style="width: 80px;">时间: </span> | ||
| 44 | - <input class="form-control" type="text" id="date" style="width: 160px;"/> | 49 | + <span class="item-label" style="width: 80px;">结束时间: </span> |
| 50 | + <input class="form-control" type="text" id="endDate" style="width: 160px;"/> | ||
| 45 | </div> | 51 | </div> |
| 46 | - <div class="form-group"> | 52 | + <div class="form-group" style="margin-left: 10px;"> |
| 47 | <input class="btn btn-default" type="button" id="query" value="筛选"/> | 53 | <input class="btn btn-default" type="button" id="query" value="筛选"/> |
| 48 | <input class="btn btn-default" type="button" id="export" value="导出"/> | 54 | <input class="btn btn-default" type="button" id="export" value="导出"/> |
| 49 | </div> | 55 | </div> |
| @@ -54,7 +60,7 @@ | @@ -54,7 +60,7 @@ | ||
| 54 | <table class="table table-bordered table-hover table-checkable" id="forms"> | 60 | <table class="table table-bordered table-hover table-checkable" id="forms"> |
| 55 | <thead> | 61 | <thead> |
| 56 | <tr class="hidden"> | 62 | <tr class="hidden"> |
| 57 | - <th>日期</th> | 63 | + <th width="240px">日期</th> |
| 58 | <th>公司</th> | 64 | <th>公司</th> |
| 59 | <th>分公司</th> | 65 | <th>分公司</th> |
| 60 | <th>线路</th> | 66 | <th>线路</th> |
| @@ -73,6 +79,7 @@ | @@ -73,6 +79,7 @@ | ||
| 73 | <thead> | 79 | <thead> |
| 74 | <tr class="hidden"> | 80 | <tr class="hidden"> |
| 75 | <th style="display: none;"></th> | 81 | <th style="display: none;"></th> |
| 82 | + <th rowspan="2">日期</th> | ||
| 76 | <th rowspan="2">线路</th> | 83 | <th rowspan="2">线路</th> |
| 77 | <th colspan="4">上行首发</th> | 84 | <th colspan="4">上行首发</th> |
| 78 | <th colspan="4">上行末发</th> | 85 | <th colspan="4">上行末发</th> |
| @@ -116,12 +123,12 @@ | @@ -116,12 +123,12 @@ | ||
| 116 | // 关闭左侧栏 | 123 | // 关闭左侧栏 |
| 117 | if (!$('body').hasClass('page-sidebar-closed')) | 124 | if (!$('body').hasClass('page-sidebar-closed')) |
| 118 | $('.menu-toggler.sidebar-toggler').click(); | 125 | $('.menu-toggler.sidebar-toggler').click(); |
| 119 | - | ||
| 120 | - $("#date").datetimepicker({ | 126 | + |
| 127 | + $("#startDate,#endDate").datetimepicker({ | ||
| 121 | format : 'YYYY-MM-DD', | 128 | format : 'YYYY-MM-DD', |
| 122 | locale : 'zh-cn' | 129 | locale : 'zh-cn' |
| 123 | }); | 130 | }); |
| 124 | - | 131 | + |
| 125 | var d = new Date(); | 132 | var d = new Date(); |
| 126 | var year = d.getFullYear(); | 133 | var year = d.getFullYear(); |
| 127 | var month = d.getMonth() + 1; | 134 | var month = d.getMonth() + 1; |
| @@ -130,7 +137,7 @@ | @@ -130,7 +137,7 @@ | ||
| 130 | month = "0" + month; | 137 | month = "0" + month; |
| 131 | if(day < 10) | 138 | if(day < 10) |
| 132 | day = "0" + day; | 139 | day = "0" + day; |
| 133 | - $("#date").val(year + "-" + month + "-" + day); | 140 | + $("#startDate,#endDate").val(year + "-" + month + "-" + day); |
| 134 | 141 | ||
| 135 | var fage=false; | 142 | var fage=false; |
| 136 | var xlList; | 143 | var xlList; |
| @@ -216,9 +223,14 @@ | @@ -216,9 +223,14 @@ | ||
| 216 | var company = $("#company").val(); | 223 | var company = $("#company").val(); |
| 217 | var subCompany = $("#subCompany").val(); | 224 | var subCompany = $("#subCompany").val(); |
| 218 | var line = $("#line").val(); | 225 | var line = $("#line").val(); |
| 219 | - var date = $("#date").val(); | 226 | + var startDate = $("#startDate").val(); |
| 227 | + var endDate = $("#endDate").val(); | ||
| 220 | function jsDoQuery(pagination){ | 228 | function jsDoQuery(pagination){ |
| 221 | - if($("#date").val() == null || $("#date").val().trim().length == 0){ | 229 | + if($("#startDate").val() == null || $("#startDate").val().trim().length == 0){ |
| 230 | + layer.msg("请选择时间!"); | ||
| 231 | + return; | ||
| 232 | + } | ||
| 233 | + if($("#endDate").val() == null || $("#endDate").val().trim().length == 0){ | ||
| 222 | layer.msg("请选择时间!"); | 234 | layer.msg("请选择时间!"); |
| 223 | return; | 235 | return; |
| 224 | } | 236 | } |
| @@ -226,14 +238,15 @@ | @@ -226,14 +238,15 @@ | ||
| 226 | company = $("#company").val(); | 238 | company = $("#company").val(); |
| 227 | subCompany = $("#subCompany").val(); | 239 | subCompany = $("#subCompany").val(); |
| 228 | line = $("#line").val(); | 240 | line = $("#line").val(); |
| 229 | - date = $("#date").val(); | 241 | + startDate = $("#startDate").val(); |
| 242 | + endDate = $("#endDate").val(); | ||
| 230 | if(line == " ") | 243 | if(line == " ") |
| 231 | line = ""; | 244 | line = ""; |
| 232 | params['company'] = company; | 245 | params['company'] = company; |
| 233 | params['subCompany'] = subCompany; | 246 | params['subCompany'] = subCompany; |
| 234 | params['line'] = line; | 247 | params['line'] = line; |
| 235 | - params['line'] = line; | ||
| 236 | - params['date'] = date; | 248 | + params['startDate'] = startDate; |
| 249 | + params['endDate'] = endDate; | ||
| 237 | params['type'] = "query"; | 250 | params['type'] = "query"; |
| 238 | $("#forms .hidden").removeClass("hidden"); | 251 | $("#forms .hidden").removeClass("hidden"); |
| 239 | $("#map tr").addClass("hidden"); | 252 | $("#map tr").addClass("hidden"); |
| @@ -253,19 +266,15 @@ | @@ -253,19 +266,15 @@ | ||
| 253 | } | 266 | } |
| 254 | 267 | ||
| 255 | $("#export").on("click",function(){ | 268 | $("#export").on("click",function(){ |
| 256 | - if($("#date").val() == null || $("#date").val().trim().length == 0){ | ||
| 257 | - layer.msg("请选择时间!"); | ||
| 258 | - return; | ||
| 259 | - } | ||
| 260 | var params = {}; | 269 | var params = {}; |
| 261 | params['company'] = company; | 270 | params['company'] = company; |
| 262 | params['subCompany'] = subCompany; | 271 | params['subCompany'] = subCompany; |
| 263 | params['line'] = line; | 272 | params['line'] = line; |
| 264 | - params['line'] = line; | ||
| 265 | - params['date'] = date; | 273 | + params['startDate'] = startDate; |
| 274 | + params['endDate'] = endDate; | ||
| 266 | params['type'] = "export"; | 275 | params['type'] = "export"; |
| 267 | $get('/pcpc/firstAndLastBus_sum', params, function(result){ | 276 | $get('/pcpc/firstAndLastBus_sum', params, function(result){ |
| 268 | - window.open("/downloadFile/download?fileName=线路首末班准点率"+moment(date).format("YYYYMMDD")); | 277 | + window.open("/downloadFile/download?fileName=线路首末班准点率"+moment(startDate).format("YYYYMMDD")+(startDate==endDate?"":("-"+moment(endDate).format("YYYYMMDD")))); |
| 269 | }); | 278 | }); |
| 270 | }); | 279 | }); |
| 271 | 280 | ||
| @@ -276,13 +285,20 @@ | @@ -276,13 +285,20 @@ | ||
| 276 | <script type="text/html" id="list_firstAndLastBus"> | 285 | <script type="text/html" id="list_firstAndLastBus"> |
| 277 | {{each list as obj i}} | 286 | {{each list as obj i}} |
| 278 | <tr> | 287 | <tr> |
| 279 | - <td>{{obj.date}}</td> | ||
| 280 | - <td>{{obj.company}}</td> | ||
| 281 | - <td>{{obj.subCompany}}</td> | ||
| 282 | - <td>{{obj.line}}</td> | ||
| 283 | - <td>{{obj.jhbc}}</td> | ||
| 284 | - <td>{{obj.sjbc}}</td> | ||
| 285 | - <td><a id='delay'>{{obj.zdl}}</a></td> | 288 | + {{if obj.date != '合计汇总'}} |
| 289 | + <td>{{obj.date}}</td> | ||
| 290 | + <td>{{obj.company}}</td> | ||
| 291 | + <td>{{obj.subCompany}}</td> | ||
| 292 | + <td>{{obj.line}}</td> | ||
| 293 | + <td>{{obj.jhbc}}</td> | ||
| 294 | + <td>{{obj.sjbc}}</td> | ||
| 295 | + <td><a id='delay'>{{obj.zdl}}</a></td> | ||
| 296 | + {{else}} | ||
| 297 | + <td colspan='4'>{{obj.date}}</td> | ||
| 298 | + <td>{{obj.jhbc}}</td> | ||
| 299 | + <td>{{obj.sjbc}}</td> | ||
| 300 | + <td>{{obj.zdl}}</td> | ||
| 301 | + {{/if}} | ||
| 286 | </tr> | 302 | </tr> |
| 287 | {{/each}} | 303 | {{/each}} |
| 288 | {{if list.length == 0}} | 304 | {{if list.length == 0}} |
| @@ -292,23 +308,26 @@ | @@ -292,23 +308,26 @@ | ||
| 292 | {{/if}} | 308 | {{/if}} |
| 293 | </script> | 309 | </script> |
| 294 | <script type="text/html" id="list_maps"> | 310 | <script type="text/html" id="list_maps"> |
| 311 | + {{each list as obj i}} | ||
| 295 | <tr> | 312 | <tr> |
| 296 | - <td>{{list.line}}</td> | ||
| 297 | - <td>{{list.qdzFirst0}}</td> | ||
| 298 | - <td>{{list.jhfcFirst0}}</td> | ||
| 299 | - <td>{{list.sjfcFirst0}}</td> | ||
| 300 | - <td>{{list.delayFirst0}}</td> | ||
| 301 | - <td>{{list.qdzLast0}}</td> | ||
| 302 | - <td>{{list.jhfcLast0}}</td> | ||
| 303 | - <td>{{list.sjfcLast0}}</td> | ||
| 304 | - <td>{{list.delayLast0}}</td> | ||
| 305 | - <td>{{list.qdzFirst1}}</td> | ||
| 306 | - <td>{{list.jhfcFirst1}}</td> | ||
| 307 | - <td>{{list.sjfcFirst1}}</td> | ||
| 308 | - <td>{{list.delayFirst1}}</td> | ||
| 309 | - <td>{{list.qdzLast1}}</td> | ||
| 310 | - <td>{{list.jhfcLast1}}</td> | ||
| 311 | - <td>{{list.sjfcLast1}}</td> | ||
| 312 | - <td>{{list.delayLast1}}</td> | 313 | + <td>{{obj.date}}</td> |
| 314 | + <td>{{obj.line}}</td> | ||
| 315 | + <td>{{obj.qdzFirst0}}</td> | ||
| 316 | + <td>{{obj.jhfcFirst0}}</td> | ||
| 317 | + <td>{{obj.sjfcFirst0}}</td> | ||
| 318 | + <td>{{obj.delayFirst0}}</td> | ||
| 319 | + <td>{{obj.qdzLast0}}</td> | ||
| 320 | + <td>{{obj.jhfcLast0}}</td> | ||
| 321 | + <td>{{obj.sjfcLast0}}</td> | ||
| 322 | + <td>{{obj.delayLast0}}</td> | ||
| 323 | + <td>{{obj.qdzFirst1}}</td> | ||
| 324 | + <td>{{obj.jhfcFirst1}}</td> | ||
| 325 | + <td>{{obj.sjfcFirst1}}</td> | ||
| 326 | + <td>{{obj.delayFirst1}}</td> | ||
| 327 | + <td>{{obj.qdzLast1}}</td> | ||
| 328 | + <td>{{obj.jhfcLast1}}</td> | ||
| 329 | + <td>{{obj.sjfcLast1}}</td> | ||
| 330 | + <td>{{obj.delayLast1}}</td> | ||
| 313 | </tr> | 331 | </tr> |
| 332 | + {{/each}} | ||
| 314 | </script> | 333 | </script> |
| 315 | \ No newline at end of file | 334 | \ No newline at end of file |
src/main/resources/static/pages/forms/statement/historyMessage.html
| @@ -46,7 +46,7 @@ | @@ -46,7 +46,7 @@ | ||
| 46 | </form> | 46 | </form> |
| 47 | </div> | 47 | </div> |
| 48 | <div class="portlet-body"> | 48 | <div class="portlet-body"> |
| 49 | - <div class="table-container" style="margin-top: 10px;overflow:auto;min-width: 906px"> | 49 | + <div class="table-container" id="table" style="margin-top: 10px;overflow:auto;min-width: 906px;"> |
| 50 | <table class="table table-bordered table-hover table-checkable" id="forms"> | 50 | <table class="table table-bordered table-hover table-checkable" id="forms"> |
| 51 | <thead> | 51 | <thead> |
| 52 | <tr class="hidden"> | 52 | <tr class="hidden"> |
| @@ -80,6 +80,7 @@ | @@ -80,6 +80,7 @@ | ||
| 80 | format : 'YYYY-MM-DD', | 80 | format : 'YYYY-MM-DD', |
| 81 | locale : 'zh-cn' | 81 | locale : 'zh-cn' |
| 82 | }); | 82 | }); |
| 83 | + $("#table").height($(window).height()-280); | ||
| 83 | 84 | ||
| 84 | $.get('/basic/lineCode2Name',function(result){ | 85 | $.get('/basic/lineCode2Name',function(result){ |
| 85 | var data=[]; | 86 | var data=[]; |
src/main/resources/static/pages/forms/statement/lbStatuAnaly.html
| @@ -57,7 +57,7 @@ | @@ -57,7 +57,7 @@ | ||
| 57 | <span class="item-label" style="width: 80px;">选择线路: </span> | 57 | <span class="item-label" style="width: 80px;">选择线路: </span> |
| 58 | <select class="form-control" name="line" id="line" style="width: 150px;"></select> | 58 | <select class="form-control" name="line" id="line" style="width: 150px;"></select> |
| 59 | </div> | 59 | </div> |
| 60 | - <div style="display: inline-block; margin-left: 10px"> | 60 | + <div style="display: inline-block; margin-left: 10px; display: none;"> |
| 61 | <span class="item-label" style="width: 80px;">时刻类型: </span> | 61 | <span class="item-label" style="width: 80px;">时刻类型: </span> |
| 62 | <select class="form-control" name="model" id="model" style="width: 165px;"> | 62 | <select class="form-control" name="model" id="model" style="width: 165px;"> |
| 63 | <option value="">请选择...</option> | 63 | <option value="">请选择...</option> |
| @@ -93,7 +93,7 @@ | @@ -93,7 +93,7 @@ | ||
| 93 | </form> | 93 | </form> |
| 94 | </div> | 94 | </div> |
| 95 | <div class="portlet-body"> | 95 | <div class="portlet-body"> |
| 96 | - <div class="table-container" style="margin-top: 10px;overflow:auto;min-width: 906px"> | 96 | + <div class="table-container" id="table" style="margin-top: 0px;overflow:auto;min-width: 906px;height:481px;"> |
| 97 | <table class="table table-bordered table-hover table-checkable" id="forms"> | 97 | <table class="table table-bordered table-hover table-checkable" id="forms"> |
| 98 | <thead> | 98 | <thead> |
| 99 | 99 | ||
| @@ -135,6 +135,7 @@ | @@ -135,6 +135,7 @@ | ||
| 135 | format : 'HH:mm', | 135 | format : 'HH:mm', |
| 136 | locale : 'zh-cn' | 136 | locale : 'zh-cn' |
| 137 | }); | 137 | }); |
| 138 | + $("#table").height($(window).height()-320); | ||
| 138 | 139 | ||
| 139 | var d = new Date(); | 140 | var d = new Date(); |
| 140 | var year = d.getFullYear(); | 141 | var year = d.getFullYear(); |
| @@ -239,6 +240,7 @@ | @@ -239,6 +240,7 @@ | ||
| 239 | $("#subCompany").on("change",initXl); | 240 | $("#subCompany").on("change",initXl); |
| 240 | function initXl(){ | 241 | function initXl(){ |
| 241 | var data=[]; | 242 | var data=[]; |
| 243 | + data.push({id:" ", text:"全部线路"}); | ||
| 242 | if(fage){ | 244 | if(fage){ |
| 243 | $("#line").select2("destroy").html(''); | 245 | $("#line").select2("destroy").html(''); |
| 244 | } | 246 | } |
| @@ -310,6 +312,8 @@ | @@ -310,6 +312,8 @@ | ||
| 310 | } | 312 | } |
| 311 | var reason = $("input[name='reason']"); | 313 | var reason = $("input[name='reason']"); |
| 312 | var params = {}; | 314 | var params = {}; |
| 315 | + if(line == " ") | ||
| 316 | + line = ""; | ||
| 313 | // line = $("#line").val(); | 317 | // line = $("#line").val(); |
| 314 | startDate = $("#startDate").val(); | 318 | startDate = $("#startDate").val(); |
| 315 | endDate = $("#endDate").val(); | 319 | endDate = $("#endDate").val(); |
| @@ -454,7 +458,7 @@ | @@ -454,7 +458,7 @@ | ||
| 454 | <thead> | 458 | <thead> |
| 455 | <tr> | 459 | <tr> |
| 456 | <th class="hidden"></th> | 460 | <th class="hidden"></th> |
| 457 | - <th rowspan="3">日期</th> | 461 | + <th rowspan="3" style=" width:120px;">日期</th> |
| 458 | <th rowspan="3">时段</th> | 462 | <th rowspan="3">时段</th> |
| 459 | <th rowspan="3">公司</th> | 463 | <th rowspan="3">公司</th> |
| 460 | <th rowspan="3">分公司</th> | 464 | <th rowspan="3">分公司</th> |
src/main/resources/static/pages/forms/statement/scheduleAnaly.html
| @@ -7,7 +7,8 @@ | @@ -7,7 +7,8 @@ | ||
| 7 | .table-bordered > tbody > tr > td, | 7 | .table-bordered > tbody > tr > td, |
| 8 | .table-bordered > tfoot > tr > th, | 8 | .table-bordered > tfoot > tr > th, |
| 9 | .table-bordered > tfoot > tr > td { | 9 | .table-bordered > tfoot > tr > td { |
| 10 | - border: 1px solid; } | 10 | + border: 1px solid; |
| 11 | + text-align: center; } | ||
| 11 | .table-bordered > thead > tr > th, | 12 | .table-bordered > thead > tr > th, |
| 12 | .table-bordered > thead > tr > td { | 13 | .table-bordered > thead > tr > td { |
| 13 | border-bottom-width: 2px; } | 14 | border-bottom-width: 2px; } |
| @@ -39,6 +40,14 @@ | @@ -39,6 +40,14 @@ | ||
| 39 | <span class="item-label" style="width: 80px;">线路: </span> | 40 | <span class="item-label" style="width: 80px;">线路: </span> |
| 40 | <select class="form-control" name="line" id="line" style="width: 160px;"></select> | 41 | <select class="form-control" name="line" id="line" style="width: 160px;"></select> |
| 41 | </div> | 42 | </div> |
| 43 | + <div style="display: inline-block;margin-left: 10px;"> | ||
| 44 | + <span class="item-label" style="width: 80px;">班次类型: </span> | ||
| 45 | + <select class="form-control" name="line" id="bcType" style="width: 160px;"> | ||
| 46 | + <option value="0">全部班次</option> | ||
| 47 | + <option value="1">全程</option> | ||
| 48 | + <option value="2">区间</option> | ||
| 49 | + </select> | ||
| 50 | + </div> | ||
| 42 | <div style="margin-top: 10px"></div> | 51 | <div style="margin-top: 10px"></div> |
| 43 | <div style="display: inline-block;margin-left: 10px;"> | 52 | <div style="display: inline-block;margin-left: 10px;"> |
| 44 | <span class="item-label" style="width: 80px;">开始时间: </span> | 53 | <span class="item-label" style="width: 80px;">开始时间: </span> |
| @@ -54,7 +63,7 @@ | @@ -54,7 +63,7 @@ | ||
| 54 | <option value="">请选择...</option> | 63 | <option value="">请选择...</option> |
| 55 | </select> | 64 | </select> |
| 56 | </div> | 65 | </div> |
| 57 | - <div class="form-group"> | 66 | + <div class="form-group" style="margin-left: 10px"> |
| 58 | <input class="btn btn-default" type="button" id="query" value="筛选"/> | 67 | <input class="btn btn-default" type="button" id="query" value="筛选"/> |
| 59 | <input class="btn btn-default" type="button" id="export" value="导出"/> | 68 | <input class="btn btn-default" type="button" id="export" value="导出"/> |
| 60 | </div> | 69 | </div> |
| @@ -202,6 +211,7 @@ | @@ -202,6 +211,7 @@ | ||
| 202 | var startDate = $("#startDate").val(); | 211 | var startDate = $("#startDate").val(); |
| 203 | var endDate = $("#endDate").val(); | 212 | var endDate = $("#endDate").val(); |
| 204 | var model = $("#model").val(); | 213 | var model = $("#model").val(); |
| 214 | + var bcType = $('#bcType').val(); | ||
| 205 | var company = $("#company").val(); | 215 | var company = $("#company").val(); |
| 206 | var subCompany = $("#subCompany").val(); | 216 | var subCompany = $("#subCompany").val(); |
| 207 | function jsDoQuery(pagination){ | 217 | function jsDoQuery(pagination){ |
| @@ -218,6 +228,7 @@ | @@ -218,6 +228,7 @@ | ||
| 218 | startDate = $("#startDate").val(); | 228 | startDate = $("#startDate").val(); |
| 219 | endDate = $("#endDate").val(); | 229 | endDate = $("#endDate").val(); |
| 220 | model = $("#model").val(); | 230 | model = $("#model").val(); |
| 231 | + bcType = $("#bcType").val(); | ||
| 221 | company = $("#company").val(); | 232 | company = $("#company").val(); |
| 222 | subCompany = $("#subCompany").val(); | 233 | subCompany = $("#subCompany").val(); |
| 223 | params['page'] = page; | 234 | params['page'] = page; |
| @@ -225,6 +236,7 @@ | @@ -225,6 +236,7 @@ | ||
| 225 | params['startDate'] = startDate; | 236 | params['startDate'] = startDate; |
| 226 | params['endDate'] = endDate; | 237 | params['endDate'] = endDate; |
| 227 | params['model'] = model; | 238 | params['model'] = model; |
| 239 | + params['bcType'] = bcType; | ||
| 228 | params['company'] = company; | 240 | params['company'] = company; |
| 229 | params['subCompany'] = subCompany; | 241 | params['subCompany'] = subCompany; |
| 230 | params['type'] = "query"; | 242 | params['type'] = "query"; |
| @@ -274,12 +286,7 @@ | @@ -274,12 +286,7 @@ | ||
| 274 | line = ""; | 286 | line = ""; |
| 275 | updateModel(); | 287 | updateModel(); |
| 276 | }); | 288 | }); |
| 277 | - $('#startDate').on("blur", function(){ | ||
| 278 | - startDate = $("#startDate").val(); | ||
| 279 | - endDate = $("#endDate").val(); | ||
| 280 | - updateModel(); | ||
| 281 | - }); | ||
| 282 | - $('#endDate').on("blur", function(){ | 289 | + $('#startDate, #endDate').on("blur", function(){ |
| 283 | startDate = $("#startDate").val(); | 290 | startDate = $("#startDate").val(); |
| 284 | endDate = $("#endDate").val(); | 291 | endDate = $("#endDate").val(); |
| 285 | updateModel(); | 292 | updateModel(); |
src/main/resources/static/pages/forms/statement/scheduleAnaly_sum.html
| @@ -41,6 +41,14 @@ | @@ -41,6 +41,14 @@ | ||
| 41 | <span class="item-label" style="width: 80px;">线路: </span> | 41 | <span class="item-label" style="width: 80px;">线路: </span> |
| 42 | <select class="form-control" name="line" id="line" style="width: 160px;"></select> | 42 | <select class="form-control" name="line" id="line" style="width: 160px;"></select> |
| 43 | </div> | 43 | </div> |
| 44 | + <div style="display: inline-block;margin-left: 10px;"> | ||
| 45 | + <span class="item-label" style="width: 80px;">班次类型: </span> | ||
| 46 | + <select class="form-control" name="bcType" id="bcType" style="width: 160px;"> | ||
| 47 | + <option value="0">全部</option> | ||
| 48 | + <option value="1">全程</option> | ||
| 49 | + <option value="2">区间</option> | ||
| 50 | + </select> | ||
| 51 | + </div> | ||
| 44 | <div style="margin-top: 10px"></div> | 52 | <div style="margin-top: 10px"></div> |
| 45 | <div style="display: inline-block;margin-left: 10px;"> | 53 | <div style="display: inline-block;margin-left: 10px;"> |
| 46 | <span class="item-label" style="width: 80px;">开始时间: </span> | 54 | <span class="item-label" style="width: 80px;">开始时间: </span> |
| @@ -60,7 +68,7 @@ | @@ -60,7 +68,7 @@ | ||
| 60 | <!-- <option value="">请选择...</option> --> | 68 | <!-- <option value="">请选择...</option> --> |
| 61 | <!-- </select> --> | 69 | <!-- </select> --> |
| 62 | <!-- </div> --> | 70 | <!-- </div> --> |
| 63 | - <div class="form-group"> | 71 | + <div class="form-group" style="margin-left: 10px"> |
| 64 | <input class="btn btn-default" type="button" id="query" value="筛选"/> | 72 | <input class="btn btn-default" type="button" id="query" value="筛选"/> |
| 65 | <input class="btn btn-default" type="button" id="export" value="导出"/> | 73 | <input class="btn btn-default" type="button" id="export" value="导出"/> |
| 66 | </div> | 74 | </div> |
| @@ -207,6 +215,7 @@ | @@ -207,6 +215,7 @@ | ||
| 207 | var startDate = $("#startDate").val(); | 215 | var startDate = $("#startDate").val(); |
| 208 | var endDate = $("#endDate").val(); | 216 | var endDate = $("#endDate").val(); |
| 209 | var model = $("#model").val(); | 217 | var model = $("#model").val(); |
| 218 | + var bcType = "0"; | ||
| 210 | var nbbm = ""; | 219 | var nbbm = ""; |
| 211 | var company = $("#company").val(); | 220 | var company = $("#company").val(); |
| 212 | var subCompany = $("#subCompany").val(); | 221 | var subCompany = $("#subCompany").val(); |
| @@ -224,6 +233,7 @@ | @@ -224,6 +233,7 @@ | ||
| 224 | startDate = $("#startDate").val(); | 233 | startDate = $("#startDate").val(); |
| 225 | endDate = $("#endDate").val(); | 234 | endDate = $("#endDate").val(); |
| 226 | // model = $("#model").val(); | 235 | // model = $("#model").val(); |
| 236 | + bcType = $("#bcType").val(); | ||
| 227 | nbbm = $("#nbbm").val()!=null?$("#nbbm").val():""; | 237 | nbbm = $("#nbbm").val()!=null?$("#nbbm").val():""; |
| 228 | company = $("#company").val(); | 238 | company = $("#company").val(); |
| 229 | subCompany = $("#subCompany").val(); | 239 | subCompany = $("#subCompany").val(); |
| @@ -231,6 +241,7 @@ | @@ -231,6 +241,7 @@ | ||
| 231 | params['line'] = line; | 241 | params['line'] = line; |
| 232 | params['startDate'] = startDate; | 242 | params['startDate'] = startDate; |
| 233 | params['endDate'] = endDate; | 243 | params['endDate'] = endDate; |
| 244 | + params['bcType'] = bcType; | ||
| 234 | // params['model'] = model; | 245 | // params['model'] = model; |
| 235 | params['company'] = company; | 246 | params['company'] = company; |
| 236 | params['subCompany'] = subCompany; | 247 | params['subCompany'] = subCompany; |
| @@ -265,6 +276,7 @@ | @@ -265,6 +276,7 @@ | ||
| 265 | params['line'] = line; | 276 | params['line'] = line; |
| 266 | params['startDate'] = startDate; | 277 | params['startDate'] = startDate; |
| 267 | params['endDate'] = endDate; | 278 | params['endDate'] = endDate; |
| 279 | + params['bcType'] = bcType; | ||
| 268 | // params['model'] = model; | 280 | // params['model'] = model; |
| 269 | params['company'] = company; | 281 | params['company'] = company; |
| 270 | params['subCompany'] = subCompany; | 282 | params['subCompany'] = subCompany; |
src/main/resources/static/pages/forms/statement/scheduleDaily.html
| @@ -7,7 +7,8 @@ | @@ -7,7 +7,8 @@ | ||
| 7 | .table-bordered > tbody > tr > td, | 7 | .table-bordered > tbody > tr > td, |
| 8 | .table-bordered > tfoot > tr > th, | 8 | .table-bordered > tfoot > tr > th, |
| 9 | .table-bordered > tfoot > tr > td { | 9 | .table-bordered > tfoot > tr > td { |
| 10 | - border: 1px solid; } | 10 | + border: 1px solid; |
| 11 | + text-align: center; } | ||
| 11 | .table-bordered > thead > tr > th, | 12 | .table-bordered > thead > tr > th, |
| 12 | .table-bordered > thead > tr > td { | 13 | .table-bordered > thead > tr > td { |
| 13 | border-bottom-width: 2px; } | 14 | border-bottom-width: 2px; } |
| @@ -19,7 +20,7 @@ | @@ -19,7 +20,7 @@ | ||
| 19 | 20 | ||
| 20 | width: 5px; | 21 | width: 5px; |
| 21 | word-wrap: break-word; | 22 | word-wrap: break-word; |
| 22 | -letter-spacing: 20px; | 23 | +/* letter-spacing: 20px; */ |
| 23 | } | 24 | } |
| 24 | 25 | ||
| 25 | #forms tr> td >label{ | 26 | #forms tr> td >label{ |
src/main/resources/static/pages/forms/statement/waybill.html
| @@ -55,7 +55,7 @@ | @@ -55,7 +55,7 @@ | ||
| 55 | <div class="portlet-body"> | 55 | <div class="portlet-body"> |
| 56 | <div class="row"> | 56 | <div class="row"> |
| 57 | <div class="col-md-3"> | 57 | <div class="col-md-3"> |
| 58 | - <div class="" style="margin-top: 10px;overflow:auto;height: 860px"> | 58 | + <div class="" style="margin-top: 10px;overflow:auto;height: 520px"> |
| 59 | <table class="table table-bordered table-hover table-checkable pre-scrollable" id="info"> | 59 | <table class="table table-bordered table-hover table-checkable pre-scrollable" id="info"> |
| 60 | <thead> | 60 | <thead> |
| 61 | <tr class="hidden"> | 61 | <tr class="hidden"> |
| @@ -71,7 +71,7 @@ | @@ -71,7 +71,7 @@ | ||
| 71 | </div> | 71 | </div> |
| 72 | </div> | 72 | </div> |
| 73 | <div class="col-md-9" id="printArea"> | 73 | <div class="col-md-9" id="printArea"> |
| 74 | - <div class="table-container" style="margin-top: 10px;overflow:auto;min-width: 906px"> | 74 | + <div class="table-container" id="xcld_height" style="margin-top: 10px;overflow:auto;min-width: 906px;"> |
| 75 | <table class="table table-bordered table-checkable" id="forms"> | 75 | <table class="table table-bordered table-checkable" id="forms"> |
| 76 | <tbody class="ludan_1"> | 76 | <tbody class="ludan_1"> |
| 77 | 77 | ||
| @@ -106,6 +106,7 @@ | @@ -106,6 +106,7 @@ | ||
| 106 | locale : 'zh-cn' | 106 | locale : 'zh-cn' |
| 107 | }); | 107 | }); |
| 108 | 108 | ||
| 109 | + $("#xcld_height").height($(window).height()-100); | ||
| 109 | var d = new Date(); | 110 | var d = new Date(); |
| 110 | var year = d.getFullYear(); | 111 | var year = d.getFullYear(); |
| 111 | var month = d.getMonth() + 1; | 112 | var month = d.getMonth() + 1; |
| @@ -257,13 +258,14 @@ | @@ -257,13 +258,14 @@ | ||
| 257 | if($(this).children().size() < 2){ | 258 | if($(this).children().size() < 2){ |
| 258 | return; | 259 | return; |
| 259 | } | 260 | } |
| 260 | - | 261 | + $("#xcld_height").height($(window).height()-100); |
| 261 | $(this).children().each(function(index){ | 262 | $(this).children().each(function(index){ |
| 262 | params[index] = $(this).text(); | 263 | params[index] = $(this).text(); |
| 263 | }); | 264 | }); |
| 264 | jName = params[0].split("\\")[0]; | 265 | jName = params[0].split("\\")[0]; |
| 265 | jGh = params[0].split("\\")[1]; | 266 | jGh = params[0].split("\\")[1]; |
| 266 | var id = params[3]; | 267 | var id = params[3]; |
| 268 | + var obj = $(this); | ||
| 267 | $get('/realSchedule/MapById',{id:id},function(result){ | 269 | $get('/realSchedule/MapById',{id:id},function(result){ |
| 268 | result.scheduleDate = moment(result.scheduleDate).format("YYYY/MM/DD"); | 270 | result.scheduleDate = moment(result.scheduleDate).format("YYYY/MM/DD"); |
| 269 | var ludan_1 = template('ludan_1',result); | 271 | var ludan_1 = template('ludan_1',result); |
| @@ -279,8 +281,11 @@ | @@ -279,8 +281,11 @@ | ||
| 279 | $get('/realSchedule/findKMBC',{jGh:jGh,clZbh:params[1],lpName:params[2],date:date,line:line},function(result){ | 281 | $get('/realSchedule/findKMBC',{jGh:jGh,clZbh:params[1],lpName:params[2],date:date,line:line},function(result){ |
| 280 | var ludan_3 = template('ludan_3',result); | 282 | var ludan_3 = template('ludan_3',result); |
| 281 | $('#forms .ludan_3').html(ludan_3); | 283 | $('#forms .ludan_3').html(ludan_3); |
| 284 | + $("#info tbody tr").css('background-color', ''); | ||
| 285 | + obj.css('background-color', '#99CCFF'); | ||
| 282 | }); | 286 | }); |
| 283 | 287 | ||
| 288 | + | ||
| 284 | }); | 289 | }); |
| 285 | 290 | ||
| 286 | $("#export").on("click",function(){ | 291 | $("#export").on("click",function(){ |
| @@ -303,9 +308,12 @@ | @@ -303,9 +308,12 @@ | ||
| 303 | $("#info tbody tr").each(function(index){ | 308 | $("#info tbody tr").each(function(index){ |
| 304 | param[index] = new Array(); | 309 | param[index] = new Array(); |
| 305 | $(this).children().each(function(i){ | 310 | $(this).children().each(function(i){ |
| 306 | - param[index][i] = $(this).text().split("\\")[0]; | ||
| 307 | - if(i==0){ | ||
| 308 | - param[index][3] = $(this).text().split("\\")[1]; | 311 | + if(i<3){ |
| 312 | + param[index][i] = $(this).text().split("\\")[0]; | ||
| 313 | + if(i==0){ | ||
| 314 | + param[index][3] = $(this).text().split("\\")[1]; | ||
| 315 | + | ||
| 316 | + } | ||
| 309 | } | 317 | } |
| 310 | }); | 318 | }); |
| 311 | }); | 319 | }); |
src/main/resources/static/pages/mforms/operationservices/operationservice.html
src/main/resources/static/pages/mforms/shifdays/shifday.html
| @@ -104,6 +104,16 @@ $(function(){ | @@ -104,6 +104,16 @@ $(function(){ | ||
| 104 | format : 'YYYY-MM-DD', | 104 | format : 'YYYY-MM-DD', |
| 105 | locale : 'zh-cn' | 105 | locale : 'zh-cn' |
| 106 | }); | 106 | }); |
| 107 | + var d = new Date(); | ||
| 108 | + var year = d.getFullYear(); | ||
| 109 | + var month = d.getMonth() + 1; | ||
| 110 | + var day = d.getDate(); | ||
| 111 | + if(month < 10) | ||
| 112 | + month = "0" + month; | ||
| 113 | + if(day < 10) | ||
| 114 | + day = "0" + day; | ||
| 115 | + $("#date").val(year + "-" + month + "-" + day); | ||
| 116 | + | ||
| 107 | var fage=false; | 117 | var fage=false; |
| 108 | var obj = []; | 118 | var obj = []; |
| 109 | var xlList; | 119 | var xlList; |
| @@ -227,10 +237,14 @@ $(function(){ | @@ -227,10 +237,14 @@ $(function(){ | ||
| 227 | <script type="text/html" id="shifday"> | 237 | <script type="text/html" id="shifday"> |
| 228 | {{each list as obj i}} | 238 | {{each list as obj i}} |
| 229 | <tr> | 239 | <tr> |
| 230 | - <td>{{obj.jName}}</td> | ||
| 231 | - <td>{{obj.sName}}</td> | ||
| 232 | - <td>{{obj.lpName}}</td> | ||
| 233 | - <td>{{obj.carPlate}}</td> | 240 | + {{if obj.jName == '汇总合计'}} |
| 241 | + <td colspan='4'>{{obj.jName}}</td> | ||
| 242 | + {{else}} | ||
| 243 | + <td>{{obj.jName}}</td> | ||
| 244 | + <td>{{obj.sName}}</td> | ||
| 245 | + <td>{{obj.lpName}}</td> | ||
| 246 | + <td>{{obj.carPlate}}</td> | ||
| 247 | + {{/if}} | ||
| 234 | <td>{{obj.jhlc}}</td> | 248 | <td>{{obj.jhlc}}</td> |
| 235 | <td>{{obj.sjjhlc}}</td> | 249 | <td>{{obj.sjjhlc}}</td> |
| 236 | <td>{{obj.yygl}}</td> | 250 | <td>{{obj.yygl}}</td> |
src/main/resources/static/pages/mforms/shiftuehiclemanths/shiftuehiclemanth.html
| 1 | -<style type="text/css"> | ||
| 2 | - .table-bordered { | ||
| 3 | - border: 1px solid; } | ||
| 4 | - .table-bordered > thead > tr > th, | ||
| 5 | - .table-bordered > thead > tr > td, | ||
| 6 | - .table-bordered > tbody > tr > th, | ||
| 7 | - .table-bordered > tbody > tr > td, | ||
| 8 | - .table-bordered > tfoot > tr > th, | ||
| 9 | - .table-bordered > tfoot > tr > td { | ||
| 10 | - border: 1px solid; } | ||
| 11 | - .table-bordered > thead > tr > th, | ||
| 12 | - .table-bordered > thead > tr > td { | ||
| 13 | - border-bottom-width: 2px; | ||
| 14 | - text-align: center; } | ||
| 15 | - | ||
| 16 | - .table > tbody + tbody { | ||
| 17 | - border-top: 1px solid; } | ||
| 18 | -</style> | ||
| 19 | - | ||
| 20 | -<div class="page-head"> | ||
| 21 | - <div class="page-title"> | ||
| 22 | - <h1>班次车辆人员月报表</h1> | ||
| 23 | - </div> | ||
| 24 | -</div> | 1 | +<style type="text/css"> |
| 2 | + .table-bordered { | ||
| 3 | + border: 1px solid; } | ||
| 4 | + .table-bordered > thead > tr > th, | ||
| 5 | + .table-bordered > thead > tr > td, | ||
| 6 | + .table-bordered > tbody > tr > th, | ||
| 7 | + .table-bordered > tbody > tr > td, | ||
| 8 | + .table-bordered > tfoot > tr > th, | ||
| 9 | + .table-bordered > tfoot > tr > td { | ||
| 10 | + border: 1px solid; | ||
| 11 | + text-align: center; } | ||
| 12 | + .table-bordered > thead > tr > th, | ||
| 13 | + .table-bordered > thead > tr > td { | ||
| 14 | + border-bottom-width: 2px; | ||
| 15 | + text-align: center; } | ||
| 16 | + | ||
| 17 | + .table > tbody + tbody { | ||
| 18 | + border-top: 1px solid; } | ||
| 19 | +</style> | ||
| 20 | + | ||
| 21 | +<div class="page-head"> | ||
| 22 | + <div class="page-title"> | ||
| 23 | + <h1>班次车辆人员月报表</h1> | ||
| 24 | + </div> | ||
| 25 | +</div> | ||
| 25 | 26 | ||
| 26 | <div class="row"> | 27 | <div class="row"> |
| 27 | <div class="col-md-12"> | 28 | <div class="col-md-12"> |
| 28 | <div class="portlet light porttlet-fit bordered"> | 29 | <div class="portlet light porttlet-fit bordered"> |
| 29 | <div class="portlet-title"> | 30 | <div class="portlet-title"> |
| 30 | - <form class="form-inline" action=""> | ||
| 31 | - <div style="display: inline-block; margin-left: 33px;" id="gsdmDiv_manth"> | ||
| 32 | - <span class="item-label" style="width: 80px;">公司: </span> | ||
| 33 | - <select class="form-control" name="company" id="gsdmManth" style="width: 140px;"></select> | ||
| 34 | - </div> | ||
| 35 | - <div style="display: inline-block; margin-left: 24px;" id="fgsdmDiv_manth"> | ||
| 36 | - <span class="item-label" style="width: 80px;">分公司: </span> | ||
| 37 | - <select class="form-control" name="subCompany" id="fgsdmManth" style="width: 140px;"></select> | 31 | + <form class="form-inline" action=""> |
| 32 | + <div style="display: inline-block; margin-left: 33px;" id="gsdmDiv_manth"> | ||
| 33 | + <span class="item-label" style="width: 80px;">公司: </span> | ||
| 34 | + <select class="form-control" name="company" id="gsdmManth" style="width: 140px;"></select> | ||
| 35 | + </div> | ||
| 36 | + <div style="display: inline-block; margin-left: 24px;" id="fgsdmDiv_manth"> | ||
| 37 | + <span class="item-label" style="width: 80px;">分公司: </span> | ||
| 38 | + <select class="form-control" name="subCompany" id="fgsdmManth" style="width: 140px;"></select> | ||
| 38 | </div> | 39 | </div> |
| 39 | - <div style="display: inline-block;margin-left: 10px"> | ||
| 40 | - <span class="item-label" style="width: 150px;">线路: </span> | ||
| 41 | - <select class="form-control" name="line" id="line" style="width: 136px;"></select> | ||
| 42 | - </div> | ||
| 43 | - <div style="margin-top: 10px"> | ||
| 44 | - | ||
| 45 | - </div> | ||
| 46 | - <div style="display: inline-block;margin-left: 5px;"> | ||
| 47 | - <span class="item-label" style="width: 80px;">开始时间: </span> | ||
| 48 | - <input class="form-control" type="text" id="startDate" style="width: 140px;"/> | ||
| 49 | - </div> | ||
| 50 | - <div style="display: inline-block;margin-left: 10px;"> | ||
| 51 | - <span class="item-label" style="width: 80px;">结束时间: </span> | ||
| 52 | - <input class="form-control" type="text" id="endDate" style="width: 140px;"/> | ||
| 53 | - </div> | ||
| 54 | - <div style="display: inline-block;margin-left: 10px"> | ||
| 55 | - <span class="item-label" style="width: 80px;">统计: </span> | ||
| 56 | - <select class="form-control" style="width: 136px;" id='empnames'> | ||
| 57 | - <option value="驾驶员">驾驶员</option> | ||
| 58 | - <option value="售票员">售票员</option> | ||
| 59 | - <option value="车辆自编号">车辆自编号</option> | ||
| 60 | - </select> | ||
| 61 | - </div> | ||
| 62 | - <div class="form-group"> | ||
| 63 | - <input class="btn btn-default" type="button" id="query" value="筛选"/> | ||
| 64 | - <input class="btn btn-default" type="button" id="export" value="导出"/> | 40 | + <div style="display: inline-block;margin-left: 10px"> |
| 41 | + <span class="item-label" style="width: 150px;">线路: </span> | ||
| 42 | + <select class="form-control" name="line" id="line" style="width: 136px;"></select> | ||
| 43 | + </div> | ||
| 44 | + <div style="margin-top: 10px"> | ||
| 45 | + | ||
| 46 | + </div> | ||
| 47 | + <div style="display: inline-block;margin-left: 5px;"> | ||
| 48 | + <span class="item-label" style="width: 80px;">开始时间: </span> | ||
| 49 | + <input class="form-control" type="text" id="startDate" style="width: 140px;"/> | ||
| 50 | + </div> | ||
| 51 | + <div style="display: inline-block;margin-left: 10px;"> | ||
| 52 | + <span class="item-label" style="width: 80px;">结束时间: </span> | ||
| 53 | + <input class="form-control" type="text" id="endDate" style="width: 140px;"/> | ||
| 54 | + </div> | ||
| 55 | + <div style="display: inline-block;margin-left: 10px"> | ||
| 56 | + <span class="item-label" style="width: 80px;">统计: </span> | ||
| 57 | + <select class="form-control" style="width: 136px;" id='empnames'> | ||
| 58 | + <option value="驾驶员">驾驶员</option> | ||
| 59 | + <option value="售票员">售票员</option> | ||
| 60 | + <option value="车辆自编号">车辆自编号</option> | ||
| 61 | + </select> | ||
| 62 | + </div> | ||
| 63 | + <div class="form-group"> | ||
| 64 | + <input class="btn btn-default" type="button" id="query" value="筛选"/> | ||
| 65 | + <input class="btn btn-default" type="button" id="export" value="导出"/> | ||
| 65 | </div> | 66 | </div> |
| 66 | </form> | 67 | </form> |
| 67 | </div> | 68 | </div> |
| 68 | <div class="portlet-body"> | 69 | <div class="portlet-body"> |
| 69 | - <div class="table-container" style="margin-top: 10px;overflow:auto;min-width: 906px"> | ||
| 70 | - <table class="table table-bordered table-hover table-checkable" id="forms"> | ||
| 71 | - <thead> | ||
| 72 | - <tr> | ||
| 73 | - <th>序号</th> | ||
| 74 | - <th id='empname'>驾驶员</th> | ||
| 75 | - <th>运营里程</th> | ||
| 76 | - <th>空驶里程</th> | ||
| 77 | - <th>抽减里程</th> | ||
| 78 | - <th>增加里程</th> | ||
| 79 | - <th>总里程</th> | ||
| 80 | - <th>抽减班次</th> | ||
| 81 | - <th>增加班次</th> | ||
| 82 | - <th>实际班次</th> | ||
| 83 | - </tr> | ||
| 84 | - </thead> | ||
| 85 | - <tbody> | ||
| 86 | - | ||
| 87 | - </tbody> | ||
| 88 | - </table> | 70 | + <div class="table-container" style="margin-top: 10px;overflow:auto;min-width: 906px"> |
| 71 | + <table class="table table-bordered table-hover table-checkable" id="forms"> | ||
| 72 | + <thead> | ||
| 73 | + <tr> | ||
| 74 | + <th>序号</th> | ||
| 75 | + <th id='empname'>驾驶员</th> | ||
| 76 | + <th>运营里程</th> | ||
| 77 | + <th>空驶里程</th> | ||
| 78 | + <th>抽减里程</th> | ||
| 79 | + <th>增加里程</th> | ||
| 80 | + <th>总里程</th> | ||
| 81 | + <th>抽减班次</th> | ||
| 82 | + <th>增加班次</th> | ||
| 83 | + <th>实际班次</th> | ||
| 84 | + </tr> | ||
| 85 | + </thead> | ||
| 86 | + <tbody> | ||
| 87 | + | ||
| 88 | + </tbody> | ||
| 89 | + </table> | ||
| 89 | </div> | 90 | </div> |
| 90 | </div> | 91 | </div> |
| 91 | </div> | 92 | </div> |
| @@ -96,155 +97,165 @@ | @@ -96,155 +97,165 @@ | ||
| 96 | $(function(){ | 97 | $(function(){ |
| 97 | // 关闭左侧栏 | 98 | // 关闭左侧栏 |
| 98 | if (!$('body').hasClass('page-sidebar-closed')) | 99 | if (!$('body').hasClass('page-sidebar-closed')) |
| 99 | - $('.menu-toggler.sidebar-toggler').click(); | 100 | + $('.menu-toggler.sidebar-toggler').click(); |
| 100 | 101 | ||
| 101 | $("#startDate,#endDate").datetimepicker({ | 102 | $("#startDate,#endDate").datetimepicker({ |
| 102 | format : 'YYYY-MM-DD', | 103 | format : 'YYYY-MM-DD', |
| 103 | locale : 'zh-cn' | 104 | locale : 'zh-cn' |
| 104 | - }); | ||
| 105 | - var fage=false; | ||
| 106 | - var obj = []; | ||
| 107 | - var xlList; | ||
| 108 | - $.get('/report/lineList',function(result){ | ||
| 109 | - xlList=result; | ||
| 110 | - $.get('/user/companyData', function(result){ | ||
| 111 | - obj = result; | ||
| 112 | - var options = ''; | ||
| 113 | - for(var i = 0; i < obj.length; i++){ | ||
| 114 | - options += '<option value="'+obj[i].companyCode+'">'+obj[i].companyName+'</option>'; | ||
| 115 | - } | ||
| 116 | - | ||
| 117 | - if(obj.length ==0){ | ||
| 118 | - $("#gsdmDiv_manth").css('display','none'); | ||
| 119 | - $('#fgsdmDiv_manth').css('display','none'); | ||
| 120 | - }else if(obj.length ==1){ | ||
| 121 | - $("#gsdmDiv_manth").css('display','none'); | ||
| 122 | - if(obj[0].children.length == 1 || obj[0].children.length ==0) | ||
| 123 | - $('#fgsdmDiv_manth').css('display','none'); | ||
| 124 | - } | ||
| 125 | - $('#gsdmManth').html(options); | ||
| 126 | - updateCompany(); | ||
| 127 | - }); | ||
| 128 | - }) | ||
| 129 | - $("#gsdmManth").on("change",updateCompany); | ||
| 130 | - function updateCompany(){ | ||
| 131 | - var company = $('#gsdmManth').val(); | ||
| 132 | - var options = ''; | ||
| 133 | - for(var i = 0; i < obj.length; i++){ | ||
| 134 | - if(obj[i].companyCode == company){ | ||
| 135 | - var children = obj[i].children; | ||
| 136 | - for(var j = 0; j < children.length; j++){ | ||
| 137 | - options += '<option value="'+children[j].code+'">'+children[j].name+'</option>'; | ||
| 138 | - } | ||
| 139 | - } | ||
| 140 | - } | ||
| 141 | - $('#fgsdmManth').html(options); | ||
| 142 | - initXl(); | ||
| 143 | - } | ||
| 144 | - $("#fgsdmManth").on("change",initXl); | ||
| 145 | - function initXl(){ | ||
| 146 | - var data=[]; | ||
| 147 | - if(fage){ | ||
| 148 | - $("#line").select2("destroy").html(''); | ||
| 149 | - } | ||
| 150 | - var fgs=$('#fgsdmManth').val(); | ||
| 151 | - var gs=$('#gsdmManth').val(); | ||
| 152 | - for(var i=0;i<xlList.length;i++){ | ||
| 153 | - if(gs!=""){ | ||
| 154 | - if(fgs!=""){ | ||
| 155 | - if(xlList[i]["fgsbm"]==fgs && xlList[i]["gsbm"]==gs){ | ||
| 156 | - data.push({id: xlList[i]["xlbm"], text: xlList[i]["xlname"]}); | ||
| 157 | - } | ||
| 158 | - }else{ | ||
| 159 | - if(xlList[i]["gsbm"]==gs){ | ||
| 160 | - data.push({id: xlList[i]["xlbm"], text: xlList[i]["xlname"]}); | ||
| 161 | - } | ||
| 162 | - } | ||
| 163 | - } | ||
| 164 | - } | ||
| 165 | - initPinYinSelect2('#line',data,''); | ||
| 166 | - fage=true; | ||
| 167 | - } | ||
| 168 | - $("#query").on("click",function(){ | ||
| 169 | - if($("#startDate").val() == null || $("#startDate").val().trim().length == 0){ | ||
| 170 | - layer.msg("请选择时间范围!"); | ||
| 171 | - return; | ||
| 172 | - } | ||
| 173 | - if($("#endDate").val() == null || $("#endDate").val().trim().length == 0){ | ||
| 174 | - layer.msg("请选择时间范围!"); | ||
| 175 | - return; | ||
| 176 | - } | ||
| 177 | - $("#empname").html($("#empnames").val()) | ||
| 178 | - var params={}; | ||
| 179 | - params.empnames=$("#empnames").val(); | ||
| 180 | - params.line = $("#line").val(); | ||
| 181 | - params.startDate = $("#startDate").val(); | ||
| 182 | - params.endDate = $("#endDate").val(); | ||
| 183 | - params.lpName = $("#lpName").val(); | ||
| 184 | - params.gsdmManth= $("#gsdmManth").val(); | ||
| 185 | - params.fgsdmManth= $("#fgsdmManth").val(); | ||
| 186 | - $get("/mcy_forms/shiftuehiclemanth",params,function(result){ | ||
| 187 | - $("#sDate").text(startDate); | ||
| 188 | - $("#eDate").text(endDate); | ||
| 189 | - var temp = {}; | ||
| 190 | - var today_account = 0; | ||
| 191 | - temp["line"] = $("#line").text(); | ||
| 192 | - $.each(result, function(i, obj) { | ||
| 193 | - if(moment(obj.schedule_date_str).format("YYYY-MM-DD") == moment(obj.startDate).format("YYYY-MM-DD")){ | ||
| 194 | - today_account++; | ||
| 195 | - } | ||
| 196 | - obj.updateDate = moment(obj.startDate).format("YYYY-MM-DD HH:mm:ss"); | ||
| 197 | - }); | ||
| 198 | - | ||
| 199 | - var list_shiftuehiclemanth = template('list_shiftuehiclemanth',{list:result}); | ||
| 200 | - // 把渲染好的模版html文本追加到表格中 | ||
| 201 | - $('#forms tbody').html(list_shiftuehiclemanth); | ||
| 202 | - | ||
| 203 | - }); | ||
| 204 | - }); | ||
| 205 | - | ||
| 206 | - $("#export").on("click",function(){ | ||
| 207 | - var params={}; | ||
| 208 | - params.empnames=$("#empnames").val(); | ||
| 209 | - params.line = $("#line").val(); | ||
| 210 | - params.startDate = $("#startDate").val(); | ||
| 211 | - params.endDate = $("#endDate").val(); | ||
| 212 | - params.lpName = $("#lpName").val(); | ||
| 213 | - params.gsdmManth= $("#gsdmManth").val(); | ||
| 214 | - params.fgsdmManth= $("#fgsdmManth").val(); | ||
| 215 | - params.type='export'; | ||
| 216 | - $get('/mcy_export/shiftuehiclemanthExport',params,function(result){ | ||
| 217 | - window.open("/downloadFile/download?fileName=班次车辆人员月报表"+moment($("#startDate").val()).format("YYYYMMDD")); | ||
| 218 | - }); | ||
| 219 | - }); | 105 | + }); |
| 106 | + var d = new Date(); | ||
| 107 | + var year = d.getFullYear(); | ||
| 108 | + var month = d.getMonth() + 1; | ||
| 109 | + var day = d.getDate(); | ||
| 110 | + if(month < 10) | ||
| 111 | + month = "0" + month; | ||
| 112 | + if(day < 10) | ||
| 113 | + day = "0" + day; | ||
| 114 | + $("#startDate,#endDate").val(year + "-" + month + "-" + day); | ||
| 115 | + | ||
| 116 | + var fage=false; | ||
| 117 | + var obj = []; | ||
| 118 | + var xlList; | ||
| 119 | + $.get('/report/lineList',function(result){ | ||
| 120 | + xlList=result; | ||
| 121 | + $.get('/user/companyData', function(result){ | ||
| 122 | + obj = result; | ||
| 123 | + var options = ''; | ||
| 124 | + for(var i = 0; i < obj.length; i++){ | ||
| 125 | + options += '<option value="'+obj[i].companyCode+'">'+obj[i].companyName+'</option>'; | ||
| 126 | + } | ||
| 127 | + | ||
| 128 | + if(obj.length ==0){ | ||
| 129 | + $("#gsdmDiv_manth").css('display','none'); | ||
| 130 | + $('#fgsdmDiv_manth').css('display','none'); | ||
| 131 | + }else if(obj.length ==1){ | ||
| 132 | + $("#gsdmDiv_manth").css('display','none'); | ||
| 133 | + if(obj[0].children.length == 1 || obj[0].children.length ==0) | ||
| 134 | + $('#fgsdmDiv_manth').css('display','none'); | ||
| 135 | + } | ||
| 136 | + $('#gsdmManth').html(options); | ||
| 137 | + updateCompany(); | ||
| 138 | + }); | ||
| 139 | + }) | ||
| 140 | + $("#gsdmManth").on("change",updateCompany); | ||
| 141 | + function updateCompany(){ | ||
| 142 | + var company = $('#gsdmManth').val(); | ||
| 143 | + var options = ''; | ||
| 144 | + for(var i = 0; i < obj.length; i++){ | ||
| 145 | + if(obj[i].companyCode == company){ | ||
| 146 | + var children = obj[i].children; | ||
| 147 | + for(var j = 0; j < children.length; j++){ | ||
| 148 | + options += '<option value="'+children[j].code+'">'+children[j].name+'</option>'; | ||
| 149 | + } | ||
| 150 | + } | ||
| 151 | + } | ||
| 152 | + $('#fgsdmManth').html(options); | ||
| 153 | + initXl(); | ||
| 154 | + } | ||
| 155 | + $("#fgsdmManth").on("change",initXl); | ||
| 156 | + function initXl(){ | ||
| 157 | + var data=[]; | ||
| 158 | + if(fage){ | ||
| 159 | + $("#line").select2("destroy").html(''); | ||
| 160 | + } | ||
| 161 | + var fgs=$('#fgsdmManth').val(); | ||
| 162 | + var gs=$('#gsdmManth').val(); | ||
| 163 | + for(var i=0;i<xlList.length;i++){ | ||
| 164 | + if(gs!=""){ | ||
| 165 | + if(fgs!=""){ | ||
| 166 | + if(xlList[i]["fgsbm"]==fgs && xlList[i]["gsbm"]==gs){ | ||
| 167 | + data.push({id: xlList[i]["xlbm"], text: xlList[i]["xlname"]}); | ||
| 168 | + } | ||
| 169 | + }else{ | ||
| 170 | + if(xlList[i]["gsbm"]==gs){ | ||
| 171 | + data.push({id: xlList[i]["xlbm"], text: xlList[i]["xlname"]}); | ||
| 172 | + } | ||
| 173 | + } | ||
| 174 | + } | ||
| 175 | + } | ||
| 176 | + initPinYinSelect2('#line',data,''); | ||
| 177 | + fage=true; | ||
| 178 | + } | ||
| 179 | + $("#query").on("click",function(){ | ||
| 180 | + if($("#startDate").val() == null || $("#startDate").val().trim().length == 0){ | ||
| 181 | + layer.msg("请选择时间范围!"); | ||
| 182 | + return; | ||
| 183 | + } | ||
| 184 | + if($("#endDate").val() == null || $("#endDate").val().trim().length == 0){ | ||
| 185 | + layer.msg("请选择时间范围!"); | ||
| 186 | + return; | ||
| 187 | + } | ||
| 188 | + $("#empname").html($("#empnames").val()) | ||
| 189 | + var params={}; | ||
| 190 | + params.empnames=$("#empnames").val(); | ||
| 191 | + params.line = $("#line").val(); | ||
| 192 | + params.startDate = $("#startDate").val(); | ||
| 193 | + params.endDate = $("#endDate").val(); | ||
| 194 | + params.lpName = $("#lpName").val(); | ||
| 195 | + params.gsdmManth= $("#gsdmManth").val(); | ||
| 196 | + params.fgsdmManth= $("#fgsdmManth").val(); | ||
| 197 | + $get("/mcy_forms/shiftuehiclemanth",params,function(result){ | ||
| 198 | + $("#sDate").text(startDate); | ||
| 199 | + $("#eDate").text(endDate); | ||
| 200 | + var temp = {}; | ||
| 201 | + var today_account = 0; | ||
| 202 | + temp["line"] = $("#line").text(); | ||
| 203 | + $.each(result, function(i, obj) { | ||
| 204 | + if(moment(obj.schedule_date_str).format("YYYY-MM-DD") == moment(obj.startDate).format("YYYY-MM-DD")){ | ||
| 205 | + today_account++; | ||
| 206 | + } | ||
| 207 | + obj.updateDate = moment(obj.startDate).format("YYYY-MM-DD HH:mm:ss"); | ||
| 208 | + }); | ||
| 209 | + | ||
| 210 | + var list_shiftuehiclemanth = template('list_shiftuehiclemanth',{list:result}); | ||
| 211 | + // 把渲染好的模版html文本追加到表格中 | ||
| 212 | + $('#forms tbody').html(list_shiftuehiclemanth); | ||
| 213 | + | ||
| 214 | + }); | ||
| 215 | + }); | ||
| 216 | + | ||
| 217 | + $("#export").on("click",function(){ | ||
| 218 | + var params={}; | ||
| 219 | + params.empnames=$("#empnames").val(); | ||
| 220 | + params.line = $("#line").val(); | ||
| 221 | + params.startDate = $("#startDate").val(); | ||
| 222 | + params.endDate = $("#endDate").val(); | ||
| 223 | + params.lpName = $("#lpName").val(); | ||
| 224 | + params.gsdmManth= $("#gsdmManth").val(); | ||
| 225 | + params.fgsdmManth= $("#fgsdmManth").val(); | ||
| 226 | + params.type='export'; | ||
| 227 | + $get('/mcy_export/shiftuehiclemanthExport',params,function(result){ | ||
| 228 | + window.open("/downloadFile/download?fileName=班次车辆人员月报表"+moment($("#startDate").val()).format("YYYYMMDD")); | ||
| 229 | + }); | ||
| 230 | + }); | ||
| 220 | 231 | ||
| 221 | - }); | ||
| 222 | - | ||
| 223 | -// $("#empnames").change(function(){ | ||
| 224 | -// $("#empname").html($("#empnames").val()) | ||
| 225 | -// // $("#query").click(); | ||
| 226 | - | ||
| 227 | -// }); | 232 | + }); |
| 233 | + | ||
| 234 | +// $("#empnames").change(function(){ | ||
| 235 | +// $("#empname").html($("#empnames").val()) | ||
| 236 | +// // $("#query").click(); | ||
| 237 | + | ||
| 238 | +// }); | ||
| 228 | 239 | ||
| 229 | </script> | 240 | </script> |
| 230 | <script type="text/html" id="list_shiftuehiclemanth"> | 241 | <script type="text/html" id="list_shiftuehiclemanth"> |
| 231 | {{each list as obj i}} | 242 | {{each list as obj i}} |
| 232 | - <tr> | 243 | + <tr> |
| 233 | <td>{{i+1}}</td> | 244 | <td>{{i+1}}</td> |
| 234 | - <td>{{obj.jName}}</td> | ||
| 235 | - <td>{{obj.jhlc}}</td> | ||
| 236 | - <td>{{obj.emptMileage}}</td> | ||
| 237 | - <td>{{obj.remMileage}}</td> | ||
| 238 | - <td>{{obj.addMileage}}</td> | ||
| 239 | - <td>{{obj.totalm}}</td> | ||
| 240 | - <td>{{obj.cjbc}}</td> | ||
| 241 | - <td>{{obj.ljbc}}</td> | 245 | + <td>{{obj.jName}}</td> |
| 246 | + <td>{{obj.jhlc}}</td> | ||
| 247 | + <td>{{obj.emptMileage}}</td> | ||
| 248 | + <td>{{obj.remMileage}}</td> | ||
| 249 | + <td>{{obj.addMileage}}</td> | ||
| 250 | + <td>{{obj.totalm}}</td> | ||
| 251 | + <td>{{obj.cjbc}}</td> | ||
| 252 | + <td>{{obj.ljbc}}</td> | ||
| 242 | <td>{{obj.sjbc}}</td> | 253 | <td>{{obj.sjbc}}</td> |
| 243 | </tr> | 254 | </tr> |
| 244 | - {{/each}} | ||
| 245 | - {{if list.length == 0}} | ||
| 246 | - <tr> | ||
| 247 | - <td colspan="10"><h6 class="muted">没有找到相关数据</h6></td> | ||
| 248 | - </tr> | 255 | + {{/each}} |
| 256 | + {{if list.length == 0}} | ||
| 257 | + <tr> | ||
| 258 | + <td colspan="10"><h6 class="muted">没有找到相关数据</h6></td> | ||
| 259 | + </tr> | ||
| 249 | {{/if}} | 260 | {{/if}} |
| 250 | </script> | 261 | </script> |
| 251 | \ No newline at end of file | 262 | \ No newline at end of file |
src/main/resources/static/pages/oil/add.html
| @@ -74,7 +74,7 @@ | @@ -74,7 +74,7 @@ | ||
| 74 | <div class="form-group"> | 74 | <div class="form-group"> |
| 75 | <label class="col-md-3 control-label">出场里程</label> | 75 | <label class="col-md-3 control-label">出场里程</label> |
| 76 | <div class="col-md-4"> | 76 | <div class="col-md-4"> |
| 77 | - <input type="text" class="form-control" name="czlc" onkeyup="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')" | 77 | + <input type="text" value="0" class="form-control" name="czlc" onkeyup="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')" |
| 78 | onafterpaste="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')"> | 78 | onafterpaste="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')"> |
| 79 | </div> | 79 | </div> |
| 80 | </div> | 80 | </div> |
| @@ -82,7 +82,7 @@ | @@ -82,7 +82,7 @@ | ||
| 82 | <div class="form-group"> | 82 | <div class="form-group"> |
| 83 | <label class="col-md-3 control-label">出场油量</label> | 83 | <label class="col-md-3 control-label">出场油量</label> |
| 84 | <div class="col-md-4"> | 84 | <div class="col-md-4"> |
| 85 | - <input type="text" class="form-control" name="czyl" onkeyup="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')" | 85 | + <input type="text" value="0" class="form-control" name="czyl" onkeyup="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')" |
| 86 | onafterpaste="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')"> | 86 | onafterpaste="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')"> |
| 87 | </div> | 87 | </div> |
| 88 | </div> | 88 | </div> |
| @@ -90,7 +90,7 @@ | @@ -90,7 +90,7 @@ | ||
| 90 | <div class="form-group"> | 90 | <div class="form-group"> |
| 91 | <label class="col-md-3 control-label">加油量</label> | 91 | <label class="col-md-3 control-label">加油量</label> |
| 92 | <div class="col-md-4"> | 92 | <div class="col-md-4"> |
| 93 | - <input type="text" class="form-control" name="jzl" onkeyup="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')" | 93 | + <input type="text" value="0" class="form-control" name="jzl" onkeyup="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')" |
| 94 | onafterpaste="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')"> | 94 | onafterpaste="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')"> |
| 95 | </div> | 95 | </div> |
| 96 | </div> | 96 | </div> |
| @@ -98,7 +98,7 @@ | @@ -98,7 +98,7 @@ | ||
| 98 | <div class="form-group"> | 98 | <div class="form-group"> |
| 99 | <label class="col-md-3 control-label">进场油量</label> | 99 | <label class="col-md-3 control-label">进场油量</label> |
| 100 | <div class="col-md-4"> | 100 | <div class="col-md-4"> |
| 101 | - <input type="text" class="form-control" name="jzyl" onkeyup="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')" | 101 | + <input type="text" value="0" class="form-control" name="jzyl" onkeyup="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')" |
| 102 | onafterpaste="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')"> | 102 | onafterpaste="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')"> |
| 103 | </div> | 103 | </div> |
| 104 | </div> | 104 | </div> |
| @@ -106,7 +106,7 @@ | @@ -106,7 +106,7 @@ | ||
| 106 | <div class="form-group"> | 106 | <div class="form-group"> |
| 107 | <label class="col-md-3 control-label">油耗</label> | 107 | <label class="col-md-3 control-label">油耗</label> |
| 108 | <div class="col-md-4"> | 108 | <div class="col-md-4"> |
| 109 | - <input type="text" class="form-control" name="yh" onkeyup="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')" | 109 | + <input type="text" value="0" class="form-control" name="yh" onkeyup="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')" |
| 110 | onafterpaste="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')"> | 110 | onafterpaste="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')"> |
| 111 | </div> | 111 | </div> |
| 112 | </div> | 112 | </div> |
| @@ -124,7 +124,7 @@ | @@ -124,7 +124,7 @@ | ||
| 124 | <div class="form-group"> | 124 | <div class="form-group"> |
| 125 | <label class="col-md-3 control-label">尿素</label> | 125 | <label class="col-md-3 control-label">尿素</label> |
| 126 | <div class="col-md-4"> | 126 | <div class="col-md-4"> |
| 127 | - <input type="text" class="form-control" name="ns" onkeyup="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')" | 127 | + <input type="text" value="0" class="form-control" name="ns" onkeyup="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')" |
| 128 | onafterpaste="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')"> | 128 | onafterpaste="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')"> |
| 129 | </div> | 129 | </div> |
| 130 | </div> | 130 | </div> |
| @@ -132,7 +132,7 @@ | @@ -132,7 +132,7 @@ | ||
| 132 | <div class="form-group"> | 132 | <div class="form-group"> |
| 133 | <label class="col-md-3 control-label">进场里程</label> | 133 | <label class="col-md-3 control-label">进场里程</label> |
| 134 | <div class="col-md-4"> | 134 | <div class="col-md-4"> |
| 135 | - <input type="text" class="form-control" name="jzlc" onkeyup="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')" | 135 | + <input type="text" value="0" class="form-control" name="jzlc" onkeyup="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')" |
| 136 | onafterpaste="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')"> | 136 | onafterpaste="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')"> |
| 137 | </div> | 137 | </div> |
| 138 | </div> | 138 | </div> |
| @@ -155,14 +155,14 @@ | @@ -155,14 +155,14 @@ | ||
| 155 | <div class="form-group"> | 155 | <div class="form-group"> |
| 156 | <label class="col-md-3 control-label">损耗油量</label> | 156 | <label class="col-md-3 control-label">损耗油量</label> |
| 157 | <div class="col-md-4"> | 157 | <div class="col-md-4"> |
| 158 | - <input type="text" class="form-control" name="sh" onkeyup="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')" | 158 | + <input type="text" value="0" class="form-control" name="sh" onkeyup="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')" |
| 159 | onafterpaste="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')"> | 159 | onafterpaste="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')"> |
| 160 | </div> | 160 | </div> |
| 161 | </div> | 161 | </div> |
| 162 | <div class="form-group"> | 162 | <div class="form-group"> |
| 163 | <label class="col-md-3 control-label">行驶总里程</label> | 163 | <label class="col-md-3 control-label">行驶总里程</label> |
| 164 | <div class="col-md-4"> | 164 | <div class="col-md-4"> |
| 165 | - <input type="text" class="form-control" name="zlc" onkeyup="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')" | 165 | + <input type="text" value="0" class="form-control" name="zlc" onkeyup="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')" |
| 166 | onafterpaste="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')"> | 166 | onafterpaste="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')"> |
| 167 | </div> | 167 | </div> |
| 168 | </div> | 168 | </div> |
src/main/resources/static/pages/oil/jyglList.html
| @@ -69,7 +69,7 @@ | @@ -69,7 +69,7 @@ | ||
| 69 | <th width="3%">油价</th> | 69 | <th width="3%">油价</th> |
| 70 | <th width="4%">路单工号</th> | 70 | <th width="4%">路单工号</th> |
| 71 | <th width="4%">备注</th> | 71 | <th width="4%">备注</th> |
| 72 | - <th width="10%">总加注量</th> | 72 | + <th width="10%">操作</th> |
| 73 | </tr> | 73 | </tr> |
| 74 | <tr role="row" class="filter"> | 74 | <tr role="row" class="filter"> |
| 75 | <td></td> | 75 | <td></td> |
| @@ -160,7 +160,7 @@ onkeyup="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').rep | @@ -160,7 +160,7 @@ onkeyup="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').rep | ||
| 160 | type="text" value="{{obj.bz}}" style=" width:45px" /> | 160 | type="text" value="{{obj.bz}}" style=" width:45px" /> |
| 161 | </td> | 161 | </td> |
| 162 | <td> | 162 | <td> |
| 163 | - {{obj.zjzl}} | 163 | + |
| 164 | </td> | 164 | </td> |
| 165 | </tr> | 165 | </tr> |
| 166 | {{/each}} | 166 | {{/each}} |
src/main/resources/static/pages/report/oil/oilListMonth.html
| @@ -37,7 +37,7 @@ | @@ -37,7 +37,7 @@ | ||
| 37 | </div> | 37 | </div> |
| 38 | <div class="form-group"> | 38 | <div class="form-group"> |
| 39 | <input class="btn btn-default" type="button" id="query" value="查询"/> | 39 | <input class="btn btn-default" type="button" id="query" value="查询"/> |
| 40 | -<!-- <input class="btn btn-default" type="button" id="export" value="导出"/> --> | 40 | + <input class="btn btn-default" type="button" id="export" value="导出"/> |
| 41 | </div> | 41 | </div> |
| 42 | </form> | 42 | </form> |
| 43 | </div> | 43 | </div> |
| @@ -115,18 +115,36 @@ | @@ -115,18 +115,36 @@ | ||
| 115 | initPinYinSelect2('#line',data,''); | 115 | initPinYinSelect2('#line',data,''); |
| 116 | 116 | ||
| 117 | }) | 117 | }) |
| 118 | + | ||
| 118 | //查询 | 119 | //查询 |
| 119 | $("#query").on('click',function(){ | 120 | $("#query").on('click',function(){ |
| 121 | + if($("#date").val() == null || $("#date").val().trim().length == 0){ | ||
| 122 | + layer.msg("请选择日期!"); | ||
| 123 | + return; | ||
| 124 | + } | ||
| 120 | var line = $("#line").val(); | 125 | var line = $("#line").val(); |
| 121 | var date = $("#date").val(); | 126 | var date = $("#date").val(); |
| 122 | - $get('/ylb/oilListMonth',{line:line,date:date},function(result){ | ||
| 123 | - $.each(result, function(i, obj) { | ||
| 124 | - obj.rq = moment(obj.rq).format("DD"); | ||
| 125 | - }); | 127 | + $get('/ylb/oilListMonth',{line:line,date:date,type:'query'},function(result){ |
| 128 | +// $.each(result, function(i, obj) { | ||
| 129 | +// obj.rq = moment(obj.rq).format("DD"); | ||
| 130 | +// }); | ||
| 126 | var oilListMonth = template('oilListMonth',{list:result}); | 131 | var oilListMonth = template('oilListMonth',{list:result}); |
| 127 | $('#forms tbody').html(oilListMonth); | 132 | $('#forms tbody').html(oilListMonth); |
| 128 | }); | 133 | }); |
| 129 | }); | 134 | }); |
| 135 | + | ||
| 136 | + //导出 | ||
| 137 | + $("#export").on("click",function(){ | ||
| 138 | + if($("#date").val() == null || $("#date").val().trim().length == 0){ | ||
| 139 | + layer.msg("请选择日期!"); | ||
| 140 | + return; | ||
| 141 | + } | ||
| 142 | + var line = $("#line").val(); | ||
| 143 | + var date = $("#date").val(); | ||
| 144 | + $get('/ylb/oilListMonth', {line:line,date:date,type:'export'}, function(result){ | ||
| 145 | + window.open("/downloadFile/download?fileName=月存油报表"+moment(date).format("YYYYMMDD")); | ||
| 146 | + }); | ||
| 147 | + }); | ||
| 130 | }); | 148 | }); |
| 131 | </script> | 149 | </script> |
| 132 | <script type="text/html" id="oilListMonth"> | 150 | <script type="text/html" id="oilListMonth"> |
src/main/resources/static/pages/report/timetable/timetable.html
| @@ -165,19 +165,21 @@ | @@ -165,19 +165,21 @@ | ||
| 165 | <div class="col-md-6" > | 165 | <div class="col-md-6" > |
| 166 | <table class="table table-bordered table-checkable" id="formsTime5"> | 166 | <table class="table table-bordered table-checkable" id="formsTime5"> |
| 167 | <tr> | 167 | <tr> |
| 168 | - <td colspan="7">全日分组行驶时间(区间除外)</td> | 168 | + <td colspan="8">全日分组行驶时间(区间除外)</td> |
| 169 | </tr> | 169 | </tr> |
| 170 | <tr> | 170 | <tr> |
| 171 | <td width="20%" rowspan="2" style="text-align:center;vertical-align:middle;">分组 时间</td> | 171 | <td width="20%" rowspan="2" style="text-align:center;vertical-align:middle;">分组 时间</td> |
| 172 | - <td width="23%" colspan="2" style="text-align:center;vertical-align:middle;">计划行驶(分)</td> | ||
| 173 | - <td width="15%" rowspan="2" style="text-align:center;vertical-align:middle;">分圈时间</td> | ||
| 174 | - <td width="15%" rowspan="2" style="text-align:center;vertical-align:middle;">停驶时间</td> | ||
| 175 | - <td width="15%" rowspan="2" style="text-align:center;vertical-align:middle;">车距区间</td> | ||
| 176 | - <td width="12%" rowspan="2" style="text-align:center;vertical-align:middle;">平均车距</td> | 172 | + <td width="19%" colspan="2" style="text-align:center;vertical-align:middle;">计划行驶(分)</td> |
| 173 | + <td width="19%" colspan="2" style="text-align:center;vertical-align:middle;">停站时间</td> | ||
| 174 | + <td width="14%" rowspan="2" style="text-align:center;vertical-align:middle;">周转时间</td> | ||
| 175 | + <td width="14%" rowspan="2" style="text-align:center;vertical-align:middle;">车距区间</td> | ||
| 176 | + <td width="14%" rowspan="2" style="text-align:center;vertical-align:middle;">平均车距</td> | ||
| 177 | </tr> | 177 | </tr> |
| 178 | <tr> | 178 | <tr> |
| 179 | <td>上行</td> | 179 | <td>上行</td> |
| 180 | <td style="text-align:center;">下行</td> | 180 | <td style="text-align:center;">下行</td> |
| 181 | + <td>上行</td> | ||
| 182 | + <td style="text-align:center;">下行</td> | ||
| 181 | </tr> | 183 | </tr> |
| 182 | <tbody class="tbody_time_5"> | 184 | <tbody class="tbody_time_5"> |
| 183 | 185 | ||
| @@ -405,15 +407,16 @@ | @@ -405,15 +407,16 @@ | ||
| 405 | <td align="center">{{result.sjd}}</td> | 407 | <td align="center">{{result.sjd}}</td> |
| 406 | <td align="center">{{result.sxsj}}</td> | 408 | <td align="center">{{result.sxsj}}</td> |
| 407 | <td align="center">{{result.xxsj}}</td> | 409 | <td align="center">{{result.xxsj}}</td> |
| 410 | + <td align="center">{{result.sxtssj}}</td> | ||
| 411 | + <td align="center">{{result.xxtssj}}</td> | ||
| 408 | <td align="center">{{result.fqsj}}</td> | 412 | <td align="center">{{result.fqsj}}</td> |
| 409 | - <td align="center">{{result.tssj}}</td> | ||
| 410 | <td align="center">{{result.cjqj}}</td> | 413 | <td align="center">{{result.cjqj}}</td> |
| 411 | <td align="center">{{result.pjcj}}</td> | 414 | <td align="center">{{result.pjcj}}</td> |
| 412 | </tr> | 415 | </tr> |
| 413 | {{/each}} | 416 | {{/each}} |
| 414 | {{if list.length == 0}} | 417 | {{if list.length == 0}} |
| 415 | <tr> | 418 | <tr> |
| 416 | - <td colspan="7"><h6 class="muted">没有找到相关数据</h6></td> | 419 | + <td colspan="8"><h6 class="muted">没有找到相关数据</h6></td> |
| 417 | </tr> | 420 | </tr> |
| 418 | {{/if}} | 421 | {{/if}} |
| 419 | </script> | 422 | </script> |
src/main/resources/static/pages/trafficManage/js/timeTempletUpload.js
| 1 | /** | 1 | /** |
| 2 | * | 2 | * |
| 3 | - * @JSName : common.js(运管功能公共js) | ||
| 4 | - * | ||
| 5 | - * @Author : bsth@lq | ||
| 6 | - * | ||
| 7 | - * @Description : TODO(运管功能公共js) | ||
| 8 | - * | 3 | + * @JSName : timeTempletUpload.js(运管处js) |
| 4 | + * | ||
| 5 | + * @Author : bsth@zq | ||
| 6 | + * | ||
| 7 | + * @Description : TODO(运管功能公共js) | ||
| 8 | + * | ||
| 9 | * @Data : 2016年6月29日 上午9:21:17 | 9 | * @Data : 2016年6月29日 上午9:21:17 |
| 10 | * | 10 | * |
| 11 | * @Version 公交调度系统BS版 0.1 | 11 | * @Version 公交调度系统BS版 0.1 |
| 12 | - * | 12 | + * |
| 13 | */ | 13 | */ |
| 14 | 14 | ||
| 15 | (function(){ | 15 | (function(){ |
| @@ -34,7 +34,7 @@ | @@ -34,7 +34,7 @@ | ||
| 34 | } | 34 | } |
| 35 | var lines = new Array(); | 35 | var lines = new Array(); |
| 36 | var gsmap = getBusMap(); | 36 | var gsmap = getBusMap(); |
| 37 | - | 37 | + |
| 38 | $('#line').select2({ | 38 | $('#line').select2({ |
| 39 | ajax: { | 39 | ajax: { |
| 40 | url: '/realSchedule/findLine', | 40 | url: '/realSchedule/findLine', |
| @@ -73,7 +73,7 @@ | @@ -73,7 +73,7 @@ | ||
| 73 | } | 73 | } |
| 74 | } | 74 | } |
| 75 | }); | 75 | }); |
| 76 | - | 76 | + |
| 77 | // 绑定查询事件 | 77 | // 绑定查询事件 |
| 78 | $("#search").click(searchM); | 78 | $("#search").click(searchM); |
| 79 | // 绑定上传事件 | 79 | // 绑定上传事件 |
| @@ -92,16 +92,17 @@ | @@ -92,16 +92,17 @@ | ||
| 92 | $("#right_div table tbody").empty(); | 92 | $("#right_div table tbody").empty(); |
| 93 | var params = {}; | 93 | var params = {}; |
| 94 | // 取得输入框的值 | 94 | // 取得输入框的值 |
| 95 | - var inputs = $(".param input,select");debugger; | 95 | + var inputs = $(".param input,select"); |
| 96 | // 遍历数组 | 96 | // 遍历数组 |
| 97 | $.each(inputs, function(i, element) { | 97 | $.each(inputs, function(i, element) { |
| 98 | params[$(element).attr("name")] = $(element).val(); | 98 | params[$(element).attr("name")] = $(element).val(); |
| 99 | }); | 99 | }); |
| 100 | var i = layer.load(2); | 100 | var i = layer.load(2); |
| 101 | - $get('/tic', params, function(data) { | ||
| 102 | - _dateFormat(data.content); | 101 | + $get('/tic_ec', params, function(data) { |
| 102 | + var content = data.data.content; | ||
| 103 | + _dateFormat(content); | ||
| 103 | var bodyHtm = template('timeTemplet_list_temp', { | 104 | var bodyHtm = template('timeTemplet_list_temp', { |
| 104 | - list : data.content | 105 | + list : content |
| 105 | }); | 106 | }); |
| 106 | $("#left_div table tbody").empty(); | 107 | $("#left_div table tbody").empty(); |
| 107 | $("#left_div table tbody").append(bodyHtm); | 108 | $("#left_div table tbody").append(bodyHtm); |
| @@ -112,7 +113,7 @@ | @@ -112,7 +113,7 @@ | ||
| 112 | 113 | ||
| 113 | // 上传方法 | 114 | // 上传方法 |
| 114 | function uploadM() { | 115 | function uploadM() { |
| 115 | - | 116 | + |
| 116 | // 取得输入框的值 | 117 | // 取得输入框的值 |
| 117 | var trs = $("#right_div tbody tr input"); | 118 | var trs = $("#right_div tbody tr input"); |
| 118 | if (trs.length == 0) { | 119 | if (trs.length == 0) { |
| @@ -128,14 +129,14 @@ | @@ -128,14 +129,14 @@ | ||
| 128 | $.ajax({ | 129 | $.ajax({ |
| 129 | type: 'get',url: '/trmg/setSKB', | 130 | type: 'get',url: '/trmg/setSKB', |
| 130 | data: params ,dataType:'text', | 131 | data: params ,dataType:'text', |
| 131 | - success:function(data) { | 132 | + success:function(data) { |
| 132 | if(data == 'success'){ | 133 | if(data == 'success'){ |
| 133 | alert("上传成功"); | 134 | alert("上传成功"); |
| 134 | }else{ | 135 | }else{ |
| 135 | alert("上传失败"); | 136 | alert("上传失败"); |
| 136 | } | 137 | } |
| 137 | - | ||
| 138 | - }, error : function() { | 138 | + |
| 139 | + }, error : function() { | ||
| 139 | alert("操作失败"); | 140 | alert("操作失败"); |
| 140 | } | 141 | } |
| 141 | 142 | ||
| @@ -180,23 +181,30 @@ | @@ -180,23 +181,30 @@ | ||
| 180 | obj.qyrq = moment(obj.qyrq).format(fs); | 181 | obj.qyrq = moment(obj.qyrq).format(fs); |
| 181 | }); | 182 | }); |
| 182 | } | 183 | } |
| 183 | - /* | 184 | + |
| 184 | // 绑定查询事件 | 185 | // 绑定查询事件 |
| 185 | $("#setXL").click(setXLF); | 186 | $("#setXL").click(setXLF); |
| 186 | - var params = {}; | 187 | + |
| 187 | function setXLF() { | 188 | function setXLF() { |
| 189 | + var params = {}; | ||
| 190 | + // 取得输入框的值 | ||
| 191 | + var inputs = $(".param input,select");debugger; | ||
| 192 | + // 遍历数组 | ||
| 193 | + $.each(inputs, function(i, element) { | ||
| 194 | + params[$(element).attr("name")] = $(element).val(); | ||
| 195 | + }); | ||
| 188 | $.ajax({ | 196 | $.ajax({ |
| 189 | type: 'get',url: '/trmg/setXL', | 197 | type: 'get',url: '/trmg/setXL', |
| 190 | data: params ,dataType:'text', | 198 | data: params ,dataType:'text', |
| 191 | - success:function(data) { | 199 | + success:function(data) { |
| 192 | alert(data); | 200 | alert(data); |
| 193 | - }, error : function() { | 201 | + }, error : function() { |
| 194 | alert("操作失败"); | 202 | alert("操作失败"); |
| 195 | } | 203 | } |
| 196 | 204 | ||
| 197 | }); | 205 | }); |
| 198 | } | 206 | } |
| 199 | - | 207 | + |
| 200 | // 绑定查询事件 | 208 | // 绑定查询事件 |
| 201 | $("#setCL").click(setCLF); | 209 | $("#setCL").click(setCLF); |
| 202 | var params = {}; | 210 | var params = {}; |
| @@ -204,15 +212,15 @@ | @@ -204,15 +212,15 @@ | ||
| 204 | $.ajax({ | 212 | $.ajax({ |
| 205 | type: 'get',url: '/trmg/setCL', | 213 | type: 'get',url: '/trmg/setCL', |
| 206 | data: params ,dataType:'text', | 214 | data: params ,dataType:'text', |
| 207 | - success:function(data) { | 215 | + success:function(data) { |
| 208 | alert(data); | 216 | alert(data); |
| 209 | - }, error : function() { | 217 | + }, error : function() { |
| 210 | alert("操作失败"); | 218 | alert("操作失败"); |
| 211 | } | 219 | } |
| 212 | 220 | ||
| 213 | }); | 221 | }); |
| 214 | } | 222 | } |
| 215 | - | 223 | + |
| 216 | // 绑定查询事件 | 224 | // 绑定查询事件 |
| 217 | $("#setSJ").click(setSJF); | 225 | $("#setSJ").click(setSJF); |
| 218 | var params = {}; | 226 | var params = {}; |
| @@ -220,47 +228,79 @@ | @@ -220,47 +228,79 @@ | ||
| 220 | $.ajax({ | 228 | $.ajax({ |
| 221 | type: 'get',url: '/trmg/setSJ', | 229 | type: 'get',url: '/trmg/setSJ', |
| 222 | data: params ,dataType:'text', | 230 | data: params ,dataType:'text', |
| 223 | - success:function(data) { | 231 | + success:function(data) { |
| 224 | alert(data); | 232 | alert(data); |
| 225 | - }, error : function() { | 233 | + }, error : function() { |
| 226 | alert("操作失败"); | 234 | alert("操作失败"); |
| 227 | } | 235 | } |
| 228 | 236 | ||
| 229 | }); | 237 | }); |
| 230 | } | 238 | } |
| 231 | - | 239 | + |
| 232 | // 绑定查询事件 | 240 | // 绑定查询事件 |
| 233 | - $("#setCS").click(setCSF); | 241 | + $("#setLD").click(setLDF); |
| 234 | var params = {}; | 242 | var params = {}; |
| 235 | - function setCSF() { | 243 | + function setLDF() { |
| 236 | $.ajax({ | 244 | $.ajax({ |
| 237 | - type: 'get',url: '/trmg/setCS', | 245 | + type: 'get',url: '/trmg/setLD', |
| 238 | data: params ,dataType:'text', | 246 | data: params ,dataType:'text', |
| 239 | - success:function(data) { | 247 | + success:function(data) { |
| 240 | alert(data); | 248 | alert(data); |
| 241 | - }, error : function() { | 249 | + }, error : function() { |
| 242 | alert("操作失败"); | 250 | alert("操作失败"); |
| 243 | } | 251 | } |
| 244 | 252 | ||
| 245 | }); | 253 | }); |
| 246 | } | 254 | } |
| 247 | - | 255 | + |
| 256 | + // 绑定查询事件 | ||
| 257 | + $("#setLDFile").click(setLDFileF); | ||
| 258 | + var params = {}; | ||
| 259 | + function setLDFileF() { | ||
| 260 | + $.ajax({ | ||
| 261 | + type: 'get',url: '/trmg/setLDFile', | ||
| 262 | + data: params ,dataType:'text', | ||
| 263 | + success:function(data) { | ||
| 264 | + alert(data); | ||
| 265 | + }, error : function() { | ||
| 266 | + alert("操作失败"); | ||
| 267 | + } | ||
| 268 | + | ||
| 269 | + }); | ||
| 270 | + } | ||
| 271 | + | ||
| 248 | // 绑定查询事件 | 272 | // 绑定查询事件 |
| 249 | - $("#setXLPC").click(setXLPCF); | 273 | + $("#setLCYH").click(setLCYHF); |
| 250 | var params = {}; | 274 | var params = {}; |
| 251 | - function setXLPCF() { | 275 | + function setLCYHF() { |
| 252 | $.ajax({ | 276 | $.ajax({ |
| 253 | - type: 'get',url: '/trmg/setXLPC', | 277 | + type: 'get',url: '/trmg/setLCYH', |
| 254 | data: params ,dataType:'text', | 278 | data: params ,dataType:'text', |
| 255 | - success:function(data) { | 279 | + success:function(data) { |
| 256 | alert(data); | 280 | alert(data); |
| 257 | - }, error : function() { | 281 | + }, error : function() { |
| 258 | alert("操作失败"); | 282 | alert("操作失败"); |
| 259 | } | 283 | } |
| 260 | 284 | ||
| 261 | }); | 285 | }); |
| 262 | } | 286 | } |
| 263 | - | 287 | + |
| 288 | + // 绑定查询事件 | ||
| 289 | + $("#setDDRB").click(setDDRBF); | ||
| 290 | + var params = {}; | ||
| 291 | + function setDDRBF() { | ||
| 292 | + $.ajax({ | ||
| 293 | + type: 'get',url: '/trmg/setDDRB', | ||
| 294 | + data: params ,dataType:'text', | ||
| 295 | + success:function(data) { | ||
| 296 | + alert(data); | ||
| 297 | + }, error : function() { | ||
| 298 | + alert("操作失败"); | ||
| 299 | + } | ||
| 300 | + | ||
| 301 | + }); | ||
| 302 | + } | ||
| 303 | + | ||
| 264 | // 绑定查询事件 | 304 | // 绑定查询事件 |
| 265 | $("#setJHBC").click(setJHBCF); | 305 | $("#setJHBC").click(setJHBCF); |
| 266 | var params = {}; | 306 | var params = {}; |
| @@ -268,13 +308,62 @@ | @@ -268,13 +308,62 @@ | ||
| 268 | $.ajax({ | 308 | $.ajax({ |
| 269 | type: 'get',url: '/trmg/setJHBC', | 309 | type: 'get',url: '/trmg/setJHBC', |
| 270 | data: params ,dataType:'text', | 310 | data: params ,dataType:'text', |
| 271 | - success:function(data) { | 311 | + success:function(data) { |
| 312 | + alert(data); | ||
| 313 | + }, error : function() { | ||
| 314 | + alert("操作失败"); | ||
| 315 | + } | ||
| 316 | + | ||
| 317 | + }); | ||
| 318 | + } | ||
| 319 | + | ||
| 320 | + // 绑定查询事件 | ||
| 321 | + $("#setXLPC").click(setXLPCF); | ||
| 322 | + var params = {}; | ||
| 323 | + function setXLPCF() { | ||
| 324 | + $.ajax({ | ||
| 325 | + type: 'get',url: '/trmg/setXLPC', | ||
| 326 | + data: params ,dataType:'text', | ||
| 327 | + success:function(data) { | ||
| 272 | alert(data); | 328 | alert(data); |
| 273 | - }, error : function() { | 329 | + }, error : function() { |
| 274 | alert("操作失败"); | 330 | alert("操作失败"); |
| 275 | } | 331 | } |
| 276 | 332 | ||
| 277 | }); | 333 | }); |
| 278 | - }*/ | 334 | + } |
| 335 | + | ||
| 336 | + | ||
| 337 | + // 绑定查询事件 | ||
| 338 | + $("#setCS").click(setCSF); | ||
| 339 | + var params = {}; | ||
| 340 | + function setCSF() { | ||
| 341 | + $.ajax({ | ||
| 342 | + type: 'get',url: '/trmg/setCS', | ||
| 343 | + data: params ,dataType:'text', | ||
| 344 | + success:function(data) { | ||
| 345 | + alert(data); | ||
| 346 | + }, error : function() { | ||
| 347 | + alert("操作失败"); | ||
| 348 | + } | ||
| 349 | + | ||
| 350 | + }); | ||
| 351 | + } | ||
| 352 | + | ||
| 353 | + // 绑定查询事件 | ||
| 354 | + $("#downloadAllDataFile").click(getDownLoadAllDataFileF); | ||
| 355 | + var params = {}; | ||
| 356 | + function getDownLoadAllDataFileF() { | ||
| 357 | + $.ajax({ | ||
| 358 | + type: 'get',url: '/trmg/getDownLoadAllDataFile', | ||
| 359 | + data: params ,dataType:'text', | ||
| 360 | + success:function(data) { | ||
| 361 | + alert(data); | ||
| 362 | + }, error : function() { | ||
| 363 | + alert("操作失败"); | ||
| 364 | + } | ||
| 365 | + | ||
| 366 | + }); | ||
| 367 | + } | ||
| 279 | 368 | ||
| 280 | })(); | 369 | })(); |
| 281 | \ No newline at end of file | 370 | \ No newline at end of file |
src/main/resources/static/pages/trafficManage/js/timeTempletUploadRecord.js
| @@ -13,6 +13,7 @@ | @@ -13,6 +13,7 @@ | ||
| 13 | */ | 13 | */ |
| 14 | 14 | ||
| 15 | (function(){ | 15 | (function(){ |
| 16 | + var page = 0, initPagination; | ||
| 16 | // 关闭左侧栏 | 17 | // 关闭左侧栏 |
| 17 | if (!$('body').hasClass('page-sidebar-closed')) | 18 | if (!$('body').hasClass('page-sidebar-closed')) |
| 18 | $('.menu-toggler.sidebar-toggler').click(); | 19 | $('.menu-toggler.sidebar-toggler').click(); |
| @@ -69,6 +70,49 @@ | @@ -69,6 +70,49 @@ | ||
| 69 | $('#brancheCompanySelect').html(options).on('change', setLineAutocompleteOptions); | 70 | $('#brancheCompanySelect').html(options).on('change', setLineAutocompleteOptions); |
| 70 | } | 71 | } |
| 71 | } | 72 | } |
| 73 | + | ||
| 74 | + function setLineAutocompleteOptions(){ | ||
| 75 | + // 搜索参数集合 | ||
| 76 | + var params = {}; | ||
| 77 | + // 搜索字段名称 | ||
| 78 | + var name; | ||
| 79 | + var items = $("ul.breadcrumb select"); | ||
| 80 | + // 遍历items集合 | ||
| 81 | + for(var j = 0, item; item = items[j++];){ | ||
| 82 | + // 获取字段名称 | ||
| 83 | + name = $(item).attr('name'); | ||
| 84 | + if(name){ | ||
| 85 | + // 赋取相对应的值 | ||
| 86 | + params[name] = $(item).val(); | ||
| 87 | + } | ||
| 88 | + } | ||
| 89 | + var lines = new Array(); | ||
| 90 | + var gsmap = getBusMap(); | ||
| 91 | + // 取得所有线路 | ||
| 92 | + $get('/line/all', params, function(allLine) { | ||
| 93 | + // 遍历数组 | ||
| 94 | + $.each(allLine, function(i, e) { | ||
| 95 | + var companyCode = e.company; | ||
| 96 | + e.company = gsmap[e.company]; | ||
| 97 | + e.brancheCompany = gsmap[companyCode+"_"+e.brancheCompany]; | ||
| 98 | + var line = '{"hex":"'+e.company+'","label":"'+e.name+'"}'; | ||
| 99 | + var obj = jQuery.parseJSON(line); | ||
| 100 | + lines[i]= obj; | ||
| 101 | + }); | ||
| 102 | + | ||
| 103 | + | ||
| 104 | + }); | ||
| 105 | + // 给输入框绑定autocomplete事件 | ||
| 106 | + $("#line_name").autocompleter({ | ||
| 107 | + highlightMatches: true, | ||
| 108 | + source: lines, | ||
| 109 | + template: '{{ label }} <span>({{ hex }})</span>', | ||
| 110 | + hint: true, | ||
| 111 | + empty: false, | ||
| 112 | + limit: 5, | ||
| 113 | + }); | ||
| 114 | + } | ||
| 115 | + | ||
| 72 | // 日期控件 | 116 | // 日期控件 |
| 73 | $('#dateInput').datetimepicker({ | 117 | $('#dateInput').datetimepicker({ |
| 74 | // 日期控件时间格式 | 118 | // 日期控件时间格式 |
| @@ -140,7 +184,7 @@ | @@ -140,7 +184,7 @@ | ||
| 140 | }); | 184 | }); |
| 141 | }); | 185 | }); |
| 142 | // 给输入框绑定autocomplete事件 | 186 | // 给输入框绑定autocomplete事件 |
| 143 | - $("input[name='xl.name_eq']").autocompleter({ | 187 | + $("#line_name").autocompleter({ |
| 144 | highlightMatches : true, | 188 | highlightMatches : true, |
| 145 | source : lines, | 189 | source : lines, |
| 146 | template : '{{ label }} <span>({{ hex }})</span>', | 190 | template : '{{ label }} <span>({{ hex }})</span>', |
| @@ -150,5 +194,66 @@ | @@ -150,5 +194,66 @@ | ||
| 150 | }); | 194 | }); |
| 151 | // 设置autocompleter的宽度和输入框一样 | 195 | // 设置autocompleter的宽度和输入框一样 |
| 152 | $(".autocompleter").css("width", | 196 | $(".autocompleter").css("width", |
| 153 | - $("input[name='xl.name_eq']").css("width")); | 197 | + $("#line_name").css("width")); |
| 198 | + | ||
| 199 | + searchM(null, true); | ||
| 200 | + // 绑定查询事件 | ||
| 201 | + $("#search").click(searchM); | ||
| 202 | + // 查询方法 | ||
| 203 | + function searchM(p, pagination) { | ||
| 204 | + var params = {}; | ||
| 205 | + // 取得输入框的值 | ||
| 206 | + var inputs = $(".breadcrumb input,select"); | ||
| 207 | + // 遍历数组 | ||
| 208 | + $.each(inputs, function(i, element) { | ||
| 209 | + params[$(element).attr("name")] = $(element).val(); | ||
| 210 | + }); | ||
| 211 | + var i = layer.load(2); | ||
| 212 | + $get('/skb_log', params, function(data) { | ||
| 213 | + var content = data.content; | ||
| 214 | + _dateFormat(content); | ||
| 215 | + var bodyHtm = template('timeTempletUploadRecord_list_temp', { | ||
| 216 | + list : content | ||
| 217 | + }); | ||
| 218 | + $('#datatable_logger tbody').html(bodyHtm); | ||
| 219 | + if(pagination && data.content.length > 0){ | ||
| 220 | + //重新分页 | ||
| 221 | + initPagination = true; | ||
| 222 | + showPagination(data); | ||
| 223 | + } | ||
| 224 | + layer.close(i); | ||
| 225 | + }); | ||
| 226 | + } | ||
| 227 | + | ||
| 228 | + //转换时间格式 | ||
| 229 | + function _dateFormat(list) { | ||
| 230 | + var fs = 'YYYY-MM-DD HH:mm'; | ||
| 231 | + $.each(list, function(i, obj) { | ||
| 232 | + obj.createDate = moment(obj.createDate).format(fs); | ||
| 233 | + }); | ||
| 234 | + } | ||
| 235 | + | ||
| 236 | + function showPagination(data){ | ||
| 237 | + //分页 | ||
| 238 | + $('#pagination').jqPaginator({ | ||
| 239 | + totalPages: data.totalPages, | ||
| 240 | + visiblePages: 6, | ||
| 241 | + currentPage: page + 1, | ||
| 242 | + first: '<li class="first"><a href="javascript:void(0);">首页<\/a><\/li>', | ||
| 243 | + prev: '<li class="prev"><a href="javascript:void(0);">上一页<\/a><\/li>', | ||
| 244 | + next: '<li class="next"><a href="javascript:void(0);">下一页<\/a><\/li>', | ||
| 245 | + last: '<li class="last"><a href="javascript:void(0);">尾页<\/a><\/li>', | ||
| 246 | + page: '<li class="page"><a href="javascript:void(0);">{{page}}<\/a><\/li>', | ||
| 247 | + onPageChange: function (num, type) { | ||
| 248 | + if(initPagination){ | ||
| 249 | + initPagination = false; | ||
| 250 | + return; | ||
| 251 | + } | ||
| 252 | + | ||
| 253 | + | ||
| 254 | + page = num - 1; | ||
| 255 | + searchM(null, false); | ||
| 256 | + } | ||
| 257 | + }); | ||
| 258 | + } | ||
| 154 | })(); | 259 | })(); |
| 155 | \ No newline at end of file | 260 | \ No newline at end of file |
src/main/resources/static/pages/trafficManage/timeTempletUploadRecord.html
| @@ -10,16 +10,16 @@ | @@ -10,16 +10,16 @@ | ||
| 10 | <div class="col-md-12"> | 10 | <div class="col-md-12"> |
| 11 | <ul class="breadcrumb"> | 11 | <ul class="breadcrumb"> |
| 12 | <li>筛选数据:</li> | 12 | <li>筛选数据:</li> |
| 13 | - <li><select name="company_eq" class="form-control" id="companySelect"></select></li> | ||
| 14 | - <li><select name="brancheCompany_eq" class="form-control" id="brancheCompanySelect"></select></li> | 13 | + <li><select name="ttInfo.xl.company_eq" class="form-control" id="companySelect"></select></li> |
| 14 | + <li><select name="ttInfo.xl.brancheCompany_eq" class="form-control" id="brancheCompanySelect"></select></li> | ||
| 15 | <li>日期:</li> | 15 | <li>日期:</li> |
| 16 | - <li><input type="text" class="inputCommon dateTime" name="date" id="dateInput" placeholder="日期"></li> | 16 | + <li><input type="text" class="inputCommon dateTime" name="createDate_date_eq" id="dateInput" placeholder="日期"></li> |
| 17 | <li>线路名称:</li> | 17 | <li>线路名称:</li> |
| 18 | <li><input type="text" class="form-control form-filter input-sm" | 18 | <li><input type="text" class="form-control form-filter input-sm" |
| 19 | - name="xl.name_eq" maxlength="40" /></li> | 19 | + name="ttInfo.xl.name_eq" id="line_name" maxlength="40" /></li> |
| 20 | <li>上传用户:</li> | 20 | <li>上传用户:</li> |
| 21 | <li><input type="text" class="inputCommon inputCarPlate" | 21 | <li><input type="text" class="inputCommon inputCarPlate" |
| 22 | - name="xl.user_eq" maxlength="40" /></li> | 22 | + name="user.name_like" maxlength="40" /></li> |
| 23 | <li><a class="btn btn-circle blue" id="search">筛选</a></li> | 23 | <li><a class="btn btn-circle blue" id="search">筛选</a></li> |
| 24 | </ul> | 24 | </ul> |
| 25 | </div> | 25 | </div> |
| @@ -27,7 +27,8 @@ | @@ -27,7 +27,8 @@ | ||
| 27 | <div class="_panel"> | 27 | <div class="_panel"> |
| 28 | <div class="table-container"> | 28 | <div class="table-container"> |
| 29 | <table | 29 | <table |
| 30 | - class="table table-striped table-bordered table-advance pb-table head"> | 30 | + class="table table-striped table-bordered table-advance pb-table head" |
| 31 | + id="datatable_logger"> | ||
| 31 | <thead> | 32 | <thead> |
| 32 | <tr> | 33 | <tr> |
| 33 | <th>序号</th> | 34 | <th>序号</th> |
| @@ -49,35 +50,97 @@ | @@ -49,35 +50,97 @@ | ||
| 49 | </div> | 50 | </div> |
| 50 | </div> | 51 | </div> |
| 51 | </div> | 52 | </div> |
| 52 | -<script id="lineStationRecord_list_temp" type="text/html"> | 53 | +<script id="timeTempletUploadRecord_list_temp" type="text/html"> |
| 53 | {{each list as obj i}} | 54 | {{each list as obj i}} |
| 54 | <tr> | 55 | <tr> |
| 55 | <td class="seq" style="vertical-align: middle;"> | 56 | <td class="seq" style="vertical-align: middle;"> |
| 56 | {{i+1}} | 57 | {{i+1}} |
| 57 | </td> | 58 | </td> |
| 58 | <td> | 59 | <td> |
| 59 | - {{obj.name}} | 60 | + {{if obj.ttInfo.xl.company == '55'}} |
| 61 | + 上南公司 | ||
| 62 | + {{else if obj.ttInfo.xl.company == '22'}} | ||
| 63 | + 金高公司 | ||
| 64 | + {{else if obj.ttInfo.xl.company == '05'}} | ||
| 65 | + 杨高公司 | ||
| 66 | + {{else if obj.ttInfo.xl.company == '26'}} | ||
| 67 | + 南汇公司 | ||
| 68 | + {{else if obj.ttInfo.xl.company == '77'}} | ||
| 69 | + 闵行公司 | ||
| 70 | + {{/if}} | ||
| 60 | </td> | 71 | </td> |
| 61 | - <td class="ttInfoId"> | ||
| 62 | - {{obj.company}} | 72 | + <td> |
| 73 | + {{if obj.ttInfo.xl.company == '55'}} | ||
| 74 | + | ||
| 75 | + {{if obj.ttInfo.xl.brancheCompany == '1'}} | ||
| 76 | + 上南二分公司 | ||
| 77 | + {{else if obj.ttInfo.xl.brancheCompany == '2'}} | ||
| 78 | + 上南三分公司 | ||
| 79 | + {{else if obj.ttInfo.xl.brancheCompany == '3'}} | ||
| 80 | + 上南六分公司 | ||
| 81 | + {{else if obj.ttInfo.xl.brancheCompany == '4'}} | ||
| 82 | + 上南一分公司 | ||
| 83 | + {{/if}} | ||
| 84 | + | ||
| 85 | + {{else if obj.ttInfo.xl.company == '22'}} | ||
| 86 | + | ||
| 87 | + {{if obj.ttInfo.xl.brancheCompany == '1'}} | ||
| 88 | + 四分公司 | ||
| 89 | + {{else if obj.ttInfo.xl.brancheCompany == '2'}} | ||
| 90 | + 二分公司 | ||
| 91 | + {{else if obj.ttInfo.xl.brancheCompany == '3'}} | ||
| 92 | + 三分公司 | ||
| 93 | + {{else if obj.ttInfo.xl.brancheCompany == '5'}} | ||
| 94 | + 一分公司 | ||
| 95 | + {{/if}} | ||
| 96 | + | ||
| 97 | + {{else if obj.ttInfo.xl.company == '05'}} | ||
| 98 | + | ||
| 99 | + {{if obj.ttInfo.xl.brancheCompany == '1'}} | ||
| 100 | + 川沙分公司 | ||
| 101 | + {{else if obj.ttInfo.xl.brancheCompany == '2'}} | ||
| 102 | + 金桥分公司 | ||
| 103 | + {{else if obj.ttInfo.xl.brancheCompany == '3'}} | ||
| 104 | + 芦潮港分公司 | ||
| 105 | + {{else if obj.ttInfo.xl.brancheCompany == '5'}} | ||
| 106 | + 杨高分公司 | ||
| 107 | + {{else if obj.ttInfo.xl.brancheCompany == '6'}} | ||
| 108 | + 周浦分公司 | ||
| 109 | + {{/if}} | ||
| 110 | + | ||
| 111 | + {{else if obj.ttInfo.xl.company == '26'}} | ||
| 112 | + | ||
| 113 | + {{if obj.ttInfo.xl.brancheCompany == '1'}} | ||
| 114 | + 南汇一分 | ||
| 115 | + {{else if obj.ttInfo.xl.brancheCompany == '2'}} | ||
| 116 | + 南汇二分 | ||
| 117 | + {{else if obj.ttInfo.xl.brancheCompany == '3'}} | ||
| 118 | + 南汇三分 | ||
| 119 | + {{else if obj.ttInfo.xl.brancheCompany == '4'}} | ||
| 120 | + 南汇维修公司 | ||
| 121 | + {{else if obj.ttInfo.xl.brancheCompany == '5'}} | ||
| 122 | + 南汇公司 | ||
| 123 | + {{/if}} | ||
| 124 | + | ||
| 125 | + {{/if}} | ||
| 63 | </td> | 126 | </td> |
| 64 | <td> | 127 | <td> |
| 65 | - {{obj.name}} | 128 | + {{obj.ttInfo.xl.name}} |
| 66 | </td> | 129 | </td> |
| 67 | <td> | 130 | <td> |
| 68 | - {{obj.company}} | 131 | + {{obj.ttInfo.name}} |
| 69 | </td> | 132 | </td> |
| 70 | <td> | 133 | <td> |
| 71 | - | 134 | + {{obj.user.name}} |
| 72 | </td> | 135 | </td> |
| 73 | - <td > | ||
| 74 | - | 136 | + <td> |
| 137 | + {{obj.createDate}} | ||
| 75 | </td> | 138 | </td> |
| 76 | </tr> | 139 | </tr> |
| 77 | {{/each}} | 140 | {{/each}} |
| 78 | {{if list.length == 0}} | 141 | {{if list.length == 0}} |
| 79 | <tr class="muted"> | 142 | <tr class="muted"> |
| 80 | - <td colspan=5 style="text-align: center;"><h6>没有找到相关数据</h6></td> | 143 | + <td colspan=7 style="text-align: center;"><h6>没有找到相关数据</h6></td> |
| 81 | </tr> | 144 | </tr> |
| 82 | {{/if}} | 145 | {{/if}} |
| 83 | </script> | 146 | </script> |
src/test/java/com/bsth/service/schedule/BaseTest.java deleted
100644 → 0
| 1 | -package com.bsth.service.schedule; | ||
| 2 | - | ||
| 3 | -import org.junit.runner.RunWith; | ||
| 4 | -import org.springframework.boot.test.SpringApplicationConfiguration; | ||
| 5 | -import org.springframework.test.context.ActiveProfiles; | ||
| 6 | -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; | ||
| 7 | - | ||
| 8 | -/** | ||
| 9 | - * 基础测试类。 | ||
| 10 | - */ | ||
| 11 | -@RunWith(SpringJUnit4ClassRunner.class) | ||
| 12 | -@SpringApplicationConfiguration(classes = ScheduleTestApp.class) | ||
| 13 | -@ActiveProfiles("scheduletest") | ||
| 14 | -//@WebIntegrationTest({"server.port=0","management.port=0"}) | ||
| 15 | -public class BaseTest { | ||
| 16 | -} |
src/test/java/com/bsth/service/schedule/ScheduleTestApp.java deleted
100644 → 0
| 1 | -package com.bsth.service.schedule; | ||
| 2 | - | ||
| 3 | -import com.bsth.service.schedule.impl.SchedulePlanRuleResultServiceImpl; | ||
| 4 | -import com.bsth.service.schedule.impl.SchedulePlanServiceImpl; | ||
| 5 | -import com.bsth.service.schedule.rules.MyDroolsConfiguration; | ||
| 6 | -import com.bsth.service.schedule.utils.DataToolsServiceImpl; | ||
| 7 | -import org.springframework.boot.autoconfigure.SpringBootApplication; | ||
| 8 | -import org.springframework.boot.orm.jpa.EntityScan; | ||
| 9 | -import org.springframework.context.annotation.ComponentScan; | ||
| 10 | -import org.springframework.context.annotation.Configuration; | ||
| 11 | -import org.springframework.context.annotation.FilterType; | ||
| 12 | -import org.springframework.data.jpa.repository.config.EnableJpaRepositories; | ||
| 13 | - | ||
| 14 | -/** | ||
| 15 | - * 基础测试类(用于计划调度模块测试测试)。 | ||
| 16 | - * 配置计划调度的模块的用到的entity,repository,service | ||
| 17 | - * | ||
| 18 | - * 注意:测试环境下测试类 TestApp 和springdata的类不在统一级包里,必须指定EnableJpaRepositories | ||
| 19 | - */ | ||
| 20 | -@Configuration | ||
| 21 | -@EntityScan( | ||
| 22 | - basePackages = {"com.bsth.entity"} | ||
| 23 | -) | ||
| 24 | -@ComponentScan( | ||
| 25 | - basePackages = {"com.bsth.repository", "com.bsth.service"}, | ||
| 26 | - useDefaultFilters = false, | ||
| 27 | - includeFilters = { | ||
| 28 | - @ComponentScan.Filter( | ||
| 29 | - type = FilterType.ASSIGNABLE_TYPE, | ||
| 30 | - value = SchedulePlanRuleResultServiceImpl.class | ||
| 31 | - ), | ||
| 32 | - @ComponentScan.Filter( | ||
| 33 | - type = FilterType.ASSIGNABLE_TYPE, | ||
| 34 | - value = SchedulePlanServiceImpl.class | ||
| 35 | - ), | ||
| 36 | - @ComponentScan.Filter( | ||
| 37 | - type = FilterType.ASSIGNABLE_TYPE, | ||
| 38 | - value = MyDroolsConfiguration.class | ||
| 39 | - ), | ||
| 40 | - @ComponentScan.Filter( | ||
| 41 | - type = FilterType.ASSIGNABLE_TYPE, | ||
| 42 | - value = DataToolsServiceImpl.class | ||
| 43 | - ) | ||
| 44 | - } | ||
| 45 | -) | ||
| 46 | -@EnableJpaRepositories( | ||
| 47 | - basePackages = {"com.bsth.repository"} | ||
| 48 | -) | ||
| 49 | -@SpringBootApplication | ||
| 50 | -public class ScheduleTestApp { | ||
| 51 | -} |
src/test/java/com/bsth/service/schedule/rules/RuleTest1.java deleted
100644 → 0
| 1 | -package com.bsth.service.schedule.rules; | ||
| 2 | - | ||
| 3 | -import com.bsth.entity.sys.SysUser; | ||
| 4 | -import com.bsth.repository.sys.SysUserRepository; | ||
| 5 | -import com.bsth.service.schedule.BaseTest; | ||
| 6 | -import com.vividsolutions.jts.util.Assert; | ||
| 7 | -import org.dbunit.database.DatabaseConnection; | ||
| 8 | -import org.dbunit.database.IDatabaseConnection; | ||
| 9 | -import org.dbunit.dataset.IDataSet; | ||
| 10 | -import org.dbunit.dataset.xml.FlatXmlDataSetBuilder; | ||
| 11 | -import org.dbunit.operation.DatabaseOperation; | ||
| 12 | -import org.junit.After; | ||
| 13 | -import org.junit.Before; | ||
| 14 | -import org.slf4j.Logger; | ||
| 15 | -import org.slf4j.LoggerFactory; | ||
| 16 | -import org.springframework.beans.factory.annotation.Autowired; | ||
| 17 | -import org.springframework.core.io.ClassPathResource; | ||
| 18 | -import org.springframework.core.io.Resource; | ||
| 19 | - | ||
| 20 | -import javax.sql.DataSource; | ||
| 21 | - | ||
| 22 | -public class RuleTest1 extends BaseTest { | ||
| 23 | - /** 日志记录器 */ | ||
| 24 | - private static final Logger logger = LoggerFactory.getLogger(RuleTest1.class); | ||
| 25 | - | ||
| 26 | - @Autowired | ||
| 27 | - private DataSource dataSource; | ||
| 28 | - | ||
| 29 | - @Autowired | ||
| 30 | - private SysUserRepository sysUserRepository; | ||
| 31 | - | ||
| 32 | - /** | ||
| 33 | - * 初始化数据。 | ||
| 34 | - */ | ||
| 35 | - @Before | ||
| 36 | - public void initData() throws Exception { | ||
| 37 | - logger.info("载入数据......"); | ||
| 38 | - | ||
| 39 | - // 获取数据库连接 | ||
| 40 | - IDatabaseConnection iDatabaseConnection = new DatabaseConnection(dataSource.getConnection()); | ||
| 41 | - // 获取Dbunit数据源 | ||
| 42 | - Resource res = new ClassPathResource("testdata/d1.xml"); | ||
| 43 | - FlatXmlDataSetBuilder flatXmlDataSetBuilder = new FlatXmlDataSetBuilder(); | ||
| 44 | - flatXmlDataSetBuilder.setColumnSensing(false); | ||
| 45 | - flatXmlDataSetBuilder.setCaseSensitiveTableNames(false); | ||
| 46 | - IDataSet iDataSet = flatXmlDataSetBuilder.build(res.getInputStream()); | ||
| 47 | - | ||
| 48 | - // 载入数据 | ||
| 49 | - DatabaseOperation.CLEAN_INSERT.execute(iDatabaseConnection, iDataSet); | ||
| 50 | - } | ||
| 51 | - | ||
| 52 | - /** | ||
| 53 | - * 清除数据。 | ||
| 54 | - */ | ||
| 55 | - @After | ||
| 56 | - public void destoryData() throws Exception { | ||
| 57 | - logger.info("清除数据......"); | ||
| 58 | - // 获取数据库连接 | ||
| 59 | - IDatabaseConnection iDatabaseConnection = new DatabaseConnection(dataSource.getConnection()); | ||
| 60 | - // 获取Dbunit数据源 | ||
| 61 | - Resource res = new ClassPathResource("testdata/d1.xml"); | ||
| 62 | - FlatXmlDataSetBuilder flatXmlDataSetBuilder = new FlatXmlDataSetBuilder(); | ||
| 63 | - flatXmlDataSetBuilder.setColumnSensing(false); | ||
| 64 | - flatXmlDataSetBuilder.setCaseSensitiveTableNames(false); | ||
| 65 | - IDataSet iDataSet = flatXmlDataSetBuilder.build(res.getInputStream()); | ||
| 66 | - | ||
| 67 | - // 清除数据 | ||
| 68 | - DatabaseOperation.DELETE_ALL.execute(iDatabaseConnection, iDataSet); | ||
| 69 | - } | ||
| 70 | - | ||
| 71 | - @org.junit.Test | ||
| 72 | - public void t1() { | ||
| 73 | - logger.info("t1()测试......"); | ||
| 74 | - SysUser sysUser = sysUserRepository.findOne(1); | ||
| 75 | - Assert.equals("admin", sysUser.getUserName()); | ||
| 76 | - } | ||
| 77 | -} | ||
| 78 | - | ||
| 79 | -// | ||
| 80 | -// | ||
| 81 | -//package com.bsth.service.schedule.rules; | ||
| 82 | -// | ||
| 83 | -// import com.bsth.Application; | ||
| 84 | -// import com.bsth.service.schedule.rules.shiftloop.ScheduleCalcuParam_input; | ||
| 85 | -// import com.bsth.service.schedule.rules.shiftloop.ScheduleResults_output; | ||
| 86 | -// import com.bsth.service.schedule.rules.shiftloop.ScheduleRule_input; | ||
| 87 | -// import com.bsth.service.schedule.rules.ttinfo.TTInfoCalcuParam_input; | ||
| 88 | -// import com.bsth.service.schedule.rules.ttinfo.TTInfoResults_output; | ||
| 89 | -// import com.bsth.service.schedule.rules.ttinfo.TTInfo_input; | ||
| 90 | -// import org.joda.time.DateTime; | ||
| 91 | -// import org.junit.Test; | ||
| 92 | -// import org.junit.runner.RunWith; | ||
| 93 | -// import org.kie.api.KieBase; | ||
| 94 | -// import org.kie.api.runtime.KieSession; | ||
| 95 | -// import org.slf4j.Logger; | ||
| 96 | -// import org.slf4j.LoggerFactory; | ||
| 97 | -// import org.springframework.beans.factory.annotation.Autowired; | ||
| 98 | -// import org.springframework.boot.test.SpringApplicationConfiguration; | ||
| 99 | -// import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; | ||
| 100 | -// | ||
| 101 | -// import java.util.Arrays; | ||
| 102 | -// | ||
| 103 | -//@RunWith(SpringJUnit4ClassRunner.class) | ||
| 104 | -//@SpringApplicationConfiguration(classes = {Application.class}) | ||
| 105 | -//public class DroolsRulesTest { | ||
| 106 | -// | ||
| 107 | -// /** 日志记录器 */ | ||
| 108 | -// private final static Logger logger = LoggerFactory.getLogger(DroolsRulesTest.class); | ||
| 109 | -// | ||
| 110 | -// @Autowired | ||
| 111 | -// private KieBase kieBase; | ||
| 112 | -// | ||
| 113 | -//// @Test | ||
| 114 | -//// public void helloWorldDrlTest() throws Exception { | ||
| 115 | -//// // 1、创建session,内部配置的是stateful | ||
| 116 | -//// KieSession session = kieBase.newKieSession(); | ||
| 117 | -//// | ||
| 118 | -//// // 1.1 设置gloable对象,在drl中通过别名使用 | ||
| 119 | -//// List<String> gloableList = new ArrayList<String>(); | ||
| 120 | -//// session.setGlobal("list", gloableList); | ||
| 121 | -//// | ||
| 122 | -//// // 1.2 可以设置一些监听器,再议 | ||
| 123 | -//// | ||
| 124 | -//// // 2、创建fact对象 | ||
| 125 | -//// Message message = new Message(); | ||
| 126 | -//// message.setMessage("Hello World"); | ||
| 127 | -//// message.setStatus(Message.HELLO); | ||
| 128 | -//// session.insert(message); | ||
| 129 | -//// | ||
| 130 | -//// // 3、执行rule | ||
| 131 | -//// session.fireAllRules(); | ||
| 132 | -//// | ||
| 133 | -//// System.out.println(gloableList); | ||
| 134 | -//// | ||
| 135 | -//// // 4、执行完毕销毁,有日志的也要关闭 | ||
| 136 | -//// session.dispose(); | ||
| 137 | -//// } | ||
| 138 | -// | ||
| 139 | -// // @Test | ||
| 140 | -// public void ttinfoDrlTest() throws Exception { | ||
| 141 | -// logger.info("------------ttinfoDrlTest 测试---------------"); | ||
| 142 | -// | ||
| 143 | -// // 1、创建session,内部配置的是stateful | ||
| 144 | -// KieSession session = kieBase.newKieSession(); | ||
| 145 | -// | ||
| 146 | -// // 1.1 设置gloable对象,在drl中通过别人使用 | ||
| 147 | -// session.setGlobal("log", logger); | ||
| 148 | -// TTInfoResults_output ttInfoResults_output = new TTInfoResults_output(); | ||
| 149 | -// session.setGlobal("results", ttInfoResults_output); | ||
| 150 | -// | ||
| 151 | -// // 1.2 可以设置一些监听器,再议 | ||
| 152 | -// | ||
| 153 | -// // 2、创建fact对象 | ||
| 154 | -// TTInfoCalcuParam_input ttInfoCalcuParam_input = new TTInfoCalcuParam_input( | ||
| 155 | -// new DateTime(2016, 8, 1, 0, 0), | ||
| 156 | -// new DateTime(2016, 8, 10, 0, 0), | ||
| 157 | -// "1" | ||
| 158 | -// ); | ||
| 159 | -// | ||
| 160 | -// | ||
| 161 | -// TTInfo_input ttInfo_input1 = new TTInfo_input(); | ||
| 162 | -// ttInfo_input1.setTtInfoId("1"); | ||
| 163 | -// ttInfo_input1.setXlId("1"); | ||
| 164 | -// ttInfo_input1.setWeekdays(Arrays.asList(true, true, true, true, true, false, false)); | ||
| 165 | -// ttInfo_input1.getSpecialDays().add(new DateTime(2016, 8, 1, 0, 0)); | ||
| 166 | -// ttInfo_input1.setUpdateDate(new DateTime(2016, 1, 1, 0, 0)); | ||
| 167 | -// ttInfo_input1.setIsEnable(true); | ||
| 168 | -// ttInfo_input1.setQyDate(new DateTime(2016, 1, 1, 0, 0)); | ||
| 169 | -// | ||
| 170 | -// TTInfo_input ttInfo_input1_2 = new TTInfo_input(); | ||
| 171 | -// ttInfo_input1_2.setTtInfoId("2"); | ||
| 172 | -// ttInfo_input1_2.setXlId("1"); | ||
| 173 | -// ttInfo_input1_2.setWeekdays(Arrays.asList(true, false, false, false, false, true, false)); | ||
| 174 | -// ttInfo_input1_2.getSpecialDays().add(new DateTime(2016, 8, 11, 0, 0)); | ||
| 175 | -// ttInfo_input1_2.setUpdateDate(new DateTime(2015, 2, 1, 0, 0)); | ||
| 176 | -// ttInfo_input1_2.setIsEnable(true); | ||
| 177 | -// ttInfo_input1_2.setQyDate(new DateTime(2016, 1, 1, 0, 0)); | ||
| 178 | -// | ||
| 179 | -// | ||
| 180 | -// TTInfoCalcuParam_input ttInfoCalcuParam_inpu2 = new TTInfoCalcuParam_input( | ||
| 181 | -// new DateTime(2016, 8, 1, 0, 0), | ||
| 182 | -// new DateTime(2016, 8, 10, 0, 0), | ||
| 183 | -// "2" | ||
| 184 | -// ); | ||
| 185 | -// | ||
| 186 | -// TTInfo_input ttInfo_input2 = new TTInfo_input(); | ||
| 187 | -// ttInfo_input2.setTtInfoId("2"); | ||
| 188 | -// ttInfo_input2.setXlId("2"); | ||
| 189 | -// ttInfo_input2.setWeekdays(Arrays.asList(true, false, false, false, false, true, false)); | ||
| 190 | -// ttInfo_input2.getSpecialDays().add(new DateTime(2016, 8, 11, 0, 0)); | ||
| 191 | -// ttInfo_input2.setUpdateDate(new DateTime(2016, 1, 1, 0, 0)); | ||
| 192 | -// ttInfo_input2.setIsEnable(true); | ||
| 193 | -// ttInfo_input2.setQyDate(new DateTime(2016, 1, 1, 0, 0)); | ||
| 194 | -// | ||
| 195 | -// session.insert(ttInfoCalcuParam_input); | ||
| 196 | -// session.insert(ttInfo_input1); | ||
| 197 | -// session.insert(ttInfo_input1_2); | ||
| 198 | -// session.insert(ttInfoCalcuParam_inpu2); | ||
| 199 | -// session.insert(ttInfo_input2); | ||
| 200 | -// | ||
| 201 | -// | ||
| 202 | -// | ||
| 203 | -// // 3、执行rule | ||
| 204 | -// session.fireAllRules(); | ||
| 205 | -// | ||
| 206 | -// // 4、执行完毕销毁,有日志的也要关闭 | ||
| 207 | -// session.dispose(); | ||
| 208 | -// | ||
| 209 | -// // 打印global结果 | ||
| 210 | -// logger.info(ttInfoResults_output.showTTInfoDesc1()); | ||
| 211 | -// | ||
| 212 | -// } | ||
| 213 | -// | ||
| 214 | -// @Test | ||
| 215 | -// public void shiftloopDrlTest() throws Exception { | ||
| 216 | -// // 1、创建session,内部配置的是stateful | ||
| 217 | -// KieSession session = kieBase.newKieSession(); | ||
| 218 | -// | ||
| 219 | -// // 1.1 设置gloable对象,在drl中通过别名使用 | ||
| 220 | -// ScheduleResults_output scheduleResults_output = new ScheduleResults_output(); | ||
| 221 | -// session.setGlobal("scheduleResult", scheduleResults_output); | ||
| 222 | -// | ||
| 223 | -// // 1.2 可以设置一些监听器,再议 | ||
| 224 | -// | ||
| 225 | -// // 2、创建fact对象 | ||
| 226 | -// | ||
| 227 | -// ScheduleCalcuParam_input scheduleCalcuParam_input = new ScheduleCalcuParam_input(); | ||
| 228 | -// scheduleCalcuParam_input.setFromDate(new DateTime(2016, 8, 1, 0, 0)); | ||
| 229 | -// scheduleCalcuParam_input.setToDate(new DateTime(2016, 8, 10, 0, 0)); | ||
| 230 | -// | ||
| 231 | -// ScheduleRule_input scheduleRule_input1 = new ScheduleRule_input(); | ||
| 232 | -// scheduleRule_input1.setRuleId("1"); | ||
| 233 | -// scheduleRule_input1.setQyrq(new DateTime(2016, 7, 22, 0, 0)); | ||
| 234 | -// scheduleRule_input1.getGuideboardIds().addAll(Arrays.asList( | ||
| 235 | -// "9", "9" , "8" ,"8" ,"7" ,"7" ,"6" ,"6", "5", "5", "4", "4", "3", "3", "2", "2", "1", "1")); | ||
| 236 | -// scheduleRule_input1.setStartGbdIndex(3); | ||
| 237 | -// scheduleRule_input1.getEmployeeConfigIds().addAll(Arrays.asList("1", "2")); | ||
| 238 | -// scheduleRule_input1.setStartEIndex(1); | ||
| 239 | -// scheduleRule_input1.setCarConfigId("1"); | ||
| 240 | -// | ||
| 241 | -//// ScheduleRule_input scheduleRule_input2 = new ScheduleRule_input(); | ||
| 242 | -//// scheduleRule_input2.setRuleId(2L); | ||
| 243 | -//// scheduleRule_input2.setQyrq(new DateTime(2016, 7, 22, 0, 0)); | ||
| 244 | -//// scheduleRule_input2.getGuideboardIds().addAll(Arrays.asList( | ||
| 245 | -//// 1L, 1L, 2L, 2L, 3L, 3L, 4L, 4L, 5L, 5L, 6L, 6L, 7L, 7L, 8L, 8L, 9L, 9L, 10L, 10L, | ||
| 246 | -//// 11L, 11L, 12L, 12L, 13L, 13L)); | ||
| 247 | -//// scheduleRule_input2.setStartGbdIndex(7); | ||
| 248 | -//// scheduleRule_input2.getEmployeeConfigIds().addAll(Arrays.asList(11L, 12L)); | ||
| 249 | -//// scheduleRule_input2.setStartEIndex(1); | ||
| 250 | -//// scheduleRule_input2.setCarConfigId(2L); | ||
| 251 | -// | ||
| 252 | -// session.insert(scheduleCalcuParam_input); | ||
| 253 | -// session.insert(scheduleRule_input1); | ||
| 254 | -//// session.insert(scheduleRule_input2); | ||
| 255 | -// | ||
| 256 | -// | ||
| 257 | -// // 3、执行rule | ||
| 258 | -// session.fireAllRules(); | ||
| 259 | -// | ||
| 260 | -// // 4、执行完毕销毁,有日志的也要关闭 | ||
| 261 | -// session.dispose(); | ||
| 262 | -// | ||
| 263 | -// System.out.println(scheduleResults_output.showGuideboardDesc1()); | ||
| 264 | -// | ||
| 265 | -// } | ||
| 266 | -//} | ||
| 267 | - |
src/test/java/com/bsth/service/schedule/rules/SchedulePlan1Test.java deleted
100644 → 0
| 1 | -package com.bsth.service.schedule.rules; | ||
| 2 | - | ||
| 3 | -import com.bsth.service.schedule.BaseTest; | ||
| 4 | -import org.dbunit.database.DatabaseConnection; | ||
| 5 | -import org.dbunit.database.IDatabaseConnection; | ||
| 6 | -import org.dbunit.dataset.IDataSet; | ||
| 7 | -import org.dbunit.dataset.xml.FlatXmlDataSetBuilder; | ||
| 8 | -import org.dbunit.operation.DatabaseOperation; | ||
| 9 | -import org.junit.After; | ||
| 10 | -import org.junit.Before; | ||
| 11 | -import org.junit.Test; | ||
| 12 | -import org.slf4j.Logger; | ||
| 13 | -import org.slf4j.LoggerFactory; | ||
| 14 | -import org.springframework.beans.factory.annotation.Autowired; | ||
| 15 | -import org.springframework.core.io.ClassPathResource; | ||
| 16 | -import org.springframework.core.io.Resource; | ||
| 17 | - | ||
| 18 | -import javax.sql.DataSource; | ||
| 19 | - | ||
| 20 | -/** | ||
| 21 | - * 排班计划测试(手工排班测试)。 | ||
| 22 | - */ | ||
| 23 | -public class SchedulePlan1Test extends BaseTest { | ||
| 24 | - /** 日志记录器 */ | ||
| 25 | - private static final Logger logger = LoggerFactory.getLogger(SchedulePlan1Test.class); | ||
| 26 | - | ||
| 27 | - @Autowired | ||
| 28 | - private DataSource dataSource; | ||
| 29 | - | ||
| 30 | - /** | ||
| 31 | - * 初始化数据。 | ||
| 32 | - */ | ||
| 33 | - @Before | ||
| 34 | - public void initData() throws Exception { | ||
| 35 | - logger.info("载入数据......"); | ||
| 36 | - | ||
| 37 | - // 获取数据库连接 | ||
| 38 | - IDatabaseConnection iDatabaseConnection = new DatabaseConnection(dataSource.getConnection()); | ||
| 39 | - // 获取Dbunit数据源 | ||
| 40 | - Resource res = new ClassPathResource("testdata/d2.xml"); | ||
| 41 | - FlatXmlDataSetBuilder flatXmlDataSetBuilder = new FlatXmlDataSetBuilder(); | ||
| 42 | - flatXmlDataSetBuilder.setColumnSensing(false); | ||
| 43 | - flatXmlDataSetBuilder.setCaseSensitiveTableNames(false); | ||
| 44 | - IDataSet iDataSet = flatXmlDataSetBuilder.build(res.getInputStream()); | ||
| 45 | - | ||
| 46 | - // 载入数据 | ||
| 47 | - DatabaseOperation.CLEAN_INSERT.execute(iDatabaseConnection, iDataSet); | ||
| 48 | - } | ||
| 49 | - | ||
| 50 | - /** | ||
| 51 | - * 清除数据。 | ||
| 52 | - */ | ||
| 53 | - @After | ||
| 54 | - public void destoryData() throws Exception { | ||
| 55 | - logger.info("清除数据......"); | ||
| 56 | - // 获取数据库连接 | ||
| 57 | - IDatabaseConnection iDatabaseConnection = new DatabaseConnection(dataSource.getConnection()); | ||
| 58 | - // 获取Dbunit数据源 | ||
| 59 | - Resource res = new ClassPathResource("testdata/d2.xml"); | ||
| 60 | - FlatXmlDataSetBuilder flatXmlDataSetBuilder = new FlatXmlDataSetBuilder(); | ||
| 61 | - flatXmlDataSetBuilder.setColumnSensing(false); | ||
| 62 | - flatXmlDataSetBuilder.setCaseSensitiveTableNames(false); | ||
| 63 | - IDataSet iDataSet = flatXmlDataSetBuilder.build(res.getInputStream()); | ||
| 64 | - | ||
| 65 | - // 清除数据 | ||
| 66 | - DatabaseOperation.DELETE_ALL.execute(iDatabaseConnection, iDataSet); | ||
| 67 | - } | ||
| 68 | - | ||
| 69 | - | ||
| 70 | - @Test | ||
| 71 | - public void t1() { | ||
| 72 | - | ||
| 73 | - } | ||
| 74 | - | ||
| 75 | - | ||
| 76 | - | ||
| 77 | - | ||
| 78 | - | ||
| 79 | - | ||
| 80 | - | ||
| 81 | - | ||
| 82 | - | ||
| 83 | - | ||
| 84 | - | ||
| 85 | - | ||
| 86 | - | ||
| 87 | - | ||
| 88 | - | ||
| 89 | - | ||
| 90 | - | ||
| 91 | - | ||
| 92 | - | ||
| 93 | - | ||
| 94 | -} |
src/test/java/com/bsth/service/schedule/rules/SchedulePlan2Test.java deleted
100644 → 0
src/test/resources/.gitkeep deleted
100644 → 0
src/test/resources/application-scheduletest.properties deleted
100644 → 0
| 1 | -#嵌入式tomcat配置 | ||
| 2 | -#server.port=9088 | ||
| 3 | -#management.port= 9001 | ||
| 4 | -#management.address= 127.0.0.1 | ||
| 5 | - | ||
| 6 | -#JPA配置 | ||
| 7 | -spring.jpa.hibernate.ddl-auto= update | ||
| 8 | -spring.jpa.hibernate.naming_strategy= org.hibernate.cfg.ImprovedNamingStrategy | ||
| 9 | -spring.jpa.database= MYSQL | ||
| 10 | -spring.jpa.show-sql= true | ||
| 11 | - | ||
| 12 | -#数据库连接池配置 | ||
| 13 | -spring.datasource.driver-class-name= com.mysql.jdbc.Driver | ||
| 14 | -spring.datasource.url= jdbc:mysql://127.0.0.1/test_control?useUnicode=true&characterEncoding=utf-8&useSSL=false | ||
| 15 | -spring.datasource.username= root | ||
| 16 | -spring.datasource.password= | ||
| 17 | - | ||
| 18 | -#spring.datasource.driver-class-name= org.h2.Driver | ||
| 19 | -#spring.datasource.url= jdbc:h2:mem:bookstore;DB_CLOSE_ON_EXIT=FALSE | ||
| 20 | -#spring.datasource.username= sa | ||
| 21 | -#spring.datasource.password= | ||
| 22 | - | ||
| 23 | -spring.datasource.max-active=100 | ||
| 24 | -spring.datasource.max-idle=8 | ||
| 25 | -spring.datasource.min-idle=8 | ||
| 26 | -spring.datasource.initial-size=5 | ||
| 27 | - | ||
| 28 | -spring.datasource.test-on-borrow=true | ||
| 29 | -spring.datasource.test-on-connect=true | ||
| 30 | -spring.datasource.test-on-return=true | ||
| 31 | -spring.datasource.test-while-idle=true | ||
| 32 | -spring.datasource.validation-query=select 1 | ||
| 33 | - |
src/test/resources/datatools/config-scheduletest.properties deleted
100644 → 0
| 1 | -# 配置数据导入导出用到的配置信息 | ||
| 2 | - | ||
| 3 | -# 1、kettle配置文件路径(类路径) | ||
| 4 | -datatools.kettle_properties=/datatools/kettle.properties | ||
| 5 | -# 2、ktr文件通用配置变量(数据库连接,根据不同的环境需要修正) | ||
| 6 | -#数据库ip地址 | ||
| 7 | -datatools.kvars_dbip=127.0.0.1 | ||
| 8 | -#数据库用户名 | ||
| 9 | -datatools.kvars_dbuname=root | ||
| 10 | -#数据库密码 | ||
| 11 | -datatools.kvars_dbpwd= | ||
| 12 | -#数据库库名 | ||
| 13 | -datatools.kvars_dbdname=qp_control | ||
| 14 | - | ||
| 15 | -# 3、上传数据配置信息 | ||
| 16 | -# 上传文件目录配置(根据不同的环境需要修正) | ||
| 17 | -datatools.fileupload_dir=/Users/xu/resource/project_code/runtime_temp/bsth_control_u_d_files | ||
| 18 | -# ktr转换文件,中配置的错误输出目录(根据不同的环境需要修正) | ||
| 19 | -datatools.trans_errordir=/Users/xu/resource/project_code/runtime_temp/bsth_control_u_d_files/erroroutput | ||
| 20 | -# 临时输出文件目录 | ||
| 21 | -datatools.trans_tempdir=/Users/xu/resource/project_code/runtime_temp/bsth_control_u_d_files/temp | ||
| 22 | -# 模版文件目录 | ||
| 23 | -datatools.trans_templatedir=/Users/xu/resource/project_code/runtime_temp/bsth_control_u_d_files/template | ||
| 24 | - | ||
| 25 | -##---------------------------- 导入数据ktr ----------------------------## | ||
| 26 | -# 车辆信息导入ktr转换 | ||
| 27 | -datatools.cars_datainputktr=/datatools/ktrs/carsDataInput.ktr | ||
| 28 | -# 人员信息导入 | ||
| 29 | -datatools.employees_datainputktr=/datatools/ktrs/employeesDataInput.ktr | ||
| 30 | -# 路牌信息导入 | ||
| 31 | -datatools.guideboards_datainputktr=/datatools/ktrs/guideboardDataInput.ktr | ||
| 32 | -# 时刻表基础信息导入 | ||
| 33 | -datatools.ttinfo_datainputktr=/datatools/ktrs/ttinfoDataInput.ktr | ||
| 34 | -# 时刻表明细信息导入(元数据) | ||
| 35 | -datatools.ttinfodetail_metadatainputktr=/datatools/ktrs/ttinfodetailDataInputMetaData.ktr | ||
| 36 | -# 时刻表明细编辑用数据 | ||
| 37 | -datatools.ttinfodetail_foreditktr=/datatools/ktrs/ttinfodetailoutputforedit.ktr | ||
| 38 | -# 时刻表明细信息导入 | ||
| 39 | -datatools.ttinfodetail_datainputktr=/datatools/ktrs/ttinfodetailDataInput.ktr | ||
| 40 | -# 时刻表明细信息导入2 | ||
| 41 | -datatools.ttinfodetail_datainputktr2=/datatools/ktrs/ttinfodetailDataInput2.ktr | ||
| 42 | - | ||
| 43 | -# 车辆配置信息导入 | ||
| 44 | -datatools.carsconfig_datainputktr=/datatools/ktrs/carsConfigDataInput.ktr | ||
| 45 | -# 人员配置信息导入 | ||
| 46 | -datatools.employeesconfig_datainputktr=/datatools/ktrs/employeesConfigDataInput.ktr | ||
| 47 | - | ||
| 48 | -# 排版规则信息导入 | ||
| 49 | -datatools.schedulerule_datainputktr=/datatools/ktrs/scheduleRuleDataInput.ktr | ||
| 50 | - | ||
| 51 | -# 4、数据导出配置信息 | ||
| 52 | -# 导出数据文件目录配置(根据不同的环境需要修正) | ||
| 53 | -datatools.fileoutput_dir=/Users/xu/resource/project_code/runtime_temp/bsth_control_u_d_files | ||
| 54 | - | ||
| 55 | -##---------------------------- 导出数据ktr -----------------------------## | ||
| 56 | -# 车辆信息导出ktr转换 | ||
| 57 | -datatools.cars_dataoutputktr=/datatools/ktrs/carsDataOutput.ktr | ||
| 58 | -# 人员信息导出ktr转换 | ||
| 59 | -datatools.employees_dataoutputktr=/datatools/ktrs/employeesDataOutput.ktr | ||
| 60 | -# 时刻表导出元数据ktr转换 | ||
| 61 | -datatools.ttinfodetail_metaoutput=/datatools/ktrs/ttinfodetailDataOutputMetaData.ktr | ||
| 62 | -# 时刻表导出数据ktr转换 | ||
| 63 | -datatools.ttinfodetail_output=/datatools/ktrs/ttinfodetailDataOutput.ktr | ||
| 64 | -# 排版规则导出数据ktr转换 | ||
| 65 | -datatools.schedulerule_output=/datatools/ktrs/scheduleRuleDataOutput.ktr | ||
| 66 | - | ||
| 67 | -# 车辆配置信息导出ktr转换 | ||
| 68 | -datatools.carsconfig_dataoutputktr=/datatools/ktrs/carsConfigDataOutput.ktr | ||
| 69 | -# 人员配置信息导出ktr转换 | ||
| 70 | -datatools.employeesconfig_dataoutputktr=/datatools/ktrs/employeesConfigDataOutput.ktr | ||
| 71 | - | ||
| 72 | -# 路牌信息导出 | ||
| 73 | -datatools.guideboards_dataoutputktr=/datatools/ktrs/guideboardDataOutput.ktr | ||
| 74 | - | ||
| 75 | - | ||
| 76 | -# TODO: | ||
| 77 | - | ||
| 78 | - | ||
| 79 | - | ||
| 80 | - | ||
| 81 | - | ||
| 82 | - | ||
| 83 | - | ||
| 84 | - |
src/test/resources/testdata/d1.xml deleted
100644 → 0
src/test/resources/testdata/d2.xml deleted
100644 → 0
| 1 | -<?xml version='1.0' encoding='UTF-8'?> | ||
| 2 | -<dataset> | ||
| 3 | - <!-- 用户(对应实体 SysUser) --> | ||
| 4 | - <bsth_c_sys_user id="1" user_name="admin" name="系统管理员" create_date="2000-01-01" enabled="1" last_login_date="2000-01-01" /> | ||
| 5 | - | ||
| 6 | - <!-- 公司(对应实体 Business) --> | ||
| 7 | - <bsth_c_business id="1" business_name="公交公司" business_code="88" up_code="0" create_by="1" create_date="2000-01-01" update_by="1" update_date="2000-01-01" /> | ||
| 8 | - <bsth_c_business id="2" business_name="金高公司" business_code="22" up_code="88" create_by="1" create_date="2000-01-01" update_by="1" update_date="2000-01-01" /> | ||
| 9 | - <bsth_c_business id="3" business_name="杨高公司" business_code="05" up_code="88" create_by="1" create_date="2000-01-01" update_by="1" update_date="2000-01-01" /> | ||
| 10 | - <bsth_c_business id="4" business_name="上南公司" business_code="55" up_code="88" create_by="1" create_date="2000-01-01" update_by="1" update_date="2000-01-01" /> | ||
| 11 | - <bsth_c_business id="5" business_name="南汇公司" business_code="26" up_code="88" create_by="1" create_date="2000-01-01" update_by="1" update_date="2000-01-01" /> | ||
| 12 | - | ||
| 13 | - <!-- 线路(对应实体 Line) --> | ||
| 14 | - <bsth_c_line id="1" name="测试线路1" line_code="l1" destroy="0" create_by="1" create_date="2000-01-01" update_by="1" update_date="2000-01-01" /> | ||
| 15 | - <!-- 线路标准(对应实体 LineInformation) --> | ||
| 16 | - <bsth_c_line_information id="1" line="1" create_by="1" create_date="2000-01-01" update_by="1" update_date="2000-01-01" /> | ||
| 17 | - | ||
| 18 | - <!-- 站点(对应实体 Station) --> | ||
| 19 | - <bsth_c_station id="1" station_name="站1" station_cod="#112233" create_by="1" create_date="2000-01-01" update_by="1" update_date="2000-01-01" /> | ||
| 20 | - <bsth_c_station id="2" station_name="站2" station_cod="#223344" create_by="1" create_date="2000-01-01" update_by="1" update_date="2000-01-01" /> | ||
| 21 | - <!-- 站点路由(对应实体 StationRoute)--> | ||
| 22 | - <bsth_c_stationroute id="1" line="1" station="1" station_name="上行起点站" station_mark="B" directions="0" destroy="0" create_by="1" create_date="2000-01-01" update_by="1" update_date="2000-01-01" /> | ||
| 23 | - <bsth_c_stationroute id="2" line="1" station="2" station_name="上行终点站" station_mark="E" directions="0" destroy="0" create_by="1" create_date="2000-01-01" update_by="1" update_date="2000-01-01" /> | ||
| 24 | - <bsth_c_stationroute id="3" line="1" station="2" station_name="下行起点站" station_mark="B" directions="1" destroy="0" create_by="1" create_date="2000-01-01" update_by="1" update_date="2000-01-01" /> | ||
| 25 | - <bsth_c_stationroute id="4" line="1" station="1" station_name="下行终点站" station_mark="E" directions="1" destroy="0" create_by="1" create_date="2000-01-01" update_by="1" update_date="2000-01-01" /> | ||
| 26 | - | ||
| 27 | - <!-- 停车场(对应实体) --> | ||
| 28 | - | ||
| 29 | - <!-- TODO --> | ||
| 30 | - | ||
| 31 | -</dataset> | ||
| 32 | \ No newline at end of file | 0 | \ No newline at end of file |
src/test/resources/testdata/new.txt deleted
100644 → 0
| 1 | -1、车辆配置,每辆车都可以配置单独的停车点及相关数据,并提供两种设置模式(早晚,复驶) | ||
| 2 | -2、规则管理,修改规则的界面图形化,更加方便修改 | ||
| 3 | -3、时刻表管理,导入时刻表xls做严格数据判定,时刻表明细修改提供跟方便的图形化修改方式 | ||
| 4 | -4、排班计划管理,提供每次排班的操作信息,时间段,所使用的时刻表,可以查看具体的排班明细(细化到班次) | ||
| 5 | - 生成排班时,提供详细的时刻表统计信息,提供两种排班模式(历史排班优先,规则优先) | ||
| 6 | -5、调度值勤日报,列出每天的基于线路,路牌的排班统计,可以更换车辆,人员 | ||
| 7 | \ No newline at end of file | 0 | \ No newline at end of file |
src/test/resources/testdata/problem.properties deleted
100644 → 0
| 1 | -##1=时刻表明细导入,线路标准里所有的高峰低谷时间需要带入时刻表班次时间里,标准可以点击切换到线路标准界面 | ||
| 2 | -##2=时刻表明细编辑功能,数据工具移到时刻表里,类似工具栏的样子 | ||
| 3 | -3=时刻表导入,可以选一个已经存在的时刻表导入,而不是excel文件 | ||
| 4 | -##4=所有的删除,作废,都要有提示框操作 | ||
| 5 | -##5=排班计划错误提示,如果选的排班日期之前没有排班,提示错误,排班结果有重复与时刻表不符合,显示错误 | ||
| 6 | -##6=调度执行日报,显示最近排班日期,修改操作强化 | ||
| 7 | -7=警告功能,如时刻表选择相同的常规有效日,特殊有效日,车辆,人员配置重复等等 | ||
| 8 | -##8=时刻表明细编辑,颜色覆盖冲突 | ||
| 9 | -##9=下拉框貌似中文不能搜索 | ||
| 10 | -10=时刻表明细编辑,环线,选上下行,上下的站点在下行站点列表里 | ||
| 11 | -##11=人员基础信息导入问题,工号前要加公司代码 | ||
| 12 | -##12=套跑规则嵌入到主排班规则中 | ||
| 13 | -13=导入数据功能,需要加用户名 | ||
| 14 | -14=路牌编号自动生成 | ||
| 15 | -15=时刻表导入的时候表头后面不需要加数字 | ||
| 16 | -##16=时间框中文 | ||
| 17 | -##17=人员工号前公司编码自动加 | ||
| 18 | -19=线路运营概览 | ||
| 19 | -20=排班规则备注 | ||
| 20 | -##21=时刻表,两点间空驶,算空驶 | ||
| 21 | -22=搭班编码自动生成 | ||
| 22 | -##23=时刻表明细修改终点站停驶(停止1个半小时以上) | ||
| 23 | -##24=线路标准里如果里程是0,用标准里程 | ||
| 24 | -##25=规则导出的日期格式修正 | ||
| 25 | -##26=人员录入,工号规则前加 "{公司编码}-" | ||
| 26 | - | ||
| 27 | -##27=调度执勤日报,换人后,工号前的-去掉 | ||
| 28 | -##28=时刻表导出,元数据ktr转换站名匹配有问题 | ||
| 29 | -##29=时刻编辑,超过70个班次,报错,改成150个班次 | ||
| 30 | -##30=时刻表公里数 三位数 | ||
| 31 | - | ||
| 32 | -31=规则修改,路牌范围,人员范围可以拖动 | ||
| 33 | -##32=人员配置不存在的情况下,导入规则ktr,找不到的人员不添加,人员范围不存在的,规则不导入 | ||
| 34 | -##33=时刻表明细班次,里添加,是否停驶选项(计算工时使用) |
src/test/resources/testdata/test1.txt deleted
100644 → 0
| 1 | -select * from jwgl_f_t_clxh_workflow_detail a where a.ID_LYSYLB = 36; | ||
| 2 | - | ||
| 3 | -select sum(amount - tl_amount) from jwgl_f_t_clxh_workflow_detail | ||
| 4 | -where | ||
| 5 | -to_date(statdateid, 'YYYYMMDD') >= to_date('20170301', 'YYYYMMDD') | ||
| 6 | -and to_date(statdateid, 'YYYYMMDD') <= to_date('20170331', 'YYYYMMDD') | ||
| 7 | - | ||
| 8 | -select * from JWGL_D_T_LYSYLB | ||
| 9 | - | ||
| 10 | - | ||
| 11 | -select | ||
| 12 | -statdateid statdate | ||
| 13 | -, ssjc gs | ||
| 14 | -, xl xl | ||
| 15 | -, zbh cl | ||
| 16 | -, b.SYLB1 || '-' || b.SYLB2 as lylb | ||
| 17 | -, (sum(amount) - sum(tl_amount)) ch | ||
| 18 | -from JWGL_F_T_CLXH_WORKFLOW_DETAIL a, JWGL_D_T_LYSYLB b | ||
| 19 | -where | ||
| 20 | -to_date(statdateid, 'YYYYMMDD') >= to_date('20170301', 'YYYYMMDD') | ||
| 21 | -and to_date(statdateid, 'YYYYMMDD') <= to_date('20170331', 'YYYYMMDD') | ||
| 22 | -and a.ID_LYSYLB = b.ID(+) | ||
| 23 | -group by | ||
| 24 | -statdateid | ||
| 25 | -, ssjc | ||
| 26 | -, xl | ||
| 27 | -, zbh | ||
| 28 | -, b.SYLB1 || '-' || b.SYLB2 | ||
| 29 | - | ||
| 30 | --- part1 | ||
| 31 | - | ||
| 32 | -select sum(ch) from | ||
| 33 | -( | ||
| 34 | -select | ||
| 35 | -statdateid statdate | ||
| 36 | -, ssjc gs | ||
| 37 | -, xl xl | ||
| 38 | -, zbh cl | ||
| 39 | -, b.SYLB1 || '-' || b.SYLB2 as lylb | ||
| 40 | -, (sum(amount) - sum(tl_amount)) ch | ||
| 41 | -from JWGL_F_T_CLXH_WORKFLOW_DETAIL a, JWGL_D_T_LYSYLB b | ||
| 42 | -where | ||
| 43 | -to_date(statdateid, 'YYYYMMDD') >= to_date('20170301', 'YYYYMMDD') | ||
| 44 | -and to_date(statdateid, 'YYYYMMDD') <= to_date('20170331', 'YYYYMMDD') | ||
| 45 | -and a.ID_LYSYLB = b.ID(+) | ||
| 46 | -group by | ||
| 47 | -statdateid | ||
| 48 | -, ssjc | ||
| 49 | -, xl | ||
| 50 | -, zbh | ||
| 51 | -, b.SYLB1 || '-' || b.SYLB2 | ||
| 52 | -) | ||
| 53 | -where lylb in ( | ||
| 54 | -'路救-路救', | ||
| 55 | -'小修-小修机工', | ||
| 56 | -'专项-安检', | ||
| 57 | -'专项-节检', | ||
| 58 | -'专项-水箱', | ||
| 59 | -'专项-电瓶', | ||
| 60 | -'小修-小修电工', | ||
| 61 | -'专项-电并', | ||
| 62 | -'小修-小修车身', | ||
| 63 | -'专项-镗固', | ||
| 64 | -'保养-一级保养', | ||
| 65 | -'小修-发动机', | ||
| 66 | -'专项-轮胎', | ||
| 67 | -'分摊-轮胎', | ||
| 68 | -'专项-润滑油', | ||
| 69 | -'总成-差变速', | ||
| 70 | -'总成-大泵', | ||
| 71 | -'总成-小总成', | ||
| 72 | -'总成-发动机', | ||
| 73 | -'保养-二级保养', | ||
| 74 | -'保养-三级保养', | ||
| 75 | -'整修-整修', | ||
| 76 | -'空调-保外', | ||
| 77 | -'空调-保内', | ||
| 78 | -'事故-事故' | ||
| 79 | -) | ||
| 80 | - | ||
| 81 | --- part2 | ||
| 82 | - | ||
| 83 | -select sum(ch) from | ||
| 84 | -( | ||
| 85 | -select | ||
| 86 | -statdateid statdate | ||
| 87 | -, ssjc gs | ||
| 88 | -, xl xl | ||
| 89 | -, zbh cl | ||
| 90 | -, b.SYLB1 || '-' || b.SYLB2 as lylb | ||
| 91 | -, (sum(amount) - sum(tl_amount)) ch | ||
| 92 | -from JWGL_F_T_CLXH_WORKFLOW_DETAIL a, JWGL_D_T_LYSYLB b | ||
| 93 | -where | ||
| 94 | -to_date(statdateid, 'YYYYMMDD') >= to_date('20170301', 'YYYYMMDD') | ||
| 95 | -and to_date(statdateid, 'YYYYMMDD') <= to_date('20170331', 'YYYYMMDD') | ||
| 96 | -and a.ID_LYSYLB = b.ID(+) | ||
| 97 | -group by | ||
| 98 | -statdateid | ||
| 99 | -, ssjc | ||
| 100 | -, xl | ||
| 101 | -, zbh | ||
| 102 | -, b.SYLB1 || '-' || b.SYLB2 | ||
| 103 | -) | ||
| 104 | -where lylb in( | ||
| 105 | -'分摊-镗固', | ||
| 106 | -'专项-机油', | ||
| 107 | -'分摊-机油', | ||
| 108 | -'总成-其它', | ||
| 109 | -'分摊-工具', | ||
| 110 | -'分摊-辅助料', | ||
| 111 | -'分摊-设备', | ||
| 112 | -'车间经费-车间经费' | ||
| 113 | -) | ||
| 114 | - | ||
| 115 | - | ||
| 116 | - | ||
| 117 | - | ||
| 118 | - | ||
| 119 | - | ||
| 120 | - | ||
| 121 | - | ||
| 122 | - | ||
| 123 | - | ||
| 124 | - | ||
| 125 | - | ||
| 126 | - | ||
| 127 | - | ||
| 128 | - | ||
| 129 | - | ||
| 130 | - | ||
| 131 | - | ||
| 132 | - |
src/test/resources/testdata/test2.txt deleted
100644 → 0
| 1 | - | ||
| 2 | -select * from JWGL_FR_T_CH_REPORT_DATA1; | ||
| 3 | - | ||
| 4 | -select * from JWGL_FR_T_CH_REPORT_DATA2; | ||
| 5 | - | ||
| 6 | --- sum part1 | ||
| 7 | - | ||
| 8 | -select | ||
| 9 | -( | ||
| 10 | -sum(lj_lj) + sum(xx_xxjg) + sum(xx_xxdg) + sum(zx_db) + sum(xx_xxcs) + sum(zx_tg) + sum(by_b1) + | ||
| 11 | -sum(nvl(future_bx, 0)) + sum(xx_fdj) + sum(zx_lt) + sum(zx_rhy) + sum(zc_cbx) + sum(zc_db) + sum(zc_xzc) + | ||
| 12 | -sum(zc_fdj) + sum(by_b2) + sum(by_b3) + sum(nvl(future_wx_db, 0)) + sum(nvl(future_wxfy, 0)) + sum(nvl(future_ktwx, 0)) + sum(nvl(future_sx, 0)) + | ||
| 13 | -sum(nvl(future_dp, 0)) + sum(zx_zx) + sum(kt_bw) + sum(sg_sg) | ||
| 14 | -) as part1 | ||
| 15 | -from JWGL_FR_T_CH_REPORT_DATA1 | ||
| 16 | -where | ||
| 17 | -statdate >= to_date('20170301', 'YYYYMMDD') | ||
| 18 | -and statdate <= to_date('20170331', 'YYYYMMDD') | ||
| 19 | - | ||
| 20 | --- sum part2 | ||
| 21 | - | ||
| 22 | -select | ||
| 23 | -( | ||
| 24 | -sum(zx_tg) + sum(jy) + sum(qt) + sum(zcfl) + sum(gj) + sum(sb) + sum(cjjf) | ||
| 25 | -) as part2 | ||
| 26 | -from JWGL_FR_T_CH_REPORT_DATA2 | ||
| 27 | -where statdate = to_date('20170331', 'YYYYMMDD') | ||
| 28 | \ No newline at end of file | 0 | \ No newline at end of file |
src/test/resources/testdata/test3.txt deleted
100644 → 0
| 1 | -select count(*) from bsth_c_s_sp_rule_rst | ||
| 2 | - | ||
| 3 | -show index from bsth_c_s_sp_rule_rst | ||
| 4 | - | ||
| 5 | -select * from bsth_c_s_sp_rule_rst t | ||
| 6 | -where not exists (select 1 from bsth_c_s_sp_rule_rst | ||
| 7 | -where create_date > t.create_date and schedule_date < '2017-04-17' ) | ||
| 8 | -and t.xl_id = 10407 and t.schedule_date < '2017-04-17' | ||
| 9 | - | ||
| 10 | -show index from bsth_c_s_sp_rule_rst | ||
| 11 | - | ||
| 12 | -select * from bsth_c_s_sp_rule_rst | ||
| 13 | -where xl_id = 1 | ||
| 14 | - | ||
| 15 | -select * from bsth_c_s_sp_rule_rst t | ||
| 16 | -where t.xl_id = 10407 and t.schedule_date < '2017-04-17' | ||
| 17 | - | ||
| 18 | - | ||
| 19 | -select count(distinct concat(xl_id ,schedule_date, create_date)) / count(*) from bsth_c_s_sp_rule_rst | ||
| 20 | - | ||
| 21 | -select * from bsth_c_s_sp_rule_rst a | ||
| 22 | -where exists (select 1 from | ||
| 23 | -(select t.rule_id as rid, max(t.schedule_date) as sd from bsth_c_s_sp_rule_rst t | ||
| 24 | -where t.xl_id = 10407 and t.schedule_date < '2017-04-17' | ||
| 25 | -group by t.rule_id) a2 where a.rule_id = rid and a.schedule_date = sd) |
src/test/resources/testdata/test4.txt deleted
100644 → 0
| 1 | -select count(*) from bsth_c_s_ttinfo_detail | ||
| 2 | - | ||
| 3 | -select * from bsth_c_s_ttinfo_detail | ||
| 4 | - | ||
| 5 | -select * from bsth_c_s_ttinfo_detail where zdz_code is null; | ||
| 6 | - | ||
| 7 | -select * from bsth_c_station; | ||
| 8 | - | ||
| 9 | -select * from bsth_c_car_park; | ||
| 10 | - | ||
| 11 | -update bsth_c_s_ttinfo_detail a | ||
| 12 | -set a.qdz_code = (select station_cod from bsth_c_station b where a.qdz = b.id) | ||
| 13 | -where a.bc_type <> 'out' | ||
| 14 | - | ||
| 15 | -update bsth_c_s_ttinfo_detail a | ||
| 16 | -set a.qdz_name = (select station_name from bsth_c_station b where a.qdz = b.id) | ||
| 17 | -where a.bc_type <> 'out' | ||
| 18 | - | ||
| 19 | -update bsth_c_s_ttinfo_detail a | ||
| 20 | -set a.zdz_code = (select station_cod from bsth_c_station b where a.zdz = b.id) | ||
| 21 | -where a.bc_type <> 'in' | ||
| 22 | - | ||
| 23 | -update bsth_c_s_ttinfo_detail a | ||
| 24 | -set a.zdz_name = (select station_name from bsth_c_station b where a.zdz = b.id) | ||
| 25 | -where a.bc_type <> 'in' | ||
| 26 | - | ||
| 27 | -update bsth_c_s_ttinfo_detail a | ||
| 28 | -set a.qdz_code = (select park_code from bsth_c_car_park b where a.tcc = b.id) | ||
| 29 | -where a.bc_type = 'out' | ||
| 30 | - | ||
| 31 | -update bsth_c_s_ttinfo_detail a | ||
| 32 | -set a.qdz_name = (select park_name from bsth_c_car_park b where a.tcc = b.id) | ||
| 33 | -where a.bc_type = 'out' | ||
| 34 | - | ||
| 35 | -update bsth_c_s_ttinfo_detail a | ||
| 36 | -set a.zdz_code = (select park_code from bsth_c_car_park b where a.tcc = b.id) | ||
| 37 | -where a.bc_type = 'in' | ||
| 38 | - | ||
| 39 | -update bsth_c_s_ttinfo_detail a | ||
| 40 | -set a.zdz_name = (select park_name from bsth_c_car_park b where a.tcc = b.id) | ||
| 41 | -where a.bc_type = 'in' | ||
| 42 | - | ||
| 43 | -commit; | ||
| 44 | - | ||
| 45 | - | ||
| 46 | - |
src/test/resources/testdata/test5.txt deleted
100644 → 0
src/test/resources/testdata/test6.txt deleted
100644 → 0
| 1 | -select * from bsth_c_s_sp_rule_rst; | ||
| 2 | - | ||
| 3 | -select * from bsth_c_s_sp_rule_rst | ||
| 4 | -where qyrq is null; | ||
| 5 | - | ||
| 6 | -update bsth_c_s_sp_rule_rst a | ||
| 7 | -set a.qyrq = (select qyrq from bsth_c_s_sr1_flat where id = a.rule_id) | ||
| 8 | -where a.qyrq is null; | ||
| 9 | - | ||
| 10 | -select * from bsth_c_s_sp_rule_rst | ||
| 11 | -where origingidindex is null; | ||
| 12 | - | ||
| 13 | -update bsth_c_s_sp_rule_rst a | ||
| 14 | -set a.origingidindex = (select lp_start from bsth_c_s_sr1_flat where id = a.rule_id) | ||
| 15 | -where a.origingidindex is null; | ||
| 16 | - | ||
| 17 | -970 | ||
| 18 | -789 | ||
| 19 | -604 | ||
| 20 | -985 | ||
| 21 | -北蔡2路 | ||
| 22 | -1048 | ||
| 23 | -1118 | ||
| 24 | -上南二分通勤 | ||
| 25 | - | ||
| 26 | - | ||
| 27 | --Xms128M -Xmx1024M -XX:PermSize=64M -XX:MaxPermSize=128M | ||
| 28 | - | ||
| 29 | -1118 | ||
| 30 | -572康桥 | ||
| 31 | -83 |