Commit 9955d855be5e78d3ed6970a36dc75fcabd97d7dc
Merge remote-tracking branch 'origin/pudong' into pudong
Showing
27 changed files
with
1781 additions
and
85 deletions
src/main/java/com/bsth/controller/RefuelController.java
0 → 100644
| 1 | +package com.bsth.controller; | ||
| 2 | + | ||
| 3 | +import com.bsth.entity.Refuel; | ||
| 4 | +import com.bsth.service.RefuelService; | ||
| 5 | +import com.google.common.io.Files; | ||
| 6 | + | ||
| 7 | +import java.io.File; | ||
| 8 | +import java.util.List; | ||
| 9 | +import java.util.Map; | ||
| 10 | + | ||
| 11 | +import org.springframework.beans.factory.annotation.Autowired; | ||
| 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 | +import org.springframework.web.multipart.MultipartFile; | ||
| 17 | + | ||
| 18 | +/** | ||
| 19 | + * Created in 19/9/3. | ||
| 20 | + */ | ||
| 21 | +@RestController | ||
| 22 | +@RequestMapping("refuel") | ||
| 23 | +public class RefuelController extends BaseController<Refuel, Long> { | ||
| 24 | + | ||
| 25 | + @Autowired | ||
| 26 | + private RefuelService refuelService; | ||
| 27 | + | ||
| 28 | + @RequestMapping(value = "/query", method = RequestMethod.GET) | ||
| 29 | + public List<Refuel> query(@RequestParam Map<String, Object> map){ | ||
| 30 | + return refuelService.query(map); | ||
| 31 | + } | ||
| 32 | + | ||
| 33 | + @RequestMapping(value = "/queryDaily", method = RequestMethod.GET) | ||
| 34 | + public List<Map<String, Object>> queryDaily(@RequestParam Map<String, Object> map){ | ||
| 35 | + return refuelService.queryDaily(map); | ||
| 36 | + } | ||
| 37 | + | ||
| 38 | + @RequestMapping(value = "/uploadFile",method = RequestMethod.POST) | ||
| 39 | + public String uploadFile(MultipartFile file) throws Exception{ | ||
| 40 | + File newFile = new File( | ||
| 41 | + getDataImportClasspath() + File.separator + | ||
| 42 | + file.getOriginalFilename()); | ||
| 43 | + Files.write(file.getBytes(), newFile); | ||
| 44 | + String result = refuelService.importExcel(newFile); | ||
| 45 | + return "{\"result\":" + "\""+result+"\"}"; | ||
| 46 | + } | ||
| 47 | + | ||
| 48 | + private String getDataImportClasspath(){ | ||
| 49 | + return this.getClass().getResource("/").getPath() + "/static/pages/forms"; | ||
| 50 | + } | ||
| 51 | + | ||
| 52 | +} |
src/main/java/com/bsth/controller/realcontrol/ScheduleRealInfoController.java
| 1 | package com.bsth.controller.realcontrol; | 1 | package com.bsth.controller.realcontrol; |
| 2 | 2 | ||
| 3 | -import java.io.ByteArrayOutputStream; | ||
| 4 | -import java.io.IOException; | ||
| 5 | -import java.io.InputStream; | ||
| 6 | -import java.io.OutputStream; | ||
| 7 | -import java.net.HttpURLConnection; | ||
| 8 | -import java.net.URL; | ||
| 9 | import java.util.ArrayList; | 3 | import java.util.ArrayList; |
| 10 | import java.util.Collection; | 4 | import java.util.Collection; |
| 11 | import java.util.HashMap; | 5 | import java.util.HashMap; |
| 12 | import java.util.List; | 6 | import java.util.List; |
| 13 | import java.util.Map; | 7 | import java.util.Map; |
| 14 | 8 | ||
| 15 | -import org.apache.commons.io.IOUtils; | ||
| 16 | import org.apache.commons.lang3.StringEscapeUtils; | 9 | import org.apache.commons.lang3.StringEscapeUtils; |
| 17 | import org.joda.time.format.DateTimeFormat; | 10 | import org.joda.time.format.DateTimeFormat; |
| 18 | import org.joda.time.format.DateTimeFormatter; | 11 | import org.joda.time.format.DateTimeFormatter; |
| @@ -32,12 +25,9 @@ import com.bsth.data.BasicData; | @@ -32,12 +25,9 @@ import com.bsth.data.BasicData; | ||
| 32 | import com.bsth.data.schedule.DayOfSchedule; | 25 | import com.bsth.data.schedule.DayOfSchedule; |
| 33 | import com.bsth.data.schedule.edit_logs.service.dto.SchEditInfoDto; | 26 | import com.bsth.data.schedule.edit_logs.service.dto.SchEditInfoDto; |
| 34 | import com.bsth.entity.realcontrol.ScheduleRealInfo; | 27 | import com.bsth.entity.realcontrol.ScheduleRealInfo; |
| 28 | +import com.bsth.entity.report.RepairReport; | ||
| 35 | import com.bsth.entity.schedule.SchedulePlanInfo; | 29 | import com.bsth.entity.schedule.SchedulePlanInfo; |
| 36 | -import com.bsth.entity.sys.SysUser; | ||
| 37 | -import com.bsth.security.util.SecurityUtils; | ||
| 38 | import com.bsth.service.realcontrol.ScheduleRealInfoService; | 30 | import com.bsth.service.realcontrol.ScheduleRealInfoService; |
| 39 | -import com.bsth.util.ConfigUtil; | ||
| 40 | -import com.fasterxml.jackson.databind.ObjectMapper; | ||
| 41 | 31 | ||
| 42 | @RestController | 32 | @RestController |
| 43 | @RequestMapping("/realSchedule") | 33 | @RequestMapping("/realSchedule") |
| @@ -725,67 +715,12 @@ public class ScheduleRealInfoController extends BaseController<ScheduleRealInfo, | @@ -725,67 +715,12 @@ public class ScheduleRealInfoController extends BaseController<ScheduleRealInfo, | ||
| 725 | * @return | 715 | * @return |
| 726 | */ | 716 | */ |
| 727 | @RequestMapping(value = "wxsb", method = RequestMethod.POST) | 717 | @RequestMapping(value = "wxsb", method = RequestMethod.POST) |
| 728 | - public Map<String, Object> deleteToHistory(@RequestParam Map<String, Object> param){ | ||
| 729 | - SysUser user = SecurityUtils.getCurrentUser(); | ||
| 730 | - String uname = user.getUserName(); | ||
| 731 | - StringBuilder url = new StringBuilder(ConfigUtil.get("http.report.url")); | ||
| 732 | - url.append("?nbbm=").append(param.get("nbbm")).append("&bxy=").append(uname).append("&bxbm=").append(param.get("bxType")); | ||
| 733 | - // 分公司保存格式 分公司编码_公司编码 | ||
| 734 | - String val = BasicData.nbbm2FgsCompanyCodeMap.get(param.get("nbbm")); | ||
| 735 | - String[] arr = val.split("_"); | ||
| 736 | - if (!"22".equals(arr[1])) { | ||
| 737 | - Map<String, Object> res = new HashMap<String, Object>(); | ||
| 738 | - res.put("status", ResponseCode.ERROR); | ||
| 739 | - res.put("msg", "除金高公司外暂未开通此功能"); | ||
| 740 | - | ||
| 741 | - return res; | ||
| 742 | - } | ||
| 743 | - url.append("&fgs=").append(arr[0]); | ||
| 744 | - | ||
| 745 | - return request(url.toString()); | 718 | + public Map<String, Object> repairReport(@RequestParam Map<String, Object> param){ |
| 719 | + return scheduleRealInfoService.repairReport(param, true); | ||
| 746 | } | 720 | } |
| 747 | 721 | ||
| 748 | - @SuppressWarnings("unchecked") | ||
| 749 | - private static Map<String, Object> request(String url) { | ||
| 750 | - Map<String, Object> res = new HashMap<String, Object>(); | ||
| 751 | - res.put("status", ResponseCode.SUCCESS); | ||
| 752 | - InputStream in = null; | ||
| 753 | - HttpURLConnection con = null; | ||
| 754 | - try { | ||
| 755 | - con = (HttpURLConnection)new URL(url).openConnection(); | ||
| 756 | - con.setRequestMethod("POST"); | ||
| 757 | - con.setRequestProperty("keep-alive", "true"); | ||
| 758 | - con.setRequestProperty("accept", "application/json"); | ||
| 759 | - con.setRequestProperty("content-type", "application/json"); | ||
| 760 | - con.setDoInput(true); | ||
| 761 | - con.setReadTimeout(2500); | ||
| 762 | - con.setConnectTimeout(2500); | ||
| 763 | - | ||
| 764 | - con.connect(); | ||
| 765 | - if (con.getResponseCode() == 200) { | ||
| 766 | - in = con.getInputStream(); | ||
| 767 | - ByteArrayOutputStream bout = new ByteArrayOutputStream(); | ||
| 768 | - IOUtils.copy(in, bout); bout.close(); | ||
| 769 | - Map<String, Object> response = new ObjectMapper().readValue(bout.toByteArray(), Map.class); | ||
| 770 | - if (!"报修成功".equals(response.get("msg"))) { | ||
| 771 | - res.put("status", ResponseCode.ERROR); | ||
| 772 | - res.putAll(response); | ||
| 773 | - } | ||
| 774 | - } | ||
| 775 | - } catch (IOException e) { | ||
| 776 | - // TODO Auto-generated catch block | ||
| 777 | - res.put("status", ResponseCode.ERROR); | ||
| 778 | - res.put("msg", "调用上报接口异常"); | ||
| 779 | - } finally { | ||
| 780 | - try { | ||
| 781 | - if (in != null) in.close(); | ||
| 782 | - if (con != null) con.disconnect(); | ||
| 783 | - } catch (IOException e) { | ||
| 784 | - // TODO Auto-generated catch block | ||
| 785 | - e.printStackTrace(); | ||
| 786 | - } | ||
| 787 | - } | ||
| 788 | - | ||
| 789 | - return res; | 722 | + @RequestMapping(value = "wxsb", method = RequestMethod.GET) |
| 723 | + public List<RepairReport> repairReportList(@RequestParam String line, @RequestParam String date, @RequestParam String code, @RequestParam String type){ | ||
| 724 | + return scheduleRealInfoService.repairReportList(line, date, code, type); | ||
| 790 | } | 725 | } |
| 791 | } | 726 | } |
src/main/java/com/bsth/data/schedule/DayOfSchedule.java
| @@ -10,6 +10,7 @@ import com.bsth.data.gpsdata_v2.utils.GpsDataRecovery; | @@ -10,6 +10,7 @@ import com.bsth.data.gpsdata_v2.utils.GpsDataRecovery; | ||
| 10 | import com.bsth.data.schedule.f_a_l.FirstAndLastHandler; | 10 | import com.bsth.data.schedule.f_a_l.FirstAndLastHandler; |
| 11 | import com.bsth.entity.realcontrol.LineConfig; | 11 | import com.bsth.entity.realcontrol.LineConfig; |
| 12 | import com.bsth.entity.realcontrol.ScheduleRealInfo; | 12 | import com.bsth.entity.realcontrol.ScheduleRealInfo; |
| 13 | +import com.bsth.entity.report.RepairReport; | ||
| 13 | import com.bsth.entity.schedule.SchedulePlanInfo; | 14 | import com.bsth.entity.schedule.SchedulePlanInfo; |
| 14 | import com.bsth.repository.realcontrol.ScheduleRealInfoRepository; | 15 | import com.bsth.repository.realcontrol.ScheduleRealInfoRepository; |
| 15 | import com.bsth.service.schedule.SchedulePlanInfoService; | 16 | import com.bsth.service.schedule.SchedulePlanInfoService; |
| @@ -83,6 +84,8 @@ public class DayOfSchedule { | @@ -83,6 +84,8 @@ public class DayOfSchedule { | ||
| 83 | private static ScheduleComparator.DFSJ schDFSJComparator; | 84 | private static ScheduleComparator.DFSJ schDFSJComparator; |
| 84 | 85 | ||
| 85 | private static Long sch_max_id=-1L; | 86 | private static Long sch_max_id=-1L; |
| 87 | + | ||
| 88 | + private Map<String, RepairReport> incode2report = new ConcurrentHashMap<String, RepairReport>(); | ||
| 86 | 89 | ||
| 87 | @Autowired | 90 | @Autowired |
| 88 | LineConfigData lineConfigData; | 91 | LineConfigData lineConfigData; |
| @@ -1180,4 +1183,19 @@ public class DayOfSchedule { | @@ -1180,4 +1183,19 @@ public class DayOfSchedule { | ||
| 1180 | reCalcExecPlan(sch.getClZbh()); | 1183 | reCalcExecPlan(sch.getClZbh()); |
| 1181 | } | 1184 | } |
| 1182 | } | 1185 | } |
| 1186 | + | ||
| 1187 | + /** | ||
| 1188 | + ** 用于重置维修上报计数,一般只应该在翻班的时候调用 | ||
| 1189 | + */ | ||
| 1190 | + public void resetRepairReport(String incode) { | ||
| 1191 | + incode2report.remove(incode); | ||
| 1192 | + } | ||
| 1193 | + | ||
| 1194 | + public RepairReport getLastestRepairReport(String incode) { | ||
| 1195 | + return incode2report.get(incode); | ||
| 1196 | + } | ||
| 1197 | + | ||
| 1198 | + public void setLastestRepairReport(RepairReport rr) { | ||
| 1199 | + incode2report.put(rr.getIncode(), rr); | ||
| 1200 | + } | ||
| 1183 | } | 1201 | } |
| 1184 | \ No newline at end of file | 1202 | \ No newline at end of file |
src/main/java/com/bsth/data/schedule/thread/ScheduleRefreshThread.java
| @@ -59,6 +59,7 @@ public class ScheduleRefreshThread extends Thread{ | @@ -59,6 +59,7 @@ public class ScheduleRefreshThread extends Thread{ | ||
| 59 | Set<String> cars = dayOfSchedule.findCarByLineCode(lineCode); | 59 | Set<String> cars = dayOfSchedule.findCarByLineCode(lineCode); |
| 60 | for(String car : cars){ | 60 | for(String car : cars){ |
| 61 | GpsCacheData.remove(car); | 61 | GpsCacheData.remove(car); |
| 62 | + dayOfSchedule.resetRepairReport(car); | ||
| 62 | } | 63 | } |
| 63 | //清除驾驶员上报数据 | 64 | //清除驾驶员上报数据 |
| 64 | pilotReport.clear(lineCode); | 65 | pilotReport.clear(lineCode); |
src/main/java/com/bsth/entity/Refuel.java
0 → 100644
| 1 | +package com.bsth.entity; | ||
| 2 | + | ||
| 3 | +import java.util.Date; | ||
| 4 | + | ||
| 5 | +import javax.persistence.Entity; | ||
| 6 | +import javax.persistence.GeneratedValue; | ||
| 7 | +import javax.persistence.Id; | ||
| 8 | +import javax.persistence.Table; | ||
| 9 | + | ||
| 10 | +/** | ||
| 11 | + * Created in 19/9/3. | ||
| 12 | + */ | ||
| 13 | +@Entity | ||
| 14 | +@Table(name = "bsth_c_refuel") | ||
| 15 | +public class Refuel { | ||
| 16 | + @Id | ||
| 17 | + @GeneratedValue | ||
| 18 | + private Long id; | ||
| 19 | + | ||
| 20 | + private Date date; | ||
| 21 | + | ||
| 22 | + private String dateStr; | ||
| 23 | + | ||
| 24 | + private String lineName; | ||
| 25 | + | ||
| 26 | + private String car; | ||
| 27 | + | ||
| 28 | + private String driver; | ||
| 29 | + | ||
| 30 | + private String outOil; | ||
| 31 | + | ||
| 32 | + private String inOil; | ||
| 33 | + | ||
| 34 | + private String inStation0; | ||
| 35 | + | ||
| 36 | + private String inStation5; | ||
| 37 | + | ||
| 38 | + private String oilCard0; | ||
| 39 | + | ||
| 40 | + private String oilCard10; | ||
| 41 | + | ||
| 42 | + private String eastStation0; | ||
| 43 | + | ||
| 44 | + private String eastStation10; | ||
| 45 | + | ||
| 46 | + private String outStation0; | ||
| 47 | + | ||
| 48 | + private String outStation10; | ||
| 49 | + | ||
| 50 | + private String createBy; | ||
| 51 | + | ||
| 52 | + private Date createDate; | ||
| 53 | + | ||
| 54 | + private String updateBy; | ||
| 55 | + | ||
| 56 | + private Date updateDate; | ||
| 57 | + | ||
| 58 | + public Long getId() { | ||
| 59 | + return id; | ||
| 60 | + } | ||
| 61 | + | ||
| 62 | + public void setId(Long id) { | ||
| 63 | + this.id = id; | ||
| 64 | + } | ||
| 65 | + | ||
| 66 | + public Date getDate() { | ||
| 67 | + return date; | ||
| 68 | + } | ||
| 69 | + | ||
| 70 | + public void setDate(Date date) { | ||
| 71 | + this.date = date; | ||
| 72 | + } | ||
| 73 | + | ||
| 74 | + public String getDateStr() { | ||
| 75 | + return dateStr; | ||
| 76 | + } | ||
| 77 | + | ||
| 78 | + public void setDateStr(String dateStr) { | ||
| 79 | + this.dateStr = dateStr; | ||
| 80 | + } | ||
| 81 | + | ||
| 82 | + public String getLineName() { | ||
| 83 | + return lineName; | ||
| 84 | + } | ||
| 85 | + | ||
| 86 | + public void setLineName(String lineName) { | ||
| 87 | + this.lineName = lineName; | ||
| 88 | + } | ||
| 89 | + | ||
| 90 | + public String getCar() { | ||
| 91 | + return car; | ||
| 92 | + } | ||
| 93 | + | ||
| 94 | + public void setCar(String car) { | ||
| 95 | + this.car = car; | ||
| 96 | + } | ||
| 97 | + | ||
| 98 | + public String getDriver() { | ||
| 99 | + return driver; | ||
| 100 | + } | ||
| 101 | + | ||
| 102 | + public void setDriver(String driver) { | ||
| 103 | + this.driver = driver; | ||
| 104 | + } | ||
| 105 | + | ||
| 106 | + public String getOutOil() { | ||
| 107 | + return outOil; | ||
| 108 | + } | ||
| 109 | + | ||
| 110 | + public void setOutOil(String outOil) { | ||
| 111 | + this.outOil = outOil; | ||
| 112 | + } | ||
| 113 | + | ||
| 114 | + public String getInOil() { | ||
| 115 | + return inOil; | ||
| 116 | + } | ||
| 117 | + | ||
| 118 | + public void setInOil(String inOil) { | ||
| 119 | + this.inOil = inOil; | ||
| 120 | + } | ||
| 121 | + | ||
| 122 | + public String getInStation0() { | ||
| 123 | + return inStation0; | ||
| 124 | + } | ||
| 125 | + | ||
| 126 | + public void setInStation0(String inStation0) { | ||
| 127 | + this.inStation0 = inStation0; | ||
| 128 | + } | ||
| 129 | + | ||
| 130 | + public String getInStation5() { | ||
| 131 | + return inStation5; | ||
| 132 | + } | ||
| 133 | + | ||
| 134 | + public void setInStation5(String inStation5) { | ||
| 135 | + this.inStation5 = inStation5; | ||
| 136 | + } | ||
| 137 | + | ||
| 138 | + public String getOilCard0() { | ||
| 139 | + return oilCard0; | ||
| 140 | + } | ||
| 141 | + | ||
| 142 | + public void setOilCard0(String oilCard0) { | ||
| 143 | + this.oilCard0 = oilCard0; | ||
| 144 | + } | ||
| 145 | + | ||
| 146 | + public String getOilCard10() { | ||
| 147 | + return oilCard10; | ||
| 148 | + } | ||
| 149 | + | ||
| 150 | + public void setOilCard10(String oilCard10) { | ||
| 151 | + this.oilCard10 = oilCard10; | ||
| 152 | + } | ||
| 153 | + | ||
| 154 | + public String getEastStation0() { | ||
| 155 | + return eastStation0; | ||
| 156 | + } | ||
| 157 | + | ||
| 158 | + public void setEastStation0(String eastStation0) { | ||
| 159 | + this.eastStation0 = eastStation0; | ||
| 160 | + } | ||
| 161 | + | ||
| 162 | + public String getEastStation10() { | ||
| 163 | + return eastStation10; | ||
| 164 | + } | ||
| 165 | + | ||
| 166 | + public void setEastStation10(String eastStation10) { | ||
| 167 | + this.eastStation10 = eastStation10; | ||
| 168 | + } | ||
| 169 | + | ||
| 170 | + public String getOutStation0() { | ||
| 171 | + return outStation0; | ||
| 172 | + } | ||
| 173 | + | ||
| 174 | + public void setOutStation0(String outStation0) { | ||
| 175 | + this.outStation0 = outStation0; | ||
| 176 | + } | ||
| 177 | + | ||
| 178 | + public String getOutStation10() { | ||
| 179 | + return outStation10; | ||
| 180 | + } | ||
| 181 | + | ||
| 182 | + public void setOutStation10(String outStation10) { | ||
| 183 | + this.outStation10 = outStation10; | ||
| 184 | + } | ||
| 185 | + | ||
| 186 | + public String getCreateBy() { | ||
| 187 | + return createBy; | ||
| 188 | + } | ||
| 189 | + | ||
| 190 | + public void setCreateBy(String createBy) { | ||
| 191 | + this.createBy = createBy; | ||
| 192 | + } | ||
| 193 | + | ||
| 194 | + public Date getCreateDate() { | ||
| 195 | + return createDate; | ||
| 196 | + } | ||
| 197 | + | ||
| 198 | + public void setCreateDate(Date createDate) { | ||
| 199 | + this.createDate = createDate; | ||
| 200 | + } | ||
| 201 | + | ||
| 202 | + public String getUpdateBy() { | ||
| 203 | + return updateBy; | ||
| 204 | + } | ||
| 205 | + | ||
| 206 | + public void setUpdateBy(String updateBy) { | ||
| 207 | + this.updateBy = updateBy; | ||
| 208 | + } | ||
| 209 | + | ||
| 210 | + public Date getUpdateDate() { | ||
| 211 | + return updateDate; | ||
| 212 | + } | ||
| 213 | + | ||
| 214 | + public void setUpdateDate(Date updateDate) { | ||
| 215 | + this.updateDate = updateDate; | ||
| 216 | + } | ||
| 217 | + | ||
| 218 | +} |
src/main/java/com/bsth/entity/report/RepairReport.java
0 → 100644
| 1 | +package com.bsth.entity.report; | ||
| 2 | + | ||
| 3 | +import java.util.Date; | ||
| 4 | + | ||
| 5 | +import javax.persistence.Entity; | ||
| 6 | +import javax.persistence.GeneratedValue; | ||
| 7 | +import javax.persistence.Id; | ||
| 8 | +import javax.persistence.Table; | ||
| 9 | +import javax.persistence.Transient; | ||
| 10 | + | ||
| 11 | +/** | ||
| 12 | + ** 维修上报信息 | ||
| 13 | + * @author Hill | ||
| 14 | + * | ||
| 15 | + */ | ||
| 16 | +@Entity | ||
| 17 | +@Table(name = "bsth_c_repair_report") | ||
| 18 | +public class RepairReport { | ||
| 19 | + | ||
| 20 | + @Id | ||
| 21 | + @GeneratedValue | ||
| 22 | + private Integer id; | ||
| 23 | + // 线路编码 | ||
| 24 | + private String lineId; | ||
| 25 | + // 线路名称 | ||
| 26 | + private String lineName; | ||
| 27 | + // 上报用户名 | ||
| 28 | + private String reportUser; | ||
| 29 | + // 上报姓名 | ||
| 30 | + private String reportName; | ||
| 31 | + // 班次ID | ||
| 32 | + private Long schId; | ||
| 33 | + // 内部编码 | ||
| 34 | + private String incode; | ||
| 35 | + // 发车时间 | ||
| 36 | + private String departureTime; | ||
| 37 | + // 报修类型 | ||
| 38 | + private String repairType; | ||
| 39 | + // 报修时间 | ||
| 40 | + private Date reportDate; | ||
| 41 | + // 格式化的时间字符串 | ||
| 42 | + @Transient | ||
| 43 | + private String reportDateStr; | ||
| 44 | + // 报修状态 0 不报 1上报成功 -1上报失败 | ||
| 45 | + private int reportState; | ||
| 46 | + // 格式化的时间字符串 | ||
| 47 | + @Transient | ||
| 48 | + private String reportStateStr; | ||
| 49 | + | ||
| 50 | + public Integer getId() { | ||
| 51 | + return id; | ||
| 52 | + } | ||
| 53 | + | ||
| 54 | + public void setId(Integer id) { | ||
| 55 | + this.id = id; | ||
| 56 | + } | ||
| 57 | + | ||
| 58 | + public String getLineId() { | ||
| 59 | + return lineId; | ||
| 60 | + } | ||
| 61 | + | ||
| 62 | + public void setLineId(String lineId) { | ||
| 63 | + this.lineId = lineId; | ||
| 64 | + } | ||
| 65 | + | ||
| 66 | + public String getLineName() { | ||
| 67 | + return lineName; | ||
| 68 | + } | ||
| 69 | + | ||
| 70 | + public void setLineName(String lineName) { | ||
| 71 | + this.lineName = lineName; | ||
| 72 | + } | ||
| 73 | + | ||
| 74 | + public String getReportUser() { | ||
| 75 | + return reportUser; | ||
| 76 | + } | ||
| 77 | + | ||
| 78 | + public void setReportUser(String reportUser) { | ||
| 79 | + this.reportUser = reportUser; | ||
| 80 | + } | ||
| 81 | + | ||
| 82 | + public String getReportName() { | ||
| 83 | + return reportName; | ||
| 84 | + } | ||
| 85 | + | ||
| 86 | + public void setReportName(String reportName) { | ||
| 87 | + this.reportName = reportName; | ||
| 88 | + } | ||
| 89 | + | ||
| 90 | + public Long getSchId() { | ||
| 91 | + return schId; | ||
| 92 | + } | ||
| 93 | + | ||
| 94 | + public void setSchId(Long schId) { | ||
| 95 | + this.schId = schId; | ||
| 96 | + } | ||
| 97 | + | ||
| 98 | + public String getIncode() { | ||
| 99 | + return incode; | ||
| 100 | + } | ||
| 101 | + | ||
| 102 | + public void setIncode(String incode) { | ||
| 103 | + this.incode = incode; | ||
| 104 | + } | ||
| 105 | + | ||
| 106 | + public String getDepartureTime() { | ||
| 107 | + return departureTime; | ||
| 108 | + } | ||
| 109 | + | ||
| 110 | + public void setDepartureTime(String departureTime) { | ||
| 111 | + this.departureTime = departureTime; | ||
| 112 | + } | ||
| 113 | + | ||
| 114 | + public String getRepairType() { | ||
| 115 | + return repairType; | ||
| 116 | + } | ||
| 117 | + | ||
| 118 | + public void setRepairType(String repairType) { | ||
| 119 | + this.repairType = repairType; | ||
| 120 | + } | ||
| 121 | + | ||
| 122 | + public Date getReportDate() { | ||
| 123 | + return reportDate; | ||
| 124 | + } | ||
| 125 | + | ||
| 126 | + public void setReportDate(Date reportDate) { | ||
| 127 | + this.reportDate = reportDate; | ||
| 128 | + } | ||
| 129 | + | ||
| 130 | + public String getReportDateStr() { | ||
| 131 | + return reportDateStr; | ||
| 132 | + } | ||
| 133 | + | ||
| 134 | + public void setReportDateStr(String reportDateStr) { | ||
| 135 | + this.reportDateStr = reportDateStr; | ||
| 136 | + } | ||
| 137 | + | ||
| 138 | + public int getReportState() { | ||
| 139 | + return reportState; | ||
| 140 | + } | ||
| 141 | + | ||
| 142 | + public void setReportState(int reportState) { | ||
| 143 | + this.reportState = reportState; | ||
| 144 | + } | ||
| 145 | + | ||
| 146 | + public String getReportStateStr() { | ||
| 147 | + return reportStateStr; | ||
| 148 | + } | ||
| 149 | + | ||
| 150 | + public void setReportStateStr(String reportStateStr) { | ||
| 151 | + this.reportStateStr = reportStateStr; | ||
| 152 | + } | ||
| 153 | +} |
src/main/java/com/bsth/repository/RefuelRepository.java
0 → 100644
| 1 | +package com.bsth.repository; | ||
| 2 | + | ||
| 3 | +import java.util.List; | ||
| 4 | + | ||
| 5 | +import org.springframework.data.jpa.repository.EntityGraph; | ||
| 6 | +import org.springframework.data.jpa.repository.Modifying; | ||
| 7 | +import org.springframework.data.jpa.repository.Query; | ||
| 8 | +import org.springframework.transaction.annotation.Transactional; | ||
| 9 | + | ||
| 10 | +import com.bsth.entity.Refuel; | ||
| 11 | +import com.bsth.entity.realcontrol.ScheduleRealInfo; | ||
| 12 | +import com.bsth.repository.BaseRepository; | ||
| 13 | + | ||
| 14 | +/** | ||
| 15 | + * Created in 19/9/3. | ||
| 16 | + */ | ||
| 17 | +public interface RefuelRepository extends BaseRepository<Refuel, Long> { | ||
| 18 | + | ||
| 19 | + @Query(value="select r.date_str, r.line_name, r.car, r.driver, r.in_oil, r.out_oil, r.in_station0, r.in_station5, " | ||
| 20 | + +"r.oil_card0, r.oil_card10, r.east_station0, r.east_station10, r.out_station0, r.out_station10, r.id, " | ||
| 21 | + +"r.date, r.create_by, r.create_date, r.update_by, r.update_date " | ||
| 22 | + +"from bsth_c_refuel r where binary r.date_str = ?1 and r.car like ?2 and r.driver like ?3", nativeQuery=true) | ||
| 23 | + List<Refuel> findByDate(String date, String car, String driver); | ||
| 24 | + | ||
| 25 | + @Query(value="select r from Refuel r where r.dateStr = ?1 and r.lineName = ?2 and r.car = ?3 and r.driver = ?4") | ||
| 26 | + List<Refuel> selectByDateAndCar(String date, String line, String car, String driver); | ||
| 27 | + | ||
| 28 | + @EntityGraph(value = "scheduleRealInfo_cTasks", type = EntityGraph.EntityGraphType.FETCH) | ||
| 29 | + @Query(value="select DISTINCT s from ScheduleRealInfo s where s.scheduleDateStr = ?1 and s.clZbh = ?2 and s.jGh = ?3") | ||
| 30 | + List<ScheduleRealInfo> scheduleByDate(String date, String clZbh, String jGh); | ||
| 31 | + | ||
| 32 | + @Transactional | ||
| 33 | + @Modifying | ||
| 34 | + @Query(value="INSERT INTO bsth_c_refuel(" + | ||
| 35 | + "date, date_str, line_name, car, driver, out_oil, in_oil, in_station0, in_station5, oil_card0, oil_card10, east_station0, east_station10, out_station0, out_station10, create_by, create_date)" + | ||
| 36 | + " VALUES(" + | ||
| 37 | + "str_to_date(?1,'%Y-%m-%d'),?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,str_to_date(?17,'%Y-%m-%d %H:%i:%s'))", nativeQuery=true) | ||
| 38 | + void insertData(String date, String dateStr, String lineName, String car, String driver, String outOil, String inOil, String inStation0, String inStation5, String oilCard0, String oilCard10, | ||
| 39 | + String eastStation0, String eastStation10, String outStation0, String outStation10, String createBy, String createDate); | ||
| 40 | + | ||
| 41 | + @Transactional | ||
| 42 | + @Modifying | ||
| 43 | + @Query(value="update bsth_c_refuel set date=str_to_date(?2,'%Y-%m-%d'), date_str=?3, line_name=?4, car=?5, driver=?6, out_oil=?7, in_oil=?8," | ||
| 44 | + + " in_station0=?9, in_station5=?10, oil_card0=?11, oil_card10=?12, east_station0=?13, east_station10=?14, out_station0=?15, out_station10=?16," | ||
| 45 | + + " update_by=?17, update_date=str_to_date(?18,'%Y-%m-%d %H:%i:%s') where id=?1", nativeQuery=true) | ||
| 46 | + public void update(long id, String date, String dateStr, String lineName, String car, String driver, String outOil, String inOil, String inStation0, String inStation5, | ||
| 47 | + String oilCard0, String oilCard10, String eastStation0, String eastStation10, String outStation0, String outStation10, String updateBy, String updateDate); | ||
| 48 | + | ||
| 49 | +} |
src/main/java/com/bsth/repository/RepairReportRepository.java
0 → 100644
| 1 | +package com.bsth.repository; | ||
| 2 | + | ||
| 3 | +import java.util.Date; | ||
| 4 | +import java.util.List; | ||
| 5 | + | ||
| 6 | +import org.springframework.data.jpa.repository.Query; | ||
| 7 | +import org.springframework.stereotype.Repository; | ||
| 8 | + | ||
| 9 | +import com.bsth.entity.report.RepairReport; | ||
| 10 | + | ||
| 11 | +/** | ||
| 12 | + * | ||
| 13 | + * @Interface: RepairReportRepository | ||
| 14 | + * | ||
| 15 | + * @Extends : BaseRepository | ||
| 16 | + * | ||
| 17 | + * @Description: 维修上报持久化层 | ||
| 18 | + * | ||
| 19 | + * @Author Hill | ||
| 20 | + * | ||
| 21 | + * @Date 2019-09-25 | ||
| 22 | + * | ||
| 23 | + * @Version | ||
| 24 | + * | ||
| 25 | + */ | ||
| 26 | + | ||
| 27 | +@Repository | ||
| 28 | +public interface RepairReportRepository extends BaseRepository<RepairReport, Integer> { | ||
| 29 | + | ||
| 30 | + @Query(value="select r from " | ||
| 31 | + + " RepairReport r where r.lineId = ?1 and r.reportDate between ?2 and " | ||
| 32 | + + "?3 and r.incode like ?4%") | ||
| 33 | + List<RepairReport> repairReportList(String lineId,Date start,Date end,String incode); | ||
| 34 | +} |
src/main/java/com/bsth/service/RefuelService.java
0 → 100644
| 1 | +package com.bsth.service; | ||
| 2 | + | ||
| 3 | +import java.io.File; | ||
| 4 | +import java.util.List; | ||
| 5 | +import java.util.Map; | ||
| 6 | + | ||
| 7 | +import com.bsth.entity.Refuel; | ||
| 8 | + | ||
| 9 | +/** | ||
| 10 | + * Created in 19/9/3. | ||
| 11 | + */ | ||
| 12 | +public interface RefuelService extends BaseService<Refuel, Long> { | ||
| 13 | + | ||
| 14 | + List<Refuel> query(Map<String, Object> map); | ||
| 15 | + | ||
| 16 | + List<Map<String, Object>> queryDaily(Map<String, Object> map); | ||
| 17 | + | ||
| 18 | + public String importExcel(File file); | ||
| 19 | +} |
src/main/java/com/bsth/service/impl/RefuelServiceImpl.java
0 → 100644
| 1 | +package com.bsth.service.impl; | ||
| 2 | + | ||
| 3 | +import com.bsth.entity.Refuel; | ||
| 4 | +import com.bsth.entity.realcontrol.ChildTaskPlan; | ||
| 5 | +import com.bsth.entity.realcontrol.ScheduleRealInfo; | ||
| 6 | +import com.bsth.entity.sys.SysUser; | ||
| 7 | +import com.bsth.repository.RefuelRepository; | ||
| 8 | +import com.bsth.security.util.SecurityUtils; | ||
| 9 | +import com.bsth.service.RefuelService; | ||
| 10 | +import com.bsth.service.report.CulateMileageService; | ||
| 11 | + | ||
| 12 | +import java.io.File; | ||
| 13 | +import java.io.FileInputStream; | ||
| 14 | +import java.math.BigDecimal; | ||
| 15 | +import java.text.DecimalFormat; | ||
| 16 | +import java.text.SimpleDateFormat; | ||
| 17 | +import java.util.ArrayList; | ||
| 18 | +import java.util.Date; | ||
| 19 | +import java.util.HashMap; | ||
| 20 | +import java.util.List; | ||
| 21 | +import java.util.Map; | ||
| 22 | +import java.util.Set; | ||
| 23 | + | ||
| 24 | +import org.apache.poi.hssf.usermodel.HSSFCell; | ||
| 25 | +import org.apache.poi.hssf.usermodel.HSSFRow; | ||
| 26 | +import org.apache.poi.hssf.usermodel.HSSFSheet; | ||
| 27 | +import org.apache.poi.hssf.usermodel.HSSFWorkbook; | ||
| 28 | +import org.apache.poi.poifs.filesystem.POIFSFileSystem; | ||
| 29 | +import org.springframework.beans.factory.annotation.Autowired; | ||
| 30 | +import org.springframework.stereotype.Service; | ||
| 31 | + | ||
| 32 | +/** | ||
| 33 | + * Created in 19/9/3. | ||
| 34 | + */ | ||
| 35 | +@Service | ||
| 36 | +public class RefuelServiceImpl extends BaseServiceImpl<Refuel, Long> implements RefuelService { | ||
| 37 | + | ||
| 38 | + @Autowired | ||
| 39 | + private RefuelRepository repository; | ||
| 40 | + | ||
| 41 | + @Autowired | ||
| 42 | + private CulateMileageService culateMileageService; | ||
| 43 | + | ||
| 44 | + @Override | ||
| 45 | + public List<Refuel> query(Map<String, Object> map) { | ||
| 46 | + // TODO Auto-generated method stub | ||
| 47 | + String date = "", car = "%%", driver = "%%"; | ||
| 48 | + if(map.get("date") != null){ | ||
| 49 | + date = map.get("date").toString(); | ||
| 50 | + } | ||
| 51 | + if(map.get("car") != null){ | ||
| 52 | + car = "%" + map.get("car").toString() + "%"; | ||
| 53 | + } | ||
| 54 | + if(map.get("driver") != null){ | ||
| 55 | + driver = "%" + map.get("driver").toString() + "%"; | ||
| 56 | + } | ||
| 57 | + List<Refuel> list = repository.findByDate(date, car, driver); | ||
| 58 | + return list; | ||
| 59 | + } | ||
| 60 | + | ||
| 61 | + @Override | ||
| 62 | + public List<Map<String, Object>> queryDaily(Map<String, Object> map) { | ||
| 63 | + // TODO Auto-generated method stub | ||
| 64 | + DecimalFormat df = new DecimalFormat("0.##"); | ||
| 65 | + | ||
| 66 | + String date = "", car = "%%", driver = "%%"; | ||
| 67 | + if(map.get("date") != null){ | ||
| 68 | + date = map.get("date").toString(); | ||
| 69 | + } | ||
| 70 | + if(map.get("car") != null){ | ||
| 71 | + car = "%" + map.get("car").toString() + "%"; | ||
| 72 | + } | ||
| 73 | + if(map.get("driver") != null){ | ||
| 74 | + driver = "%" + map.get("driver").toString() + "%"; | ||
| 75 | + } | ||
| 76 | + | ||
| 77 | + List<Refuel> list = repository.findByDate(date, car, driver); | ||
| 78 | + | ||
| 79 | + List<String> keyList = new ArrayList<String>(); | ||
| 80 | + Map<String, Refuel> rMap = new HashMap<String, Refuel>(); | ||
| 81 | + for(Refuel rf : list){ | ||
| 82 | + String key = rf.getCar() + "/" + rf.getDriver(); | ||
| 83 | + if("/".equals(key)){ | ||
| 84 | + continue; | ||
| 85 | + } | ||
| 86 | + if(rMap.containsKey(key)){ | ||
| 87 | + Refuel r = rMap.get(key); | ||
| 88 | + if(rf.getOutOil().length() > 0){ | ||
| 89 | + if(r.getOutOil().length() == 0){ | ||
| 90 | + r.setOutOil(rf.getOutOil()); | ||
| 91 | + } else if(Double.valueOf(rf.getOutOil()) > Double.valueOf(r.getOutOil())){ | ||
| 92 | + r.setOutOil(rf.getOutOil()); | ||
| 93 | + } | ||
| 94 | + } | ||
| 95 | + if(rf.getInOil().length() > 0){ | ||
| 96 | + if(r.getInOil().length() == 0){ | ||
| 97 | + r.setInOil(rf.getInOil()); | ||
| 98 | + } else if(Double.valueOf(rf.getInOil()) < Double.valueOf(r.getInOil())){ | ||
| 99 | + r.setInOil(rf.getInOil()); | ||
| 100 | + } | ||
| 101 | + } | ||
| 102 | + if(rf.getInStation0().length() > 0){ | ||
| 103 | + if(r.getInStation0().length() == 0){ | ||
| 104 | + r.setInStation0(rf.getInStation0()); | ||
| 105 | + } else { | ||
| 106 | + r.setInStation0(add(r.getInStation0(), rf.getInStation0())); | ||
| 107 | + } | ||
| 108 | + } | ||
| 109 | + if(rf.getInStation5().length() > 0){ | ||
| 110 | + if(r.getInStation5().length() == 0){ | ||
| 111 | + r.setInStation5(rf.getInStation5()); | ||
| 112 | + } else { | ||
| 113 | + r.setInStation5(add(r.getInStation5(), rf.getInStation5())); | ||
| 114 | + } | ||
| 115 | + } | ||
| 116 | + if(rf.getOilCard0().length() > 0){ | ||
| 117 | + if(r.getOilCard0().length() == 0){ | ||
| 118 | + r.setOilCard0(rf.getOilCard0()); | ||
| 119 | + } else { | ||
| 120 | + r.setOilCard0(add(r.getOilCard0(), rf.getOilCard0())); | ||
| 121 | + } | ||
| 122 | + } | ||
| 123 | + if(rf.getOilCard10().length() > 0){ | ||
| 124 | + if(r.getOilCard10().length() == 0){ | ||
| 125 | + r.setOilCard10(rf.getOilCard10()); | ||
| 126 | + } else { | ||
| 127 | + r.setOilCard10(add(r.getOilCard10(), rf.getOilCard10())); | ||
| 128 | + } | ||
| 129 | + } | ||
| 130 | + if(rf.getEastStation0().length() > 0){ | ||
| 131 | + if(r.getEastStation0().length() == 0){ | ||
| 132 | + r.setEastStation0(rf.getEastStation0()); | ||
| 133 | + } else { | ||
| 134 | + r.setEastStation0(add(r.getEastStation0(), rf.getEastStation0())); | ||
| 135 | + } | ||
| 136 | + } | ||
| 137 | + if(rf.getEastStation10().length() > 0){ | ||
| 138 | + if(r.getEastStation10().length() == 0){ | ||
| 139 | + r.setEastStation10(rf.getEastStation10()); | ||
| 140 | + } else { | ||
| 141 | + r.setEastStation10(add(r.getEastStation10(), rf.getEastStation10())); | ||
| 142 | + } | ||
| 143 | + } | ||
| 144 | + if(rf.getOutStation0().length() > 0){ | ||
| 145 | + if(r.getOutStation0().length() == 0){ | ||
| 146 | + r.setOutStation0(rf.getOutStation0()); | ||
| 147 | + } else { | ||
| 148 | + r.setOutStation0(add(r.getOutStation0(), rf.getOutStation0())); | ||
| 149 | + } | ||
| 150 | + } | ||
| 151 | + if(rf.getOutStation10().length() > 0){ | ||
| 152 | + if(r.getOutStation10().length() == 0){ | ||
| 153 | + r.setOutStation10(rf.getOutStation10()); | ||
| 154 | + } else { | ||
| 155 | + r.setOutStation10(add(r.getOutStation10(), rf.getOutStation10())); | ||
| 156 | + } | ||
| 157 | + } | ||
| 158 | + } else { | ||
| 159 | + keyList.add(key); | ||
| 160 | + rMap.put(key, rf); | ||
| 161 | + } | ||
| 162 | + } | ||
| 163 | + | ||
| 164 | + List<Map<String, Object>> resList = new ArrayList<Map<String, Object>>(); | ||
| 165 | + for(String key : keyList){ | ||
| 166 | + Refuel r = rMap.get(key); | ||
| 167 | + Map<String, Object> m = new HashMap<String, Object>(); | ||
| 168 | + | ||
| 169 | + String realMileage = "", oil = "0", consume = ""; | ||
| 170 | + List<ScheduleRealInfo> temp = repository.scheduleByDate(date, r.getCar(), r.getDriver()); | ||
| 171 | + List<ScheduleRealInfo> temp2 = new ArrayList<ScheduleRealInfo>(); | ||
| 172 | + if(temp.size() > 0){ | ||
| 173 | + for(ScheduleRealInfo s : temp){ | ||
| 174 | + Set<ChildTaskPlan> cts = s.getcTasks(); | ||
| 175 | + if(cts != null && cts.size() > 0){ | ||
| 176 | + temp2.add(s); | ||
| 177 | + }else{ | ||
| 178 | + if(s.getZdsjActual()!=null | ||
| 179 | + && s.getFcsjActual()!=null){ | ||
| 180 | + temp2.add(s); | ||
| 181 | + } | ||
| 182 | + } | ||
| 183 | + } | ||
| 184 | + Double sjgl = culateMileageService.culateSjgl(temp2); | ||
| 185 | + Double ksgl = culateMileageService.culateKsgl(temp); | ||
| 186 | + Double jccgl = culateMileageService.culateJccgl(temp2); | ||
| 187 | + Double ljgl = culateMileageService.culateLjgl(temp2); | ||
| 188 | + | ||
| 189 | + realMileage = add(add(sjgl, ksgl), add(jccgl, ljgl)); | ||
| 190 | + } | ||
| 191 | + | ||
| 192 | + if(r.getOutOil().length() > 0 && r.getInOil().length() > 0){ | ||
| 193 | + oil = new BigDecimal(r.getOutOil()).subtract(new BigDecimal(r.getInOil())).toString(); | ||
| 194 | + } | ||
| 195 | + if(r.getInStation0().length() > 0){ | ||
| 196 | + oil = add(oil, r.getInStation0()); | ||
| 197 | + } | ||
| 198 | + if(r.getInStation5().length() > 0){ | ||
| 199 | + oil = add(oil, r.getInStation5()); | ||
| 200 | + } | ||
| 201 | + if(r.getOilCard0().length() > 0){ | ||
| 202 | + oil = add(oil, r.getOilCard0()); | ||
| 203 | + } | ||
| 204 | + if(r.getOilCard10().length() > 0){ | ||
| 205 | + oil = add(oil, r.getOilCard10()); | ||
| 206 | + } | ||
| 207 | + if(r.getEastStation0().length() > 0){ | ||
| 208 | + oil = add(oil, r.getEastStation0()); | ||
| 209 | + } | ||
| 210 | + if(r.getEastStation10().length() > 0){ | ||
| 211 | + oil = add(oil, r.getEastStation10()); | ||
| 212 | + } | ||
| 213 | + if(r.getOutStation0().length() > 0){ | ||
| 214 | + oil = add(oil, r.getOutStation0()); | ||
| 215 | + } | ||
| 216 | + if(r.getOutStation10().length() > 0){ | ||
| 217 | + oil = add(oil, r.getOutStation10()); | ||
| 218 | + } | ||
| 219 | + | ||
| 220 | + if(realMileage.length() > 0 && oil.length() > 0 && !("0".equals(realMileage))){ | ||
| 221 | + consume = df.format(new BigDecimal(oil).divide(new BigDecimal(realMileage), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100))); | ||
| 222 | + } | ||
| 223 | + | ||
| 224 | + m.put("date", r.getDateStr()); | ||
| 225 | + m.put("line", r.getLineName()); | ||
| 226 | + m.put("car", r.getCar()); | ||
| 227 | + m.put("driver", r.getDriver()); | ||
| 228 | + m.put("realMileage", realMileage); | ||
| 229 | + m.put("oil", oil); | ||
| 230 | + m.put("consume", consume); | ||
| 231 | + | ||
| 232 | + resList.add(m); | ||
| 233 | + } | ||
| 234 | + | ||
| 235 | + return resList; | ||
| 236 | + } | ||
| 237 | + | ||
| 238 | + @Override | ||
| 239 | + public String importExcel(File file) { | ||
| 240 | + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); | ||
| 241 | + SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); | ||
| 242 | + List<String> textList = new ArrayList<String>(); | ||
| 243 | + try { | ||
| 244 | + POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream(file)); | ||
| 245 | + HSSFWorkbook wb = new HSSFWorkbook(fs); | ||
| 246 | + HSSFSheet sheet = wb.getSheetAt(0); | ||
| 247 | + // 取得总行数 | ||
| 248 | + int rowNum = sheet.getLastRowNum() + 1; | ||
| 249 | + // 取得总列数 | ||
| 250 | + int cellNum = sheet.getRow(0).getLastCellNum(); | ||
| 251 | + HSSFRow row = null; | ||
| 252 | + HSSFCell cell = null; | ||
| 253 | + | ||
| 254 | + String userName = ""; | ||
| 255 | + SysUser user = SecurityUtils.getCurrentUser(); | ||
| 256 | + if(user != null && user.getUserName() != null){ | ||
| 257 | + userName = user.getUserName(); | ||
| 258 | + } | ||
| 259 | + | ||
| 260 | + for(int i = 1; i < rowNum; i++){ | ||
| 261 | + row = sheet.getRow(i); | ||
| 262 | + if (row == null){ | ||
| 263 | + continue; | ||
| 264 | + } | ||
| 265 | + String text = ""; | ||
| 266 | + for(int j = 0; j < cellNum; j++){ | ||
| 267 | + cell = row.getCell(j); | ||
| 268 | + if(cell == null){ | ||
| 269 | + text += ","; | ||
| 270 | + continue; | ||
| 271 | + } | ||
| 272 | + text += String.valueOf(cell) + ","; | ||
| 273 | + } | ||
| 274 | + String[] split = (text+";").split(","); | ||
| 275 | + String str = ""; | ||
| 276 | + for(int j = 0; j < split.length && j < 14; j++){ | ||
| 277 | + str += split[j]; | ||
| 278 | + } | ||
| 279 | + if(str.trim().length() == 0) | ||
| 280 | + continue; | ||
| 281 | + textList.add(text + ";"); | ||
| 282 | + } | ||
| 283 | + for(int i = 0; i < textList.size(); i++){ | ||
| 284 | + String text = textList.get(i); | ||
| 285 | + String[] split = text.split(","); | ||
| 286 | + String rq = split[0].trim(); | ||
| 287 | + String line = split[1].trim(); | ||
| 288 | + String car = split[2].trim(); | ||
| 289 | + String driver = split[3].trim(); | ||
| 290 | + if((car + driver).trim().length() == 0){ | ||
| 291 | + continue; | ||
| 292 | + } | ||
| 293 | + String outOil = split[4].trim(); | ||
| 294 | + String inOil = split[5].trim(); | ||
| 295 | + String inStation0 = split[6].trim(); | ||
| 296 | + String inStation5 = split[7].trim(); | ||
| 297 | + String oilCard0 = split[8].trim(); | ||
| 298 | + String oilCard10 = split[9].trim(); | ||
| 299 | + String eastStation0 = split[10].trim(); | ||
| 300 | + String eastStation10 = split[11].trim(); | ||
| 301 | + String outStation0 = split[12].trim(); | ||
| 302 | + String outStation10 = split[13].trim(); | ||
| 303 | + | ||
| 304 | + List<Refuel> list = repository.selectByDateAndCar(rq, line, car, driver); | ||
| 305 | + if(list.size() > 0){ | ||
| 306 | + for(Refuel r : list){ | ||
| 307 | + if(r.getId() != null){ | ||
| 308 | + repository.update(r.getId(), rq, rq, line, car, driver, outOil, inOil, inStation0, inStation5, | ||
| 309 | + oilCard0, oilCard10, eastStation0, eastStation10, outStation0, outStation10, userName, sd.format(new Date())); | ||
| 310 | + } | ||
| 311 | + } | ||
| 312 | + } else { | ||
| 313 | + repository.insertData(rq, rq, line, car, driver, outOil, inOil, inStation0, inStation5, oilCard0, oilCard10, | ||
| 314 | + eastStation0, eastStation10, outStation0, outStation10, userName, sd.format(new Date())); | ||
| 315 | + } | ||
| 316 | + } | ||
| 317 | + wb.close(); | ||
| 318 | + fs.close(); | ||
| 319 | + } catch (Exception e) { | ||
| 320 | + // TODO Auto-generated catch block | ||
| 321 | + e.printStackTrace(); | ||
| 322 | + return "文件导入失败"; | ||
| 323 | + } finally { | ||
| 324 | + file.delete(); | ||
| 325 | + } | ||
| 326 | + return "文件导入成功"; | ||
| 327 | + } | ||
| 328 | + | ||
| 329 | + public String add(Object v1, Object v2) | ||
| 330 | + { | ||
| 331 | + BigDecimal b1 = new BigDecimal(v1.toString()); | ||
| 332 | + BigDecimal b2 = new BigDecimal(v2.toString()); | ||
| 333 | + return b1.add(b2).toString(); | ||
| 334 | + } | ||
| 335 | + | ||
| 336 | +} |
src/main/java/com/bsth/service/realcontrol/ScheduleRealInfoService.java
| @@ -4,6 +4,7 @@ import com.bsth.controller.realcontrol.dto.ChangePersonCar; | @@ -4,6 +4,7 @@ import com.bsth.controller.realcontrol.dto.ChangePersonCar; | ||
| 4 | import com.bsth.controller.realcontrol.dto.DfsjChange; | 4 | import com.bsth.controller.realcontrol.dto.DfsjChange; |
| 5 | import com.bsth.data.schedule.edit_logs.service.dto.SchEditInfoDto; | 5 | import com.bsth.data.schedule.edit_logs.service.dto.SchEditInfoDto; |
| 6 | import com.bsth.entity.realcontrol.ScheduleRealInfo; | 6 | import com.bsth.entity.realcontrol.ScheduleRealInfo; |
| 7 | +import com.bsth.entity.report.RepairReport; | ||
| 7 | import com.bsth.entity.schedule.SchedulePlanInfo; | 8 | import com.bsth.entity.schedule.SchedulePlanInfo; |
| 8 | import com.bsth.service.BaseService; | 9 | import com.bsth.service.BaseService; |
| 9 | import org.springframework.stereotype.Service; | 10 | import org.springframework.stereotype.Service; |
| @@ -194,4 +195,8 @@ public interface ScheduleRealInfoService extends BaseService<ScheduleRealInfo, L | @@ -194,4 +195,8 @@ public interface ScheduleRealInfoService extends BaseService<ScheduleRealInfo, L | ||
| 194 | List<Map<String, Object>> scheduleCorrectionReport(String gsdm, String fgsdm, | 195 | List<Map<String, Object>> scheduleCorrectionReport(String gsdm, String fgsdm, |
| 195 | String line, String date, String date2); | 196 | String line, String date, String date2); |
| 196 | Integer isCircleQdz(String clzbh,String sdr,String xlbm,String qdzCode); | 197 | Integer isCircleQdz(String clzbh,String sdr,String xlbm,String qdzCode); |
| 198 | + | ||
| 199 | + Map<String, Object> repairReport(Map<String, Object> map, boolean isActive); | ||
| 200 | + | ||
| 201 | + List<RepairReport> repairReportList(String line,String date,String code, String type); | ||
| 197 | } | 202 | } |
src/main/java/com/bsth/service/realcontrol/impl/ScheduleRealInfoServiceImpl.java
| @@ -33,6 +33,7 @@ import com.bsth.entity.realcontrol.LineConfig; | @@ -33,6 +33,7 @@ import com.bsth.entity.realcontrol.LineConfig; | ||
| 33 | import com.bsth.entity.realcontrol.ScheduleRealInfo; | 33 | import com.bsth.entity.realcontrol.ScheduleRealInfo; |
| 34 | import com.bsth.entity.realcontrol.SvgAttribute; | 34 | import com.bsth.entity.realcontrol.SvgAttribute; |
| 35 | import com.bsth.entity.report.MileageReport; | 35 | import com.bsth.entity.report.MileageReport; |
| 36 | +import com.bsth.entity.report.RepairReport; | ||
| 36 | import com.bsth.entity.report.ScheduleCorrectionReport; | 37 | import com.bsth.entity.report.ScheduleCorrectionReport; |
| 37 | import com.bsth.entity.schedule.CarConfigInfo; | 38 | import com.bsth.entity.schedule.CarConfigInfo; |
| 38 | import com.bsth.entity.schedule.EmployeeConfigInfo; | 39 | import com.bsth.entity.schedule.EmployeeConfigInfo; |
| @@ -44,6 +45,7 @@ import com.bsth.entity.sys.SysUser; | @@ -44,6 +45,7 @@ import com.bsth.entity.sys.SysUser; | ||
| 44 | import com.bsth.repository.CarDeviceRepository; | 45 | import com.bsth.repository.CarDeviceRepository; |
| 45 | import com.bsth.repository.CarsRepository; | 46 | import com.bsth.repository.CarsRepository; |
| 46 | import com.bsth.repository.LineRepository; | 47 | import com.bsth.repository.LineRepository; |
| 48 | +import com.bsth.repository.RepairReportRepository; | ||
| 47 | import com.bsth.repository.oil.DlbRepository; | 49 | import com.bsth.repository.oil.DlbRepository; |
| 48 | import com.bsth.repository.oil.YlbRepository; | 50 | import com.bsth.repository.oil.YlbRepository; |
| 49 | import com.bsth.repository.oil.YlxxbRepository; | 51 | import com.bsth.repository.oil.YlxxbRepository; |
| @@ -66,11 +68,14 @@ import com.bsth.service.sys.DictionaryService; | @@ -66,11 +68,14 @@ import com.bsth.service.sys.DictionaryService; | ||
| 66 | import com.bsth.service.sys.DutyEmployeeService; | 68 | import com.bsth.service.sys.DutyEmployeeService; |
| 67 | import com.bsth.util.*; | 69 | import com.bsth.util.*; |
| 68 | import com.bsth.websocket.handler.SendUtils; | 70 | import com.bsth.websocket.handler.SendUtils; |
| 71 | +import com.fasterxml.jackson.databind.ObjectMapper; | ||
| 69 | import com.github.stuxuhai.jpinyin.PinyinException; | 72 | import com.github.stuxuhai.jpinyin.PinyinException; |
| 70 | import com.github.stuxuhai.jpinyin.PinyinFormat; | 73 | import com.github.stuxuhai.jpinyin.PinyinFormat; |
| 71 | import com.github.stuxuhai.jpinyin.PinyinHelper; | 74 | import com.github.stuxuhai.jpinyin.PinyinHelper; |
| 72 | import com.google.common.base.Splitter; | 75 | import com.google.common.base.Splitter; |
| 73 | import com.google.common.collect.Lists; | 76 | import com.google.common.collect.Lists; |
| 77 | + | ||
| 78 | +import org.apache.commons.io.IOUtils; | ||
| 74 | import org.apache.commons.lang3.StringEscapeUtils; | 79 | import org.apache.commons.lang3.StringEscapeUtils; |
| 75 | import org.apache.commons.lang3.StringUtils; | 80 | import org.apache.commons.lang3.StringUtils; |
| 76 | import org.joda.time.format.DateTimeFormat; | 81 | import org.joda.time.format.DateTimeFormat; |
| @@ -82,8 +87,14 @@ import org.springframework.jdbc.core.BeanPropertyRowMapper; | @@ -82,8 +87,14 @@ import org.springframework.jdbc.core.BeanPropertyRowMapper; | ||
| 82 | import org.springframework.jdbc.core.JdbcTemplate; | 87 | import org.springframework.jdbc.core.JdbcTemplate; |
| 83 | import org.springframework.jdbc.core.RowMapper; | 88 | import org.springframework.jdbc.core.RowMapper; |
| 84 | import org.springframework.stereotype.Service; | 89 | import org.springframework.stereotype.Service; |
| 90 | +import org.springframework.transaction.annotation.Transactional; | ||
| 85 | 91 | ||
| 92 | +import java.io.ByteArrayOutputStream; | ||
| 86 | import java.io.File; | 93 | import java.io.File; |
| 94 | +import java.io.IOException; | ||
| 95 | +import java.io.InputStream; | ||
| 96 | +import java.net.HttpURLConnection; | ||
| 97 | +import java.net.URL; | ||
| 87 | import java.sql.ResultSet; | 98 | import java.sql.ResultSet; |
| 88 | import java.sql.SQLException; | 99 | import java.sql.SQLException; |
| 89 | import java.text.DecimalFormat; | 100 | import java.text.DecimalFormat; |
| @@ -168,6 +179,9 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -168,6 +179,9 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 168 | 179 | ||
| 169 | @Autowired | 180 | @Autowired |
| 170 | CarsRepository carsRepository; | 181 | CarsRepository carsRepository; |
| 182 | + | ||
| 183 | + @Autowired | ||
| 184 | + RepairReportRepository repairReportRepository; | ||
| 171 | Logger logger = LoggerFactory.getLogger(this.getClass()); | 185 | Logger logger = LoggerFactory.getLogger(this.getClass()); |
| 172 | 186 | ||
| 173 | SimpleDateFormat sdfMonth = new SimpleDateFormat("yyyy-MM-dd"), | 187 | SimpleDateFormat sdfMonth = new SimpleDateFormat("yyyy-MM-dd"), |
| @@ -1525,6 +1539,13 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -1525,6 +1539,13 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 1525 | Map<String, Object> rs = new HashMap<>(); | 1539 | Map<String, Object> rs = new HashMap<>(); |
| 1526 | List<ScheduleRealInfo> ts = new ArrayList<>(); | 1540 | List<ScheduleRealInfo> ts = new ArrayList<>(); |
| 1527 | try { | 1541 | try { |
| 1542 | + // 维修上报 | ||
| 1543 | + if (StringUtils.isNotBlank(map.get("repairTypes"))) { | ||
| 1544 | + Map<String, Object> param = new HashMap<String, Object>(); | ||
| 1545 | + param.putAll(map); | ||
| 1546 | + repairReport(param, false); | ||
| 1547 | + } | ||
| 1548 | + | ||
| 1528 | Long id = Long.parseLong(map.get("id")); | 1549 | Long id = Long.parseLong(map.get("id")); |
| 1529 | String remarks = map.get("remarks"); | 1550 | String remarks = map.get("remarks"); |
| 1530 | 1551 | ||
| @@ -6020,6 +6041,192 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -6020,6 +6041,192 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 6020 | Integer num2=num==0L?0:1; | 6041 | Integer num2=num==0L?0:1; |
| 6021 | return num2; | 6042 | return num2; |
| 6022 | } | 6043 | } |
| 6044 | + | ||
| 6045 | + @SuppressWarnings("unchecked") | ||
| 6046 | + private static Map<String, Object> request(String url) { | ||
| 6047 | + Map<String, Object> res = new HashMap<String, Object>(); | ||
| 6048 | + res.put("status", ResponseCode.SUCCESS); | ||
| 6049 | + InputStream in = null; | ||
| 6050 | + HttpURLConnection con = null; | ||
| 6051 | + try { | ||
| 6052 | + con = (HttpURLConnection)new URL(url).openConnection(); | ||
| 6053 | + con.setRequestMethod("POST"); | ||
| 6054 | + con.setRequestProperty("keep-alive", "true"); | ||
| 6055 | + con.setRequestProperty("accept", "application/json"); | ||
| 6056 | + con.setRequestProperty("content-type", "application/json"); | ||
| 6057 | + con.setDoInput(true); | ||
| 6058 | + con.setReadTimeout(2500); | ||
| 6059 | + con.setConnectTimeout(2500); | ||
| 6060 | + | ||
| 6061 | + con.connect(); | ||
| 6062 | + if (con.getResponseCode() == 200) { | ||
| 6063 | + in = con.getInputStream(); | ||
| 6064 | + ByteArrayOutputStream bout = new ByteArrayOutputStream(); | ||
| 6065 | + IOUtils.copy(in, bout); bout.close(); | ||
| 6066 | + Map<String, Object> response = new ObjectMapper().readValue(bout.toByteArray(), Map.class); | ||
| 6067 | + if (!"报修成功".equals(response.get("msg"))) { | ||
| 6068 | + res.put("status", ResponseCode.ERROR); | ||
| 6069 | + res.putAll(response); | ||
| 6070 | + } | ||
| 6071 | + } | ||
| 6072 | + } catch (IOException e) { | ||
| 6073 | + // TODO Auto-generated catch block | ||
| 6074 | + res.put("status", ResponseCode.ERROR); | ||
| 6075 | + res.put("msg", "调用上报接口异常"); | ||
| 6076 | + } finally { | ||
| 6077 | + try { | ||
| 6078 | + if (in != null) in.close(); | ||
| 6079 | + if (con != null) con.disconnect(); | ||
| 6080 | + } catch (IOException e) { | ||
| 6081 | + // TODO Auto-generated catch block | ||
| 6082 | + e.printStackTrace(); | ||
| 6083 | + } | ||
| 6084 | + } | ||
| 6085 | + | ||
| 6086 | + return res; | ||
| 6087 | + } | ||
| 6088 | + | ||
| 6089 | + /** | ||
| 6090 | + ** 维修记录上报 | ||
| 6091 | + * @param param 参数信息 | ||
| 6092 | + * @param isActive 主/被动上报 | ||
| 6093 | + */ | ||
| 6094 | + @Override | ||
| 6095 | + @Transactional | ||
| 6096 | + public Map<String, Object> repairReport(Map<String, Object> param, boolean isActive) { | ||
| 6097 | + Map<String, Object> res = new HashMap<String, Object>(); | ||
| 6098 | + res.put("status", ResponseCode.SUCCESS); | ||
| 6099 | + // 获取实际排班信息 | ||
| 6100 | + Long id = Long.parseLong((String)param.get("id")); | ||
| 6101 | + ScheduleRealInfo sch = dayOfSchedule.get(id); | ||
| 6102 | + | ||
| 6103 | + if (null == sch) { | ||
| 6104 | + res.put("status", ResponseCode.ERROR); | ||
| 6105 | + res.put("msg", "不存在的班次!"); | ||
| 6106 | + | ||
| 6107 | + return res; | ||
| 6108 | + } | ||
| 6109 | + | ||
| 6110 | + int reportState = -1; | ||
| 6111 | + SysUser user = SecurityUtils.getCurrentUser(); | ||
| 6112 | + String reportUser = user.getUserName(), reportName = user.getName(), incode = (String)param.get("clZbh"), repairTypes = (String)param.get("repairTypes"); | ||
| 6113 | + // 分公司保存格式 分公司编码_公司编码 | ||
| 6114 | + String val = BasicData.nbbm2FgsCompanyCodeMap.get(incode); | ||
| 6115 | + String[] arr = val.split("_"); | ||
| 6116 | + StringBuilder url = new StringBuilder(ConfigUtil.get("http.report.url." + arr[1])); | ||
| 6117 | + url.append("?nbbm=").append(incode).append("&bxy=").append(reportUser).append("&bxbm=").append(repairTypes).append("&fgs=").append(arr[0]); | ||
| 6118 | + | ||
| 6119 | + RepairReport lrr = dayOfSchedule.getLastestRepairReport(incode); | ||
| 6120 | + // 非主动上报并且无上报记录或上次已上报或上次上报的同一个班次 则不用上报 | ||
| 6121 | + if (!isActive && (lrr == null || lrr.getReportState() != 0 || lrr.getSchId().equals(id))) { | ||
| 6122 | + reportState = 0; | ||
| 6123 | + } else { | ||
| 6124 | + res = request(url.toString()); | ||
| 6125 | + if (ResponseCode.SUCCESS.equals(res.get("status"))) reportState = 1; | ||
| 6126 | + } | ||
| 6127 | + // 持久化此次上报记录 | ||
| 6128 | + RepairReport rr = new RepairReport(); | ||
| 6129 | + rr.setLineId(sch.getXlBm()); | ||
| 6130 | + rr.setLineName(sch.getXlName()); | ||
| 6131 | + rr.setReportUser(reportUser); | ||
| 6132 | + rr.setReportName(reportName); | ||
| 6133 | + rr.setSchId(id); | ||
| 6134 | + rr.setIncode(incode); | ||
| 6135 | + rr.setDepartureTime(sch.getFcsj()); | ||
| 6136 | + rr.setRepairType(repairTypes); | ||
| 6137 | + rr.setReportDate(new Date()); | ||
| 6138 | + rr.setReportState(reportState); | ||
| 6139 | + repairReportRepository.save(rr); | ||
| 6140 | + dayOfSchedule.setLastestRepairReport(rr); | ||
| 6141 | + | ||
| 6142 | + return res; | ||
| 6143 | + } | ||
| 6144 | + | ||
| 6145 | + @Override | ||
| 6146 | + public List<RepairReport> repairReportList(String lineId, String date, String incode, String type) { | ||
| 6147 | + List<RepairReport> result = new ArrayList<RepairReport>(); | ||
| 6148 | + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); | ||
| 6149 | + | ||
| 6150 | + Date start = null, end = null; | ||
| 6151 | + if (date.length() > 0) { | ||
| 6152 | + try { | ||
| 6153 | + start = sdf.parse(date + " 00:00:00"); | ||
| 6154 | + end = sdf.parse(date + " 23:59:59"); | ||
| 6155 | + } catch (ParseException e) { | ||
| 6156 | + // TODO Auto-generated catch block | ||
| 6157 | + e.printStackTrace(); | ||
| 6158 | + } | ||
| 6159 | + | ||
| 6160 | + } | ||
| 6161 | + | ||
| 6162 | + result = repairReportRepository.repairReportList(lineId, start, end, incode); | ||
| 6163 | + Map<String, Object> dMap=new HashMap<>(); | ||
| 6164 | + dMap.put("dGroup", "repairtype"); | ||
| 6165 | + Map<String, String> code2name = new HashMap<String, String>(); | ||
| 6166 | + for (Dictionary dic : dictionaryService.list(dMap)) { | ||
| 6167 | + code2name.put(dic.getdCode(), dic.getdName()); | ||
| 6168 | + } | ||
| 6169 | + for (RepairReport rr : result) { | ||
| 6170 | + String repairType = rr.getRepairType(); | ||
| 6171 | + String[] types = repairType.split(";"); | ||
| 6172 | + StringBuilder sb = new StringBuilder(); | ||
| 6173 | + | ||
| 6174 | + for (String t : types) { | ||
| 6175 | + sb.append(code2name.get(t)).append(";"); | ||
| 6176 | + } | ||
| 6177 | + | ||
| 6178 | + rr.setRepairType(sb.toString()); | ||
| 6179 | + rr.setReportDateStr(sdf.format(rr.getReportDate())); | ||
| 6180 | + switch (rr.getReportState()) { | ||
| 6181 | + case 0: | ||
| 6182 | + rr.setReportStateStr("不报"); | ||
| 6183 | + break; | ||
| 6184 | + case 1: | ||
| 6185 | + rr.setReportStateStr("上报成功"); | ||
| 6186 | + break; | ||
| 6187 | + case -1: | ||
| 6188 | + rr.setReportStateStr("上报失败"); | ||
| 6189 | + break; | ||
| 6190 | + default: | ||
| 6191 | + break; | ||
| 6192 | + } | ||
| 6193 | + } | ||
| 6194 | + | ||
| 6195 | + if ("export".equals(type)) { | ||
| 6196 | + String lineName = BasicData.lineCode2NameMap.get(lineId); | ||
| 6197 | + SimpleDateFormat sdfMonth = new SimpleDateFormat("yyyy-MM-dd"), | ||
| 6198 | + sdfSimple = new SimpleDateFormat("yyyyMMdd"); | ||
| 6199 | + List<Iterator<?>> listI = new ArrayList<Iterator<?>>(); | ||
| 6200 | + Map<String, Object> m = new HashMap<String, Object>(); | ||
| 6201 | + ReportUtils ee = new ReportUtils(); | ||
| 6202 | + List<Map<String, Object>> newList = new ArrayList<Map<String, Object>>(); | ||
| 6203 | + for (int i = 0; i < result.size(); i++) { | ||
| 6204 | + Map<String, Object> map = new HashMap<String, Object>(); | ||
| 6205 | + RepairReport rr = result.get(i); | ||
| 6206 | + map.put("row", i + 1); | ||
| 6207 | + map.put("lineId", rr.getLineName()); | ||
| 6208 | + map.put("incode", rr.getIncode()); | ||
| 6209 | + map.put("departureTime", rr.getDepartureTime()); | ||
| 6210 | + map.put("reportUser", rr.getReportUser()); | ||
| 6211 | + map.put("reportDateStr", rr.getReportDate()); | ||
| 6212 | + map.put("repairType", rr.getRepairType()); | ||
| 6213 | + map.put("reportStateStr", rr.getReportStateStr()); | ||
| 6214 | + newList.add(map); | ||
| 6215 | + } | ||
| 6216 | + try { | ||
| 6217 | + listI.add(newList.iterator()); | ||
| 6218 | + String path = this.getClass().getResource("/").getPath() + "static/pages/forms/"; | ||
| 6219 | + ee.excelReplace(listI, new Object[]{m}, path + "mould/repairReport.xls", | ||
| 6220 | + path + "export/" + sdfSimple.format(sdfMonth.parse(date)) | ||
| 6221 | + + "-" + lineName + "-维修上报记录.xls"); | ||
| 6222 | + } catch (Exception e) { | ||
| 6223 | + // TODO: handle exception | ||
| 6224 | + e.printStackTrace(); | ||
| 6225 | + } | ||
| 6226 | + } | ||
| 6227 | + | ||
| 6228 | + return result; | ||
| 6229 | + } | ||
| 6023 | } | 6230 | } |
| 6024 | 6231 | ||
| 6025 | class AccountMap implements Comparator<Map<String, Object>> { | 6232 | class AccountMap implements Comparator<Map<String, Object>> { |
src/main/java/com/bsth/webService/trafficManage/org/tempuri/WebServiceLocator.java
| @@ -22,7 +22,7 @@ public class WebServiceLocator extends org.apache.axis.client.Service implements | @@ -22,7 +22,7 @@ public class WebServiceLocator extends org.apache.axis.client.Service implements | ||
| 22 | } | 22 | } |
| 23 | 23 | ||
| 24 | // Use to get a proxy class for WebServiceSoap | 24 | // Use to get a proxy class for WebServiceSoap |
| 25 | - private java.lang.String WebServiceSoap_address = "http://218.242.195.76:8411/webservice.asmx"; | 25 | + private java.lang.String WebServiceSoap_address = "http://183.194.241.174:8411/webservice.asmx"; |
| 26 | 26 | ||
| 27 | public java.lang.String getWebServiceSoapAddress() { | 27 | public java.lang.String getWebServiceSoapAddress() { |
| 28 | return WebServiceSoap_address; | 28 | return WebServiceSoap_address; |
src/main/java/com/bsth/webService/trafficManage/up/org/tempuri/WebServiceLocator.java
| @@ -22,7 +22,7 @@ public class WebServiceLocator extends org.apache.axis.client.Service implements | @@ -22,7 +22,7 @@ public class WebServiceLocator extends org.apache.axis.client.Service implements | ||
| 22 | } | 22 | } |
| 23 | 23 | ||
| 24 | // Use to get a proxy class for WebServiceSoap | 24 | // Use to get a proxy class for WebServiceSoap |
| 25 | - private java.lang.String WebServiceSoap_address = "http://218.242.195.76:8411/WebService_test/WebService.asmx"; | 25 | + private java.lang.String WebServiceSoap_address = "http://183.194.241.174:8411/WebService_test/WebService.asmx"; |
| 26 | 26 | ||
| 27 | public java.lang.String getWebServiceSoapAddress() { | 27 | public java.lang.String getWebServiceSoapAddress() { |
| 28 | return WebServiceSoap_address; | 28 | return WebServiceSoap_address; |
src/main/resources/application-prod.properties
| @@ -2,7 +2,7 @@ server.port=9088 | @@ -2,7 +2,7 @@ server.port=9088 | ||
| 2 | management.port= 9001 | 2 | management.port= 9001 |
| 3 | management.address= 127.0.0.1 | 3 | management.address= 127.0.0.1 |
| 4 | 4 | ||
| 5 | -spring.jpa.hibernate.ddl-auto= none | 5 | +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 |
| @@ -28,4 +28,13 @@ http.gps.real.cache.url= http://10.10.150.24:12580/realGps/all | @@ -28,4 +28,13 @@ http.gps.real.cache.url= http://10.10.150.24:12580/realGps/all | ||
| 28 | ## gateway real data | 28 | ## gateway real data |
| 29 | http.gps.real.url= http://10.10.200.79:8080/transport_server/rtgps/ | 29 | http.gps.real.url= http://10.10.200.79:8080/transport_server/rtgps/ |
| 30 | ## gateway send directive | 30 | ## gateway send directive |
| 31 | -http.send.directive = http://10.10.200.79:8080/transport_server/message/ | ||
| 32 | \ No newline at end of file | 31 | \ No newline at end of file |
| 32 | +http.send.directive = http://10.10.200.79:8080/transport_server/message/ | ||
| 33 | +## wxsb | ||
| 34 | +#http.report.url.05= http://192.168.168.154:8088/ygjwsystem_j2ee/clbx/clbx_dd.do | ||
| 35 | +#http.report.url.22= http://192.168.168.154:8088/jgjwsystem_j2ee/clbx/clbx_dd.do | ||
| 36 | +#http.report.url.26= http://192.168.168.154:8088/nhjwsystem_j2ee/clbx/clbx_dd.do | ||
| 37 | +#http.report.url.55= http://192.168.168.154:8088/snjwsystem_j2ee/clbx/clbx_dd.do | ||
| 38 | +http.report.url.05= http://116.228.197.222:8081/ygjwsystem_j2ee/clbx/clbx_dd.do | ||
| 39 | +http.report.url.22= http://116.247.73.122:9098/jgjwsystem_j2ee/clbx/clbx_dd.do | ||
| 40 | +http.report.url.26= http://116.236.141.34:8088/nhjwsystem_j2ee/clbx/clbx_dd.do | ||
| 41 | +http.report.url.55= http://180.168.216.248:8088/snjwsystem_j2ee/clbx/clbx_dd.do | ||
| 33 | \ No newline at end of file | 42 | \ No newline at end of file |
src/main/resources/static/pages/base/line/list.html
| @@ -122,6 +122,7 @@ | @@ -122,6 +122,7 @@ | ||
| 122 | <option value="csbs">穿梭巴士</option> | 122 | <option value="csbs">穿梭巴士</option> |
| 123 | <option value="tyxl">特约线路</option> | 123 | <option value="tyxl">特约线路</option> |
| 124 | <option value="cctxl">村村通线路</option> | 124 | <option value="cctxl">村村通线路</option> |
| 125 | + <option value="hlwgj">互联网公交</option> | ||
| 125 | <option value="qt">其他</option> | 126 | <option value="qt">其他</option> |
| 126 | </select> | 127 | </select> |
| 127 | </td> | 128 | </td> |
| @@ -272,6 +273,8 @@ | @@ -272,6 +273,8 @@ | ||
| 272 | 其他 | 273 | 其他 |
| 273 | {{else if obj.nature == 'cctxl'}} | 274 | {{else if obj.nature == 'cctxl'}} |
| 274 | 村村通线路 | 275 | 村村通线路 |
| 276 | + {{else if obj.nature == 'hlwgj'}} | ||
| 277 | + 互联网公交 | ||
| 275 | {{/if}} | 278 | {{/if}} |
| 276 | </td> | 279 | </td> |
| 277 | <td> | 280 | <td> |
src/main/resources/static/pages/forms/export/refuel.xls
0 → 100644
No preview for this file type
src/main/resources/static/pages/forms/mould/repairReport.xls
0 → 100644
No preview for this file type
src/main/resources/static/pages/forms/statement/commandState.html
| @@ -329,6 +329,9 @@ | @@ -329,6 +329,9 @@ | ||
| 329 | $("#works_hidden").removeClass("hidden"); | 329 | $("#works_hidden").removeClass("hidden"); |
| 330 | var i = layer.load(2); | 330 | var i = layer.load(2); |
| 331 | $get('/pcpc/commandByLineList',params,function(result){ | 331 | $get('/pcpc/commandByLineList',params,function(result){ |
| 332 | + $(result).each(function(i, e){ | ||
| 333 | + e.jGh = (e.jsy).split("/")[0]; | ||
| 334 | + }); | ||
| 332 | var commandByLine = template('list_commandState_1',{list:result}); | 335 | var commandByLine = template('list_commandState_1',{list:result}); |
| 333 | $('#works tbody').html(commandByLine); | 336 | $('#works tbody').html(commandByLine); |
| 334 | layer.close(i); | 337 | layer.close(i); |
src/main/resources/static/pages/forms/statement/refuel.html
0 → 100644
| 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 | + | ||
| 15 | + .table > tbody + tbody { | ||
| 16 | + border-top: 1px solid; } | ||
| 17 | + .btn-default{ | ||
| 18 | + margin-left: 5px; | ||
| 19 | + } | ||
| 20 | +</style> | ||
| 21 | + | ||
| 22 | +<div class="page-head"> | ||
| 23 | + <div class="page-title"> | ||
| 24 | + <h1>加注量</h1> | ||
| 25 | + </div> | ||
| 26 | +</div> | ||
| 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="" autocomplete="off"> | ||
| 33 | + <div style="display: inline-block;margin-left: 24px;"> | ||
| 34 | + <span class="item-label" style="width: 80px;"> 日期: </span> | ||
| 35 | + <input class="form-control" type="text" id="date" style="width: 180px;"/> | ||
| 36 | + </div> | ||
| 37 | + <div style="display: inline-block;margin-left: 6px;"> | ||
| 38 | + <span class="item-label" style="width: 80px;"> 车号: </span> | ||
| 39 | + <input class="form-control" type="text" id="car" style="width: 180px;"/> | ||
| 40 | + </div> | ||
| 41 | + <div style="display: inline-block;margin-left: 6px;"> | ||
| 42 | + <span class="item-label" style="width: 80px;"> 驾驶员: </span> | ||
| 43 | + <input class="form-control" type="text" id="driver" style="width: 180px;"/> | ||
| 44 | + </div> | ||
| 45 | + <div class="form-group"> | ||
| 46 | + <input class="btn btn-default" type="button" id="query" value="筛选"/> | ||
| 47 | + <input class="btn btn-default" type="button" id="upload" value="导入Excel"/> | ||
| 48 | +<!-- <input class="btn btn-default" type="button" id="export" value="导出"/> --> | ||
| 49 | + </div> | ||
| 50 | + </form> | ||
| 51 | + </div> | ||
| 52 | + <div class="portlet-body"> | ||
| 53 | + <div class="table-container" style="margin-top: 10px;overflow:auto;min-width: 906px"> | ||
| 54 | + <table class="table table-bordered table-hover table-checkable" id="forms"> | ||
| 55 | + <thead> | ||
| 56 | + <tr> | ||
| 57 | + <td>序号</td> | ||
| 58 | + <td>日期</td> | ||
| 59 | + <td>路别</td> | ||
| 60 | + <td>车号</td> | ||
| 61 | + <td>驾驶员</td> | ||
| 62 | + <td>出场</td> | ||
| 63 | + <td>进场</td> | ||
| 64 | + <td>场内0号</td> | ||
| 65 | + <td>场内B5#</td> | ||
| 66 | + <td>油卡0号</td> | ||
| 67 | + <td>油卡-10#</td> | ||
| 68 | + <td>东站0#</td> | ||
| 69 | + <td>东站-10#</td> | ||
| 70 | + <td>场外0#</td> | ||
| 71 | + <td>场外-10#</td> | ||
| 72 | + </tr> | ||
| 73 | + </thead> | ||
| 74 | + <tbody id="tbody"> | ||
| 75 | + | ||
| 76 | + </tbody> | ||
| 77 | + </table> | ||
| 78 | + </div> | ||
| 79 | + </div> | ||
| 80 | + </div> | ||
| 81 | + </div> | ||
| 82 | +</div> | ||
| 83 | + | ||
| 84 | +<script> | ||
| 85 | + $(function(){ | ||
| 86 | + | ||
| 87 | + // 关闭左侧栏 | ||
| 88 | + if (!$('body').hasClass('page-sidebar-closed')) | ||
| 89 | + $('.menu-toggler.sidebar-toggler').click(); | ||
| 90 | + | ||
| 91 | + $("#date").datetimepicker({ | ||
| 92 | + format : 'YYYY-MM-DD', | ||
| 93 | + locale : 'zh-cn' | ||
| 94 | + }); | ||
| 95 | + | ||
| 96 | + var d = new Date(); | ||
| 97 | + var year = d.getFullYear(); | ||
| 98 | + var mon = (d.getMonth()+1)>9?(d.getMonth()+1):("0"+(d.getMonth()+1)); | ||
| 99 | + var day = d.getDate()>9?d.getDate():("0"+d.getDate()); | ||
| 100 | + $("#date").val(year + "-" + mon + "-" + day); | ||
| 101 | + | ||
| 102 | + | ||
| 103 | + var date, car, driver; | ||
| 104 | + $("#query").on("click",function(){ | ||
| 105 | + if($("#date").val() == null || $("#date").val().trim().length == 0){ | ||
| 106 | + layer.msg("请选择日期"); | ||
| 107 | + return; | ||
| 108 | + } | ||
| 109 | + date = $("#date").val(); | ||
| 110 | + car = $("#car").val(); | ||
| 111 | + driver = $("#driver").val(); | ||
| 112 | + var i = layer.load(2); | ||
| 113 | + $get('/refuel/query',{date:date,car:car,driver:driver,type:'query'},function(result){ | ||
| 114 | + // 把数据填充到模版中 | ||
| 115 | + var tbodyHtml = template('refuel',{list:result}); | ||
| 116 | + // 把渲染好的模版html文本追加到表格中 | ||
| 117 | + $('#tbody').html(tbodyHtml); | ||
| 118 | + layer.close(i); | ||
| 119 | + }); | ||
| 120 | + }); | ||
| 121 | + | ||
| 122 | + $("#upload").on("click", function(){ | ||
| 123 | + $.get('refuelUpload.html', function(m){$(pjaxContainer).append(m);}); | ||
| 124 | + }); | ||
| 125 | + | ||
| 126 | +}); | ||
| 127 | +</script> | ||
| 128 | +<script type="text/html" id="refuel"> | ||
| 129 | + {{each list as obj i}} | ||
| 130 | + <tr> | ||
| 131 | + <td>{{i + 1}}</td> | ||
| 132 | + <td>{{obj.dateStr}}</td> | ||
| 133 | + <td>{{obj.lineName}}</td> | ||
| 134 | + <td>{{obj.car}}</td> | ||
| 135 | + <td>{{obj.driver}}</td> | ||
| 136 | + <td>{{obj.outOil}}</td> | ||
| 137 | + <td>{{obj.inOil}}</td> | ||
| 138 | + <td>{{obj.inStation0}}</td> | ||
| 139 | + <td>{{obj.inStation5}}</td> | ||
| 140 | + <td>{{obj.oilCard0}}</td> | ||
| 141 | + <td>{{obj.oilCard10}}</td> | ||
| 142 | + <td>{{obj.eastStation0}}</td> | ||
| 143 | + <td>{{obj.eastStation10}}</td> | ||
| 144 | + <td>{{obj.outStation0}}</td> | ||
| 145 | + <td>{{obj.outStation10}}</td> | ||
| 146 | + </tr> | ||
| 147 | + {{/each}} | ||
| 148 | + {{if list.length == 0}} | ||
| 149 | + <tr> | ||
| 150 | + <td colspan="15"><h6 class="muted">没有找到相关数据</h6></td> | ||
| 151 | + </tr> | ||
| 152 | + {{/if}} | ||
| 153 | +</script> | ||
| 0 | \ No newline at end of file | 154 | \ No newline at end of file |
src/main/resources/static/pages/forms/statement/refuelUpload.html
0 → 100644
| 1 | +<div class="modal fade" id="uploadFile" tabindex="-1" role="basic" | ||
| 2 | + aria-hidden="true"> | ||
| 3 | + <div class="modal-dialog"> | ||
| 4 | + <div class="modal-content"> | ||
| 5 | + <div class="modal-header"> | ||
| 6 | + <button type="button" class="close" data-dismiss="modal" | ||
| 7 | + aria-hidden="true"></button> | ||
| 8 | + <h4 class="modal-title">导入Excel</h4> | ||
| 9 | + </div> | ||
| 10 | + <div class="modal-body"> | ||
| 11 | + <form class="form-horizontal" role="form" id="excelFile" method="post" | ||
| 12 | + action="" enctype="multipart/form-data"> | ||
| 13 | + <div class="alert alert-danger display-hide"> | ||
| 14 | + <button class="close" data-close="alert"></button> | ||
| 15 | + 您的输入有误,请检查下面的输入项 | ||
| 16 | + </div> | ||
| 17 | + <div class="form-body"> | ||
| 18 | + <div class="form-group"> | ||
| 19 | + <label class="col-md-3 control-label">选择文件</label> | ||
| 20 | + <div class="col-md-9"> | ||
| 21 | + <input type="file" name="file" id="file" | ||
| 22 | + accept="application/vnd.ms-excel"/> | ||
| 23 | + </div> | ||
| 24 | + </div> | ||
| 25 | + </div> | ||
| 26 | + </form> | ||
| 27 | + </div> | ||
| 28 | + <div class="modal-footer"> | ||
| 29 | + <button type="button" class="btn default" id="downLoad">下载模板</button> | ||
| 30 | + <button type="button" class="btn default" data-dismiss="modal">取消</button> | ||
| 31 | + <button type="button" class="btn btn-primary" id="submit">确认导入</button> | ||
| 32 | + </div> | ||
| 33 | + </div> | ||
| 34 | + </div> | ||
| 35 | +</div> | ||
| 36 | +<script src="/assets/js/ajaxfileupload/ajaxfileupload.js"></script> | ||
| 37 | +<script id="res_tbody_temp" type="text/html"> | ||
| 38 | + | ||
| 39 | +</script> | ||
| 40 | +<script data-exclude=1> | ||
| 41 | + $(function() { | ||
| 42 | + var form = $('#excelFile'); | ||
| 43 | + var error = $('.alert-danger', form); | ||
| 44 | + var user = ''; | ||
| 45 | + | ||
| 46 | + //modal 显示事件 | ||
| 47 | + $('#uploadFile').on('show.bs.modal', function(){ | ||
| 48 | + }) | ||
| 49 | + .modal('show'); | ||
| 50 | + | ||
| 51 | + $('#submit').on('click', function() { | ||
| 52 | + if($("#file").val().trim().length == 0){ | ||
| 53 | + alert("请先选择文件"); | ||
| 54 | + return; | ||
| 55 | + } | ||
| 56 | + var j = layer.load(2); | ||
| 57 | + var param = {}; | ||
| 58 | + param.user = user; | ||
| 59 | + param.uploadDir = 'upload'; | ||
| 60 | + $.ajaxFileUpload({ | ||
| 61 | + url : '/refuel/uploadFile', | ||
| 62 | + secureuri : false, | ||
| 63 | + fileElementId : 'file', | ||
| 64 | + dataType : 'json', | ||
| 65 | + data : param, | ||
| 66 | + success : function(data) { | ||
| 67 | + layer.close(j); | ||
| 68 | + if((data.result).indexOf('失败') > -1){ | ||
| 69 | + alert(data.result); | ||
| 70 | + $("#file").val(""); | ||
| 71 | + } else { | ||
| 72 | + alert(data.result); | ||
| 73 | +// alert("文件导入成功"); | ||
| 74 | + $('#uploadFile').modal('hide'); | ||
| 75 | + $('tr.filter .filter-submit').click(); | ||
| 76 | + } | ||
| 77 | + }, | ||
| 78 | + error : function(data, status, e) { | ||
| 79 | + layer.close(j); | ||
| 80 | + alert("文件导入失败"); | ||
| 81 | + } | ||
| 82 | + }) | ||
| 83 | + }); | ||
| 84 | + | ||
| 85 | + $('#downLoad').on('click', function(){ | ||
| 86 | + window.open("/downloadFile/downloadModel?fileName=refuel"); | ||
| 87 | + }); | ||
| 88 | + | ||
| 89 | + function getCurrSelNode(){ | ||
| 90 | + return $.jstree.reference("#modules_tree").get_selected(true); | ||
| 91 | + } | ||
| 92 | + | ||
| 93 | + }); | ||
| 94 | +</script> | ||
| 0 | \ No newline at end of file | 95 | \ No newline at end of file |
src/main/resources/static/pages/forms/statement/refuel_daily.html
0 → 100644
| 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 | + | ||
| 15 | + .table > tbody + tbody { | ||
| 16 | + border-top: 1px solid; } | ||
| 17 | + .btn-default{ | ||
| 18 | + margin-left: 5px; | ||
| 19 | + } | ||
| 20 | +</style> | ||
| 21 | + | ||
| 22 | +<div class="page-head"> | ||
| 23 | + <div class="page-title"> | ||
| 24 | + <h1>油耗日报</h1> | ||
| 25 | + </div> | ||
| 26 | +</div> | ||
| 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=""> | ||
| 33 | + <div style="display: inline-block;margin-left: 24px;"> | ||
| 34 | + <span class="item-label" style="width: 80px;"> 日期: </span> | ||
| 35 | + <input class="form-control" type="text" id="date" style="width: 180px;"/> | ||
| 36 | + </div> | ||
| 37 | + <div style="display: inline-block;margin-left: 6px;"> | ||
| 38 | + <span class="item-label" style="width: 80px;"> 车号: </span> | ||
| 39 | + <input class="form-control" type="text" id="car" style="width: 180px;"/> | ||
| 40 | + </div> | ||
| 41 | + <div style="display: inline-block;margin-left: 6px;"> | ||
| 42 | + <span class="item-label" style="width: 80px;"> 驾驶员: </span> | ||
| 43 | + <input class="form-control" type="text" id="driver" style="width: 180px;"/> | ||
| 44 | + </div> | ||
| 45 | + <div class="form-group"> | ||
| 46 | + <input class="btn btn-default" type="button" id="query" value="筛选"/> | ||
| 47 | +<!-- <input class="btn btn-default" type="button" id="upload" value="导入Excel"/> --> | ||
| 48 | +<!-- <input class="btn btn-default" type="button" id="export" value="导出"/> --> | ||
| 49 | + </div> | ||
| 50 | + </form> | ||
| 51 | + </div> | ||
| 52 | + <div class="portlet-body"> | ||
| 53 | + <div class="table-container" style="margin-top: 10px;overflow:auto;min-width: 906px"> | ||
| 54 | + <table class="table table-bordered table-hover table-checkable" id="forms"> | ||
| 55 | + <thead> | ||
| 56 | + <tr> | ||
| 57 | + <td>序号</td> | ||
| 58 | + <td>日期</td> | ||
| 59 | + <td>路别</td> | ||
| 60 | + <td>车号</td> | ||
| 61 | + <td>驾驶员</td> | ||
| 62 | + <td>加注量</td> | ||
| 63 | + <td>行驶里程</td> | ||
| 64 | + <td>百公里油耗</td> | ||
| 65 | + </tr> | ||
| 66 | + </thead> | ||
| 67 | + <tbody id="tbody"> | ||
| 68 | + | ||
| 69 | + </tbody> | ||
| 70 | + </table> | ||
| 71 | + </div> | ||
| 72 | + </div> | ||
| 73 | + </div> | ||
| 74 | + </div> | ||
| 75 | +</div> | ||
| 76 | + | ||
| 77 | +<script> | ||
| 78 | + $(function(){ | ||
| 79 | + | ||
| 80 | + // 关闭左侧栏 | ||
| 81 | + if (!$('body').hasClass('page-sidebar-closed')) | ||
| 82 | + $('.menu-toggler.sidebar-toggler').click(); | ||
| 83 | + | ||
| 84 | + $("#date").datetimepicker({ | ||
| 85 | + format : 'YYYY-MM-DD', | ||
| 86 | + locale : 'zh-cn' | ||
| 87 | + }); | ||
| 88 | + | ||
| 89 | + var d = new Date(); | ||
| 90 | + var year = d.getFullYear(); | ||
| 91 | + var mon = (d.getMonth()+1)>9?(d.getMonth()+1):("0"+(d.getMonth()+1)); | ||
| 92 | + var day = d.getDate()>9?d.getDate():("0"+d.getDate()); | ||
| 93 | + $("#date").val(year + "-" + mon + "-" + day); | ||
| 94 | + | ||
| 95 | + | ||
| 96 | + var date, car, driver; | ||
| 97 | + $("#query").on("click",function(){ | ||
| 98 | + if($("#date").val() == null || $("#date").val().trim().length == 0){ | ||
| 99 | + layer.msg("请选择日期"); | ||
| 100 | + return; | ||
| 101 | + } | ||
| 102 | + date = $("#date").val(); | ||
| 103 | + car = $("#car").val(); | ||
| 104 | + driver = $("#driver").val(); | ||
| 105 | + var i = layer.load(2); | ||
| 106 | + $get('/refuel/queryDaily',{date:date,car:car,driver:driver,type:'query'},function(result){ | ||
| 107 | + // 把数据填充到模版中 | ||
| 108 | + var tbodyHtml = template('refuel_daily',{list:result}); | ||
| 109 | + // 把渲染好的模版html文本追加到表格中 | ||
| 110 | + $('#tbody').html(tbodyHtml); | ||
| 111 | + layer.close(i); | ||
| 112 | + }); | ||
| 113 | + }); | ||
| 114 | + | ||
| 115 | + $("#upload").on("click", function(){ | ||
| 116 | + $.get('refuelUpload.html', function(m){$(pjaxContainer).append(m);}); | ||
| 117 | + }); | ||
| 118 | + | ||
| 119 | +}); | ||
| 120 | +</script> | ||
| 121 | +<script type="text/html" id="refuel_daily"> | ||
| 122 | + {{each list as obj i}} | ||
| 123 | + <tr> | ||
| 124 | + <td>{{i + 1}}</td> | ||
| 125 | + <td>{{obj.date}}</td> | ||
| 126 | + <td>{{obj.line}}</td> | ||
| 127 | + <td>{{obj.car}}</td> | ||
| 128 | + <td>{{obj.driver}}</td> | ||
| 129 | + <td>{{obj.oil}}</td> | ||
| 130 | + <td>{{obj.realMileage}}</td> | ||
| 131 | + <td>{{obj.consume}}</td> | ||
| 132 | + </tr> | ||
| 133 | + {{/each}} | ||
| 134 | + {{if list.length == 0}} | ||
| 135 | + <tr> | ||
| 136 | + <td colspan="15"><h6 class="muted">没有找到相关数据</h6></td> | ||
| 137 | + </tr> | ||
| 138 | + {{/if}} | ||
| 139 | +</script> | ||
| 0 | \ No newline at end of file | 140 | \ No newline at end of file |
src/main/resources/static/pages/forms/statement/repairReport.html
0 → 100644
| 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 | + | ||
| 15 | + .table > tbody + tbody { | ||
| 16 | + border-top: 1px solid; } | ||
| 17 | +</style> | ||
| 18 | + | ||
| 19 | +<div class="page-head"> | ||
| 20 | + <div class="page-title"> | ||
| 21 | + <h1>维修上报记录</h1> | ||
| 22 | + </div> | ||
| 23 | +</div> | ||
| 24 | + | ||
| 25 | +<div class="row"> | ||
| 26 | + <div class="col-md-12"> | ||
| 27 | + <div class="portlet light porttlet-fit bordered"> | ||
| 28 | + <div class="portlet-title"> | ||
| 29 | + <form id="history" class="form-inline" action=""> | ||
| 30 | + <div style="display: inline-block;"> | ||
| 31 | + <span class="item-label" style="width: 80px;">线路: </span> | ||
| 32 | + <select class="form-control" name="line" id="line" style="width: 180px;"></select> | ||
| 33 | + </div> | ||
| 34 | + <div style="display: inline-block;margin-left: 15px;"> | ||
| 35 | + <span class="item-label" style="width: 80px;">时间: </span> | ||
| 36 | + <input class="form-control" type="text" id="date" style="width: 180px;"/> | ||
| 37 | + </div> | ||
| 38 | + <div style="display: inline-block;margin-left: 15px"> | ||
| 39 | + <span class="item-label" style="width: 140px;">车辆编码: </span> | ||
| 40 | + <select class="form-control" name="code" id="code" style="width: 180px;"></select> | ||
| 41 | + </div> | ||
| 42 | + <div class="form-group"> | ||
| 43 | + <input class="btn btn-default" type="button" id="query" value="筛选"/> | ||
| 44 | + <input class="btn btn-default" type="button" id="export" value="导出"/> | ||
| 45 | + </div> | ||
| 46 | + </form> | ||
| 47 | + </div> | ||
| 48 | + <div class="portlet-body"> | ||
| 49 | + <div class="table-container" style="margin-top: 10px;overflow:auto;min-width: 906px;"> | ||
| 50 | + <table class="table table-bordered table-hover table-checkable" id="forms"> | ||
| 51 | + <thead> | ||
| 52 | + <tr class="hidden"> | ||
| 53 | + <th>序号</th> | ||
| 54 | + <th>线路</th> | ||
| 55 | + <th>车辆编码</th> | ||
| 56 | + <th>发车时间</th> | ||
| 57 | + <th>上报人</th> | ||
| 58 | + <th>上报时间</th> | ||
| 59 | + <th>维修类型</th> | ||
| 60 | + <th>上报状态</th> | ||
| 61 | + </tr> | ||
| 62 | + </thead> | ||
| 63 | + <tbody> | ||
| 64 | + | ||
| 65 | + </tbody> | ||
| 66 | + </table> | ||
| 67 | + </div> | ||
| 68 | + </div> | ||
| 69 | + </div> | ||
| 70 | + </div> | ||
| 71 | +</div> | ||
| 72 | + | ||
| 73 | +<script> | ||
| 74 | + $(function(){ | ||
| 75 | + $('#export').attr('disabled', "true"); | ||
| 76 | + | ||
| 77 | + // 关闭左侧栏 | ||
| 78 | + if (!$('body').hasClass('page-sidebar-closed')) | ||
| 79 | + $('.menu-toggler.sidebar-toggler').click(); | ||
| 80 | + | ||
| 81 | + $("#date").datetimepicker({ | ||
| 82 | + format : 'YYYY-MM-DD', | ||
| 83 | + locale : 'zh-cn' | ||
| 84 | + }); | ||
| 85 | + | ||
| 86 | + $.get('/report/lineList',function(xlList){ | ||
| 87 | + var data = []; | ||
| 88 | + $.get('/user/companyData', function(result){ | ||
| 89 | + debugger; | ||
| 90 | + for(var i = 0; i < result.length; i++){ | ||
| 91 | + var companyCode = result[i].companyCode; | ||
| 92 | + var children = result[i].children; | ||
| 93 | + for(var j = 0; j < children.length; j++){ | ||
| 94 | + var code = children[j].code; | ||
| 95 | + for(var k=0;k < xlList.length;k++ ){ | ||
| 96 | + if(xlList[k]["fgsbm"]==code && xlList[k]["gsbm"]==companyCode){ | ||
| 97 | + data.push({id: xlList[k]["xlbm"], text: xlList[k]["xlname"]}); | ||
| 98 | + } | ||
| 99 | + } | ||
| 100 | + } | ||
| 101 | + } | ||
| 102 | + initPinYinSelect2('#line',data,''); | ||
| 103 | + | ||
| 104 | + }); | ||
| 105 | + }); | ||
| 106 | + | ||
| 107 | + | ||
| 108 | + $('#code').select2({ | ||
| 109 | + ajax: { | ||
| 110 | + url: '/realSchedule/sreachVehic', | ||
| 111 | + dataType: 'json', | ||
| 112 | + delay: 150, | ||
| 113 | + data: function(params){ | ||
| 114 | + return{nbbm: params.term}; | ||
| 115 | + }, | ||
| 116 | + processResults: function (data) { | ||
| 117 | + return { | ||
| 118 | + results: data | ||
| 119 | + }; | ||
| 120 | + }, | ||
| 121 | + cache: true | ||
| 122 | + }, | ||
| 123 | + templateResult: function(repo){ | ||
| 124 | + if (repo.loading) return repo.text; | ||
| 125 | + var h = '<span>'+repo.text+'</span>'; | ||
| 126 | + h += (repo.lineName?' <span class="select2-desc">'+repo.lineName+'</span>':''); | ||
| 127 | + return h; | ||
| 128 | + }, | ||
| 129 | + escapeMarkup: function (markup) { return markup; }, | ||
| 130 | + minimumInputLength: 1, | ||
| 131 | + templateSelection: function(repo){ | ||
| 132 | + return repo.text; | ||
| 133 | + }, | ||
| 134 | + language: { | ||
| 135 | + noResults: function(){ | ||
| 136 | + return '<span style="color:red;font-size: 12px;">没有搜索到车辆!</span>'; | ||
| 137 | + }, | ||
| 138 | + inputTooShort : function(e) { | ||
| 139 | + return '<span style="color:gray;font-size: 12px;"><i class="fa fa-search"></i> 输入自编号搜索车辆</span>'; | ||
| 140 | + }, | ||
| 141 | + searching : function() { | ||
| 142 | + return '<span style="color:gray;font-size: 12px;"> 正在搜索车辆...</span>'; | ||
| 143 | + } | ||
| 144 | + } | ||
| 145 | + }); | ||
| 146 | + | ||
| 147 | + var line = $("#line").val(); | ||
| 148 | + var date = $("#date").val(); | ||
| 149 | + var code = $("#code").val(); | ||
| 150 | + var lineName = $('#line option:selected').text(); | ||
| 151 | + $("#query").on("click",function(){ | ||
| 152 | + if($("#date").val() == null || $("#date").val().trim().length == 0){ | ||
| 153 | + layer.msg("请选择时间"); | ||
| 154 | + return; | ||
| 155 | + } | ||
| 156 | + line = $("#line").val(); | ||
| 157 | + date = $("#date").val(); | ||
| 158 | + code = $("#code").val(); | ||
| 159 | + lineName = $('#line option:selected').text(); | ||
| 160 | + var type = "query"; | ||
| 161 | + $(".hidden").removeClass("hidden"); | ||
| 162 | + var i = layer.load(2); | ||
| 163 | + $get('/realSchedule/wxsb',{line:line,date:date,code:code,type:type},function(result){ | ||
| 164 | + // 把数据填充到模版中 | ||
| 165 | + var tbodyHtml = template('list_repair',{list:result}); | ||
| 166 | + // 把渲染好的模版html文本追加到表格中 | ||
| 167 | + $('#forms tbody').html(tbodyHtml); | ||
| 168 | + layer.close(i); | ||
| 169 | + | ||
| 170 | + if(result.length == 0) | ||
| 171 | + $("#export").attr('disabled',"true"); | ||
| 172 | + else | ||
| 173 | + $("#export").removeAttr("disabled"); | ||
| 174 | + | ||
| 175 | + }); | ||
| 176 | + }); | ||
| 177 | + | ||
| 178 | + $("#export").on("click",function(){ | ||
| 179 | + var type = "export"; | ||
| 180 | + var i = layer.load(2); | ||
| 181 | + $get('/realSchedule/wxsb', {line:line,date:date,code:code,type:type}, function(result){ | ||
| 182 | + window.open("/downloadFile/download?fileName=" | ||
| 183 | + +moment(date).format("YYYYMMDD") | ||
| 184 | + +"-"+lineName+"-维修上报记录"); | ||
| 185 | + layer.close(i); | ||
| 186 | + }); | ||
| 187 | + }); | ||
| 188 | + | ||
| 189 | + }); | ||
| 190 | +</script> | ||
| 191 | +<script type="text/html" id="list_repair"> | ||
| 192 | + {{each list as obj i}} | ||
| 193 | + <tr> | ||
| 194 | + <td>{{i+1}}</td> | ||
| 195 | + <td>{{obj.lineName}}</td> | ||
| 196 | + <td>{{obj.incode}}</td> | ||
| 197 | + <td>{{obj.departureTime}}</td> | ||
| 198 | + <td>{{obj.reportUser}}</td> | ||
| 199 | + <td>{{obj.reportDateStr}}</td> | ||
| 200 | + <td>{{obj.repairType}}</td> | ||
| 201 | + <td>{{obj.reportStateStr}}</td> | ||
| 202 | + </tr> | ||
| 203 | + {{/each}} | ||
| 204 | + {{if list.length == 0}} | ||
| 205 | + <tr> | ||
| 206 | + <td colspan="8"><h6 class="muted">没有找到相关数据</h6></td> | ||
| 207 | + </tr> | ||
| 208 | + {{/if}} | ||
| 209 | +</script> | ||
| 0 | \ No newline at end of file | 210 | \ No newline at end of file |
src/main/resources/static/real_control_v2/css/line_schedule.css
| @@ -370,6 +370,23 @@ span.fcsj-diff { | @@ -370,6 +370,23 @@ span.fcsj-diff { | ||
| 370 | padding-left: 12px; | 370 | padding-left: 12px; |
| 371 | } | 371 | } |
| 372 | 372 | ||
| 373 | +.repair-type-checkbox-list { | ||
| 374 | + height: 180px; | ||
| 375 | + overflow: auto; | ||
| 376 | + border: 1px solid #c4c4c4; | ||
| 377 | + border-radius: 4px; | ||
| 378 | + padding: 9px 0; | ||
| 379 | +} | ||
| 380 | + | ||
| 381 | +.repair-type-checkbox-list label { | ||
| 382 | + display: block; | ||
| 383 | + font-size: 14px; | ||
| 384 | + border-bottom: 1px dashed #e6e3e3; | ||
| 385 | + height: 30px; | ||
| 386 | + line-height: 30px; | ||
| 387 | + padding-left: 12px; | ||
| 388 | +} | ||
| 389 | + | ||
| 373 | /*.sch-time-checkbox-list label input[type=checkbox] { | 390 | /*.sch-time-checkbox-list label input[type=checkbox] { |
| 374 | width: 20px; | 391 | width: 20px; |
| 375 | height: 18px !important; | 392 | height: 18px !important; |
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/fcxxwt.html
| @@ -125,6 +125,21 @@ | @@ -125,6 +125,21 @@ | ||
| 125 | </div> | 125 | </div> |
| 126 | </div> | 126 | </div> |
| 127 | </div> | 127 | </div> |
| 128 | + <div class="uk-grid"> | ||
| 129 | + <div class="uk-width-1-1"> | ||
| 130 | + <div class="uk-form-row"> | ||
| 131 | + <label class="uk-form-label" >维修类型</label> | ||
| 132 | + <div class="uk-form-controls repair-type-checkbox-list"> | ||
| 133 | + {{each repairTypes as repair i}} | ||
| 134 | + <label> | ||
| 135 | + <input class="i-cbox" name="repairTypes[]" value="{{repair.code}}" type="checkbox" title="{{repair.name}}"> | ||
| 136 | + {{repair.name}} | ||
| 137 | + </label> | ||
| 138 | + {{/each}} | ||
| 139 | + </div> | ||
| 140 | + </div> | ||
| 141 | + </div> | ||
| 142 | + </div> | ||
| 128 | <div class="uk-grid"> | 143 | <div class="uk-grid"> |
| 129 | <div class="uk-width-1-1"> | 144 | <div class="uk-width-1-1"> |
| 130 | <div class="uk-form-row ct-stacked"> | 145 | <div class="uk-form-row ct-stacked"> |
| @@ -166,13 +181,23 @@ | @@ -166,13 +181,23 @@ | ||
| 166 | <script> | 181 | <script> |
| 167 | (function() { | 182 | (function() { |
| 168 | var adjustExps = ['配车', '保养', '故障', '肇事', '路阻', '纠纷', '缺人', '客稀', '缺车', '气候', '援外', '吊慢', '抽减', '其他']; | 183 | var adjustExps = ['配车', '保养', '故障', '肇事', '路阻', '纠纷', '缺人', '客稀', '缺车', '气候', '援外', '吊慢', '抽减', '其他']; |
| 184 | + var repairTypes = [{name:"轨迹不连续", code:"9101"}, {name:"无轨迹", code:"9102"}, {name:"收不到调度指令", code:"9103"}, {name:"调度指令延迟", code:"9105"}, {name:"信号漂移", code:"9104"}, {name:"其它GPS报修", code:"9109"}]; | ||
| 169 | var modal = '#schedule-fcxxwt-modal' | 185 | var modal = '#schedule-fcxxwt-modal' |
| 170 | ,sch; | 186 | ,sch; |
| 171 | $(modal).on('init', function(e, data) { | 187 | $(modal).on('init', function(e, data) { |
| 172 | e.stopPropagation(); | 188 | e.stopPropagation(); |
| 173 | sch=data.sch; | 189 | sch=data.sch; |
| 174 | - var formHtml = template('schedule-fcxxwt-form-temp', {sch: sch, adjustExps:adjustExps}); | 190 | + var formHtml = template('schedule-fcxxwt-form-temp', {sch: sch, adjustExps:adjustExps, repairTypes:repairTypes}); |
| 175 | $('form', modal).html(formHtml); | 191 | $('form', modal).html(formHtml); |
| 192 | + $('input:checkbox').click(function(){ | ||
| 193 | + var remark = $('[name=remarks]').val(), title = $(this).prop("title"); | ||
| 194 | + if ($(this).prop('checked')) { | ||
| 195 | + if (remark.indexOf(title) > -1) return; | ||
| 196 | + $('[name=remarks]').val((remark ? remark + ";" : "") + title); | ||
| 197 | + } else { | ||
| 198 | + $('[name=remarks]').val(remark.replace(";" + title, "").replace(title + ";", "").replace(title, "")); | ||
| 199 | + } | ||
| 200 | + }); | ||
| 176 | //字典转换 | 201 | //字典转换 |
| 177 | dictionaryUtils.transformDom($('.nt-dictionary', modal)); | 202 | dictionaryUtils.transformDom($('.nt-dictionary', modal)); |
| 178 | 203 | ||
| @@ -184,6 +209,20 @@ | @@ -184,6 +209,20 @@ | ||
| 184 | gb_common.personAutocomplete($('.jsy-autocom', modal)); | 209 | gb_common.personAutocomplete($('.jsy-autocom', modal)); |
| 185 | //售票员 | 210 | //售票员 |
| 186 | gb_common.personAutocomplete($('.spy-autocom', modal)); | 211 | gb_common.personAutocomplete($('.spy-autocom', modal)); |
| 212 | + // 维修类型选中 | ||
| 213 | + var initRepair = function() { | ||
| 214 | + var remark = $('[name=remarks]').val(), items = remark.split(';'); | ||
| 215 | + for (var i = 0;i < items.length;i++) { | ||
| 216 | + if (items[i].length > 2) { | ||
| 217 | + for (var j = 0;j < repairTypes.length;j++) { | ||
| 218 | + if (items[i] == repairTypes[j].name) { | ||
| 219 | + $('input:checkbox[value=' + repairTypes[j].code + ']').prop('checked', true); | ||
| 220 | + } | ||
| 221 | + } | ||
| 222 | + } | ||
| 223 | + } | ||
| 224 | + } | ||
| 225 | + initRepair(); | ||
| 187 | 226 | ||
| 188 | //submit | 227 | //submit |
| 189 | var f = $('form', modal).formValidation(gb_form_validation_opts); | 228 | var f = $('form', modal).formValidation(gb_form_validation_opts); |
| @@ -201,6 +240,8 @@ | @@ -201,6 +240,8 @@ | ||
| 201 | var normalDestory = data.jhlc==0 && sch.bcType != 'in' && sch.bcType != 'out'; | 240 | var normalDestory = data.jhlc==0 && sch.bcType != 'in' && sch.bcType != 'out'; |
| 202 | //修改里程 | 241 | //修改里程 |
| 203 | var editJhlc = data.jhlc != sch.jhlc && data.jhlc != 0; | 242 | var editJhlc = data.jhlc != sch.jhlc && data.jhlc != 0; |
| 243 | + // 修改报修类型为字符串 | ||
| 244 | + if (data.repairTypes) data.repairTypes = data.repairTypes.join(";"); | ||
| 204 | if(!data.adjustExps && (data.status==-1 || normalDestory || editJhlc)){ | 245 | if(!data.adjustExps && (data.status==-1 || normalDestory || editJhlc)){ |
| 205 | notify_err("当前操作需要选择调整原因!"); | 246 | notify_err("当前操作需要选择调整原因!"); |
| 206 | return; | 247 | return; |
| @@ -240,7 +281,7 @@ | @@ -240,7 +281,7 @@ | ||
| 240 | 281 | ||
| 241 | $('[name=adjustExps]', f).on('change', function(){ | 282 | $('[name=adjustExps]', f).on('change', function(){ |
| 242 | var rem=$('[name=remarks]', f); | 283 | var rem=$('[name=remarks]', f); |
| 243 | - rem.val(rem.val() + $(this).val() + ',').trigger('input'); | 284 | + rem.val((rem.val() ? rem.val() + ";" : "") + $(this).val()).trigger('input'); |
| 244 | }); | 285 | }); |
| 245 | 286 | ||
| 246 | 287 |
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/wxsb.html
| @@ -14,7 +14,7 @@ | @@ -14,7 +14,7 @@ | ||
| 14 | <div class="uk-form-row"> | 14 | <div class="uk-form-row"> |
| 15 | <label class="uk-form-label" >车辆编码</label> | 15 | <label class="uk-form-label" >车辆编码</label> |
| 16 | <div class="uk-form-controls"> | 16 | <div class="uk-form-controls"> |
| 17 | - <input type="text" name="nbbm" value="{{clZbh}}" readonly> | 17 | + <input type="text" name="clZbh" value="{{clZbh}}" readonly> |
| 18 | </div> | 18 | </div> |
| 19 | </div> | 19 | </div> |
| 20 | </div> | 20 | </div> |
| @@ -22,7 +22,7 @@ | @@ -22,7 +22,7 @@ | ||
| 22 | <div class="uk-form-row"> | 22 | <div class="uk-form-row"> |
| 23 | <label class="uk-form-label" >报修类型</label> | 23 | <label class="uk-form-label" >报修类型</label> |
| 24 | <div class="uk-form-controls"> | 24 | <div class="uk-form-controls"> |
| 25 | - <select name="bxType"></select> | 25 | + <select name="repairTypes"></select> |
| 26 | </div> | 26 | </div> |
| 27 | </div> | 27 | </div> |
| 28 | </div> | 28 | </div> |
| @@ -44,12 +44,13 @@ | @@ -44,12 +44,13 @@ | ||
| 44 | var formHtml = template('schedule-wxsb-form-temp', sch); | 44 | var formHtml = template('schedule-wxsb-form-temp', sch); |
| 45 | $('form', modal).html(formHtml); | 45 | $('form', modal).html(formHtml); |
| 46 | 46 | ||
| 47 | - //班次类型字典 | ||
| 48 | - var bxtypes=[{code:"9101", des:"轨迹不连续"}, {code:"9102", des:"无轨迹"}, {code:"9103", des:"收不到调度指令"}, {code:"9104", des:"漂移"}, {code:"9109", des:"其它"}],opts=''; | ||
| 49 | - for(var i = 0;i < bxtypes.length;i++){ | ||
| 50 | - opts+='<option value="'+bxtypes[i].code+'">'+bxtypes[i].des+'</option>'; | 47 | + //报修类型字典 |
| 48 | + var opts = new Array(); | ||
| 49 | + var repairTypes=[{name:"录像不连续", code:"9201"}, {name:"无录像", code:"9202"}, {name:"录像缺通告", code:"9203"}, {name:"无法调取录像", code:"9204"}, {name:"其它录像报修", code:"9209"}, {name:"黑屏", code:"9301"}, {name:"间歇性黑屏", code:"9302"}, {name:"中门视屏无", code:"9303"}, {name:"卡在启动界面", code:"9304"}, {name:"倒车视频无", code:"9305"}, {name:"启动后显示倒车", code:"9306"}, {name:"其它屏幕报修", code:"9309"}]; | ||
| 50 | + for(var i = 0;i < repairTypes.length;i++){ | ||
| 51 | + opts.push('<option value="'+repairTypes[i].code+'">'+repairTypes[i].name+'</option>'); | ||
| 51 | } | 52 | } |
| 52 | - $('[name=bxType]', modal).html(opts); | 53 | + $('[name=repairTypes]', modal).html(opts.join("")); |
| 53 | 54 | ||
| 54 | //submit | 55 | //submit |
| 55 | var f = $('form', modal).formValidation(gb_form_validation_opts); | 56 | var f = $('form', modal).formValidation(gb_form_validation_opts); |
src/main/resources/traffic-jdbc.properties
| @@ -4,7 +4,7 @@ | @@ -4,7 +4,7 @@ | ||
| 4 | #ms.mysql.password= 123456 | 4 | #ms.mysql.password= 123456 |
| 5 | 5 | ||
| 6 | ms.mysql.driver= com.mysql.jdbc.Driver | 6 | ms.mysql.driver= com.mysql.jdbc.Driver |
| 7 | -ms.mysql.url= jdbc:mysql://10.10.150.226:3306/ms?useUnicode=true&characterEncoding=utf-8 | 7 | +ms.mysql.url= jdbc:mysql://10.10.200.226:3306/ms?useUnicode=true&characterEncoding=utf-8 |
| 8 | ms.mysql.username= root | 8 | ms.mysql.username= root |
| 9 | ms.mysql.password= root2jsp | 9 | ms.mysql.password= root2jsp |
| 10 | 10 |