Commit 7821e6c0401d5d23e5fe614f80342af6b9886db2

Authored by 潘钊
2 parents e204a0f4 29949ba6

Merge branch 'minhang' of http://222.66.0.204:8090/panzhaov5/bsth_control into minhang

# Conflicts:
#	src/main/resources/static/real_control_v2/mapmonitor/fragments/map_config.html
#	src/main/resources/static/real_control_v2/mapmonitor/fragments/map_infowindow.html
src/main/java/com/bsth/controller/forms/ExportController.java
... ... @@ -13,6 +13,7 @@ import org.springframework.web.bind.annotation.RequestMethod;
13 13 import org.springframework.web.bind.annotation.RequestParam;
14 14 import org.springframework.web.bind.annotation.RestController;
15 15  
  16 +import com.bsth.entity.mcy_forms.Changetochange;
16 17 import com.bsth.entity.mcy_forms.Linepasswengerflow;
17 18 import com.bsth.entity.mcy_forms.Operationservice;
18 19 import com.bsth.entity.mcy_forms.Shifday;
... ... @@ -274,7 +275,48 @@ public class ExportController {
274 275 return resList;
275 276 }
276 277  
277   -
  278 +
  279 + //换人换车情况日统计
  280 + @RequestMapping(value = "/changetochangeExport",method = RequestMethod.POST)
  281 + public List<Map<String, Object>> changetochangeExport(@RequestParam Map<String, Object> map){
  282 + SimpleDateFormat sdfMonth = new SimpleDateFormat("yyyy-MM-dd"),
  283 + sdfSimple = new SimpleDateFormat("yyyyMMdd");
  284 + List<Iterator<?>> listI = new ArrayList<Iterator<?>>();
  285 + ReportUtils ee = new ReportUtils();
  286 + List<Changetochange> changetochange = formsService.changetochange(map);
  287 + List<Map<String, Object>> resList = new ArrayList<Map<String, Object>>();
  288 + for(Changetochange l : changetochange){
  289 + Map<String, Object> m = new HashMap<String, Object>();
  290 + m.put("rq",l.getRq());
  291 + m.put("gs",l.getGs());
  292 + m.put("fgs",l.getFgs());
  293 + m.put("xl",l.getXl());
  294 + m.put("lp",l.getLp());
  295 + m.put("fssj",l.getFssj());
  296 + m.put("xgsj",l.getXgsj());
  297 + m.put("pcch",l.getPcch());
  298 + m.put("pcry",l.getPcry());
  299 + m.put("jhch",l.getJhch());
  300 + m.put("jhgh",l.getJhgh());
  301 + m.put("sjch",l.getSjch());
  302 + m.put("sjgh",l.getSjgh());
  303 + m.put("yy",l.getYy());
  304 + m.put("xgr",l.getXgr());
  305 + resList.add(m);
  306 + }
  307 +
  308 + try {
  309 + listI.add(resList.iterator());
  310 + String path = this.getClass().getResource("/").getPath()+"static\\pages\\forms\\";
  311 + ee.excelReplace(listI, new Object[] { map }, path+"mould\\changetochange.xls",
  312 + path+"export\\换人换车情况日统计" + sdfSimple.format(sdfMonth.parse(map.get("startDate").toString())) + ".xls");
  313 + } catch (Exception e) {
  314 + e.printStackTrace();
  315 + }
  316 + return resList;
  317 + }
  318 +
  319 +
278 320  
279 321  
280 322  
... ...
src/main/java/com/bsth/controller/oil/YlbController.java
... ... @@ -49,8 +49,7 @@ public class YlbController extends BaseController&lt;Ylb, Integer&gt;{
49 49 */
50 50 @RequestMapping(value = "/obtain",method = RequestMethod.GET)
51 51 public Map<String, Object> obtain(@RequestParam Map<String, Object> map){
52   - String rq=map.get("rq").toString();
53   - Map<String, Object> list=yblService.obtain(rq);
  52 + Map<String, Object> list=yblService.obtain(map);
54 53 System.out.println();
55 54 return list;
56 55 }
... ...
src/main/java/com/bsth/entity/mcy_forms/Changetochange.java
1 1 package com.bsth.entity.mcy_forms;
2 2  
  3 +import java.util.Date;
  4 +
  5 +import javax.persistence.Entity;
  6 +import javax.persistence.GeneratedValue;
  7 +import javax.persistence.Id;
  8 +import javax.persistence.Table;
  9 +
  10 +@Entity
  11 +@Table(name = "bsth_c_chtoch")
3 12 public class Changetochange {
  13 + @Id
  14 + @GeneratedValue
  15 + private Integer id;
  16 +
  17 + private String rq;//日期
  18 +
  19 + private String gs;//公司
  20 +
  21 + private String fgs;//分公司
  22 +
  23 + private String xl;//线路
  24 +
  25 + private String lp;//路牌
  26 +
  27 + private String fssj;//发生时间
  28 +
  29 + private String xgsj;//修改时间
  30 +
  31 + private String pcch;//配车车号
  32 +
  33 + private String pcry;//配车人员
  34 +
  35 + private String jhch;//计划车号
  36 +
  37 + private String jhgh;//计划工号
  38 +
  39 + private String sjch;//实际车号
  40 +
  41 + private String sjgh;//实际工号
  42 +
  43 + private String yy;//原因
  44 +
  45 + private String xgr;//修改人
  46 +
  47 +
  48 + public Integer getId() {
  49 + return id;
  50 + }
  51 +
  52 + public void setId(Integer id) {
  53 + this.id = id;
  54 + }
  55 +
  56 + public String getRq() {
  57 + return rq;
  58 + }
  59 +
  60 + public void setRq(String rq) {
  61 + this.rq = rq;
  62 + }
  63 +
  64 + public String getGs() {
  65 + return gs;
  66 + }
  67 +
  68 + public void setGs(String gs) {
  69 + this.gs = gs;
  70 + }
  71 +
  72 + public String getFgs() {
  73 + return fgs;
  74 + }
  75 +
  76 + public void setFgs(String fgs) {
  77 + this.fgs = fgs;
  78 + }
  79 +
  80 + public String getXl() {
  81 + return xl;
  82 + }
  83 +
  84 + public void setXl(String xl) {
  85 + this.xl = xl;
  86 + }
  87 +
  88 + public String getLp() {
  89 + return lp;
  90 + }
  91 +
  92 + public void setLp(String lp) {
  93 + this.lp = lp;
  94 + }
  95 +
  96 + public String getFssj() {
  97 + return fssj;
  98 + }
  99 +
  100 + public void setFssj(String fssj) {
  101 + this.fssj = fssj;
  102 + }
  103 +
  104 + public String getXgsj() {
  105 + return xgsj;
  106 + }
  107 +
  108 + public void setXgsj(String xgsj) {
  109 + this.xgsj = xgsj;
  110 + }
  111 +
  112 + public String getPcch() {
  113 + return pcch;
  114 + }
  115 +
  116 + public void setPcch(String pcch) {
  117 + this.pcch = pcch;
  118 + }
  119 +
  120 + public String getPcry() {
  121 + return pcry;
  122 + }
  123 +
  124 + public void setPcry(String pcry) {
  125 + this.pcry = pcry;
  126 + }
  127 +
  128 +
  129 + public String getJhch() {
  130 + return jhch;
  131 + }
  132 +
  133 + public void setJhch(String jhch) {
  134 + this.jhch = jhch;
  135 + }
  136 +
  137 + public String getJhgh() {
  138 + return jhgh;
  139 + }
  140 +
  141 + public void setJhgh(String jhgh) {
  142 + this.jhgh = jhgh;
  143 + }
  144 +
  145 + public String getSjch() {
  146 + return sjch;
  147 + }
  148 +
  149 + public void setSjch(String sjch) {
  150 + this.sjch = sjch;
  151 + }
  152 +
  153 + public String getSjgh() {
  154 + return sjgh;
  155 + }
  156 +
  157 + public void setSjgh(String sjgh) {
  158 + this.sjgh = sjgh;
  159 + }
  160 +
  161 + public String getYy() {
  162 + return yy;
  163 + }
  164 +
  165 + public void setYy(String yy) {
  166 + this.yy = yy;
  167 + }
  168 +
  169 + public String getXgr() {
  170 + return xgr;
  171 + }
  172 +
  173 + public void setXgr(String xgr) {
  174 + this.xgr = xgr;
  175 + }
  176 +
4 177  
5 178  
6 179 }
... ...
src/main/java/com/bsth/repository/realcontrol/ScheduleRealInfoRepository.java
... ... @@ -100,10 +100,10 @@ public interface ScheduleRealInfoRepository extends BaseRepository&lt;ScheduleRealI
100 100 void deleteByLineCodeAndDate(String xlBm, String schDate);
101 101  
102 102 //去掉了 xlBm is not null
103   - @Query(value="select s from ScheduleRealInfo s where (s.xlBm = ?1 or s.xlBm is not null) and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?2")
  103 + @Query(value="select s from ScheduleRealInfo s where s.xlBm like %?1% and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?2")
104 104 List<ScheduleRealInfo> scheduleByDateAndLine(String line,String date);
105 105  
106   - @Query(value="select new map(s.scheduleDate as scheduleDate,s.xlBm as xlBm,s.clZbh as clZbh,s.jGh as jGh) from ScheduleRealInfo s where (s.xlBm = ?1 or s.xlBm is not null) and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?2 GROUP BY xlBm,clZbh,jGh,scheduleDate,jGh ORDER BY xlBm,clZbh")
  106 + @Query(value="select new map(s.scheduleDate as scheduleDate,s.xlBm as xlBm,s.clZbh as clZbh,s.jGh as jGh) from ScheduleRealInfo s where s.xlBm like %?1% and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?2 GROUP BY xlBm,clZbh,jGh,scheduleDate,jGh ORDER BY xlBm,clZbh")
107 107 List<Map<String,Object>> yesterdayDataList(String line,String date);
108 108  
109 109 @Query(value="select s from ScheduleRealInfo s where DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?1 ORDER BY xlBm,lpName,clZbh,xlDir")
... ...
src/main/java/com/bsth/service/forms/impl/FormsServiceImpl.java
... ... @@ -3,8 +3,10 @@ package com.bsth.service.forms.impl;
3 3 import java.sql.ResultSet;
4 4 import java.sql.SQLException;
5 5 import java.text.DecimalFormat;
  6 +import java.text.ParseException;
6 7 import java.text.SimpleDateFormat;
7 8 import java.util.ArrayList;
  9 +import java.util.Date;
8 10 import java.util.HashMap;
9 11 import java.util.Iterator;
10 12 import java.util.List;
... ... @@ -226,11 +228,66 @@ public class FormsServiceImpl implements FormsService{
226 228 }
227 229  
228 230 //换人换车情况日统计
229   - @Override
230   - public List<Changetochange> changetochange(Map<String, Object> map) {
231   -
232   - return null;
233   - }
  231 + String rq;
  232 + @Override
  233 + public List<Changetochange> changetochange(Map<String, Object> map) {
  234 +
  235 + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd") ;
  236 + SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy年MM月dd日") ;
  237 + Date d = null ;
  238 + Date d1 = null ;
  239 + try {
  240 + d = sdf.parse(map.get("startDate").toString());
  241 + d1 = sdf.parse(map.get("endDate").toString());
  242 + } catch (ParseException e) {
  243 +
  244 + e.printStackTrace();
  245 + }
  246 + String rq2=sdf1.format(d);
  247 + String rq3=sdf1.format(d1);
  248 +
  249 + rq=rq2+"-"+ rq3;
  250 +
  251 + String sql=" select c.*,l.line_code from bsth_c_chtoch c LEFT JOIN bsth_c_line l on c.xl=l.name WHERE 1=1 ";
  252 + if(!map.get("startDate").toString().equals(" ")&&!map.get("endDate").toString().equals(" ")){
  253 + sql+= "and DATE_FORMAT( c.rq,'%Y-%m-%d') BETWEEN '"+map.get("startDate").toString()+"' and '"+map.get("endDate").toString()+"'";
  254 + }
  255 + if(!map.get("line").equals("")){
  256 + sql+="and line_code='"+map.get("line")+"'";
  257 + }
  258 + if(map.get("sel").equals("2")){
  259 + sql+=" and c.pcch!=c.pcry";
  260 + }else if(map.get("sel").equals("1")){
  261 + sql+=" and c.jhgh!=c.sjgh";
  262 + }
  263 +
  264 +
  265 + List<Changetochange> list = jdbcTemplate.query(sql, new RowMapper<Changetochange>() {
  266 +
  267 + @Override
  268 + public Changetochange mapRow(ResultSet arg0, int arg1) throws SQLException {
  269 + Changetochange chan= new Changetochange();
  270 +
  271 + chan.setRq(rq);
  272 + chan.setGs(arg0.getString("gs").toString());
  273 + chan.setFgs(arg0.getString("fgs").toString());
  274 + chan.setXl(arg0.getString("xl").toString());
  275 + chan.setLp(arg0.getString("lp").toString());
  276 + chan.setFssj(arg0.getString("fssj").toString());
  277 + chan.setXgsj(arg0.getString("xgsj").toString());
  278 + chan.setPcch(arg0.getString("pcch").toString());
  279 + chan.setPcry(arg0.getString("pcry").toString());
  280 + chan.setJhch(arg0.getString("jhch").toString());
  281 + chan.setJhgh(arg0.getString("jhgh").toString());
  282 + chan.setSjch(arg0.getString("sjch").toString());
  283 + chan.setSjgh(arg0.getString("sjgh").toString());
  284 + chan.setYy(arg0.getString("yy").toString());
  285 + chan.setXgr(arg0.getString("xgr").toString());
  286 + return chan;
  287 + }
  288 + });
  289 + return list;
  290 + }
234 291  
235 292  
236 293 //路单数据
... ...
src/main/java/com/bsth/service/oil/YlbService.java
... ... @@ -7,7 +7,7 @@ import com.bsth.entity.oil.Ylb;
7 7 import com.bsth.service.BaseService;
8 8  
9 9 public interface YlbService extends BaseService<Ylb, Integer>{
10   - Map<String, Object> obtain(String rq);
  10 + Map<String, Object> obtain(Map<String, Object> map);
11 11 String obtainDsq();
12 12 Map<String, Object> sort(Map<String, Object> map);
13 13  
... ...
src/main/java/com/bsth/service/oil/impl/YlbServiceImpl.java
... ... @@ -85,7 +85,7 @@ public class YlbServiceImpl extends BaseServiceImpl&lt;Ylb,Integer&gt; implements YlbS
85 85 //前一天所有车辆最后进场班次信息
86 86 List<Ylb> ylListBe=repository.obtainYlbefore(rq);
87 87 //从排班表中计算出行驶的总里程
88   - List<Map<String,Object>> listpb=scheduleRealInfoService.yesterdayDataList("1024",rq);
  88 + List<Map<String,Object>> listpb=scheduleRealInfoService.yesterdayDataList("",rq);
89 89  
90 90 for(int x=0;x<listpb.size();x++){
91 91  
... ... @@ -151,7 +151,13 @@ public class YlbServiceImpl extends BaseServiceImpl&lt;Ylb,Integer&gt; implements YlbS
151 151 */
152 152 @Transactional
153 153 @Override
154   - public Map<String, Object> obtain(String rq) {
  154 + public Map<String, Object> obtain(Map<String, Object> map2) {
  155 + String rq=map2.get("rq").toString();
  156 + String line="";
  157 + if(map2.get("xlbm_eq")!=null){
  158 + line=map2.get("xlbm_eq").toString();
  159 + }
  160 +
155 161 SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
156 162 //保留两位小数
157 163 DecimalFormat df = new DecimalFormat("#.00");
... ... @@ -164,7 +170,7 @@ public class YlbServiceImpl extends BaseServiceImpl&lt;Ylb,Integer&gt; implements YlbS
164 170 //前一天所有车辆最后进场班次信息
165 171 List<Ylb> ylListBe=repository.obtainYlbefore(rq);
166 172 //从排班表中计算出行驶的总里程
167   - List<Map<String,Object>> listpb=scheduleRealInfoService.yesterdayDataList("1024",rq);
  173 + List<Map<String,Object>> listpb=scheduleRealInfoService.yesterdayDataList(line,rq);
168 174  
169 175 for(int x=0;x<listpb.size();x++){
170 176  
... ...
src/main/java/com/bsth/service/realcontrol/impl/ScheduleRealInfoServiceImpl.java
... ... @@ -1129,8 +1129,10 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
1129 1129 addMileage += tempJhlc;
1130 1130 ljbc++;
1131 1131 }else{
  1132 + if(scheduleRealInfo.getBcType().equals("normal")){
  1133 + jhbc++;
  1134 + }
1132 1135 jhlc += tempJhlc;
1133   - jhbc++;
1134 1136 if(scheduleRealInfo.getStatus() == -1){
1135 1137 remMileage += tempJhlc;
1136 1138 cjbc++;
... ... @@ -1516,7 +1518,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
1516 1518 if(scheduleRealInfo.getXlBm().equals(yesterdayDataList.get(i).get("xlBm")) && scheduleRealInfo.getClZbh().equals(yesterdayDataList.get(i).get("clZbh"))
1517 1519 && scheduleRealInfo.getjGh().equals(yesterdayDataList.get(i).get("jGh"))){
1518 1520 //根据线路代码获取公司
1519   - Line li = lineRepository.findByLineCode(line);
  1521 + Line li = lineRepository.findByLineCode(scheduleRealInfo.getXlBm());
1520 1522 yesterdayDataList.get(i).put("company", li.getCompany());
1521 1523 //计算总公里
1522 1524 Set<ChildTaskPlan> childTaskPlans = scheduleRealInfo.getcTasks();
... ...
src/main/resources/application-dev.properties
... ... @@ -8,7 +8,7 @@ spring.jpa.hibernate.naming_strategy= org.hibernate.cfg.ImprovedNamingStrategy
8 8 spring.jpa.database= MYSQL
9 9 spring.jpa.show-sql= false
10 10 spring.datasource.driver-class-name= com.mysql.jdbc.Driver
11   -spring.datasource.url= jdbc:mysql://192.168.168.201/mh_control?useUnicode=true&characterEncoding=utf-8&useSSL=false
  11 +spring.datasource.url= jdbc:mysql://192.168.168.201:3306/mh_control?useUnicode=true&characterEncoding=utf-8&useSSL=false
12 12 spring.datasource.username= root
13 13 spring.datasource.password= 123456
14 14 #DATASOURCE
... ...
src/main/resources/static/pages/forms/mould/changetochange.xls 0 → 100644
No preview for this file type
src/main/resources/static/pages/forms/statement/changetochange.html
... ... @@ -10,63 +10,98 @@
10 10 border: 1px solid; }
11 11 .table-bordered > thead > tr > th,
12 12 .table-bordered > thead > tr > td {
13   - border-bottom-width: 2px; }
  13 + border-bottom-width: 2px;
  14 + text-align: center;}
14 15  
15 16 .table > tbody + tbody {
16 17 border-top: 1px solid; }
  18 + .table>tbody>tr>td, .table>tbody>tr>th, .table>tfoot>tr>td, .table>tfoot>tr>th, .table>thead>tr>td, .table>thead>tr>th{ text-align: center; }
  19 +.table-checkable tr > th:first-child, .table-checkable tr > td:first-child {
  20 + text-align: center;
  21 + max-width: initial;
  22 + min-width: 40px;
  23 + padding-left: 0;
  24 + padding-right: 0;
  25 +}
  26 +
17 27 </style>
18 28  
19 29 <div class="page-head">
20 30 <div class="page-title">
21   - <h1>鎹汉鎹㈣溅鎯呭喌缁熻琛</h1>
  31 + <h1>换人换车情况统计表</h1>
22 32 </div>
23 33 </div>
24 34  
25 35 <div class="row">
26 36 <div class="col-md-12">
27 37 <div class="portlet light porttlet-fit bordered">
  38 + <div class="portlet-title">
  39 + <form class="form-inline" action="" method="post">
  40 + <div style="display: inline-block;">
  41 + <span class="item-label" style="width: 80px;">线路: </span>
  42 + <select class="form-control" name="line" id="line" style="width: 120px;"></select>
  43 + </div>
  44 + <div style="display: inline-block;margin-left: 15px;">
  45 + <span class="item-label" style="width: 80px;">开始时间: </span>
  46 + <input class="form-control" type="text" id="startDate" style="width: 120px;"/>
  47 + </div>
  48 + <div style="display: inline-block;margin-left: 15px;">
  49 + <span class="item-label" style="width: 80px;">结束时间: </span>
  50 + <input class="form-control" type="text" id="endDate" style="width: 120px;"/>
  51 + </div>
  52 + <div style="display: inline-block;">
  53 + <span class="item-label" style="width: 120px;">类型: </span>
  54 + <select class="form-control" id="sel">
  55 + <option value="">请选择</option>
  56 + <option value="1">换人</option>
  57 + <option value="2">换车</option>
  58 + </select>
  59 + </div>
  60 + <div class="form-group">
  61 + <input class="btn btn-default" type="button" id="query" value="筛选"/>
  62 + <input class="btn btn-default" type="button" id="export" value="导出"/>
  63 + </div>
  64 + </form>
  65 + </div>
28 66 <div class="portlet-body">
29   - <div class="table-container" style="margin-top: 10px;overflow:auto;min-width: 906px">
  67 + <div class="table-container" style="margin-top: 20px;overflow:auto;min-width: 1000px">
30 68 <table class="table table-bordered table-hover table-checkable" id="forms">
31 69 <thead>
32 70 <tr>
33   - <th colspan="13">鎹汉鎹㈣溅鎯呭喌缁熻琛</th>
  71 + <th colspan="15">换人换车情况统计表</th>
34 72 </tr>
35   - <!-- <tr>
36   - <td colspan="12">杞﹂槦 绔 <span id="sDate"></span>鑷<span id="eDate"></span></td>
37   - </tr> -->
38 73 <tr>
39   - <td rowspan="3">鏃ユ湡</td>
40   - <td rowspan="3">鍏徃</td>
41   - <td rowspan="3">鍒嗗叕鍙</td>
42   - <td rowspan="3">绾胯矾</td>
43   - <td rowspan="3">璺墝</td>
44   - <td rowspan="3">鍙戠敓鏃堕棿</td>
45   - <td rowspan="3">淇敼鏃堕棿</td>
46   - <td colspan="3">閰嶈溅</td>
47   - <td colspan="3">浜哄憳</td>
48   - <td rowspan="3">鍘熷洜</td>
49   - <td rowspan="3">淇敼浜</td>
  74 + <td rowspan="3" style=" padding-top: 50px;">日期</td>
  75 + <td rowspan="3" style=" padding-top: 50px;">公司</td>
  76 + <td rowspan="3" style=" padding-top: 50px;">分公司</td>
  77 + <td rowspan="3" style=" padding-top: 50px;">线路</td>
  78 + <td rowspan="3" style=" padding-top: 50px;">路牌</td>
  79 + <td rowspan="3" style=" padding-top: 50px;">发生时间</td>
  80 + <td rowspan="3" style=" padding-top: 50px;">修改时间</td>
  81 + <td colspan="2">配车</td>
  82 + <td colspan="4">人员</td>
  83 + <td rowspan="3" style=" padding-top: 50px;">原因</td>
  84 + <td rowspan="3" style=" padding-top: 50px;">修改人</td>
50 85 </tr>
51 86 <tr>
52   - <td>璁″垝</td>
53   - <td>瀹為檯</td>
54   - <td>璁″垝</td>
55   - <td>瀹為檯</td>
  87 + <td>计划</td>
  88 + <td>实际</td>
  89 + <td colspan="2">计划</td>
  90 + <td colspan="2">实际</td>
  91 +
56 92 </tr>
57 93 <tr>
58   - <td>璁″垝</td>
59   - <td>瀹為檯</td>
60   - <td>璁″垝</td>
61   - <td>瀹為檯</td>
  94 + <td>车号</td>
  95 + <td>车号</td>
  96 + <td>工号</td>
  97 + <td>人员</td>
  98 + <td>工号</td>
  99 + <td>人员</td>
62 100 </tr>
63 101 </thead>
64   - <tbody class="list_correctForm">
  102 + <tbody>
65 103  
66 104 </tbody>
67   - <tbody class="list_correctForm_statistics">
68   -
69   - </tbody>
70 105 </table>
71 106 </div>
72 107 </div>
... ... @@ -76,7 +111,7 @@
76 111  
77 112 <script>
78 113 $(function(){
79   - // 鍏抽棴宸︿晶鏍
  114 + // 关闭左侧栏
80 115 if (!$('body').hasClass('page-sidebar-closed'))
81 116 $('.menu-toggler.sidebar-toggler').click();
82 117  
... ... @@ -113,162 +148,81 @@
113 148 },
114 149 language: {
115 150 noResults: function(){
116   - return '<span style="color:red;font-size: 12px;">娌℃湁鎼滅储鍒扮嚎璺紒</span>';
117   - },
118   - inputTooShort : function(e) {
119   - return '<span style="color:gray;font-size: 12px;"><i class="fa fa-search"></i> 杈撳叆绾胯矾鎼滅储绾胯矾</span>';
120   - },
121   - searching : function() {
122   - return '<span style="color:gray;font-size: 12px;"> 姝e湪鎼滅储绾胯矾...</span>';
123   - }
124   - }
125   - });
126   - $('#lpName').select2({
127   - ajax: {
128   - url: '/realSchedule/findLpName',
129   - type: 'post',
130   - dataType: 'json',
131   - delay: 150,
132   - data: function(params){
133   - return{lpName: params.term};
134   - },
135   - processResults: function (data) {
136   - return {
137   - results: data
138   - };
139   - },
140   - cache: true
141   - },
142   - templateResult: function(repo){
143   - if (repo.loading) return repo.text;
144   - var h = '<span>'+repo.text+'</span>';
145   - return h;
146   - },
147   - escapeMarkup: function (markup) { return markup; },
148   - minimumInputLength: 1,
149   - templateSelection: function(repo){
150   - return repo.text;
151   - },
152   - language: {
153   - noResults: function(){
154   - return '<span style="color:red;font-size: 12px;">娌℃湁鎼滅储鍒拌矾鐗岋紒</span>';
  151 + return '<span style="color:red;font-size: 12px;">没有搜索到线路!</span>';
155 152 },
156 153 inputTooShort : function(e) {
157   - return '<span style="color:gray;font-size: 12px;"><i class="fa fa-search"></i> 杈撳叆璺墝鎼滅储璺墝</span>';
  154 + return '<span style="color:gray;font-size: 12px;"><i class="fa fa-search"></i> 输入线路搜索线路</span>';
158 155 },
159 156 searching : function() {
160   - return '<span style="color:gray;font-size: 12px;"> 姝e湪鎼滅储璺墝...</span>';
  157 + return '<span style="color:gray;font-size: 12px;"> 正在搜索线路...</span>';
161 158 }
162 159 }
163 160 });
164   - $('#code').select2({
165   - ajax: {
166   - url: '/realSchedule/sreachVehic',
167   - dataType: 'json',
168   - delay: 150,
169   - data: function(params){
170   - return{nbbm: params.term};
171   - },
172   - processResults: function (data) {
173   - return {
174   - results: data
175   - };
176   - },
177   - cache: true
178   - },
179   - templateResult: function(repo){
180   - if (repo.loading) return repo.text;
181   - var h = '<span>'+repo.text+'</span>';
182   - h += (repo.lineName?'&nbsp;<span class="select2-desc">'+repo.lineName+'</span>':'');
183   - return h;
184   - },
185   - escapeMarkup: function (markup) { return markup; },
186   - minimumInputLength: 1,
187   - templateSelection: function(repo){
188   - return repo.text;
189   - },
190   - language: {
191   - noResults: function(){
192   - return '<span style="color:red;font-size: 12px;">娌℃湁鎼滅储鍒拌溅杈嗭紒</span>';
193   - },
194   - inputTooShort : function(e) {
195   - return '<span style="color:gray;font-size: 12px;"><i class="fa fa-search"></i> 杈撳叆鑷紪鍙锋悳绱㈣溅杈</span>';
196   - },
197   - searching : function() {
198   - return '<span style="color:gray;font-size: 12px;"> 姝e湪鎼滅储杞﹁締...</span>';
199   - }
200   - }
201   - });
202   -
  161 + var line;
  162 + var startDate;
  163 + var endDate;
203 164 $("#query").on("click",function(){
204   - var line = $("#line").val();
205   - var startDate = $("#startDate").val();
206   - var endDate = $("#endDate").val();
207   - var lpName = $("#lpName").val();
208   - var code = $("#code").val();
209   - $post("/realSchedule/correctForm",{line:line,startDate:startDate,endDate:endDate,lpName:lpName,code:code},function(result){
210   - $("#sDate").text(startDate);
211   - $("#eDate").text(endDate);
212   - var temp = {};
213   - var today_account = 0;
214   - temp["line"] = $("#line").text() ;
215   - temp["totalAdjustment"] = result.length;
216   -
217   - $.each(result, function(i, obj) {
218   - if(moment(obj.scheduleDate).format("YYYY-MM-DD") == moment(obj.updateDate).format("YYYY-MM-DD")){
219   - today_account++;
220   - }
221   - obj.updateDate = moment(obj.updateDate).format("YYYY-MM-DD HH:mm:ss");
222   - });
223   -
224   - temp["todayAdjustment"] = today_account;
225   - temp["beforeAdjustment"] = result.length-today_account;
226   - temp["historyAdjustment"] = 0;
227   -
228   - var list_correctForm = template('list_correctForm',{list:result});
229   - // 鎶婃覆鏌撳ソ鐨勬ā鐗坔tml鏂囨湰杩藉姞鍒拌〃鏍间腑
230   - $('#forms .list_correctForm').html(list_correctForm);
231   -
232   - var list_correctForm_statistics = template('list_correctForm_statistics',temp);
233   - $('#forms .list_correctForm_statistics').html(list_correctForm_statistics);
234   - });
  165 + line = $("#line").val();
  166 + sel = $("#sel").val();
  167 + var startDate1=$("#startDate").val();
  168 + var endDate1=$("#endDate").val();
  169 +
  170 + if(startDate1!=''&&endDate1!=''){
  171 + $post('/mcy_forms/changetochange',{sel:sel,line:line,startDate:$("#startDate").val(),endDate:$("#endDate").val(),type:'query'},function(result){
  172 + startDate = $("#startDate").val();
  173 + endDate = $("#endDate").val();
  174 + $("#sDate").text(startDate);
  175 + $("#eDate").text(endDate);
  176 + var temp = {};
  177 + var today_account = 0;
  178 + temp["line"] = $("#line").text();
  179 + $.each(result, function(i, obj) {
  180 + if(moment(obj.schedule_date_str).format("YYYY-MM-DD") == moment(obj.startDate).format("YYYY-MM-DD")){
  181 + today_account++;
  182 + }
  183 + obj.updateDate = moment(obj.startDate).format("YYYY-MM-DD HH:mm:ss");
  184 + });
  185 + // 把数据填充到模版中
  186 + var tbodyHtml = template('changetochange',{list:result});
  187 + // 把渲染好的模版html文本追加到表格中
  188 + $('#forms tbody').html(tbodyHtml);
  189 + })
  190 +
  191 + }else{
  192 + alert("请选择时间范围!");
  193 + }
  194 + });
  195 +
  196 + $("#export").on("click",function(){
  197 + $post('/mcy_export/changetochangeExport',{startDate:startDate,endDate:endDate,type:'export'},function(result){
  198 + window.open("/downloadFile/download?fileName=换人换车情况日统计"+moment(startDate).format("YYYYMMDD"));
235 199 });
236 200 });
  201 + });
237 202 </script>
238   -<script type="text/html" id="list_correctForm">
  203 +<script type="text/html" id="changetochange">
239 204 {{each list as obj i}}
240 205 <tr>
241   - <td>{{obj.xlName}}</td>
242   - <td>{{obj.lpName}}</td>
243   - <td>{{obj.clZbh}}</td>
244   - <td>{{obj.jName}}</td>
245   - <td>{{obj.sName}}</td>
246   - <td>{{obj.fcsj}}</td>
247   - <td>{{obj.fcsjActual}}</td>
248   - <td>{{obj.zdsj}}</td>
249   - <td>{{obj.zdsjActual}}</td>
250   - <td>{{obj.updateBy}}</td>
251   - <td>{{obj.updateDate}}</td>
252   - <td>{{obj.remarks}}</td>
  206 + <td>{{obj.rq}}</td>
  207 + <td>{{obj.gs}}</td>
  208 + <td>{{obj.fgs}}</td>
  209 + <td>{{obj.xl}}</td>
  210 + <td>{{obj.lp}}</td>
  211 + <td>{{obj.fssj}}</td>
  212 + <td>{{obj.xgsj}}</td>
  213 + <td>{{obj.pcch}}</td>
  214 + <td>{{obj.pcry}}</td>
  215 + <td>{{obj.jhgh}}</td>
  216 + <td>{{obj.jhch}}</td>
  217 + <td>{{obj.sjgh}}</td>
  218 + <td>{{obj.sjch}}</td>
  219 + <td>{{obj.yy}}</td>
  220 + <td>{{obj.xgr}}</td>
253 221 </tr>
254 222 {{/each}}
255 223 {{if list.length == 0}}
256 224 <tr>
257   - <td colspan="12"><h6 class="muted">娌℃湁鎵惧埌鐩稿叧鏁版嵁</h6></td>
  225 + <td colspan="15"><h6 class="muted">没有找到相关数据</h6></td>
258 226 </tr>
259 227 {{/if}}
260 228 </script>
261   -<script type="text/html" id="list_correctForm_statistics">
262   - <tr>
263   - <td colspan="2">绾胯矾:</td>
264   - <td>{{line}}</td>
265   - <td>璋冩暣鎬绘暟</td>
266   - <td>{{totalAdjustment}}</td>
267   - <td>浜嬪厛璋冩暣</td>
268   - <td>{{beforeAdjustment}}</td>
269   - <td>褰撴棩璋冩暣</td>
270   - <td>{{todayAdjustment}}</td>
271   - <td>鍘嗗彶璋冩暣</td>
272   - <td colspan="2">{{historyAdjustment}}</td>
273   - </tr>
274   -</script>
275 229 \ No newline at end of file
... ...
src/main/resources/static/pages/forms/statement/statisticsDaily .html
... ... @@ -203,7 +203,7 @@
203 203 });
204 204 $("#query").on("click",function(){
205 205 var line = $("#line").val();
206   - var xlName = $("#line").text();
  206 + var xlName = $("#select2-line-container").html();
207 207 var date = $("#date").val();
208 208 $get('/realSchedule/statisticsDaily',{line:line,date:date,xlName:xlName},function(result){
209 209 // 把数据填充到模版中
... ...
src/main/resources/static/pages/oil/list.html
... ... @@ -294,8 +294,7 @@ $(function(){
294 294 }
295 295 });
296 296 $get('/ylb/obtain', params, function(){
297   - console.log("----------------------");
298   - jsDoQuery(null,true);
  297 + jsDoQuery(params,true);
299 298 });
300 299 }else{
301 300 layer.msg('请选择日期.');
... ...
src/main/resources/static/real_control_v2/mapmonitor/fragments/map_config.html
... ... @@ -4,8 +4,8 @@
4 4 <div class="uk-form-row">
5 5 <span class="uk-form-label">图层</span>
6 6 <div class="uk-form-controls">
7   - <label><input type="radio" value="baidu" name="map_type" {{if map_type=='baidu'}}checked{{/if}}> 百度</label>
8   - <label><input type="radio" value="gaode" name="map_type" {{if map_type=='gaode'}}checked{{/if}}> 高德</label>
  7 + <label><input type="radio" name="map_type" {{if map_type=='baidu'}}checked{{/if}}> 百度</label>
  8 + <label><input type="radio" name="map_type" {{if map_type=='gaode'}}checked{{/if}}> 高德</label>
9 9 <label><input type="checkbox" name="map_type" {{if traffic}}checked{{/if}}> 实时路况</label>
10 10 </div>
11 11 </div>
... ... @@ -42,21 +42,21 @@
42 42 <div class="color_block">
43 43 上行
44 44 <div class="sp-placeholder">
45   - <div class="sp-placeholder-color" data-name="carIcon.color.up" style="background: {{carIcon.color.up}}"></div>
  45 + <div class="sp-placeholder-color" style="background: {{carIcon.color.up}}"></div>
46 46 </div>
47 47 </div>
48 48  
49 49 <div class="color_block">
50 50 下行
51 51 <div class="sp-placeholder">
52   - <div class="sp-placeholder-color" data-name="carIcon.color.down" style="background: {{carIcon.color.down}}"></div>
  52 + <div class="sp-placeholder-color" style="background: {{carIcon.color.down}}"></div>
53 53 </div>
54 54 </div>
55 55  
56 56 <div class="color_block">
57 57 非营运
58 58 <div class="sp-placeholder">
59   - <div class="sp-placeholder-color" data-name="carIcon.color.nonOperation" style="background: {{carIcon.color.nonOperation}}"></div>
  59 + <div class="sp-placeholder-color" style="background: {{carIcon.color.nonOperation}}"></div>
60 60 </div>
61 61 </div>
62 62 </div>
... ... @@ -68,14 +68,14 @@
68 68 <div class="color_block">
69 69 上行
70 70 <div class="sp-placeholder">
71   - <div class="sp-placeholder-color" data-name="section.color.up" style="background: {{section.color.up}}"></div>
  71 + <div class="sp-placeholder-color" style="background: {{section.color.up}}"></div>
72 72 </div>
73 73 </div>
74 74  
75 75 <div class="color_block">
76 76 下行
77 77 <div class="sp-placeholder">
78   - <div class="sp-placeholder-color" data-name="section.color.down" style="background: {{section.color.down}}"></div>
  78 + <div class="sp-placeholder-color" style="background: {{section.color.down}}"></div>
79 79 </div>
80 80 </div>
81 81 </div>
... ...
src/main/resources/static/real_control_v2/mapmonitor/fragments/map_infowindow.html
1 1 <div>
2 2 <script id="map-win-gps-detail-temp" type="text/html">
3 3 <div class="gps_info_win">
4   - <h4>{{nbbm}}</h4>
5   - <h5>
6   - {{lineName}}
7   - ({{if stationName!=null}}
  4 + <h5 style="color:#0E6AF9;">
  5 + {{if stationName!=null}}
8 6 {{stationName}}
9 7 {{else}}
10 8 未知站点
11   - {{/if}})
  9 + {{/if}}
12 10 </h5>
  11 + <h4 style="margin: 5px 0 5px 0;">
  12 + <span style="color: #0E6AF9;">{{nbbm}}</span>
  13 + </h4>
  14 + <p>
  15 + 营运状态:{{if state==0}}营运{{else}}非营运{{/if}}
  16 + </p>
  17 + <p>
  18 + 走向:{{if upDown==0}}上行{{else if upDown==1}}下行{{else}}未知走向{{/if}}
  19 + </p>
13 20 <p>速度:{{speed}}</p>
14   - <p>角度:{{direction}}</p>
15 21 <p>经度:{{lon}}</p>
16 22 <p>纬度:{{lat}}</p>
17 23  
18   - <p class="date-str">{{dateStr}}</p>
  24 + <!--<p style="color: gray;">{{fromNow}} 更新</p>-->
19 25 <hr>
20   - {{if expectStopTime!=null}}
21   - <a href="javascript:;" style="color: #07D;margin-right: 20px;">预计 {{expectStopTime}} 分钟到达终点</a>
22   - {{/if}}
23   - <a href="javascript:;" style="float: right;">轨迹回放</a>
  26 + <p>
  27 + {{if currSch!=null}}
  28 + 路牌:{{currSch.lpName}}
  29 + {{/if}}
  30 + </p>
  31 + <p class="banci-info">
  32 + {{if currSch!=null}}开往 {{currSch.zdzName}}{{/if}}
  33 + </p>
  34 + <p class="banci-info">
  35 + {{if nextSch!=null}}
  36 + 下一班{{nextSch.qdzName}} {{nextSch.fcsj}} 发车
  37 + {{/if}}
  38 + </p>
  39 + <a href="javascript:lineGroup.toPlayBack('{{nbbm}}', '{{lineId}}')" class="link_to_pback"
  40 + style="color:#006600;font-size:12px;">轨迹回放</a>
24 41 </div>
25 42 </script>
26 43 </div>
... ...
src/main/resources/static/real_control_v2/mapmonitor/js/gps_tree.js
1   -var gb_map_gps_tree = (function () {
2   -
3   -
4   - var treeObj;
5   -
6   - var jstreeChanged = function (e, node, event) {
7   - gb_map_overlay_mge.refresh();
8   - };
9   -
10   - var init = function (cb) {
11   - //设备树
12   - var treeData = gb_common.get_device_tree_data();
13   - treeObj = $('.real_right_gps_panel .gps_tree_list')
14   - //节点初始化完成
15   - .on('ready.jstree', function () {
16   - treeObj.jstree(true).open_all();
17   - //删掉tree node a标签的 href值(避免鼠标悬停浏览器出现状态条)
18   - $('.gps_tree_list .jstree-container-ul a.jstree-anchor').removeAttr('href');
19   - })
20   - //state插件 状态恢复完成
21   - .on('state_ready.jstree', function () {
22   - //绑定checkbox状态切换事件
23   - treeObj.on('check_node.jstree uncheck_node.jstree', jstreeChanged);
24   - cb && cb();
25   - })
26   - .on('activate_node.jstree', function (e, n) {
27   - var node = n.node;
28   - if(node.a_attr && node.a_attr.type=='device'){
29   - var device = node.a_attr.device;
30   - gb_map_overlay_mge._focus(device);
31   - }
32   - })
33   - .jstree({
34   - 'core': {
35   - 'data': treeData
36   - },
37   - 'checkbox': {
38   - 'keep_selected_style': false,
39   - 'whole_node': false,
40   - 'tie_selection': false
41   - },
42   - 'contextmenu': {
43   - 'items': {
44   - '轨迹回放': {
45   - 'label': '轨迹回放',
46   - 'action': function (data) {
47   - console.log('action', data);
48   - }
49   - },
50   - '发送指令': {
51   - 'label': '发送指令',
52   - 'action': function (data) {
53   - console.log('action', data);
54   - }
55   - }
56   - }
57   - },
58   - 'plugins': ['checkbox', 'contextmenu', 'state']
59   - });
60   - };
61   -
62   - return {
63   - init: init,
64   - getChecked: function () {
65   - return treeObj.jstree(true).get_checked(true);
66   - }
67   - };
  1 +var gb_map_gps_tree = (function () {
  2 +
  3 +
  4 + var treeObj;
  5 +
  6 + var jstreeChanged = function (e, node, event) {
  7 + gb_map_overlay_mge.refresh();
  8 + };
  9 +
  10 + var init = function (cb) {
  11 + //设备树
  12 + var treeData = gb_common.get_device_tree_data();
  13 + treeObj = $('.real_right_gps_panel .gps_tree_list')
  14 + //节点初始化完成
  15 + .on('ready.jstree', function () {
  16 + treeObj.jstree(true).open_all();
  17 + //删掉tree node a标签的 href值(避免鼠标悬停浏览器出现状态条)
  18 + $('.gps_tree_list .jstree-container-ul a.jstree-anchor').removeAttr('href');
  19 + })
  20 + //state插件 状态恢复完成
  21 + .on('state_ready.jstree', function () {
  22 + //绑定checkbox状态切换事件
  23 + treeObj.on('check_node.jstree uncheck_node.jstree', jstreeChanged);
  24 + cb && cb();
  25 + })
  26 + .on('activate_node.jstree', function (e, n) {
  27 + var node = n.node;
  28 + if(node.a_attr && node.a_attr.type=='device'){
  29 + var device = node.a_attr.device;
  30 + gb_map_overlay_mge._focus(device);
  31 + }
  32 + })
  33 + .jstree({
  34 + 'core': {
  35 + 'data': treeData
  36 + },
  37 + 'checkbox': {
  38 + 'keep_selected_style': false,
  39 + 'whole_node': false,
  40 + 'tie_selection': false
  41 + },
  42 + 'contextmenu': {
  43 + 'items': {
  44 + '轨迹回放': {
  45 + 'label': '轨迹回放',
  46 + 'action': function (data) {
  47 + console.log('action', data);
  48 + }
  49 + },
  50 + '发送指令': {
  51 + 'label': '发送指令',
  52 + 'action': function (data) {
  53 + console.log('action', data);
  54 + }
  55 + }
  56 + }
  57 + },
  58 + 'plugins': ['checkbox', 'contextmenu', 'state']
  59 + });
  60 + };
  61 +
  62 + return {
  63 + init: init,
  64 + getChecked: function () {
  65 + return treeObj.jstree(true).get_checked(true);
  66 + }
  67 + };
68 68 })();
69 69 \ No newline at end of file
... ...