Commit 8b49554e2abc2165867e93762f2a94b7b147b87f

Authored by 潘钊
2 parents 9a72407f 3f5e029b

Merge branch 'minhang' into qingpu

Showing 64 changed files with 2600 additions and 1206 deletions

Too many changes to show.

To preserve performance only 64 of 147 files are displayed.

src/main/java/com/bsth/controller/forms/ExportController.java
@@ -203,7 +203,7 @@ public class ExportController { @@ -203,7 +203,7 @@ public class ExportController {
203 SimpleDateFormat sdfMonth = new SimpleDateFormat("yyyy-MM-dd"), sdfSimple = new SimpleDateFormat("yyyyMMdd"); 203 SimpleDateFormat sdfMonth = new SimpleDateFormat("yyyy-MM-dd"), sdfSimple = new SimpleDateFormat("yyyyMMdd");
204 List<Iterator<?>> listI = new ArrayList<Iterator<?>>(); 204 List<Iterator<?>> listI = new ArrayList<Iterator<?>>();
205 ReportUtils ee = new ReportUtils(); 205 ReportUtils ee = new ReportUtils();
206 - List<Vehicleloading> vehicleloading = formsService.vehicleloading(map.get("line").toString(), 206 + List<Vehicleloading> vehicleloading = formsService.vehicleloading(/*map.get("gsdmVehic").toString(),map.get("fgsdmVehic").toString(),*/map.get("line").toString(),
207 map.get("date").toString()); 207 map.get("date").toString());
208 List<Map<String, Object>> resList = new ArrayList<Map<String, Object>>(); 208 List<Map<String, Object>> resList = new ArrayList<Map<String, Object>>();
209 int i = 1; 209 int i = 1;
src/main/java/com/bsth/controller/forms/MCY_FormsController.java
@@ -26,93 +26,90 @@ import com.bsth.service.realcontrol.ScheduleRealInfoService; @@ -26,93 +26,90 @@ import com.bsth.service.realcontrol.ScheduleRealInfoService;
26 @RestController 26 @RestController
27 @RequestMapping("mcy_forms") 27 @RequestMapping("mcy_forms")
28 public class MCY_FormsController { 28 public class MCY_FormsController {
29 - 29 +
30 @Autowired 30 @Autowired
31 FormsService formsService; 31 FormsService formsService;
32 - 32 +
33 @Autowired 33 @Autowired
34 ScheduleRealInfoService scheduleRealInfoService; 34 ScheduleRealInfoService scheduleRealInfoService;
35 -  
36 - //行车路单日报表  
37 - @RequestMapping(value = "/waybillday",method = RequestMethod.POST)  
38 - public List<Waybillday> waybillday(@RequestParam Map<String, Object> map){  
39 -  
40 -  
41 -// scheduleRealInfoService.findKMBC(jName, clZbh, lpName, date) 35 +
  36 + // 行车路单日报表
  37 +
  38 + @RequestMapping(value = "/waybillday", method = RequestMethod.POST)
  39 + public List<Waybillday> waybillday(@RequestParam Map<String, Object> map) {
  40 +
  41 + // scheduleRealInfoService.findKMBC(jName, clZbh, lpName, date)
42 return formsService.waybillday(map); 42 return formsService.waybillday(map);
43 } 43 }
44 -  
45 - //线路客流量报表  
46 - @RequestMapping(value = "/linepasswengerflow",method = RequestMethod.POST)  
47 - public List<Linepasswengerflow> linepasswengerflow(@RequestParam Map<String, Object> map){  
48 - 44 +
  45 + // 线路客流量报表
  46 +
  47 + @RequestMapping(value = "/linepasswengerflow", method = RequestMethod.POST)
  48 + public List<Linepasswengerflow> linepasswengerflow(@RequestParam Map<String, Object> map) {
  49 +
49 return formsService.linepasswengerflow(map); 50 return formsService.linepasswengerflow(map);
50 } 51 }
51 -  
52 -  
53 -  
54 - //班次车辆人员月报表  
55 - @RequestMapping(value = "/shiftuehiclemanth",method = RequestMethod.POST)  
56 - public List<Shiftuehiclemanth> shiftuehiclemanth(@RequestParam Map<String, Object> map){  
57 - 52 +
  53 + // 班次车辆人员月报表
  54 + @RequestMapping(value = "/shiftuehiclemanth", method = RequestMethod.POST)
  55 + public List<Shiftuehiclemanth> shiftuehiclemanth(@RequestParam Map<String, Object> map) {
  56 +
58 return formsService.shiftuehiclemanth(map); 57 return formsService.shiftuehiclemanth(map);
59 } 58 }
60 -  
61 -  
62 - //班次车辆人员日统计  
63 - @RequestMapping(value = "/shifday",method = RequestMethod.POST)  
64 - public List<Shifday> shifday(@RequestParam Map<String, Object> map){  
65 - 59 +
  60 + // 班次车辆人员日统计
  61 + @RequestMapping(value = "/shifday", method = RequestMethod.POST)
  62 + public List<Shifday> shifday(@RequestParam Map<String, Object> map) {
  63 +
66 return formsService.shifday(map); 64 return formsService.shifday(map);
67 } 65 }
68 -  
69 - //换人换车情况统计表  
70 - @RequestMapping(value = "/changetochange",method = RequestMethod.POST)  
71 - public List<Changetochange> changetochange(@RequestParam Map<String, Object> map){  
72 - 66 +
  67 + // 换人换车情况统计表
  68 + @RequestMapping(value = "/changetochange", method = RequestMethod.POST)
  69 + public List<Changetochange> changetochange(@RequestParam Map<String, Object> map) {
  70 +
73 return formsService.changetochange(map); 71 return formsService.changetochange(map);
74 } 72 }
75 -  
76 - //路单数据  
77 - @RequestMapping(value = "/singledata",method = RequestMethod.POST)  
78 - public List<Singledata> singledata(@RequestParam Map<String, Object> map){  
79 - 73 +
  74 + // 路单数据
  75 + @RequestMapping(value = "/singledata", method = RequestMethod.POST)
  76 + public List<Singledata> singledata(@RequestParam Map<String, Object> map) {
  77 +
80 return formsService.singledata(map); 78 return formsService.singledata(map);
81 - }  
82 -  
83 - //车辆加注  
84 - @RequestMapping(value = "/vehicleloading",method = RequestMethod.POST)  
85 - public List<Vehicleloading> vehicleloading(@RequestParam String line ,@RequestParam String data){  
86 - return formsService.vehicleloading(line,data);  
87 } 79 }
88 -  
89 -  
90 - //运营服务阶段报表  
91 - @RequestMapping(value = "/operationservice",method = RequestMethod.POST)  
92 - public List<Operationservice> operationservice(@RequestParam Map<String, Object> map){  
93 - 80 +
  81 + // 车辆加注
  82 + @RequestMapping(value = "/vehicleloading", method = RequestMethod.POST)
  83 + public List<Vehicleloading> vehicleloading(/*@RequestParam String gsdmVehic, @RequestParam String fgsdmVehic,*/
  84 + @RequestParam String line, @RequestParam String data) {
  85 + return formsService.vehicleloading(/*gsdmVehic, fgsdmVehic, */line, data);
  86 + }
  87 +
  88 + // 运营服务阶段报表
  89 + @RequestMapping(value = "/operationservice", method = RequestMethod.POST)
  90 + public List<Operationservice> operationservice(@RequestParam Map<String, Object> map) {
  91 +
94 return formsService.operationservice(map); 92 return formsService.operationservice(map);
95 } 93 }
96 -  
97 - //营运线路出车率统计表  
98 - @RequestMapping(value = "/turnoutrate",method = RequestMethod.POST)  
99 - public List<Turnoutrate> turnoutrate(@RequestParam Map<String, Object> map){  
100 -  
101 - return formsService.turnoutrate(map);  
102 - }  
103 -  
104 - //班次执行率统计表  
105 - @RequestMapping(value = "/executionrate",method = RequestMethod.POST)  
106 - public List<Executionrate> executionrate(@RequestParam Map<String, Object> map){  
107 -  
108 - return formsService.executionrate(map);  
109 - }  
110 -  
111 -  
112 - //营运线路名称统计表  
113 - @RequestMapping(value = "/allline",method = RequestMethod.POST)  
114 - public List<Allline> allline(@RequestParam Map<String, Object> map){  
115 -  
116 - return formsService.allline(map); 94 +
  95 + // 营运线路出车率统计表
  96 + @RequestMapping(value = "/turnoutrate", method = RequestMethod.POST)
  97 + public List<Turnoutrate> turnoutrate(@RequestParam Map<String, Object> map) {
  98 +
  99 + return formsService.turnoutrate(map);
  100 + }
  101 +
  102 + // 班次执行率统计表
  103 + @RequestMapping(value = "/executionrate", method = RequestMethod.POST)
  104 + public List<Executionrate> executionrate(@RequestParam Map<String, Object> map) {
  105 +
  106 + return formsService.executionrate(map);
  107 + }
  108 +
  109 + // 营运线路名称统计表
  110 + @RequestMapping(value = "/allline", method = RequestMethod.POST)
  111 + public List<Allline> allline(@RequestParam Map<String, Object> map) {
  112 +
  113 + return formsService.allline(map);
117 } 114 }
118 } 115 }
src/main/java/com/bsth/controller/schedule/BController.java 0 → 100644
  1 +package com.bsth.controller.schedule;
  2 +
  3 +import com.bsth.common.Constants;
  4 +import com.bsth.common.ResponseCode;
  5 +import com.bsth.entity.schedule.BEntity;
  6 +import com.bsth.entity.sys.SysUser;
  7 +import com.bsth.service.schedule.BService;
  8 +import com.bsth.service.schedule.ScheduleException;
  9 +import com.bsth.service.sys.SysUserService;
  10 +import com.google.common.base.Splitter;
  11 +import org.springframework.beans.factory.annotation.Autowired;
  12 +import org.springframework.data.domain.PageRequest;
  13 +import org.springframework.data.domain.Sort;
  14 +import org.springframework.web.bind.annotation.*;
  15 +
  16 +import javax.servlet.http.HttpSession;
  17 +import java.io.Serializable;
  18 +import java.util.*;
  19 +
  20 +/**
  21 + * 基础控制器。
  22 + */
  23 +public class BController<T, ID extends Serializable> {
  24 + @Autowired
  25 + protected BService<T, ID> bService;
  26 + @Autowired
  27 + private SysUserService sysUserService;
  28 +
  29 + // CRUD 操作
  30 + // Create操作
  31 + @RequestMapping(method = RequestMethod.POST)
  32 + public Map<String, Object> save(@RequestBody T t, HttpSession httpSession) {
  33 + // 判定T是否是BEntity的子类,增加新的字段
  34 + String userName = String.valueOf(httpSession.getAttribute(Constants.SESSION_USERNAME));
  35 + SysUser sysUser = sysUserService.findByUserName(userName);
  36 + BEntity t_b = null;
  37 + if (t instanceof BEntity) {
  38 + t_b = (BEntity) t;
  39 + t_b.setCreateBy(sysUser);
  40 + t_b.setCreateDate(new Date());
  41 + }
  42 +
  43 + T t_saved = bService.save((T) t_b);
  44 + Map<String, Object> rtn = new HashMap<>();
  45 + rtn.put("status", ResponseCode.SUCCESS);
  46 + rtn.put("data", t_saved);
  47 + return rtn;
  48 + }
  49 + // Update操作
  50 + @RequestMapping(value="/{id}", method = RequestMethod.POST)
  51 + public Map<String, Object> update(@RequestBody T t, HttpSession httpSession) {
  52 + String userName = String.valueOf(httpSession.getAttribute(Constants.SESSION_USERNAME));
  53 + SysUser sysUser = sysUserService.findByUserName(userName);
  54 + BEntity t_b = null;
  55 + if (t instanceof BEntity) {
  56 + t_b = (BEntity) t;
  57 + t_b.setUpdateBy(sysUser);
  58 + t_b.setUpdateDate(new Date());
  59 + }
  60 +
  61 + T t_updated = bService.save((T) t_b);
  62 + Map<String, Object> rtn = new HashMap<>();
  63 + rtn.put("status", ResponseCode.SUCCESS);
  64 + rtn.put("data", t_updated);
  65 + return rtn;
  66 + }
  67 + // Research操作
  68 + @RequestMapping(value = "/{id}", method = RequestMethod.GET)
  69 + public Map<String, Object> findById(@PathVariable("id") ID id) {
  70 + T t = bService.findById(id);
  71 + Map<String, Object> rtn = new HashMap<>();
  72 + rtn.put("status", ResponseCode.SUCCESS);
  73 + rtn.put("data", t);
  74 + return rtn;
  75 + }
  76 + @RequestMapping(value = "/all", method = RequestMethod.GET)
  77 + public Map<String, Object> list(@RequestParam Map<String, Object> param) {
  78 + List<T> tList = bService.list(param);
  79 + Map<String, Object> rtn = new HashMap<>();
  80 + rtn.put("status", ResponseCode.SUCCESS);
  81 + rtn.put("data", tList);
  82 + return rtn;
  83 + }
  84 + @RequestMapping(method = RequestMethod.GET)
  85 + public Map<String, Object> list(
  86 + @RequestParam Map<String, Object> map,
  87 + @RequestParam(defaultValue = "0") int page,
  88 + @RequestParam(defaultValue = "10") int size,
  89 + @RequestParam(defaultValue = "id") String order,
  90 + @RequestParam(defaultValue = "DESC") String direction) {
  91 + // 允许多个字段排序,order可以写单个字段,也可以写多个字段
  92 + // 多个字段格式:{col1},{col2},{col3},....,{coln}
  93 + List<String> order_columns = Splitter.on(",").trimResults().splitToList(order);
  94 + // 多字段排序:DESC,ASC...
  95 + List<String> order_dirs = Splitter.on(",").trimResults().splitToList(direction);
  96 +
  97 + Map<String, Object> rtn = new HashMap<>();
  98 +
  99 + if (order_dirs.size() == 1) { // 所有字段采用一种排序
  100 + rtn.put("status", ResponseCode.SUCCESS);
  101 + if (order_dirs.get(0).equals("ASC")) {
  102 + rtn.put("data", bService.list(map, new PageRequest(page, size, new Sort(Sort.Direction.ASC, order_columns))));
  103 + } else {
  104 + rtn.put("data", bService.list(map, new PageRequest(page, size, new Sort(Sort.Direction.DESC, order_columns))));
  105 + }
  106 + } else if (order_columns.size() == order_dirs.size()) {
  107 + List<Sort.Order> orderList = new ArrayList<>();
  108 + for (int i = 0; i < order_columns.size(); i++) {
  109 + if (null != order_dirs.get(i) && order_dirs.get(i).equals("ASC")) {
  110 + orderList.add(new Sort.Order(Sort.Direction.ASC, order_columns.get(i)));
  111 + } else {
  112 + orderList.add(new Sort.Order(Sort.Direction.DESC, order_columns.get(i)));
  113 + }
  114 + }
  115 + rtn.put("status", ResponseCode.SUCCESS);
  116 + rtn.put("data", bService.list(map, new PageRequest(page, size, new Sort(orderList))));
  117 + } else {
  118 + throw new RuntimeException("多字段排序参数格式问题,排序顺序和字段数不一致");
  119 + }
  120 +
  121 + return rtn;
  122 +
  123 + }
  124 +
  125 + // Delete操作
  126 + @RequestMapping(value = "/{id}", method = RequestMethod.DELETE)
  127 + public Map<String, Object> delete(@PathVariable("id") ID id, HttpSession httpSession) {
  128 + Map<String, Object> rtn = new HashMap<>();
  129 + try {
  130 + // 由于种种原因,这里不保存用户和操作时间了
  131 + bService.delete(id);
  132 + rtn.put("status", ResponseCode.SUCCESS);
  133 + } catch (ScheduleException exp) {
  134 + rtn.put("status", ResponseCode.ERROR);
  135 + rtn.put("msg", exp.getMessage());
  136 + }
  137 +
  138 + return rtn;
  139 + }
  140 +
  141 +}
src/main/java/com/bsth/controller/schedule/CarConfigInfoController.java deleted 100644 → 0
1 -package com.bsth.controller.schedule;  
2 -  
3 -import com.bsth.controller.BaseController;  
4 -import com.bsth.entity.schedule.CarConfigInfo;  
5 -import com.bsth.repository.schedule.CarConfigInfoRepository;  
6 -import com.bsth.service.schedule.utils.DataToolsProperties;  
7 -import org.springframework.beans.factory.annotation.Autowired;  
8 -import org.springframework.boot.context.properties.EnableConfigurationProperties;  
9 -import org.springframework.web.bind.annotation.*;  
10 -  
11 -import java.util.List;  
12 -import java.util.Map;  
13 -  
14 -/**  
15 - * Created by xu on 16/5/9.  
16 - */  
17 -@RestController  
18 -@RequestMapping("cci")  
19 -@EnableConfigurationProperties(DataToolsProperties.class)  
20 -public class CarConfigInfoController extends BaseController<CarConfigInfo, Long> {  
21 - @Autowired  
22 - private DataToolsProperties dataToolsProperties;  
23 - @Autowired  
24 - private CarConfigInfoRepository carConfigInfoRepository;  
25 -  
26 - @Override  
27 - protected String getDataImportKtrClasspath() {  
28 - return dataToolsProperties.getCarsconfigDatainputktr();  
29 - }  
30 -  
31 - @Override  
32 - public CarConfigInfo findById(@PathVariable("id") Long aLong) {  
33 - return carConfigInfoRepository.findOneExtend(aLong);  
34 - }  
35 -  
36 - /**  
37 - * 覆写方法,因为form提交的方式参数不全,改用 json形式提交 @RequestBody  
38 - * @Title: save  
39 - * @Description: TODO(持久化对象)  
40 - * @param @param t  
41 - * @param @return 设定文件  
42 - * @return Map<String,Object> {status: 1(成功),-1(失败)}  
43 - * @throws  
44 - */  
45 - @RequestMapping(method = RequestMethod.POST)  
46 - public Map<String, Object> save(@RequestBody CarConfigInfo t){  
47 - return baseService.save(t);  
48 - }  
49 -  
50 - @RequestMapping(value = "/cars", method = RequestMethod.GET)  
51 - public List<Map<String, Object>> findCarConfigCars() {  
52 - return carConfigInfoRepository.findCarConfigCars();  
53 - }  
54 -  
55 - @RequestMapping(value = "/cars2", method = RequestMethod.GET)  
56 - public List<Map<String, Object>> findCarsFromConfig() {  
57 - return carConfigInfoRepository.findCarsFromConfig();  
58 - }  
59 -}  
src/main/java/com/bsth/controller/schedule/EmployeeConfigInfoController.java deleted 100644 → 0
1 -package com.bsth.controller.schedule;  
2 -  
3 -import com.bsth.controller.BaseController;  
4 -import com.bsth.entity.schedule.EmployeeConfigInfo;  
5 -import com.bsth.repository.schedule.EmployeeConfigInfoRepository;  
6 -import com.bsth.service.schedule.utils.DataToolsProperties;  
7 -import org.springframework.beans.factory.annotation.Autowired;  
8 -import org.springframework.boot.context.properties.EnableConfigurationProperties;  
9 -import org.springframework.web.bind.annotation.*;  
10 -  
11 -import java.util.List;  
12 -import java.util.Map;  
13 -  
14 -/**  
15 - * Created by xu on 16/5/10.  
16 - */  
17 -@RestController  
18 -@RequestMapping("eci")  
19 -@EnableConfigurationProperties(DataToolsProperties.class)  
20 -public class EmployeeConfigInfoController extends BaseController<EmployeeConfigInfo, Long> {  
21 - @Autowired  
22 - private DataToolsProperties dataToolsProperties;  
23 - @Autowired  
24 - private EmployeeConfigInfoRepository employeeConfigInfoRepository;  
25 -  
26 - @Override  
27 - protected String getDataImportKtrClasspath() {  
28 - return dataToolsProperties.getEmployeesconfigDatainputktr();  
29 - }  
30 -  
31 - @Override  
32 - public EmployeeConfigInfo findById(@PathVariable("id") Long aLong) {  
33 - return employeeConfigInfoRepository.findOneExtend(aLong);  
34 - }  
35 -  
36 - /**  
37 - * 覆写方法,因为form提交的方式参数不全,改用 json形式提交 @RequestBody  
38 - * @Title: save  
39 - * @Description: TODO(持久化对象)  
40 - * @param @param t  
41 - * @param @return 设定文件  
42 - * @return Map<String,Object> {status: 1(成功),-1(失败)}  
43 - * @throws  
44 - */  
45 - @RequestMapping(method = RequestMethod.POST)  
46 - public Map<String, Object> save(@RequestBody EmployeeConfigInfo t){  
47 - return baseService.save(t);  
48 - }  
49 -  
50 - @RequestMapping(value = "/jsy", method = RequestMethod.GET)  
51 - public List<Map<String, Object>> findJsyFromConfig() {  
52 - return employeeConfigInfoRepository.findJsyFromConfig();  
53 - }  
54 -  
55 - @RequestMapping(value = "/spy", method = RequestMethod.GET)  
56 - public List<Map<String, Object>> findSpyFromConfig() {  
57 - return employeeConfigInfoRepository.findSpyFromConfig();  
58 - }  
59 -}  
src/main/java/com/bsth/controller/schedule/GuideboardInfoController.java deleted 100644 → 0
1 -package com.bsth.controller.schedule;  
2 -  
3 -import com.bsth.controller.BaseController;  
4 -import com.bsth.entity.schedule.GuideboardInfo;  
5 -import com.bsth.repository.schedule.GuideboardInfoRepository;  
6 -import com.bsth.service.schedule.utils.DataToolsProperties;  
7 -import org.springframework.beans.factory.annotation.Autowired;  
8 -import org.springframework.boot.context.properties.EnableConfigurationProperties;  
9 -import org.springframework.web.bind.annotation.PathVariable;  
10 -import org.springframework.web.bind.annotation.RequestMapping;  
11 -import org.springframework.web.bind.annotation.RequestMethod;  
12 -import org.springframework.web.bind.annotation.RestController;  
13 -  
14 -import java.util.List;  
15 -import java.util.Map;  
16 -  
17 -/**  
18 - * Created by xu on 16/5/11.  
19 - */  
20 -@RestController  
21 -@RequestMapping("gic")  
22 -@EnableConfigurationProperties(DataToolsProperties.class)  
23 -public class GuideboardInfoController extends BaseController<GuideboardInfo, Long> {  
24 - @Autowired  
25 - private DataToolsProperties dataToolsProperties;  
26 - @Autowired  
27 - private GuideboardInfoRepository guideboardInfoRepository;  
28 -  
29 - @Override  
30 - protected String getDataImportKtrClasspath() {  
31 - return dataToolsProperties.getGuideboardsDatainputktr();  
32 - }  
33 -  
34 - @Override  
35 - public GuideboardInfo findById(@PathVariable("id") Long aLong) {  
36 - return guideboardInfoRepository.findOneExtend(aLong);  
37 - }  
38 -  
39 -  
40 - @RequestMapping(value = "/ttlpnames", method = RequestMethod.GET)  
41 - public List<Map<String, Object>> findLpName(Long ttid) {  
42 - return guideboardInfoRepository.findLpName(ttid);  
43 - }  
44 -}  
src/main/java/com/bsth/controller/schedule/basicinfo/CarsController.java 0 → 100644
  1 +package com.bsth.controller.schedule.basicinfo;
  2 +
  3 +import com.bsth.common.ResponseCode;
  4 +import com.bsth.controller.schedule.BController;
  5 +import com.bsth.entity.Cars;
  6 +import com.bsth.service.schedule.CarsService;
  7 +import com.bsth.service.schedule.ScheduleException;
  8 +import org.springframework.beans.factory.annotation.Autowired;
  9 +import org.springframework.web.bind.annotation.RequestMapping;
  10 +import org.springframework.web.bind.annotation.RequestMethod;
  11 +import org.springframework.web.bind.annotation.RequestParam;
  12 +import org.springframework.web.bind.annotation.RestController;
  13 +
  14 +import java.util.HashMap;
  15 +import java.util.Map;
  16 +
  17 +/**
  18 + * 车辆基础信息controller
  19 + */
  20 +@RestController(value = "carsController_sc")
  21 +@RequestMapping("cars_sc")
  22 +public class CarsController extends BController<Cars, Integer> {
  23 + @Autowired
  24 + private CarsService carsService;
  25 +
  26 + @RequestMapping(value = "/validate_zbh", method = RequestMethod.GET)
  27 + public Map<String, Object> validate_zbh(@RequestParam Map<String, Object> param) {
  28 + Map<String, Object> rtn = new HashMap<>();
  29 + try {
  30 + // 自编号验证
  31 + Cars cars = new Cars(
  32 + param.get("id_eq"),
  33 + param.get("insideCode_eq"),
  34 + null,
  35 + null,
  36 + null);
  37 + carsService.validate_nbbh(cars);
  38 + rtn.put("status", ResponseCode.SUCCESS);
  39 + } catch (ScheduleException exp) {
  40 + rtn.put("status", ResponseCode.ERROR);
  41 + rtn.put("msg", exp.getMessage());
  42 + }
  43 + return rtn;
  44 + }
  45 +
  46 + @RequestMapping(value = "/validate_clbh", method = RequestMethod.GET)
  47 + public Map<String, Object> validate_clbh(@RequestParam Map<String, Object> param) {
  48 + Map<String, Object> rtn = new HashMap<>();
  49 + try {
  50 + // 车辆编号验证
  51 + Cars cars = new Cars(
  52 + param.get("id_eq"),
  53 + null,
  54 + param.get("carCode_eq"),
  55 + null,
  56 + null);
  57 + carsService.validate_clbh(cars);
  58 + rtn.put("status", ResponseCode.SUCCESS);
  59 + } catch (ScheduleException exp) {
  60 + rtn.put("status", ResponseCode.ERROR);
  61 + rtn.put("msg", exp.getMessage());
  62 + }
  63 + return rtn;
  64 + }
  65 +
  66 + @RequestMapping(value = "/validate_cph", method = RequestMethod.GET)
  67 + public Map<String, Object> validate_cph(@RequestParam Map<String, Object> param) {
  68 + Map<String, Object> rtn = new HashMap<>();
  69 + try {
  70 + // 车牌号验证
  71 + Cars cars = new Cars(
  72 + param.get("id_eq"),
  73 + null,
  74 + null,
  75 + param.get("carPlate_eq"),
  76 + null);
  77 + carsService.validate_cph(cars);
  78 + rtn.put("status", ResponseCode.SUCCESS);
  79 + } catch (ScheduleException exp) {
  80 + rtn.put("status", ResponseCode.ERROR);
  81 + rtn.put("msg", exp.getMessage());
  82 + }
  83 + return rtn;
  84 + }
  85 +
  86 + @RequestMapping(value = "/validate_sbbh", method = RequestMethod.GET)
  87 + public Map<String, Object> validate_sbbh(@RequestParam Map<String, Object> param) {
  88 + Map<String, Object> rtn = new HashMap<>();
  89 + try {
  90 + // 设备编号验证
  91 + Cars cars = new Cars(
  92 + param.get("id_eq"),
  93 + null,
  94 + null,
  95 + null,
  96 + param.get("equipmentCode_eq")
  97 + );
  98 + carsService.validate_sbbh(cars);
  99 + rtn.put("status", ResponseCode.SUCCESS);
  100 + } catch (ScheduleException exp) {
  101 + rtn.put("status", ResponseCode.ERROR);
  102 + rtn.put("msg", exp.getMessage());
  103 + }
  104 + return rtn;
  105 + }
  106 +}
src/main/java/com/bsth/controller/schedule/core/CarConfigInfoController.java 0 → 100644
  1 +package com.bsth.controller.schedule.core;
  2 +
  3 +import com.bsth.common.ResponseCode;
  4 +import com.bsth.controller.schedule.BController;
  5 +import com.bsth.entity.schedule.CarConfigInfo;
  6 +import com.bsth.repository.schedule.CarConfigInfoRepository;
  7 +import com.bsth.service.schedule.CarConfigInfoService;
  8 +import com.bsth.service.schedule.ScheduleException;
  9 +import org.springframework.beans.factory.annotation.Autowired;
  10 +import org.springframework.web.bind.annotation.RequestMapping;
  11 +import org.springframework.web.bind.annotation.RequestMethod;
  12 +import org.springframework.web.bind.annotation.RequestParam;
  13 +import org.springframework.web.bind.annotation.RestController;
  14 +
  15 +import java.util.HashMap;
  16 +import java.util.List;
  17 +import java.util.Map;
  18 +
  19 +/**
  20 + * Created by xu on 16/5/9.
  21 + */
  22 +@RestController
  23 +@RequestMapping("cci")
  24 +public class CarConfigInfoController extends BController<CarConfigInfo, Long> {
  25 + @Autowired
  26 + private CarConfigInfoRepository carConfigInfoRepository;
  27 + @Autowired
  28 + private CarConfigInfoService carConfigInfoService;
  29 +
  30 +
  31 + @RequestMapping(value = "/cars", method = RequestMethod.GET)
  32 + public List<Map<String, Object>> findCarConfigCars() {
  33 + return carConfigInfoRepository.findCarConfigCars();
  34 + }
  35 +
  36 + @RequestMapping(value = "/cars2", method = RequestMethod.GET)
  37 + public List<Map<String, Object>> findCarsFromConfig() {
  38 + return carConfigInfoRepository.findCarsFromConfig();
  39 + }
  40 +
  41 + @RequestMapping(value = "/validate_cars", method = RequestMethod.GET)
  42 + public Map<String, Object> validate_cars(@RequestParam Map<String, Object> param) {
  43 + Map<String, Object> rtn = new HashMap<>();
  44 + try {
  45 + // 车辆重复配置验证
  46 + CarConfigInfo carConfigInfo = new CarConfigInfo(
  47 + param.get("id_eq"),
  48 + param.get("xl.id_eq"),
  49 + param.get("xl.name_eq"),
  50 + param.get("cl.id_eq")
  51 + );
  52 + carConfigInfoService.validate_cars(carConfigInfo);
  53 + rtn.put("status", ResponseCode.SUCCESS);
  54 + } catch (ScheduleException exp) {
  55 + rtn.put("status", ResponseCode.ERROR);
  56 + rtn.put("msg", exp.getMessage());
  57 + }
  58 +
  59 + return rtn;
  60 + }
  61 +}
src/main/java/com/bsth/controller/schedule/core/EmployeeConfigInfoController.java 0 → 100644
  1 +package com.bsth.controller.schedule.core;
  2 +
  3 +import com.bsth.common.ResponseCode;
  4 +import com.bsth.controller.schedule.BController;
  5 +import com.bsth.entity.schedule.EmployeeConfigInfo;
  6 +import com.bsth.repository.schedule.EmployeeConfigInfoRepository;
  7 +import com.bsth.service.schedule.EmployeeConfigInfoService;
  8 +import com.bsth.service.schedule.ScheduleException;
  9 +import org.springframework.beans.factory.annotation.Autowired;
  10 +import org.springframework.web.bind.annotation.RequestMapping;
  11 +import org.springframework.web.bind.annotation.RequestMethod;
  12 +import org.springframework.web.bind.annotation.RequestParam;
  13 +import org.springframework.web.bind.annotation.RestController;
  14 +
  15 +import java.util.HashMap;
  16 +import java.util.List;
  17 +import java.util.Map;
  18 +
  19 +/**
  20 + * Created by xu on 16/5/10.
  21 + */
  22 +@RestController
  23 +@RequestMapping("eci")
  24 +public class EmployeeConfigInfoController extends BController<EmployeeConfigInfo, Long> {
  25 + @Autowired
  26 + private EmployeeConfigInfoRepository employeeConfigInfoRepository;
  27 + @Autowired
  28 + private EmployeeConfigInfoService employeeConfigInfoService;
  29 +
  30 + @RequestMapping(value = "/jsy", method = RequestMethod.GET)
  31 + public List<Map<String, Object>> findJsyFromConfig() {
  32 + return employeeConfigInfoRepository.findJsyFromConfig();
  33 + }
  34 +
  35 + @RequestMapping(value = "/spy", method = RequestMethod.GET)
  36 + public List<Map<String, Object>> findSpyFromConfig() {
  37 + return employeeConfigInfoRepository.findSpyFromConfig();
  38 + }
  39 +
  40 +
  41 +
  42 + @RequestMapping(value = "/validate_jsy", method = RequestMethod.GET)
  43 + public Map<String, Object> validate_jsy(@RequestParam Map<String, Object> param) {
  44 + Map<String, Object> rtn = new HashMap<>();
  45 + try {
  46 + EmployeeConfigInfo employeeConfigInfo = new EmployeeConfigInfo(
  47 + param.get("id_eq"),
  48 + param.get("xl.id_eq"),
  49 + param.get("xl.name_eq"),
  50 + param.get("jsy.id_eq"),
  51 + null
  52 + );
  53 + employeeConfigInfoService.validate_jsy(employeeConfigInfo);
  54 + rtn.put("status", ResponseCode.SUCCESS);
  55 + } catch (ScheduleException exp) {
  56 + rtn.put("status", ResponseCode.ERROR);
  57 + rtn.put("msg", exp.getMessage());
  58 + }
  59 +
  60 + return rtn;
  61 + }
  62 +
  63 + @RequestMapping(value = "/validate_spy", method = RequestMethod.GET)
  64 + public Map<String, Object> validate_spy(@RequestParam Map<String, Object> param) {
  65 + Map<String, Object> rtn = new HashMap<>();
  66 + try {
  67 + EmployeeConfigInfo employeeConfigInfo = new EmployeeConfigInfo(
  68 + param.get("id_eq"),
  69 + param.get("xl.id_eq"),
  70 + param.get("xl.name_eq"),
  71 + null,
  72 + param.get("spy.id_eq")
  73 + );
  74 + employeeConfigInfoService.validate_spy(employeeConfigInfo);
  75 + rtn.put("status", ResponseCode.SUCCESS);
  76 + } catch (ScheduleException exp) {
  77 + rtn.put("status", ResponseCode.ERROR);
  78 + rtn.put("msg", exp.getMessage());
  79 + }
  80 + return rtn;
  81 + }
  82 +}
src/main/java/com/bsth/controller/schedule/core/GuideboardInfoController.java 0 → 100644
  1 +package com.bsth.controller.schedule.core;
  2 +
  3 +import com.bsth.common.ResponseCode;
  4 +import com.bsth.controller.schedule.BController;
  5 +import com.bsth.entity.schedule.GuideboardInfo;
  6 +import com.bsth.repository.schedule.GuideboardInfoRepository;
  7 +import com.bsth.service.schedule.GuideboardInfoService;
  8 +import com.bsth.service.schedule.ScheduleException;
  9 +import com.bsth.service.schedule.utils.DataToolsProperties;
  10 +import org.springframework.beans.factory.annotation.Autowired;
  11 +import org.springframework.boot.context.properties.EnableConfigurationProperties;
  12 +import org.springframework.web.bind.annotation.RequestMapping;
  13 +import org.springframework.web.bind.annotation.RequestMethod;
  14 +import org.springframework.web.bind.annotation.RequestParam;
  15 +import org.springframework.web.bind.annotation.RestController;
  16 +
  17 +import java.util.HashMap;
  18 +import java.util.List;
  19 +import java.util.Map;
  20 +
  21 +/**
  22 + * 路牌管理控制器。
  23 + */
  24 +@RestController
  25 +@RequestMapping("gic")
  26 +@EnableConfigurationProperties(DataToolsProperties.class)
  27 +public class GuideboardInfoController extends BController<GuideboardInfo, Long> {
  28 + @Autowired
  29 + private GuideboardInfoService guideboardInfoService;
  30 +// @Autowired
  31 +// private DataToolsProperties dataToolsProperties;
  32 + @Autowired
  33 + private GuideboardInfoRepository guideboardInfoRepository;
  34 +//
  35 +// @Override
  36 +// protected String getDataImportKtrClasspath() {
  37 +// return dataToolsProperties.getGuideboardsDatainputktr();
  38 +// }
  39 +//
  40 +// @Override
  41 +// public GuideboardInfo findById(@PathVariable("id") Long aLong) {
  42 +// return guideboardInfoRepository.findOneExtend(aLong);
  43 +// }
  44 +//
  45 +//
  46 + @RequestMapping(value = "/ttlpnames", method = RequestMethod.GET)
  47 + public List<Map<String, Object>> findLpName(Long ttid) {
  48 + return guideboardInfoRepository.findLpName(ttid);
  49 + }
  50 +
  51 + @RequestMapping(value = "/validate1", method = RequestMethod.GET)
  52 + public Map<String, Object> validate1(@RequestParam Map<String, Object> param) {
  53 + Map<String, Object> rtn = new HashMap<>();
  54 + try {
  55 + // 路牌编号验证
  56 + GuideboardInfo guideboardInfo = new GuideboardInfo(
  57 + param.get("id_eq"),
  58 + param.get("xl.id_eq"),
  59 + param.get("lpNo_eq"),
  60 + null
  61 + );
  62 + guideboardInfoService.validate(guideboardInfo);
  63 + rtn.put("status", ResponseCode.SUCCESS);
  64 + } catch (ScheduleException exp) {
  65 + rtn.put("status", ResponseCode.ERROR);
  66 + rtn.put("msg", exp.getMessage());
  67 + }
  68 + return rtn;
  69 + }
  70 +
  71 + @RequestMapping(value = "/validate2", method = RequestMethod.GET)
  72 + public Map<String, Object> validate2(@RequestParam Map<String, Object> param) {
  73 + Map<String, Object> rtn = new HashMap<>();
  74 + try {
  75 + // 路牌名称验证
  76 + GuideboardInfo guideboardInfo = new GuideboardInfo(
  77 + param.get("id_eq"),
  78 + param.get("xl.id_eq"),
  79 + null,
  80 + param.get("lpName_eq")
  81 + );
  82 + guideboardInfoService.validate(guideboardInfo);
  83 + rtn.put("status", ResponseCode.SUCCESS);
  84 + } catch (ScheduleException exp) {
  85 + rtn.put("status", ResponseCode.ERROR);
  86 + rtn.put("msg", exp.getMessage());
  87 + }
  88 + return rtn;
  89 + }
  90 +}
src/main/java/com/bsth/data/forecast/ForecastRealServer.java
1 package com.bsth.data.forecast; 1 package com.bsth.data.forecast;
2 2
3 -import java.text.DecimalFormat;  
4 -import java.util.ArrayList;  
5 -import java.util.HashMap;  
6 -import java.util.List;  
7 -import java.util.Map;  
8 -import java.util.concurrent.TimeUnit;  
9 -  
10 -import org.slf4j.Logger;  
11 -import org.slf4j.LoggerFactory;  
12 -import org.springframework.beans.factory.annotation.Autowired;  
13 -import org.springframework.boot.CommandLineRunner;  
14 -import org.springframework.stereotype.Component;  
15 -  
16 -import com.bsth.Application;  
17 import com.bsth.data.forecast.entity.ForecastResult; 3 import com.bsth.data.forecast.entity.ForecastResult;
18 import com.bsth.data.forecast.entity.ForecastResult.ForecastResultItem; 4 import com.bsth.data.forecast.entity.ForecastResult.ForecastResultItem;
19 import com.bsth.data.forecast.entity.SimpleRoute; 5 import com.bsth.data.forecast.entity.SimpleRoute;
@@ -23,6 +9,17 @@ import com.bsth.data.gpsdata.GpsRealData; @@ -23,6 +9,17 @@ import com.bsth.data.gpsdata.GpsRealData;
23 import com.bsth.data.schedule.DayOfSchedule; 9 import com.bsth.data.schedule.DayOfSchedule;
24 import com.bsth.entity.realcontrol.ScheduleRealInfo; 10 import com.bsth.entity.realcontrol.ScheduleRealInfo;
25 import com.google.common.collect.ArrayListMultimap; 11 import com.google.common.collect.ArrayListMultimap;
  12 +import org.slf4j.Logger;
  13 +import org.slf4j.LoggerFactory;
  14 +import org.springframework.beans.factory.annotation.Autowired;
  15 +import org.springframework.boot.CommandLineRunner;
  16 +import org.springframework.stereotype.Component;
  17 +
  18 +import java.text.DecimalFormat;
  19 +import java.util.ArrayList;
  20 +import java.util.HashMap;
  21 +import java.util.List;
  22 +import java.util.Map;
26 23
27 /** 24 /**
28 * 25 *
@@ -61,7 +58,7 @@ public class ForecastRealServer implements CommandLineRunner { @@ -61,7 +58,7 @@ public class ForecastRealServer implements CommandLineRunner {
61 @Override 58 @Override
62 public void run(String... arg0) throws Exception { 59 public void run(String... arg0) throws Exception {
63 //2小时更新一次站点间耗时数据 60 //2小时更新一次站点间耗时数据
64 -// Application.mainServices.scheduleWithFixedDelay(dataLoader, 12, 120 * 60, TimeUnit.SECONDS); 61 + //Application.mainServices.scheduleWithFixedDelay(dataLoader, 12, 120 * 60, TimeUnit.SECONDS);
65 } 62 }
66 63
67 /** 64 /**
src/main/java/com/bsth/data/schedule/SchAttrCalculator.java
@@ -3,6 +3,7 @@ package com.bsth.data.schedule; @@ -3,6 +3,7 @@ package com.bsth.data.schedule;
3 import com.bsth.data.LineConfigData; 3 import com.bsth.data.LineConfigData;
4 import com.bsth.entity.realcontrol.LineConfig; 4 import com.bsth.entity.realcontrol.LineConfig;
5 import com.bsth.entity.realcontrol.ScheduleRealInfo; 5 import com.bsth.entity.realcontrol.ScheduleRealInfo;
  6 +import org.apache.commons.lang3.StringUtils;
6 import org.joda.time.format.DateTimeFormat; 7 import org.joda.time.format.DateTimeFormat;
7 import org.joda.time.format.DateTimeFormatter; 8 import org.joda.time.format.DateTimeFormatter;
8 import org.slf4j.Logger; 9 import org.slf4j.Logger;
@@ -115,8 +116,11 @@ public class SchAttrCalculator { @@ -115,8 +116,11 @@ public class SchAttrCalculator {
115 ScheduleRealInfo prve = list.get(0), curr; 116 ScheduleRealInfo prve = list.get(0), curr;
116 for(int i = 1; i < len; i ++){ 117 for(int i = 1; i < len; i ++){
117 curr = list.get(i); 118 curr = list.get(i);
118 - if(prve.getZdzName().equals(curr.getQdzName())) 119 + if(prve.getZdzName().equals(curr.getQdzName())){
119 curr.setQdzArrDateJH(prve.getZdsj()); 120 curr.setQdzArrDateJH(prve.getZdsj());
  121 + if(StringUtils.isNotEmpty(prve.getZdsjActual()) && StringUtils.isEmpty(curr.getQdzArrDatesj()))
  122 + curr.setQdzArrDatesj(prve.getZdsjActual());
  123 + }
120 124
121 prve = curr; 125 prve = curr;
122 } 126 }
src/main/java/com/bsth/entity/Cars.java
1 package com.bsth.entity; 1 package com.bsth.entity;
2 2
3 import com.bsth.entity.sys.SysUser; 3 import com.bsth.entity.sys.SysUser;
  4 +import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
4 5
5 import javax.persistence.*; 6 import javax.persistence.*;
6 import java.io.Serializable; 7 import java.io.Serializable;
@@ -22,6 +23,7 @@ import java.util.Date; @@ -22,6 +23,7 @@ import java.util.Date;
22 23
23 @Entity 24 @Entity
24 @Table(name = "bsth_c_cars") 25 @Table(name = "bsth_c_cars")
  26 +@JsonIgnoreProperties(value={"hibernateLazyInitializer","handler","fieldHandler"})
25 public class Cars implements Serializable { 27 public class Cars implements Serializable {
26 28
27 /** 主键Id */ 29 /** 主键Id */
@@ -30,7 +32,7 @@ public class Cars implements Serializable { @@ -30,7 +32,7 @@ public class Cars implements Serializable {
30 private Integer id; 32 private Integer id;
31 33
32 /** 自编号/内部编号 */ 34 /** 自编号/内部编号 */
33 - @Column(nullable = false, length = 8, unique = true) 35 + @Column(nullable = false, length = 20, unique = true)
34 private String insideCode; 36 private String insideCode;
35 37
36 // 公司、分公司暂时不用关联实体 38 // 公司、分公司暂时不用关联实体
@@ -150,6 +152,26 @@ public class Cars implements Serializable { @@ -150,6 +152,26 @@ public class Cars implements Serializable {
150 /** 修改日期 */ 152 /** 修改日期 */
151 @Column(name = "update_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP") 153 @Column(name = "update_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP")
152 private Date updateDate; 154 private Date updateDate;
  155 +
  156 + public Cars() {}
  157 +
  158 + public Cars(Object id, Object nbbh, Object clbh, Object cph, Object sbbh) {
  159 + if (id != null) {
  160 + this.id = Integer.valueOf(id.toString());
  161 + }
  162 + if (nbbh != null) {
  163 + this.insideCode = nbbh.toString();
  164 + }
  165 + if (clbh != null) {
  166 + this.carCode = clbh.toString();
  167 + }
  168 + if (cph != null) {
  169 + this.carPlate = cph.toString();
  170 + }
  171 + if (sbbh != null) {
  172 + this.equipmentCode = sbbh.toString();
  173 + }
  174 + }
153 175
154 public String getServiceNo() { 176 public String getServiceNo() {
155 return serviceNo; 177 return serviceNo;
src/main/java/com/bsth/entity/Line.java
1 package com.bsth.entity; 1 package com.bsth.entity;
2 2
  3 +import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
3 import org.springframework.format.annotation.DateTimeFormat; 4 import org.springframework.format.annotation.DateTimeFormat;
4 5
5 import javax.persistence.*; 6 import javax.persistence.*;
@@ -23,6 +24,7 @@ import java.util.Date; @@ -23,6 +24,7 @@ import java.util.Date;
23 24
24 @Entity 25 @Entity
25 @Table(name = "bsth_c_line") 26 @Table(name = "bsth_c_line")
  27 +@JsonIgnoreProperties(value={"hibernateLazyInitializer","handler","fieldHandler"})
26 public class Line implements Serializable { 28 public class Line implements Serializable {
27 29
28 @Id 30 @Id
src/main/java/com/bsth/entity/Personnel.java
1 package com.bsth.entity; 1 package com.bsth.entity;
2 2
3 import com.bsth.entity.sys.SysUser; 3 import com.bsth.entity.sys.SysUser;
  4 +import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
4 5
5 import javax.persistence.*; 6 import javax.persistence.*;
6 import java.util.Date; 7 import java.util.Date;
@@ -21,6 +22,7 @@ import java.util.Date; @@ -21,6 +22,7 @@ import java.util.Date;
21 22
22 @Entity 23 @Entity
23 @Table(name = "bsth_c_personnel") 24 @Table(name = "bsth_c_personnel")
  25 +@JsonIgnoreProperties(value={"hibernateLazyInitializer","handler","fieldHandler"})
24 public class Personnel { 26 public class Personnel {
25 27
26 /** 主键Id */ 28 /** 主键Id */
src/main/java/com/bsth/entity/mcy_forms/Operationservice.java
@@ -13,6 +13,26 @@ public class Operationservice { @@ -13,6 +13,26 @@ public class Operationservice {
13 private String emptMileage;//空驶里程 13 private String emptMileage;//空驶里程
14 14
15 private String sjbc;//实际班次 15 private String sjbc;//实际班次
  16 +
  17 + private String jname;
  18 +
  19 + private String clzbh;
  20 +
  21 + public String getJname() {
  22 + return jname;
  23 + }
  24 +
  25 + public void setJname(String jname) {
  26 + this.jname = jname;
  27 + }
  28 +
  29 + public String getClzbh() {
  30 + return clzbh;
  31 + }
  32 +
  33 + public void setClzbh(String clzbh) {
  34 + this.clzbh = clzbh;
  35 + }
16 36
17 public String getXlName() { 37 public String getXlName() {
18 return xlName; 38 return xlName;
src/main/java/com/bsth/entity/mcy_forms/Shifday.java
@@ -34,7 +34,36 @@ public class Shifday { @@ -34,7 +34,36 @@ public class Shifday {
34 34
35 private String sjbc;//实际班次 35 private String sjbc;//实际班次
36 36
  37 + private String jgh;
37 38
  39 + private String zbh;
  40 +
  41 + private String rq;
  42 +
  43 + public String getRq() {
  44 + return rq;
  45 + }
  46 +
  47 + public void setRq(String rq) {
  48 + this.rq = rq;
  49 + }
  50 +
  51 + public String getJgh() {
  52 + return jgh;
  53 + }
  54 +
  55 + public void setJgh(String jgh) {
  56 + this.jgh = jgh;
  57 + }
  58 +
  59 + public String getZbh() {
  60 + return zbh;
  61 + }
  62 +
  63 + public void setZbh(String zbh) {
  64 + this.zbh = zbh;
  65 + }
  66 +
38 public String getJhlc() { 67 public String getJhlc() {
39 return jhlc; 68 return jhlc;
40 } 69 }
src/main/java/com/bsth/entity/mcy_forms/Shiftuehiclemanth.java
@@ -20,7 +20,24 @@ public class Shiftuehiclemanth { @@ -20,7 +20,24 @@ public class Shiftuehiclemanth {
20 20
21 private String sjbc;//实际班次 21 private String sjbc;//实际班次
22 22
23 - 23 + private String jgh;
  24 + private String zbh;
  25 + public String getJgh() {
  26 + return jgh;
  27 + }
  28 +
  29 + public void setJgh(String jgh) {
  30 + this.jgh = jgh;
  31 + }
  32 +
  33 + public String getZbh() {
  34 + return zbh;
  35 + }
  36 +
  37 + public void setZbh(String zbh) {
  38 + this.zbh = zbh;
  39 + }
  40 +
24 public String getCjbc() { 41 public String getCjbc() {
25 return cjbc; 42 return cjbc;
26 } 43 }
src/main/java/com/bsth/entity/mcy_forms/Vehicleloading.java
@@ -24,6 +24,26 @@ public class Vehicleloading { @@ -24,6 +24,26 @@ public class Vehicleloading {
24 24
25 private String sjbc;//实际班次 25 private String sjbc;//实际班次
26 26
  27 + private String jgh;//驾驶员工号
  28 +
  29 + private String zbh;//车辆自编号
  30 +
  31 + public String getJgh() {
  32 + return jgh;
  33 + }
  34 +
  35 + public void setJgh(String jgh) {
  36 + this.jgh = jgh;
  37 + }
  38 +
  39 + public String getZbh() {
  40 + return zbh;
  41 + }
  42 +
  43 + public void setZbh(String zbh) {
  44 + this.zbh = zbh;
  45 + }
  46 +
27 public String getLs() { 47 public String getLs() {
28 return ls; 48 return ls;
29 } 49 }
src/main/java/com/bsth/entity/mcy_forms/Waybillday.java
@@ -20,9 +20,29 @@ public class Waybillday { @@ -20,9 +20,29 @@ public class Waybillday {
20 20
21 private String zlc;//里程 21 private String zlc;//里程
22 22
  23 + public String getJgh() {
  24 + return jgh;
  25 + }
  26 +
  27 + public void setJgh(String jgh) {
  28 + this.jgh = jgh;
  29 + }
  30 +
  31 + public String getRq() {
  32 + return rq;
  33 + }
  34 +
  35 + public void setRq(String rq) {
  36 + this.rq = rq;
  37 + }
  38 +
23 private String yl;//用油 39 private String yl;//用油
24 40
25 private String nbbm;//机油 41 private String nbbm;//机油
  42 +
  43 + private String jgh;//员工号
  44 +
  45 + private String rq;//日期
26 46
27 public String getCarPlate() { 47 public String getCarPlate() {
28 return carPlate; 48 return carPlate;
src/main/java/com/bsth/entity/realcontrol/ScheduleRealInfo.java
@@ -163,7 +163,7 @@ public class ScheduleRealInfo { @@ -163,7 +163,7 @@ public class ScheduleRealInfo {
163 private String qdzArrDatesj; 163 private String qdzArrDatesj;
164 164
165 /** 子任务 */ 165 /** 子任务 */
166 - @OneToMany(fetch = FetchType.LAZY/*, cascade = CascadeType.ALL*/) 166 + @OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
167 private Set<ChildTaskPlan> cTasks = new HashSet<>(); 167 private Set<ChildTaskPlan> cTasks = new HashSet<>();
168 168
169 /** 关联的公司名称 */ 169 /** 关联的公司名称 */
src/main/java/com/bsth/entity/schedule/BEntity.java 0 → 100644
  1 +package com.bsth.entity.schedule;
  2 +
  3 +import com.bsth.entity.sys.SysUser;
  4 +
  5 +import javax.persistence.*;
  6 +import java.util.Date;
  7 +
  8 +/**
  9 + * Created by xu on 16/12/14.
  10 + */
  11 +@MappedSuperclass
  12 +public class BEntity {
  13 +
  14 + /** 创建人 */
  15 + @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.PERSIST)
  16 + private SysUser createBy;
  17 + /** 修改人 */
  18 + @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.PERSIST)
  19 + private SysUser updateBy;
  20 +
  21 + /** 创建日期 */
  22 + @Column(updatable = false, name = "create_date")
  23 + private Date createDate;
  24 + /** 修改日期 */
  25 + @Column(name = "update_date")
  26 + private Date updateDate;
  27 +
  28 + public SysUser getCreateBy() {
  29 + return createBy;
  30 + }
  31 +
  32 + public void setCreateBy(SysUser createBy) {
  33 + this.createBy = createBy;
  34 + }
  35 +
  36 + public SysUser getUpdateBy() {
  37 + return updateBy;
  38 + }
  39 +
  40 + public void setUpdateBy(SysUser updateBy) {
  41 + this.updateBy = updateBy;
  42 + }
  43 +
  44 + public Date getCreateDate() {
  45 + return createDate;
  46 + }
  47 +
  48 + public void setCreateDate(Date createDate) {
  49 + this.createDate = createDate;
  50 + }
  51 +
  52 + public Date getUpdateDate() {
  53 + return updateDate;
  54 + }
  55 +
  56 + public void setUpdateDate(Date updateDate) {
  57 + this.updateDate = updateDate;
  58 + }
  59 +}
src/main/java/com/bsth/entity/schedule/CarConfigInfo.java
@@ -2,7 +2,7 @@ package com.bsth.entity.schedule; @@ -2,7 +2,7 @@ package com.bsth.entity.schedule;
2 2
3 import com.bsth.entity.Cars; 3 import com.bsth.entity.Cars;
4 import com.bsth.entity.Line; 4 import com.bsth.entity.Line;
5 -import com.bsth.entity.sys.SysUser; 5 +import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
6 6
7 import javax.persistence.*; 7 import javax.persistence.*;
8 import java.io.Serializable; 8 import java.io.Serializable;
@@ -19,7 +19,8 @@ import java.util.Date; @@ -19,7 +19,8 @@ import java.util.Date;
19 @NamedAttributeNode("cl") 19 @NamedAttributeNode("cl")
20 }) 20 })
21 }) 21 })
22 -public class CarConfigInfo implements Serializable { 22 +@JsonIgnoreProperties(value={"hibernateLazyInitializer","handler","fieldHandler"})
  23 +public class CarConfigInfo extends BEntity implements Serializable {
23 24
24 /** 主健Id */ 25 /** 主健Id */
25 @Id 26 @Id
@@ -57,19 +58,24 @@ public class CarConfigInfo implements Serializable { @@ -57,19 +58,24 @@ public class CarConfigInfo implements Serializable {
57 @Column(nullable = false) 58 @Column(nullable = false)
58 private Boolean isCancel = false; 59 private Boolean isCancel = false;
59 60
60 - /** 创建人 */  
61 - @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.PERSIST)  
62 - private SysUser createBy;  
63 - /** 修改人 */  
64 - @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.PERSIST)  
65 - private SysUser updateBy; 61 + public CarConfigInfo() {}
  62 + public CarConfigInfo(Object id, Object xlid, Object xlname, Object clid) {
  63 + if (id != null) {
  64 + this.id = Long.parseLong(id.toString());
  65 + }
  66 + if (xlid != null && xlname != null) {
  67 + Line line = new Line();
  68 + line.setId(Integer.valueOf(xlid.toString()));
  69 + line.setName(xlname.toString());
  70 + this.xl = line;
  71 + }
  72 + if (clid != null) {
  73 + Cars cars = new Cars();
  74 + cars.setId(Integer.valueOf(clid.toString()));
  75 + this.cl = cars;
  76 + }
66 77
67 - /** 创建日期 */  
68 - @Column(updatable = false, name = "create_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP")  
69 - private Date createDate;  
70 - /** 修改日期 */  
71 - @Column(name = "update_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP")  
72 - private Date updateDate; 78 + }
73 79
74 public Long getId() { 80 public Long getId() {
75 return id; 81 return id;
@@ -143,38 +149,6 @@ public class CarConfigInfo implements Serializable { @@ -143,38 +149,6 @@ public class CarConfigInfo implements Serializable {
143 this.isSwitch = isSwitch; 149 this.isSwitch = isSwitch;
144 } 150 }
145 151
146 - public SysUser getCreateBy() {  
147 - return createBy;  
148 - }  
149 -  
150 - public void setCreateBy(SysUser createBy) {  
151 - this.createBy = createBy;  
152 - }  
153 -  
154 - public SysUser getUpdateBy() {  
155 - return updateBy;  
156 - }  
157 -  
158 - public void setUpdateBy(SysUser updateBy) {  
159 - this.updateBy = updateBy;  
160 - }  
161 -  
162 - public Date getCreateDate() {  
163 - return createDate;  
164 - }  
165 -  
166 - public void setCreateDate(Date createDate) {  
167 - this.createDate = createDate;  
168 - }  
169 -  
170 - public Date getUpdateDate() {  
171 - return updateDate;  
172 - }  
173 -  
174 - public void setUpdateDate(Date updateDate) {  
175 - this.updateDate = updateDate;  
176 - }  
177 -  
178 public Boolean getIsCancel() { 152 public Boolean getIsCancel() {
179 return isCancel; 153 return isCancel;
180 } 154 }
src/main/java/com/bsth/entity/schedule/EmployeeConfigInfo.java
@@ -3,12 +3,12 @@ package com.bsth.entity.schedule; @@ -3,12 +3,12 @@ package com.bsth.entity.schedule;
3 import com.bsth.entity.Cars; 3 import com.bsth.entity.Cars;
4 import com.bsth.entity.Line; 4 import com.bsth.entity.Line;
5 import com.bsth.entity.Personnel; 5 import com.bsth.entity.Personnel;
6 -import com.bsth.entity.sys.SysUser; 6 +import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
7 import org.hibernate.annotations.Formula; 7 import org.hibernate.annotations.Formula;
8 8
9 import javax.persistence.*; 9 import javax.persistence.*;
10 import javax.validation.constraints.NotNull; 10 import javax.validation.constraints.NotNull;
11 -import java.util.Date; 11 +import java.io.Serializable;
12 12
13 /** 13 /**
14 * 人员配置信息。 14 * 人员配置信息。
@@ -22,7 +22,8 @@ import java.util.Date; @@ -22,7 +22,8 @@ import java.util.Date;
22 @NamedAttributeNode("xl") 22 @NamedAttributeNode("xl")
23 }) 23 })
24 }) 24 })
25 -public class EmployeeConfigInfo { 25 +@JsonIgnoreProperties(value={"hibernateLazyInitializer","handler","fieldHandler"})
  26 +public class EmployeeConfigInfo extends BEntity implements Serializable {
26 27
27 /** 主键Id */ 28 /** 主键Id */
28 @Id 29 @Id
@@ -53,19 +54,29 @@ public class EmployeeConfigInfo { @@ -53,19 +54,29 @@ public class EmployeeConfigInfo {
53 @Column(nullable = false) 54 @Column(nullable = false)
54 private Boolean isCancel = false; 55 private Boolean isCancel = false;
55 56
56 - /** 创建人 */  
57 - @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.PERSIST)  
58 - private SysUser createBy;  
59 - /** 修改人 */  
60 - @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.PERSIST)  
61 - private SysUser updateBy;  
62 -  
63 - /** 创建日期 */  
64 - @Column(updatable = false, name = "create_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP")  
65 - private Date createDate;  
66 - /** 修改日期 */  
67 - @Column(name = "update_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP")  
68 - private Date updateDate; 57 + public EmployeeConfigInfo() {}
  58 +
  59 + public EmployeeConfigInfo(Object id, Object xlid, Object xlname, Object jsyid, Object spyid) {
  60 + if (id != null) {
  61 + this.id = Long.parseLong(id.toString());
  62 + }
  63 + if (xlid != null && xlname != null) {
  64 + Line line = new Line();
  65 + line.setId(Integer.valueOf(xlid.toString()));
  66 + line.setName(xlname.toString());
  67 + this.xl = line;
  68 + }
  69 + if (jsyid != null) {
  70 + Personnel personnel = new Personnel();
  71 + personnel.setId(Integer.valueOf(jsyid.toString()));
  72 + this.jsy = personnel;
  73 + }
  74 + if (spyid != null) {
  75 + Personnel personnel = new Personnel();
  76 + personnel.setId(Integer.valueOf(spyid.toString()));
  77 + this.spy = personnel;
  78 + }
  79 + }
69 80
70 public Long getId() { 81 public Long getId() {
71 return id; 82 return id;
@@ -130,36 +141,4 @@ public class EmployeeConfigInfo { @@ -130,36 +141,4 @@ public class EmployeeConfigInfo {
130 public void setIsCancel(Boolean isCancel) { 141 public void setIsCancel(Boolean isCancel) {
131 this.isCancel = isCancel; 142 this.isCancel = isCancel;
132 } 143 }
133 -  
134 - public SysUser getCreateBy() {  
135 - return createBy;  
136 - }  
137 -  
138 - public void setCreateBy(SysUser createBy) {  
139 - this.createBy = createBy;  
140 - }  
141 -  
142 - public SysUser getUpdateBy() {  
143 - return updateBy;  
144 - }  
145 -  
146 - public void setUpdateBy(SysUser updateBy) {  
147 - this.updateBy = updateBy;  
148 - }  
149 -  
150 - public Date getCreateDate() {  
151 - return createDate;  
152 - }  
153 -  
154 - public void setCreateDate(Date createDate) {  
155 - this.createDate = createDate;  
156 - }  
157 -  
158 - public Date getUpdateDate() {  
159 - return updateDate;  
160 - }  
161 -  
162 - public void setUpdateDate(Date updateDate) {  
163 - this.updateDate = updateDate;  
164 - }  
165 } 144 }
src/main/java/com/bsth/entity/schedule/GuideboardInfo.java
@@ -2,9 +2,9 @@ package com.bsth.entity.schedule; @@ -2,9 +2,9 @@ package com.bsth.entity.schedule;
2 2
3 import com.bsth.entity.Line; 3 import com.bsth.entity.Line;
4 import com.bsth.entity.sys.SysUser; 4 import com.bsth.entity.sys.SysUser;
  5 +import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
5 6
6 import javax.persistence.*; 7 import javax.persistence.*;
7 -import javax.persistence.Table;  
8 import java.util.Date; 8 import java.util.Date;
9 9
10 /** 10 /**
@@ -17,6 +17,7 @@ import java.util.Date; @@ -17,6 +17,7 @@ import java.util.Date;
17 @NamedAttributeNode("xl") 17 @NamedAttributeNode("xl")
18 }) 18 })
19 }) 19 })
  20 +@JsonIgnoreProperties(value={"hibernateLazyInitializer","handler","fieldHandler"})
20 public class GuideboardInfo { 21 public class GuideboardInfo {
21 22
22 /** 主键Id */ 23 /** 主键Id */
@@ -38,6 +39,10 @@ public class GuideboardInfo { @@ -38,6 +39,10 @@ public class GuideboardInfo {
38 @Column(nullable = false) 39 @Column(nullable = false)
39 private String lpType; 40 private String lpType;
40 41
  42 + /** 是否删除(标记) */
  43 + @Column(nullable = false)
  44 + private Boolean isCancel = false;
  45 +
41 /** 创建人 */ 46 /** 创建人 */
42 @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.PERSIST) 47 @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.PERSIST)
43 private SysUser createBy; 48 private SysUser createBy;
@@ -53,6 +58,34 @@ public class GuideboardInfo { @@ -53,6 +58,34 @@ public class GuideboardInfo {
53 private Date updateDate; 58 private Date updateDate;
54 59
55 60
  61 + public GuideboardInfo() {}
  62 +
  63 + public GuideboardInfo(Object id, Object xlid, Object lpNo, Object lpName) {
  64 + if (id != null) {
  65 + this.id = Long.parseLong(id.toString());
  66 + }
  67 +
  68 + Integer xlid_ = xlid == null ? null : Integer.valueOf(xlid.toString());
  69 + Integer lpNo_ = lpNo == null ? null : Integer.valueOf(lpNo.toString());
  70 + String lpName_ = lpName == null ? null : String.valueOf(lpName);
  71 +
  72 + if (xlid_ != null) {
  73 + Line line = new Line();
  74 + line.setId(xlid_);
  75 + this.xl = line;
  76 + }
  77 +
  78 + this.lpNo = lpNo_;
  79 + this.lpName = lpName_;
  80 + }
  81 +
  82 + public GuideboardInfo(Object id, Integer xlid, Integer lpNo) {
  83 + this(id, xlid, lpNo, null);
  84 + }
  85 + public GuideboardInfo(Object id, Integer xlid, String lpName) {
  86 + this(id, xlid, null, lpName);
  87 + }
  88 +
56 public Long getId() { 89 public Long getId() {
57 return id; 90 return id;
58 } 91 }
@@ -124,4 +157,12 @@ public class GuideboardInfo { @@ -124,4 +157,12 @@ public class GuideboardInfo {
124 public void setUpdateDate(Date updateDate) { 157 public void setUpdateDate(Date updateDate) {
125 this.updateDate = updateDate; 158 this.updateDate = updateDate;
126 } 159 }
  160 +
  161 + public Boolean getIsCancel() {
  162 + return isCancel;
  163 + }
  164 +
  165 + public void setIsCancel(Boolean isCancel) {
  166 + this.isCancel = isCancel;
  167 + }
127 } 168 }
src/main/java/com/bsth/entity/schedule/SchedulePlanInfo.java
@@ -163,8 +163,10 @@ public class SchedulePlanInfo { @@ -163,8 +163,10 @@ public class SchedulePlanInfo {
163 163
164 // TODO:关联的公司名称 164 // TODO:关联的公司名称
165 // TODO:关联的公司编码 165 // TODO:关联的公司编码
  166 + this.gsBm = xl.getCompany();
166 // TODO:关联的分公司名称 167 // TODO:关联的分公司名称
167 // TODO:关联的分公司编码 168 // TODO:关联的分公司编码
  169 + this.fgsBm = xl.getBrancheCompany();
168 // TODO:关联的出场顺序号 170 // TODO:关联的出场顺序号
169 171
170 // 关联的排班计划 172 // 关联的排班计划
src/main/java/com/bsth/entity/sys/SysUser.java
1 package com.bsth.entity.sys; 1 package com.bsth.entity.sys;
2 2
  3 +import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
  4 +
  5 +import javax.persistence.*;
3 import java.util.Date; 6 import java.util.Date;
4 import java.util.LinkedHashSet; 7 import java.util.LinkedHashSet;
5 import java.util.Set; 8 import java.util.Set;
6 9
7 -import javax.persistence.Column;  
8 -import javax.persistence.Entity;  
9 -import javax.persistence.FetchType;  
10 -import javax.persistence.GeneratedValue;  
11 -import javax.persistence.GenerationType;  
12 -import javax.persistence.Id;  
13 -import javax.persistence.ManyToMany;  
14 -import javax.persistence.Table;  
15 -  
16 @Entity 10 @Entity
17 @Table(name = "bsth_c_sys_user") 11 @Table(name = "bsth_c_sys_user")
  12 +@JsonIgnoreProperties(value={"hibernateLazyInitializer","handler","fieldHandler"})
18 public class SysUser { 13 public class SysUser {
19 14
20 @Id 15 @Id
src/main/java/com/bsth/repository/realcontrol/ScheduleRealInfoRepository.java
@@ -85,6 +85,9 @@ public interface ScheduleRealInfoRepository extends BaseRepository&lt;ScheduleRealI @@ -85,6 +85,9 @@ public interface ScheduleRealInfoRepository extends BaseRepository&lt;ScheduleRealI
85 @Query(value="select s from ScheduleRealInfo s where s.jGh = ?1 and s.clZbh = ?2 and s.scheduleDate = str_to_date(?3,'%Y-%m-%d') order by bcs") 85 @Query(value="select s from ScheduleRealInfo s where s.jGh = ?1 and s.clZbh = ?2 and s.scheduleDate = str_to_date(?3,'%Y-%m-%d') order by bcs")
86 List<ScheduleRealInfo> queryListWaybill3(String jName,String clZbh,String date); 86 List<ScheduleRealInfo> queryListWaybill3(String jName,String clZbh,String date);
87 87
  88 + @Query(value="select s from ScheduleRealInfo s where s.jName = ?1 and s.clZbh = ?2 and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') between str_to_date(?3,'%Y-%m-%d') and str_to_date(?4,'%Y-%m-%d') order by bcs")
  89 + List<ScheduleRealInfo> queryListWaybill4(String jName,String clZbh,String date,String enddate);
  90 +
88 @Query(value="select s from ScheduleRealInfo s where s.xlBm = ?1 and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?2") 91 @Query(value="select s from ScheduleRealInfo s where s.xlBm = ?1 and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?2")
89 List<ScheduleRealInfo> scheduleDaily(String line,String date); 92 List<ScheduleRealInfo> scheduleDaily(String line,String date);
90 93
@@ -118,4 +121,5 @@ public interface ScheduleRealInfoRepository extends BaseRepository&lt;ScheduleRealI @@ -118,4 +121,5 @@ public interface ScheduleRealInfoRepository extends BaseRepository&lt;ScheduleRealI
118 121
119 @Query(value="select s from ScheduleRealInfo s where DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?1 GROUP BY xlBm ORDER BY xlBm") 122 @Query(value="select s from ScheduleRealInfo s where DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?1 GROUP BY xlBm ORDER BY xlBm")
120 List<ScheduleRealInfo> setDDRBGroup(String date); 123 List<ScheduleRealInfo> setDDRBGroup(String date);
  124 +
121 } 125 }
src/main/java/com/bsth/service/forms/FormsService.java
@@ -30,7 +30,7 @@ public interface FormsService { @@ -30,7 +30,7 @@ public interface FormsService {
30 30
31 public List<Singledata> singledata(Map<String, Object> map); 31 public List<Singledata> singledata(Map<String, Object> map);
32 32
33 - public List<Vehicleloading> vehicleloading(String line,String data); 33 + public List<Vehicleloading> vehicleloading(/*String gsdmVehic,String fgsdmVehic,*/String line,String data);
34 34
35 public List<Operationservice> operationservice(Map<String, Object> map); 35 public List<Operationservice> operationservice(Map<String, Object> map);
36 36
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;  
4 -import java.math.MathContext;  
5 -import java.math.RoundingMode;  
6 import java.sql.ResultSet; 3 import java.sql.ResultSet;
7 import java.sql.SQLException; 4 import java.sql.SQLException;
8 import java.text.NumberFormat; 5 import java.text.NumberFormat;
9 import java.text.ParseException; 6 import java.text.ParseException;
10 import java.text.SimpleDateFormat; 7 import java.text.SimpleDateFormat;
11 -import java.util.ArrayList;  
12 import java.util.Date; 8 import java.util.Date;
13 import java.util.HashMap; 9 import java.util.HashMap;
14 import java.util.List; 10 import java.util.List;
@@ -32,8 +28,6 @@ import com.bsth.entity.mcy_forms.Changetochange; @@ -32,8 +28,6 @@ import com.bsth.entity.mcy_forms.Changetochange;
32 import com.bsth.entity.mcy_forms.Executionrate; 28 import com.bsth.entity.mcy_forms.Executionrate;
33 import com.bsth.service.forms.FormsService; 29 import com.bsth.service.forms.FormsService;
34 import com.bsth.service.realcontrol.ScheduleRealInfoService; 30 import com.bsth.service.realcontrol.ScheduleRealInfoService;
35 -import com.bsth.util.ReportRelatedUtils;  
36 -import com.bsth.util.ReportUtils;  
37 31
38 @Service 32 @Service
39 public class FormsServiceImpl implements FormsService { 33 public class FormsServiceImpl implements FormsService {
@@ -47,14 +41,17 @@ public class FormsServiceImpl implements FormsService { @@ -47,14 +41,17 @@ public class FormsServiceImpl implements FormsService {
47 // 行车路单日报表 41 // 行车路单日报表
48 @Override 42 @Override
49 public List<Waybillday> waybillday(Map<String, Object> map) { 43 public List<Waybillday> waybillday(Map<String, Object> map) {
50 - List list1 = new ArrayList<>();//  
51 - String sql ="select x.schedule_date,x.j_gh,x.cl_zbh,z.JZL,z.YH,z.personnel_name "  
52 - + "from bsth_c_s_sp_info_real x INNER join "  
53 - + "( select y.RQ,y.XLBM,y.NBBM,y.JSY,y.JZL,y.YH,c.personnel_name from" 44 + String sql ="select x.j_gh,x.cl_zbh,z.JZL,z.YH,z.personnel_name,x.schedule_date,x.gs_bm,x.gs_name,x.fgs_bm,x.fgs_name "
  45 + + " from bsth_c_s_sp_info_real x INNER join "
  46 + + " ( select y.RQ,y.XLBM,y.NBBM,y.JSY,y.JZL,y.YH,c.personnel_name from"
54 + " bsth_c_ylb y LEFT JOIN bsth_c_personnel c ON c.job_code=y.JSY " 47 + " bsth_c_ylb y LEFT JOIN bsth_c_personnel c ON c.job_code=y.JSY "
55 - + "where to_days(y.RQ)=to_days('"+map.get("date").toString() + "') and y.XLBM= '"+ map.get("line").toString()+"' GROUP BY y.NBBM) "  
56 - + "z on x.cl_zbh=z.nbbm where to_days( x.schedule_date)=to_days('"+map.get("date").toString()+"') "  
57 - + "and x.xl_bm='"+map.get("line").toString()+"' GROUP BY x.cl_zbh,j_gh"; 48 + + " where to_days(y.RQ)=to_days('"+map.get("date").toString() + "') and y.XLBM= '"+ map.get("line").toString()+"' GROUP BY y.NBBM) "
  49 + + " z on x.cl_zbh=z.nbbm where to_days( x.schedule_date)=to_days('"+map.get("date").toString()+"') "
  50 + + " and x.xl_bm='"+map.get("line").toString()+"'"
  51 + /*+ " and x.gs_bm='"+map.get("gsdmWaybillday").toString()+"'"
  52 + + " and x.fgs_bm='"+map.get("fgsdmWaybillday").toString()+"'"*/
  53 + + " GROUP BY x.j_gh,x.cl_zbh,z.JZL,z.YH,z.personnel_name,x.schedule_date,x.gs_bm,x.gs_name,x.fgs_bm,x.fgs_name";
  54 + //x.cl_zbh,j_gh
58 List<Waybillday> list = jdbcTemplate.query(sql, new RowMapper<Waybillday>() { 55 List<Waybillday> list = jdbcTemplate.query(sql, new RowMapper<Waybillday>() {
59 @Override 56 @Override
60 public Waybillday mapRow(ResultSet arg0, int arg1) throws SQLException { 57 public Waybillday mapRow(ResultSet arg0, int arg1) throws SQLException {
@@ -67,28 +64,40 @@ public class FormsServiceImpl implements FormsService { @@ -67,28 +64,40 @@ public class FormsServiceImpl implements FormsService {
67 // System.out.println(arg0.getObject("yl")); 64 // System.out.println(arg0.getObject("yl"));
68 // wbd.setYl(arg0.getString("yl")); 65 // wbd.setYl(arg0.getString("yl"));
69 // wbd.setNbbm(arg0.getString("nbbm")); 66 // wbd.setNbbm(arg0.getString("nbbm"));
70 - Map<String, Object> maps = new HashMap<>();  
71 - maps = scheduleRealInfoService.findKMBC2(arg0.getString("j_gh"), arg0.getString("cl_zbh"),  
72 - arg0.getString("schedule_date"));  
73 - wbd.setJzl1(maps.get("ksgl").toString());  
74 - wbd.setZlc(maps.get("realMileage").toString());  
75 - 67 + wbd.setRq(arg0.getString("schedule_date"));
  68 + wbd.setJgh(arg0.getString("j_gh"));
76 return wbd; 69 return wbd;
77 70
78 } 71 }
79 }); 72 });
  73 +
  74 + for(int i=0;i<list.size();i++){
  75 + Waybillday w=list.get(i);
  76 + Map<String, Object> maps = new HashMap<>();
  77 + maps = scheduleRealInfoService.findKMBC2(w.getJgh(), w.getCarPlate(),
  78 + w.getRq());
  79 + w.setJzl1(maps.get("ksgl").toString());
  80 + w.setZlc(maps.get("realMileage").toString());
  81 +
  82 + }
80 return list; 83 return list;
81 } 84 }
82 85
83 // 线路客流量报表 86 // 线路客流量报表
84 @Override 87 @Override
85 public List<Linepasswengerflow> linepasswengerflow(Map<String, Object> map) { 88 public List<Linepasswengerflow> linepasswengerflow(Map<String, Object> map) {
86 - String sql = " SELECT s.station_name,l.name,l.create_date from bsth_c_stationroute s "  
87 - + " LEFT JOIN bsth_c_line l on s.line_code=l.line_code " 89 + String sql = " SELECT s.station_name,l.name,r.gs_bm,r.gs_name,r.fgs_bm,r.fgs_name"
  90 + + " from bsth_c_stationroute s "
  91 + + " LEFT JOIN bsth_c_line l on s.line_code=l.line_code "
  92 + + " LEFT JOIN bsth_c_s_sp_info_real r on r.xl_bm=l.line_code"
88 + " where to_days(l.create_date)=to_days('"+map.get("date").toString() + "') " 93 + " where to_days(l.create_date)=to_days('"+map.get("date").toString() + "') "
89 - + " and l.line_code=" + map.get("line").toString()  
90 - + " GROUP BY s.station_name "; 94 + + " and l.line_code=" + map.get("line").toString()
  95 + + " AND r.gs_bm is not null"
  96 + /*+ " and r.gs_bm='"+map.get("gsdmLine").toString()+"'"
  97 + + " and r.fgs_bm='"+map.get("fgsdmLine").toString()+"'"*/
  98 + + " GROUP BY s.station_name,l.name,r.gs_bm,r.gs_name,r.fgs_bm,r.fgs_name ";
91 99
  100 + //s.station_name
92 List<Linepasswengerflow> list = jdbcTemplate.query(sql, new RowMapper<Linepasswengerflow>() { 101 List<Linepasswengerflow> list = jdbcTemplate.query(sql, new RowMapper<Linepasswengerflow>() {
93 102
94 @Override 103 @Override
@@ -99,6 +108,9 @@ public class FormsServiceImpl implements FormsService { @@ -99,6 +108,9 @@ public class FormsServiceImpl implements FormsService {
99 return lin; 108 return lin;
100 } 109 }
101 }); 110 });
  111 +
  112 +
  113 +
102 return list; 114 return list;
103 } 115 }
104 116
@@ -108,13 +120,18 @@ public class FormsServiceImpl implements FormsService { @@ -108,13 +120,18 @@ public class FormsServiceImpl implements FormsService {
108 120
109 @Override 121 @Override
110 public List<Shiftuehiclemanth> shiftuehiclemanth(Map<String, Object> map) { 122 public List<Shiftuehiclemanth> shiftuehiclemanth(Map<String, Object> map) {
111 - List list1 = new ArrayList<>();//  
112 - String sql = "select r.j_name,r.schedule_date_str,r.update_date,r.cl_zbh " + " from bsth_c_s_sp_info_real r "  
113 - + " LEFT JOIN bsth_c_s_ttinfo_detail d on r.lp_name=d.lp "  
114 - + " LEFT JOIN bsth_c_line_information l on l.line=r.lp_name " 123 + String sql = "select r.j_name,r.cl_zbh,r.j_gh,r.gs_bm,r.gs_name,r.fgs_bm,r.fgs_name,r.bc_type "
  124 + + " from bsth_c_s_sp_info_real r "
115 + " where to_days(r.schedule_date_str) BETWEEN to_days('" + map.get("startDate").toString() + "') " 125 + " where to_days(r.schedule_date_str) BETWEEN to_days('" + map.get("startDate").toString() + "') "
116 - + " and to_days('" + map.get("endDate").toString() + "') " + " and r.xl_bm='"  
117 - + map.get("line").toString() + "' " + " GROUP BY r.j_name" + " ORDER BY r.j_name"; 126 + + " and to_days('" + map.get("endDate").toString() + "') "
  127 + + " and r.xl_bm='"+ map.get("line").toString() + "'"
  128 + + " AND r.gs_bm is not null"
  129 + + " and r.bc_type not in('in','out')"
  130 + /* + " and r.gs_bm='"+map.get("gsdmManth").toString()+"'"
  131 + + " and r.fgs_bm='"+map.get("fgsdmManth").toString()+"'"*/
  132 + + " GROUP BY r.j_name,r.cl_zbh,r.j_gh,r.gs_bm,r.gs_name,r.fgs_bm,r.fgs_name"
  133 + + " ORDER BY r.j_name";
  134 + //r.j_name
118 startDate = map.get("startDate").toString(); 135 startDate = map.get("startDate").toString();
119 endDate = map.get("endDate").toString(); 136 endDate = map.get("endDate").toString();
120 List<Shiftuehiclemanth> list = jdbcTemplate.query(sql, new RowMapper<Shiftuehiclemanth>() { 137 List<Shiftuehiclemanth> list = jdbcTemplate.query(sql, new RowMapper<Shiftuehiclemanth>() {
@@ -123,34 +140,45 @@ public class FormsServiceImpl implements FormsService { @@ -123,34 +140,45 @@ public class FormsServiceImpl implements FormsService {
123 public Shiftuehiclemanth mapRow(ResultSet arg0, int arg1) throws SQLException { 140 public Shiftuehiclemanth mapRow(ResultSet arg0, int arg1) throws SQLException {
124 Shiftuehiclemanth shif = new Shiftuehiclemanth(); 141 Shiftuehiclemanth shif = new Shiftuehiclemanth();
125 shif.setjName(arg0.getString("j_name")); 142 shif.setjName(arg0.getString("j_name"));
126 -  
127 - Map<String, Object> maps = new HashMap<>();  
128 -  
129 - maps = scheduleRealInfoService.findKMBC1(arg0.getString("j_name"), arg0.getString("cl_zbh"), startDate,  
130 - endDate);  
131 - shif.setJhlc(maps.get("jhlc").toString());  
132 - shif.setEmptMileage(maps.get("ksgl").toString());  
133 - shif.setRemMileage(maps.get("remMileage").toString());  
134 - shif.setAddMileage(maps.get("addMileage").toString());  
135 - shif.setTotalm(maps.get("realMileage").toString());  
136 - shif.setCjbc(maps.get("cjbc").toString());  
137 - shif.setLjbc(maps.get("ljbc").toString());  
138 - shif.setSjbc(maps.get("sjbc").toString());  
139 - 143 + shif.setJgh(arg0.getString("j_gh"));
  144 + shif.setZbh(arg0.getString("cl_zbh"));
140 return shif; 145 return shif;
141 -  
142 } 146 }
143 }); 147 });
  148 +
  149 + for(int i=0;i<list.size();i++){
  150 + Shiftuehiclemanth s=list.get(i);
  151 + Map<String, Object> maps = new HashMap<>();
  152 +
  153 + maps = scheduleRealInfoService.findKMBC1(s.getjName(),s.getZbh(), startDate,
  154 + endDate);
  155 +
  156 + s.setJhlc(maps.get("jhlc").toString());
  157 + s.setEmptMileage(maps.get("ksgl").toString());
  158 + s.setRemMileage(maps.get("remMileage").toString());
  159 + s.setAddMileage(maps.get("addMileage").toString());
  160 + s.setTotalm(maps.get("realMileage").toString());
  161 + s.setCjbc(maps.get("cjbc").toString());
  162 + s.setLjbc(maps.get("ljbc").toString());
  163 + s.setSjbc(maps.get("sjbc").toString());
144 164
  165 + }
145 return list; 166 return list;
146 } 167 }
147 168
148 // 班次车辆人员日统计 169 // 班次车辆人员日统计
149 @Override 170 @Override
150 public List<Shifday> shifday(Map<String, Object> map) { 171 public List<Shifday> shifday(Map<String, Object> map) {
151 - String sql = " select r.lp_name,r.xl_name,r.j_name,r.s_name, r.cl_zbh,r.xl_bm,r.schedule_date,r.cl_zbh,r.j_gh "  
152 - + " FROM bsth_c_s_sp_info_real r " + " where to_days(r.schedule_date)=to_days('"  
153 - + map.get("date").toString() + "') and r.xl_bm=" + map.get("line").toString() + " GROUP BY r.j_name "; 172 + String sql = " select r.schedule_date,r.lp_name,r.xl_name,r.j_name,r.s_name, r.cl_zbh,r.xl_bm,"
  173 + + " r.cl_zbh,r.j_gh,r.j_gh,r.gs_bm,r.gs_name,r.fgs_bm,r.fgs_name,r.bc_type "
  174 + + " FROM bsth_c_s_sp_info_real r "
  175 + + " where to_days(r.schedule_date)=to_days('"
  176 + + map.get("date").toString() + "') and r.xl_bm=" + map.get("line").toString()
  177 + + " and r.bc_type not in('in','out')"
  178 + /*+ " and r.gs_bm='"+map.get("gsdmShif").toString()+"'"
  179 + + " and r.fgs_bm='"+map.get("fgsdmShif").toString()+"'"*/
  180 + + " GROUP BY r.schedule_date,r.lp_name,r.xl_name,r.j_name,r.s_name, r.cl_zbh,r.xl_bm,r.cl_zbh,r.j_gh,r.j_gh,r.gs_bm,r.gs_name,r.fgs_bm,r.fgs_name "
  181 + + " ORDER BY r.lp_name asc";
154 182
155 List<Shifday> list = jdbcTemplate.query(sql, new RowMapper<Shifday>() { 183 List<Shifday> list = jdbcTemplate.query(sql, new RowMapper<Shifday>() {
156 184
@@ -161,25 +189,34 @@ public class FormsServiceImpl implements FormsService { @@ -161,25 +189,34 @@ public class FormsServiceImpl implements FormsService {
161 shifday.setsName(arg0.getString("s_name") == null ? "" : arg0.getString("s_name").toString()); 189 shifday.setsName(arg0.getString("s_name") == null ? "" : arg0.getString("s_name").toString());
162 shifday.setLpName(arg0.getString("r.lp_name").toString()); 190 shifday.setLpName(arg0.getString("r.lp_name").toString());
163 shifday.setCarPlate(arg0.getString("cl_zbh").toString()); 191 shifday.setCarPlate(arg0.getString("cl_zbh").toString());
164 -  
165 - Map<String, Object> map = new HashMap<>();  
166 - map = scheduleRealInfoService.findKMBC2(arg0.getString("j_gh"), arg0.getString("cl_zbh"),  
167 - arg0.getString("schedule_date"));  
168 - shifday.setJhlc(map.get("jhlc").toString());// 计划里程  
169 - // shifday.setSjjhlc(map.get("remMileage").toString());//实际计划里程  
170 - shifday.setYygl(map.get("yygl").toString());// 营运里程  
171 - shifday.setEmptMileage(map.get("ksgl").toString());// 空驶里程  
172 - shifday.setRemMileage(map.get("remMileage").toString());// 抽减里程  
173 - shifday.setAddMileage(map.get("addMileage").toString());// 增加里程  
174 - shifday.setTotalm(map.get("realMileage").toString());// 总里程  
175 - shifday.setJhbc(map.get("jhbc").toString());// 计划班次  
176 - // shifday.setSjjhbc(map.get("sjjhbc").toString());//实际计划班次  
177 - shifday.setCjbc(map.get("cjbc").toString());// 抽减班次  
178 - shifday.setLjbc(map.get("ljbc").toString());// 增加班次  
179 - shifday.setSjbc(map.get("sjbc").toString());// 实际班次 192 + shifday.setJgh(arg0.getString("j_gh"));
  193 + shifday.setZbh(arg0.getString("cl_zbh"));
  194 + shifday.setRq(arg0.getString("schedule_date"));
180 return shifday; 195 return shifday;
181 } 196 }
  197 +
182 }); 198 });
  199 +
  200 + for(int i=0;i<list.size();i++){
  201 + Shifday shi=list.get(i);
  202 + Map<String, Object> maps = new HashMap<>();
  203 + maps = scheduleRealInfoService.findKMBC2(shi.getJgh(), shi.getCarPlate(),
  204 + shi.getRq());
  205 + shi.setJhlc(maps.get("jhlc").toString());// 计划里程
  206 + //shifday.setSjjhlc(map.get("remMileage").toString());//实际计划里程
  207 + shi.setYygl(maps.get("yygl").toString());// 营运里程
  208 + shi.setEmptMileage(maps.get("ksgl").toString());// 空驶里程
  209 + shi.setRemMileage(maps.get("remMileage").toString());// 抽减里程
  210 + shi.setAddMileage(maps.get("addMileage").toString());// 增加里程
  211 + shi.setTotalm(maps.get("realMileage").toString());// 总里程
  212 + shi.setJhbc(maps.get("jhbc").toString());// 计划班次
  213 + //shifday.setSjjhbc(map.get("sjjhbc").toString());//实际计划班次
  214 + shi.setCjbc(maps.get("cjbc").toString());// 抽减班次
  215 + shi.setLjbc(maps.get("ljbc").toString());// 增加班次
  216 + shi.setSjbc(maps.get("sjbc").toString());// 实际班次
  217 +
  218 + }
  219 +
183 return list; 220 return list;
184 } 221 }
185 222
@@ -226,20 +263,20 @@ public class FormsServiceImpl implements FormsService { @@ -226,20 +263,20 @@ public class FormsServiceImpl implements FormsService {
226 Changetochange chan = new Changetochange(); 263 Changetochange chan = new Changetochange();
227 264
228 chan.setRq(rq); 265 chan.setRq(rq);
229 - chan.setGs(arg0.getString("gs").toString());  
230 - chan.setFgs(arg0.getString("fgs").toString());  
231 - chan.setXl(arg0.getString("xl").toString());  
232 - chan.setLp(arg0.getString("lp").toString());  
233 - chan.setFssj(arg0.getString("fssj").toString());  
234 - chan.setXgsj(arg0.getString("xgsj").toString());  
235 - chan.setPcch(arg0.getString("pcch").toString());  
236 - chan.setPcry(arg0.getString("pcry").toString());  
237 - chan.setJhch(arg0.getString("jhch").toString());  
238 - chan.setJhgh(arg0.getString("jhgh").toString());  
239 - chan.setSjch(arg0.getString("sjch").toString());  
240 - chan.setSjgh(arg0.getString("sjgh").toString());  
241 - chan.setYy(arg0.getString("yy").toString());  
242 - chan.setXgr(arg0.getString("xgr").toString()); 266 + chan.setGs(arg0.getString("gs"));
  267 + chan.setFgs(arg0.getString("fgs"));
  268 + chan.setXl(arg0.getString("xl"));
  269 + chan.setLp(arg0.getString("lp"));
  270 + chan.setFssj(arg0.getString("fssj"));
  271 + chan.setXgsj(arg0.getString("xgsj"));
  272 + chan.setPcch(arg0.getString("pcch"));
  273 + chan.setPcry(arg0.getString("pcry"));
  274 + chan.setJhch(arg0.getString("jhch"));
  275 + chan.setJhgh(arg0.getString("jhgh"));
  276 + chan.setSjch(arg0.getString("sjch"));
  277 + chan.setSjgh(arg0.getString("sjgh"));
  278 + chan.setYy(arg0.getString("yy"));
  279 + chan.setXgr(arg0.getString("xgr"));
243 return chan; 280 return chan;
244 } 281 }
245 }); 282 });
@@ -249,39 +286,69 @@ public class FormsServiceImpl implements FormsService { @@ -249,39 +286,69 @@ public class FormsServiceImpl implements FormsService {
249 // 路单数据 286 // 路单数据
250 @Override 287 @Override
251 public List<Singledata> singledata(Map<String, Object> map) { 288 public List<Singledata> singledata(Map<String, Object> map) {
  289 + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
  290 + SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy年MM月dd日");
  291 + Date d = null;
  292 + Date d1 = null;
  293 + try {
  294 + d = sdf.parse(map.get("startDate").toString());
  295 + d1 = sdf.parse(map.get("endDate").toString());
  296 + } catch (ParseException e) {
252 297
253 - String sql = " SELECT y.RQ,y.SSGSDM,y.XLBM,y.NBBM,y.JSY,y.YH,y.JZL " + " FROM bsth_c_ylb y"  
254 - + " where y.RQ BETWEEN '" + map.get("startDate").toString() + "'" + " and '"  
255 - + map.get("endDate").toString() + "'" + " and y.XLBM='" + map.get("line").toString() + "'"  
256 - + " GROUP BY y.NBBM "; 298 + e.printStackTrace();
  299 + }
  300 + String rq2 = sdf1.format(d);
  301 + String rq3 = sdf1.format(d1);
257 302
  303 + rq = rq2 + "-" + rq3;
  304 +
  305 + String sql = " SELECT r.xl_bm,r.cl_zbh,r.j_gh,r.j_name,y.YH,y.JZL,r.gs_bm,r.gs_name,r.fgs_bm,r.fgs_name "
  306 + + " FROM bsth_c_s_sp_info_real r "
  307 + + " INNER join ( select y.RQ,y.XLBM,y.NBBM,y.JSY,y.JZL,y.YH from bsth_c_ylb y "
  308 + + " where y.RQ BETWEEN '" + map.get("startDate").toString() + "' and '"+ map.get("endDate").toString() + "'"
  309 + + " and y.XLBM= '" + map.get("line").toString() + "' GROUP BY y.RQ,y.XLBM,y.NBBM,y.JSY,y.JZL,y.YH) y on r.cl_zbh=y.nbbm "
  310 + + " where r.schedule_date_str BETWEEN '" + map.get("startDate").toString() + "'"
  311 + + " and '"+ map.get("endDate").toString() + "'"
  312 + + " and r.xl_bm='" + map.get("line").toString() + "'"
  313 + + " AND r.gs_bm is not null"
  314 + /* + " and r.gs_bm='"+map.get("gsdmSing").toString()+"'"
  315 + + " and r.fgs_bm='"+map.get("fgsdmSing").toString()+"'"*/
  316 + + " GROUP BY r.xl_bm,r.cl_zbh,r.j_gh,r.j_name,y.YH,y.JZL,r.gs_bm,r.gs_name,r.fgs_bm,r.fgs_name ";
  317 +
  318 + startDate = map.get("startDate").toString();
  319 + endDate = map.get("endDate").toString();
258 List<Singledata> list = jdbcTemplate.query(sql, new RowMapper<Singledata>() { 320 List<Singledata> list = jdbcTemplate.query(sql, new RowMapper<Singledata>() {
259 - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");  
260 - 321 + //SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
261 @Override 322 @Override
262 public Singledata mapRow(ResultSet arg0, int arg1) throws SQLException { 323 public Singledata mapRow(ResultSet arg0, int arg1) throws SQLException {
263 Singledata sin = new Singledata(); 324 Singledata sin = new Singledata();
264 - sin.setrQ(sdf.format(arg0.getDate("rq")));  
265 - sin.setgS(arg0.getString("SSGSDM").toString());  
266 - sin.setxL(arg0.getString("XLBM").toString());  
267 - sin.setClzbh(arg0.getString("NBBM").toString());  
268 - sin.setJsy(arg0.getString("JSY").toString());  
269 - sin.setHyl(arg0.getString("YH").toString());  
270 - sin.setJzl(arg0.getString("JZL").toString()); 325 + sin.setrQ(rq);
  326 + sin.setgS(arg0.getString("gs_name"));
  327 + sin.setxL(arg0.getString("xl_bm"));
  328 + sin.setClzbh(arg0.getString("cl_zbh"));
  329 + sin.setJsy(arg0.getString("j_gh"));
  330 + sin.setjName(arg0.getString("j_name"));
  331 + sin.setHyl(arg0.getString("YH"));
  332 + sin.setJzl(arg0.getString("JZL"));
271 // sin.setJzl(arg0.getString(""));//非营业性用油 333 // sin.setJzl(arg0.getString(""));//非营业性用油
272 sin.setJhjl(arg0.getString("JZL")); 334 sin.setJhjl(arg0.getString("JZL"));
273 - Map<String, Object> maps = new HashMap<>();  
274 - maps = scheduleRealInfoService.findKMBC2(sin.getJsy(), sin.getClzbh(), sin.getrQ());  
275 - sin.setjName(maps.get("j_name") == null ? "" : maps.get("j_name").toString());  
276 - sin.setSgh(maps.get("s_gh") == null ? "" : maps.get("s_gh").toString());  
277 - sin.setsName(maps.get("s_name") == null ? "" : maps.get("s_name").toString());  
278 - sin.setJhlc(maps.get("yygl") == null ? "" : maps.get("yygl").toString());  
279 - sin.setEmptMileage(maps.get("ksgl") == null ? "" : maps.get("ksgl").toString());  
280 - sin.setJhjl(maps.get("jhlc") == null ? "" : maps.get("jhlc").toString());  
281 - 335 +
282 return sin; 336 return sin;
283 } 337 }
284 }); 338 });
  339 + for(int i=0;i<list.size();i++){
  340 + Singledata si=list.get(i);
  341 + Map<String, Object> maps = new HashMap<>();
  342 + maps = scheduleRealInfoService.findKMBC1(si.getjName(),si.getClzbh(), startDate,
  343 + endDate);
  344 + //sin.setjName(maps.get("j_name") == null ? "" : maps.get("j_name").toString());
  345 + si.setSgh(maps.get("s_gh") == null ? "" : maps.get("s_gh").toString());
  346 + si.setsName(maps.get("s_name") == null ? "" : maps.get("s_name").toString());
  347 + si.setJhlc(maps.get("yygl") == null ? "" : maps.get("yygl").toString());
  348 + si.setEmptMileage(maps.get("ksgl") == null ? "" : maps.get("ksgl").toString());
  349 + si.setJhjl(maps.get("jhlc") == null ? "" : maps.get("jhlc").toString());
  350 +
  351 + }
285 return list; 352 return list;
286 } 353 }
287 354
@@ -289,59 +356,97 @@ public class FormsServiceImpl implements FormsService { @@ -289,59 +356,97 @@ public class FormsServiceImpl implements FormsService {
289 @Override 356 @Override
290 public List<Operationservice> operationservice(Map<String, Object> map) { 357 public List<Operationservice> operationservice(Map<String, Object> map) {
291 358
292 - String sql = " SELECT y.RQ,y.XLBM,y.NBBM,y.JSY,y.YH,y.JZL " + " FROM bsth_c_ylb y" + " where y.RQ BETWEEN '"  
293 - + map.get("startDate").toString() + "'" + " and '" + map.get("endDate").toString() + "'"  
294 - + " and y.XLBM='" + map.get("line").toString() + "'" + " GROUP BY y.NBBM ";  
295 - 359 + String sql = " SELECT r.xl_bm,r.xl_name,r.cl_zbh,r.j_gh,r.j_name,y.YH,y.JZL,r.gs_bm,r.gs_name,r.fgs_bm,r.fgs_name,r.bc_type "
  360 + + " FROM bsth_c_s_sp_info_real r "
  361 + // + "LEFT JOIN bsth_c_s_sp_info_real r on r.cl_zbh=y.NBBM"
  362 + + " INNER join ( select y.RQ,y.XLBM,y.NBBM,y.JSY,y.JZL,y.YH from bsth_c_ylb y "
  363 + + " where y.RQ BETWEEN '" + map.get("startDate").toString() + "' and '"+ map.get("endDate").toString() + "'"
  364 + + " and y.XLBM= '" + map.get("line").toString() + "' GROUP BY y.RQ,y.XLBM,y.NBBM,y.JSY,y.JZL,y.YH) y on r.cl_zbh=y.nbbm "
  365 + + " where r.schedule_date_str BETWEEN '"+ map.get("startDate").toString()
  366 + + "'" + " and '" + map.get("endDate").toString() + "'"
  367 + + " and r.xl_bm='" + map.get("line").toString() + "'"
  368 + + " and r.bc_type not in('in','out')"
  369 + /* + " and r.gs_bm='"+map.get("gsdmOperat").toString()+"'"
  370 + + " and r.fgs_bm='"+map.get("fgsdmOperat").toString()+"'"*/
  371 + + " AND r.gs_bm is not null"
  372 + + " GROUP BY r.xl_bm,r.xl_name,r.cl_zbh,r.j_gh,r.j_name,y.YH,y.JZL,r.gs_bm,r.gs_name,r.fgs_bm,r.fgs_name";
  373 +
  374 + //r.j_name
  375 + startDate = map.get("startDate").toString();
  376 + endDate = map.get("endDate").toString();
296 List<Operationservice> list = jdbcTemplate.query(sql, new RowMapper<Operationservice>() { 377 List<Operationservice> list = jdbcTemplate.query(sql, new RowMapper<Operationservice>() {
297 - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");  
298 378
299 @Override 379 @Override
300 public Operationservice mapRow(ResultSet arg0, int arg1) throws SQLException { 380 public Operationservice mapRow(ResultSet arg0, int arg1) throws SQLException {
301 - Singledata sin = new Singledata();  
302 Operationservice op = new Operationservice(); 381 Operationservice op = new Operationservice();
303 - op.setXlName(arg0.getString("XLBM").toString());  
304 - op.setJzl(arg0.getString("JZL").toString());  
305 - op.setXhl(arg0.getString("YH").toString());  
306 - Map<String, Object> maps = new HashMap<>();  
307 - maps = scheduleRealInfoService.findKMBC2(sin.getJsy(), sin.getClzbh(), sin.getrQ());  
308 - op.setXsgl(maps.get("yygl").toString() == null ? "" : maps.get("yygl").toString());  
309 - op.setEmptMileage(maps.get("ksgl").toString() == null ? "" : maps.get("ksgl").toString());  
310 - op.setSjbc(maps.get("sjbc").toString() == null ? "" : maps.get("sjbc").toString()); 382 + op.setXlName(arg0.getString("xl_name"));
  383 + op.setJzl(arg0.getString("JZL"));
  384 + op.setXhl(arg0.getString("YH"));
  385 + op.setClzbh(arg0.getString("cl_zbh"));
  386 + op.setJname(arg0.getString("j_name"));
  387 +
311 return op; 388 return op;
312 } 389 }
313 }); 390 });
  391 +
  392 + for(int i=0;i<list.size();i++){
  393 + Operationservice o=list.get(i);
  394 + Map<String, Object> maps = new HashMap<>();
  395 + maps = scheduleRealInfoService.findKMBC1(o.getJname(), o.getClzbh(), startDate,
  396 + endDate);
  397 + o.setXsgl(maps.get("yygl").toString() == null ? "" : maps.get("yygl").toString());
  398 + o.setEmptMileage(maps.get("ksgl").toString() == null ? "" : maps.get("ksgl").toString());
  399 + o.setSjbc(maps.get("sjbc").toString() == null ? "" : maps.get("sjbc").toString());
  400 + }
314 return list; 401 return list;
315 } 402 }
316 403
  404 +
317 // 车辆加注 405 // 车辆加注
318 @Override 406 @Override
319 - public List<Vehicleloading> vehicleloading(String line, String data) {  
320 -  
321 - String sql = " SELECT y.RQ,y.SSGSDM,y.XLBM,y.NBBM,y.JSY,y.YH,y.JZL " + " FROM bsth_c_ylb y "  
322 - + " where to_days(y.RQ)=to_days('" + data + "')" + " and y.XLBM='" + line + "' "  
323 - + " GROUP BY y.NBBM ";  
324 - 407 + public List<Vehicleloading> vehicleloading(/*String gsdmVehic,String fgsdmVehic,*/String line, String date) {
  408 +
  409 + String sql = " SELECT r.schedule_date_str,r.xl_bm,r.xl_name,r.cl_zbh,r.j_name,y.YH,y.JZL,r.j_gh,r.gs_bm,r.gs_name,r.fgs_bm,r.fgs_name,r.bc_type "
  410 + + " FROM bsth_c_s_sp_info_real r "
  411 + + " INNER join ( select y.RQ,y.XLBM,y.NBBM,y.JSY,y.JZL,y.YH from bsth_c_ylb y "
  412 + + " where to_days(y.RQ)=to_days('" + date + "') and y.XLBM= '" + line + "' GROUP BY y.RQ,y.XLBM,y.NBBM,y.JSY,y.JZL,y.YH) y "
  413 + + " on r.cl_zbh=y.nbbm "
  414 + + " where to_days(r.schedule_date_str)=to_days('" + date + "')"
  415 + + " and r.xl_bm='" + line + "' "
  416 + + " AND r.gs_bm is not null"
  417 + + " and r.bc_type not in('in','out')"
  418 + /* + " and r.gs_bm='"+gsdmVehic +"'"
  419 + + " and r.fgs_bm='"+fgsdmVehic +"'"*/
  420 + + " GROUP BY r.schedule_date_str,r.xl_bm,r.xl_name,r.cl_zbh,r.j_name,y.YH,y.JZL,r.j_gh,r.gs_bm,r.gs_name,r.fgs_bm,r.fgs_name ";
  421 +
  422 +
  423 + //r.cl_zbh
325 List<Vehicleloading> list = jdbcTemplate.query(sql, new RowMapper<Vehicleloading>() { 424 List<Vehicleloading> list = jdbcTemplate.query(sql, new RowMapper<Vehicleloading>() {
326 @Override 425 @Override
327 public Vehicleloading mapRow(ResultSet arg0, int arg1) throws SQLException { 426 public Vehicleloading mapRow(ResultSet arg0, int arg1) throws SQLException {
328 Vehicleloading ve = new Vehicleloading(); 427 Vehicleloading ve = new Vehicleloading();
329 - ve.setrQ(arg0.getString("RQ").toString());  
330 - ve.setgS(arg0.getString("SSDM").toString());  
331 - ve.setxL(arg0.getString("XLBM").toString());  
332 - ve.setClzbh(arg0.getString("NBBM").toString());  
333 - ve.setHyl(arg0.getString("YH").toString());  
334 - ve.setJzl(arg0.getString("JZL").toString()); 428 + ve.setrQ(arg0.getString("schedule_date_str"));
  429 + ve.setgS(arg0.getString("gs_name"));
  430 + ve.setxL(arg0.getString("xl_name"));
  431 + ve.setClzbh(arg0.getString("cl_zbh"));
  432 + ve.setHyl(arg0.getString("YH"));
  433 + ve.setJzl(arg0.getString("JZL"));
335 // ve.setLs(arg0.getString("").toString());//尿素 434 // ve.setLs(arg0.getString("").toString());//尿素
336 - Map<String, Object> maps = new HashMap<>();  
337 - maps = scheduleRealInfoService.findKMBC2(arg0.getString("JSY"), arg0.getString("NBBM"),  
338 - arg0.getString("RQ"));  
339 - ve.setJhlc(maps.get("yygl") == null ? "" : maps.get("yygl").toString());  
340 - ve.setJhbc(maps.get("jhbc").toString() == null ? "" : maps.get("jhbc").toString());// 计划班次  
341 - ve.setSjbc(maps.get("sjbc").toString() == null ? "" : maps.get("sjbc").toString());// 实际班次 435 + ve.setJgh(arg0.getString("j_gh").toString());
342 return ve; 436 return ve;
343 } 437 }
344 }); 438 });
  439 +
  440 + for(int i=0;i<list.size();i++){
  441 + Vehicleloading v=list.get(i);
  442 + Map<String, Object> maps = new HashMap<>();
  443 + maps = scheduleRealInfoService.findKMBC2(v.getJgh(), line,
  444 + date);
  445 + v.setJhlc(maps.get("yygl") == null ? "" : maps.get("yygl").toString());
  446 + v.setJhbc(maps.get("jhbc").toString() == null ? "" : maps.get("jhbc").toString());// 计划班次
  447 + v.setSjbc(maps.get("sjbc").toString() == null ? "" : maps.get("sjbc").toString());// 实际班次
  448 + }
  449 +
345 return list; 450 return list;
346 } 451 }
347 452
@@ -365,18 +470,22 @@ public class FormsServiceImpl implements FormsService { @@ -365,18 +470,22 @@ public class FormsServiceImpl implements FormsService {
365 470
366 rq = rq2 + "-" + rq3; 471 rq = rq2 + "-" + rq3;
367 472
368 - String sql = " select b.xlgs, a.gs_bm,a.gs_name, a.fgs_bm,a.fgs_name , a.xl_bm,b.sbc,b.sxl,b.scl,a.jbc ,a.jxl ,a.jcl,a.gslsbm,a.fgsbm,b.warrant_car from "  
369 - + " (select count(DISTINCT gs_bm) gslsbm, gs_bm, count(DISTINCT fgs_bm) fgsbm,fgs_bm,gs_name,fgs_name ,xl_bm, count(*) as jbc,COUNT(DISTINCT xl_bm) as jxl ,COUNT(DISTINCT cl_zbh) as jcl"  
370 - + " from bsth_c_s_sp_info" + " where DATE_FORMAT(schedule_date,'%Y-%m-%d') BETWEEN '"  
371 - + map.get("startDate").toString() + "' and '" + map.get("endDate").toString() + "' and xl_bm='"  
372 - + map.get("line").toString() + "' AND gs_bm is not null"  
373 - + " GROUP BY gs_bm,fgs_bm,xl_bm,gs_name,fgs_name ) a left JOIN ("  
374 - + "SELECT COUNT(*) as xlgs,b.gs_bm,b.fgs_bm,b.xl_bm,b.gs_name,b.fgs_name, b.sbc,b.sxl ,b.scl,t.warrant_car "  
375 - + "from bsth_c_line t RIGHT JOIN (select gs_bm,fgs_bm,xl_bm,gs_name,fgs_name, count(*) as sbc,COUNT(DISTINCT xl_bm) as sxl ,COUNT(DISTINCT cl_zbh) as scl from bsth_c_s_sp_info_real "  
376 - + "where DATE_FORMAT(schedule_date,'%Y-%m-%d') BETWEEN '" + map.get("startDate").toString() + "' and '" 473 + String sql = " select b.xlgs, a.gs_bm,a.gs_name, a.fgs_bm,a.fgs_name , a.xl_bm,b.sbc,b.sxl,b.scl,a.jbc ,a.jxl ,a.jcl,a.gslsbm,a.fgsbm,b.warrant_car,a.bc_type from "
  474 + + " (select count(DISTINCT gs_bm) gslsbm, gs_bm, count(DISTINCT fgs_bm) fgsbm,fgs_bm,gs_name,fgs_name ,xl_bm, count(*) as jbc,COUNT(DISTINCT xl_bm) as jxl ,COUNT(DISTINCT cl_zbh) as jcl,bc_type"
  475 + + " from bsth_c_s_sp_info" + " where DATE_FORMAT(schedule_date,'%Y-%m-%d') BETWEEN '"+ map.get("startDate").toString() + "' "
  476 + + " and '" + map.get("endDate").toString() + "' and xl_bm='"+ map.get("line").toString() + "' "
  477 + + " AND gs_bm is not null "
  478 + + " AND bc_type NOT IN ('in', 'out')"
  479 + /*+ " and gs_bm='"+ map.get("gsdmTurn").toString() + "'"
  480 + + " and fgs_bm='"+ map.get("fgsdmTurn").toString() + "'"*/
  481 + + " GROUP BY gs_bm,fgs_bm,xl_bm,gs_name,fgs_name,bc_type ) a left JOIN ("
  482 + + " SELECT COUNT(*) as xlgs,b.gs_bm,b.fgs_bm,b.xl_bm,b.gs_name,b.fgs_name, b.sbc,b.sxl ,b.scl,t.warrant_car "
  483 + + " from bsth_c_line t RIGHT JOIN (select gs_bm,fgs_bm,xl_bm,gs_name,fgs_name, count(*) as sbc,COUNT(DISTINCT xl_bm) as sxl ,COUNT(DISTINCT cl_zbh) as scl,bc_type from bsth_c_s_sp_info_real "
  484 + + " where DATE_FORMAT(schedule_date,'%Y-%m-%d') BETWEEN '" + map.get("startDate").toString() + "' and '"
377 + map.get("endDate").toString() + "' and xl_bm='" + map.get("line").toString() 485 + map.get("endDate").toString() + "' and xl_bm='" + map.get("line").toString()
378 + "' AND gs_bm is not null " 486 + "' AND gs_bm is not null "
379 - + "GROUP BY gs_bm,fgs_bm,xl_bm,gs_name,fgs_name) b ON t.company=b.gs_bm) b on " 487 + + " AND bc_type NOT IN ('in', 'out')"
  488 + + "GROUP BY gs_bm,fgs_bm,xl_bm,gs_name,fgs_name,bc_type) b ON t.company=b.gs_bm) b on "
380 + " a.gs_bm=b.gs_bm and a.fgs_bm=b.fgs_bm and a.xl_bm=b.xl_bm "; 489 + " a.gs_bm=b.gs_bm and a.fgs_bm=b.fgs_bm and a.xl_bm=b.xl_bm ";
381 List<Turnoutrate> list = jdbcTemplate.query(sql, new RowMapper<Turnoutrate>() { 490 List<Turnoutrate> list = jdbcTemplate.query(sql, new RowMapper<Turnoutrate>() {
382 491
@@ -409,9 +518,12 @@ public class FormsServiceImpl implements FormsService { @@ -409,9 +518,12 @@ public class FormsServiceImpl implements FormsService {
409 518
410 }); 519 });
411 520
  521 +
412 return list; 522 return list;
413 } 523 }
414 524
  525 +
  526 + //班次执行率统计表
415 @Override 527 @Override
416 public List<Executionrate> executionrate(Map<String, Object> map) { 528 public List<Executionrate> executionrate(Map<String, Object> map) {
417 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); 529 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
@@ -430,18 +542,20 @@ public class FormsServiceImpl implements FormsService { @@ -430,18 +542,20 @@ public class FormsServiceImpl implements FormsService {
430 542
431 rq = rq2 + "-" + rq3; 543 rq = rq2 + "-" + rq3;
432 544
433 - String sql = " select b.xlgs, a.gs_bm,a.gs_name, a.fgs_bm,a.fgs_name , a.xl_bm,b.xl_name,b.sbc,b.sxl,b.scl,a.jbc ,a.jxl ,a.jcl,a.gslsbm,a.fgsbm from "  
434 - + " (select count(DISTINCT gs_bm) gslsbm, gs_bm, count(DISTINCT fgs_bm) fgsbm,fgs_bm,gs_name,fgs_name ,xl_bm, count(*) as jbc,COUNT(DISTINCT xl_bm) as jxl ,COUNT(DISTINCT cl_zbh) as jcl" 545 + String sql = " select b.xlgs, a.gs_bm,a.gs_name, a.fgs_bm,a.fgs_name , a.xl_bm,b.xl_name,b.sbc,b.sxl,b.scl,a.jbc ,a.jxl ,a.jcl,a.gslsbm,a.fgsbm,a.bc_type from "
  546 + + " (select count(DISTINCT gs_bm) gslsbm, gs_bm, count(DISTINCT fgs_bm) fgsbm,fgs_bm,gs_name,fgs_name ,xl_bm, count(*) as jbc,COUNT(DISTINCT xl_bm) as jxl ,COUNT(DISTINCT cl_zbh) as jcl,bc_type"
435 + " from bsth_c_s_sp_info" + " where DATE_FORMAT(schedule_date,'%Y-%m-%d') BETWEEN '" 547 + " from bsth_c_s_sp_info" + " where DATE_FORMAT(schedule_date,'%Y-%m-%d') BETWEEN '"
436 + map.get("startDate").toString() + "' and '" + map.get("endDate").toString() + "' and xl_bm='" 548 + map.get("startDate").toString() + "' and '" + map.get("endDate").toString() + "' and xl_bm='"
437 - + map.get("line").toString() + "' AND gs_bm is not null"  
438 - + " GROUP BY gs_bm,fgs_bm,xl_bm,gs_name,fgs_name ) a left JOIN ("  
439 - + "SELECT COUNT(*) as xlgs,b.gs_bm,b.fgs_bm,b.xl_bm,b.xl_name,b.gs_name,b.fgs_name, b.sbc,b.sxl ,b.scl "  
440 - + "from bsth_c_line t RIGHT JOIN (select gs_bm,fgs_bm,xl_bm,xl_name,gs_name,fgs_name, count(*) as sbc,COUNT(DISTINCT xl_bm) as sxl ,COUNT(DISTINCT cl_zbh) as scl from bsth_c_s_sp_info_real " 549 + + map.get("line").toString() + "' AND gs_bm is not null AND bc_type NOT IN ('in', 'out')"
  550 + /*+ " and gs_bm='"+ map.get("gsdmEcecut").toString() + "'"
  551 + + " and fgs_bm='"+ map.get("fgsdmEcecut").toString() + "'"*/
  552 + + " GROUP BY gs_bm,fgs_bm,xl_bm,gs_name,fgs_name,bc_type ) a left JOIN ("
  553 + + "SELECT COUNT(*) as xlgs,b.gs_bm,b.fgs_bm,b.xl_bm,b.xl_name,b.gs_name,b.fgs_name, b.sbc,b.sxl ,b.scl "
  554 + + "from bsth_c_line t RIGHT JOIN (select gs_bm,fgs_bm,xl_bm,xl_name,gs_name,fgs_name, count(*) as sbc,COUNT(DISTINCT xl_bm) as sxl ,COUNT(DISTINCT cl_zbh) as scl,bc_type from bsth_c_s_sp_info_real "
441 + "where DATE_FORMAT(schedule_date,'%Y-%m-%d') BETWEEN '" + map.get("startDate").toString() + "' and '" 555 + "where DATE_FORMAT(schedule_date,'%Y-%m-%d') BETWEEN '" + map.get("startDate").toString() + "' and '"
442 + map.get("endDate").toString() + "' and xl_bm='" + map.get("line").toString() 556 + map.get("endDate").toString() + "' and xl_bm='" + map.get("line").toString()
443 - + "' AND gs_bm is not null "  
444 - + "GROUP BY gs_bm,fgs_bm,xl_bm,gs_name,fgs_name) b ON t.company=b.gs_bm) b on " 557 + + "' AND gs_bm is not null AND bc_type NOT IN ('in', 'out') "
  558 + + "GROUP BY gs_bm,fgs_bm,xl_bm,gs_name,fgs_name,bc_type) b ON t.company=b.gs_bm) b on "
445 + " a.gs_bm=b.gs_bm and a.fgs_bm=b.fgs_bm and a.xl_bm=b.xl_bm "; 559 + " a.gs_bm=b.gs_bm and a.fgs_bm=b.fgs_bm and a.xl_bm=b.xl_bm ";
446 List<Executionrate> list = jdbcTemplate.query(sql, new RowMapper<Executionrate>() { 560 List<Executionrate> list = jdbcTemplate.query(sql, new RowMapper<Executionrate>() {
447 561
@@ -457,7 +571,8 @@ public class FormsServiceImpl implements FormsService { @@ -457,7 +571,8 @@ public class FormsServiceImpl implements FormsService {
457 tu.setRq(rq); 571 tu.setRq(rq);
458 tu.setGs(arg0.getString("gs_name").toString()); 572 tu.setGs(arg0.getString("gs_name").toString());
459 tu.setZhgs(arg0.getString("fgs_name").toString()); 573 tu.setZhgs(arg0.getString("fgs_name").toString());
460 - tu.setXl(arg0.getString("xlgs")); 574 + //tu.setXl(arg0.getString("xlgs"));这个是根据公司判断线路有几条
  575 + tu.setXl(arg0.getString("sxl"));
461 tu.setXlmc(arg0.getString("sxl")); 576 tu.setXlmc(arg0.getString("sxl"));
462 tu.setCchjh(arg0.getString("jcl").toString()); 577 tu.setCchjh(arg0.getString("jcl").toString());
463 tu.setCchsj(arg0.getString("scl").toString()); 578 tu.setCchsj(arg0.getString("scl").toString());
@@ -494,20 +609,27 @@ public class FormsServiceImpl implements FormsService { @@ -494,20 +609,27 @@ public class FormsServiceImpl implements FormsService {
494 String rq2 = sdf1.format(d); 609 String rq2 = sdf1.format(d);
495 String rq3 = sdf1.format(d1); 610 String rq3 = sdf1.format(d1);
496 611
  612 +
  613 +
497 rq = rq2 + "-" + rq3; 614 rq = rq2 + "-" + rq3;
498 615
499 - String sql = " select b.xlgs, a.gs_bm,a.gs_name, a.fgs_bm,a.fgs_name , a.xl_bm,b.xl_name,b.sbc,b.sxl,b.scl,a.jbc ,a.jxl ,a.jcl,a.gslsbm,a.fgsbm from "  
500 - + " (select count(DISTINCT gs_bm) gslsbm, gs_bm, count(DISTINCT fgs_bm) fgsbm,fgs_bm,gs_name,fgs_name ,xl_bm, count(*) as jbc,COUNT(DISTINCT xl_bm) as jxl ,COUNT(DISTINCT cl_zbh) as jcl" 616 + String sql = " select b.xlgs, a.gs_bm,a.gs_name, a.fgs_bm,a.fgs_name , a.xl_bm,b.xl_name,b.sbc,b.sxl,b.scl,a.jbc ,a.jxl ,a.jcl,a.gslsbm,a.fgsbm,a.bc_type from "
  617 + + " (select count(DISTINCT gs_bm) gslsbm, gs_bm, count(DISTINCT fgs_bm) fgsbm,fgs_bm,gs_name,fgs_name ,xl_bm, count(*) as jbc,COUNT(DISTINCT xl_bm) as jxl ,COUNT(DISTINCT cl_zbh) as jcl,bc_type"
501 + " from bsth_c_s_sp_info" + " where DATE_FORMAT(schedule_date,'%Y-%m-%d') BETWEEN '" 618 + " from bsth_c_s_sp_info" + " where DATE_FORMAT(schedule_date,'%Y-%m-%d') BETWEEN '"
502 + map.get("startDate").toString() + "' and '" + map.get("endDate").toString() + "' and xl_bm='" 619 + map.get("startDate").toString() + "' and '" + map.get("endDate").toString() + "' and xl_bm='"
503 - + map.get("line").toString() + "' AND gs_bm is not null"  
504 - + " GROUP BY gs_bm,fgs_bm,xl_bm,gs_name,fgs_name ) a left JOIN ("  
505 - + "SELECT COUNT(*) as xlgs,b.gs_bm,b.fgs_bm,b.xl_bm,b.xl_name,b.gs_name,b.fgs_name, b.sbc,b.sxl ,b.scl "  
506 - + "from bsth_c_line t RIGHT JOIN (select gs_bm,fgs_bm,xl_bm,xl_name,gs_name,fgs_name, count(*) as sbc,COUNT(DISTINCT xl_bm) as sxl ,COUNT(DISTINCT cl_zbh) as scl from bsth_c_s_sp_info_real " 620 + + map.get("line").toString() + "' AND gs_bm is not null AND bc_type NOT IN ('in', 'out') "
  621 + /*+ " and gs_bm='"+ map.get("gsdmAllline").toString() + "'"
  622 + + " and fgs_bm='"+ map.get("fgsdmAllline").toString() + "'"*/
  623 + + " GROUP BY gs_bm,fgs_bm,xl_bm,gs_name,fgs_name,bc_type ) a left JOIN ("
  624 + + "SELECT COUNT(*"
  625 + + ") as xlgs,b.gs_bm,b.fgs_bm,b.xl_bm,b."
  626 + + "xl_name,b.gs_name,b.fgs_name, b.sbc,b.sxl ,b.scl "
  627 + + "from bsth_c_line t RIGHT JOIN (select gs_bm,fgs_bm,xl_bm,xl_name,gs_name,fgs_name, count(*) as sbc,COUNT(DISTINCT xl_bm) as sxl ,COUNT(DISTINCT cl_zbh) as scl,bc_type from bsth_c_s_sp_info_real "
507 + "where DATE_FORMAT(schedule_date,'%Y-%m-%d') BETWEEN '" + map.get("startDate").toString() + "' and '" 628 + "where DATE_FORMAT(schedule_date,'%Y-%m-%d') BETWEEN '" + map.get("startDate").toString() + "' and '"
508 - + map.get("endDate").toString() + "' and xl_bm='" + map.get("line").toString()  
509 - + "' AND gs_bm is not null "  
510 - + "GROUP BY gs_bm,fgs_bm,xl_bm,gs_name,fgs_name) b ON t.company=b.gs_bm) b on " 629 + + map.get("endDate").toString() + "' and xl_bm='" + map.get
  630 + ("line").toString()
  631 + + "' AND gs_bm is not null AND bc_type NOT IN ('in', 'out')"
  632 + + "GROUP BY gs_bm,fgs_bm,xl_bm,gs_name,fgs_name,bc_type) b ON t.company=b.gs_bm) b on "
511 + " a.gs_bm=b.gs_bm and a.fgs_bm=b.fgs_bm and a.xl_bm=b.xl_bm "; 633 + " a.gs_bm=b.gs_bm and a.fgs_bm=b.fgs_bm and a.xl_bm=b.xl_bm ";
512 List<Allline> list = jdbcTemplate.query(sql, new RowMapper<Allline>() { 634 List<Allline> list = jdbcTemplate.query(sql, new RowMapper<Allline>() {
513 635
@@ -532,14 +654,19 @@ public class FormsServiceImpl implements FormsService { @@ -532,14 +654,19 @@ public class FormsServiceImpl implements FormsService {
532 tu.setBcjh(arg0.getString("jbc").toString()); 654 tu.setBcjh(arg0.getString("jbc").toString());
533 tu.setBcsj(arg0.getString("sbc").toString()); 655 tu.setBcsj(arg0.getString("sbc").toString());
534 tu.setBbzxl(result2 + "%");// 班次执行率 656 tu.setBbzxl(result2 + "%");// 班次执行率
  657 +
535 // tu.setSm(arg0.getString("xl_name").toString()); 658 // tu.setSm(arg0.getString("xl_name").toString());
536 tu.setGsgs(arg0.getString("gslsbm").toString()); 659 tu.setGsgs(arg0.getString("gslsbm").toString());
537 tu.setFgsgs(arg0.getString("fgsbm").toString()); 660 tu.setFgsgs(arg0.getString("fgsbm").toString());
538 return tu; 661 return tu;
539 } 662 }
540 663
  664 +
541 }); 665 });
  666 +
542 667
  668 +
  669 +
543 return list; 670 return list;
544 } 671 }
545 } 672 }
src/main/java/com/bsth/service/impl/BusIntervalServiceImpl.java
@@ -133,7 +133,7 @@ public class BusIntervalServiceImpl implements BusIntervalService { @@ -133,7 +133,7 @@ public class BusIntervalServiceImpl implements BusIntervalService {
133 DO:{ 133 DO:{
134 if(model.length() != 0){ 134 if(model.length() != 0){
135 for(Long tt : ttList){ 135 for(Long tt : ttList){
136 - if(tt == schedule.getSpId()){ 136 + if((long)tt == (long)schedule.getSpId()){
137 resList.add(schedule); 137 resList.add(schedule);
138 break DO; 138 break DO;
139 } 139 }
src/main/java/com/bsth/service/impl/TrafficManageServiceImpl.java
@@ -37,6 +37,8 @@ import java.sql.ResultSet; @@ -37,6 +37,8 @@ import java.sql.ResultSet;
37 import java.text.DecimalFormat; 37 import java.text.DecimalFormat;
38 import java.text.SimpleDateFormat; 38 import java.text.SimpleDateFormat;
39 import java.util.*; 39 import java.util.*;
  40 +import java.util.regex.Pattern;
  41 +
40 /** 42 /**
41 * 43 *
42 * @ClassName: TrafficManageServiceImpl(运管处接口service业务层实现类) 44 * @ClassName: TrafficManageServiceImpl(运管处接口service业务层实现类)
@@ -299,6 +301,7 @@ public class TrafficManageServiceImpl implements TrafficManageService{ @@ -299,6 +301,7 @@ public class TrafficManageServiceImpl implements TrafficManageService{
299 */ 301 */
300 public String setLD(){ 302 public String setLD(){
301 String result = "failure"; 303 String result = "failure";
  304 + Line line;
302 // 取昨天 的日期 305 // 取昨天 的日期
303 String date = sdfnyr.format(DateUtils.addDays(new Date(), -1)); 306 String date = sdfnyr.format(DateUtils.addDays(new Date(), -1));
304 StringBuffer sf = new StringBuffer(); 307 StringBuffer sf = new StringBuffer();
@@ -312,6 +315,11 @@ public class TrafficManageServiceImpl implements TrafficManageService{ @@ -312,6 +315,11 @@ public class TrafficManageServiceImpl implements TrafficManageService{
312 //根据车辆自编号查询车牌号 315 //根据车辆自编号查询车牌号
313 map.put("insideCode_eq", schRealInfo.getClZbh()); 316 map.put("insideCode_eq", schRealInfo.getClZbh());
314 Cars car = carsRepository.findOne(new CustomerSpecs<Cars>(map)); 317 Cars car = carsRepository.findOne(new CustomerSpecs<Cars>(map));
  318 + // 获取线路是否使用标识,如果未使用,则不查该线路数据
  319 + line = lineRepository.findByLineCode(schRealInfo.getXlBm());
  320 + if(line.getInUse() == null || line.getInUse() == 0){
  321 + continue;
  322 + }
315 sf.append("<DLD>"); 323 sf.append("<DLD>");
316 sf.append("<RQ>"+schRealInfo.getScheduleDateStr()+"</RQ>"); 324 sf.append("<RQ>"+schRealInfo.getScheduleDateStr()+"</RQ>");
317 sf.append("<XLBM>"+BasicData.lineCode2ShangHaiCodeMap.get(schRealInfo.getXlBm())+"</XLBM>"); 325 sf.append("<XLBM>"+BasicData.lineCode2ShangHaiCodeMap.get(schRealInfo.getXlBm())+"</XLBM>");
@@ -557,14 +565,14 @@ public class TrafficManageServiceImpl implements TrafficManageService{ @@ -557,14 +565,14 @@ public class TrafficManageServiceImpl implements TrafficManageService{
557 @Override 565 @Override
558 public String setJHBC() { 566 public String setJHBC() {
559 String result = "failure"; 567 String result = "failure";
  568 + Line line;
560 StringBuffer sBuffer =new StringBuffer(); 569 StringBuffer sBuffer =new StringBuffer();
561 try { 570 try {
562 sBuffer.append("<JHBCs>"); 571 sBuffer.append("<JHBCs>");
563 // 声明变量 572 // 声明变量
564 - SchedulePlanInfo schedulePlanInfo = null;  
565 - String xlbm = "",zbh = ""; 573 + SchedulePlanInfo schedulePlanInfo;
  574 + String xlbm,zbh = "";
566 Long lp = 0L; 575 Long lp = 0L;
567 - int startSerialNum = 0,endSerialNum = 0;;  
568 // 取明天的日期 576 // 取明天的日期
569 String tomorrow = sdfnyr.format(DateUtils.addDays(new Date(), +1)); 577 String tomorrow = sdfnyr.format(DateUtils.addDays(new Date(), +1));
570 // 查询所有班次 578 // 查询所有班次
@@ -573,8 +581,13 @@ public class TrafficManageServiceImpl implements TrafficManageService{ @@ -573,8 +581,13 @@ public class TrafficManageServiceImpl implements TrafficManageService{
573 int size = schedulePlanList.size(); 581 int size = schedulePlanList.size();
574 for (int i = 0; i < size; i++) { 582 for (int i = 0; i < size; i++) {
575 schedulePlanInfo = schedulePlanList.get(i); 583 schedulePlanInfo = schedulePlanList.get(i);
  584 + xlbm = schedulePlanInfo.getXlBm();
  585 + // 获取线路是否使用标识,如果未使用,则不查该线路数据
  586 + line = lineRepository.findByLineCode(xlbm);
  587 + if(line.getInUse() == null || line.getInUse() == 0){
  588 + continue;
  589 + }
576 if(i == 0){// 第一次,则初始化值 590 if(i == 0){// 第一次,则初始化值
577 - xlbm = schedulePlanInfo.getXlBm();  
578 zbh = schedulePlanInfo.getClZbh(); 591 zbh = schedulePlanInfo.getClZbh();
579 lp = schedulePlanInfo.getLp(); 592 lp = schedulePlanInfo.getLp();
580 // 拼装XML 593 // 拼装XML
@@ -605,18 +618,28 @@ public class TrafficManageServiceImpl implements TrafficManageService{ @@ -605,18 +618,28 @@ public class TrafficManageServiceImpl implements TrafficManageService{
605 sBuffer.append("</JHBC>"); 618 sBuffer.append("</JHBC>");
606 } 619 }
607 }else{ 620 }else{
608 - xlbm = schedulePlanInfo.getXlBm();  
609 zbh = schedulePlanInfo.getClZbh(); 621 zbh = schedulePlanInfo.getClZbh();
610 lp = schedulePlanInfo.getLp(); 622 lp = schedulePlanInfo.getLp();
611 sBuffer.append("</BCList>"); 623 sBuffer.append("</BCList>");
612 sBuffer.append("</JHBC>"); 624 sBuffer.append("</JHBC>");
613 - startSerialNum = 0;  
614 - endSerialNum = 0;  
615 // 拼装XML 625 // 拼装XML
616 assembleJHBC(sBuffer, schedulePlanInfo, xlbm, zbh, lp); 626 assembleJHBC(sBuffer, schedulePlanInfo, xlbm, zbh, lp);
617 } 627 }
618 } 628 }
619 } 629 }
  630 + // 判断XML是否以</BCList>结尾,如果不是,则加上
  631 + String regex = "^*</JHBC>$";
  632 + Pattern p = Pattern.compile(regex);
  633 + java.util.regex.Matcher m = p.matcher(sBuffer);
  634 + boolean isEndWithTrueFlag = false;
  635 + while (m.find()) {
  636 + isEndWithTrueFlag = true;
  637 + }
  638 + // 加上缺失的标签
  639 + if(!isEndWithTrueFlag){
  640 + sBuffer.append("</BCList>");
  641 + sBuffer.append("</JHBC>");
  642 + }
620 sBuffer.append("</JHBCs>"); 643 sBuffer.append("</JHBCs>");
621 if(ssop.setJHBC(userNameOther, passwordOther, sBuffer.toString()).isSuccess()){ 644 if(ssop.setJHBC(userNameOther, passwordOther, sBuffer.toString()).isSuccess()){
622 result = "success"; 645 result = "success";
@@ -643,7 +666,7 @@ public class TrafficManageServiceImpl implements TrafficManageService{ @@ -643,7 +666,7 @@ public class TrafficManageServiceImpl implements TrafficManageService{
643 StringBuffer sBufferA; 666 StringBuffer sBufferA;
644 StringBuffer sBufferB; 667 StringBuffer sBufferB;
645 TTInfo ttInfo; 668 TTInfo ttInfo;
646 - TTInfoDetail ttInfoDetail = null; 669 + TTInfoDetail ttInfoDetail;
647 Iterator<TTInfoDetail> ttInfoDetailIterator; 670 Iterator<TTInfoDetail> ttInfoDetailIterator;
648 HashMap<String,Object> param = new HashMap<String, Object>(); 671 HashMap<String,Object> param = new HashMap<String, Object>();
649 String lineCode ; 672 String lineCode ;
@@ -1027,6 +1050,8 @@ public class TrafficManageServiceImpl implements TrafficManageService{ @@ -1027,6 +1050,8 @@ public class TrafficManageServiceImpl implements TrafficManageService{
1027 company = "浦东金高公交公司"; 1050 company = "浦东金高公交公司";
1028 }else if(company.equals("南汇公司")){ 1051 }else if(company.equals("南汇公司")){
1029 company = "浦东南汇公交公司"; 1052 company = "浦东南汇公交公司";
  1053 + }else if(company.equals("青浦公交")){
  1054 + company = "浦东青浦公交公司";
1030 } 1055 }
1031 } 1056 }
1032 /** 1057 /**
src/main/java/com/bsth/service/realcontrol/dto/SectionRouteCoords.java
1 -package com.bsth.service.realcontrol.dto;  
2 -  
3 -/**  
4 - * 线调地图 路段路由DTO  
5 - * Created by panzhao on 2016/12/1.  
6 - */  
7 -public class SectionRouteCoords {  
8 -  
9 - private int id;  
10 -  
11 - private String lineCode;  
12 -  
13 - private String sectionCode;  
14 -  
15 - private String sectionrouteCode;  
16 -  
17 - private int directions;  
18 -  
19 - private String sectionName;  
20 -  
21 - private String gsectionVector;  
22 -  
23 - private Float sectionDistance;  
24 -  
25 - private Float sectionTime;  
26 -  
27 - public int getId() {  
28 - return id;  
29 - }  
30 -  
31 - public void setId(int id) {  
32 - this.id = id;  
33 - }  
34 -  
35 - public String getLineCode() {  
36 - return lineCode;  
37 - }  
38 -  
39 - public void setLineCode(String lineCode) {  
40 - this.lineCode = lineCode;  
41 - }  
42 -  
43 - public String getSectionCode() {  
44 - return sectionCode;  
45 - }  
46 -  
47 - public void setSectionCode(String sectionCode) {  
48 - this.sectionCode = sectionCode;  
49 - }  
50 -  
51 - public String getSectionrouteCode() {  
52 - return sectionrouteCode;  
53 - }  
54 -  
55 - public void setSectionrouteCode(String sectionrouteCode) {  
56 - this.sectionrouteCode = sectionrouteCode;  
57 - }  
58 -  
59 - public int getDirections() {  
60 - return directions;  
61 - }  
62 -  
63 - public void setDirections(int directions) {  
64 - this.directions = directions;  
65 - }  
66 -  
67 - public String getSectionName() {  
68 - return sectionName;  
69 - }  
70 -  
71 - public void setSectionName(String sectionName) {  
72 - this.sectionName = sectionName;  
73 - }  
74 -  
75 - public String getGsectionVector() {  
76 - return gsectionVector;  
77 - }  
78 -  
79 - public void setGsectionVector(String gsectionVector) {  
80 - this.gsectionVector = gsectionVector;  
81 - }  
82 -  
83 - public Float getSectionDistance() {  
84 - return sectionDistance;  
85 - }  
86 -  
87 - public void setSectionDistance(Float sectionDistance) {  
88 - this.sectionDistance = sectionDistance;  
89 - }  
90 -  
91 - public Float getSectionTime() {  
92 - return sectionTime;  
93 - }  
94 -  
95 - public void setSectionTime(Float sectionTime) {  
96 - this.sectionTime = sectionTime;  
97 - }  
98 -} 1 +package com.bsth.service.realcontrol.dto;
  2 +
  3 +/**
  4 + * 线调地图 路段路由DTO
  5 + * Created by panzhao on 2016/12/1.
  6 + */
  7 +public class SectionRouteCoords {
  8 +
  9 + private int id;
  10 +
  11 + private String lineCode;
  12 +
  13 + private String sectionCode;
  14 +
  15 + private String sectionrouteCode;
  16 +
  17 + private int directions;
  18 +
  19 + private String sectionName;
  20 +
  21 + private String gsectionVector;
  22 +
  23 + private Float sectionDistance;
  24 +
  25 + private Float sectionTime;
  26 +
  27 + public int getId() {
  28 + return id;
  29 + }
  30 +
  31 + public void setId(int id) {
  32 + this.id = id;
  33 + }
  34 +
  35 + public String getLineCode() {
  36 + return lineCode;
  37 + }
  38 +
  39 + public void setLineCode(String lineCode) {
  40 + this.lineCode = lineCode;
  41 + }
  42 +
  43 + public String getSectionCode() {
  44 + return sectionCode;
  45 + }
  46 +
  47 + public void setSectionCode(String sectionCode) {
  48 + this.sectionCode = sectionCode;
  49 + }
  50 +
  51 + public String getSectionrouteCode() {
  52 + return sectionrouteCode;
  53 + }
  54 +
  55 + public void setSectionrouteCode(String sectionrouteCode) {
  56 + this.sectionrouteCode = sectionrouteCode;
  57 + }
  58 +
  59 + public int getDirections() {
  60 + return directions;
  61 + }
  62 +
  63 + public void setDirections(int directions) {
  64 + this.directions = directions;
  65 + }
  66 +
  67 + public String getSectionName() {
  68 + return sectionName;
  69 + }
  70 +
  71 + public void setSectionName(String sectionName) {
  72 + this.sectionName = sectionName;
  73 + }
  74 +
  75 + public String getGsectionVector() {
  76 + return gsectionVector;
  77 + }
  78 +
  79 + public void setGsectionVector(String gsectionVector) {
  80 + this.gsectionVector = gsectionVector;
  81 + }
  82 +
  83 + public Float getSectionDistance() {
  84 + return sectionDistance;
  85 + }
  86 +
  87 + public void setSectionDistance(Float sectionDistance) {
  88 + this.sectionDistance = sectionDistance;
  89 + }
  90 +
  91 + public Float getSectionTime() {
  92 + return sectionTime;
  93 + }
  94 +
  95 + public void setSectionTime(Float sectionTime) {
  96 + this.sectionTime = sectionTime;
  97 + }
  98 +}
src/main/java/com/bsth/service/realcontrol/impl/ChildTaskPlanServiceImpl.java
1 package com.bsth.service.realcontrol.impl; 1 package com.bsth.service.realcontrol.impl;
2 2
3 -import java.util.Map;  
4 -  
5 -import javax.transaction.Transactional;  
6 -  
7 -import org.springframework.beans.factory.annotation.Autowired;  
8 -import org.springframework.stereotype.Service;  
9 -  
10 import com.bsth.data.BasicData; 3 import com.bsth.data.BasicData;
11 import com.bsth.data.match.Arrival2Schedule; 4 import com.bsth.data.match.Arrival2Schedule;
12 import com.bsth.data.schedule.DayOfSchedule; 5 import com.bsth.data.schedule.DayOfSchedule;
13 import com.bsth.entity.realcontrol.ChildTaskPlan; 6 import com.bsth.entity.realcontrol.ChildTaskPlan;
14 import com.bsth.entity.realcontrol.ScheduleRealInfo; 7 import com.bsth.entity.realcontrol.ScheduleRealInfo;
15 import com.bsth.repository.realcontrol.ChildTaskPlanRepository; 8 import com.bsth.repository.realcontrol.ChildTaskPlanRepository;
  9 +import com.bsth.repository.realcontrol.ScheduleRealInfoRepository;
16 import com.bsth.service.impl.BaseServiceImpl; 10 import com.bsth.service.impl.BaseServiceImpl;
17 import com.bsth.service.realcontrol.ChildTaskPlanService; 11 import com.bsth.service.realcontrol.ChildTaskPlanService;
  12 +import org.springframework.beans.factory.annotation.Autowired;
  13 +import org.springframework.jdbc.core.JdbcTemplate;
  14 +import org.springframework.stereotype.Service;
  15 +
  16 +import javax.transaction.Transactional;
  17 +import java.util.Map;
18 18
19 @Service 19 @Service
20 public class ChildTaskPlanServiceImpl extends BaseServiceImpl<ChildTaskPlan, Long> implements ChildTaskPlanService{ 20 public class ChildTaskPlanServiceImpl extends BaseServiceImpl<ChildTaskPlan, Long> implements ChildTaskPlanService{
21 21
22 /*@Autowired 22 /*@Autowired
23 ScheduleRealInfoServiceImpl scheduleRealInfoService;*/ 23 ScheduleRealInfoServiceImpl scheduleRealInfoService;*/
  24 +
  25 + @Autowired
  26 + ScheduleRealInfoRepository scheduleRealInfoRepository;
24 27
25 @Autowired 28 @Autowired
26 ChildTaskPlanRepository childTaskPlanRepository; 29 ChildTaskPlanRepository childTaskPlanRepository;
@@ -30,6 +33,9 @@ public class ChildTaskPlanServiceImpl extends BaseServiceImpl&lt;ChildTaskPlan, Lon @@ -30,6 +33,9 @@ public class ChildTaskPlanServiceImpl extends BaseServiceImpl&lt;ChildTaskPlan, Lon
30 33
31 @Autowired 34 @Autowired
32 Arrival2Schedule arrival2Schedule; 35 Arrival2Schedule arrival2Schedule;
  36 +
  37 + @Autowired
  38 + JdbcTemplate jdbcTemplate;
33 39
34 @Transactional 40 @Transactional
35 @Override 41 @Override
@@ -62,10 +68,13 @@ public class ChildTaskPlanServiceImpl extends BaseServiceImpl&lt;ChildTaskPlan, Lon @@ -62,10 +68,13 @@ public class ChildTaskPlanServiceImpl extends BaseServiceImpl&lt;ChildTaskPlan, Lon
62 //解除和主任务关联 68 //解除和主任务关联
63 ScheduleRealInfo sch = dayOfSchedule.get(cPlan.getSchedule().getId()); 69 ScheduleRealInfo sch = dayOfSchedule.get(cPlan.getSchedule().getId());
64 sch.getcTasks().remove(cPlan); 70 sch.getcTasks().remove(cPlan);
  71 + //删除关联表数据
  72 + jdbcTemplate.execute("delete from bsth_c_s_sp_info_real_c_tasks where bsth_c_s_sp_info_real="+sch.getId()+" and c_tasks="+cPlan.getId());
  73 +
65 //删除子任务 74 //删除子任务
66 rs = super.delete(id); 75 rs = super.delete(id);
67 dayOfSchedule.save(sch); 76 dayOfSchedule.save(sch);
68 - 77 +
69 rs.put("t", sch); 78 rs.put("t", sch);
70 return rs; 79 return rs;
71 } 80 }
src/main/java/com/bsth/service/realcontrol/impl/ScheduleRealInfoServiceImpl.java
@@ -1115,7 +1115,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf @@ -1115,7 +1115,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
1115 // int cjbc = scheduleRealInfoRepository.findCjbc(jName, clZbh, lpName); 1115 // int cjbc = scheduleRealInfoRepository.findCjbc(jName, clZbh, lpName);
1116 // int ljbc = scheduleRealInfoRepository.findLjbc(jName, clZbh, lpName); 1116 // int ljbc = scheduleRealInfoRepository.findLjbc(jName, clZbh, lpName);
1117 int jhbc = 0,cjbc = 0,ljbc = 0; 1117 int jhbc = 0,cjbc = 0,ljbc = 0;
1118 - double jhlc = 0, yygl = 0, ksgl = 0,tempJhlc = 0; 1118 + double jhlc = 0, yygl = 0, ksgl = 0,tempJhlc = 0,jcclc=0;
1119 float addMileage = 0l,remMileage = 0l; 1119 float addMileage = 0l,remMileage = 0l;
1120 Map<String,Object> map = new HashMap<String, Object>(); 1120 Map<String,Object> map = new HashMap<String, Object>();
1121 for(ScheduleRealInfo scheduleRealInfo : list){ 1121 for(ScheduleRealInfo scheduleRealInfo : list){
@@ -1141,8 +1141,11 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf @@ -1141,8 +1141,11 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
1141 Set<ChildTaskPlan> childTaskPlans = scheduleRealInfo.getcTasks(); 1141 Set<ChildTaskPlan> childTaskPlans = scheduleRealInfo.getcTasks();
1142 //计算营运里程,空驶里程 1142 //计算营运里程,空驶里程
1143 if(childTaskPlans.isEmpty()){ 1143 if(childTaskPlans.isEmpty()){
1144 - if(scheduleRealInfo.getBcType().equals("in") || scheduleRealInfo.getBcType().equals("out")  
1145 - || scheduleRealInfo.getBcType().equals("venting")){ 1144 + if(scheduleRealInfo.getBcType().equals("in") ||
  1145 + scheduleRealInfo.getBcType().equals("out")){
  1146 + ksgl += tempJhlc;
  1147 + jcclc +=tempJhlc;
  1148 + }else if(scheduleRealInfo.getBcType().equals("venting")){
1146 ksgl += tempJhlc; 1149 ksgl += tempJhlc;
1147 }else{ 1150 }else{
1148 if(scheduleRealInfo.getStatus() != -1){ 1151 if(scheduleRealInfo.getStatus() != -1){
@@ -1177,6 +1180,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf @@ -1177,6 +1180,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
1177 map.put("cjbc", cjbc); 1180 map.put("cjbc", cjbc);
1178 map.put("ljbc", ljbc); 1181 map.put("ljbc", ljbc);
1179 map.put("sjbc", jhbc-cjbc+ljbc); 1182 map.put("sjbc", jhbc-cjbc+ljbc);
  1183 + map.put("jcclc", jcclc);
1180 return map; 1184 return map;
1181 } 1185 }
1182 1186
@@ -1680,7 +1684,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf @@ -1680,7 +1684,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
1680 @Override 1684 @Override
1681 public Map<String, Object> findKMBC1(String jName, String clZbh, 1685 public Map<String, Object> findKMBC1(String jName, String clZbh,
1682 String date, String enddate) { 1686 String date, String enddate) {
1683 - List<ScheduleRealInfo> list = scheduleRealInfoRepository.queryListWaybill2(jName, clZbh, date, enddate); 1687 + List<ScheduleRealInfo> list = scheduleRealInfoRepository.queryListWaybill4(jName, clZbh, date, enddate);
1684 DecimalFormat format = new DecimalFormat("0.00"); 1688 DecimalFormat format = new DecimalFormat("0.00");
1685 // int cjbc = scheduleRealInfoRepository.findCjbc(jName, clZbh, lpName); 1689 // int cjbc = scheduleRealInfoRepository.findCjbc(jName, clZbh, lpName);
1686 // int ljbc = scheduleRealInfoRepository.findLjbc(jName, clZbh, lpName); 1690 // int ljbc = scheduleRealInfoRepository.findLjbc(jName, clZbh, lpName);
src/main/java/com/bsth/service/schedule/BService.java 0 → 100644
  1 +package com.bsth.service.schedule;
  2 +
  3 +import org.springframework.data.domain.Page;
  4 +import org.springframework.data.domain.Pageable;
  5 +
  6 +import java.io.Serializable;
  7 +import java.util.List;
  8 +import java.util.Map;
  9 +
  10 +/**
  11 + * 基础service接口。
  12 + */
  13 +public interface BService<T, ID extends Serializable> {
  14 + // CRUD 操作
  15 + // Create,Update操作
  16 + T save(T t);
  17 + <S extends T> List<S> bulkSave(List<S> entities); // 批量保存(TODO:待测试)
  18 + // Research操作
  19 + T findById(ID id);
  20 + List<T> findAll();
  21 + Page<T> list(Map<String, Object> param, Pageable pageable);
  22 + List<T> list(Map<String, Object> param);
  23 + // Delete操作
  24 + void delete(ID id) throws ScheduleException;
  25 +}
src/main/java/com/bsth/service/schedule/CarConfigInfoService.java
1 package com.bsth.service.schedule; 1 package com.bsth.service.schedule;
2 2
3 import com.bsth.entity.schedule.CarConfigInfo; 3 import com.bsth.entity.schedule.CarConfigInfo;
4 -import com.bsth.service.BaseService;  
5 4
6 /** 5 /**
7 * Created by xu on 16/5/9. 6 * Created by xu on 16/5/9.
8 */ 7 */
9 -public interface CarConfigInfoService extends BaseService<CarConfigInfo, Long> { 8 +public interface CarConfigInfoService extends BService<CarConfigInfo, Long> {
  9 + public void validate_cars(CarConfigInfo carConfigInfo) throws ScheduleException;
  10 + public void toggleCancel(Long id) throws ScheduleException;
10 } 11 }
src/main/java/com/bsth/service/schedule/CarConfigInfoServiceImpl.java deleted 100644 → 0
1 -package com.bsth.service.schedule;  
2 -  
3 -import com.bsth.common.ResponseCode;  
4 -import com.bsth.entity.schedule.CarConfigInfo;  
5 -import com.bsth.entity.schedule.rule.ScheduleRule1Flat;  
6 -import com.bsth.repository.schedule.CarConfigInfoRepository;  
7 -import com.bsth.service.impl.BaseServiceImpl;  
8 -import org.springframework.beans.factory.annotation.Autowired;  
9 -import org.springframework.stereotype.Service;  
10 -  
11 -import javax.transaction.Transactional;  
12 -import java.util.*;  
13 -  
14 -/**  
15 - * Created by xu on 16/5/9.  
16 - */  
17 -@Service  
18 -public class CarConfigInfoServiceImpl extends BaseServiceImpl<CarConfigInfo, Long> implements CarConfigInfoService {  
19 - @Autowired  
20 - private CarConfigInfoRepository carConfigInfoRepository;  
21 - @Autowired  
22 - private ScheduleRule1FlatService scheduleRule1FlatService;  
23 -  
24 - @Override  
25 - @Transactional  
26 - public Map<String, Object> delete(Long aLong) {  
27 - // 获取待作废的车辆配置  
28 - CarConfigInfo carConfigInfo = carConfigInfoRepository.findOne(aLong);  
29 - // 查询有无规则使用过此车辆配置  
30 - Map<String, Object> param = new HashMap<>();  
31 - param.put("carConfigInfo.id_eq", carConfigInfo.getId());  
32 - Iterator<ScheduleRule1Flat> scheduleRule1FlatIterator =  
33 - scheduleRule1FlatService.list(param).iterator();  
34 - boolean isExist = false;  
35 - while (scheduleRule1FlatIterator.hasNext()) {  
36 - ScheduleRule1Flat scheduleRule1Flat = scheduleRule1FlatIterator.next();  
37 - if (scheduleRule1Flat.getCarConfigInfo().getId().equals(carConfigInfo.getId())) {  
38 - isExist = true;  
39 - break;  
40 - }  
41 - }  
42 -  
43 - Map<String, Object> map = new HashMap<>();  
44 -  
45 - if (isExist) {  
46 - throw new RuntimeException("车辆配置已被规则使用,不能删除,请先修改规则!");  
47 - } else {  
48 - carConfigInfo.setIsCancel(true);  
49 - map.put("status", ResponseCode.SUCCESS);  
50 - }  
51 -  
52 - return map;  
53 -  
54 - }  
55 -}  
src/main/java/com/bsth/service/schedule/CarsService.java 0 → 100644
  1 +package com.bsth.service.schedule;
  2 +
  3 +import com.bsth.entity.Cars;
  4 +
  5 +/**
  6 + * Created by xu on 16/12/8.
  7 + */
  8 +public interface CarsService extends BService<Cars, Integer> {
  9 + public void validate_nbbh(Cars cars) throws ScheduleException;
  10 + public void validate_clbh(Cars cars) throws ScheduleException;
  11 + public void validate_cph(Cars cars) throws ScheduleException;
  12 + public void validate_sbbh(Cars cars) throws ScheduleException;
  13 +}
src/main/java/com/bsth/service/schedule/EmployeeConfigInfoService.java
1 package com.bsth.service.schedule; 1 package com.bsth.service.schedule;
2 2
3 import com.bsth.entity.schedule.EmployeeConfigInfo; 3 import com.bsth.entity.schedule.EmployeeConfigInfo;
4 -import com.bsth.service.BaseService;  
5 4
6 /** 5 /**
7 * Created by xu on 16/5/10. 6 * Created by xu on 16/5/10.
8 */ 7 */
9 -public interface EmployeeConfigInfoService extends BaseService<EmployeeConfigInfo, Long> { 8 +public interface EmployeeConfigInfoService extends BService<EmployeeConfigInfo, Long> {
  9 + void validate_jsy(EmployeeConfigInfo employeeConfigInfo) throws ScheduleException;
  10 + void validate_spy(EmployeeConfigInfo employeeConfigInfo) throws ScheduleException;
  11 + public void toggleCancel(Long id) throws ScheduleException;
10 } 12 }
src/main/java/com/bsth/service/schedule/EmployeeConfigInfoServiceImpl.java deleted 100644 → 0
1 -package com.bsth.service.schedule;  
2 -  
3 -import com.bsth.common.ResponseCode;  
4 -import com.bsth.entity.Line;  
5 -import com.bsth.entity.schedule.EmployeeConfigInfo;  
6 -import com.bsth.entity.schedule.rule.ScheduleRule1Flat;  
7 -import com.bsth.repository.schedule.EmployeeConfigInfoRepository;  
8 -import com.bsth.service.impl.BaseServiceImpl;  
9 -import org.springframework.beans.factory.annotation.Autowired;  
10 -import org.springframework.stereotype.Service;  
11 -  
12 -import javax.transaction.Transactional;  
13 -import java.util.*;  
14 -  
15 -/**  
16 - * Created by xu on 16/5/10.  
17 - */  
18 -@Service  
19 -public class EmployeeConfigInfoServiceImpl extends BaseServiceImpl<EmployeeConfigInfo, Long> implements EmployeeConfigInfoService {  
20 - @Autowired  
21 - private EmployeeConfigInfoRepository employeeConfigInfoRepository;  
22 - @Autowired  
23 - private ScheduleRule1FlatService scheduleRule1FlatService;  
24 -  
25 -  
26 - @Override  
27 - @Transactional  
28 - public Map<String, Object> delete(Long aLong) {  
29 - // 获取待作废的人员配置  
30 - EmployeeConfigInfo employeeConfigInfo = employeeConfigInfoRepository.findOne(aLong);  
31 - // 获取线路  
32 - Line xl = employeeConfigInfo.getXl();  
33 - // 查找线路的规则,比较人员配置信息  
34 - Map<String, Object> param = new HashMap<>();  
35 - param.put("xl.id_eq", xl.getId());  
36 - Iterator<ScheduleRule1Flat> employeeConfigInfoIterator = scheduleRule1FlatService.list(param).iterator();  
37 - List<String> ryConfigIds = new ArrayList<>();  
38 - while (employeeConfigInfoIterator.hasNext()) {  
39 - ScheduleRule1Flat scheduleRule1Flat = employeeConfigInfoIterator.next();  
40 - ryConfigIds.addAll(Arrays.asList(scheduleRule1Flat.getRyConfigIds().split(",")));  
41 - }  
42 -  
43 - Map<String, Object> map = new HashMap<>();  
44 -  
45 - if (ryConfigIds.contains(employeeConfigInfo.getId().toString())) {  
46 - throw new RuntimeException("人员配置已被规则使用,不能删除,请先修改规则!");  
47 - } else {  
48 - employeeConfigInfo.setIsCancel(true);  
49 - map.put("status", ResponseCode.SUCCESS);  
50 - }  
51 -  
52 - return map;  
53 - }  
54 -  
55 -}  
src/main/java/com/bsth/service/schedule/GuideboardInfoService.java
1 package com.bsth.service.schedule; 1 package com.bsth.service.schedule;
2 2
3 import com.bsth.entity.schedule.GuideboardInfo; 3 import com.bsth.entity.schedule.GuideboardInfo;
4 -import com.bsth.service.BaseService;  
5 4
6 /** 5 /**
7 * Created by xu on 16/5/11. 6 * Created by xu on 16/5/11.
8 */ 7 */
9 -public interface GuideboardInfoService extends BaseService<GuideboardInfo, Long> { 8 +public interface GuideboardInfoService extends BService<GuideboardInfo, Long> {
  9 + public void validate(GuideboardInfo guideboardInfo) throws ScheduleException;
  10 + public void toggleCancel(Long id) throws ScheduleException;
10 } 11 }
src/main/java/com/bsth/service/schedule/GuideboardInfoServiceImpl.java deleted 100644 → 0
1 -package com.bsth.service.schedule;  
2 -  
3 -import com.bsth.entity.schedule.GuideboardInfo;  
4 -import com.bsth.service.impl.BaseServiceImpl;  
5 -import org.springframework.stereotype.Service;  
6 -  
7 -/**  
8 - * Created by xu on 16/5/11.  
9 - */  
10 -@Service  
11 -public class GuideboardInfoServiceImpl extends BaseServiceImpl<GuideboardInfo, Long> implements GuideboardInfoService {  
12 -}  
src/main/java/com/bsth/service/schedule/PeopleCarPlanServiceImpl.java
@@ -46,7 +46,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { @@ -46,7 +46,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService {
46 if(company.length() != 0) 46 if(company.length() != 0)
47 sql += " and gs_bm = '"+company+"' and fgs_bm = '"+subCompany+"'"; 47 sql += " and gs_bm = '"+company+"' and fgs_bm = '"+subCompany+"'";
48 48
49 - list =jdbcTemplate.query(sql, 49 + list = jdbcTemplate.query(sql,
50 new RowMapper<ScheduleRealInfo>(){ 50 new RowMapper<ScheduleRealInfo>(){
51 @Override 51 @Override
52 public ScheduleRealInfo mapRow(ResultSet rs, int rowNum) throws SQLException { 52 public ScheduleRealInfo mapRow(ResultSet rs, int rowNum) throws SQLException {
@@ -117,7 +117,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { @@ -117,7 +117,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService {
117 sql += " and gs_bm = '"+company+"' and fgs_bm = '"+subCompany+"'"; 117 sql += " and gs_bm = '"+company+"' and fgs_bm = '"+subCompany+"'";
118 } 118 }
119 119
120 - list =jdbcTemplate.query(sql, 120 + list = jdbcTemplate.query(sql,
121 new RowMapper<SchedulePlanInfo>(){ 121 new RowMapper<SchedulePlanInfo>(){
122 @Override 122 @Override
123 public SchedulePlanInfo mapRow(ResultSet rs, int rowNum) throws SQLException { 123 public SchedulePlanInfo mapRow(ResultSet rs, int rowNum) throws SQLException {
@@ -362,13 +362,15 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { @@ -362,13 +362,15 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService {
362 } 362 }
363 ScheduleRealInfo shouban = tempList.get(0); 363 ScheduleRealInfo shouban = tempList.get(0);
364 ScheduleRealInfo moban = tempList.get(tempList.size() - 1); 364 ScheduleRealInfo moban = tempList.get(tempList.size() - 1);
  365 +// System.out.println(shouban.getFcsjActual() + "-首班-" + shouban.getFcsj());
  366 +// System.out.println(moban.getFcsjActual() + "-末班-" + moban.getFcsj());
  367 + jhsb++;
365 if(shouban.getFcsjActual() != null){ 368 if(shouban.getFcsjActual() != null){
366 - jhsb++;  
367 if(shouban.getFcsjActualTime() - shouban.getFcsjT() >= -60000 && shouban.getFcsjActualTime() - shouban.getFcsjT() <= 180000) 369 if(shouban.getFcsjActualTime() - shouban.getFcsjT() >= -60000 && shouban.getFcsjActualTime() - shouban.getFcsjT() <= 180000)
368 sjsb++; 370 sjsb++;
369 } 371 }
  372 + jhmb++;
370 if(moban.getFcsjActual() != null){ 373 if(moban.getFcsjActual() != null){
371 - jhmb++;  
372 if(moban.getFcsjActualTime() - moban.getFcsjT() >= -60000 && moban.getFcsjActualTime() - moban.getFcsjT() <= 180000) 374 if(moban.getFcsjActualTime() - moban.getFcsjT() >= -60000 && moban.getFcsjActualTime() - moban.getFcsjT() <= 180000)
373 sjmb++; 375 sjmb++;
374 } 376 }
@@ -452,7 +454,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { @@ -452,7 +454,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService {
452 } 454 }
453 sql += " and bc_type = 'normal'"; 455 sql += " and bc_type = 'normal'";
454 456
455 - list =jdbcTemplate.query(sql, 457 + list = jdbcTemplate.query(sql,
456 new RowMapper<ScheduleRealInfo>(){ 458 new RowMapper<ScheduleRealInfo>(){
457 @Override 459 @Override
458 public ScheduleRealInfo mapRow(ResultSet rs, int rowNum) throws SQLException { 460 public ScheduleRealInfo mapRow(ResultSet rs, int rowNum) throws SQLException {
@@ -497,7 +499,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { @@ -497,7 +499,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService {
497 DO:{ 499 DO:{
498 if(model.length() != 0){ 500 if(model.length() != 0){
499 for(Long tt : ttList){ 501 for(Long tt : ttList){
500 - if(tt == schedule.getSpId()){ 502 + if((long)tt == (long)schedule.getSpId()){
501 String key = schedule.getXlName()+"/"+schedule.getQdzName()+"/"+schedule.getFcsj(); 503 String key = schedule.getXlName()+"/"+schedule.getQdzName()+"/"+schedule.getFcsj();
502 if(!keyMap.containsKey(key)) 504 if(!keyMap.containsKey(key))
503 keyMap.put(key, new ArrayList<ScheduleRealInfo>()); 505 keyMap.put(key, new ArrayList<ScheduleRealInfo>());
src/main/java/com/bsth/service/schedule/ScheduleException.java 0 → 100644
  1 +package com.bsth.service.schedule;
  2 +
  3 +/**
  4 + * Created by xu on 16/12/5.
  5 + */
  6 +public class ScheduleException extends Exception {
  7 + public ScheduleException(String message) {
  8 + super("计划调度业务错误==>>" + message);
  9 + }
  10 +}
src/main/java/com/bsth/service/schedule/impl/BServiceImpl.java 0 → 100644
  1 +package com.bsth.service.schedule.impl;
  2 +
  3 +import com.bsth.entity.search.CustomerSpecs;
  4 +import com.bsth.repository.BaseRepository;
  5 +import com.bsth.service.schedule.BService;
  6 +import com.bsth.service.schedule.ScheduleException;
  7 +import org.slf4j.Logger;
  8 +import org.slf4j.LoggerFactory;
  9 +import org.springframework.beans.factory.annotation.Autowired;
  10 +import org.springframework.beans.factory.annotation.Value;
  11 +import org.springframework.data.domain.Page;
  12 +import org.springframework.data.domain.Pageable;
  13 +import org.springframework.data.jpa.domain.Specification;
  14 +
  15 +import javax.persistence.EntityManager;
  16 +import java.io.Serializable;
  17 +import java.util.ArrayList;
  18 +import java.util.List;
  19 +import java.util.Map;
  20 +
  21 +/**
  22 + * 基础BService实现。
  23 + */
  24 +public class BServiceImpl<T, ID extends Serializable> implements BService<T, ID> {
  25 + @Autowired
  26 + private BaseRepository<T, ID> baseRepository;
  27 + @Autowired
  28 + private EntityManager entityManager;
  29 + @Value("${hibernate.jdbc.batch_size}")
  30 + private int batchSize;
  31 +
  32 + /** 日志记录器 */
  33 + protected Logger logger = LoggerFactory.getLogger(this.getClass());
  34 +
  35 + // CRUD 操作
  36 + // Create,Update操作
  37 + @Override
  38 + public T save(T t) {
  39 + if (logger.isDebugEnabled()) {
  40 + logger.debug("save...");
  41 + }
  42 + return baseRepository.save(t);
  43 + }
  44 + @Override
  45 + public <S extends T> List<S> bulkSave(List<S> entities) {
  46 + if (logger.isDebugEnabled()) {
  47 + logger.debug("bulkSave...");
  48 + }
  49 +
  50 + // 不使用内部批量保存,自己实现批量保存
  51 + final List<S> savedEntities = new ArrayList<>(entities.size());
  52 + int i = 0;
  53 + for (S t : entities) {
  54 + entityManager.persist(t);
  55 + savedEntities.add(t);
  56 + i++;
  57 + if (i % batchSize == 0) {
  58 + entityManager.flush();
  59 + entityManager.clear();
  60 + }
  61 + }
  62 + return savedEntities;
  63 + }
  64 +
  65 + // Research操作
  66 + @Override
  67 + public T findById(ID id) {
  68 + if (logger.isDebugEnabled()) {
  69 + logger.debug("findById...");
  70 + }
  71 +
  72 + return baseRepository.findOne(id);
  73 + }
  74 + @Override
  75 + public List<T> findAll() {
  76 + if (logger.isDebugEnabled()) {
  77 + logger.debug("findAll...");
  78 + }
  79 +
  80 + return (List<T>) baseRepository.findAll();
  81 + }
  82 + @Override
  83 + public Page<T> list(Map<String, Object> param, Pageable pageable) {
  84 + if (logger.isDebugEnabled()) {
  85 + logger.debug("list(...,pageable)...");
  86 + }
  87 +
  88 + // 自定义查询参数
  89 + Specification<T> specification = new CustomerSpecs<>(param);
  90 + return baseRepository.findAll(specification, pageable);
  91 + }
  92 + @Override
  93 + public List<T> list(Map<String, Object> param) {
  94 + if (logger.isDebugEnabled()) {
  95 + logger.debug("list...");
  96 + }
  97 +
  98 + // 自定义查询参数
  99 + Specification<T> specification = new CustomerSpecs<>(param);
  100 + return baseRepository.findAll(specification);
  101 + }
  102 + // Delete操作
  103 + @Override
  104 + public void delete(ID id) throws ScheduleException {
  105 + if (logger.isDebugEnabled()) {
  106 + logger.debug("delete...");
  107 + }
  108 +
  109 + baseRepository.delete(id);
  110 + }
  111 +}
src/main/java/com/bsth/service/schedule/impl/CarConfigInfoServiceImpl.java 0 → 100644
  1 +package com.bsth.service.schedule.impl;
  2 +
  3 +import com.bsth.entity.schedule.CarConfigInfo;
  4 +import com.bsth.entity.schedule.rule.ScheduleRule1Flat;
  5 +import com.bsth.service.schedule.CarConfigInfoService;
  6 +import com.bsth.service.schedule.ScheduleException;
  7 +import com.bsth.service.schedule.ScheduleRule1FlatService;
  8 +import org.springframework.beans.factory.annotation.Autowired;
  9 +import org.springframework.stereotype.Service;
  10 +import org.springframework.transaction.annotation.Transactional;
  11 +import org.springframework.util.CollectionUtils;
  12 +
  13 +import java.util.HashMap;
  14 +import java.util.List;
  15 +import java.util.Map;
  16 +
  17 +/**
  18 + * Created by xu on 16/5/9.
  19 + */
  20 +@Service
  21 +public class CarConfigInfoServiceImpl extends BServiceImpl<CarConfigInfo, Long> implements CarConfigInfoService {
  22 + @Autowired
  23 + private ScheduleRule1FlatService scheduleRule1FlatService;
  24 +
  25 + @Transactional
  26 + public void validate_cars(CarConfigInfo carConfigInfo) throws ScheduleException {
  27 + // 相同车辆不能同时配置
  28 + Map<String, Object> param = new HashMap<>();
  29 + if (carConfigInfo.getId() != null) {
  30 + param.put("id_ne", carConfigInfo.getId());
  31 + }
  32 +
  33 + if (carConfigInfo.getXl() == null ||
  34 + carConfigInfo.getXl().getId() == null ||
  35 + carConfigInfo.getXl().getName() == null) {
  36 + throw new ScheduleException("线路未选择");
  37 + } else {
  38 +// param.put("xl.id_eq", carConfigInfo.getXl().getId());
  39 + if (carConfigInfo.getCl() == null || carConfigInfo.getCl().getId() == null) {
  40 + throw new ScheduleException("车辆未选择");
  41 + } else {
  42 + param.put("cl.id_eq", carConfigInfo.getCl().getId());
  43 + if (!CollectionUtils.isEmpty(list(param))) {
  44 + throw new ScheduleException("车辆已经配置在" + carConfigInfo.getXl().getName() + "线路中!");
  45 + }
  46 + }
  47 + }
  48 +
  49 + }
  50 +
  51 + @Transactional
  52 + @Override
  53 + public void delete(Long aLong) throws ScheduleException {
  54 + toggleCancel(aLong);
  55 + }
  56 +
  57 + @Transactional
  58 + public void toggleCancel(Long id) throws ScheduleException {
  59 + CarConfigInfo carConfigInfo = findById(id);
  60 + Map<String, Object> param = new HashMap<>();
  61 + if (carConfigInfo.getIsCancel()) {
  62 + validate_cars(carConfigInfo);
  63 + carConfigInfo.setIsCancel(false);
  64 + } else {
  65 + param.clear();
  66 + param.put("carConfigInfo.id_eq", carConfigInfo.getId());
  67 + List<ScheduleRule1Flat> scheduleRule1Flats = (List<ScheduleRule1Flat>) scheduleRule1FlatService.list(param);
  68 + if (CollectionUtils.isEmpty(scheduleRule1Flats)) {
  69 + carConfigInfo.setIsCancel(true);
  70 + } else {
  71 + throw new ScheduleException("车辆配置已被规则使用,不能作废,请先修改规则!");
  72 + }
  73 + }
  74 + }
  75 +
  76 +}
src/main/java/com/bsth/service/schedule/impl/CarsServiceImpl.java 0 → 100644
  1 +package com.bsth.service.schedule.impl;
  2 +
  3 +import com.bsth.entity.Cars;
  4 +import com.bsth.service.schedule.CarsService;
  5 +import com.bsth.service.schedule.ScheduleException;
  6 +import org.springframework.stereotype.Service;
  7 +import org.springframework.transaction.annotation.Transactional;
  8 +import org.springframework.util.CollectionUtils;
  9 +
  10 +import java.util.HashMap;
  11 +import java.util.Map;
  12 +
  13 +/**
  14 + * Created by xu on 16/12/8.
  15 + */
  16 +@Service(value = "carsServiceImpl_sc")
  17 +public class CarsServiceImpl extends BServiceImpl<Cars, Integer> implements CarsService {
  18 +
  19 + @Override
  20 + @Transactional
  21 + public void validate_nbbh(Cars cars) throws ScheduleException {
  22 + // 查询条件
  23 + Map<String, Object> param = new HashMap<>();
  24 + if (cars.getId() != null) {
  25 + param.put("id_ne", cars.getId());
  26 + }
  27 + param.put("insideCode_eq", cars.getInsideCode());
  28 + if (!CollectionUtils.isEmpty(list(param))) {
  29 + throw new ScheduleException("车辆内部编号/自编号重复");
  30 + }
  31 + }
  32 +
  33 + @Override
  34 + @Transactional
  35 + public void validate_clbh(Cars cars) throws ScheduleException {
  36 + // 查询条件
  37 + Map<String, Object> param = new HashMap<>();
  38 + if (cars.getId() != null) {
  39 + param.put("id_ne", cars.getId());
  40 + }
  41 + param.put("carCode_eq", cars.getCarCode());
  42 + if (!CollectionUtils.isEmpty(list(param))) {
  43 + throw new ScheduleException("车辆编号重复");
  44 + }
  45 + }
  46 +
  47 + @Override
  48 + @Transactional
  49 + public void validate_cph(Cars cars) throws ScheduleException {
  50 + // 查询条件
  51 + Map<String, Object> param = new HashMap<>();
  52 + if (cars.getId() != null) {
  53 + param.put("id_ne", cars.getId());
  54 + }
  55 + param.put("carPlate_eq", cars.getCarPlate());
  56 + if (!CollectionUtils.isEmpty(list(param))) {
  57 + throw new ScheduleException("车牌号重复");
  58 + }
  59 + }
  60 +
  61 + @Override
  62 + @Transactional
  63 + public void validate_sbbh(Cars cars) throws ScheduleException {
  64 + // 查询条件
  65 + Map<String, Object> param = new HashMap<>();
  66 + if (cars.getId() != null) {
  67 + param.put("id_ne", cars.getId());
  68 + }
  69 + param.put("equipmentCode_eq", cars.getEquipmentCode());
  70 + if (!CollectionUtils.isEmpty(list(param))) {
  71 + throw new ScheduleException("设备编号重复");
  72 + }
  73 + }
  74 +}
src/main/java/com/bsth/service/schedule/impl/EmployeeConfigInfoServiceImpl.java 0 → 100644
  1 +package com.bsth.service.schedule.impl;
  2 +
  3 +import com.bsth.entity.schedule.EmployeeConfigInfo;
  4 +import com.bsth.entity.schedule.rule.ScheduleRule1Flat;
  5 +import com.bsth.service.schedule.EmployeeConfigInfoService;
  6 +import com.bsth.service.schedule.ScheduleException;
  7 +import com.bsth.service.schedule.ScheduleRule1FlatService;
  8 +import org.springframework.beans.factory.annotation.Autowired;
  9 +import org.springframework.stereotype.Service;
  10 +import org.springframework.transaction.annotation.Transactional;
  11 +import org.springframework.util.CollectionUtils;
  12 +
  13 +import java.util.*;
  14 +
  15 +/**
  16 + * Created by xu on 16/5/10.
  17 + */
  18 +@Service
  19 +public class EmployeeConfigInfoServiceImpl extends BServiceImpl<EmployeeConfigInfo, Long> implements EmployeeConfigInfoService {
  20 + @Autowired
  21 + private ScheduleRule1FlatService scheduleRule1FlatService;
  22 +
  23 + @Transactional
  24 + @Override
  25 + public void validate_jsy(EmployeeConfigInfo employeeConfigInfo) throws ScheduleException {
  26 + // 驾驶员不能重复配置
  27 + Map<String, Object> param = new HashMap<>();
  28 + if (employeeConfigInfo.getId() != null) {
  29 + param.put("id_ne", employeeConfigInfo.getId());
  30 + }
  31 +
  32 + if (employeeConfigInfo.getXl() == null ||
  33 + employeeConfigInfo.getXl().getId() == null ||
  34 + employeeConfigInfo.getXl().getName() == null) {
  35 + throw new ScheduleException("线路未选择");
  36 + } else {
  37 + if (employeeConfigInfo.getJsy() == null || employeeConfigInfo.getJsy().getId() == null) {
  38 + throw new ScheduleException("驾驶员未选择");
  39 + } else {
  40 + param.put("jsy.id_eq", employeeConfigInfo.getJsy().getId());
  41 + if (!CollectionUtils.isEmpty(list(param))) {
  42 + throw new ScheduleException("驾驶员已经配置在" + employeeConfigInfo.getXl().getName() + "线路中!");
  43 + }
  44 + }
  45 + }
  46 + }
  47 +
  48 + @Transactional
  49 + @Override
  50 + public void validate_spy(EmployeeConfigInfo employeeConfigInfo) throws ScheduleException {
  51 + // 售票员不能重复配置
  52 + Map<String, Object> param = new HashMap<>();
  53 + if (employeeConfigInfo.getId() != null) {
  54 + param.put("id_ne", employeeConfigInfo.getId());
  55 + }
  56 +
  57 + if (employeeConfigInfo.getXl() == null ||
  58 + employeeConfigInfo.getXl().getId() == null ||
  59 + employeeConfigInfo.getXl().getName() == null) {
  60 + throw new ScheduleException("线路未选择");
  61 + } else {
  62 + if (employeeConfigInfo.getSpy() == null || employeeConfigInfo.getSpy().getId() == null) {
  63 + throw new ScheduleException("售票员未选择");
  64 + } else {
  65 + param.put("spy.id_eq", employeeConfigInfo.getSpy().getId());
  66 + if (!CollectionUtils.isEmpty(list(param))) {
  67 + throw new ScheduleException("售票员已经配置在" + employeeConfigInfo.getXl().getName() + "线路中!");
  68 + }
  69 + }
  70 + }
  71 + }
  72 +
  73 + @Transactional
  74 + @Override
  75 + public void delete(Long aLong) throws ScheduleException {
  76 + toggleCancel(aLong);
  77 + }
  78 +
  79 + @Transactional
  80 + @Override
  81 + public void toggleCancel(Long id) throws ScheduleException {
  82 + EmployeeConfigInfo employeeConfigInfo = findById(id);
  83 + Map<String, Object> param = new HashMap<>();
  84 + if (employeeConfigInfo.getIsCancel()) {
  85 + validate_jsy(employeeConfigInfo);
  86 + if (employeeConfigInfo.getSpy() != null) {
  87 + validate_spy(employeeConfigInfo);
  88 + }
  89 + employeeConfigInfo.setIsCancel(false);
  90 + } else {
  91 + param.clear();
  92 + param.put("xl.id_eq", employeeConfigInfo.getXl().getId());
  93 + List<ScheduleRule1Flat> scheduleRule1Flats = (List<ScheduleRule1Flat>) scheduleRule1FlatService.list(param);
  94 + List<String> ryConfigIds = new ArrayList<>();
  95 + for (ScheduleRule1Flat scheduleRule1Flat : scheduleRule1Flats) {
  96 + ryConfigIds.addAll(Arrays.asList(scheduleRule1Flat.getRyConfigIds().split(",")));
  97 + }
  98 +
  99 + if (ryConfigIds.contains(String.valueOf(id))) {
  100 + throw new ScheduleException("人员配置已被规则使用,不能作废,请先修改规则!");
  101 + } else {
  102 + employeeConfigInfo.setIsCancel(true);
  103 + }
  104 + }
  105 + }
  106 +
  107 +}
src/main/java/com/bsth/service/schedule/impl/GuideboardInfoServiceImpl.java 0 → 100644
  1 +package com.bsth.service.schedule.impl;
  2 +
  3 +import com.bsth.entity.schedule.GuideboardInfo;
  4 +import com.bsth.entity.schedule.TTInfoDetail;
  5 +import com.bsth.service.schedule.GuideboardInfoService;
  6 +import com.bsth.service.schedule.ScheduleException;
  7 +import com.bsth.service.schedule.TTInfoDetailService;
  8 +import org.springframework.beans.factory.annotation.Autowired;
  9 +import org.springframework.stereotype.Service;
  10 +import org.springframework.util.CollectionUtils;
  11 +
  12 +import javax.transaction.Transactional;
  13 +import java.util.HashMap;
  14 +import java.util.List;
  15 +import java.util.Map;
  16 +
  17 +/**
  18 + * 路牌信息服务。
  19 + */
  20 +@Service
  21 +public class GuideboardInfoServiceImpl extends BServiceImpl<GuideboardInfo, Long> implements GuideboardInfoService {
  22 + @Autowired
  23 + private TTInfoDetailService ttInfoDetailService;
  24 +
  25 + // 验证方法
  26 + @Transactional
  27 + public void validate(GuideboardInfo guideboardInfo) throws ScheduleException {
  28 + // 查询条件
  29 + Map<String, Object> param = new HashMap<>();
  30 + if (guideboardInfo.getId() != null)
  31 + param.put("id_ne", guideboardInfo.getId());
  32 +
  33 + if (guideboardInfo.getXl() == null || guideboardInfo.getXl().getId() == null) {
  34 + throw new ScheduleException("线路未选择");
  35 + } else {
  36 + param.put("xl.id_eq", guideboardInfo.getXl().getId());
  37 +
  38 +// param.put("isCancel_eq", false); // 作废的也算入判定区
  39 + if (guideboardInfo.getLpNo() != null) {
  40 + if (guideboardInfo.getLpName() != null) {
  41 + // 如果两个都写了,分开查询
  42 + param.put("lpNo_eq", guideboardInfo.getLpNo());
  43 + if (!CollectionUtils.isEmpty(list(param))) {
  44 + throw new ScheduleException("路牌编号重复");
  45 + }
  46 + param.remove("lpNo_eq");
  47 + param.put("lpName_eq", guideboardInfo.getLpName());
  48 + if (!CollectionUtils.isEmpty(list(param))) {
  49 + throw new ScheduleException("路牌名称重复");
  50 + }
  51 +
  52 + } else {
  53 + param.put("lpNo_eq", guideboardInfo.getLpNo());
  54 + if (!CollectionUtils.isEmpty(list(param))) {
  55 + throw new ScheduleException("路牌编号重复");
  56 + }
  57 + }
  58 + } else {
  59 + if (guideboardInfo.getLpName() != null) {
  60 + param.put("lpName_eq", guideboardInfo.getLpName());
  61 + if (!CollectionUtils.isEmpty(list(param))) {
  62 + throw new ScheduleException("路牌名字重复");
  63 + }
  64 + } else {
  65 + // 都为空
  66 + throw new ScheduleException("路牌编号名字都为空");
  67 + }
  68 + }
  69 + }
  70 +
  71 + }
  72 +
  73 + @Transactional
  74 + @Override
  75 + public void delete(Long aLong) throws ScheduleException {
  76 + // 删除操作就是作废操作
  77 + toggleCancel(aLong);
  78 + }
  79 +
  80 + // 作废方法
  81 + @Transactional
  82 + public void toggleCancel(Long id) throws ScheduleException {
  83 + GuideboardInfo guideboardInfo = findById(id);
  84 + Map<String, Object> param = new HashMap<>();
  85 + if (guideboardInfo.getIsCancel()) {
  86 + validate(guideboardInfo);
  87 + guideboardInfo.setIsCancel(false);
  88 + } else {
  89 + param.clear();
  90 + param.put("xl.id_eq", guideboardInfo.getXl().getId());
  91 + param.put("ttinfo.isCancel_eq", false);
  92 + param.put("lp.id_eq", guideboardInfo.getId());
  93 + List<TTInfoDetail> ttInfoDetailList = (List<TTInfoDetail>) ttInfoDetailService.list(param);
  94 + if (CollectionUtils.isEmpty(ttInfoDetailList)) {
  95 + guideboardInfo.setIsCancel(true);
  96 + } else {
  97 + throw new ScheduleException("在时刻表" +
  98 + ttInfoDetailList.get(0).getTtinfo().getName() +
  99 + "已使用,无法删除!");
  100 + }
  101 + }
  102 + }
  103 +
  104 +}
src/main/resources/application-dev.properties
@@ -6,7 +6,7 @@ spring.jpa.hibernate.ddl-auto= update @@ -6,7 +6,7 @@ spring.jpa.hibernate.ddl-auto= update
6 spring.jpa.hibernate.naming_strategy= org.hibernate.cfg.ImprovedNamingStrategy 6 spring.jpa.hibernate.naming_strategy= org.hibernate.cfg.ImprovedNamingStrategy
7 #DATABASE 7 #DATABASE
8 spring.jpa.database= MYSQL 8 spring.jpa.database= MYSQL
9 -spring.jpa.show-sql= false 9 +spring.jpa.show-sql= true
10 spring.datasource.driver-class-name= com.mysql.jdbc.Driver 10 spring.datasource.driver-class-name= com.mysql.jdbc.Driver
11 spring.datasource.url= jdbc:mysql://192.168.168.201/mh_control?useUnicode=true&characterEncoding=utf-8&useSSL=false 11 spring.datasource.url= jdbc:mysql://192.168.168.201/mh_control?useUnicode=true&characterEncoding=utf-8&useSSL=false
12 spring.datasource.username= root 12 spring.datasource.username= root
src/main/resources/static/pages/base/line/js/line-add-form.js
@@ -94,7 +94,7 @@ $(function(){ @@ -94,7 +94,7 @@ $(function(){
94 $('#endStationEndTimeInput').datetimepicker({format : 'HH:mm',locale: 'zh-cn'}); 94 $('#endStationEndTimeInput').datetimepicker({format : 'HH:mm',locale: 'zh-cn'});
95 95
96 /** get请求获取公司表数据并填充公司下拉框选择值 */ 96 /** get请求获取公司表数据并填充公司下拉框选择值 */
97 - $get('/business/all', {upCode_eq: '77'}, function(array){ 97 + $get('/business/all', {upCode_eq: '88'}, function(array){
98 98
99 /** 公司下拉options属性值 */ 99 /** 公司下拉options属性值 */
100 var options = '<option value="">-- 请选择公司 --</option>'; 100 var options = '<option value="">-- 请选择公司 --</option>';
src/main/resources/static/pages/base/line/js/line-details-info.js
@@ -47,7 +47,7 @@ $(function(){ @@ -47,7 +47,7 @@ $(function(){
47 function selectTemp(callback) { 47 function selectTemp(callback) {
48 48
49 // 填充公司下拉框选择值 49 // 填充公司下拉框选择值
50 - $.get('/business/all', {upCode_eq: '77'}, function(array){ 50 + $.get('/business/all', {upCode_eq: '88'}, function(array){
51 51
52 // 公司下拉options属性值 52 // 公司下拉options属性值
53 var options = '<option value="">-- 请选择公司 --</option>'; 53 var options = '<option value="">-- 请选择公司 --</option>';
src/main/resources/static/pages/base/line/js/line-edit-form.js
@@ -42,7 +42,7 @@ @@ -42,7 +42,7 @@
42 function selectTemp(callback) { 42 function selectTemp(callback) {
43 43
44 // 填充公司下拉框选择值 44 // 填充公司下拉框选择值
45 - $.get('/business/all', {upCode_eq: '77'}, function(array){ 45 + $.get('/business/all', {upCode_eq: '88'}, function(array){
46 46
47 // 公司下拉options属性值 47 // 公司下拉options属性值
48 var options = '<option value="">-- 请选择公司 --</option>'; 48 var options = '<option value="">-- 请选择公司 --</option>';
src/main/resources/static/pages/base/line/js/line-list-table.js
@@ -202,7 +202,7 @@ @@ -202,7 +202,7 @@
202 } 202 }
203 203
204 /** 填充公司下拉框选择值 */ 204 /** 填充公司下拉框选择值 */
205 - $get('/business/all', {upCode_eq: '77'}, function(array){ 205 + $get('/business/all', {upCode_eq: '88'}, function(array){
206 206
207 // 公司下拉options属性值 207 // 公司下拉options属性值
208 var options = '<option value="">请选择...</option>'; 208 var options = '<option value="">请选择...</option>';
src/main/resources/static/pages/forecast/sample/js/svg.js
@@ -218,6 +218,8 @@ var sampleSvg = (function(){ @@ -218,6 +218,8 @@ var sampleSvg = (function(){
218 218
219 //分析path d 路径中间点 219 //分析path d 路径中间点
220 function analysePath(d){ 220 function analysePath(d){
  221 + if(!d)
  222 + return [-100, -100];
221 d = d.replace('M', ''); 223 d = d.replace('M', '');
222 var sp = d.split('L')[0].split(',') 224 var sp = d.split('L')[0].split(',')
223 ,ep = d.split('L')[1].split(',') 225 ,ep = d.split('L')[1].split(',')
src/main/resources/static/pages/forms/statement/allline.html
1 <style type="text/css"> 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 - .table>tbody>tr>td, .table>tbody>tr>th, .table>tfoot>tr>td, .table>tfoot>tr>th, .table>thead>tr>td, .table>thead>tr>th{ text-align: center; }  
19 -.table-checkable tr > th:first-child, .table-checkable tr > td:first-child {  
20 - text-align: center;  
21 - max-width: initial;  
22 - min-width: 40px;  
23 - padding-left: 0;  
24 - padding-right: 0; 2 +.table-bordered {
  3 + border: 1px solid;
25 } 4 }
26 5
  6 +.table-bordered>thead>tr>th, .table-bordered>thead>tr>td,
  7 + .table-bordered>tbody>tr>th, .table-bordered>tbody>tr>td,
  8 + .table-bordered>tfoot>tr>th, .table-bordered>tfoot>tr>td {
  9 + border: 1px solid;
  10 +}
  11 +
  12 +.table-bordered>thead>tr>th, .table-bordered>thead>tr>td {
  13 + border-bottom-width: 2px;
  14 + text-align: center;
  15 +}
  16 +
  17 +.table>tbody+tbody {
  18 + border-top: 1px solid;
  19 +}
  20 +
  21 +.table>tbody>tr>td, .table>tbody>tr>th, .table>tfoot>tr>td, .table>tfoot>tr>th,
  22 + .table>thead>tr>td, .table>thead>tr>th {
  23 + text-align: center;
  24 +}
  25 +
  26 +.table-checkable tr>th:first-child, .table-checkable tr>td:first-child {
  27 + text-align: center;
  28 + max-width: initial;
  29 + min-width: 40px;
  30 + padding-left: 0;
  31 + padding-right: 0;
  32 +}
27 </style> 33 </style>
28 34
29 <div class="page-head"> 35 <div class="page-head">
@@ -37,51 +43,64 @@ @@ -37,51 +43,64 @@
37 <div class="portlet light porttlet-fit bordered"> 43 <div class="portlet light porttlet-fit bordered">
38 <div class="portlet-title"> 44 <div class="portlet-title">
39 <form class="form-inline" action="" method="post"> 45 <form class="form-inline" action="" method="post">
40 - <div style="display: inline-block;">  
41 - <span class="item-label" style="width: 80px;">线路: </span>  
42 - <select class="form-control" name="line" id="line" style="width: 120px;"></select>  
43 - </div>  
44 - <div style="display: inline-block;margin-left: 15px;">  
45 - <span class="item-label" style="width: 80px;">开始时间: </span>  
46 - <input class="form-control" type="text" id="startDate" style="width: 120px;"/>  
47 - </div>  
48 - <div style="display: inline-block;margin-left: 15px;">  
49 - <span class="item-label" style="width: 80px;">结束时间: </span>  
50 - <input class="form-control" type="text" id="endDate" style="width: 120px;"/>  
51 - </div>  
52 - <div class="form-group">  
53 - <input class="btn btn-default" type="button" id="query" value="筛选"/>  
54 - <input class="btn btn-default" type="button" id="export" value="导出"/>  
55 - </div> 46 + <!-- <div style="display: inline-block; margin-left: 33px;" id="gsdmDiv_allline">
  47 + <span class="item-label" style="width: 80px;">公司: </span>
  48 + <select class="form-control" name="company" id="gsdmAllline" style="width: 140px;"></select>
  49 + </div>
  50 + <div style="display: inline-block; margin-left: 24px;" id="fgsdmDiv_allline">
  51 + <span class="item-label" style="width: 80px;">分公司: </span>
  52 + <select class="form-control" name="subCompany" id="fgsdmAllline" style="width: 140px;"></select>
  53 + </div> -->
  54 + <div style="display: inline-block;">
  55 + <span class="item-label" style="width: 80px;">线路: </span> <select
  56 + class="form-control" name="line" id="line" style="width: 120px;"></select>
  57 + </div>
  58 + <div style="display: inline-block; margin-left: 15px;">
  59 + <span class="item-label" style="width: 80px;">开始时间: </span> <input
  60 + class="form-control" type="text" id="startDate"
  61 + style="width: 120px;" />
  62 + </div>
  63 + <div style="display: inline-block; margin-left: 15px;">
  64 + <span class="item-label" style="width: 80px;">结束时间: </span> <input
  65 + class="form-control" type="text" id="endDate"
  66 + style="width: 120px;" />
  67 + </div>
  68 + <div class="form-group">
  69 + <input class="btn btn-default" type="button" id="query" value="筛选" />
  70 + <input class="btn btn-default" type="button" id="export"
  71 + value="导出" />
  72 + </div>
56 </form> 73 </form>
57 </div> 74 </div>
58 <div class="portlet-body"> 75 <div class="portlet-body">
59 - <div class="table-container" style="margin-top: 20px;overflow:auto;min-width: 1000px">  
60 - <table class="table table-bordered table-hover table-checkable" id="forms1"> 76 + <div class="table-container"
  77 + style="margin-top: 20px; overflow: auto; min-width: 1000px">
  78 + <table class="table table-bordered table-hover table-checkable"
  79 + id="forms1">
61 <thead> 80 <thead>
62 <tr> 81 <tr>
63 <th colspan="15">营运线路名称统计表</th> 82 <th colspan="15">营运线路名称统计表</th>
64 </tr> 83 </tr>
65 <tr> 84 <tr>
66 - <td rowspan="2" style=" padding-top: 20px;">日期</td>  
67 - <td rowspan="2" style=" padding-top: 20px;">公司</td>  
68 - <td rowspan="2" style=" padding-top: 20px;">直属公司</td>  
69 - <td rowspan="2" style=" padding-top: 20px;">线路名称</td> 85 + <td rowspan="2" style="padding-top: 20px;">日期</td>
  86 + <td rowspan="2" style="padding-top: 20px;">公司</td>
  87 + <td rowspan="2" style="padding-top: 20px;">直属公司</td>
  88 + <td rowspan="2" style="padding-top: 20px;">线路名称</td>
70 <td colspan="2">出车数</td> 89 <td colspan="2">出车数</td>
71 - <td rowspan="2" >出车率</td>  
72 - <td colspan="2" >班次数</td>  
73 - <td rowspan="2" style=" padding-top: 20px;">班次执行率</td>  
74 - <td rowspan="2" style=" padding-top: 20px;">说明</td> 90 + <td rowspan="2">出车率</td>
  91 + <td colspan="2">班次数</td>
  92 + <td rowspan="2" style="padding-top: 20px;">班次执行率</td>
  93 + <td rowspan="2" style="padding-top: 20px;">说明</td>
75 </tr> 94 </tr>
76 <tr> 95 <tr>
77 <td>计划</td> 96 <td>计划</td>
78 <td>实际</td> 97 <td>实际</td>
79 - <td>计划</td> 98 + <td>计划</td>
80 <td>实际</td> 99 <td>实际</td>
81 </tr> 100 </tr>
82 </thead> 101 </thead>
83 <tbody id="tbody"> 102 <tbody id="tbody">
84 - 103 +
85 </tbody> 104 </tbody>
86 <tr> 105 <tr>
87 <td colspan="1">分类汇总</td> 106 <td colspan="1">分类汇总</td>
@@ -104,96 +123,178 @@ @@ -104,96 +123,178 @@
104 </div> 123 </div>
105 124
106 <script> 125 <script>
107 - $(function(){ 126 + $(function() {
108 // 关闭左侧栏 127 // 关闭左侧栏
109 if (!$('body').hasClass('page-sidebar-closed')) 128 if (!$('body').hasClass('page-sidebar-closed'))
110 $('.menu-toggler.sidebar-toggler').click(); 129 $('.menu-toggler.sidebar-toggler').click();
111 - 130 +
112 $("#startDate,#endDate").datetimepicker({ 131 $("#startDate,#endDate").datetimepicker({
113 format : 'YYYY-MM-DD', 132 format : 'YYYY-MM-DD',
114 locale : 'zh-cn' 133 locale : 'zh-cn'
115 }); 134 });
116 -  
117 - $.get('/basic/lineCode2Name',function(result){  
118 - var data=[];  
119 -  
120 - for(var code in result){  
121 - data.push({id: code, text: result[code]}); 135 +
  136 + var obj = [];
  137 + $.get('/user/companyData', function(result) {
  138 + obj = result;
  139 + var options = '';
  140 + for (var i = 0; i < obj.length; i++) {
  141 + options += '<option value="'+obj[i].companyCode+'">'
  142 + + obj[i].companyName + '</option>';
122 } 143 }
123 - initPinYinSelect2('#line',data,'');  
124 -  
125 - })  
126 144
127 - var line;  
128 - var startDate;  
129 - var endDate;  
130 - $("#query").on("click",function(){  
131 -  
132 - line = $("#line").val();  
133 - startDate1=$("#startDate").val();  
134 - endDate1=$("#endDate").val();  
135 -  
136 - if(startDate1!=''&&endDate1!=''){  
137 - $post('/mcy_forms/allline',{line:line,startDate:$("#startDate").val(),endDate:$("#endDate").val(),type:'query'},function(result){  
138 - // 把数据填充到模版中  
139 - var tbodyHtml = template('allline',{list:result});  
140 - // 把渲染好的模版html文本追加到表格中  
141 - $('#tbody').html(tbodyHtml);  
142 - line = $("#line").val();  
143 - startDate = $("#startDate").val();  
144 - endDate = $("#endDate").val();  
145 - $("#sDate").text(startDate);  
146 - $("#eDate").text(endDate);  
147 -  
148 - var total_jh = 0;  
149 - var total_sj = 0,total_ccl = 0,total_bcjh = 0;  
150 - var total_bcjh = 0,total_bcsj = 0,total_bczxl = 0;  
151 - var total_gs=0;  
152 - var total_zhgs=0;  
153 - $.each(result, function(i, obj) {  
154 - total_gs +=Number(obj.gsgs);  
155 - total_zhgs +=Number(obj.fgsgs);  
156 - total_jh = Number(obj.cchjh)+Number(total_jh);  
157 - total_sj = Number(obj.cchsj)+Number(total_sj);  
158 -  
159 - total_ccl =(Number(total_sj)/Number(total_jh))*100;  
160 - total_bcjh = Number(obj.bcjh)+Number(total_bcjh);  
161 - total_bcsj = Number(obj.bcsj)+Number(total_bcsj);  
162 - total_bczxl = (Number(total_bcsj)/Number(total_bcjh))*100;  
163 -  
164 - });  
165 - $("#total_gs").text(total_gs);  
166 - $("#total_zhgs").text(total_zhgs);  
167 - $("#total_jh").text(total_jh);  
168 - $("#total_sj").text(total_sj);  
169 - $("#total_ccl").text(total_ccl.toFixed(2)+'%');  
170 - $("#total_bcjh").text(total_bcjh);  
171 - $("#total_bcsj").text(total_bcsj);  
172 - $("#total_bczxl").text(total_bczxl.toFixed(2)+'%');  
173 -  
174 - var temp = {};  
175 - var today_account = 0;  
176 -  
177 - temp["line"] = $("#line").text();  
178 - $.each(result, function(i, obj) {  
179 - if(moment(obj.schedule_date_str).format("YYYY-MM-DD") == moment(obj.startDate).format("YYYY-MM-DD")){  
180 - today_account++;  
181 - }  
182 - obj.updateDate = moment(obj.startDate).format("YYYY-MM-DD HH:mm:ss");  
183 - });  
184 -  
185 - })  
186 -  
187 - }else{  
188 - alert("请选择时间范围!");  
189 - }  
190 - });  
191 -  
192 - $("#export").on("click",function(){  
193 - $post('/mcy_export/alllineExport',{line:line,startDate:startDate,endDate:endDate,type:'export'},function(result){  
194 - window.open("/downloadFile/download?fileName=营运线路名称统计表"+moment(startDate).format("YYYYMMDD")); 145 + if (obj.length == 0) {
  146 + $("#gsdmDiv_allline").css('display', 'none');
  147 + $('#fgsdmDiv_allline').css('display', 'none');
  148 + } else if (obj.length == 1) {
  149 + $("#gsdmDiv_allline").css('display', 'none');
  150 + if (obj[0].children.length == 1 || obj[0].children.length == 0)
  151 + $('#fgsdmDiv_allline').css('display', 'none');
  152 + }
  153 + $('#gsdmAllline').html(options);
  154 + updateCompany();
195 }); 155 });
196 - }); 156 +
  157 + $("#gsdmAllline").on("change", updateCompany);
  158 + function updateCompany() {
  159 + var company = $('#gsdmAllline').val();
  160 + var options = '';
  161 + for (var i = 0; i < obj.length; i++) {
  162 + if (obj[i].companyCode == company) {
  163 + var children = obj[i].children;
  164 + for (var j = 0; j < children.length; j++) {
  165 + options += '<option value="'+children[j].code+'">'
  166 + + children[j].name + '</option>';
  167 + }
  168 + }
  169 + }
  170 + $('#fgsdmAllline').html(options);
  171 + }
  172 +
  173 + $.get('/basic/lineCode2Name', function(result) {
  174 + var data = [];
  175 +
  176 + for ( var code in result) {
  177 + data.push({
  178 + id : code,
  179 + text : result[code]
  180 + });
  181 + }
  182 + initPinYinSelect2('#line', data, '');
  183 +
  184 + })
  185 +
  186 + var line;
  187 + var startDate;
  188 + var endDate;
  189 + var gsdmAllline;
  190 + var fgsdmAllline;
  191 + $("#query").on("click",function() {
  192 + line = $("#line").val();
  193 + startDate1 = $("#startDate").val();
  194 + endDate1 = $("#endDate").val();
  195 + gsdmAllline = $("#gsdmAllline").val();
  196 + fgsdmAllline = $("#fgsdmAllline").val();
  197 + if (startDate1 != '' && endDate1 != '') {
  198 + $post('/mcy_forms/allline',{
  199 + /* gsdmAllline:gsdmAllline,fgsdmAllline:fgsdmAllline, */
  200 + line : line,
  201 + startDate : $("#startDate").val(),
  202 + endDate : $("#endDate").val(),
  203 + type : 'query'
  204 + },
  205 + function(result) {
  206 + // 把数据填充到模版中
  207 + var tbodyHtml = template('allline',
  208 + {
  209 + list : result
  210 + });
  211 + // 把渲染好的模版html文本追加到表格中
  212 + $('#tbody').html(tbodyHtml);
  213 + line = $("#line").val();
  214 + startDate = $("#startDate").val();
  215 + endDate = $("#endDate").val();
  216 + $("#sDate").text(startDate);
  217 + $("#eDate").text(endDate);
  218 +
  219 + var total_jh = 0;
  220 + var total_sj = 0, total_ccl = 0, total_bcjh = 0;
  221 + var total_bcjh = 0, total_bcsj = 0, total_bczxl = 0;
  222 + var total_gs = 0;
  223 + var total_zhgs = 0;
  224 + $
  225 + .each(
  226 + result,
  227 + function(i, obj) {
  228 + total_gs += Number(obj.gsgs);
  229 + total_zhgs += Number(obj.fgsgs);
  230 + total_jh = Number(obj.cchjh)
  231 + + Number(total_jh);
  232 + total_sj = Number(obj.cchsj)
  233 + + Number(total_sj);
  234 +
  235 + total_ccl = (Number(total_sj) / Number(total_jh)) * 100;
  236 + total_bcjh = Number(obj.bcjh)
  237 + + Number(total_bcjh);
  238 + total_bcsj = Number(obj.bcsj)
  239 + + Number(total_bcsj);
  240 + total_bczxl = (Number(total_bcsj) / Number(total_bcjh)) * 100;
  241 +
  242 + });
  243 + $("#total_gs").text(total_gs);
  244 + $("#total_zhgs").text(total_zhgs);
  245 + $("#total_jh").text(total_jh);
  246 + $("#total_sj").text(total_sj);
  247 + $("#total_ccl").text(
  248 + total_ccl.toFixed(2) + '%');
  249 + $("#total_bcjh").text(total_bcjh);
  250 + $("#total_bcsj").text(total_bcsj);
  251 + $("#total_bczxl").text(
  252 + total_bczxl.toFixed(2)
  253 + + '%');
  254 +
  255 + var temp = {};
  256 + var today_account = 0;
  257 +
  258 + temp["line"] = $("#line").text();
  259 + $
  260 + .each(
  261 + result,
  262 + function(i, obj) {
  263 + if (moment(
  264 + obj.schedule_date_str)
  265 + .format(
  266 + "YYYY-MM-DD") == moment(
  267 + obj.startDate)
  268 + .format(
  269 + "YYYY-MM-DD")) {
  270 + today_account++;
  271 + }
  272 + obj.updateDate = moment(
  273 + obj.startDate)
  274 + .format(
  275 + "YYYY-MM-DD HH:mm:ss");
  276 + });
  277 +
  278 + })
  279 +
  280 + } else {
  281 + alert("请选择时间范围!");
  282 + }
  283 + });
  284 +
  285 + $("#export").on(
  286 + "click",
  287 + function() {
  288 + $post('/mcy_export/alllineExport', {
  289 + line : line,
  290 + startDate : startDate,
  291 + endDate : endDate,
  292 + type : 'export'
  293 + }, function(result) {
  294 + window.open("/downloadFile/download?fileName=营运线路名称统计表"
  295 + + moment(startDate).format("YYYYMMDD"));
  296 + });
  297 + });
197 }); 298 });
198 </script> 299 </script>
199 <script type="text/html" id="allline"> 300 <script type="text/html" id="allline">
src/main/resources/static/pages/forms/statement/changetochange.html
1 <style type="text/css"> 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 - .table>tbody>tr>td, .table>tbody>tr>th, .table>tfoot>tr>td, .table>tfoot>tr>th, .table>thead>tr>td, .table>thead>tr>th{ text-align: center; }  
19 -.table-checkable tr > th:first-child, .table-checkable tr > td:first-child {  
20 - text-align: center;  
21 - max-width: initial;  
22 - min-width: 40px;  
23 - padding-left: 0;  
24 - padding-right: 0; 2 +.table-bordered {
  3 + border: 1px solid;
25 } 4 }
26 5
  6 +.table-bordered>thead>tr>th, .table-bordered>thead>tr>td,
  7 + .table-bordered>tbody>tr>th, .table-bordered>tbody>tr>td,
  8 + .table-bordered>tfoot>tr>th, .table-bordered>tfoot>tr>td {
  9 + border: 1px solid;
  10 +}
  11 +
  12 +.table-bordered>thead>tr>th, .table-bordered>thead>tr>td {
  13 + border-bottom-width: 2px;
  14 + text-align: center;
  15 +}
  16 +
  17 +.table>tbody+tbody {
  18 + border-top: 1px solid;
  19 +}
  20 +
  21 +.table>tbody>tr>td, .table>tbody>tr>th, .table>tfoot>tr>td, .table>tfoot>tr>th,
  22 + .table>thead>tr>td, .table>thead>tr>th {
  23 + text-align: center;
  24 +}
  25 +
  26 +.table-checkable tr>th:first-child, .table-checkable tr>td:first-child {
  27 + text-align: center;
  28 + max-width: initial;
  29 + min-width: 40px;
  30 + padding-left: 0;
  31 + padding-right: 0;
  32 +}
27 </style> 33 </style>
28 34
29 <div class="page-head"> 35 <div class="page-head">
@@ -37,58 +43,71 @@ @@ -37,58 +43,71 @@
37 <div class="portlet light porttlet-fit bordered"> 43 <div class="portlet light porttlet-fit bordered">
38 <div class="portlet-title"> 44 <div class="portlet-title">
39 <form class="form-inline" action="" method="post"> 45 <form class="form-inline" action="" method="post">
40 - <div style="display: inline-block;"> 46 + <div style="display: inline-block; margin-left: 33px;" id="gsdmDiv_change">
  47 + <span class="item-label" style="width: 80px;">公司: </span>
  48 + <select class="form-control" name="company" id="gsdmChange" style="width: 140px;"></select>
  49 + </div>
  50 + <div style="display: inline-block; margin-left: 24px;" id="fgsdmDiv_change">
  51 + <span class="item-label" style="width: 80px;">分公司: </span>
  52 + <select class="form-control" name="subCompany" id="fgsdmChange" style="width: 140px;"></select>
  53 + </div>
  54 + <div style="display: inline-block;">
41 <span class="item-label" style="width: 80px;">线路: </span> 55 <span class="item-label" style="width: 80px;">线路: </span>
42 - <select class="form-control" name="line" id="line" style="width: 120px;"></select>  
43 - </div>  
44 - <div style="display: inline-block;margin-left: 15px;">  
45 - <span class="item-label" style="width: 80px;">开始时间: </span>  
46 - <input class="form-control" type="text" id="startDate" style="width: 120px;"/> 56 + <select class="form-control" name="line" id="line" style="width: 180px;"></select>
47 </div> 57 </div>
48 - <div style="display: inline-block;margin-left: 15px;">  
49 - <span class="item-label" style="width: 80px;">结束时间: </span>  
50 - <input class="form-control" type="text" id="endDate" style="width: 120px;"/>  
51 - </div>  
52 - <div style="display: inline-block;">  
53 - <span class="item-label" style="width: 120px;">类型: </span>  
54 - <select class="form-control" id="sel">  
55 - <option value="">请选择</option>  
56 - <option value="1">换人</option>  
57 - <option value="2">换车</option> 58 + <div style="display: inline-block; margin-left: 15px;">
  59 + <span class="item-label" style="width: 80px;">开始时间: </span> <input
  60 + class="form-control" type="text" id="startDate"
  61 + style="width: 120px;" />
  62 + </div>
  63 + <div style="display: inline-block; margin-left: 15px;">
  64 + <span class="item-label" style="width: 80px;">结束时间: </span> <input
  65 + class="form-control" type="text" id="endDate"
  66 + style="width: 120px;" />
  67 + </div>
  68 + <div style="display: inline-block;">
  69 + <span class="item-label" style="width: 120px;">类型: </span> <select
  70 + class="form-control" id="sel">
  71 + <option value="">请选择</option>
  72 + <option value="1">换人</option>
  73 + <option value="2">换车</option>
58 </select> 74 </select>
59 </div> 75 </div>
60 - <div class="form-group">  
61 - <input class="btn btn-default" type="button" id="query" value="筛选"/>  
62 - <input class="btn btn-default" type="button" id="export" value="导出"/>  
63 - </div> 76 + <div class="form-group">
  77 + <input class="btn btn-default" type="button" id="query" value="筛选" />
  78 + <input class="btn btn-default" type="button" id="export"
  79 + value="导出" />
  80 + </div>
64 </form> 81 </form>
65 </div> 82 </div>
66 <div class="portlet-body"> 83 <div class="portlet-body">
67 - <div class="table-container" style="margin-top: 20px;overflow:auto;min-width: 1000px">  
68 - <table class="table table-bordered table-hover table-checkable" id="forms"> 84 + <div class="table-container"
  85 + style="margin-top: 20px; overflow: auto; min-width: 1000px">
  86 + <table class="table table-bordered table-hover table-checkable"
  87 + id="forms">
69 <thead> 88 <thead>
70 <tr> 89 <tr>
71 <th colspan="15">换人换车情况统计表</th> 90 <th colspan="15">换人换车情况统计表</th>
72 </tr> 91 </tr>
73 <tr> 92 <tr>
74 - <td rowspan="3" style=" padding-top: 50px;">日期</td>  
75 - <td rowspan="3" style=" padding-top: 50px;">公司</td>  
76 - <td rowspan="3" style=" padding-top: 50px;">分公司</td>  
77 - <td rowspan="3" style=" padding-top: 50px;">线路</td>  
78 - <td rowspan="3" style=" padding-top: 50px;">路牌</td>  
79 - <td rowspan="3" style=" padding-top: 50px;">发生时间</td>  
80 - <td rowspan="3" style=" padding-top: 50px;">修改时间</td> 93 + <td rowspan="3" style="padding-top: 50px;">日期</td>
  94 + <td rowspan="3" style="padding-top: 50px;">公司</td>
  95 + <td rowspan="3" style="padding-top: 50px;">分公司</td>
  96 + <td rowspan="3" style="padding-top: 50px;">线路</td>
  97 + <td rowspan="3" style="padding-top: 50px;">路牌</td>
  98 + <td rowspan="3" style="padding-top: 50px;">发生时间</td>
  99 + <td rowspan="3" style="padding-top: 50px;">修改时间</td>
81 <td colspan="2">配车</td> 100 <td colspan="2">配车</td>
82 <td colspan="4">人员</td> 101 <td colspan="4">人员</td>
83 - <td rowspan="3" style=" padding-top: 50px;">原因</td>  
84 - <td rowspan="3" style=" padding-top: 50px;">修改人</td> 102 + <td rowspan="3" style="padding-top: 50px;">原因</td>
  103 + <td rowspan="3" style="padding-top: 50px;">修改人</td>
85 </tr> 104 </tr>
86 <tr> 105 <tr>
87 <td>计划</td> 106 <td>计划</td>
88 <td>实际</td> 107 <td>实际</td>
89 <td colspan="2">计划</td> 108 <td colspan="2">计划</td>
90 <td colspan="2">实际</td> 109 <td colspan="2">实际</td>
91 - 110 +
92 </tr> 111 </tr>
93 <tr> 112 <tr>
94 <td>车号</td> 113 <td>车号</td>
@@ -100,7 +119,7 @@ @@ -100,7 +119,7 @@
100 </tr> 119 </tr>
101 </thead> 120 </thead>
102 <tbody> 121 <tbody>
103 - 122 +
104 </tbody> 123 </tbody>
105 </table> 124 </table>
106 </div> 125 </div>
@@ -110,94 +129,121 @@ @@ -110,94 +129,121 @@
110 </div> 129 </div>
111 130
112 <script> 131 <script>
113 - $(function(){ 132 + $(function() {
114 // 关闭左侧栏 133 // 关闭左侧栏
115 if (!$('body').hasClass('page-sidebar-closed')) 134 if (!$('body').hasClass('page-sidebar-closed'))
116 $('.menu-toggler.sidebar-toggler').click(); 135 $('.menu-toggler.sidebar-toggler').click();
117 - 136 +
118 $("#startDate,#endDate").datetimepicker({ 137 $("#startDate,#endDate").datetimepicker({
119 format : 'YYYY-MM-DD', 138 format : 'YYYY-MM-DD',
120 locale : 'zh-cn' 139 locale : 'zh-cn'
121 }); 140 });
  141 +
122 142
123 - $('#line').select2({  
124 - ajax: {  
125 - url: '/realSchedule/findLine',  
126 - type: 'post',  
127 - dataType: 'json',  
128 - delay: 150,  
129 - data: function(params){  
130 - return{line: params.term};  
131 - },  
132 - processResults: function (data) {  
133 - return {  
134 - results: data  
135 - };  
136 - },  
137 - cache: true  
138 - },  
139 - templateResult: function(repo){  
140 - if (repo.loading) return repo.text;  
141 - var h = '<span>'+repo.text+'</span>';  
142 - return h;  
143 - },  
144 - escapeMarkup: function (markup) { return markup; },  
145 - minimumInputLength: 1,  
146 - templateSelection: function(repo){  
147 - return repo.text;  
148 - },  
149 - language: {  
150 - noResults: function(){  
151 - return '<span style="color:red;font-size: 12px;">没有搜索到线路!</span>';  
152 - },  
153 - inputTooShort : function(e) {  
154 - return '<span style="color:gray;font-size: 12px;"><i class="fa fa-search"></i> 输入线路搜索线路</span>';  
155 - },  
156 - searching : function() {  
157 - return '<span style="color:gray;font-size: 12px;"> 正在搜索线路...</span>';  
158 - }  
159 - }  
160 - });  
161 - var line;  
162 - var startDate;  
163 - var endDate;  
164 - $("#query").on("click",function(){  
165 - line = $("#line").val();  
166 - sel = $("#sel").val();  
167 - var startDate1=$("#startDate").val();  
168 - var endDate1=$("#endDate").val(); 143 + var obj = [];
  144 + $.get('/user/companyData', function(result){
  145 + obj = result;
  146 + var options = '';
  147 + for(var i = 0; i < obj.length; i++){
  148 + options += '<option value="'+obj[i].companyCode+'">'+obj[i].companyName+'</option>';
  149 + }
  150 + if(obj.length ==0){
  151 + $("#gsdmDiv_change").css('display','none');
  152 + $('#fgsdmDiv_change').css('display','none');
  153 + }else if(obj.length ==1){
  154 + $("#gsdmDiv_change").css('display','none');
  155 + if(obj[0].children.length == 1 || obj[0].children.length ==0)
  156 + $('#fgsdmDiv_change').css('display','none');
  157 + }
  158 + $('#gsdmChange').html(options);
  159 + updateCompany();
  160 + });
  161 +
  162 + $("#gsdmChange").on("change",updateCompany);
  163 + function updateCompany(){
  164 + var company = $('#gsdmChange').val();
  165 + var options = '';
  166 + for(var i = 0; i < obj.length; i++){
  167 + if(obj[i].companyCode == company){
  168 + var children = obj[i].children;
  169 + for(var j = 0; j < children.length; j++){
  170 + options += '<option value="'+children[j].code+'">'+children[j].name+'</option>';
  171 + }
  172 + }
  173 + }
  174 + $('#fgsdmChange').html(options);
  175 + }
  176 +
  177 + $.get('/basic/lineCode2Name',function(result){
  178 + var data=[];
169 179
170 - if(startDate1!=''&&endDate1!=''){  
171 - $post('/mcy_forms/changetochange',{sel:sel,line:line,startDate:$("#startDate").val(),endDate:$("#endDate").val(),type:'query'},function(result){  
172 - startDate = $("#startDate").val();  
173 - endDate = $("#endDate").val();  
174 - $("#sDate").text(startDate);  
175 - $("#eDate").text(endDate);  
176 - var temp = {};  
177 - var today_account = 0;  
178 - temp["line"] = $("#line").text();  
179 - $.each(result, function(i, obj) {  
180 - if(moment(obj.schedule_date_str).format("YYYY-MM-DD") == moment(obj.startDate).format("YYYY-MM-DD")){  
181 - today_account++;  
182 - }  
183 - obj.updateDate = moment(obj.startDate).format("YYYY-MM-DD HH:mm:ss");  
184 - });  
185 - // 把数据填充到模版中  
186 - var tbodyHtml = template('changetochange',{list:result});  
187 - // 把渲染好的模版html文本追加到表格中  
188 - $('#forms tbody').html(tbodyHtml);  
189 - }) 180 + for(var code in result){
  181 + data.push({id: code, text: result[code]});
  182 + }
  183 + initPinYinSelect2('#line',data,'');
  184 +
  185 + })
190 186
191 - }else{  
192 - alert("请选择时间范围!");  
193 - }  
194 - });  
195 -  
196 - $("#export").on("click",function(){  
197 - $post('/mcy_export/changetochangeExport',{startDate:startDate,endDate:endDate,type:'export'},function(result){  
198 - window.open("/downloadFile/download?fileName=换人换车情况日统计"+moment(startDate).format("YYYYMMDD"));  
199 - });  
200 - }); 187 + var line;
  188 + var startDate;
  189 + var endDate;
  190 + $("#query").on(
  191 + "click",
  192 + function() {
  193 + line = $("#line").val();
  194 + sel = $("#sel").val();
  195 + var startDate1 = $("#startDate").val();
  196 + var endDate1 = $("#endDate").val();
  197 +
  198 + if (startDate1 != '' && endDate1 != '') {
  199 + $post('/mcy_forms/changetochange', {
  200 + sel : sel,
  201 + line : line,
  202 + startDate : $("#startDate").val(),
  203 + endDate : $("#endDate").val(),
  204 + type : 'query'
  205 + }, function(result) {
  206 + startDate = $("#startDate").val();
  207 + endDate = $("#endDate").val();
  208 + $("#sDate").text(startDate);
  209 + $("#eDate").text(endDate);
  210 + var temp = {};
  211 + var today_account = 0;
  212 + temp["line"] = $("#line").text();
  213 + $.each(result, function(i, obj) {
  214 + if (moment(obj.schedule_date_str).format(
  215 + "YYYY-MM-DD") == moment(obj.startDate)
  216 + .format("YYYY-MM-DD")) {
  217 + today_account++;
  218 + }
  219 + obj.updateDate = moment(obj.startDate).format(
  220 + "YYYY-MM-DD HH:mm:ss");
  221 + });
  222 + // 把数据填充到模版中
  223 + var tbodyHtml = template('changetochange', {
  224 + list : result
  225 + });
  226 + // 把渲染好的模版html文本追加到表格中
  227 + $('#forms tbody').html(tbodyHtml);
  228 + })
  229 +
  230 + } else {
  231 + alert("请选择时间范围!");
  232 + }
  233 + });
  234 +
  235 + $("#export").on(
  236 + "click",
  237 + function() {
  238 + $post('/mcy_export/changetochangeExport', {
  239 + startDate : startDate,
  240 + endDate : endDate,
  241 + type : 'export'
  242 + }, function(result) {
  243 + window.open("/downloadFile/download?fileName=换人换车情况日统计"
  244 + + moment(startDate).format("YYYYMMDD"));
  245 + });
  246 + });
201 }); 247 });
202 </script> 248 </script>
203 <script type="text/html" id="changetochange"> 249 <script type="text/html" id="changetochange">
src/main/resources/static/pages/forms/statement/correctStatis.html
@@ -147,7 +147,7 @@ @@ -147,7 +147,7 @@
147 initPinYinSelect2('#line',data,''); 147 initPinYinSelect2('#line',data,'');
148 148
149 line = ""; 149 line = "";
150 - updateModel(); 150 +// updateModel();
151 }); 151 });
152 152
153 var obj = []; 153 var obj = [];
@@ -285,17 +285,17 @@ @@ -285,17 +285,17 @@
285 line = $("#line").val(); 285 line = $("#line").val();
286 if(line == " ") 286 if(line == " ")
287 line = ""; 287 line = "";
288 - updateModel(); 288 +// updateModel();
289 }); 289 });
290 $('#startDate').on("blur", function(){ 290 $('#startDate').on("blur", function(){
291 startDate = $("#startDate").val(); 291 startDate = $("#startDate").val();
292 endDate = $("#endDate").val(); 292 endDate = $("#endDate").val();
293 - updateModel(); 293 +// updateModel();
294 }); 294 });
295 $('#endDate').on("blur", function(){ 295 $('#endDate').on("blur", function(){
296 startDate = $("#startDate").val(); 296 startDate = $("#startDate").val();
297 endDate = $("#endDate").val(); 297 endDate = $("#endDate").val();
298 - updateModel(); 298 +// updateModel();
299 }); 299 });
300 300
301 301
src/main/resources/static/pages/forms/statement/daily.html
@@ -98,7 +98,6 @@ @@ -98,7 +98,6 @@
98 for(var code in result){ 98 for(var code in result){
99 data.push({id: code, text: result[code]}); 99 data.push({id: code, text: result[code]});
100 } 100 }
101 - console.log(data);  
102 initPinYinSelect2('#line',data,''); 101 initPinYinSelect2('#line',data,'');
103 102
104 }) 103 })
@@ -106,9 +105,10 @@ @@ -106,9 +105,10 @@
106 var date; 105 var date;
107 $("#query").on("click",function(){ 106 $("#query").on("click",function(){
108 line = $("#line").val(); 107 line = $("#line").val();
  108 + var lineName=$("#select2-line-container").html();
109 date = $("#date").val(); 109 date = $("#date").val();
110 $get('/realSchedule/dailyInfo',{line:line,date:date,type:'query'},function(result){ 110 $get('/realSchedule/dailyInfo',{line:line,date:date,type:'query'},function(result){
111 - $("#form_line").text(line); 111 + $("#form_line").text(lineName);
112 $("#form_date").text(date); 112 $("#form_date").text(date);
113 var total_zgl = 0,total_ksgl = 0,total_yh = 0,total_bcs = 0; 113 var total_zgl = 0,total_ksgl = 0,total_yh = 0,total_bcs = 0;
114 $.each(result, function(i, obj) { 114 $.each(result, function(i, obj) {
src/main/resources/static/pages/forms/statement/executionrate.html
@@ -37,6 +37,14 @@ @@ -37,6 +37,14 @@
37 <div class="portlet light porttlet-fit bordered"> 37 <div class="portlet light porttlet-fit bordered">
38 <div class="portlet-title"> 38 <div class="portlet-title">
39 <form class="form-inline" action="" method="post"> 39 <form class="form-inline" action="" method="post">
  40 + <!-- <div style="display: inline-block; margin-left: 33px;" id="gsdmDiv_ececut">
  41 + <span class="item-label" style="width: 80px;">公司: </span>
  42 + <select class="form-control" name="company" id="gsdmEcecut" style="width: 140px;"></select>
  43 + </div>
  44 + <div style="display: inline-block; margin-left: 24px;" id="fgsdmDiv_ececut">
  45 + <span class="item-label" style="width: 80px;">分公司: </span>
  46 + <select class="form-control" name="subCompany" id="fgsdmEcecut" style="width: 140px;"></select>
  47 + </div> -->
40 <div style="display: inline-block;"> 48 <div style="display: inline-block;">
41 <span class="item-label" style="width: 80px;">线路: </span> 49 <span class="item-label" style="width: 80px;">线路: </span>
42 <select class="form-control" name="line" id="line" style="width: 120px;"></select> 50 <select class="form-control" name="line" id="line" style="width: 120px;"></select>
@@ -114,6 +122,42 @@ @@ -114,6 +122,42 @@
114 locale : 'zh-cn' 122 locale : 'zh-cn'
115 }); 123 });
116 124
  125 +
  126 + var obj = [];
  127 + $.get('/user/companyData', function(result){
  128 + obj = result;
  129 + var options = '';
  130 + for(var i = 0; i < obj.length; i++){
  131 + options += '<option value="'+obj[i].companyCode+'">'+obj[i].companyName+'</option>';
  132 + }
  133 +
  134 + if(obj.length ==0){
  135 + $("#gsdmDiv_ececut").css('display','none');
  136 + $('#fgsdmDiv_ececut').css('display','none');
  137 + }else if(obj.length ==1){
  138 + $("#gsdmDiv_ececut").css('display','none');
  139 + if(obj[0].children.length == 1 || obj[0].children.length ==0)
  140 + $('#fgsdmDiv_ececut').css('display','none');
  141 + }
  142 + $('#gsdmEcecut').html(options);
  143 + updateCompany();
  144 + });
  145 +
  146 + $("#gsdmEcecut").on("change",updateCompany);
  147 + function updateCompany(){
  148 + var company = $('#gsdmEcecut').val();
  149 + var options = '';
  150 + for(var i = 0; i < obj.length; i++){
  151 + if(obj[i].companyCode == company){
  152 + var children = obj[i].children;
  153 + for(var j = 0; j < children.length; j++){
  154 + options += '<option value="'+children[j].code+'">'+children[j].name+'</option>';
  155 + }
  156 + }
  157 + }
  158 + $('#fgsdmEcecut').html(options);
  159 + }
  160 +
117 $.get('/basic/lineCode2Name',function(result){ 161 $.get('/basic/lineCode2Name',function(result){
118 var data=[]; 162 var data=[];
119 163
@@ -127,19 +171,23 @@ @@ -127,19 +171,23 @@
127 var line; 171 var line;
128 var startDate; 172 var startDate;
129 var endDate; 173 var endDate;
  174 + var gsdmEcecut;
  175 + var fgsdmEcecut;
130 $("#query").on("click",function(){ 176 $("#query").on("click",function(){
131 177
132 line = $("#line").val(); 178 line = $("#line").val();
133 startDate1=$("#startDate").val(); 179 startDate1=$("#startDate").val();
134 endDate1=$("#endDate").val(); 180 endDate1=$("#endDate").val();
135 - 181 + gsdmEcecut=$("#gsdmEcecut").val();
  182 + fgsdmEcecut=$("#fgsdmEcecut").val();
136 if(startDate1!=''&&endDate1!=''){ 183 if(startDate1!=''&&endDate1!=''){
137 - $post('/mcy_forms/executionrate',{line:line,startDate:$("#startDate").val(),endDate:$("#endDate").val(),type:'query'},function(result){ 184 + $post('/mcy_forms/executionrate',{/* gsdmEcecut:gsdmEcecut,fgsdmEcecut:fgsdmEcecut, */line:line,startDate:$("#startDate").val(),endDate:$("#endDate").val(),type:'query'},function(result){
138 // 把数据填充到模版中 185 // 把数据填充到模版中
139 var tbodyHtml = template('executionrate',{list:result}); 186 var tbodyHtml = template('executionrate',{list:result});
140 // 把渲染好的模版html文本追加到表格中 187 // 把渲染好的模版html文本追加到表格中
141 $('#tbody').html(tbodyHtml); 188 $('#tbody').html(tbodyHtml);
142 line = $("#line").val(); 189 line = $("#line").val();
  190 +
143 startDate = $("#startDate").val(); 191 startDate = $("#startDate").val();
144 endDate = $("#endDate").val(); 192 endDate = $("#endDate").val();
145 $("#sDate").text(startDate); 193 $("#sDate").text(startDate);
src/main/resources/static/pages/forms/statement/linepassengerflow.html
@@ -27,6 +27,14 @@ @@ -27,6 +27,14 @@
27 <div class="portlet light porttlet-fit bordered"> 27 <div class="portlet light porttlet-fit bordered">
28 <div class="portlet-title"> 28 <div class="portlet-title">
29 <form class="form-inline" action=""> 29 <form class="form-inline" action="">
  30 + <!-- <div style="display: inline-block; margin-left: 33px;" id="gsdmDiv_line">
  31 + <span class="item-label" style="width: 80px;">公司: </span>
  32 + <select class="form-control" name="company" id="gsdmLine" style="width: 140px;"></select>
  33 + </div>
  34 + <div style="display: inline-block; margin-left: 24px;" id="fgsdmDiv_line">
  35 + <span class="item-label" style="width: 80px;">分公司: </span>
  36 + <select class="form-control" name="subCompany" id="fgsdmLine" style="width: 140px;"></select>
  37 + </div> -->
30 <div style="display: inline-block;"> 38 <div style="display: inline-block;">
31 <span class="item-label" style="width: 80px;">线路: </span> 39 <span class="item-label" style="width: 80px;">线路: </span>
32 <select class="form-control" name="line" id="line" style="width: 180px;"></select> 40 <select class="form-control" name="line" id="line" style="width: 180px;"></select>
@@ -74,6 +82,43 @@ @@ -74,6 +82,43 @@
74 locale : 'zh-cn' 82 locale : 'zh-cn'
75 }); 83 });
76 84
  85 + var obj = [];
  86 + $.get('/user/companyData', function(result){
  87 + obj = result;
  88 + var options = '';
  89 + for(var i = 0; i < obj.length; i++){
  90 + options += '<option value="'+obj[i].companyCode+'">'+obj[i].companyName+'</option>';
  91 + }
  92 +
  93 + if(obj.length ==0){
  94 + $("#gsdmDiv_line").css('display','none');
  95 + $('#fgsdmDiv_line').css('display','none');
  96 + }else if(obj.length ==1){
  97 + $("#gsdmDiv_line").css('display','none');
  98 + if(obj[0].children.length == 1 || obj[0].children.length ==0)
  99 + $('#fgsdmDiv_line').css('display','none');
  100 + }
  101 + $('#gsdmLine').html(options);
  102 + updateCompany();
  103 + });
  104 +
  105 + $("#gsdmLine").on("change",updateCompany);
  106 + function updateCompany(){
  107 + var company = $('#gsdmLine').val();
  108 + var options = '';
  109 + for(var i = 0; i < obj.length; i++){
  110 + if(obj[i].companyCode == company){
  111 + var children = obj[i].children;
  112 + for(var j = 0; j < children.length; j++){
  113 + options += '<option value="'+children[j].code+'">'+children[j].name+'</option>';
  114 + }
  115 + }
  116 + }
  117 + $('#fgsdmLine').html(options);
  118 + }
  119 +
  120 +
  121 +
77 $.get('/basic/lineCode2Name',function(result){ 122 $.get('/basic/lineCode2Name',function(result){
78 var data=[]; 123 var data=[];
79 124
@@ -85,10 +130,17 @@ @@ -85,10 +130,17 @@
85 130
86 }) 131 })
87 132
  133 +
  134 + var line;
  135 + var date;
  136 + var gsdmLine;
  137 + var fgsdmLine;
88 $("#query").on("click",function(){ 138 $("#query").on("click",function(){
89 var line = $("#line").val(); 139 var line = $("#line").val();
90 var date = $("#date").val(); 140 var date = $("#date").val();
91 - $post('/mcy_forms/linepasswengerflow',{line:line,date:date},function(result){ 141 + var gsdmLine = $("#gsdmLine").val();
  142 + var fgsdmLine = $("#fgsdmLine").val();
  143 + $post('/mcy_forms/linepasswengerflow',{/* gsdmLine:gsdmLine,fgsdmLine:fgsdmLine, */line:line,date:date,type:'query'},function(result){
92 $.each(result, function(i, obj) { 144 $.each(result, function(i, obj) {
93 obj.requestType = reqCodeMap[obj.requestType]; 145 obj.requestType = reqCodeMap[obj.requestType];
94 }); 146 });
src/main/resources/static/pages/forms/statement/operationservice.html
1 <style type="text/css"> 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; } 2 +.table-bordered {
  3 + border: 1px solid;
  4 +}
  5 +
  6 +.table-bordered>thead>tr>th, .table-bordered>thead>tr>td,
  7 + .table-bordered>tbody>tr>th, .table-bordered>tbody>tr>td,
  8 + .table-bordered>tfoot>tr>th, .table-bordered>tfoot>tr>td {
  9 + border: 1px solid;
  10 +}
  11 +
  12 +.table-bordered>thead>tr>th, .table-bordered>thead>tr>td {
  13 + border-bottom-width: 2px;
  14 + text-align: center;
  15 +}
  16 +
  17 +.table>tbody+tbody {
  18 + border-top: 1px solid;
  19 +}
18 </style> 20 </style>
19 21
20 <div class="page-head"> 22 <div class="page-head">
@@ -22,54 +24,53 @@ @@ -22,54 +24,53 @@
22 <h1>运营服务阶段报表</h1> 24 <h1>运营服务阶段报表</h1>
23 </div> 25 </div>
24 </div> 26 </div>
25 -  
26 -<div class="row">  
27 - <div class="col-md-12">  
28 - <div class="portlet light porttlet-fit bordered">  
29 - <div class="portlet-title">  
30 - <form class="form-inline" action="">  
31 - <!-- <div style="display: inline-block;">  
32 - <span class="item-label" style="width: 120px;">公司: </span>  
33 - <select class="form-control">  
34 - <option value="normal">请选择</option>  
35 - <option value="22">金高公司</option>  
36 - <option value="05">杨高公司</option>  
37 - <option value="26">南汇公司</option>  
38 - <option value="55">上南公司</option>  
39 - <option value="77">闵行公司</option>  
40 - </select>  
41 - <select class="form-control">  
42 - <option value="22">金高公司</option>  
43 - <option value="05">杨高公司</option>  
44 - <option value="26">南汇公司</option>  
45 - <option value="55">上南公司</option>  
46 - <option value="77">闵行公司</option>  
47 - </select>  
48 - </div> -->  
49 - <div style="display: inline-block;">  
50 - <span class="item-label" style="width: 80px;">线路: </span>  
51 - <select class="form-control" name="line" id="line" style="width: 136px;"></select>  
52 - </div>  
53 - <div style="display: inline-block;margin-left: 15px;">  
54 - <span class="item-label" style="width: 80px;">开始时间: </span>  
55 - <input class="form-control" type="text" id="startDate" style="width: 120px;"/>  
56 - </div>  
57 - <div style="display: inline-block;margin-left: 15px;">  
58 - <span class="item-label" style="width: 80px;">结束时间: </span>  
59 - <input class="form-control" type="text" id="endDate" style="width: 120px;"/>  
60 - </div>  
61 - <div style="display: inline-block;margin-left: 15px">  
62 - <span class="item-label" style="width: 150px;">统计: </span>  
63 - </div>  
64 - <div class="form-group">  
65 - <input class="btn btn-default" type="button" id="query" value="筛选"/>  
66 - <input class="btn btn-default" type="button" id="export" value="导出"/>  
67 - </div>  
68 - </form>  
69 - </div>  
70 - <div class="portlet-body">  
71 - <div class="table-container" style="margin-top: 10px;overflow:auto;min-width: 906px">  
72 - <table class="table table-bordered table-hover table-checkable" id="forms"> 27 +
  28 +<div class="row">
  29 + <div class="col-md-12">
  30 + <div class="portlet light porttlet-fit bordered">
  31 + <div class="portlet-title">
  32 + <form class="form-inline" action="" method="post">
  33 + <!--<div style="display: inline-block; margin-left: 33px;"
  34 + id="gsdmDiv_operat">
  35 + <span class="item-label" style="width: 80px;">公司: </span> <select
  36 + class="form-control" name="company" id="gsdmOperat"
  37 + style="width: 140px;"></select>
  38 + </div>
  39 + <div style="display: inline-block; margin-left: 24px;"
  40 + id="fgsdmDiv_operat">
  41 + <span class="item-label" style="width: 80px;">分公司: </span> <select
  42 + class="form-control" name="subCompany" id="fgsdmOperat"
  43 + style="width: 140px;"></select>
  44 + </div> -->
  45 + <div style="display: inline-block;">
  46 + <span class="item-label" style="width: 80px;">线路: </span> <select
  47 + class="form-control" name="line" id="line" style="width: 180px;"></select>
  48 + </div>
  49 + <div style="display: inline-block; margin-left: 15px;">
  50 + <span class="item-label" style="width: 80px;">开始时间: </span> <input
  51 + class="form-control" type="text" id="startDate"
  52 + style="width: 120px;" />
  53 + </div>
  54 + <div style="display: inline-block; margin-left: 15px;">
  55 + <span class="item-label" style="width: 80px;">结束时间: </span> <input
  56 + class="form-control" type="text" id="endDate"
  57 + style="width: 120px;" />
  58 + </div>
  59 + <div style="display: inline-block; margin-left: 15px">
  60 + <span class="item-label" style="width: 150px;">统计: </span>
  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"
  65 + value="导出" />
  66 + </div>
  67 + </form>
  68 + </div>
  69 + <div class="portlet-body">
  70 + <div class="table-container"
  71 + style="margin-top: 10px; overflow: auto; min-width: 906px">
  72 + <table class="table table-bordered table-hover table-checkable"
  73 + id="forms">
73 <thead> 74 <thead>
74 <tr> 75 <tr>
75 <th>序号</th> 76 <th>序号</th>
@@ -78,106 +79,135 @@ @@ -78,106 +79,135 @@
78 <th>消耗量</th> 79 <th>消耗量</th>
79 <th>行驶公里(含空放里程)</th> 80 <th>行驶公里(含空放里程)</th>
80 <th>空驶里程</th> 81 <th>空驶里程</th>
81 - <th>实际班次(包含空放班次)</th> 82 + <th>实际班次(包含空放班次)</th>
82 </tr> 83 </tr>
83 </thead> 84 </thead>
84 <tbody> 85 <tbody>
85 - 86 +
86 </tbody> 87 </tbody>
87 </table> 88 </table>
88 - </div>  
89 - </div>  
90 - </div>  
91 - </div>  
92 -</div>  
93 -  
94 -<script>  
95 - $(function(){  
96 - // 关闭左侧栏  
97 - if (!$('body').hasClass('page-sidebar-closed')) 89 + </div>
  90 + </div>
  91 + </div>
  92 + </div>
  93 +</div>
  94 +
  95 +<script>
  96 + $(function() {
  97 + // 关闭左侧栏
  98 + if (!$('body').hasClass('page-sidebar-closed'))
98 $('.menu-toggler.sidebar-toggler').click(); 99 $('.menu-toggler.sidebar-toggler').click();
99 -  
100 - $("#startDate,#endDate").datetimepicker({  
101 - format : 'YYYY-MM-DD',  
102 - locale : 'zh-cn' 100 +
  101 + $("#startDate,#endDate").datetimepicker({
  102 + format : 'YYYY-MM-DD',
  103 + locale : 'zh-cn'
103 }); 104 });
104 -  
105 -  
106 - $.get('/basic/lineCode2Name',function(result){  
107 - var data=[];  
108 -  
109 - for(var code in result){  
110 - data.push({id: code, text: result[code]}); 105 +
  106 + $.get('/basic/lineCode2Name', function(result) {
  107 + var data = [];
  108 +
  109 + for ( var code in result) {
  110 + data.push({
  111 + id : code,
  112 + text : result[code]
  113 + });
111 } 114 }
112 - console.log(data);  
113 - initPinYinSelect2('#line',data,'');  
114 - 115 + initPinYinSelect2('#line', data, '');
  116 +
115 }) 117 })
116 -  
117 - $('#lpName').select2({  
118 - ajax: {  
119 - url: '/realSchedule/findLpName',  
120 - type: 'post',  
121 - dataType: 'json',  
122 - delay: 150,  
123 - data: function(params){  
124 - return{lpName: params.term};  
125 - },  
126 - processResults: function (data) {  
127 - return {  
128 - results: data  
129 - };  
130 - },  
131 - cache: true  
132 - },  
133 - templateResult: function(repo){  
134 - if (repo.loading) return repo.text;  
135 - var h = '<span>'+repo.text+'</span>';  
136 - return h;  
137 - },  
138 - escapeMarkup: function (markup) { return markup; },  
139 - minimumInputLength: 1,  
140 - templateSelection: function(repo){  
141 - return repo.text;  
142 - },  
143 - language: {  
144 - noResults: function(){  
145 - return '<span style="color:red;font-size: 12px;">没有搜索到路牌!</span>';  
146 - },  
147 - inputTooShort : function(e) {  
148 - return '<span style="color:gray;font-size: 12px;"><i class="fa fa-search"></i> 输入路牌搜索路牌</span>';  
149 - },  
150 - searching : function() {  
151 - return '<span style="color:gray;font-size: 12px;"> 正在搜索路牌...</span>';  
152 - }  
153 - }  
154 - });  
155 - $("#query").on("click",function(){  
156 - var line = $("#line").val();  
157 - var startDate = $("#startDate").val();  
158 - var endDate = $("#endDate").val();  
159 - var lpName = $("#lpName").val();  
160 - $post("/mcy_forms/operationservice",{line:line,startDate:startDate,endDate:endDate ,lpName:lpName},function(result){  
161 - $("#sDate").text(startDate);  
162 - $("#eDate").text(endDate);  
163 - var temp = {};  
164 - var today_account = 0;  
165 - temp["line"] = $("#line").text();  
166 - $.each(result, function(i, obj) {  
167 - if(moment(obj.schedule_date_str).format("YYYY-MM-DD") == moment(obj.startDate).format("YYYY-MM-DD")){  
168 - today_account++;  
169 - }  
170 - obj.updateDate = moment(obj.startDate).format("YYYY-MM-DD HH:mm:ss");  
171 - });  
172 - console.log(result);  
173 - var operationservice = template('operationservice',{list:result});  
174 - // 把渲染好的模版html文本追加到表格中  
175 - $('#forms tbody').html(operationservice);  
176 -  
177 - });  
178 - });  
179 - });  
180 -</script> 118 +
  119 + var obj = [];
  120 + $.get('/user/companyData', function(result) {
  121 + obj = result;
  122 + var options = '';
  123 + for (var i = 0; i < obj.length; i++) {
  124 + options += '<option value="'+obj[i].companyCode+'">'
  125 + + obj[i].companyName + '</option>';
  126 + }
  127 +
  128 + if (obj.length == 0) {
  129 + $("#gsdmDiv_operat").css('display', 'none');
  130 + $('#fgsdmDiv_operat').css('display', 'none');
  131 + } else if (obj.length == 1) {
  132 + $("#gsdmDiv_operat").css('display', 'none');
  133 + if (obj[0].children.length == 1 || obj[0].children.length == 0)
  134 + $('#fgsdmDiv_operat').css('display', 'none');
  135 + }
  136 + $('#gsdmOperat').html(options);
  137 + updateCompany();
  138 + });
  139 +
  140 + $("#gsdmOperat").on("change", updateCompany);
  141 + function updateCompany() {
  142 + var company = $('#gsdmOperat').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+'">'
  149 + + children[j].name + '</option>';
  150 + }
  151 + }
  152 + }
  153 + $('#fgsdmOperat').html(options);
  154 + }
  155 +
  156 + $.get('/basic/lineCode2Name', function(result) {
  157 + var data = [];
  158 +
  159 + for ( var code in result) {
  160 + data.push({
  161 + id : code,
  162 + text : result[code]
  163 + });
  164 + }
  165 + initPinYinSelect2('#line', data, '');
  166 +
  167 + })
  168 +
  169 + $("#query").on(
  170 + "click",
  171 + function() {
  172 + var line = $("#line").val();
  173 + var startDate = $("#startDate").val();
  174 + var endDate = $("#endDate").val();
  175 + var lpName = $("#lpName").val();
  176 + /* var gsdmOperat = $("#gsdmOperat").val();
  177 + var fgsdmOperat = $("#fgsdmOperat").val(); */
  178 + $post("/mcy_forms/operationservice", {
  179 + /* gsdmOperat : gsdmOperat,
  180 + fgsdmOperat : fgsdmOperat, */
  181 + line : line,
  182 + startDate : startDate,
  183 + endDate : endDate,
  184 + lpName : lpName,
  185 + type:'query'
  186 + }, function(result) {
  187 + $("#sDate").text(startDate);
  188 + $("#eDate").text(endDate);
  189 + var temp = {};
  190 + var today_account = 0;
  191 + temp["line"] = $("#line").text();
  192 + $.each(result, function(i, obj) {
  193 + if (moment(obj.schedule_date_str).format(
  194 + "YYYY-MM-DD") == moment(obj.startDate)
  195 + .format("YYYY-MM-DD")) {
  196 + today_account++;
  197 + }
  198 + obj.updateDate = moment(obj.startDate).format(
  199 + "YYYY-MM-DD HH:mm:ss");
  200 + });
  201 + var operationservice = template('operationservice', {
  202 + list : result
  203 + });
  204 + // 把渲染好的模版html文本追加到表格中
  205 + $('#forms tbody').html(operationservice);
  206 +
  207 + });
  208 + });
  209 + });
  210 +</script>
181 <script type="text/html" id="operationservice"> 211 <script type="text/html" id="operationservice">
182 {{each list as obj i}} 212 {{each list as obj i}}
183 <tr> 213 <tr>
@@ -192,7 +222,7 @@ @@ -192,7 +222,7 @@
192 {{/each}} 222 {{/each}}
193 {{if list.length == 0}} 223 {{if list.length == 0}}
194 <tr> 224 <tr>
195 - <td colspan="6"><h6 class="muted">没有找到相关数据</h6></td> 225 + <td colspan="7"><h6 class="muted">没有找到相关数据</h6></td>
196 </tr> 226 </tr>
197 {{/if}} 227 {{/if}}
198 </script> 228 </script>
src/main/resources/static/pages/forms/statement/shifday.html
@@ -28,6 +28,14 @@ @@ -28,6 +28,14 @@
28 <div class="portlet light porttlet-fit bordered"> 28 <div class="portlet light porttlet-fit bordered">
29 <div class="portlet-title"> 29 <div class="portlet-title">
30 <form class="form-inline" action="" method="post"> 30 <form class="form-inline" action="" method="post">
  31 + <!-- <div style="display: inline-block; margin-left: 33px;" id="gsdmDiv_shif">
  32 + <span class="item-label" style="width: 80px;">公司: </span>
  33 + <select class="form-control" name="company" id="gsdmShif" style="width: 140px;"></select>
  34 + </div>
  35 + <div style="display: inline-block; margin-left: 24px;" id="fgsdmDiv_shif">
  36 + <span class="item-label" style="width: 80px;">分公司: </span>
  37 + <select class="form-control" name="subCompany" id="fgsdmShif" style="width: 140px;"></select>
  38 + </div> -->
31 <div style="display: inline-block;"> 39 <div style="display: inline-block;">
32 <span class="item-label" style="width: 80px;">线路: </span> 40 <span class="item-label" style="width: 80px;">线路: </span>
33 <select class="form-control" name="line" id="line" style="width: 180px;"></select> 41 <select class="form-control" name="line" id="line" style="width: 180px;"></select>
@@ -97,6 +105,41 @@ $(function(){ @@ -97,6 +105,41 @@ $(function(){
97 locale : 'zh-cn' 105 locale : 'zh-cn'
98 }); 106 });
99 107
  108 + var obj = [];
  109 + $.get('/user/companyData', function(result){
  110 + obj = result;
  111 + var options = '';
  112 + for(var i = 0; i < obj.length; i++){
  113 + options += '<option value="'+obj[i].companyCode+'">'+obj[i].companyName+'</option>';
  114 + }
  115 +
  116 + if(obj.length ==0){
  117 + $("#gsdmDiv_shif").css('display','none');
  118 + $('#fgsdmDiv_shif').css('display','none');
  119 + }else if(obj.length ==1){
  120 + $("#gsdmDiv_shif").css('display','none');
  121 + if(obj[0].children.length == 1 || obj[0].children.length ==0)
  122 + $('#fgsdmDiv_shif').css('display','none');
  123 + }
  124 + $('#gsdmShif').html(options);
  125 + updateCompany();
  126 + });
  127 +
  128 + $("#gsdmShif").on("change",updateCompany);
  129 + function updateCompany(){
  130 + var company = $('#gsdmShif').val();
  131 + var options = '';
  132 + for(var i = 0; i < obj.length; i++){
  133 + if(obj[i].companyCode == company){
  134 + var children = obj[i].children;
  135 + for(var j = 0; j < children.length; j++){
  136 + options += '<option value="'+children[j].code+'">'+children[j].name+'</option>';
  137 + }
  138 + }
  139 + }
  140 + $('#fgsdmShif').html(options);
  141 + }
  142 +
100 143
101 $.get('/basic/lineCode2Name',function(result){ 144 $.get('/basic/lineCode2Name',function(result){
102 var data=[]; 145 var data=[];
@@ -104,7 +147,6 @@ $(function(){ @@ -104,7 +147,6 @@ $(function(){
104 for(var code in result){ 147 for(var code in result){
105 data.push({id: code, text: result[code]}); 148 data.push({id: code, text: result[code]});
106 } 149 }
107 - console.log(data);  
108 initPinYinSelect2('#line',data,''); 150 initPinYinSelect2('#line',data,'');
109 151
110 }) 152 })
@@ -112,7 +154,9 @@ $(function(){ @@ -112,7 +154,9 @@ $(function(){
112 $("#query").on("click",function(){ 154 $("#query").on("click",function(){
113 var line = $("#line").val(); 155 var line = $("#line").val();
114 var date = $("#date").val(); 156 var date = $("#date").val();
115 - $post('/mcy_forms/shifday',{line:line,date:date},function(result){ 157 + /* var gsdmShif = $("#gsdmShif").val();
  158 + var fgsdmShif = $("#fgsdmShif").val(); */
  159 + $post('/mcy_forms/shifday',{/* gsdmShif:gsdmShif,fgsdmShif:fgsdmShif, */line:line,date:date},function(result){
116 $.each(result, function(i, obj) { 160 $.each(result, function(i, obj) {
117 obj.requestType = reqCodeMap[obj.requestType]; 161 obj.requestType = reqCodeMap[obj.requestType];
118 }); 162 });