Commit 6db1a8eff708f38bd329d4ad574f4b25a1a87872

Authored by 徐烜
2 parents 6d8b0e98 69d4f740

Merge branch 'minhang' into pudong

... ... @@ -24,7 +24,12 @@
24 24 <artifactId>spring-boot-starter-tomcat</artifactId>
25 25 <scope>provided</scope>
26 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 33 <dependency>
29 34 <groupId>org.springframework.boot</groupId>
30 35 <artifactId>spring-boot-starter-security</artifactId>
... ... @@ -229,6 +234,23 @@
229 234 <version>1.1</version>
230 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 254 <!-- <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId>
233 255 <optional>true</optional> </dependency> -->
234 256 <dependency>
... ...
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/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/traffic/SKBUploadLoggerRepository.java 0 → 100644
  1 +package com.bsth.repository.traffic;
  2 +
  3 +import com.bsth.entity.traffic.SKBUploadLogger;
  4 +import com.bsth.repository.BaseRepository;
  5 +
  6 +public interface SKBUploadLoggerRepository extends BaseRepository<SKBUploadLogger, Integer> {
  7 +}
... ...
src/main/java/com/bsth/service/forms/impl/FormsServiceImpl.java
... ... @@ -1068,12 +1068,10 @@ public class FormsServiceImpl implements FormsService {
1068 1068 }
1069 1069 }
1070 1070 Map<String, Object> tempMap = new HashMap<String, Object>();
1071   - int jhcc = 0;
1072   - int sjcc = 0;
1073   - int jhbc = 0;
1074   - int sjbc = 0;
  1071 + int jhcc = 0, sjcc = 0;
  1072 + int jhbc = 0, sjbc = 0;
1075 1073 int qz = 0;
1076   - for(Map<String, Object> m : tempList){
  1074 + for(Map<String, Object> m : resList){
1077 1075 jhcc += Integer.valueOf(m.get("jhcc").toString());
1078 1076 sjcc += Integer.valueOf(m.get("sjcc").toString());
1079 1077 jhbc += Integer.valueOf(m.get("jhbc").toString());
... ... @@ -1081,7 +1079,7 @@ public class FormsServiceImpl implements FormsService {
1081 1079 qz += Integer.valueOf(m.get("qz").toString());
1082 1080 }
1083 1081 tempMap.put("rq", "分类汇总");
1084   - tempMap.put("line", "共" + tempList.size() + "条线路");
  1082 + tempMap.put("line", "共" + resList.size() + "条线路");
1085 1083 tempMap.put("jhcc", jhcc);
1086 1084 tempMap.put("sjcc", sjcc);
1087 1085 tempMap.put("jhbc", jhbc);
... ...
src/main/java/com/bsth/service/impl/BusIntervalServiceImpl.java
... ... @@ -421,10 +421,10 @@ public class BusIntervalServiceImpl implements BusIntervalService {
421 421 long fcsj1 = fcsjs.get(i - 1);
422 422 long fcsj2 = fcsjs.get(i);
423 423 Long time = fcsj1/60;
424   - if(!timeMap0.containsKey(time) && !timeMap1.containsKey(time)){
  424 + if(!timeMap0.containsKey(time)){
425 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 429 timeMap0.get(time).add(fcsj2 - fcsj1);
430 430 }
... ... @@ -432,6 +432,11 @@ public class BusIntervalServiceImpl implements BusIntervalService {
432 432 long fcsj1 = fcsjAs.get(i - 1);
433 433 long fcsj2 = fcsjAs.get(i);
434 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 440 if(timeMap1.containsKey(time)){
436 441 timeMap1.get(time).add(fcsj2 - fcsj1);
437 442 }
... ... @@ -440,9 +445,8 @@ public class BusIntervalServiceImpl implements BusIntervalService {
440 445 for(int i = 1; i < fcsjs.size(); i++){
441 446 long fcsj1 = fcsjs.get(i - 1);
442 447 long fcsj2 = fcsjs.get(i);
443   - if(!temp0.containsKey(key) && !temp1.containsKey(key)){
  448 + if(!temp0.containsKey(key)){
444 449 temp0.put(key, new ArrayList<Long>());
445   - temp1.put(key, new ArrayList<Long>());
446 450 if(!keyList.contains(key))
447 451 keyList.add(key);
448 452 }
... ... @@ -451,6 +455,12 @@ public class BusIntervalServiceImpl implements BusIntervalService {
451 455 for(int i = 1; i < fcsjAs.size(); i++){
452 456 long fcsj1 = fcsjAs.get(i - 1);
453 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 464 temp1.get(key).add(fcsj2 - fcsj1);
455 465 }
456 466 }
... ... @@ -461,14 +471,16 @@ public class BusIntervalServiceImpl implements BusIntervalService {
461 471 Map<String, Object> tempMap = new HashMap<String, Object>();
462 472 List<Long> fcsjs = new ArrayList<Long>();
463 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 484 Collections.sort(fcsjs);
473 485 Collections.sort(fcsjAs);
474 486 String[] split = key.split("/");
... ... @@ -495,7 +507,8 @@ public class BusIntervalServiceImpl implements BusIntervalService {
495 507 tempMap.put("deviation", df.format(Double.valueOf(tempMap.get("sjInterval").toString())
496 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 517 List<Long> sortList = new ArrayList<Long>();
505 518 Map<Long, List<Map<String, Object>>> sortMap = new HashMap<Long, List<Map<String, Object>>>();
506 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 522 if(!sortMap.containsKey(sort)){
509 523 sortMap.put(sort, new ArrayList<Map<String, Object>>());
510 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 538 sortMap.get(sort).add(m);
513 539 }
514 540 Collections.sort(sortList);
... ... @@ -531,14 +557,16 @@ public class BusIntervalServiceImpl implements BusIntervalService {
531 557 Map<String, Object> tempMap = new HashMap<String, Object>();
532 558 List<Long> fcsjs = new ArrayList<Long>();
533 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 570 Collections.sort(fcsjs);
543 571 Collections.sort(fcsjAs);
544 572 long fcsj = 0l;
... ... @@ -563,7 +591,8 @@ public class BusIntervalServiceImpl implements BusIntervalService {
563 591 tempMap.put("deviation", df.format(Double.valueOf(tempMap.get("sjInterval").toString())
564 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 630 Map<String, List<ChildTaskPlan>> cMap = new HashMap<String, List<ChildTaskPlan>>();
602 631 Map<String, Object> modelMap = new HashMap<String, Object>();
603 632 Set<Long> tsSet = new HashSet<Long>();
  633 + Set<Long> ttSet = new HashSet<Long>();
604 634  
605 635 String company = map.get("company").toString();
606 636 String subCompany = map.get("subCompany").toString();
... ... @@ -639,7 +669,9 @@ public class BusIntervalServiceImpl implements BusIntervalService {
639 669 }
640 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 675 + " and DATE_FORMAT(schedule_date,'%Y-%m-%d') <= '"+endDate+"'"+where+"";
644 676  
645 677 list = jdbcTemplate.query(sql,
... ... @@ -652,11 +684,9 @@ public class BusIntervalServiceImpl implements BusIntervalService {
652 684 schedule.setRealExecDate(rs.getString("real_exec_date"));
653 685 schedule.setXlName(rs.getString("xl_name"));
654 686 schedule.setLpName(rs.getString("lp_name"));
655   - schedule.setBcType(rs.getString("bc_type"));
656 687 schedule.setBcs(rs.getInt("bcs"));
657 688 schedule.setBcsj(rs.getInt("bcsj"));
658 689 schedule.setJhlc(rs.getDouble("jhlc"));
659   - schedule.setDfsj(rs.getString("dfsj"));
660 690 schedule.setFcsj(rs.getString("fcsj"));
661 691 schedule.setFcsjActual(rs.getString("fcsj_actual"));
662 692 schedule.setZdsj(rs.getString("zdsj"));
... ... @@ -668,12 +698,6 @@ public class BusIntervalServiceImpl implements BusIntervalService {
668 698 schedule.setRemarks(rs.getString("remarks"));
669 699 schedule.setGsName(rs.getString("gs_name"));
670 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 701 schedule.setSpId(rs.getLong("sp_id"));
678 702  
679 703 if(schedule.getFcsjActual() != null && schedule.getFcsjActual().trim().length() == 0){
... ... @@ -726,7 +750,7 @@ public class BusIntervalServiceImpl implements BusIntervalService {
726 750 {
727 751 List<Map<String, String>> temp1 = new ArrayList<Map<String, String>>();
728 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 755 if(startDate.equals(endDate)){
732 756 sql += " and schedule_date = '"+startDate+"'";
... ... @@ -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 811 cList = jdbcTemplate.query(sql,
788 812 new RowMapper<ChildTaskPlan>(){
... ... @@ -798,10 +822,12 @@ public class BusIntervalServiceImpl implements BusIntervalService {
798 822 return cTask;
799 823 }
800 824 });
801   -
  825 +
802 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 832 ttList = jdbcTemplate.query(sql,
807 833 new RowMapper<Map<String, Object>>(){
... ... @@ -809,10 +835,14 @@ public class BusIntervalServiceImpl implements BusIntervalService {
809 835 public Map<String, Object> mapRow(ResultSet rs, int rowNum) throws SQLException {
810 836 Map<String, Object> m = new HashMap<String, Object>();
811 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 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 848 } catch (Exception e) {
... ... @@ -852,15 +882,21 @@ public class BusIntervalServiceImpl implements BusIntervalService {
852 882 if(schedule.getXlName()==null || schedule.getXlName().trim().length()==0)
853 883 continue;
854 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 900 }else{
865 901 String key = schedule.getScheduleDateStr() + "/" + schedule.getXlName() + "/" + schedule.getLpName();
866 902 if(!keyMap.containsKey(key))
... ...
src/main/java/com/bsth/service/impl/TrafficManageServiceImpl.java
... ... @@ -8,9 +8,13 @@ import com.bsth.entity.schedule.SchedulePlanInfo;
8 8 import com.bsth.entity.schedule.TTInfo;
9 9 import com.bsth.entity.schedule.TTInfoDetail;
10 10 import com.bsth.entity.search.CustomerSpecs;
  11 +import com.bsth.entity.sys.SysUser;
  12 +import com.bsth.entity.traffic.SKBUploadLogger;
11 13 import com.bsth.repository.*;
12 14 import com.bsth.repository.realcontrol.ScheduleRealInfoRepository;
13 15 import com.bsth.repository.schedule.*;
  16 +import com.bsth.repository.traffic.SKBUploadLoggerRepository;
  17 +import com.bsth.security.util.SecurityUtils;
14 18 import com.bsth.service.TrafficManageService;
15 19 import com.bsth.util.TimeUtils;
16 20 import com.bsth.util.db.DBUtils_MS;
... ... @@ -101,6 +105,10 @@ public class TrafficManageServiceImpl implements TrafficManageService{
101 105 @Autowired
102 106 private ScheduleRealInfoRepository scheduleRealInfoRepository;
103 107  
  108 + // 时刻表上传记录repository
  109 + @Autowired
  110 + private SKBUploadLoggerRepository skbUploadLoggerRepository;
  111 +
104 112  
105 113 // 运管处接口
106 114 private InternalPortType portType = null;//new Internal().getInternalHttpSoap11Endpoint();
... ... @@ -763,11 +771,12 @@ public class TrafficManageServiceImpl implements TrafficManageService{
763 771 String[] idArray = ids.split(",");
764 772 StringBuffer sBufferA;
765 773 StringBuffer sBufferB;
  774 + // 上传的时刻表集合
  775 + List<TTInfo> ttinfoList = new ArrayList<>();
766 776 TTInfo ttInfo;
767 777 TTInfoDetail ttInfoDetail;
768 778 Iterator<TTInfoDetail> ttInfoDetailIterator;
769 779 HashMap<String,Object> param = new HashMap<String, Object>();
770   - String lineCode ;
771 780 sBuffer.append("<SKBs>");
772 781 HashMap<String,String> paramMap;
773 782 HashMap<String,String> otherMap = new HashMap<String, String>();
... ... @@ -775,6 +784,7 @@ public class TrafficManageServiceImpl implements TrafficManageService{
775 784 ttInfo = ttInfoRepository.findOne(Long.valueOf(idArray[i]));
776 785 if(ttInfo == null)
777 786 continue;
  787 + ttinfoList.add(ttInfo); // 保存时刻表
778 788 param.put("ttinfo.id_eq", ttInfo.getId());
779 789 ttInfoDetailIterator = ttInfoDetailRepository.findAll(new CustomerSpecs<TTInfoDetail>(param),
780 790 new Sort(Direction.ASC, "xlDir")).iterator();
... ... @@ -802,7 +812,6 @@ public class TrafficManageServiceImpl implements TrafficManageService{
802 812 sBufferA.append("<JHYYLC>").append(ttInfoDetail.getJhlc()).append("</JHYYLC>");
803 813 sBuffer.append(sBufferA).append(sBufferB);
804 814 }
805   - lineCode = ttInfoDetail.getXl().getLineCode();
806 815 // 如果发车时间格式错误,忽略此条
807 816 if(changeTimeFormat(ttInfoDetail) == null){
808 817 continue;
... ... @@ -831,6 +840,15 @@ public class TrafficManageServiceImpl implements TrafficManageService{
831 840 sBuffer.append("</SKBs>");
832 841 if(ssop.setSKB(userNameOther, passwordOther, sBuffer.toString()).isSuccess()){
833 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 + }
834 852 }
835 853 } catch (Exception e) {
836 854 logger.error("setSKB:", e);
... ...
src/main/java/com/bsth/service/report/impl/CulateMileageServiceImpl.java
... ... @@ -239,7 +239,7 @@ public class CulateMileageServiceImpl implements CulateMileageService{
239 239 }
240 240 }else{
241 241 Set<ChildTaskPlan> childTaskPlans = scheduleRealInfo.getcTasks();
242   - if(!childTaskPlans.isEmpty()){
  242 + if(childTaskPlans.isEmpty()){
243 243 double jhlc=scheduleRealInfo.getJhlc()==null?0:scheduleRealInfo.getJhlc();
244 244 double jhlcOrig=scheduleRealInfo.getJhlcOrig()==null?0:scheduleRealInfo.getJhlcOrig();
245 245 double zjlc=Arith.sub(jhlc, jhlcOrig);
... ...
src/main/java/com/bsth/service/traffic/SKBUploadLoggerService.java 0 → 100644
  1 +package com.bsth.service.traffic;
  2 +
  3 +import com.bsth.entity.traffic.SKBUploadLogger;
  4 +import com.bsth.service.BaseService;
  5 +
  6 +
  7 +/**
  8 + * 时刻模板上传日志
  9 + */
  10 +public interface SKBUploadLoggerService extends BaseService<SKBUploadLogger,Integer> {
  11 +
  12 +}
... ...
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/resources/static/pages/forms/statement/correctStatis.html
... ... @@ -7,7 +7,8 @@
7 7 .table-bordered > tbody > tr > td,
8 8 .table-bordered > tfoot > tr > th,
9 9 .table-bordered > tfoot > tr > td {
10   - border: 1px solid; }
  10 + border: 1px solid;
  11 + text-align: center; }
11 12 .table-bordered > thead > tr > th,
12 13 .table-bordered > thead > tr > td {
13 14 border-bottom-width: 2px; }
... ...
src/main/resources/static/pages/forms/statement/historyMessage.html
... ... @@ -46,7 +46,7 @@
46 46 </form>
47 47 </div>
48 48 <div class="portlet-body">
49   - <div class="table-container" style="margin-top: 10px;overflow:auto;min-width: 906px;max-height: 520px;">
  49 + <div class="table-container" id="table" style="margin-top: 10px;overflow:auto;min-width: 906px;">
50 50 <table class="table table-bordered table-hover table-checkable" id="forms">
51 51 <thead>
52 52 <tr class="hidden">
... ... @@ -80,6 +80,7 @@
80 80 format : 'YYYY-MM-DD',
81 81 locale : 'zh-cn'
82 82 });
  83 + $("#table").height($(window).height()-280);
83 84  
84 85 $.get('/basic/lineCode2Name',function(result){
85 86 var data=[];
... ...
src/main/resources/static/pages/forms/statement/lbStatuAnaly.html
... ... @@ -57,7 +57,7 @@
57 57 <span class="item-label" style="width: 80px;">选择线路: </span>
58 58 <select class="form-control" name="line" id="line" style="width: 150px;"></select>
59 59 </div>
60   - <div style="display: inline-block; margin-left: 10px">
  60 + <div style="display: inline-block; margin-left: 10px; display: none;">
61 61 <span class="item-label" style="width: 80px;">时刻类型: </span>
62 62 <select class="form-control" name="model" id="model" style="width: 165px;">
63 63 <option value="">请选择...</option>
... ... @@ -93,7 +93,7 @@
93 93 </form>
94 94 </div>
95 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 97 <table class="table table-bordered table-hover table-checkable" id="forms">
98 98 <thead>
99 99  
... ... @@ -135,6 +135,7 @@
135 135 format : 'HH:mm',
136 136 locale : 'zh-cn'
137 137 });
  138 + $("#table").height($(window).height()-320);
138 139  
139 140 var d = new Date();
140 141 var year = d.getFullYear();
... ... @@ -239,6 +240,7 @@
239 240 $("#subCompany").on("change",initXl);
240 241 function initXl(){
241 242 var data=[];
  243 + data.push({id:" ", text:"全部线路"});
242 244 if(fage){
243 245 $("#line").select2("destroy").html('');
244 246 }
... ... @@ -310,6 +312,8 @@
310 312 }
311 313 var reason = $("input[name='reason']");
312 314 var params = {};
  315 + if(line == " ")
  316 + line = "";
313 317 // line = $("#line").val();
314 318 startDate = $("#startDate").val();
315 319 endDate = $("#endDate").val();
... ... @@ -454,7 +458,7 @@
454 458 <thead>
455 459 <tr>
456 460 <th class="hidden"></th>
457   - <th rowspan="3">日期</th>
  461 + <th rowspan="3" style=" width:120px;">日期</th>
458 462 <th rowspan="3">时段</th>
459 463 <th rowspan="3">公司</th>
460 464 <th rowspan="3">分公司</th>
... ...
src/main/resources/static/pages/forms/statement/waybill.html
... ... @@ -71,7 +71,7 @@
71 71 </div>
72 72 </div>
73 73 <div class="col-md-9" id="printArea">
74   - <div class="table-container" style="margin-top: 10px;overflow:auto;min-width: 906px;height: 520px">
  74 + <div class="table-container" id="xcld_height" style="margin-top: 10px;overflow:auto;min-width: 906px;">
75 75 <table class="table table-bordered table-checkable" id="forms">
76 76 <tbody class="ludan_1">
77 77  
... ... @@ -106,6 +106,7 @@
106 106 locale : 'zh-cn'
107 107 });
108 108  
  109 + $("#xcld_height").height($(window).height()-100);
109 110 var d = new Date();
110 111 var year = d.getFullYear();
111 112 var month = d.getMonth() + 1;
... ... @@ -257,7 +258,7 @@
257 258 if($(this).children().size() < 2){
258 259 return;
259 260 }
260   -
  261 + $("#xcld_height").height($(window).height()-100);
261 262 $(this).children().each(function(index){
262 263 params[index] = $(this).text();
263 264 });
... ...
src/main/resources/static/pages/mforms/operationservices/operationservice.html
... ... @@ -78,7 +78,7 @@
78 78 <th>线路名称</th>
79 79 <th>加注量</th>
80 80 <th>消耗量</th>
81   - <th>行驶公里(含空放里程)</th>
  81 + <th>行驶总公里(含空驶里程)</th>
82 82 <th>空驶里程</th>
83 83 <th>实际班次(包含空放班次)</th>
84 84 </tr>
... ...
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   - 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>
26   -
27   -<div class="row">
28   - <div class="col-md-12">
29   - <div class="portlet light porttlet-fit bordered">
30   - <div class="portlet-title">
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>
39   - </div>
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="导出"/>
66   - </div>
67   - </form>
68   - </div>
69   - <div class="portlet-body">
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>
90   - </div>
91   - </div>
92   - </div>
93   - </div>
94   -</div>
95   -
96   -<script>
97   - $(function(){
98   - // 关闭左侧栏
99   - if (!$('body').hasClass('page-sidebar-closed'))
100   - $('.menu-toggler.sidebar-toggler').click();
101   -
102   - $("#startDate,#endDate").datetimepicker({
103   - format : 'YYYY-MM-DD',
104   - locale : 'zh-cn'
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   - });
231   -
232   - });
233   -
234   -// $("#empnames").change(function(){
235   -// $("#empname").html($("#empnames").val())
236   -// // $("#query").click();
237   -
238   -// });
239   -
240   -</script>
241   -<script type="text/html" id="list_shiftuehiclemanth">
242   - {{each list as obj i}}
243   - <tr>
244   - <td>{{i+1}}</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>
253   - <td>{{obj.sjbc}}</td>
254   - </tr>
255   - {{/each}}
256   - {{if list.length == 0}}
257   - <tr>
258   - <td colspan="10"><h6 class="muted">没有找到相关数据</h6></td>
259   - </tr>
260   - {{/if}}
  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>
  26 +
  27 +<div class="row">
  28 + <div class="col-md-12">
  29 + <div class="portlet light porttlet-fit bordered">
  30 + <div class="portlet-title">
  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>
  39 + </div>
  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="导出"/>
  66 + </div>
  67 + </form>
  68 + </div>
  69 + <div class="portlet-body">
  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>
  90 + </div>
  91 + </div>
  92 + </div>
  93 + </div>
  94 +</div>
  95 +
  96 +<script>
  97 + $(function(){
  98 + // 关闭左侧栏
  99 + if (!$('body').hasClass('page-sidebar-closed'))
  100 + $('.menu-toggler.sidebar-toggler').click();
  101 +
  102 + $("#startDate,#endDate").datetimepicker({
  103 + format : 'YYYY-MM-DD',
  104 + locale : 'zh-cn'
  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 + });
  231 +
  232 + });
  233 +
  234 +// $("#empnames").change(function(){
  235 +// $("#empname").html($("#empnames").val())
  236 +// // $("#query").click();
  237 +
  238 +// });
  239 +
  240 +</script>
  241 +<script type="text/html" id="list_shiftuehiclemanth">
  242 + {{each list as obj i}}
  243 + <tr>
  244 + <td>{{i+1}}</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>
  253 + <td>{{obj.sjbc}}</td>
  254 + </tr>
  255 + {{/each}}
  256 + {{if list.length == 0}}
  257 + <tr>
  258 + <td colspan="10"><h6 class="muted">没有找到相关数据</h6></td>
  259 + </tr>
  260 + {{/if}}
261 261 </script>
262 262 \ No newline at end of file
... ...
src/main/resources/static/pages/oil/add.html
... ... @@ -74,7 +74,7 @@
74 74 <div class="form-group">
75 75 <label class="col-md-3 control-label">出场里程</label>
76 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 78 onafterpaste="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')">
79 79 </div>
80 80 </div>
... ... @@ -82,7 +82,7 @@
82 82 <div class="form-group">
83 83 <label class="col-md-3 control-label">出场油量</label>
84 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 86 onafterpaste="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')">
87 87 </div>
88 88 </div>
... ... @@ -90,7 +90,7 @@
90 90 <div class="form-group">
91 91 <label class="col-md-3 control-label">加油量</label>
92 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 94 onafterpaste="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')">
95 95 </div>
96 96 </div>
... ... @@ -98,7 +98,7 @@
98 98 <div class="form-group">
99 99 <label class="col-md-3 control-label">进场油量</label>
100 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 102 onafterpaste="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')">
103 103 </div>
104 104 </div>
... ... @@ -106,7 +106,7 @@
106 106 <div class="form-group">
107 107 <label class="col-md-3 control-label">油耗</label>
108 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 110 onafterpaste="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')">
111 111 </div>
112 112 </div>
... ... @@ -124,7 +124,7 @@
124 124 <div class="form-group">
125 125 <label class="col-md-3 control-label">尿素</label>
126 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 128 onafterpaste="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')">
129 129 </div>
130 130 </div>
... ... @@ -132,7 +132,7 @@
132 132 <div class="form-group">
133 133 <label class="col-md-3 control-label">进场里程</label>
134 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 136 onafterpaste="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')">
137 137 </div>
138 138 </div>
... ... @@ -155,14 +155,14 @@
155 155 <div class="form-group">
156 156 <label class="col-md-3 control-label">损耗油量</label>
157 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 159 onafterpaste="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')">
160 160 </div>
161 161 </div>
162 162 <div class="form-group">
163 163 <label class="col-md-3 control-label">行驶总里程</label>
164 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 166 onafterpaste="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')">
167 167 </div>
168 168 </div>
... ...
src/main/resources/static/pages/trafficManage/js/timeTempletUpload.js
... ... @@ -92,16 +92,17 @@
92 92 $("#right_div table tbody").empty();
93 93 var params = {};
94 94 // 取得输入框的值
95   - var inputs = $(".param input,select");debugger;
  95 + var inputs = $(".param input,select");
96 96 // 遍历数组
97 97 $.each(inputs, function(i, element) {
98 98 params[$(element).attr("name")] = $(element).val();
99 99 });
100 100 var i = layer.load(2);
101 101 $get('/tic_ec', params, function(data) {
102   - _dateFormat(data.content);
  102 + var content = data.data.content;
  103 + _dateFormat(content);
103 104 var bodyHtm = template('timeTemplet_list_temp', {
104   - list : data.content
  105 + list : content
105 106 });
106 107 $("#left_div table tbody").empty();
107 108 $("#left_div table tbody").append(bodyHtm);
... ...
src/main/resources/static/pages/trafficManage/js/timeTempletUploadRecord.js
... ... @@ -13,6 +13,7 @@
13 13 */
14 14  
15 15 (function(){
  16 + var page = 0, initPagination;
16 17 // 关闭左侧栏
17 18 if (!$('body').hasClass('page-sidebar-closed'))
18 19 $('.menu-toggler.sidebar-toggler').click();
... ... @@ -69,6 +70,49 @@
69 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 117 $('#dateInput').datetimepicker({
74 118 // 日期控件时间格式
... ... @@ -140,7 +184,7 @@
140 184 });
141 185 });
142 186 // 给输入框绑定autocomplete事件
143   - $("input[name='xl.name_eq']").autocompleter({
  187 + $("#line_name").autocompleter({
144 188 highlightMatches : true,
145 189 source : lines,
146 190 template : '{{ label }} <span>({{ hex }})</span>',
... ... @@ -150,5 +194,66 @@
150 194 });
151 195 // 设置autocompleter的宽度和输入框一样
152 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 260 \ No newline at end of file
... ...
src/main/resources/static/pages/trafficManage/timeTempletUploadRecord.html
... ... @@ -10,16 +10,16 @@
10 10 <div class="col-md-12">
11 11 <ul class="breadcrumb">
12 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 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 17 <li>线路名称:</li>
18 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 20 <li>上传用户:</li>
21 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 23 <li><a class="btn btn-circle blue" id="search">筛选</a></li>
24 24 </ul>
25 25 </div>
... ... @@ -27,7 +27,8 @@
27 27 <div class="_panel">
28 28 <div class="table-container">
29 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 32 <thead>
32 33 <tr>
33 34 <th>序号</th>
... ... @@ -49,35 +50,97 @@
49 50 </div>
50 51 </div>
51 52 </div>
52   -<script id="lineStationRecord_list_temp" type="text/html">
  53 +<script id="timeTempletUploadRecord_list_temp" type="text/html">
53 54 {{each list as obj i}}
54 55 <tr>
55 56 <td class="seq" style="vertical-align: middle;">
56 57 {{i+1}}
57 58 </td>
58 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 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 126 </td>
64 127 <td>
65   - {{obj.name}}
  128 + {{obj.ttInfo.xl.name}}
66 129 </td>
67 130 <td>
68   - {{obj.company}}
  131 + {{obj.ttInfo.name}}
69 132 </td>
70 133 <td>
71   -
  134 + {{obj.user.name}}
72 135 </td>
73   - <td >
74   -
  136 + <td>
  137 + {{obj.createDate}}
75 138 </td>
76 139 </tr>
77 140 {{/each}}
78 141 {{if list.length == 0}}
79 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 144 </tr>
82 145 {{/if}}
83 146 </script>
... ...