Commit 8b6a0247172874bc3fdec7824b83a9c3607e58fe
Merge branch 'minhang' of
http://222.66.0.204:8090/panzhaov5/bsth_control into minhang
Showing
21 changed files
with
1075 additions
and
584 deletions
src/main/java/com/bsth/controller/oil/YlbController.java
| @@ -209,8 +209,8 @@ public class YlbController extends BaseController<Ylb, Integer>{ | @@ -209,8 +209,8 @@ public class YlbController extends BaseController<Ylb, Integer>{ | ||
| 209 | return maps; | 209 | return maps; |
| 210 | } | 210 | } |
| 211 | @RequestMapping(value="/oilListMonth") | 211 | @RequestMapping(value="/oilListMonth") |
| 212 | - public List<Ylb> oilListMonth(@RequestParam String line,@RequestParam String date){ | ||
| 213 | - return yblService.oilListMonth(line, date); | 212 | + public List<Ylb> oilListMonth(@RequestParam String line,@RequestParam String date,@RequestParam String type){ |
| 213 | + return yblService.oilListMonth(line, date, type); | ||
| 214 | } | 214 | } |
| 215 | 215 | ||
| 216 | @RequestMapping(value = "/checkJsy",method = RequestMethod.GET) | 216 | @RequestMapping(value = "/checkJsy",method = RequestMethod.GET) |
src/main/java/com/bsth/service/forms/impl/FormsServiceImpl.java
| 1 | package com.bsth.service.forms.impl; | 1 | package com.bsth.service.forms.impl; |
| 2 | 2 | ||
| 3 | +import java.math.BigDecimal; | ||
| 3 | import java.sql.ResultSet; | 4 | import java.sql.ResultSet; |
| 4 | import java.sql.SQLException; | 5 | import java.sql.SQLException; |
| 5 | import java.text.DecimalFormat; | 6 | import java.text.DecimalFormat; |
| @@ -151,6 +152,40 @@ public class FormsServiceImpl implements FormsService { | @@ -151,6 +152,40 @@ public class FormsServiceImpl implements FormsService { | ||
| 151 | w.setSh(String.valueOf(sh)); | 152 | w.setSh(String.valueOf(sh)); |
| 152 | 153 | ||
| 153 | } | 154 | } |
| 155 | + | ||
| 156 | + Waybillday way = new Waybillday(); | ||
| 157 | + way.setNbbm("汇总合计"); | ||
| 158 | + BigDecimal ksgl = new BigDecimal("0.0"); | ||
| 159 | + BigDecimal jzl_ = new BigDecimal("0.0"); | ||
| 160 | + BigDecimal sh_ = new BigDecimal("0.0"); | ||
| 161 | + BigDecimal lc_ = new BigDecimal("0.0"); | ||
| 162 | + BigDecimal yh_ = new BigDecimal("0.0"); | ||
| 163 | + for(Waybillday w : list){ | ||
| 164 | + if(w.getJzl1() != null && w.getJzl1().trim().length() != 0){ | ||
| 165 | + ksgl = ksgl.add(new BigDecimal(w.getJzl1().trim())); | ||
| 166 | + } | ||
| 167 | + if(w.getJzl() != null && w.getJzl().trim().length() != 0){ | ||
| 168 | + jzl_ = jzl_.add(new BigDecimal(w.getJzl().trim())); | ||
| 169 | + } | ||
| 170 | + if(w.getSh() != null && w.getSh().trim().length() != 0){ | ||
| 171 | + sh_ = sh_.add(new BigDecimal(w.getSh().trim())); | ||
| 172 | + } | ||
| 173 | + if(w.getZlc() != null && w.getZlc().trim().length() != 0){ | ||
| 174 | + lc_ = lc_.add(new BigDecimal(w.getZlc().trim())); | ||
| 175 | + } | ||
| 176 | + if(w.getYh() != null && w.getYh().trim().length() != 0){ | ||
| 177 | + yh_ = yh_.add(new BigDecimal(w.getYh().trim())); | ||
| 178 | + } | ||
| 179 | + } | ||
| 180 | + way.setJzl1(ksgl.toString()); | ||
| 181 | + way.setJzl(jzl_.toString()); | ||
| 182 | + way.setjName(""); | ||
| 183 | + way.setSh(sh_.toString()); | ||
| 184 | + way.setZlc(lc_.toString()); | ||
| 185 | + way.setYh(yh_.toString()); | ||
| 186 | + if(list.size() > 0) | ||
| 187 | + list.add(way); | ||
| 188 | + | ||
| 154 | return list; | 189 | return list; |
| 155 | } | 190 | } |
| 156 | 191 | ||
| @@ -315,6 +350,34 @@ public class FormsServiceImpl implements FormsService { | @@ -315,6 +350,34 @@ public class FormsServiceImpl implements FormsService { | ||
| 315 | 350 | ||
| 316 | } | 351 | } |
| 317 | 352 | ||
| 353 | + Shiftuehiclemanth shif = new Shiftuehiclemanth(); | ||
| 354 | + shif.setjName("汇总合计"); | ||
| 355 | + BigDecimal yylc = new BigDecimal("0.0"); | ||
| 356 | + BigDecimal kslc = new BigDecimal("0.0"); | ||
| 357 | + BigDecimal cjlc = new BigDecimal("0.0"); | ||
| 358 | + BigDecimal zjlc = new BigDecimal("0.0"); | ||
| 359 | + BigDecimal zlc = new BigDecimal("0.0"); | ||
| 360 | + int cjbc = 0, zjbc = 0, sjbc = 0; | ||
| 361 | + for(Shiftuehiclemanth s : list){ | ||
| 362 | + yylc = yylc.add(new BigDecimal(s.getJhlc())); | ||
| 363 | + kslc = kslc.add(new BigDecimal(s.getEmptMileage())); | ||
| 364 | + cjlc = cjlc.add(new BigDecimal(s.getRemMileage())); | ||
| 365 | + zjlc = zjlc.add(new BigDecimal(s.getAddMileage())); | ||
| 366 | + zlc = zlc.add(new BigDecimal(s.getTotalm())); | ||
| 367 | + cjbc += Integer.valueOf(s.getCjbc()); | ||
| 368 | + zjbc += Integer.valueOf(s.getLjbc()); | ||
| 369 | + sjbc += Integer.valueOf(s.getSjbc()); | ||
| 370 | + } | ||
| 371 | + shif.setJhlc(yylc.toString()); | ||
| 372 | + shif.setEmptMileage(kslc.toString()); | ||
| 373 | + shif.setRemMileage(cjlc.toString()); | ||
| 374 | + shif.setAddMileage(zjlc.toString()); | ||
| 375 | + shif.setTotalm(zlc.toString()); | ||
| 376 | + shif.setCjbc("" + cjbc); | ||
| 377 | + shif.setLjbc("" + zjbc); | ||
| 378 | + shif.setSjbc("" + sjbc); | ||
| 379 | + if(list.size() > 0) | ||
| 380 | + list.add(shif); | ||
| 318 | 381 | ||
| 319 | return list; | 382 | return list; |
| 320 | } | 383 | } |
| @@ -403,7 +466,47 @@ public class FormsServiceImpl implements FormsService { | @@ -403,7 +466,47 @@ public class FormsServiceImpl implements FormsService { | ||
| 403 | d.setLjbc(String.valueOf(ljbc));//增加班次 | 466 | d.setLjbc(String.valueOf(ljbc));//增加班次 |
| 404 | d.setAddMileage(String.valueOf(zjgl));//增加公里 | 467 | d.setAddMileage(String.valueOf(zjgl));//增加公里 |
| 405 | d.setSjjhbc(String.valueOf(sjbc));//实际计划班次 | 468 | d.setSjjhbc(String.valueOf(sjbc));//实际计划班次 |
| 406 | - } | 469 | + } |
| 470 | + | ||
| 471 | + Shifday shif = new Shifday(); | ||
| 472 | + shif.setjName("汇总合计"); | ||
| 473 | + BigDecimal jhlc = new BigDecimal("0.0"); | ||
| 474 | + BigDecimal sjlc = new BigDecimal("0.0"); | ||
| 475 | + BigDecimal yylc = new BigDecimal("0.0"); | ||
| 476 | + BigDecimal kslc = new BigDecimal("0.0"); | ||
| 477 | + BigDecimal cjlc = new BigDecimal("0.0"); | ||
| 478 | + BigDecimal zjlc = new BigDecimal("0.0"); | ||
| 479 | + BigDecimal zlc = new BigDecimal("0.0"); | ||
| 480 | + int jhbc = 0, sjjhbc = 0, cjbc = 0, zjbc = 0, sjbc = 0; | ||
| 481 | + for(Shifday s : list){ | ||
| 482 | + jhlc = jhlc.add(new BigDecimal(s.getJhlc())); | ||
| 483 | + sjlc = sjlc.add(new BigDecimal(s.getSjjhlc())); | ||
| 484 | + yylc = yylc.add(new BigDecimal(s.getYygl())); | ||
| 485 | + kslc = kslc.add(new BigDecimal(s.getEmptMileage())); | ||
| 486 | + cjlc = cjlc.add(new BigDecimal(s.getRemMileage())); | ||
| 487 | + zjlc = zjlc.add(new BigDecimal(s.getAddMileage())); | ||
| 488 | + zlc = zlc.add(new BigDecimal(s.getTotalm())); | ||
| 489 | + jhbc += Integer.valueOf(s.getJhbc()); | ||
| 490 | + sjjhbc += Integer.valueOf(s.getSjjhbc()); | ||
| 491 | + cjbc += Integer.valueOf(s.getCjbc()); | ||
| 492 | + zjbc += Integer.valueOf(s.getLjbc()); | ||
| 493 | + sjbc += Integer.valueOf(s.getSjbc()); | ||
| 494 | + } | ||
| 495 | + shif.setJhlc(jhlc.toString()); | ||
| 496 | + shif.setSjjhlc(sjlc.toString()); | ||
| 497 | + shif.setYygl(yylc.toString()); | ||
| 498 | + shif.setEmptMileage(kslc.toString()); | ||
| 499 | + shif.setRemMileage(cjlc.toString()); | ||
| 500 | + shif.setAddMileage(zjlc.toString()); | ||
| 501 | + shif.setTotalm(zlc.toString()); | ||
| 502 | + shif.setJhbc("" + jhbc); | ||
| 503 | + shif.setSjjhbc("" + sjjhbc); | ||
| 504 | + shif.setCjbc("" + cjbc); | ||
| 505 | + shif.setLjbc("" + zjbc); | ||
| 506 | + shif.setSjbc("" + sjbc); | ||
| 507 | + if(list.size() > 0) | ||
| 508 | + list.add(shif); | ||
| 509 | + | ||
| 407 | return list; | 510 | return list; |
| 408 | } | 511 | } |
| 409 | 512 |
src/main/java/com/bsth/service/oil/YlbService.java
| @@ -19,7 +19,7 @@ public interface YlbService extends BaseService<Ylb, Integer>{ | @@ -19,7 +19,7 @@ public interface YlbService extends BaseService<Ylb, Integer>{ | ||
| 19 | 19 | ||
| 20 | Map<String, Object> sumYlb(Map<String, Object> map); | 20 | Map<String, Object> sumYlb(Map<String, Object> map); |
| 21 | String checkJsy(Map<String, Object> map); | 21 | String checkJsy(Map<String, Object> map); |
| 22 | - List<Ylb> oilListMonth(String line,String date); | 22 | + List<Ylb> oilListMonth(String line,String date,String type); |
| 23 | List<Ylb> listYlb(Map<String, Object> map); | 23 | List<Ylb> listYlb(Map<String, Object> map); |
| 24 | StringBuffer checkNbmmNum(String rq, String gsbm,String fgsbm,String xlbm,String nbbm,int lx); | 24 | StringBuffer checkNbmmNum(String rq, String gsbm,String fgsbm,String xlbm,String nbbm,int lx); |
| 25 | 25 |
src/main/java/com/bsth/service/oil/impl/YlbServiceImpl.java
| @@ -45,6 +45,7 @@ import com.bsth.service.oil.YlbService; | @@ -45,6 +45,7 @@ import com.bsth.service.oil.YlbService; | ||
| 45 | import com.bsth.service.realcontrol.ScheduleRealInfoService; | 45 | import com.bsth.service.realcontrol.ScheduleRealInfoService; |
| 46 | import com.bsth.util.Arith; | 46 | import com.bsth.util.Arith; |
| 47 | import com.bsth.util.BatchSaveUtils; | 47 | import com.bsth.util.BatchSaveUtils; |
| 48 | +import com.bsth.util.ReportUtils; | ||
| 48 | import com.github.abel533.echarts.code.Y; | 49 | import com.github.abel533.echarts.code.Y; |
| 49 | 50 | ||
| 50 | @Service | 51 | @Service |
| @@ -949,7 +950,7 @@ public class YlbServiceImpl extends BaseServiceImpl<Ylb,Integer> implements YlbS | @@ -949,7 +950,7 @@ public class YlbServiceImpl extends BaseServiceImpl<Ylb,Integer> implements YlbS | ||
| 949 | 950 | ||
| 950 | 951 | ||
| 951 | @Override | 952 | @Override |
| 952 | - public List<Ylb> oilListMonth(String line, String date) { | 953 | + public List<Ylb> oilListMonth(String line, String date, String type) { |
| 953 | String date2=date.substring(0, 8)+"01"; | 954 | String date2=date.substring(0, 8)+"01"; |
| 954 | String lineStr=""; | 955 | String lineStr=""; |
| 955 | if(line !=null && !line.equals("")){ | 956 | if(line !=null && !line.equals("")){ |
| @@ -979,6 +980,34 @@ public class YlbServiceImpl extends BaseServiceImpl<Ylb,Integer> implements YlbS | @@ -979,6 +980,34 @@ public class YlbServiceImpl extends BaseServiceImpl<Ylb,Integer> implements YlbS | ||
| 979 | return s; | 980 | return s; |
| 980 | } | 981 | } |
| 981 | }); | 982 | }); |
| 983 | + | ||
| 984 | + if(type != null && type.equals("export")){ | ||
| 985 | + SimpleDateFormat sdfMonth = new SimpleDateFormat("yyyy-MM-dd"), | ||
| 986 | + sdfSimple = new SimpleDateFormat("yyyyMMdd"); | ||
| 987 | + | ||
| 988 | + List<Map<String, Object>> mapList = new ArrayList<Map<String, Object>>(); | ||
| 989 | + for(Ylb ylb : list){ | ||
| 990 | + Map<String, Object> m = new HashMap<String, Object>(); | ||
| 991 | + m.put("nbbm", ylb.getNbbm()!=null?ylb.getNbbm():""); | ||
| 992 | + m.put("rq", ylb.getRq()!=null?sdfMonth.format(ylb.getRq()):""); | ||
| 993 | + m.put("jzyl", ylb.getJzyl()!=null?ylb.getJzyl():""); | ||
| 994 | + mapList.add(m); | ||
| 995 | + } | ||
| 996 | + | ||
| 997 | + List<Iterator<?>> listI = new ArrayList<Iterator<?>>(); | ||
| 998 | + Map<String, Object> m = new HashMap<String, Object>(); | ||
| 999 | + ReportUtils ee = new ReportUtils(); | ||
| 1000 | + try { | ||
| 1001 | + listI.add(mapList.iterator()); | ||
| 1002 | + String path = this.getClass().getResource("/").getPath()+"static/pages/forms/"; | ||
| 1003 | + ee.excelReplace(listI, new Object[] { m }, path+"mould/oilListMonth.xls", | ||
| 1004 | + path+"export/月存油报表" + sdfSimple.format(sdfMonth.parse(date)) + ".xls"); | ||
| 1005 | + } catch (Exception e) { | ||
| 1006 | + // TODO: handle exception | ||
| 1007 | + e.printStackTrace(); | ||
| 1008 | + } | ||
| 1009 | + } | ||
| 1010 | + | ||
| 982 | return list; | 1011 | return list; |
| 983 | } | 1012 | } |
| 984 | 1013 |
src/main/java/com/bsth/service/schedule/impl/PeopleCarPlanServiceImpl.java
| @@ -516,6 +516,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | @@ -516,6 +516,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | ||
| 516 | String endDate = map.get("endDate").toString(); | 516 | String endDate = map.get("endDate").toString(); |
| 517 | String model = map.get("model").toString(); | 517 | String model = map.get("model").toString(); |
| 518 | String type = map.get("type").toString(); | 518 | String type = map.get("type").toString(); |
| 519 | + String bcType = map.get("bcType").toString(); | ||
| 519 | 520 | ||
| 520 | if(startDate.length() == 0){ | 521 | if(startDate.length() == 0){ |
| 521 | startDate = new SimpleDateFormat("yyyy-MM-dd").format(new Date()); | 522 | startDate = new SimpleDateFormat("yyyy-MM-dd").format(new Date()); |
| @@ -533,7 +534,11 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | @@ -533,7 +534,11 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | ||
| 533 | sql += " and gs_bm like '%"+company+"%' and fgs_bm like '%"+subCompany+"%'"; | 534 | sql += " and gs_bm like '%"+company+"%' and fgs_bm like '%"+subCompany+"%'"; |
| 534 | // } | 535 | // } |
| 535 | sql += " and bc_type != 'in' and bc_type != 'out' and bc_type != 'ldks'"; | 536 | sql += " and bc_type != 'in' and bc_type != 'out' and bc_type != 'ldks'"; |
| 536 | - | 537 | + if(Integer.valueOf(bcType) == 1){ |
| 538 | + sql += " and bc_type != 'region'"; | ||
| 539 | + } else if(Integer.valueOf(bcType) == 2){ | ||
| 540 | + sql += " and bc_type = 'region'"; | ||
| 541 | + } | ||
| 537 | list = jdbcTemplate.query(sql, | 542 | list = jdbcTemplate.query(sql, |
| 538 | new RowMapper<ScheduleRealInfo>(){ | 543 | new RowMapper<ScheduleRealInfo>(){ |
| 539 | @Override | 544 | @Override |
| @@ -1180,8 +1185,11 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | @@ -1180,8 +1185,11 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | ||
| 1180 | 1185 | ||
| 1181 | @Override | 1186 | @Override |
| 1182 | public List<Map<String, Object>> firstAndLastBus(Map<String, Object> map) { | 1187 | public List<Map<String, Object>> firstAndLastBus(Map<String, Object> map) { |
| 1188 | + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); | ||
| 1189 | + NumberFormat nf = NumberFormat.getNumberInstance(); | ||
| 1190 | + nf.setMinimumFractionDigits(2); | ||
| 1191 | + List<ScheduleRealInfo> list = new ArrayList<ScheduleRealInfo>(); | ||
| 1183 | List<Map<String, Object>> resList = new ArrayList<Map<String, Object>>(); | 1192 | List<Map<String, Object>> resList = new ArrayList<Map<String, Object>>(); |
| 1184 | - Map<String, List<ScheduleRealInfo>> keyMap = new HashMap<String, List<ScheduleRealInfo>>(); | ||
| 1185 | 1193 | ||
| 1186 | String company = map.get("company").toString(); | 1194 | String company = map.get("company").toString(); |
| 1187 | String subCompany = map.get("subCompany").toString(); | 1195 | String subCompany = map.get("subCompany").toString(); |
| @@ -1190,151 +1198,173 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | @@ -1190,151 +1198,173 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | ||
| 1190 | String type = map.get("type").toString(); | 1198 | String type = map.get("type").toString(); |
| 1191 | 1199 | ||
| 1192 | if(date.length() == 0) | 1200 | if(date.length() == 0) |
| 1193 | - date = new SimpleDateFormat("yyyy-MM-dd").format(new Date()); | 1201 | + date = sdf.format(new Date()); |
| 1194 | 1202 | ||
| 1195 | - List<ScheduleRealInfo> list = this.getSchedule(company, subCompany, line, date); | 1203 | + try { |
| 1204 | + String sql = "select a.schedule_date_Str, a.real_exec_date, a.xl_name, a.fcsj, a.fcsj_actual, a.zdsj, a.zdsj_actual, a.qdz_name, a.zdz_name, a.xl_dir, a.status, a.gs_name, a.fgs_name," | ||
| 1205 | + + " b.start_opt from bsth_c_s_sp_info_real a left join (select line, start_opt from bsth_c_line_config order by id desc) b on a.xl_bm = b.line" | ||
| 1206 | + + " where DATE_FORMAT(schedule_date,'%Y-%m-%d') = '"+date+"'" | ||
| 1207 | + + " and fcsj_actual is not null and fcsj_actual != '' and bc_type != 'in' and bc_type != 'out' and bc_type != 'ldks'"; | ||
| 1208 | + if(line.length() != 0) | ||
| 1209 | + sql += " and xl_bm = '"+line+"'"; | ||
| 1210 | + if(company.length() != 0) | ||
| 1211 | + sql += " and gs_bm = '"+company+"' and fgs_bm = '"+subCompany+"'"; | ||
| 1212 | + | ||
| 1213 | + list = jdbcTemplate.query(sql, | ||
| 1214 | + new RowMapper<ScheduleRealInfo>(){ | ||
| 1215 | + @Override | ||
| 1216 | + public ScheduleRealInfo mapRow(ResultSet rs, int rowNum) throws SQLException { | ||
| 1217 | + ScheduleRealInfo schedule = new ScheduleRealInfo(); | ||
| 1218 | + schedule.setScheduleDateStr(rs.getString("schedule_date_Str")); | ||
| 1219 | + schedule.setRealExecDate(rs.getString("real_exec_date")); | ||
| 1220 | + schedule.setXlName(rs.getString("xl_name")); | ||
| 1221 | + schedule.setFcsj(rs.getString("fcsj")); | ||
| 1222 | + schedule.setFcsjActual(rs.getString("fcsj_actual")); | ||
| 1223 | + schedule.setZdsj(rs.getString("zdsj")); | ||
| 1224 | + schedule.setZdsjActual(rs.getString("zdsj_actual")); | ||
| 1225 | + schedule.setQdzName(rs.getString("qdz_name")); | ||
| 1226 | + schedule.setZdzName(rs.getString("zdz_name")); | ||
| 1227 | + schedule.setXlDir(rs.getString("xl_dir")); | ||
| 1228 | + schedule.setStatus(rs.getInt("status")); | ||
| 1229 | + schedule.setGsName(rs.getString("gs_name")); | ||
| 1230 | + schedule.setFgsName(rs.getString("fgs_name")); | ||
| 1231 | + | ||
| 1232 | + int startOpt = 0; | ||
| 1233 | + if(rs.getString("start_opt") != null && rs.getString("start_opt").trim().length() != 0){ | ||
| 1234 | + String[] split = rs.getString("start_opt").split(":"); | ||
| 1235 | + startOpt = Integer.valueOf(split[0])*60 + Integer.valueOf(split[1]); | ||
| 1236 | + } | ||
| 1237 | + | ||
| 1238 | + if(schedule.getFcsjActual() != null && schedule.getFcsjActual().trim().length() == 0){ | ||
| 1239 | + schedule.setFcsjActual(null); | ||
| 1240 | + } | ||
| 1241 | + if(schedule.getZdsjActual() != null && schedule.getZdsjActual().trim().length() == 0){ | ||
| 1242 | + schedule.setZdsjActual(null); | ||
| 1243 | + } | ||
| 1244 | + if(schedule.getFcsj() != null){ | ||
| 1245 | + String[] split = schedule.getFcsj().split(":"); | ||
| 1246 | + int fcsj = Integer.valueOf(split[0]) * 60 + Integer.valueOf(split[1]); | ||
| 1247 | + if(fcsj < startOpt) | ||
| 1248 | + fcsj += 1440; | ||
| 1249 | + schedule.setFcsjT((long)fcsj); | ||
| 1250 | + } | ||
| 1251 | + if(schedule.getFcsjActual() != null){ | ||
| 1252 | + String[] split = schedule.getFcsjActual().split(":"); | ||
| 1253 | + int fcsjA = Integer.valueOf(split[0]) * 60 + Integer.valueOf(split[1]); | ||
| 1254 | + if(fcsjA < startOpt || !schedule.getRealExecDate().equals(schedule.getScheduleDateStr())) | ||
| 1255 | + fcsjA += 1440; | ||
| 1256 | + schedule.setFcsjActualTime((long)fcsjA); | ||
| 1257 | + } | ||
| 1258 | + | ||
| 1259 | + return schedule; | ||
| 1260 | + } | ||
| 1261 | + }); | ||
| 1262 | + | ||
| 1263 | + } catch (Exception e) { | ||
| 1264 | + // TODO: handle exception | ||
| 1265 | + e.printStackTrace(); | ||
| 1266 | + } | ||
| 1196 | 1267 | ||
| 1197 | - for(ScheduleRealInfo schedule : list){ | ||
| 1198 | - if(schedule.getBcType().equals("in") || schedule.getBcType().equals("out") || schedule.getBcType().equals("ldks")) | ||
| 1199 | - continue; | ||
| 1200 | - if(schedule.getStatus() == -1){ | ||
| 1201 | - continue; | ||
| 1202 | - } | ||
| 1203 | - String key = schedule.getXlName(); | ||
| 1204 | - if(key == null || key.trim().length() == 0) | ||
| 1205 | - continue; | ||
| 1206 | - if(!keyMap.containsKey(key)) | ||
| 1207 | - keyMap.put(key, new ArrayList<ScheduleRealInfo>()); | ||
| 1208 | - keyMap.get(key).add(schedule); | 1268 | + Map<String, List<ScheduleRealInfo>> keyMap = new HashMap<String, List<ScheduleRealInfo>>(); |
| 1269 | + String companyName = "", subCompanyName = ""; | ||
| 1270 | + | ||
| 1271 | + for(ScheduleRealInfo s : list){ | ||
| 1272 | + String xlName = s.getXlName(); | ||
| 1273 | + if(!keyMap.containsKey(xlName)) | ||
| 1274 | + keyMap.put(xlName, new ArrayList<ScheduleRealInfo>()); | ||
| 1275 | + keyMap.get(xlName).add(s); | ||
| 1276 | + if(companyName.length()==0&&s.getGsName()!=null&&s.getGsName().trim().length()!=0) | ||
| 1277 | + companyName = s.getGsName(); | ||
| 1278 | + if(subCompanyName.length()==0&&s.getFgsName()!=null&&s.getFgsName().trim().length()!=0) | ||
| 1279 | + subCompanyName = s.getFgsName(); | ||
| 1209 | } | 1280 | } |
| 1210 | - for(String key : keyMap.keySet()){ | 1281 | + |
| 1282 | + for(String xlName : keyMap.keySet()){ | ||
| 1211 | Map<String, Object> tempMap = new HashMap<String, Object>(); | 1283 | Map<String, Object> tempMap = new HashMap<String, Object>(); |
| 1212 | - Map<Long, ScheduleRealInfo> temp0 = new HashMap<Long, ScheduleRealInfo>(); | ||
| 1213 | - List<Long> longList0 = new ArrayList<Long>(); | ||
| 1214 | - Map<Long, ScheduleRealInfo> temp1 = new HashMap<Long, ScheduleRealInfo>(); | ||
| 1215 | - List<Long> longList1 = new ArrayList<Long>(); | ||
| 1216 | - String companyName = "", subCompanyName = ""; | ||
| 1217 | - for(ScheduleRealInfo schedule : keyMap.get(key)){ | ||
| 1218 | - if(schedule.getFcsjActual() == null || schedule.getFcsjActual().trim().length() == 0){ | ||
| 1219 | - continue; | ||
| 1220 | - } | ||
| 1221 | - if(schedule.getGsName() != null && companyName.length() == 0) | ||
| 1222 | - companyName = schedule.getGsName(); | ||
| 1223 | - if(schedule.getFgsName() != null && subCompanyName.length() == 0) | ||
| 1224 | - subCompanyName = schedule.getFgsName(); | ||
| 1225 | - String[] split = schedule.getFcsj().split(":"); | ||
| 1226 | - long min = Integer.valueOf(split[0])*60 + Integer.valueOf(split[1]); | ||
| 1227 | - schedule.setFcsjT(min); | ||
| 1228 | - if(schedule.getXlDir().equals("0")){ | ||
| 1229 | - temp0.put(min, schedule); | ||
| 1230 | - longList0.add(min); | ||
| 1231 | - } else { | ||
| 1232 | - temp1.put(min, schedule); | ||
| 1233 | - longList1.add(min); | 1284 | + tempMap.put("date", date.substring(5)); |
| 1285 | + tempMap.put("line", xlName); | ||
| 1286 | + List<Long> up1 = new ArrayList<Long>(); | ||
| 1287 | + List<Long> up2 = new ArrayList<Long>();; | ||
| 1288 | + List<Long> dn1 = new ArrayList<Long>(); | ||
| 1289 | + List<Long> dn2 = new ArrayList<Long>(); | ||
| 1290 | + Map<Long, ScheduleRealInfo> up1Map = new HashMap<Long, ScheduleRealInfo>(); | ||
| 1291 | + Map<Long, ScheduleRealInfo> up2Map = new HashMap<Long, ScheduleRealInfo>(); | ||
| 1292 | + Map<Long, ScheduleRealInfo> dn1Map = new HashMap<Long, ScheduleRealInfo>(); | ||
| 1293 | + Map<Long, ScheduleRealInfo> dn2Map = new HashMap<Long, ScheduleRealInfo>(); | ||
| 1294 | + for(ScheduleRealInfo s : keyMap.get(xlName)){ | ||
| 1295 | + if(s.getXlDir().equals("0")){ | ||
| 1296 | + up1.add(s.getFcsjT()); | ||
| 1297 | + up2.add(s.getFcsjActualTime()); | ||
| 1298 | + up1Map.put(s.getFcsjT(), s); | ||
| 1299 | + up2Map.put(s.getFcsjActualTime(), s); | ||
| 1300 | + } else if(s.getXlDir().equals("1")){ | ||
| 1301 | + dn1.add(s.getFcsjT()); | ||
| 1302 | + dn2.add(s.getFcsjActualTime()); | ||
| 1303 | + dn1Map.put(s.getFcsjT(), s); | ||
| 1304 | + dn2Map.put(s.getFcsjActualTime(), s); | ||
| 1234 | } | 1305 | } |
| 1235 | } | 1306 | } |
| 1236 | - | ||
| 1237 | - if(longList0.size() == 0 && longList1.size() == 0){ | ||
| 1238 | - continue; | ||
| 1239 | - } | ||
| 1240 | - | ||
| 1241 | - if(longList0.size() != 0){ | ||
| 1242 | - Collections.sort(longList0); | ||
| 1243 | - ScheduleRealInfo shouban0 = temp0.get(longList0.get(0)); | ||
| 1244 | - ScheduleRealInfo moban0 = temp0.get(longList0.get(longList0.size() - 1)); | ||
| 1245 | - tempMap.put("qdzFirst0", shouban0.getQdzName()); | ||
| 1246 | - tempMap.put("jhfcFirst0", shouban0.getFcsj()); | ||
| 1247 | - tempMap.put("qdzLast0", moban0.getQdzName()); | ||
| 1248 | - tempMap.put("jhfcLast0", moban0.getFcsj()); | ||
| 1249 | - if(shouban0.getFcsjActual() != null){ | ||
| 1250 | - String[] split = shouban0.getFcsjActual().split(":"); | ||
| 1251 | - long min = Integer.valueOf(split[0])*60 + Integer.valueOf(split[1]); | ||
| 1252 | - long delay = shouban0.getFcsjT() - min; | ||
| 1253 | - tempMap.put("sjfcFirst0", shouban0.getFcsjActual()); | ||
| 1254 | - if(delay > 0) | ||
| 1255 | - tempMap.put("delayFirst0", "+" + delay); | ||
| 1256 | - else | ||
| 1257 | - tempMap.put("delayFirst0", delay); | ||
| 1258 | - } else { | ||
| 1259 | - tempMap.put("sjfcFirst0", "/"); | ||
| 1260 | - tempMap.put("delayFirst0", "/"); | ||
| 1261 | - } | ||
| 1262 | - if(moban0.getFcsjActual() != null){ | ||
| 1263 | - String[] split = moban0.getFcsjActual().split(":"); | ||
| 1264 | - long min = Integer.valueOf(split[0])*60 + Integer.valueOf(split[1]); | ||
| 1265 | - long delay = moban0.getFcsjT() - min; | ||
| 1266 | - tempMap.put("sjfcLast0", moban0.getFcsjActual()); | ||
| 1267 | - if(delay > 0) | ||
| 1268 | - tempMap.put("delayLast0", "+" + delay); | ||
| 1269 | - else | ||
| 1270 | - tempMap.put("delayLast0", delay); | ||
| 1271 | - } else { | ||
| 1272 | - tempMap.put("sjfcLast0", "/"); | ||
| 1273 | - tempMap.put("delayLast0", "/"); | ||
| 1274 | - } | ||
| 1275 | - }else{ | 1307 | + if(up1.size() > 0 && up2.size() > 0){ |
| 1308 | + Collections.sort(up1); | ||
| 1309 | + Collections.sort(up2); | ||
| 1310 | + ScheduleRealInfo s1 = up1Map.get(up1.get(0)); | ||
| 1311 | + ScheduleRealInfo s2 = up2Map.get(up2.get(0)); | ||
| 1312 | + ScheduleRealInfo s3 = up1Map.get(up1.get(up1.size()-1)); | ||
| 1313 | + ScheduleRealInfo s4 = up2Map.get(up2.get(up2.size()-1)); | ||
| 1314 | + long delayFirst0 = up1.get(0) - up2.get(0); | ||
| 1315 | + long delayLast0 = up1.get(up1.size()-1) - up2.get(up2.size()-1); | ||
| 1316 | + tempMap.put("qdzFirst0", s1.getQdzName()); | ||
| 1317 | + tempMap.put("jhfcFirst0", s1.getFcsj()); | ||
| 1318 | + tempMap.put("sjfcFirst0", s2.getFcsjActual()); | ||
| 1319 | + tempMap.put("delayFirst0", delayFirst0>0?"+"+delayFirst0:delayFirst0); | ||
| 1320 | + tempMap.put("qdzLast0", s3.getQdzName()); | ||
| 1321 | + tempMap.put("jhfcLast0", s3.getFcsj()); | ||
| 1322 | + tempMap.put("sjfcLast0", s4.getFcsjActual()); | ||
| 1323 | + tempMap.put("delayLast0", delayLast0>0?"+"+delayLast0:delayLast0); | ||
| 1324 | + } else { | ||
| 1276 | tempMap.put("qdzFirst0", "--"); | 1325 | tempMap.put("qdzFirst0", "--"); |
| 1277 | tempMap.put("jhfcFirst0", "/"); | 1326 | tempMap.put("jhfcFirst0", "/"); |
| 1278 | - tempMap.put("qdzLast0", "--"); | ||
| 1279 | - tempMap.put("jhfcLast0", "/"); | ||
| 1280 | tempMap.put("sjfcFirst0", "/"); | 1327 | tempMap.put("sjfcFirst0", "/"); |
| 1281 | tempMap.put("delayFirst0", "/"); | 1328 | tempMap.put("delayFirst0", "/"); |
| 1329 | + tempMap.put("qdzLast0", "--"); | ||
| 1330 | + tempMap.put("jhfcLast0", "/"); | ||
| 1282 | tempMap.put("sjfcLast0", "/"); | 1331 | tempMap.put("sjfcLast0", "/"); |
| 1283 | tempMap.put("delayLast0", "/"); | 1332 | tempMap.put("delayLast0", "/"); |
| 1284 | } | 1333 | } |
| 1285 | - | ||
| 1286 | - if(longList1.size() != 0){ | ||
| 1287 | - Collections.sort(longList1); | ||
| 1288 | - ScheduleRealInfo shouban1 = temp1.get(longList1.get(0)); | ||
| 1289 | - ScheduleRealInfo moban1 = temp1.get(longList1.get(longList1.size() - 1)); | ||
| 1290 | - tempMap.put("qdzFirst1", shouban1.getQdzName()); | ||
| 1291 | - tempMap.put("jhfcFirst1", shouban1.getFcsj()); | ||
| 1292 | - tempMap.put("qdzLast1", moban1.getQdzName()); | ||
| 1293 | - tempMap.put("jhfcLast1", moban1.getFcsj()); | ||
| 1294 | - if(shouban1.getFcsjActual() != null){ | ||
| 1295 | - String[] split = shouban1.getFcsjActual().split(":"); | ||
| 1296 | - long min = Integer.valueOf(split[0])*60 + Integer.valueOf(split[1]); | ||
| 1297 | - long delay = shouban1.getFcsjT() - min; | ||
| 1298 | - tempMap.put("sjfcFirst1", shouban1.getFcsjActual()); | ||
| 1299 | - if(delay > 0) | ||
| 1300 | - tempMap.put("delayFirst1", "+" + delay); | ||
| 1301 | - else | ||
| 1302 | - tempMap.put("delayFirst1", delay); | ||
| 1303 | - } else { | ||
| 1304 | - tempMap.put("sjfcFirst1", "/"); | ||
| 1305 | - tempMap.put("delayFirst1", "/"); | ||
| 1306 | - } | ||
| 1307 | - if(moban1.getFcsjActual() != null){ | ||
| 1308 | - String[] split = moban1.getFcsjActual().split(":"); | ||
| 1309 | - long min = Integer.valueOf(split[0])*60 + Integer.valueOf(split[1]); | ||
| 1310 | - long delay = moban1.getFcsjT() - min; | ||
| 1311 | - tempMap.put("sjfcLast1", moban1.getFcsjActual()); | ||
| 1312 | - if(delay > 0) | ||
| 1313 | - tempMap.put("delayLast1", "+" + delay); | ||
| 1314 | - else | ||
| 1315 | - tempMap.put("delayLast1", delay); | ||
| 1316 | - } else { | ||
| 1317 | - tempMap.put("sjfcLast1", "/"); | ||
| 1318 | - tempMap.put("delayLast1", "/"); | ||
| 1319 | - } | ||
| 1320 | - }else{ | 1334 | + if(dn1.size() > 0 && dn2.size() > 0){ |
| 1335 | + Collections.sort(dn1); | ||
| 1336 | + Collections.sort(dn2); | ||
| 1337 | + ScheduleRealInfo s1 = dn1Map.get(dn1.get(0)); | ||
| 1338 | + ScheduleRealInfo s2 = dn2Map.get(dn2.get(0)); | ||
| 1339 | + ScheduleRealInfo s3 = dn1Map.get(dn1.get(dn1.size()-1)); | ||
| 1340 | + ScheduleRealInfo s4 = dn2Map.get(dn2.get(dn2.size()-1)); | ||
| 1341 | + long delayFirst1 = dn1.get(0) - dn2.get(0); | ||
| 1342 | + long delayLast1 = dn1.get(dn1.size()-1) - dn2.get(dn2.size()-1); | ||
| 1343 | + tempMap.put("qdzFirst1", s1.getQdzName()); | ||
| 1344 | + tempMap.put("jhfcFirst1", s1.getFcsj()); | ||
| 1345 | + tempMap.put("sjfcFirst1", s2.getFcsjActual()); | ||
| 1346 | + tempMap.put("delayFirst1", delayFirst1>0?"+"+delayFirst1:delayFirst1); | ||
| 1347 | + tempMap.put("qdzLast1", s3.getQdzName()); | ||
| 1348 | + tempMap.put("jhfcLast1", s3.getFcsj()); | ||
| 1349 | + tempMap.put("sjfcLast1", s4.getFcsjActual()); | ||
| 1350 | + tempMap.put("delayLast1", delayLast1>0?"+"+delayLast1:delayLast1); | ||
| 1351 | + } else { | ||
| 1321 | tempMap.put("qdzFirst1", "--"); | 1352 | tempMap.put("qdzFirst1", "--"); |
| 1322 | tempMap.put("jhfcFirst1", "/"); | 1353 | tempMap.put("jhfcFirst1", "/"); |
| 1323 | - tempMap.put("qdzLast1", "--"); | ||
| 1324 | - tempMap.put("jhfcLast1", "/"); | ||
| 1325 | tempMap.put("sjfcFirst1", "/"); | 1354 | tempMap.put("sjfcFirst1", "/"); |
| 1326 | tempMap.put("delayFirst1", "/"); | 1355 | tempMap.put("delayFirst1", "/"); |
| 1356 | + tempMap.put("qdzLast1", "--"); | ||
| 1357 | + tempMap.put("jhfcLast1", "/"); | ||
| 1327 | tempMap.put("sjfcLast1", "/"); | 1358 | tempMap.put("sjfcLast1", "/"); |
| 1328 | tempMap.put("delayLast1", "/"); | 1359 | tempMap.put("delayLast1", "/"); |
| 1329 | } | 1360 | } |
| 1330 | - | ||
| 1331 | - tempMap.put("date", date); | ||
| 1332 | tempMap.put("company", companyName); | 1361 | tempMap.put("company", companyName); |
| 1333 | tempMap.put("subCompany", subCompanyName); | 1362 | tempMap.put("subCompany", subCompanyName); |
| 1334 | - tempMap.put("line", key); | 1363 | + tempMap.put("date", date); |
| 1364 | + tempMap.put("line", xlName); | ||
| 1335 | resList.add(tempMap); | 1365 | resList.add(tempMap); |
| 1336 | } | 1366 | } |
| 1337 | - | 1367 | + |
| 1338 | if(type.equals("export")){ | 1368 | if(type.equals("export")){ |
| 1339 | SimpleDateFormat sdfMonth = new SimpleDateFormat("yyyy-MM-dd"), | 1369 | SimpleDateFormat sdfMonth = new SimpleDateFormat("yyyy-MM-dd"), |
| 1340 | sdfSimple = new SimpleDateFormat("yyyyMMdd"); | 1370 | sdfSimple = new SimpleDateFormat("yyyyMMdd"); |
| @@ -1357,164 +1387,248 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | @@ -1357,164 +1387,248 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | ||
| 1357 | 1387 | ||
| 1358 | @Override | 1388 | @Override |
| 1359 | public List<Map<String, Object>> firstAndLastBus_sum(Map<String, Object> map) { | 1389 | public List<Map<String, Object>> firstAndLastBus_sum(Map<String, Object> map) { |
| 1390 | + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); | ||
| 1360 | NumberFormat nf = NumberFormat.getNumberInstance(); | 1391 | NumberFormat nf = NumberFormat.getNumberInstance(); |
| 1361 | nf.setMinimumFractionDigits(2); | 1392 | nf.setMinimumFractionDigits(2); |
| 1393 | + List<ScheduleRealInfo> list = new ArrayList<ScheduleRealInfo>(); | ||
| 1362 | List<Map<String, Object>> resList = new ArrayList<Map<String, Object>>(); | 1394 | List<Map<String, Object>> resList = new ArrayList<Map<String, Object>>(); |
| 1363 | - Map<String, List<ScheduleRealInfo>> keyMap = new HashMap<String, List<ScheduleRealInfo>>(); | ||
| 1364 | 1395 | ||
| 1365 | String company = map.get("company").toString(); | 1396 | String company = map.get("company").toString(); |
| 1366 | String subCompany = map.get("subCompany").toString(); | 1397 | String subCompany = map.get("subCompany").toString(); |
| 1367 | String line = map.get("line").toString(); | 1398 | String line = map.get("line").toString(); |
| 1368 | - String date = map.get("date").toString(); | 1399 | +// String date = map.get("date").toString(); |
| 1400 | + String startDate = map.get("startDate").toString(); | ||
| 1401 | + String endDate = map.get("endDate").toString(); | ||
| 1369 | String type = map.get("type").toString(); | 1402 | String type = map.get("type").toString(); |
| 1370 | 1403 | ||
| 1371 | - if(date.length() == 0) | ||
| 1372 | - date = new SimpleDateFormat("yyyy-MM-dd").format(new Date()); | ||
| 1373 | - | ||
| 1374 | - List<ScheduleRealInfo> list = this.getSchedule(company, subCompany, line, date); | 1404 | + if(startDate.length() == 0) |
| 1405 | + startDate = sdf.format(new Date()); | ||
| 1406 | + if(endDate.length() == 0) | ||
| 1407 | + endDate = sdf.format(new Date()); | ||
| 1375 | 1408 | ||
| 1376 | - for(ScheduleRealInfo schedule : list){ | ||
| 1377 | - if(schedule.getBcType().equals("in") || schedule.getBcType().equals("out") || schedule.getBcType().equals("ldks")) | ||
| 1378 | - continue; | ||
| 1379 | - if(schedule.getStatus() == -1){ | ||
| 1380 | - continue; | ||
| 1381 | - } | ||
| 1382 | - String key = schedule.getXlName(); | ||
| 1383 | - if(key == null || key.trim().length() == 0) | ||
| 1384 | - continue; | ||
| 1385 | - if(!keyMap.containsKey(key)) | ||
| 1386 | - keyMap.put(key, new ArrayList<ScheduleRealInfo>()); | ||
| 1387 | - keyMap.get(key).add(schedule); | 1409 | + String dates = ""; |
| 1410 | + if(startDate.equals(endDate)){ | ||
| 1411 | + String[] split = startDate.split("-"); | ||
| 1412 | + dates = split[0]+"年"+split[1]+"月"+split[2]+"日"; | ||
| 1413 | + } else { | ||
| 1414 | + String[] split1 = startDate.split("-"); | ||
| 1415 | + String[] split2 = endDate.split("-"); | ||
| 1416 | + dates = split1[0]+"年"+split1[1]+"月"+split1[2]+"日--" | ||
| 1417 | + +split2[0]+"年"+split2[1]+"月"+split2[2]+"日"; | ||
| 1388 | } | 1418 | } |
| 1389 | - for(String key : keyMap.keySet()){ | ||
| 1390 | - Map<String, Object> tempMap = new HashMap<String, Object>(); | ||
| 1391 | - Map<String, Object> m = new HashMap<String, Object>(); | ||
| 1392 | - Map<Long, ScheduleRealInfo> temp0 = new HashMap<Long, ScheduleRealInfo>(); | ||
| 1393 | - List<Long> longList0 = new ArrayList<Long>(); | ||
| 1394 | - Map<Long, ScheduleRealInfo> temp1 = new HashMap<Long, ScheduleRealInfo>(); | ||
| 1395 | - List<Long> longList1 = new ArrayList<Long>(); | ||
| 1396 | - String companyName = "", subCompanyName = ""; | ||
| 1397 | - for(ScheduleRealInfo schedule : keyMap.get(key)){ | ||
| 1398 | - if(schedule.getFcsjActual() == null || schedule.getFcsjActual().trim().length() == 0){ | ||
| 1399 | - continue; | ||
| 1400 | - } | ||
| 1401 | - if(schedule.getGsName() != null && companyName.length() == 0) | ||
| 1402 | - companyName = schedule.getGsName(); | ||
| 1403 | - if(schedule.getFgsName() != null && subCompanyName.length() == 0) | ||
| 1404 | - subCompanyName = schedule.getFgsName(); | ||
| 1405 | - String[] split = schedule.getFcsj().split(":"); | ||
| 1406 | - long min = Integer.valueOf(split[0])*60 + Integer.valueOf(split[1]); | ||
| 1407 | - schedule.setFcsjT(min); | ||
| 1408 | - if(schedule.getXlDir().equals("0")){ | ||
| 1409 | - temp0.put(min, schedule); | ||
| 1410 | - longList0.add(min); | ||
| 1411 | - } else { | ||
| 1412 | - temp1.put(min, schedule); | ||
| 1413 | - longList1.add(min); | 1419 | + |
| 1420 | + try { | ||
| 1421 | + String sql = "select a.schedule_date_Str, a.real_exec_date, a.xl_name, a.fcsj, a.fcsj_actual, a.zdsj, a.zdsj_actual, a.qdz_name, a.zdz_name, a.xl_dir, a.status, a.gs_name, a.fgs_name," | ||
| 1422 | + + " b.start_opt from bsth_c_s_sp_info_real a left join (select line, start_opt from bsth_c_line_config order by id desc) b on a.xl_bm = b.line" | ||
| 1423 | + + " where DATE_FORMAT(schedule_date,'%Y-%m-%d') >= '"+startDate+"' and DATE_FORMAT(schedule_date,'%Y-%m-%d') <= '"+endDate+"'" | ||
| 1424 | + + " and fcsj_actual is not null and fcsj_actual != '' and bc_type != 'in' and bc_type != 'out' and bc_type != 'ldks'"; | ||
| 1425 | + if(line.length() != 0) | ||
| 1426 | + sql += " and xl_bm = '"+line+"'"; | ||
| 1427 | + if(company.length() != 0) | ||
| 1428 | + sql += " and gs_bm = '"+company+"' and fgs_bm = '"+subCompany+"'"; | ||
| 1429 | + | ||
| 1430 | + list = jdbcTemplate.query(sql, | ||
| 1431 | + new RowMapper<ScheduleRealInfo>(){ | ||
| 1432 | + @Override | ||
| 1433 | + public ScheduleRealInfo mapRow(ResultSet rs, int rowNum) throws SQLException { | ||
| 1434 | + ScheduleRealInfo schedule = new ScheduleRealInfo(); | ||
| 1435 | + schedule.setScheduleDateStr(rs.getString("schedule_date_Str")); | ||
| 1436 | + schedule.setRealExecDate(rs.getString("real_exec_date")); | ||
| 1437 | + schedule.setXlName(rs.getString("xl_name")); | ||
| 1438 | + schedule.setFcsj(rs.getString("fcsj")); | ||
| 1439 | + schedule.setFcsjActual(rs.getString("fcsj_actual")); | ||
| 1440 | + schedule.setZdsj(rs.getString("zdsj")); | ||
| 1441 | + schedule.setZdsjActual(rs.getString("zdsj_actual")); | ||
| 1442 | + schedule.setQdzName(rs.getString("qdz_name")); | ||
| 1443 | + schedule.setZdzName(rs.getString("zdz_name")); | ||
| 1444 | + schedule.setXlDir(rs.getString("xl_dir")); | ||
| 1445 | + schedule.setStatus(rs.getInt("status")); | ||
| 1446 | + schedule.setGsName(rs.getString("gs_name")); | ||
| 1447 | + schedule.setFgsName(rs.getString("fgs_name")); | ||
| 1448 | + | ||
| 1449 | + int startOpt = 0; | ||
| 1450 | + if(rs.getString("start_opt") != null && rs.getString("start_opt").trim().length() != 0){ | ||
| 1451 | + String[] split = rs.getString("start_opt").split(":"); | ||
| 1452 | + startOpt = Integer.valueOf(split[0])*60 + Integer.valueOf(split[1]); | ||
| 1453 | + } | ||
| 1454 | + | ||
| 1455 | + if(schedule.getFcsjActual() != null && schedule.getFcsjActual().trim().length() == 0){ | ||
| 1456 | + schedule.setFcsjActual(null); | ||
| 1457 | + } | ||
| 1458 | + if(schedule.getZdsjActual() != null && schedule.getZdsjActual().trim().length() == 0){ | ||
| 1459 | + schedule.setZdsjActual(null); | ||
| 1460 | + } | ||
| 1461 | + if(schedule.getFcsj() != null){ | ||
| 1462 | + String[] split = schedule.getFcsj().split(":"); | ||
| 1463 | + int fcsj = Integer.valueOf(split[0]) * 60 + Integer.valueOf(split[1]); | ||
| 1464 | + if(fcsj < startOpt) | ||
| 1465 | + fcsj += 1440; | ||
| 1466 | + schedule.setFcsjT((long)fcsj); | ||
| 1467 | + } | ||
| 1468 | + if(schedule.getFcsjActual() != null){ | ||
| 1469 | + String[] split = schedule.getFcsjActual().split(":"); | ||
| 1470 | + int fcsjA = Integer.valueOf(split[0]) * 60 + Integer.valueOf(split[1]); | ||
| 1471 | + if(fcsjA < startOpt || !schedule.getRealExecDate().equals(schedule.getScheduleDateStr())) | ||
| 1472 | + fcsjA += 1440; | ||
| 1473 | + schedule.setFcsjActualTime((long)fcsjA); | ||
| 1474 | + } | ||
| 1475 | + | ||
| 1476 | + return schedule; | ||
| 1414 | } | 1477 | } |
| 1415 | - } | 1478 | + }); |
| 1416 | 1479 | ||
| 1417 | - if(longList0.size() == 0 && longList1.size() == 0){ | ||
| 1418 | - continue; | 1480 | + } catch (Exception e) { |
| 1481 | + // TODO: handle exception | ||
| 1482 | + e.printStackTrace(); | ||
| 1483 | + } | ||
| 1484 | + | ||
| 1485 | + Map<String, Map<String, List<ScheduleRealInfo>>> keyMap = new HashMap<String, Map<String,List<ScheduleRealInfo>>>(); | ||
| 1486 | + String companyName = "", subCompanyName = ""; | ||
| 1487 | + | ||
| 1488 | + for(ScheduleRealInfo s : list){ | ||
| 1489 | + String xlName = s.getXlName(); | ||
| 1490 | + String date = s.getScheduleDateStr(); | ||
| 1491 | + if(!keyMap.containsKey(xlName)) | ||
| 1492 | + keyMap.put(xlName, new HashMap<String, List<ScheduleRealInfo>>()); | ||
| 1493 | + if(!keyMap.get(xlName).containsKey(date)) | ||
| 1494 | + keyMap.get(xlName).put(date, new ArrayList<ScheduleRealInfo>()); | ||
| 1495 | + keyMap.get(xlName).get(date).add(s); | ||
| 1496 | + if(companyName.length()==0&&s.getGsName()!=null&&s.getGsName().trim().length()!=0) | ||
| 1497 | + companyName = s.getGsName(); | ||
| 1498 | + if(subCompanyName.length()==0&&s.getFgsName()!=null&&s.getFgsName().trim().length()!=0) | ||
| 1499 | + subCompanyName = s.getFgsName(); | ||
| 1500 | + } | ||
| 1501 | + | ||
| 1502 | + for(String xlName : keyMap.keySet()){ | ||
| 1503 | + List<Map<String, Object>> tempList = new ArrayList<Map<String,Object>>(); | ||
| 1504 | + Map<String, Object> tempMap = new HashMap<String, Object>(); | ||
| 1505 | + Map<Long, String> dateMap = new HashMap<Long, String>(); | ||
| 1506 | + List<Long> Longs = new ArrayList<Long>(); | ||
| 1507 | + int jhbc = 0, sjbc = 0; | ||
| 1508 | + for(String date : keyMap.get(xlName).keySet()){ | ||
| 1509 | + String[] split = date.split("-"); | ||
| 1510 | + long l = Long.valueOf(split[0])*10000 + Long.valueOf(split[1])*100 + Long.valueOf(split[2]); | ||
| 1511 | + dateMap.put(l, date); | ||
| 1512 | + Longs.add(l); | ||
| 1419 | } | 1513 | } |
| 1420 | - int jhbc = 0; | ||
| 1421 | - int sjbc = 0; | ||
| 1422 | - | ||
| 1423 | - if(longList0.size() != 0){ | ||
| 1424 | - Collections.sort(longList0); | ||
| 1425 | - ScheduleRealInfo shouban0 = temp0.get(longList0.get(0)); | ||
| 1426 | - ScheduleRealInfo moban0 = temp0.get(longList0.get(longList0.size() - 1)); | ||
| 1427 | - if(shouban0.getFcsjActual() != null){ | ||
| 1428 | - jhbc++; | ||
| 1429 | - String[] split = shouban0.getFcsjActual().split(":"); | ||
| 1430 | - long min = Integer.valueOf(split[0])*60 + Integer.valueOf(split[1]); | ||
| 1431 | - long delay = shouban0.getFcsjT() - min; | ||
| 1432 | - if(delay >= -3 && delay <= 1){ | ||
| 1433 | - sjbc++; | 1514 | + Collections.sort(Longs); |
| 1515 | + for(long l : Longs){ | ||
| 1516 | + String date = dateMap.get(l); | ||
| 1517 | + Map<String, Object> temp = new HashMap<String, Object>(); | ||
| 1518 | + temp.put("date", date.substring(5)); | ||
| 1519 | + temp.put("line", xlName); | ||
| 1520 | + List<Long> up1 = new ArrayList<Long>(); | ||
| 1521 | + List<Long> up2 = new ArrayList<Long>();; | ||
| 1522 | + List<Long> dn1 = new ArrayList<Long>(); | ||
| 1523 | + List<Long> dn2 = new ArrayList<Long>(); | ||
| 1524 | + Map<Long, ScheduleRealInfo> up1Map = new HashMap<Long, ScheduleRealInfo>(); | ||
| 1525 | + Map<Long, ScheduleRealInfo> up2Map = new HashMap<Long, ScheduleRealInfo>(); | ||
| 1526 | + Map<Long, ScheduleRealInfo> dn1Map = new HashMap<Long, ScheduleRealInfo>(); | ||
| 1527 | + Map<Long, ScheduleRealInfo> dn2Map = new HashMap<Long, ScheduleRealInfo>(); | ||
| 1528 | + for(ScheduleRealInfo s : keyMap.get(xlName).get(date)){ | ||
| 1529 | + if(s.getXlDir().equals("0")){ | ||
| 1530 | + up1.add(s.getFcsjT()); | ||
| 1531 | + up2.add(s.getFcsjActualTime()); | ||
| 1532 | + up1Map.put(s.getFcsjT(), s); | ||
| 1533 | + up2Map.put(s.getFcsjActualTime(), s); | ||
| 1534 | + } else if(s.getXlDir().equals("1")){ | ||
| 1535 | + dn1.add(s.getFcsjT()); | ||
| 1536 | + dn2.add(s.getFcsjActualTime()); | ||
| 1537 | + dn1Map.put(s.getFcsjT(), s); | ||
| 1538 | + dn2Map.put(s.getFcsjActualTime(), s); | ||
| 1434 | } | 1539 | } |
| 1435 | - m.put("qdzFirst0", shouban0.getQdzName()); | ||
| 1436 | - m.put("jhfcFirst0", shouban0.getFcsj()); | ||
| 1437 | - m.put("sjfcFirst0", shouban0.getFcsjActual()); | ||
| 1438 | - m.put("delayFirst0", delay>0?"+"+delay:delay); | ||
| 1439 | } | 1540 | } |
| 1440 | - | ||
| 1441 | - if(moban0.getFcsjActual() != null){ | ||
| 1442 | - jhbc++; | ||
| 1443 | - String[] split = moban0.getFcsjActual().split(":"); | ||
| 1444 | - long min = Integer.valueOf(split[0])*60 + Integer.valueOf(split[1]); | ||
| 1445 | - long delay = moban0.getFcsjT() - min; | ||
| 1446 | - if(delay >= -3 && delay <= 1){ | 1541 | + if(up1.size() > 0 && up2.size() > 0){ |
| 1542 | + Collections.sort(up1); | ||
| 1543 | + Collections.sort(up2); | ||
| 1544 | + ScheduleRealInfo s1 = up1Map.get(up1.get(0)); | ||
| 1545 | + ScheduleRealInfo s2 = up2Map.get(up2.get(0)); | ||
| 1546 | + ScheduleRealInfo s3 = up1Map.get(up1.get(up1.size()-1)); | ||
| 1547 | + ScheduleRealInfo s4 = up2Map.get(up2.get(up2.size()-1)); | ||
| 1548 | + long delayFirst0 = up1.get(0) - up2.get(0); | ||
| 1549 | + long delayLast0 = up1.get(up1.size()-1) - up2.get(up2.size()-1); | ||
| 1550 | + temp.put("qdzFirst0", s1.getQdzName()); | ||
| 1551 | + temp.put("jhfcFirst0", s1.getFcsj()); | ||
| 1552 | + temp.put("sjfcFirst0", s2.getFcsjActual()); | ||
| 1553 | + temp.put("delayFirst0", delayFirst0>0?"+"+delayFirst0:delayFirst0); | ||
| 1554 | + temp.put("qdzLast0", s3.getQdzName()); | ||
| 1555 | + temp.put("jhfcLast0", s3.getFcsj()); | ||
| 1556 | + temp.put("sjfcLast0", s4.getFcsjActual()); | ||
| 1557 | + temp.put("delayLast0", delayLast0>0?"+"+delayLast0:delayLast0); | ||
| 1558 | + jhbc += 2; | ||
| 1559 | + if(delayFirst0 <= 1l && delayFirst0 >= -3l) | ||
| 1447 | sjbc++; | 1560 | sjbc++; |
| 1448 | - } | ||
| 1449 | - m.put("qdzLast0", moban0.getQdzName()); | ||
| 1450 | - m.put("jhfcLast0", moban0.getFcsj()); | ||
| 1451 | - m.put("sjfcLast0", moban0.getFcsjActual()); | ||
| 1452 | - m.put("delayLast0", delay>0?"+"+delay:delay); | ||
| 1453 | - } | ||
| 1454 | - } else { | ||
| 1455 | - m.put("qdzFirst0", "--"); | ||
| 1456 | - m.put("jhfcFirst0", "/"); | ||
| 1457 | - m.put("sjfcFirst0", "/"); | ||
| 1458 | - m.put("delayFirst0", "/"); | ||
| 1459 | - m.put("qdzLast0", "--"); | ||
| 1460 | - m.put("jhfcLast0", "/"); | ||
| 1461 | - m.put("sjfcLast0", "/"); | ||
| 1462 | - m.put("delayLast0", "/"); | ||
| 1463 | - } | ||
| 1464 | - | ||
| 1465 | - if(longList1.size() != 0){ | ||
| 1466 | - Collections.sort(longList1); | ||
| 1467 | - ScheduleRealInfo shouban1 = temp1.get(longList1.get(0)); | ||
| 1468 | - ScheduleRealInfo moban1 = temp1.get(longList1.get(longList1.size() - 1)); | ||
| 1469 | - if(shouban1.getFcsjActual() != null){ | ||
| 1470 | - jhbc++; | ||
| 1471 | - String[] split = shouban1.getFcsjActual().split(":"); | ||
| 1472 | - long min = Integer.valueOf(split[0])*60 + Integer.valueOf(split[1]); | ||
| 1473 | - long delay = shouban1.getFcsjT() - min; | ||
| 1474 | - if(delay >= -3 && delay <= 1){ | 1561 | + if(delayLast0 <= 1l && delayLast0 >= -3l) |
| 1475 | sjbc++; | 1562 | sjbc++; |
| 1476 | - } | ||
| 1477 | - m.put("qdzFirst1", shouban1.getQdzName()); | ||
| 1478 | - m.put("jhfcFirst1", shouban1.getFcsj()); | ||
| 1479 | - m.put("sjfcFirst1", shouban1.getFcsjActual()); | ||
| 1480 | - m.put("delayFirst1", delay>0?"+"+delay:delay); | 1563 | + } else { |
| 1564 | + temp.put("qdzFirst0", "--"); | ||
| 1565 | + temp.put("jhfcFirst0", "/"); | ||
| 1566 | + temp.put("sjfcFirst0", "/"); | ||
| 1567 | + temp.put("delayFirst0", "/"); | ||
| 1568 | + temp.put("qdzLast0", "--"); | ||
| 1569 | + temp.put("jhfcLast0", "/"); | ||
| 1570 | + temp.put("sjfcLast0", "/"); | ||
| 1571 | + temp.put("delayLast0", "/"); | ||
| 1481 | } | 1572 | } |
| 1482 | - | ||
| 1483 | - if(moban1.getFcsjActual() != null){ | ||
| 1484 | - jhbc++; | ||
| 1485 | - String[] split = moban1.getFcsjActual().split(":"); | ||
| 1486 | - long min = Integer.valueOf(split[0])*60 + Integer.valueOf(split[1]); | ||
| 1487 | - long delay = moban1.getFcsjT() - min; | ||
| 1488 | - if(delay >= -3 && delay <= 1){ | 1573 | + if(dn1.size() > 0 && dn2.size() > 0){ |
| 1574 | + Collections.sort(dn1); | ||
| 1575 | + Collections.sort(dn2); | ||
| 1576 | + ScheduleRealInfo s1 = dn1Map.get(dn1.get(0)); | ||
| 1577 | + ScheduleRealInfo s2 = dn2Map.get(dn2.get(0)); | ||
| 1578 | + ScheduleRealInfo s3 = dn1Map.get(dn1.get(dn1.size()-1)); | ||
| 1579 | + ScheduleRealInfo s4 = dn2Map.get(dn2.get(dn2.size()-1)); | ||
| 1580 | + long delayFirst1 = dn1.get(0) - dn2.get(0); | ||
| 1581 | + long delayLast1 = dn1.get(dn1.size()-1) - dn2.get(dn2.size()-1); | ||
| 1582 | + temp.put("qdzFirst1", s1.getQdzName()); | ||
| 1583 | + temp.put("jhfcFirst1", s1.getFcsj()); | ||
| 1584 | + temp.put("sjfcFirst1", s2.getFcsjActual()); | ||
| 1585 | + temp.put("delayFirst1", delayFirst1>0?"+"+delayFirst1:delayFirst1); | ||
| 1586 | + temp.put("qdzLast1", s3.getQdzName()); | ||
| 1587 | + temp.put("jhfcLast1", s3.getFcsj()); | ||
| 1588 | + temp.put("sjfcLast1", s4.getFcsjActual()); | ||
| 1589 | + temp.put("delayLast1", delayLast1>0?"+"+delayLast1:delayLast1); | ||
| 1590 | + jhbc += 2; | ||
| 1591 | + if(delayFirst1 <= 1l && delayFirst1 >= -3l) | ||
| 1489 | sjbc++; | 1592 | sjbc++; |
| 1490 | - } | ||
| 1491 | - m.put("qdzLast1", moban1.getQdzName()); | ||
| 1492 | - m.put("jhfcLast1", moban1.getFcsj()); | ||
| 1493 | - m.put("sjfcLast1", moban1.getFcsjActual()); | ||
| 1494 | - m.put("delayLast1", delay>0?"+"+delay:delay); | 1593 | + if(delayLast1 <= 1l && delayLast1 >= -3l) |
| 1594 | + sjbc++; | ||
| 1595 | + } else { | ||
| 1596 | + temp.put("qdzFirst1", "--"); | ||
| 1597 | + temp.put("jhfcFirst1", "/"); | ||
| 1598 | + temp.put("sjfcFirst1", "/"); | ||
| 1599 | + temp.put("delayFirst1", "/"); | ||
| 1600 | + temp.put("qdzLast1", "--"); | ||
| 1601 | + temp.put("jhfcLast1", "/"); | ||
| 1602 | + temp.put("sjfcLast1", "/"); | ||
| 1603 | + temp.put("delayLast1", "/"); | ||
| 1495 | } | 1604 | } |
| 1496 | - } else { | ||
| 1497 | - m.put("qdzFirst1", "--"); | ||
| 1498 | - m.put("jhfcFirst1", "/"); | ||
| 1499 | - m.put("sjfcFirst1", "/"); | ||
| 1500 | - m.put("delayFirst1", "/"); | ||
| 1501 | - m.put("qdzLast1", "--"); | ||
| 1502 | - m.put("jhfcLast1", "/"); | ||
| 1503 | - m.put("sjfcLast1", "/"); | ||
| 1504 | - m.put("delayLast1", "/"); | 1605 | + tempList.add(temp); |
| 1505 | } | 1606 | } |
| 1506 | - | ||
| 1507 | - m.put("line", key); | ||
| 1508 | - tempMap.put("map", m); | 1607 | + tempMap.put("map", tempList); |
| 1608 | + tempMap.put("company", companyName); | ||
| 1609 | + tempMap.put("subCompany", subCompanyName); | ||
| 1610 | + tempMap.put("date", dates); | ||
| 1611 | + tempMap.put("line", xlName); | ||
| 1509 | tempMap.put("jhbc", jhbc); | 1612 | tempMap.put("jhbc", jhbc); |
| 1510 | tempMap.put("sjbc", sjbc); | 1613 | tempMap.put("sjbc", sjbc); |
| 1511 | tempMap.put("zdl", nf.format((float) sjbc / jhbc *100) + "%"); | 1614 | tempMap.put("zdl", nf.format((float) sjbc / jhbc *100) + "%"); |
| 1512 | - tempMap.put("date", date); | ||
| 1513 | - tempMap.put("company", companyName); | ||
| 1514 | - tempMap.put("subCompany", subCompanyName); | ||
| 1515 | - tempMap.put("line", key); | ||
| 1516 | resList.add(tempMap); | 1615 | resList.add(tempMap); |
| 1517 | } | 1616 | } |
| 1617 | + | ||
| 1618 | + Map<String, Object> tempMap = new HashMap<String, Object>(); | ||
| 1619 | + if(resList.size() > 0){ | ||
| 1620 | + tempMap.put("date", "合计汇总"); | ||
| 1621 | + int jhbc = 0, sjbc = 0; | ||
| 1622 | + for(Map<String, Object> m : resList){ | ||
| 1623 | + jhbc += Integer.valueOf(m.get("jhbc").toString()); | ||
| 1624 | + sjbc += Integer.valueOf(m.get("sjbc").toString()); | ||
| 1625 | + } | ||
| 1626 | + tempMap.put("jhbc", jhbc); | ||
| 1627 | + tempMap.put("sjbc", sjbc); | ||
| 1628 | + tempMap.put("zdl", nf.format((float) sjbc / jhbc *100) + "%"); | ||
| 1629 | + if(!type.equals("export")) | ||
| 1630 | + resList.add(tempMap); | ||
| 1631 | + } | ||
| 1518 | 1632 | ||
| 1519 | if(type.equals("export")){ | 1633 | if(type.equals("export")){ |
| 1520 | SimpleDateFormat sdfMonth = new SimpleDateFormat("yyyy-MM-dd"), | 1634 | SimpleDateFormat sdfMonth = new SimpleDateFormat("yyyy-MM-dd"), |
| @@ -1525,8 +1639,9 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | @@ -1525,8 +1639,9 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | ||
| 1525 | try { | 1639 | try { |
| 1526 | listI.add(resList.iterator()); | 1640 | listI.add(resList.iterator()); |
| 1527 | String path = this.getClass().getResource("/").getPath()+"static/pages/forms/"; | 1641 | String path = this.getClass().getResource("/").getPath()+"static/pages/forms/"; |
| 1528 | - ee.excelReplace(listI, new Object[] { m }, path+"mould/firstAndLastBus_sum.xls", | ||
| 1529 | - path+"export/线路首末班准点率" + sdfSimple.format(sdfMonth.parse(date)) + ".xls"); | 1642 | + ee.excelReplace(listI, new Object[] { tempMap }, path+"mould/firstAndLastBus_sum.xls", |
| 1643 | + path+"export/线路首末班准点率" + sdfSimple.format(sdfMonth.parse(startDate)) + | ||
| 1644 | + (startDate.equals(endDate)?"":"-"+sdfSimple.format(sdfMonth.parse(endDate))) + ".xls"); | ||
| 1530 | } catch (Exception e) { | 1645 | } catch (Exception e) { |
| 1531 | // TODO: handle exception | 1646 | // TODO: handle exception |
| 1532 | e.printStackTrace(); | 1647 | e.printStackTrace(); |
src/main/resources/static/pages/base/timesmodel/editlp.html
0 → 100644
| 1 | +<!-- 修改路牌名称 --> | ||
| 2 | +<div class="modal fade" id="editlp_mobal" tabindex="-1" role="basic" aria-hidden="true"> | ||
| 3 | + <div class="modal-dialog"> | ||
| 4 | + <div class="modal-content"> | ||
| 5 | + <div class="modal-header"> | ||
| 6 | + <button type="button" class="close" data-dismiss="modal" aria-hidden="true"></button> | ||
| 7 | + <h4 class="modal-title">修改路牌名称</h4> | ||
| 8 | + </div> | ||
| 9 | + <div class="modal-body"> | ||
| 10 | + <form class="form-horizontal" action="/" method="post" id="editlpForm" role="form"> | ||
| 11 | + <!-- alert-danger 组件START --> | ||
| 12 | + <div class="alert alert-danger display-hide" id="editlpAlert"> | ||
| 13 | + <button class="close" data-close="alert"></button> | ||
| 14 | + 您的输入有误,请检查下面的输入项 | ||
| 15 | + </div> | ||
| 16 | + <div class="portlet-body"> | ||
| 17 | + <div class="table-container" style="margin-top: 10px"> | ||
| 18 | + <table class="table table-striped table-bordered table-hover table-checkable" id="datatable_bctz"> | ||
| 19 | + <thead> | ||
| 20 | + <tr role="row" class="heading"> | ||
| 21 | + <th width="50%">当前路牌名称</th> | ||
| 22 | + <th width="50%" style="text-align: center;max-width: 50px;min-width: 40px;padding-left: 0;padding-right: 0;">修改路牌名称</th> | ||
| 23 | + </tr> | ||
| 24 | + </thead> | ||
| 25 | + <tbody></tbody> | ||
| 26 | + </table> | ||
| 27 | + </div> | ||
| 28 | + </div> | ||
| 29 | + </form> | ||
| 30 | + </div> | ||
| 31 | + <div class="modal-footer"> | ||
| 32 | + <button type="button" class="btn default" data-dismiss="modal">取消</button> | ||
| 33 | + <button type="button" class="btn btn-primary" id="editlpnext">确定</button> | ||
| 34 | + </div> | ||
| 35 | + </div> | ||
| 36 | + </div> | ||
| 37 | +</div> | ||
| 38 | +<script type="text/html" id="editlp_temp"> | ||
| 39 | +{{each list as obj i }} | ||
| 40 | + <tr role="row" class="filter"> | ||
| 41 | + <td> | ||
| 42 | + <input type="text" readonly class="form-control form-filter input-sm" name="lpname_{{i+1}}" value="{{obj.lpName}}"> | ||
| 43 | + </td> | ||
| 44 | + <td> | ||
| 45 | + <input type="text" class="form-control form-filter input-sm" name="{{i+1}}" value="{{obj.lpName}}" required> | ||
| 46 | + </td> | ||
| 47 | + </tr> | ||
| 48 | +{{/each}} | ||
| 49 | +{{if list.length == 0}} | ||
| 50 | + <tr> | ||
| 51 | + <td colspan=3><h6 class="muted">没有找到相关数据</h6></td> | ||
| 52 | + </tr> | ||
| 53 | + {{/if}} | ||
| 54 | +</script> | ||
| 55 | +<script type="text/javascript"> | ||
| 56 | +$('#editlp_mobal').on('editlpMobal.show', function(e,obj,bf){ | ||
| 57 | + var lpArray = obj.configuration.taskTypes; | ||
| 58 | + setTimeout(function(){ | ||
| 59 | + // 加载延迟200毫秒显示mobal | ||
| 60 | + $('#editlp_mobal').modal({show : true,backdrop: 'static', keyboard: false}); | ||
| 61 | + },200); | ||
| 62 | + // 当模态框对用户可见时触发(将等待 CSS 过渡效果完成)。 | ||
| 63 | + $('#editlp_mobal').on('show.bs.modal', function () { | ||
| 64 | + // 把数据填充到模版中 | ||
| 65 | + var tbodyHtml = template('editlp_temp',{list:lpArray}); | ||
| 66 | + // 把渲染好的模版html文本追加到表格中 | ||
| 67 | + $('#datatable_bctz tbody').html(tbodyHtml); | ||
| 68 | + }); | ||
| 69 | + // 获取表单元素 | ||
| 70 | + var form = $('#editlpForm'); | ||
| 71 | + // 错误提示元素 | ||
| 72 | + var editlpAlert = $('#editlpAlert', form); | ||
| 73 | + // 下一步点击事件 | ||
| 74 | + $('#editlpnext').on('click', function() { | ||
| 75 | + form.submit();// 表单提交 | ||
| 76 | + }); | ||
| 77 | + // 表单验证 | ||
| 78 | + form.validate({ | ||
| 79 | + errorElement : 'span', | ||
| 80 | + errorClass : 'help-block help-block-error', | ||
| 81 | + focusInvalid : false, | ||
| 82 | + rules : { | ||
| 83 | + }, | ||
| 84 | + invalidHandler : function(event, validator) { | ||
| 85 | + editlpAlert.show(); | ||
| 86 | + App.scrollTo(editlpAlert, -200); | ||
| 87 | + }, | ||
| 88 | + highlight : function(element) { | ||
| 89 | + $(element).closest('.form-group').addClass('has-error'); | ||
| 90 | + }, | ||
| 91 | + unhighlight : function(element) { | ||
| 92 | + $(element).closest('.form-group').removeClass('has-error'); | ||
| 93 | + }, | ||
| 94 | + success : function(label) { | ||
| 95 | + label.closest('.form-group').removeClass('has-error'); | ||
| 96 | + }, | ||
| 97 | + submitHandler : function(f) { | ||
| 98 | + // 1、 获取表单内容,并序列化 | ||
| 99 | + var params = form.serializeJSON(); | ||
| 100 | + var data = obj.getDataArray(); | ||
| 101 | + // 2、 调整路牌对应的班次总数 | ||
| 102 | + updFormParams(params,data); | ||
| 103 | + // 删除图形. | ||
| 104 | + $('svg.svg-chart').remove(); | ||
| 105 | + // 重新创建图形. | ||
| 106 | + var graph_ = d3.select('#ganttSvg').relationshipGraph(obj.configuration); | ||
| 107 | + // 根据数据重新渲染图形. | ||
| 108 | + obj.data(data); | ||
| 109 | + // 记录早操.并保存历史班次数据 | ||
| 110 | + obj.addHistory(); | ||
| 111 | + // 隐藏错误提示 | ||
| 112 | + editlpAlert.hide(); | ||
| 113 | + // 隐藏 reladplus_mobal 弹出层 | ||
| 114 | + $('#editlp_mobal').modal('hide'); | ||
| 115 | + layer.msg('修改路牌名称成功!'); | ||
| 116 | + } | ||
| 117 | + }); | ||
| 118 | + function updFormParams(p,data) { | ||
| 119 | + for(var i= 0;i<lpArray.length;i++) { | ||
| 120 | + if(p[i+1] != undefined) { | ||
| 121 | + if(lpArray[i].lpName != p[i+1]) { | ||
| 122 | + for(var d = 0 ; d< data.length;d++) { | ||
| 123 | + if(data[d].lpName == lpArray[i].lpName) { | ||
| 124 | + data[d].lpName = p[i+1]; | ||
| 125 | + } | ||
| 126 | + | ||
| 127 | + } | ||
| 128 | + lpArray[i].lpName = p[i+1]; | ||
| 129 | + obj.configuration.lpNameA[i] = p[i+1]; | ||
| 130 | + } | ||
| 131 | + } | ||
| 132 | + } | ||
| 133 | + } | ||
| 134 | +}); | ||
| 135 | +</script> | ||
| 0 | \ No newline at end of file | 136 | \ No newline at end of file |
src/main/resources/static/pages/base/timesmodel/js/base-fun.js
| @@ -403,11 +403,12 @@ var BaseFun = function() { | @@ -403,11 +403,12 @@ var BaseFun = function() { | ||
| 403 | } | 403 | } |
| 404 | //debugger; | 404 | //debugger; |
| 405 | var jar3 = baseF.dqbcsAndgs(bxrcgs,jar,dataMap,cara.length); | 405 | var jar3 = baseF.dqbcsAndgs(bxrcgs,jar,dataMap,cara.length); |
| 406 | - //return {'json':jar3,'bxrcgs':bxrcgs}; | 406 | + // return {'json':jar3,'bxrcgs':bxrcgs}; |
| 407 | /*var jar4 = baseF.tzsmbcsj01( | 407 | /*var jar4 = baseF.tzsmbcsj01( |
| 408 | baseF.setbcsAndfcno(baseF.tzsmbcsj01(baseF.setbcsAndfcno(baseF.tzsztest(cara,jar3,dataMap)),dataMap.smbcsjArr,dataMap.ccsjArr,dataMap.cclcArr,dataMap.qdzArr,saa[0].lbsj,dataMap)), | 408 | baseF.setbcsAndfcno(baseF.tzsmbcsj01(baseF.setbcsAndfcno(baseF.tzsztest(cara,jar3,dataMap)),dataMap.smbcsjArr,dataMap.ccsjArr,dataMap.cclcArr,dataMap.qdzArr,saa[0].lbsj,dataMap)), |
| 409 | dataMap.smbcsjArr,dataMap.ccsjArr,dataMap.cclcArr,dataMap.qdzArr,saa[0].lbsj,dataMap);*/ | 409 | dataMap.smbcsjArr,dataMap.ccsjArr,dataMap.cclcArr,dataMap.qdzArr,saa[0].lbsj,dataMap);*/ |
| 410 | var rsjar = baseF.tzsztest(cara,jar3,dataMap); | 410 | var rsjar = baseF.tzsztest(cara,jar3,dataMap); |
| 411 | + // return {'json':rsjar,'bxrcgs':bxrcgs}; | ||
| 411 | return {'json':baseF.addjcclcbc01(cara,rsjar,dataMap,saa,map),'bxrcgs':bxrcgs}; | 412 | return {'json':baseF.addjcclcbc01(cara,rsjar,dataMap,saa,map),'bxrcgs':bxrcgs}; |
| 412 | }, | 413 | }, |
| 413 | 414 | ||
| @@ -433,7 +434,6 @@ var BaseFun = function() { | @@ -433,7 +434,6 @@ var BaseFun = function() { | ||
| 433 | // lpbc_.sort(function(a,b){return a.fcno-b.fcno}); | 434 | // lpbc_.sort(function(a,b){return a.fcno-b.fcno}); |
| 434 | var tt = baseF.addjclbbc01(lpbc_,dataMap,saa[0].lbsj,map); | 435 | var tt = baseF.addjclbbc01(lpbc_,dataMap,saa[0].lbsj,map); |
| 435 | bcs = baseF.updfcno01(tt,bcs); | 436 | bcs = baseF.updfcno01(tt,bcs); |
| 436 | - // debugger; | ||
| 437 | resultJA = resultJA.concat(tt); | 437 | resultJA = resultJA.concat(tt); |
| 438 | } | 438 | } |
| 439 | return resultJA; | 439 | return resultJA; |
| @@ -779,7 +779,11 @@ var BaseFun = function() { | @@ -779,7 +779,11 @@ var BaseFun = function() { | ||
| 779 | sgbcfcsj.setMinutes(sgbcfcsj.getMinutes() - ar[r].bcsj); | 779 | sgbcfcsj.setMinutes(sgbcfcsj.getMinutes() - ar[r].bcsj); |
| 780 | ar[r].fcsj = baseF.getTimeStr(sgbcfcsj);*/ | 780 | ar[r].fcsj = baseF.getTimeStr(sgbcfcsj);*/ |
| 781 | }else if(dxmin >= v1 && dxmin < 180) { | 781 | }else if(dxmin >= v1 && dxmin < 180) { |
| 782 | - dxmin = v1; | 782 | + if(r==ar.length-2 || baseF.issmbcsjArr(ar[r+1].fcsj,dataMap.smbcsjArr)) { |
| 783 | + dxmin = dxmin; | ||
| 784 | + }else { | ||
| 785 | + dxmin = v1; | ||
| 786 | + } | ||
| 783 | } | 787 | } |
| 784 | if(ar[r].STOPTIME >0) { | 788 | if(ar[r].STOPTIME >0) { |
| 785 | dqbcddsj.setMinutes(dqbcddsj.getMinutes() + dxmin); | 789 | dqbcddsj.setMinutes(dqbcddsj.getMinutes() + dxmin); |
| @@ -802,6 +806,7 @@ var BaseFun = function() { | @@ -802,6 +806,7 @@ var BaseFun = function() { | ||
| 802 | if(bcArr.length<=0) | 806 | if(bcArr.length<=0) |
| 803 | return; | 807 | return; |
| 804 | var dirA = dataMap.dira; | 808 | var dirA = dataMap.dira; |
| 809 | + var clzs = parseInt(dataMap.map.clzs); | ||
| 805 | for(var d = 0 ; d < dirA.length; d++) { | 810 | for(var d = 0 ; d < dirA.length; d++) { |
| 806 | var fxdm = dirA[d],fxbc = new Array(); | 811 | var fxdm = dirA[d],fxbc = new Array(); |
| 807 | var cctag = baseF.dirDmToIndex(fxdm); | 812 | var cctag = baseF.dirDmToIndex(fxdm); |
| @@ -827,6 +832,10 @@ var BaseFun = function() { | @@ -827,6 +832,10 @@ var BaseFun = function() { | ||
| 827 | var _fcjx = parseInt(Math.ceil(zzsj/bcCount)); | 832 | var _fcjx = parseInt(Math.ceil(zzsj/bcCount)); |
| 828 | var fcnosj = new Date(kssj); | 833 | var fcnosj = new Date(kssj); |
| 829 | for(var l = 0 ; l< len_ ; l++) { | 834 | for(var l = 0 ; l< len_ ; l++) { |
| 835 | + // 每个路牌的末班车发车时间不准动. | ||
| 836 | + if(baseF.iszhclzsbc(fxbc, sjdbcArr[l].fcno , clzs)) { | ||
| 837 | + continue; | ||
| 838 | + } | ||
| 830 | sjdbcArr[l].fcsj = baseF.getTimeStr(fcnosj); | 839 | sjdbcArr[l].fcsj = baseF.getTimeStr(fcnosj); |
| 831 | var _xxsj = baseF.getxssj(dataMap.zgfsjd, | 840 | var _xxsj = baseF.getxssj(dataMap.zgfsjd, |
| 832 | dataMap.wgfsjd,fcnosj,dataMap.pcxssjArr, | 841 | dataMap.wgfsjd,fcnosj,dataMap.pcxssjArr, |
| @@ -845,6 +854,16 @@ var BaseFun = function() { | @@ -845,6 +854,16 @@ var BaseFun = function() { | ||
| 845 | } | 854 | } |
| 846 | }, | 855 | }, |
| 847 | 856 | ||
| 857 | + iszhclzsbc : function(dirA , fcno , clzs) { | ||
| 858 | + var flag = false; | ||
| 859 | + for(var a =1 ; a < clzs ; a++) { | ||
| 860 | + if(fcno == dirA[dirA.length-a].fcno) { | ||
| 861 | + flag = true; | ||
| 862 | + } | ||
| 863 | + } | ||
| 864 | + return flag; | ||
| 865 | + }, | ||
| 866 | + | ||
| 848 | /** | 867 | /** |
| 849 | * @description : (TODO) 添加进出场班次、早晚例保班次. | 868 | * @description : (TODO) 添加进出场班次、早晚例保班次. |
| 850 | * | 869 | * |
| @@ -1896,14 +1915,13 @@ var BaseFun = function() { | @@ -1896,14 +1915,13 @@ var BaseFun = function() { | ||
| 1896 | getsxAndxxbc : function(json,dataMap) { | 1915 | getsxAndxxbc : function(json,dataMap) { |
| 1897 | var upArray = new Array(),downArray = new Array(),qt = new Array(); | 1916 | var upArray = new Array(),downArray = new Array(),qt = new Array(); |
| 1898 | for(var j = 0 ; j< json.length ; j++) { | 1917 | for(var j = 0 ; j< json.length ; j++) { |
| 1899 | - //json[j].fcint = baseF.getDateTime(json[j].fcsj).getTime(); | ||
| 1900 | if(json[j].bcType== dataMap.bcTypeArr.normal || | 1918 | if(json[j].bcType== dataMap.bcTypeArr.normal || |
| 1901 | json[j].bcType== dataMap.bcTypeArr.region || | 1919 | json[j].bcType== dataMap.bcTypeArr.region || |
| 1902 | json[j].bcType== dataMap.bcTypeArr.major || | 1920 | json[j].bcType== dataMap.bcTypeArr.major || |
| 1903 | json[j].bcType== dataMap.bcTypeArr.venting) { | 1921 | json[j].bcType== dataMap.bcTypeArr.venting) { |
| 1904 | - if(json[j].xlDir == 'relationshipGraph-up') | 1922 | + if(json[j].xlDir == dataMap.dira[0]) |
| 1905 | upArray.push(json[j]); | 1923 | upArray.push(json[j]); |
| 1906 | - else if(json[j].xlDir == 'relationshipGraph-down') | 1924 | + else if(json[j].xlDir == dataMap.dira[1]) |
| 1907 | downArray.push(json[j]); | 1925 | downArray.push(json[j]); |
| 1908 | }else if(json[j].bcType == dataMap.bcTypeArr.cf) { | 1926 | }else if(json[j].bcType == dataMap.bcTypeArr.cf) { |
| 1909 | qt.push(json[j]); | 1927 | qt.push(json[j]); |
src/main/resources/static/pages/base/timesmodel/js/d3.relationshipgraph.js
| @@ -1288,34 +1288,44 @@ var RelationshipGraph = function () { | @@ -1288,34 +1288,44 @@ var RelationshipGraph = function () { | ||
| 1288 | } | 1288 | } |
| 1289 | } | 1289 | } |
| 1290 | }, { | 1290 | }, { |
| 1291 | + /** | ||
| 1292 | + * 均匀发车间隙 | ||
| 1293 | + * | ||
| 1294 | + */ | ||
| 1291 | key : 'updownread01', | 1295 | key : 'updownread01', |
| 1292 | value : function updownread01() { | 1296 | value : function updownread01() { |
| 1293 | - // 1、获取所有班次数. | ||
| 1294 | var list = $_GlobalGraph.getDataArray(); | 1297 | var list = $_GlobalGraph.getDataArray(); |
| 1295 | var dataMap = $_GlobalGraph.configuration.dataMap; | 1298 | var dataMap = $_GlobalGraph.configuration.dataMap; |
| 1296 | - var rsmap = BaseFun.getsxAndxxbc(list,dataMap); | ||
| 1297 | var cara = $_GlobalGraph.configuration.taskTypes; | 1299 | var cara = $_GlobalGraph.configuration.taskTypes; |
| 1298 | - var jar01 = rsmap.qt.concat(rsmap.sxbc).concat(rsmap.xxbc); | ||
| 1299 | - BaseFun.jhfcjx01(jar01,dataMap); | ||
| 1300 | - var jar = BaseFun.tzsmbcsj01( | ||
| 1301 | - BaseFun.setbcsAndfcno(BaseFun.tzsmbcsj01(BaseFun.setbcsAndfcno(BaseFun.tzsztest(cara,jar01,dataMap)),dataMap.smbcsjArr,dataMap.ccsjArr,dataMap.cclcArr,dataMap.qdzArr,dataMap.lbsj,dataMap)), | ||
| 1302 | - dataMap.smbcsjArr,dataMap.ccsjArr,dataMap.cclcArr,dataMap.qdzArr,dataMap.lbsj,dataMap); | ||
| 1303 | - var resultJA = new Array(); | ||
| 1304 | - for(var m = 0 ; m < cara.length; m++) { | ||
| 1305 | - // 获取路牌编号. | ||
| 1306 | - var lpNo_ = cara[m].lpNo; | ||
| 1307 | - // 定义路牌下的所有班次. | ||
| 1308 | - var lpbc_ = new Array(); | ||
| 1309 | - // 遍历班次数. | ||
| 1310 | - for(var x =0 ; x <jar.length; x++) { | ||
| 1311 | - // 判断当期遍历的班次是否属于当前的路牌. | ||
| 1312 | - if(jar[x].lpNo == lpNo_) | ||
| 1313 | - lpbc_.push(jar[x]); | ||
| 1314 | - } | ||
| 1315 | - // 按照发车序号顺序排序. | ||
| 1316 | - lpbc_.sort(function(a,b){return a.fcno-b.fcno}); | ||
| 1317 | - resultJA = resultJA.concat(BaseFun.addjclbbc01(lpbc_,dataMap,dataMap.lbsj,dataMap.map)); | ||
| 1318 | - } | 1300 | + var bxrcgs = $_GlobalGraph.configuration.bxrcgs; |
| 1301 | + var resultJA = new Array(); | ||
| 1302 | + if(list.length !=0 && dataMap!=null && dataMap!='' && cara.length !=0) { | ||
| 1303 | + var rsmap = BaseFun.getsxAndxxbc(list,dataMap); | ||
| 1304 | + var jar01 = rsmap.qt.concat(rsmap.sxbc).concat(rsmap.xxbc); | ||
| 1305 | + BaseFun.jhfcjx01(jar01,dataMap); | ||
| 1306 | + var jar = BaseFun.tzsmbcsj01( | ||
| 1307 | + BaseFun.setbcsAndfcno(BaseFun.tzsmbcsj01(BaseFun.setbcsAndfcno(BaseFun.tzsztest(cara,jar01,dataMap)),dataMap.smbcsjArr,dataMap.ccsjArr,dataMap.cclcArr,dataMap.qdzArr,dataMap.lbsj,dataMap)), | ||
| 1308 | + dataMap.smbcsjArr,dataMap.ccsjArr,dataMap.cclcArr,dataMap.qdzArr,dataMap.lbsj,dataMap); | ||
| 1309 | + for(var r = 0 ; r < bxrcgs.length; r++) { | ||
| 1310 | + var lpNo = bxrcgs[r].lpNo; | ||
| 1311 | + var gsv = 0 , bczs = 0; | ||
| 1312 | + for(var g = 0 ; g< jar.length; g++) { | ||
| 1313 | + if(jar[g].lpNo == lpNo) { | ||
| 1314 | + gsv = gsv + jar[g].bcsj + jar[g].STOPTIME; | ||
| 1315 | + bczs++; | ||
| 1316 | + } | ||
| 1317 | + } | ||
| 1318 | + bxrcgs[r].sjgsV = gsv; | ||
| 1319 | + bxrcgs[r].bczs = bczs; | ||
| 1320 | + } | ||
| 1321 | + var jar3 = BaseFun.dqbcsAndgs(bxrcgs,jar,dataMap,cara.length); | ||
| 1322 | + var rsjar = BaseFun.tzsztest(cara,jar3,dataMap); | ||
| 1323 | + resultJA = BaseFun.addjcclcbc01(cara,rsjar,dataMap,$_GlobalGraph.configuration.stopAraay,dataMap.map); | ||
| 1324 | + } else { | ||
| 1325 | + resultJA = list; | ||
| 1326 | + error.show('参数异常!','【 list:' + list + ' , dataMap:' | ||
| 1327 | + + dataMap + ' , cara:' + cara + ' , bxrcgs:' + bxrcgs + '】'); | ||
| 1328 | + } | ||
| 1319 | // 删除图形. | 1329 | // 删除图形. |
| 1320 | $('svg.svg-chart').remove(); | 1330 | $('svg.svg-chart').remove(); |
| 1321 | // 重新创建图形. | 1331 | // 重新创建图形. |
src/main/resources/static/pages/base/timesmodel/js/gantt.js
| @@ -528,8 +528,15 @@ | @@ -528,8 +528,15 @@ | ||
| 528 | }else { | 528 | }else { |
| 529 | data = graph.getDataArray(); | 529 | data = graph.getDataArray(); |
| 530 | } | 530 | } |
| 531 | + var rsjar = BaseFun.tzsztest(graph.configuration.taskTypes,data,graph.configuration.dataMap); | ||
| 532 | + /*var resultJA = BaseFun.addjcclcbc01(graph.configuration.taskTypes,rsjar, | ||
| 533 | + graph.configuration.dataMap,graph.configuration.stopAraay,data, | ||
| 534 | + graph.configuration.dataMap.map);*/ | ||
| 531 | // 获取图形数据.重新绘制. | 535 | // 获取图形数据.重新绘制. |
| 532 | - graph.data(data); | 536 | + graph.data(BaseFun.addjcclcbc01(graph.configuration.taskTypes,rsjar, |
| 537 | + graph.configuration.dataMap, | ||
| 538 | + graph.configuration.stopAraay, | ||
| 539 | + graph.configuration.dataMap.map)); | ||
| 533 | // 记录当前操作. | 540 | // 记录当前操作. |
| 534 | graph.addHistory(); | 541 | graph.addHistory(); |
| 535 | stateSuccess('删除'); | 542 | stateSuccess('删除'); |
src/main/resources/static/pages/base/timesmodel/tepms/bctype_temp.html
| @@ -538,10 +538,10 @@ | @@ -538,10 +538,10 @@ | ||
| 538 | </select> | 538 | </select> |
| 539 | </div> | 539 | </div> |
| 540 | <div class="margin-top-10"> | 540 | <div class="margin-top-10"> |
| 541 | - <input type="number" class="form-control" placeholder="请输入分配人次数" id="state_tagsinput_rcsvalue"> | 541 | + <input type="number" class="form-control" placeholder="请输入分配人次数" id="state_tagsinput_rcsvalue" min="1"> |
| 542 | </div> | 542 | </div> |
| 543 | <div class="margin-top-10"> | 543 | <div class="margin-top-10"> |
| 544 | - <input type="number" class="form-control" placeholder="请输入分配车辆数" id="state_tagsinput_clsvalue"> | 544 | + <input type="number" class="form-control" placeholder="请输入分配车辆数" id="state_tagsinput_clsvalue" min="1"> |
| 545 | </div> | 545 | </div> |
| 546 | <div class="margin-top-10"> | 546 | <div class="margin-top-10"> |
| 547 | <a href="javascript:;" class="btn red" id="state_tagsinput_add">添加</a> | 547 | <a href="javascript:;" class="btn red" id="state_tagsinput_add">添加</a> |
src/main/resources/static/pages/forms/mould/firstAndLastBus_sum.xls
No preview for this file type
src/main/resources/static/pages/forms/mould/oilListMonth.xls
0 → 100644
No preview for this file type
src/main/resources/static/pages/forms/statement/firstAndLastBus.html
| @@ -7,7 +7,8 @@ | @@ -7,7 +7,8 @@ | ||
| 7 | .table-bordered > tbody > tr > td, | 7 | .table-bordered > tbody > tr > td, |
| 8 | .table-bordered > tfoot > tr > th, | 8 | .table-bordered > tfoot > tr > th, |
| 9 | .table-bordered > tfoot > tr > td { | 9 | .table-bordered > tfoot > tr > td { |
| 10 | - border: 1px solid; } | 10 | + border: 1px solid; |
| 11 | + text-align: center; } | ||
| 11 | .table-bordered > thead > tr > th, | 12 | .table-bordered > thead > tr > th, |
| 12 | .table-bordered > thead > tr > td { | 13 | .table-bordered > thead > tr > td { |
| 13 | border-bottom-width: 2px; } | 14 | border-bottom-width: 2px; } |
| @@ -250,7 +251,7 @@ | @@ -250,7 +251,7 @@ | ||
| 250 | <td>{{obj.company}}</td> | 251 | <td>{{obj.company}}</td> |
| 251 | <td>{{obj.subCompany}}</td> | 252 | <td>{{obj.subCompany}}</td> |
| 252 | <td>{{obj.line}}</td> | 253 | <td>{{obj.line}}</td> |
| 253 | - {{if obj.delayFirst0 != '/' && obj.delayFirst0 != '0'}} | 254 | + {{if obj.delayFirst0 != '/' && (obj.delayFirst0 > 1 || obj.delayFirst0 < -2)}} |
| 254 | <td style="background-color: #FF9999">{{obj.qdzFirst0}}</td> | 255 | <td style="background-color: #FF9999">{{obj.qdzFirst0}}</td> |
| 255 | <td style="background-color: #FF9999">{{obj.jhfcFirst0}}</td> | 256 | <td style="background-color: #FF9999">{{obj.jhfcFirst0}}</td> |
| 256 | <td style="background-color: #FF9999">{{obj.sjfcFirst0}}</td> | 257 | <td style="background-color: #FF9999">{{obj.sjfcFirst0}}</td> |
| @@ -261,7 +262,7 @@ | @@ -261,7 +262,7 @@ | ||
| 261 | <td>{{obj.sjfcFirst0}}</td> | 262 | <td>{{obj.sjfcFirst0}}</td> |
| 262 | <td>{{obj.delayFirst0}}</td> | 263 | <td>{{obj.delayFirst0}}</td> |
| 263 | {{/if}} | 264 | {{/if}} |
| 264 | - {{if obj.delayLast0 != '/' && obj.delayLast0 != '0'}} | 265 | + {{if obj.delayLast0 != '/' && (obj.delayLast0 > 1 || obj.delayLast0 < -2)}} |
| 265 | <td style="background-color: #FF9999">{{obj.qdzLast0}}</td> | 266 | <td style="background-color: #FF9999">{{obj.qdzLast0}}</td> |
| 266 | <td style="background-color: #FF9999">{{obj.jhfcLast0}}</td> | 267 | <td style="background-color: #FF9999">{{obj.jhfcLast0}}</td> |
| 267 | <td style="background-color: #FF9999">{{obj.sjfcLast0}}</td> | 268 | <td style="background-color: #FF9999">{{obj.sjfcLast0}}</td> |
| @@ -272,7 +273,7 @@ | @@ -272,7 +273,7 @@ | ||
| 272 | <td>{{obj.sjfcLast0}}</td> | 273 | <td>{{obj.sjfcLast0}}</td> |
| 273 | <td>{{obj.delayLast0}}</td> | 274 | <td>{{obj.delayLast0}}</td> |
| 274 | {{/if}} | 275 | {{/if}} |
| 275 | - {{if obj.delayFirst1 != '/' && obj.delayFirst1 != '0'}} | 276 | + {{if obj.delayFirst1 != '/' && (obj.delayFirst1 > 1 || obj.delayFirst1 < -2)}} |
| 276 | <td style="background-color: #FF9999">{{obj.qdzFirst1}}</td> | 277 | <td style="background-color: #FF9999">{{obj.qdzFirst1}}</td> |
| 277 | <td style="background-color: #FF9999">{{obj.jhfcFirst1}}</td> | 278 | <td style="background-color: #FF9999">{{obj.jhfcFirst1}}</td> |
| 278 | <td style="background-color: #FF9999">{{obj.sjfcFirst1}}</td> | 279 | <td style="background-color: #FF9999">{{obj.sjfcFirst1}}</td> |
| @@ -283,7 +284,7 @@ | @@ -283,7 +284,7 @@ | ||
| 283 | <td>{{obj.sjfcFirst1}}</td> | 284 | <td>{{obj.sjfcFirst1}}</td> |
| 284 | <td>{{obj.delayFirst1}}</td> | 285 | <td>{{obj.delayFirst1}}</td> |
| 285 | {{/if}} | 286 | {{/if}} |
| 286 | - {{if obj.delayLast1 != '/' && obj.delayLast1 != '0'}} | 287 | + {{if obj.delayLast1 != '/' && (obj.delayLast1 > 1 || obj.delayLast1 < -2)}} |
| 287 | <td style="background-color: #FF9999">{{obj.qdzLast1}}</td> | 288 | <td style="background-color: #FF9999">{{obj.qdzLast1}}</td> |
| 288 | <td style="background-color: #FF9999">{{obj.jhfcLast1}}</td> | 289 | <td style="background-color: #FF9999">{{obj.jhfcLast1}}</td> |
| 289 | <td style="background-color: #FF9999">{{obj.sjfcLast1}}</td> | 290 | <td style="background-color: #FF9999">{{obj.sjfcLast1}}</td> |
src/main/resources/static/pages/forms/statement/firstAndLastBus_sum.html
| @@ -7,7 +7,8 @@ | @@ -7,7 +7,8 @@ | ||
| 7 | .table-bordered > tbody > tr > td, | 7 | .table-bordered > tbody > tr > td, |
| 8 | .table-bordered > tfoot > tr > th, | 8 | .table-bordered > tfoot > tr > th, |
| 9 | .table-bordered > tfoot > tr > td { | 9 | .table-bordered > tfoot > tr > td { |
| 10 | - border: 1px solid; } | 10 | + border: 1px solid; |
| 11 | + text-align: center; } | ||
| 11 | .table-bordered > thead > tr > th, | 12 | .table-bordered > thead > tr > th, |
| 12 | .table-bordered > thead > tr > td { | 13 | .table-bordered > thead > tr > td { |
| 13 | border-bottom-width: 2px; } | 14 | border-bottom-width: 2px; } |
| @@ -27,11 +28,11 @@ | @@ -27,11 +28,11 @@ | ||
| 27 | <div class="portlet light porttlet-fit bordered"> | 28 | <div class="portlet light porttlet-fit bordered"> |
| 28 | <div class="portlet-title"> | 29 | <div class="portlet-title"> |
| 29 | <form id="history" class="form-inline" action=""> | 30 | <form id="history" class="form-inline" action=""> |
| 30 | - <div style="display: inline-block;margin-left: 10px;" id="company1"> | 31 | + <div style="display: inline-block;margin-left: 28px;" id="company1"> |
| 31 | <span class="item-label" style="width: 80px;">公司: </span> | 32 | <span class="item-label" style="width: 80px;">公司: </span> |
| 32 | <select class="form-control" name="company" id="company" style="width: 160px;"></select> | 33 | <select class="form-control" name="company" id="company" style="width: 160px;"></select> |
| 33 | </div> | 34 | </div> |
| 34 | - <div style="display: inline-block;margin-left: 10px;" id="subCompany1"> | 35 | + <div style="display: inline-block;margin-left: 24px;" id="subCompany1"> |
| 35 | <span class="item-label" style="width: 80px;">分公司: </span> | 36 | <span class="item-label" style="width: 80px;">分公司: </span> |
| 36 | <select class="form-control" name="subCompany" id="subCompany" style="width: 160px;"></select> | 37 | <select class="form-control" name="subCompany" id="subCompany" style="width: 160px;"></select> |
| 37 | </div> | 38 | </div> |
| @@ -39,11 +40,16 @@ | @@ -39,11 +40,16 @@ | ||
| 39 | <span class="item-label" style="width: 80px;">线路: </span> | 40 | <span class="item-label" style="width: 80px;">线路: </span> |
| 40 | <select class="form-control" name="line" id="line" style="width: 160px;"></select> | 41 | <select class="form-control" name="line" id="line" style="width: 160px;"></select> |
| 41 | </div> | 42 | </div> |
| 43 | + <div style="margin-top: 10px"></div> | ||
| 44 | + <div style="display: inline-block;margin-left: 0px;"> | ||
| 45 | + <span class="item-label" style="width: 80px;">开始时间: </span> | ||
| 46 | + <input class="form-control" type="text" id="startDate" style="width: 160px;"/> | ||
| 47 | + </div> | ||
| 42 | <div style="display: inline-block;margin-left: 10px;"> | 48 | <div style="display: inline-block;margin-left: 10px;"> |
| 43 | - <span class="item-label" style="width: 80px;">时间: </span> | ||
| 44 | - <input class="form-control" type="text" id="date" style="width: 160px;"/> | 49 | + <span class="item-label" style="width: 80px;">结束时间: </span> |
| 50 | + <input class="form-control" type="text" id="endDate" style="width: 160px;"/> | ||
| 45 | </div> | 51 | </div> |
| 46 | - <div class="form-group"> | 52 | + <div class="form-group" style="margin-left: 10px;"> |
| 47 | <input class="btn btn-default" type="button" id="query" value="筛选"/> | 53 | <input class="btn btn-default" type="button" id="query" value="筛选"/> |
| 48 | <input class="btn btn-default" type="button" id="export" value="导出"/> | 54 | <input class="btn btn-default" type="button" id="export" value="导出"/> |
| 49 | </div> | 55 | </div> |
| @@ -54,7 +60,7 @@ | @@ -54,7 +60,7 @@ | ||
| 54 | <table class="table table-bordered table-hover table-checkable" id="forms"> | 60 | <table class="table table-bordered table-hover table-checkable" id="forms"> |
| 55 | <thead> | 61 | <thead> |
| 56 | <tr class="hidden"> | 62 | <tr class="hidden"> |
| 57 | - <th>日期</th> | 63 | + <th width="240px">日期</th> |
| 58 | <th>公司</th> | 64 | <th>公司</th> |
| 59 | <th>分公司</th> | 65 | <th>分公司</th> |
| 60 | <th>线路</th> | 66 | <th>线路</th> |
| @@ -73,6 +79,7 @@ | @@ -73,6 +79,7 @@ | ||
| 73 | <thead> | 79 | <thead> |
| 74 | <tr class="hidden"> | 80 | <tr class="hidden"> |
| 75 | <th style="display: none;"></th> | 81 | <th style="display: none;"></th> |
| 82 | + <th rowspan="2">日期</th> | ||
| 76 | <th rowspan="2">线路</th> | 83 | <th rowspan="2">线路</th> |
| 77 | <th colspan="4">上行首发</th> | 84 | <th colspan="4">上行首发</th> |
| 78 | <th colspan="4">上行末发</th> | 85 | <th colspan="4">上行末发</th> |
| @@ -116,12 +123,12 @@ | @@ -116,12 +123,12 @@ | ||
| 116 | // 关闭左侧栏 | 123 | // 关闭左侧栏 |
| 117 | if (!$('body').hasClass('page-sidebar-closed')) | 124 | if (!$('body').hasClass('page-sidebar-closed')) |
| 118 | $('.menu-toggler.sidebar-toggler').click(); | 125 | $('.menu-toggler.sidebar-toggler').click(); |
| 119 | - | ||
| 120 | - $("#date").datetimepicker({ | 126 | + |
| 127 | + $("#startDate,#endDate").datetimepicker({ | ||
| 121 | format : 'YYYY-MM-DD', | 128 | format : 'YYYY-MM-DD', |
| 122 | locale : 'zh-cn' | 129 | locale : 'zh-cn' |
| 123 | }); | 130 | }); |
| 124 | - | 131 | + |
| 125 | var d = new Date(); | 132 | var d = new Date(); |
| 126 | var year = d.getFullYear(); | 133 | var year = d.getFullYear(); |
| 127 | var month = d.getMonth() + 1; | 134 | var month = d.getMonth() + 1; |
| @@ -130,7 +137,7 @@ | @@ -130,7 +137,7 @@ | ||
| 130 | month = "0" + month; | 137 | month = "0" + month; |
| 131 | if(day < 10) | 138 | if(day < 10) |
| 132 | day = "0" + day; | 139 | day = "0" + day; |
| 133 | - $("#date").val(year + "-" + month + "-" + day); | 140 | + $("#startDate,#endDate").val(year + "-" + month + "-" + day); |
| 134 | 141 | ||
| 135 | var fage=false; | 142 | var fage=false; |
| 136 | var xlList; | 143 | var xlList; |
| @@ -216,9 +223,14 @@ | @@ -216,9 +223,14 @@ | ||
| 216 | var company = $("#company").val(); | 223 | var company = $("#company").val(); |
| 217 | var subCompany = $("#subCompany").val(); | 224 | var subCompany = $("#subCompany").val(); |
| 218 | var line = $("#line").val(); | 225 | var line = $("#line").val(); |
| 219 | - var date = $("#date").val(); | 226 | + var startDate = $("#startDate").val(); |
| 227 | + var endDate = $("#endDate").val(); | ||
| 220 | function jsDoQuery(pagination){ | 228 | function jsDoQuery(pagination){ |
| 221 | - if($("#date").val() == null || $("#date").val().trim().length == 0){ | 229 | + if($("#startDate").val() == null || $("#startDate").val().trim().length == 0){ |
| 230 | + layer.msg("请选择时间!"); | ||
| 231 | + return; | ||
| 232 | + } | ||
| 233 | + if($("#endDate").val() == null || $("#endDate").val().trim().length == 0){ | ||
| 222 | layer.msg("请选择时间!"); | 234 | layer.msg("请选择时间!"); |
| 223 | return; | 235 | return; |
| 224 | } | 236 | } |
| @@ -226,14 +238,15 @@ | @@ -226,14 +238,15 @@ | ||
| 226 | company = $("#company").val(); | 238 | company = $("#company").val(); |
| 227 | subCompany = $("#subCompany").val(); | 239 | subCompany = $("#subCompany").val(); |
| 228 | line = $("#line").val(); | 240 | line = $("#line").val(); |
| 229 | - date = $("#date").val(); | 241 | + startDate = $("#startDate").val(); |
| 242 | + endDate = $("#endDate").val(); | ||
| 230 | if(line == " ") | 243 | if(line == " ") |
| 231 | line = ""; | 244 | line = ""; |
| 232 | params['company'] = company; | 245 | params['company'] = company; |
| 233 | params['subCompany'] = subCompany; | 246 | params['subCompany'] = subCompany; |
| 234 | params['line'] = line; | 247 | params['line'] = line; |
| 235 | - params['line'] = line; | ||
| 236 | - params['date'] = date; | 248 | + params['startDate'] = startDate; |
| 249 | + params['endDate'] = endDate; | ||
| 237 | params['type'] = "query"; | 250 | params['type'] = "query"; |
| 238 | $("#forms .hidden").removeClass("hidden"); | 251 | $("#forms .hidden").removeClass("hidden"); |
| 239 | $("#map tr").addClass("hidden"); | 252 | $("#map tr").addClass("hidden"); |
| @@ -253,19 +266,15 @@ | @@ -253,19 +266,15 @@ | ||
| 253 | } | 266 | } |
| 254 | 267 | ||
| 255 | $("#export").on("click",function(){ | 268 | $("#export").on("click",function(){ |
| 256 | - if($("#date").val() == null || $("#date").val().trim().length == 0){ | ||
| 257 | - layer.msg("请选择时间!"); | ||
| 258 | - return; | ||
| 259 | - } | ||
| 260 | var params = {}; | 269 | var params = {}; |
| 261 | params['company'] = company; | 270 | params['company'] = company; |
| 262 | params['subCompany'] = subCompany; | 271 | params['subCompany'] = subCompany; |
| 263 | params['line'] = line; | 272 | params['line'] = line; |
| 264 | - params['line'] = line; | ||
| 265 | - params['date'] = date; | 273 | + params['startDate'] = startDate; |
| 274 | + params['endDate'] = endDate; | ||
| 266 | params['type'] = "export"; | 275 | params['type'] = "export"; |
| 267 | $get('/pcpc/firstAndLastBus_sum', params, function(result){ | 276 | $get('/pcpc/firstAndLastBus_sum', params, function(result){ |
| 268 | - window.open("/downloadFile/download?fileName=线路首末班准点率"+moment(date).format("YYYYMMDD")); | 277 | + window.open("/downloadFile/download?fileName=线路首末班准点率"+moment(startDate).format("YYYYMMDD")+(startDate==endDate?"":("-"+moment(endDate).format("YYYYMMDD")))); |
| 269 | }); | 278 | }); |
| 270 | }); | 279 | }); |
| 271 | 280 | ||
| @@ -276,13 +285,20 @@ | @@ -276,13 +285,20 @@ | ||
| 276 | <script type="text/html" id="list_firstAndLastBus"> | 285 | <script type="text/html" id="list_firstAndLastBus"> |
| 277 | {{each list as obj i}} | 286 | {{each list as obj i}} |
| 278 | <tr> | 287 | <tr> |
| 279 | - <td>{{obj.date}}</td> | ||
| 280 | - <td>{{obj.company}}</td> | ||
| 281 | - <td>{{obj.subCompany}}</td> | ||
| 282 | - <td>{{obj.line}}</td> | ||
| 283 | - <td>{{obj.jhbc}}</td> | ||
| 284 | - <td>{{obj.sjbc}}</td> | ||
| 285 | - <td><a id='delay'>{{obj.zdl}}</a></td> | 288 | + {{if obj.date != '合计汇总'}} |
| 289 | + <td>{{obj.date}}</td> | ||
| 290 | + <td>{{obj.company}}</td> | ||
| 291 | + <td>{{obj.subCompany}}</td> | ||
| 292 | + <td>{{obj.line}}</td> | ||
| 293 | + <td>{{obj.jhbc}}</td> | ||
| 294 | + <td>{{obj.sjbc}}</td> | ||
| 295 | + <td><a id='delay'>{{obj.zdl}}</a></td> | ||
| 296 | + {{else}} | ||
| 297 | + <td colspan='4'>{{obj.date}}</td> | ||
| 298 | + <td>{{obj.jhbc}}</td> | ||
| 299 | + <td>{{obj.sjbc}}</td> | ||
| 300 | + <td>{{obj.zdl}}</td> | ||
| 301 | + {{/if}} | ||
| 286 | </tr> | 302 | </tr> |
| 287 | {{/each}} | 303 | {{/each}} |
| 288 | {{if list.length == 0}} | 304 | {{if list.length == 0}} |
| @@ -292,23 +308,26 @@ | @@ -292,23 +308,26 @@ | ||
| 292 | {{/if}} | 308 | {{/if}} |
| 293 | </script> | 309 | </script> |
| 294 | <script type="text/html" id="list_maps"> | 310 | <script type="text/html" id="list_maps"> |
| 311 | + {{each list as obj i}} | ||
| 295 | <tr> | 312 | <tr> |
| 296 | - <td>{{list.line}}</td> | ||
| 297 | - <td>{{list.qdzFirst0}}</td> | ||
| 298 | - <td>{{list.jhfcFirst0}}</td> | ||
| 299 | - <td>{{list.sjfcFirst0}}</td> | ||
| 300 | - <td>{{list.delayFirst0}}</td> | ||
| 301 | - <td>{{list.qdzLast0}}</td> | ||
| 302 | - <td>{{list.jhfcLast0}}</td> | ||
| 303 | - <td>{{list.sjfcLast0}}</td> | ||
| 304 | - <td>{{list.delayLast0}}</td> | ||
| 305 | - <td>{{list.qdzFirst1}}</td> | ||
| 306 | - <td>{{list.jhfcFirst1}}</td> | ||
| 307 | - <td>{{list.sjfcFirst1}}</td> | ||
| 308 | - <td>{{list.delayFirst1}}</td> | ||
| 309 | - <td>{{list.qdzLast1}}</td> | ||
| 310 | - <td>{{list.jhfcLast1}}</td> | ||
| 311 | - <td>{{list.sjfcLast1}}</td> | ||
| 312 | - <td>{{list.delayLast1}}</td> | 313 | + <td>{{obj.date}}</td> |
| 314 | + <td>{{obj.line}}</td> | ||
| 315 | + <td>{{obj.qdzFirst0}}</td> | ||
| 316 | + <td>{{obj.jhfcFirst0}}</td> | ||
| 317 | + <td>{{obj.sjfcFirst0}}</td> | ||
| 318 | + <td>{{obj.delayFirst0}}</td> | ||
| 319 | + <td>{{obj.qdzLast0}}</td> | ||
| 320 | + <td>{{obj.jhfcLast0}}</td> | ||
| 321 | + <td>{{obj.sjfcLast0}}</td> | ||
| 322 | + <td>{{obj.delayLast0}}</td> | ||
| 323 | + <td>{{obj.qdzFirst1}}</td> | ||
| 324 | + <td>{{obj.jhfcFirst1}}</td> | ||
| 325 | + <td>{{obj.sjfcFirst1}}</td> | ||
| 326 | + <td>{{obj.delayFirst1}}</td> | ||
| 327 | + <td>{{obj.qdzLast1}}</td> | ||
| 328 | + <td>{{obj.jhfcLast1}}</td> | ||
| 329 | + <td>{{obj.sjfcLast1}}</td> | ||
| 330 | + <td>{{obj.delayLast1}}</td> | ||
| 313 | </tr> | 331 | </tr> |
| 332 | + {{/each}} | ||
| 314 | </script> | 333 | </script> |
| 315 | \ No newline at end of file | 334 | \ No newline at end of file |
src/main/resources/static/pages/forms/statement/historyMessage.html
| @@ -46,7 +46,7 @@ | @@ -46,7 +46,7 @@ | ||
| 46 | </form> | 46 | </form> |
| 47 | </div> | 47 | </div> |
| 48 | <div class="portlet-body"> | 48 | <div class="portlet-body"> |
| 49 | - <div class="table-container" style="margin-top: 10px;overflow:auto;min-width: 906px"> | 49 | + <div class="table-container" style="margin-top: 10px;overflow:auto;min-width: 906px;max-height: 520px;"> |
| 50 | <table class="table table-bordered table-hover table-checkable" id="forms"> | 50 | <table class="table table-bordered table-hover table-checkable" id="forms"> |
| 51 | <thead> | 51 | <thead> |
| 52 | <tr class="hidden"> | 52 | <tr class="hidden"> |
src/main/resources/static/pages/forms/statement/scheduleAnaly.html
| @@ -7,7 +7,8 @@ | @@ -7,7 +7,8 @@ | ||
| 7 | .table-bordered > tbody > tr > td, | 7 | .table-bordered > tbody > tr > td, |
| 8 | .table-bordered > tfoot > tr > th, | 8 | .table-bordered > tfoot > tr > th, |
| 9 | .table-bordered > tfoot > tr > td { | 9 | .table-bordered > tfoot > tr > td { |
| 10 | - border: 1px solid; } | 10 | + border: 1px solid; |
| 11 | + text-align: center; } | ||
| 11 | .table-bordered > thead > tr > th, | 12 | .table-bordered > thead > tr > th, |
| 12 | .table-bordered > thead > tr > td { | 13 | .table-bordered > thead > tr > td { |
| 13 | border-bottom-width: 2px; } | 14 | border-bottom-width: 2px; } |
| @@ -39,6 +40,14 @@ | @@ -39,6 +40,14 @@ | ||
| 39 | <span class="item-label" style="width: 80px;">线路: </span> | 40 | <span class="item-label" style="width: 80px;">线路: </span> |
| 40 | <select class="form-control" name="line" id="line" style="width: 160px;"></select> | 41 | <select class="form-control" name="line" id="line" style="width: 160px;"></select> |
| 41 | </div> | 42 | </div> |
| 43 | + <div style="display: inline-block;margin-left: 10px;"> | ||
| 44 | + <span class="item-label" style="width: 80px;">班次类型: </span> | ||
| 45 | + <select class="form-control" name="line" id="bcType" style="width: 160px;"> | ||
| 46 | + <option value="0">全部班次</option> | ||
| 47 | + <option value="1">全程</option> | ||
| 48 | + <option value="2">区间</option> | ||
| 49 | + </select> | ||
| 50 | + </div> | ||
| 42 | <div style="margin-top: 10px"></div> | 51 | <div style="margin-top: 10px"></div> |
| 43 | <div style="display: inline-block;margin-left: 10px;"> | 52 | <div style="display: inline-block;margin-left: 10px;"> |
| 44 | <span class="item-label" style="width: 80px;">开始时间: </span> | 53 | <span class="item-label" style="width: 80px;">开始时间: </span> |
| @@ -54,7 +63,7 @@ | @@ -54,7 +63,7 @@ | ||
| 54 | <option value="">请选择...</option> | 63 | <option value="">请选择...</option> |
| 55 | </select> | 64 | </select> |
| 56 | </div> | 65 | </div> |
| 57 | - <div class="form-group"> | 66 | + <div class="form-group" style="margin-left: 10px"> |
| 58 | <input class="btn btn-default" type="button" id="query" value="筛选"/> | 67 | <input class="btn btn-default" type="button" id="query" value="筛选"/> |
| 59 | <input class="btn btn-default" type="button" id="export" value="导出"/> | 68 | <input class="btn btn-default" type="button" id="export" value="导出"/> |
| 60 | </div> | 69 | </div> |
| @@ -202,6 +211,7 @@ | @@ -202,6 +211,7 @@ | ||
| 202 | var startDate = $("#startDate").val(); | 211 | var startDate = $("#startDate").val(); |
| 203 | var endDate = $("#endDate").val(); | 212 | var endDate = $("#endDate").val(); |
| 204 | var model = $("#model").val(); | 213 | var model = $("#model").val(); |
| 214 | + var bcType = $('#bcType').val(); | ||
| 205 | var company = $("#company").val(); | 215 | var company = $("#company").val(); |
| 206 | var subCompany = $("#subCompany").val(); | 216 | var subCompany = $("#subCompany").val(); |
| 207 | function jsDoQuery(pagination){ | 217 | function jsDoQuery(pagination){ |
| @@ -218,6 +228,7 @@ | @@ -218,6 +228,7 @@ | ||
| 218 | startDate = $("#startDate").val(); | 228 | startDate = $("#startDate").val(); |
| 219 | endDate = $("#endDate").val(); | 229 | endDate = $("#endDate").val(); |
| 220 | model = $("#model").val(); | 230 | model = $("#model").val(); |
| 231 | + bcType = $("#bcType").val(); | ||
| 221 | company = $("#company").val(); | 232 | company = $("#company").val(); |
| 222 | subCompany = $("#subCompany").val(); | 233 | subCompany = $("#subCompany").val(); |
| 223 | params['page'] = page; | 234 | params['page'] = page; |
| @@ -225,6 +236,7 @@ | @@ -225,6 +236,7 @@ | ||
| 225 | params['startDate'] = startDate; | 236 | params['startDate'] = startDate; |
| 226 | params['endDate'] = endDate; | 237 | params['endDate'] = endDate; |
| 227 | params['model'] = model; | 238 | params['model'] = model; |
| 239 | + params['bcType'] = bcType; | ||
| 228 | params['company'] = company; | 240 | params['company'] = company; |
| 229 | params['subCompany'] = subCompany; | 241 | params['subCompany'] = subCompany; |
| 230 | params['type'] = "query"; | 242 | params['type'] = "query"; |
| @@ -274,12 +286,7 @@ | @@ -274,12 +286,7 @@ | ||
| 274 | line = ""; | 286 | line = ""; |
| 275 | updateModel(); | 287 | updateModel(); |
| 276 | }); | 288 | }); |
| 277 | - $('#startDate').on("blur", function(){ | ||
| 278 | - startDate = $("#startDate").val(); | ||
| 279 | - endDate = $("#endDate").val(); | ||
| 280 | - updateModel(); | ||
| 281 | - }); | ||
| 282 | - $('#endDate').on("blur", function(){ | 289 | + $('#startDate, #endDate').on("blur", function(){ |
| 283 | startDate = $("#startDate").val(); | 290 | startDate = $("#startDate").val(); |
| 284 | endDate = $("#endDate").val(); | 291 | endDate = $("#endDate").val(); |
| 285 | updateModel(); | 292 | updateModel(); |
src/main/resources/static/pages/forms/statement/scheduleDaily.html
| @@ -7,7 +7,8 @@ | @@ -7,7 +7,8 @@ | ||
| 7 | .table-bordered > tbody > tr > td, | 7 | .table-bordered > tbody > tr > td, |
| 8 | .table-bordered > tfoot > tr > th, | 8 | .table-bordered > tfoot > tr > th, |
| 9 | .table-bordered > tfoot > tr > td { | 9 | .table-bordered > tfoot > tr > td { |
| 10 | - border: 1px solid; } | 10 | + border: 1px solid; |
| 11 | + text-align: center; } | ||
| 11 | .table-bordered > thead > tr > th, | 12 | .table-bordered > thead > tr > th, |
| 12 | .table-bordered > thead > tr > td { | 13 | .table-bordered > thead > tr > td { |
| 13 | border-bottom-width: 2px; } | 14 | border-bottom-width: 2px; } |
| @@ -19,7 +20,7 @@ | @@ -19,7 +20,7 @@ | ||
| 19 | 20 | ||
| 20 | width: 5px; | 21 | width: 5px; |
| 21 | word-wrap: break-word; | 22 | word-wrap: break-word; |
| 22 | -letter-spacing: 20px; | 23 | +/* letter-spacing: 20px; */ |
| 23 | } | 24 | } |
| 24 | 25 | ||
| 25 | #forms tr> td >label{ | 26 | #forms tr> td >label{ |
src/main/resources/static/pages/forms/statement/waybill.html
| @@ -55,7 +55,7 @@ | @@ -55,7 +55,7 @@ | ||
| 55 | <div class="portlet-body"> | 55 | <div class="portlet-body"> |
| 56 | <div class="row"> | 56 | <div class="row"> |
| 57 | <div class="col-md-3"> | 57 | <div class="col-md-3"> |
| 58 | - <div class="" style="margin-top: 10px;overflow:auto;height: 860px"> | 58 | + <div class="" style="margin-top: 10px;overflow:auto;height: 520px"> |
| 59 | <table class="table table-bordered table-hover table-checkable pre-scrollable" id="info"> | 59 | <table class="table table-bordered table-hover table-checkable pre-scrollable" id="info"> |
| 60 | <thead> | 60 | <thead> |
| 61 | <tr class="hidden"> | 61 | <tr class="hidden"> |
| @@ -71,7 +71,7 @@ | @@ -71,7 +71,7 @@ | ||
| 71 | </div> | 71 | </div> |
| 72 | </div> | 72 | </div> |
| 73 | <div class="col-md-9" id="printArea"> | 73 | <div class="col-md-9" id="printArea"> |
| 74 | - <div class="table-container" style="margin-top: 10px;overflow:auto;min-width: 906px"> | 74 | + <div class="table-container" style="margin-top: 10px;overflow:auto;min-width: 906px;height: 520px"> |
| 75 | <table class="table table-bordered table-checkable" id="forms"> | 75 | <table class="table table-bordered table-checkable" id="forms"> |
| 76 | <tbody class="ludan_1"> | 76 | <tbody class="ludan_1"> |
| 77 | 77 | ||
| @@ -264,6 +264,7 @@ | @@ -264,6 +264,7 @@ | ||
| 264 | jName = params[0].split("\\")[0]; | 264 | jName = params[0].split("\\")[0]; |
| 265 | jGh = params[0].split("\\")[1]; | 265 | jGh = params[0].split("\\")[1]; |
| 266 | var id = params[3]; | 266 | var id = params[3]; |
| 267 | + var obj = $(this); | ||
| 267 | $get('/realSchedule/MapById',{id:id},function(result){ | 268 | $get('/realSchedule/MapById',{id:id},function(result){ |
| 268 | result.scheduleDate = moment(result.scheduleDate).format("YYYY/MM/DD"); | 269 | result.scheduleDate = moment(result.scheduleDate).format("YYYY/MM/DD"); |
| 269 | var ludan_1 = template('ludan_1',result); | 270 | var ludan_1 = template('ludan_1',result); |
| @@ -279,8 +280,11 @@ | @@ -279,8 +280,11 @@ | ||
| 279 | $get('/realSchedule/findKMBC',{jGh:jGh,clZbh:params[1],lpName:params[2],date:date,line:line},function(result){ | 280 | $get('/realSchedule/findKMBC',{jGh:jGh,clZbh:params[1],lpName:params[2],date:date,line:line},function(result){ |
| 280 | var ludan_3 = template('ludan_3',result); | 281 | var ludan_3 = template('ludan_3',result); |
| 281 | $('#forms .ludan_3').html(ludan_3); | 282 | $('#forms .ludan_3').html(ludan_3); |
| 283 | + $("#info tbody tr").css('background-color', ''); | ||
| 284 | + obj.css('background-color', '#99CCFF'); | ||
| 282 | }); | 285 | }); |
| 283 | 286 | ||
| 287 | + | ||
| 284 | }); | 288 | }); |
| 285 | 289 | ||
| 286 | $("#export").on("click",function(){ | 290 | $("#export").on("click",function(){ |
src/main/resources/static/pages/mforms/shifdays/shifday.html
| @@ -104,6 +104,16 @@ $(function(){ | @@ -104,6 +104,16 @@ $(function(){ | ||
| 104 | format : 'YYYY-MM-DD', | 104 | format : 'YYYY-MM-DD', |
| 105 | locale : 'zh-cn' | 105 | locale : 'zh-cn' |
| 106 | }); | 106 | }); |
| 107 | + var d = new Date(); | ||
| 108 | + var year = d.getFullYear(); | ||
| 109 | + var month = d.getMonth() + 1; | ||
| 110 | + var day = d.getDate(); | ||
| 111 | + if(month < 10) | ||
| 112 | + month = "0" + month; | ||
| 113 | + if(day < 10) | ||
| 114 | + day = "0" + day; | ||
| 115 | + $("#date").val(year + "-" + month + "-" + day); | ||
| 116 | + | ||
| 107 | var fage=false; | 117 | var fage=false; |
| 108 | var obj = []; | 118 | var obj = []; |
| 109 | var xlList; | 119 | var xlList; |
| @@ -227,10 +237,14 @@ $(function(){ | @@ -227,10 +237,14 @@ $(function(){ | ||
| 227 | <script type="text/html" id="shifday"> | 237 | <script type="text/html" id="shifday"> |
| 228 | {{each list as obj i}} | 238 | {{each list as obj i}} |
| 229 | <tr> | 239 | <tr> |
| 230 | - <td>{{obj.jName}}</td> | ||
| 231 | - <td>{{obj.sName}}</td> | ||
| 232 | - <td>{{obj.lpName}}</td> | ||
| 233 | - <td>{{obj.carPlate}}</td> | 240 | + {{if obj.jName == '汇总合计'}} |
| 241 | + <td colspan='4'>{{obj.jName}}</td> | ||
| 242 | + {{else}} | ||
| 243 | + <td>{{obj.jName}}</td> | ||
| 244 | + <td>{{obj.sName}}</td> | ||
| 245 | + <td>{{obj.lpName}}</td> | ||
| 246 | + <td>{{obj.carPlate}}</td> | ||
| 247 | + {{/if}} | ||
| 234 | <td>{{obj.jhlc}}</td> | 248 | <td>{{obj.jhlc}}</td> |
| 235 | <td>{{obj.sjjhlc}}</td> | 249 | <td>{{obj.sjjhlc}}</td> |
| 236 | <td>{{obj.yygl}}</td> | 250 | <td>{{obj.yygl}}</td> |
src/main/resources/static/pages/mforms/shiftuehiclemanths/shiftuehiclemanth.html
| 1 | -<style type="text/css"> | ||
| 2 | - .table-bordered { | ||
| 3 | - border: 1px solid; } | ||
| 4 | - .table-bordered > thead > tr > th, | ||
| 5 | - .table-bordered > thead > tr > td, | ||
| 6 | - .table-bordered > tbody > tr > th, | ||
| 7 | - .table-bordered > tbody > tr > td, | ||
| 8 | - .table-bordered > tfoot > tr > th, | ||
| 9 | - .table-bordered > tfoot > tr > td { | ||
| 10 | - border: 1px solid; } | ||
| 11 | - .table-bordered > thead > tr > th, | ||
| 12 | - .table-bordered > thead > tr > td { | ||
| 13 | - border-bottom-width: 2px; | ||
| 14 | - text-align: center; } | ||
| 15 | - | ||
| 16 | - .table > tbody + tbody { | ||
| 17 | - border-top: 1px solid; } | ||
| 18 | -</style> | ||
| 19 | - | ||
| 20 | -<div class="page-head"> | ||
| 21 | - <div class="page-title"> | ||
| 22 | - <h1>班次车辆人员月报表</h1> | ||
| 23 | - </div> | ||
| 24 | -</div> | 1 | +<style type="text/css"> |
| 2 | + .table-bordered { | ||
| 3 | + border: 1px solid; } | ||
| 4 | + .table-bordered > thead > tr > th, | ||
| 5 | + .table-bordered > thead > tr > td, | ||
| 6 | + .table-bordered > tbody > tr > th, | ||
| 7 | + .table-bordered > tbody > tr > td, | ||
| 8 | + .table-bordered > tfoot > tr > th, | ||
| 9 | + .table-bordered > tfoot > tr > td { | ||
| 10 | + border: 1px solid; | ||
| 11 | + text-align: center; } | ||
| 12 | + .table-bordered > thead > tr > th, | ||
| 13 | + .table-bordered > thead > tr > td { | ||
| 14 | + border-bottom-width: 2px; | ||
| 15 | + text-align: center; } | ||
| 16 | + | ||
| 17 | + .table > tbody + tbody { | ||
| 18 | + border-top: 1px solid; } | ||
| 19 | +</style> | ||
| 20 | + | ||
| 21 | +<div class="page-head"> | ||
| 22 | + <div class="page-title"> | ||
| 23 | + <h1>班次车辆人员月报表</h1> | ||
| 24 | + </div> | ||
| 25 | +</div> | ||
| 25 | 26 | ||
| 26 | <div class="row"> | 27 | <div class="row"> |
| 27 | <div class="col-md-12"> | 28 | <div class="col-md-12"> |
| 28 | <div class="portlet light porttlet-fit bordered"> | 29 | <div class="portlet light porttlet-fit bordered"> |
| 29 | <div class="portlet-title"> | 30 | <div class="portlet-title"> |
| 30 | - <form class="form-inline" action=""> | ||
| 31 | - <div style="display: inline-block; margin-left: 33px;" id="gsdmDiv_manth"> | ||
| 32 | - <span class="item-label" style="width: 80px;">公司: </span> | ||
| 33 | - <select class="form-control" name="company" id="gsdmManth" style="width: 140px;"></select> | ||
| 34 | - </div> | ||
| 35 | - <div style="display: inline-block; margin-left: 24px;" id="fgsdmDiv_manth"> | ||
| 36 | - <span class="item-label" style="width: 80px;">分公司: </span> | ||
| 37 | - <select class="form-control" name="subCompany" id="fgsdmManth" style="width: 140px;"></select> | 31 | + <form class="form-inline" action=""> |
| 32 | + <div style="display: inline-block; margin-left: 33px;" id="gsdmDiv_manth"> | ||
| 33 | + <span class="item-label" style="width: 80px;">公司: </span> | ||
| 34 | + <select class="form-control" name="company" id="gsdmManth" style="width: 140px;"></select> | ||
| 35 | + </div> | ||
| 36 | + <div style="display: inline-block; margin-left: 24px;" id="fgsdmDiv_manth"> | ||
| 37 | + <span class="item-label" style="width: 80px;">分公司: </span> | ||
| 38 | + <select class="form-control" name="subCompany" id="fgsdmManth" style="width: 140px;"></select> | ||
| 38 | </div> | 39 | </div> |
| 39 | - <div style="display: inline-block;margin-left: 10px"> | ||
| 40 | - <span class="item-label" style="width: 150px;">线路: </span> | ||
| 41 | - <select class="form-control" name="line" id="line" style="width: 136px;"></select> | ||
| 42 | - </div> | ||
| 43 | - <div style="margin-top: 10px"> | ||
| 44 | - | ||
| 45 | - </div> | ||
| 46 | - <div style="display: inline-block;margin-left: 5px;"> | ||
| 47 | - <span class="item-label" style="width: 80px;">开始时间: </span> | ||
| 48 | - <input class="form-control" type="text" id="startDate" style="width: 140px;"/> | ||
| 49 | - </div> | ||
| 50 | - <div style="display: inline-block;margin-left: 10px;"> | ||
| 51 | - <span class="item-label" style="width: 80px;">结束时间: </span> | ||
| 52 | - <input class="form-control" type="text" id="endDate" style="width: 140px;"/> | ||
| 53 | - </div> | ||
| 54 | - <div style="display: inline-block;margin-left: 10px"> | ||
| 55 | - <span class="item-label" style="width: 80px;">统计: </span> | ||
| 56 | - <select class="form-control" style="width: 136px;" id='empnames'> | ||
| 57 | - <option value="驾驶员">驾驶员</option> | ||
| 58 | - <option value="售票员">售票员</option> | ||
| 59 | - <option value="车辆自编号">车辆自编号</option> | ||
| 60 | - </select> | ||
| 61 | - </div> | ||
| 62 | - <div class="form-group"> | ||
| 63 | - <input class="btn btn-default" type="button" id="query" value="筛选"/> | ||
| 64 | - <input class="btn btn-default" type="button" id="export" value="导出"/> | 40 | + <div style="display: inline-block;margin-left: 10px"> |
| 41 | + <span class="item-label" style="width: 150px;">线路: </span> | ||
| 42 | + <select class="form-control" name="line" id="line" style="width: 136px;"></select> | ||
| 43 | + </div> | ||
| 44 | + <div style="margin-top: 10px"> | ||
| 45 | + | ||
| 46 | + </div> | ||
| 47 | + <div style="display: inline-block;margin-left: 5px;"> | ||
| 48 | + <span class="item-label" style="width: 80px;">开始时间: </span> | ||
| 49 | + <input class="form-control" type="text" id="startDate" style="width: 140px;"/> | ||
| 50 | + </div> | ||
| 51 | + <div style="display: inline-block;margin-left: 10px;"> | ||
| 52 | + <span class="item-label" style="width: 80px;">结束时间: </span> | ||
| 53 | + <input class="form-control" type="text" id="endDate" style="width: 140px;"/> | ||
| 54 | + </div> | ||
| 55 | + <div style="display: inline-block;margin-left: 10px"> | ||
| 56 | + <span class="item-label" style="width: 80px;">统计: </span> | ||
| 57 | + <select class="form-control" style="width: 136px;" id='empnames'> | ||
| 58 | + <option value="驾驶员">驾驶员</option> | ||
| 59 | + <option value="售票员">售票员</option> | ||
| 60 | + <option value="车辆自编号">车辆自编号</option> | ||
| 61 | + </select> | ||
| 62 | + </div> | ||
| 63 | + <div class="form-group"> | ||
| 64 | + <input class="btn btn-default" type="button" id="query" value="筛选"/> | ||
| 65 | + <input class="btn btn-default" type="button" id="export" value="导出"/> | ||
| 65 | </div> | 66 | </div> |
| 66 | </form> | 67 | </form> |
| 67 | </div> | 68 | </div> |
| 68 | <div class="portlet-body"> | 69 | <div class="portlet-body"> |
| 69 | - <div class="table-container" style="margin-top: 10px;overflow:auto;min-width: 906px"> | ||
| 70 | - <table class="table table-bordered table-hover table-checkable" id="forms"> | ||
| 71 | - <thead> | ||
| 72 | - <tr> | ||
| 73 | - <th>序号</th> | ||
| 74 | - <th id='empname'>驾驶员</th> | ||
| 75 | - <th>运营里程</th> | ||
| 76 | - <th>空驶里程</th> | ||
| 77 | - <th>抽减里程</th> | ||
| 78 | - <th>增加里程</th> | ||
| 79 | - <th>总里程</th> | ||
| 80 | - <th>抽减班次</th> | ||
| 81 | - <th>增加班次</th> | ||
| 82 | - <th>实际班次</th> | ||
| 83 | - </tr> | ||
| 84 | - </thead> | ||
| 85 | - <tbody> | ||
| 86 | - | ||
| 87 | - </tbody> | ||
| 88 | - </table> | 70 | + <div class="table-container" style="margin-top: 10px;overflow:auto;min-width: 906px"> |
| 71 | + <table class="table table-bordered table-hover table-checkable" id="forms"> | ||
| 72 | + <thead> | ||
| 73 | + <tr> | ||
| 74 | + <th>序号</th> | ||
| 75 | + <th id='empname'>驾驶员</th> | ||
| 76 | + <th>运营里程</th> | ||
| 77 | + <th>空驶里程</th> | ||
| 78 | + <th>抽减里程</th> | ||
| 79 | + <th>增加里程</th> | ||
| 80 | + <th>总里程</th> | ||
| 81 | + <th>抽减班次</th> | ||
| 82 | + <th>增加班次</th> | ||
| 83 | + <th>实际班次</th> | ||
| 84 | + </tr> | ||
| 85 | + </thead> | ||
| 86 | + <tbody> | ||
| 87 | + | ||
| 88 | + </tbody> | ||
| 89 | + </table> | ||
| 89 | </div> | 90 | </div> |
| 90 | </div> | 91 | </div> |
| 91 | </div> | 92 | </div> |
| @@ -96,156 +97,165 @@ | @@ -96,156 +97,165 @@ | ||
| 96 | $(function(){ | 97 | $(function(){ |
| 97 | // 关闭左侧栏 | 98 | // 关闭左侧栏 |
| 98 | if (!$('body').hasClass('page-sidebar-closed')) | 99 | if (!$('body').hasClass('page-sidebar-closed')) |
| 99 | - $('.menu-toggler.sidebar-toggler').click(); | 100 | + $('.menu-toggler.sidebar-toggler').click(); |
| 100 | 101 | ||
| 101 | $("#startDate,#endDate").datetimepicker({ | 102 | $("#startDate,#endDate").datetimepicker({ |
| 102 | format : 'YYYY-MM-DD', | 103 | format : 'YYYY-MM-DD', |
| 103 | locale : 'zh-cn' | 104 | locale : 'zh-cn' |
| 104 | - }); | ||
| 105 | - var fage=false; | ||
| 106 | - var obj = []; | ||
| 107 | - var xlList; | ||
| 108 | - $.get('/report/lineList',function(result){ | ||
| 109 | - xlList=result; | ||
| 110 | - $.get('/user/companyData', function(result){ | ||
| 111 | - | ||
| 112 | - obj = result; | ||
| 113 | - var options = ''; | ||
| 114 | - for(var i = 0; i < obj.length; i++){ | ||
| 115 | - options += '<option value="'+obj[i].companyCode+'">'+obj[i].companyName+'</option>'; | ||
| 116 | - } | ||
| 117 | - | ||
| 118 | - if(obj.length ==0){ | ||
| 119 | - $("#gsdmDiv_manth").css('display','none'); | ||
| 120 | - $('#fgsdmDiv_manth').css('display','none'); | ||
| 121 | - }else if(obj.length ==1){ | ||
| 122 | - $("#gsdmDiv_manth").css('display','none'); | ||
| 123 | - if(obj[0].children.length == 1 || obj[0].children.length ==0) | ||
| 124 | - $('#fgsdmDiv_manth').css('display','none'); | ||
| 125 | - } | ||
| 126 | - $('#gsdmManth').html(options); | ||
| 127 | - updateCompany(); | ||
| 128 | - }); | ||
| 129 | - }) | ||
| 130 | - $("#gsdmManth").on("change",updateCompany); | ||
| 131 | - function updateCompany(){ | ||
| 132 | - var company = $('#gsdmManth').val(); | ||
| 133 | - var options = ''; | ||
| 134 | - for(var i = 0; i < obj.length; i++){ | ||
| 135 | - if(obj[i].companyCode == company){ | ||
| 136 | - var children = obj[i].children; | ||
| 137 | - for(var j = 0; j < children.length; j++){ | ||
| 138 | - options += '<option value="'+children[j].code+'">'+children[j].name+'</option>'; | ||
| 139 | - } | ||
| 140 | - } | ||
| 141 | - } | ||
| 142 | - $('#fgsdmManth').html(options); | ||
| 143 | - initXl(); | ||
| 144 | - } | ||
| 145 | - $("#fgsdmManth").on("change",initXl); | ||
| 146 | - function initXl(){ | ||
| 147 | - var data=[]; | ||
| 148 | - if(fage){ | ||
| 149 | - $("#line").select2("destroy").html(''); | ||
| 150 | - } | ||
| 151 | - var fgs=$('#fgsdmManth').val(); | ||
| 152 | - var gs=$('#gsdmManth').val(); | ||
| 153 | - for(var i=0;i<xlList.length;i++){ | ||
| 154 | - if(gs!=""){ | ||
| 155 | - if(fgs!=""){ | ||
| 156 | - if(xlList[i]["fgsbm"]==fgs && xlList[i]["gsbm"]==gs){ | ||
| 157 | - data.push({id: xlList[i]["xlbm"], text: xlList[i]["xlname"]}); | ||
| 158 | - } | ||
| 159 | - }else{ | ||
| 160 | - if(xlList[i]["gsbm"]==gs){ | ||
| 161 | - data.push({id: xlList[i]["xlbm"], text: xlList[i]["xlname"]}); | ||
| 162 | - } | ||
| 163 | - } | ||
| 164 | - } | ||
| 165 | - } | ||
| 166 | - initPinYinSelect2('#line',data,''); | ||
| 167 | - fage=true; | ||
| 168 | - } | ||
| 169 | - $("#query").on("click",function(){ | ||
| 170 | - if($("#startDate").val() == null || $("#startDate").val().trim().length == 0){ | ||
| 171 | - layer.msg("请选择时间范围!"); | ||
| 172 | - return; | ||
| 173 | - } | ||
| 174 | - if($("#endDate").val() == null || $("#endDate").val().trim().length == 0){ | ||
| 175 | - layer.msg("请选择时间范围!"); | ||
| 176 | - return; | ||
| 177 | - } | ||
| 178 | - $("#empname").html($("#empnames").val()) | ||
| 179 | - var params={}; | ||
| 180 | - params.empnames=$("#empnames").val(); | ||
| 181 | - params.line = $("#line").val(); | ||
| 182 | - params.startDate = $("#startDate").val(); | ||
| 183 | - params.endDate = $("#endDate").val(); | ||
| 184 | - params.lpName = $("#lpName").val(); | ||
| 185 | - params.gsdmManth= $("#gsdmManth").val(); | ||
| 186 | - params.fgsdmManth= $("#fgsdmManth").val(); | ||
| 187 | - $get("/mcy_forms/shiftuehiclemanth",params,function(result){ | ||
| 188 | - $("#sDate").text(startDate); | ||
| 189 | - $("#eDate").text(endDate); | ||
| 190 | - var temp = {}; | ||
| 191 | - var today_account = 0; | ||
| 192 | - temp["line"] = $("#line").text(); | ||
| 193 | - $.each(result, function(i, obj) { | ||
| 194 | - if(moment(obj.schedule_date_str).format("YYYY-MM-DD") == moment(obj.startDate).format("YYYY-MM-DD")){ | ||
| 195 | - today_account++; | ||
| 196 | - } | ||
| 197 | - obj.updateDate = moment(obj.startDate).format("YYYY-MM-DD HH:mm:ss"); | ||
| 198 | - }); | ||
| 199 | - | ||
| 200 | - var list_shiftuehiclemanth = template('list_shiftuehiclemanth',{list:result}); | ||
| 201 | - // 把渲染好的模版html文本追加到表格中 | ||
| 202 | - $('#forms tbody').html(list_shiftuehiclemanth); | ||
| 203 | - | ||
| 204 | - }); | ||
| 205 | - }); | ||
| 206 | - | ||
| 207 | - $("#export").on("click",function(){ | ||
| 208 | - var params={}; | ||
| 209 | - params.empnames=$("#empnames").val(); | ||
| 210 | - params.line = $("#line").val(); | ||
| 211 | - params.startDate = $("#startDate").val(); | ||
| 212 | - params.endDate = $("#endDate").val(); | ||
| 213 | - params.lpName = $("#lpName").val(); | ||
| 214 | - params.gsdmManth= $("#gsdmManth").val(); | ||
| 215 | - params.fgsdmManth= $("#fgsdmManth").val(); | ||
| 216 | - params.type='export'; | ||
| 217 | - $get('/mcy_export/shiftuehiclemanthExport',params,function(result){ | ||
| 218 | - window.open("/downloadFile/download?fileName=班次车辆人员月报表"+moment($("#startDate").val()).format("YYYYMMDD")); | ||
| 219 | - }); | ||
| 220 | - }); | 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 | + }); | ||
| 221 | 231 | ||
| 222 | - }); | ||
| 223 | - | ||
| 224 | -// $("#empnames").change(function(){ | ||
| 225 | -// $("#empname").html($("#empnames").val()) | ||
| 226 | -// // $("#query").click(); | ||
| 227 | - | ||
| 228 | -// }); | 232 | + }); |
| 233 | + | ||
| 234 | +// $("#empnames").change(function(){ | ||
| 235 | +// $("#empname").html($("#empnames").val()) | ||
| 236 | +// // $("#query").click(); | ||
| 237 | + | ||
| 238 | +// }); | ||
| 229 | 239 | ||
| 230 | </script> | 240 | </script> |
| 231 | <script type="text/html" id="list_shiftuehiclemanth"> | 241 | <script type="text/html" id="list_shiftuehiclemanth"> |
| 232 | {{each list as obj i}} | 242 | {{each list as obj i}} |
| 233 | - <tr> | 243 | + <tr> |
| 234 | <td>{{i+1}}</td> | 244 | <td>{{i+1}}</td> |
| 235 | - <td>{{obj.jName}}</td> | ||
| 236 | - <td>{{obj.jhlc}}</td> | ||
| 237 | - <td>{{obj.emptMileage}}</td> | ||
| 238 | - <td>{{obj.remMileage}}</td> | ||
| 239 | - <td>{{obj.addMileage}}</td> | ||
| 240 | - <td>{{obj.totalm}}</td> | ||
| 241 | - <td>{{obj.cjbc}}</td> | ||
| 242 | - <td>{{obj.ljbc}}</td> | 245 | + <td>{{obj.jName}}</td> |
| 246 | + <td>{{obj.jhlc}}</td> | ||
| 247 | + <td>{{obj.emptMileage}}</td> | ||
| 248 | + <td>{{obj.remMileage}}</td> | ||
| 249 | + <td>{{obj.addMileage}}</td> | ||
| 250 | + <td>{{obj.totalm}}</td> | ||
| 251 | + <td>{{obj.cjbc}}</td> | ||
| 252 | + <td>{{obj.ljbc}}</td> | ||
| 243 | <td>{{obj.sjbc}}</td> | 253 | <td>{{obj.sjbc}}</td> |
| 244 | </tr> | 254 | </tr> |
| 245 | - {{/each}} | ||
| 246 | - {{if list.length == 0}} | ||
| 247 | - <tr> | ||
| 248 | - <td colspan="10"><h6 class="muted">没有找到相关数据</h6></td> | ||
| 249 | - </tr> | 255 | + {{/each}} |
| 256 | + {{if list.length == 0}} | ||
| 257 | + <tr> | ||
| 258 | + <td colspan="10"><h6 class="muted">没有找到相关数据</h6></td> | ||
| 259 | + </tr> | ||
| 250 | {{/if}} | 260 | {{/if}} |
| 251 | </script> | 261 | </script> |
| 252 | \ No newline at end of file | 262 | \ No newline at end of file |
src/main/resources/static/pages/report/oil/oilListMonth.html
| @@ -37,7 +37,7 @@ | @@ -37,7 +37,7 @@ | ||
| 37 | </div> | 37 | </div> |
| 38 | <div class="form-group"> | 38 | <div class="form-group"> |
| 39 | <input class="btn btn-default" type="button" id="query" value="查询"/> | 39 | <input class="btn btn-default" type="button" id="query" value="查询"/> |
| 40 | -<!-- <input class="btn btn-default" type="button" id="export" value="导出"/> --> | 40 | + <input class="btn btn-default" type="button" id="export" value="导出"/> |
| 41 | </div> | 41 | </div> |
| 42 | </form> | 42 | </form> |
| 43 | </div> | 43 | </div> |
| @@ -115,18 +115,36 @@ | @@ -115,18 +115,36 @@ | ||
| 115 | initPinYinSelect2('#line',data,''); | 115 | initPinYinSelect2('#line',data,''); |
| 116 | 116 | ||
| 117 | }) | 117 | }) |
| 118 | + | ||
| 118 | //查询 | 119 | //查询 |
| 119 | $("#query").on('click',function(){ | 120 | $("#query").on('click',function(){ |
| 121 | + if($("#date").val() == null || $("#date").val().trim().length == 0){ | ||
| 122 | + layer.msg("请选择日期!"); | ||
| 123 | + return; | ||
| 124 | + } | ||
| 120 | var line = $("#line").val(); | 125 | var line = $("#line").val(); |
| 121 | var date = $("#date").val(); | 126 | var date = $("#date").val(); |
| 122 | - $get('/ylb/oilListMonth',{line:line,date:date},function(result){ | ||
| 123 | - $.each(result, function(i, obj) { | ||
| 124 | - obj.rq = moment(obj.rq).format("DD"); | ||
| 125 | - }); | 127 | + $get('/ylb/oilListMonth',{line:line,date:date,type:'query'},function(result){ |
| 128 | +// $.each(result, function(i, obj) { | ||
| 129 | +// obj.rq = moment(obj.rq).format("DD"); | ||
| 130 | +// }); | ||
| 126 | var oilListMonth = template('oilListMonth',{list:result}); | 131 | var oilListMonth = template('oilListMonth',{list:result}); |
| 127 | $('#forms tbody').html(oilListMonth); | 132 | $('#forms tbody').html(oilListMonth); |
| 128 | }); | 133 | }); |
| 129 | }); | 134 | }); |
| 135 | + | ||
| 136 | + //导出 | ||
| 137 | + $("#export").on("click",function(){ | ||
| 138 | + if($("#date").val() == null || $("#date").val().trim().length == 0){ | ||
| 139 | + layer.msg("请选择日期!"); | ||
| 140 | + return; | ||
| 141 | + } | ||
| 142 | + var line = $("#line").val(); | ||
| 143 | + var date = $("#date").val(); | ||
| 144 | + $get('/ylb/oilListMonth', {line:line,date:date,type:'export'}, function(result){ | ||
| 145 | + window.open("/downloadFile/download?fileName=月存油报表"+moment(date).format("YYYYMMDD")); | ||
| 146 | + }); | ||
| 147 | + }); | ||
| 130 | }); | 148 | }); |
| 131 | </script> | 149 | </script> |
| 132 | <script type="text/html" id="oilListMonth"> | 150 | <script type="text/html" id="oilListMonth"> |