Commit d11b6caaf34cb50f7dfbbbd52e071a87e5240d94
update...
Showing
64 changed files
with
1680 additions
and
874 deletions
src/main/java/com/bsth/controller/oil/YlbController.java
| @@ -229,6 +229,12 @@ public class YlbController extends BaseController<Ylb, Integer>{ | @@ -229,6 +229,12 @@ public class YlbController extends BaseController<Ylb, Integer>{ | ||
| 229 | return list; | 229 | return list; |
| 230 | } | 230 | } |
| 231 | 231 | ||
| 232 | + @RequestMapping(value = "/checkDate",method = RequestMethod.GET) | ||
| 233 | + public String checkDate(@RequestParam Map<String, Object> map){ | ||
| 234 | + String list=ylbService.checkDate(map); | ||
| 235 | + return list; | ||
| 236 | + } | ||
| 237 | + | ||
| 232 | @RequestMapping(value = "/sumYlb",method = RequestMethod.GET) | 238 | @RequestMapping(value = "/sumYlb",method = RequestMethod.GET) |
| 233 | public Map<String, Object> sumYlb(@RequestParam Map<String, Object> map){ | 239 | public Map<String, Object> sumYlb(@RequestParam Map<String, Object> map){ |
| 234 | Map<String, Object> list=ylbService.sumYlb(map); | 240 | Map<String, Object> list=ylbService.sumYlb(map); |
src/main/java/com/bsth/controller/report/ReportController.java
| @@ -209,6 +209,12 @@ public class ReportController { | @@ -209,6 +209,12 @@ public class ReportController { | ||
| 209 | return service.historyMessageCount(line, date, code); | 209 | return service.historyMessageCount(line, date, code); |
| 210 | } | 210 | } |
| 211 | 211 | ||
| 212 | + @RequestMapping(value = "/historyMessageList", method = RequestMethod.GET) | ||
| 213 | + public List<Object[]> historyMessageList(@RequestParam String line, @RequestParam String date, | ||
| 214 | + @RequestParam String code,@RequestParam String type) { | ||
| 215 | + return service.historyMessageList(line, date, code, type); | ||
| 216 | + } | ||
| 217 | + | ||
| 212 | @RequestMapping(value = "/tbodyTime1", method = RequestMethod.GET) | 218 | @RequestMapping(value = "/tbodyTime1", method = RequestMethod.GET) |
| 213 | public Map<String, Object> tbodyTime1(@RequestParam String line,@RequestParam String ttinfo) { | 219 | public Map<String, Object> tbodyTime1(@RequestParam String line,@RequestParam String ttinfo) { |
| 214 | return service.tbodyTime1(line, ttinfo); | 220 | return service.tbodyTime1(line, ttinfo); |
src/main/java/com/bsth/controller/schedule/core/TTInfoController.java
| @@ -55,6 +55,23 @@ public class TTInfoController extends BController<TTInfo, Long> { | @@ -55,6 +55,23 @@ public class TTInfoController extends BController<TTInfo, Long> { | ||
| 55 | return rtn; | 55 | return rtn; |
| 56 | } | 56 | } |
| 57 | 57 | ||
| 58 | + @RequestMapping(value = "/versiondesc2/{lineid}/{status}") | ||
| 59 | + public Map<String, Object> getLineVersionDesc2( | ||
| 60 | + @PathVariable(value = "lineid") Integer lineid, | ||
| 61 | + @PathVariable(value = "status") Integer status) { | ||
| 62 | + Map<String, Object> rtn = new HashMap<>(); | ||
| 63 | + try { | ||
| 64 | + rtn.put("status", ResponseCode.SUCCESS); | ||
| 65 | + rtn.put("data", ttInfoService.getLineVersions(lineid, status)); | ||
| 66 | + | ||
| 67 | + } catch (Exception exp) { | ||
| 68 | + rtn.put("status", ResponseCode.ERROR); | ||
| 69 | + rtn.put("msg", exp.getMessage()); | ||
| 70 | + } | ||
| 71 | + | ||
| 72 | + return rtn; | ||
| 73 | + } | ||
| 74 | + | ||
| 58 | @RequestMapping(value = "/validate_name", method = RequestMethod.GET) | 75 | @RequestMapping(value = "/validate_name", method = RequestMethod.GET) |
| 59 | public Map<String, Object> validate_name(@RequestParam Map<String, Object> param) { | 76 | public Map<String, Object> validate_name(@RequestParam Map<String, Object> param) { |
| 60 | Map<String, Object> rtn = new HashMap<>(); | 77 | Map<String, Object> rtn = new HashMap<>(); |
src/main/java/com/bsth/controller/schedule/core/TTInfoDetailController.java
| @@ -32,30 +32,18 @@ public class TTInfoDetailController extends BController<TTInfoDetail, Long> { | @@ -32,30 +32,18 @@ public class TTInfoDetailController extends BController<TTInfoDetail, Long> { | ||
| 32 | * @param sheetname sheet名字 | 32 | * @param sheetname sheet名字 |
| 33 | * @param lineid 线路id | 33 | * @param lineid 线路id |
| 34 | * @param linename 线路名称 | 34 | * @param linename 线路名称 |
| 35 | + * @param lineversion 线路版本 | ||
| 35 | * @return | 36 | * @return |
| 36 | */ | 37 | */ |
| 37 | @RequestMapping(value = "/validate/sheet", method = RequestMethod.POST) | 38 | @RequestMapping(value = "/validate/sheet", method = RequestMethod.POST) |
| 38 | public Map<String, Object> validate_sheet( | 39 | public Map<String, Object> validate_sheet( |
| 39 | - String filename, String sheetname, Integer lineid, String linename, | ||
| 40 | - Integer zdlytype, Integer zdlyversion) { | 40 | + String filename, String sheetname, Integer lineid, String linename, Integer lineversion) { |
| 41 | Map<String, Object> rtn = new HashMap<>(); | 41 | Map<String, Object> rtn = new HashMap<>(); |
| 42 | try { | 42 | try { |
| 43 | - if (zdlytype == null) { | ||
| 44 | - throw new Exception("请选择路由版本类型"); | ||
| 45 | - } else { | ||
| 46 | - if (zdlytype == 1) { | ||
| 47 | - ttInfoDetailService.validateExcelSheet(filename, sheetname, lineid, linename, null); | ||
| 48 | - } else if (zdlytype == 2) { | ||
| 49 | - if (zdlyversion == null || zdlyversion == -1) { | ||
| 50 | - throw new Exception("请选择具体版本"); | ||
| 51 | - } else { | ||
| 52 | - ttInfoDetailService.validateExcelSheet(filename, sheetname, lineid, linename, zdlyversion); | ||
| 53 | - } | ||
| 54 | - } else { | ||
| 55 | - throw new Exception("未知路由版本类型"); | ||
| 56 | - } | 43 | + if (lineversion == null) { |
| 44 | + throw new Exception("线路版本未知"); | ||
| 57 | } | 45 | } |
| 58 | - | 46 | + ttInfoDetailService.validateExcelSheet(filename, sheetname, lineid, linename, lineversion); |
| 59 | rtn.put("status", ResponseCode.SUCCESS); | 47 | rtn.put("status", ResponseCode.SUCCESS); |
| 60 | } catch (Exception exp) { | 48 | } catch (Exception exp) { |
| 61 | rtn.put("status", ResponseCode.ERROR); | 49 | rtn.put("status", ResponseCode.ERROR); |
src/main/java/com/bsth/entity/oil/Dlb.java
src/main/java/com/bsth/entity/oil/Ylb.java
| @@ -56,7 +56,7 @@ public class Ylb { | @@ -56,7 +56,7 @@ public class Ylb { | ||
| 56 | //进场顺序(根据最先出场和最后进场来关联车辆的存油量) | 56 | //进场顺序(根据最先出场和最后进场来关联车辆的存油量) |
| 57 | private int jcsx; | 57 | private int jcsx; |
| 58 | 58 | ||
| 59 | - private String lp=""; | 59 | + private String lp; |
| 60 | @Transient | 60 | @Transient |
| 61 | private String bglyh; | 61 | private String bglyh; |
| 62 | 62 |
src/main/java/com/bsth/repository/CarDeviceRepository.java
| 1 | package com.bsth.repository; | 1 | package com.bsth.repository; |
| 2 | 2 | ||
| 3 | import com.bsth.entity.CarDevice; | 3 | import com.bsth.entity.CarDevice; |
| 4 | + | ||
| 5 | +import java.util.Date; | ||
| 6 | +import java.util.List; | ||
| 7 | + | ||
| 8 | +import org.springframework.data.jpa.repository.Query; | ||
| 4 | import org.springframework.stereotype.Repository; | 9 | import org.springframework.stereotype.Repository; |
| 5 | 10 | ||
| 6 | /** | 11 | /** |
| @@ -8,4 +13,6 @@ import org.springframework.stereotype.Repository; | @@ -8,4 +13,6 @@ import org.springframework.stereotype.Repository; | ||
| 8 | */ | 13 | */ |
| 9 | @Repository | 14 | @Repository |
| 10 | public interface CarDeviceRepository extends BaseRepository<CarDevice, Long> { | 15 | public interface CarDeviceRepository extends BaseRepository<CarDevice, Long> { |
| 16 | + @Query(value="select s from CarDevice s where s.oldDeviceNo=?1 and s.qyrq>=?2 ") | ||
| 17 | + List<CarDevice> findCarDevice(String device,Date date ); | ||
| 11 | } | 18 | } |
src/main/java/com/bsth/repository/realcontrol/ScheduleRealInfoRepository.java
| @@ -58,6 +58,12 @@ public interface ScheduleRealInfoRepository extends BaseRepository<ScheduleRealI | @@ -58,6 +58,12 @@ public interface ScheduleRealInfoRepository extends BaseRepository<ScheduleRealI | ||
| 58 | + " lp_name,xl_name,cl_zbh",nativeQuery=true) | 58 | + " lp_name,xl_name,cl_zbh",nativeQuery=true) |
| 59 | List<Object[]> historyMessageCount(String line,String date,String code); | 59 | List<Object[]> historyMessageCount(String line,String date,String code); |
| 60 | 60 | ||
| 61 | + @Query(value="SELECT r.xl_name,r.cl_zbh,d.sender,d.timestamp,d.txt_content " | ||
| 62 | + + " FROM bsth_c_s_sp_info_real r RIGHT JOIN bsth_v_directive_60 d " | ||
| 63 | + + " ON r.id = d.sch WHERE d.is_dispatch = 1 AND r.xl_bm like %?1% AND " | ||
| 64 | + + " r.schedule_date_str = ?2 and r.cl_zbh =?3 ",nativeQuery=true) | ||
| 65 | + List<Object[]> historyMessageList(String line,String date,String code); | ||
| 66 | + | ||
| 61 | @Query(value = "select max(id) from ScheduleRealInfo") | 67 | @Query(value = "select max(id) from ScheduleRealInfo") |
| 62 | Long getMaxId(); | 68 | Long getMaxId(); |
| 63 | 69 |
src/main/java/com/bsth/repository/schedule/TTInfoRepository.java
| @@ -11,7 +11,9 @@ import org.springframework.data.jpa.repository.EntityGraph; | @@ -11,7 +11,9 @@ import org.springframework.data.jpa.repository.EntityGraph; | ||
| 11 | import org.springframework.data.jpa.repository.Query; | 11 | import org.springframework.data.jpa.repository.Query; |
| 12 | import org.springframework.stereotype.Repository; | 12 | import org.springframework.stereotype.Repository; |
| 13 | 13 | ||
| 14 | +import javax.persistence.Tuple; | ||
| 14 | import java.util.List; | 15 | import java.util.List; |
| 16 | +import java.util.Map; | ||
| 15 | 17 | ||
| 16 | /** | 18 | /** |
| 17 | * Created by xu on 16/5/12. | 19 | * Created by xu on 16/5/12. |
| @@ -31,4 +33,19 @@ public interface TTInfoRepository extends BaseRepository<TTInfo, Long> { | @@ -31,4 +33,19 @@ public interface TTInfoRepository extends BaseRepository<TTInfo, Long> { | ||
| 31 | 33 | ||
| 32 | @Query("select t from TTInfo t where t.xl = ?1 and t.isCancel = false") | 34 | @Query("select t from TTInfo t where t.xl = ?1 and t.isCancel = false") |
| 33 | List<TTInfo> findInCanceledByXl(Line xl); | 35 | List<TTInfo> findInCanceledByXl(Line xl); |
| 36 | + | ||
| 37 | + @Query(value = "select new map(lv.name as name, lv.startDate as sd, " + | ||
| 38 | + "lv.status as status, lv.versions as version) " + | ||
| 39 | + "from LineVersions lv where lv.line.id = ?1 ") | ||
| 40 | + List<Map<String, Object>> findLineVersionDescs(Integer lineId); | ||
| 41 | + | ||
| 42 | + @Query(value = "select new map(lv.name as name, lv.startDate as sd, " + | ||
| 43 | + "lv.status as status, lv.versions as version) " + | ||
| 44 | + "from LineVersions lv where lv.line.id = ?1 and lv.versions = ?2 ") | ||
| 45 | + List<Map<String, Object>> findLineVersionDescs2(Integer lineId, Integer version); | ||
| 46 | + | ||
| 47 | + @Query(value = "select new map(lv.name as name, lv.versions as version) " + | ||
| 48 | + "from LineVersions lv where lv.line.id = ?1 and lv.status = ?2 ") | ||
| 49 | + List<Map<String, Object>> findLineVersionDescs3(Integer lineId, Integer status); | ||
| 50 | + | ||
| 34 | } | 51 | } |
src/main/java/com/bsth/service/forms/impl/FormsServiceImpl.java
| @@ -868,7 +868,7 @@ public class FormsServiceImpl implements FormsService { | @@ -868,7 +868,7 @@ public class FormsServiceImpl implements FormsService { | ||
| 868 | 868 | ||
| 869 | sin.setEmptMileage(String.valueOf(zksgl)); | 869 | sin.setEmptMileage(String.valueOf(zksgl)); |
| 870 | sin.setJhjl(String.valueOf(Arith.add(jhgl,jhjcc))); | 870 | sin.setJhjl(String.valueOf(Arith.add(jhgl,jhjcc))); |
| 871 | - sin.setxL(BasicData.lineCode2NameMap.get(line)); | 871 | + sin.setXlmc(BasicData.lineCode2NameMap.get(line)); |
| 872 | sin.setClzbh(clzbh); | 872 | sin.setClzbh(clzbh); |
| 873 | sin.setJsy(""); | 873 | sin.setJsy(""); |
| 874 | sin.setjName(""); | 874 | sin.setjName(""); |
| @@ -876,8 +876,9 @@ public class FormsServiceImpl implements FormsService { | @@ -876,8 +876,9 @@ public class FormsServiceImpl implements FormsService { | ||
| 876 | sin.setHyl(""); | 876 | sin.setHyl(""); |
| 877 | sin.setJzl(""); | 877 | sin.setJzl(""); |
| 878 | sin.setUnyyyl(""); | 878 | sin.setUnyyyl(""); |
| 879 | + list_.add(sin); | ||
| 879 | } | 880 | } |
| 880 | - Collections.sort(list,new SingledataByXlbm()); | 881 | + Collections.sort(list_,new SingledataByXlbm()); |
| 881 | } | 882 | } |
| 882 | return list_; | 883 | return list_; |
| 883 | } | 884 | } |
| @@ -1539,7 +1540,7 @@ public class FormsServiceImpl implements FormsService { | @@ -1539,7 +1540,7 @@ public class FormsServiceImpl implements FormsService { | ||
| 1539 | 1540 | ||
| 1540 | sin.setEmptMileage(String.valueOf(zksgl)); | 1541 | sin.setEmptMileage(String.valueOf(zksgl)); |
| 1541 | sin.setJhjl(String.valueOf(Arith.add(jhgl,jhjcc))); | 1542 | sin.setJhjl(String.valueOf(Arith.add(jhgl,jhjcc))); |
| 1542 | - sin.setxL(BasicData.lineCode2NameMap.get(line)); | 1543 | + sin.setXlmc(BasicData.lineCode2NameMap.get(line)); |
| 1543 | sin.setClzbh(clzbh); | 1544 | sin.setClzbh(clzbh); |
| 1544 | sin.setJsy(""); | 1545 | sin.setJsy(""); |
| 1545 | sin.setjName(""); | 1546 | sin.setjName(""); |
| @@ -1550,9 +1551,7 @@ public class FormsServiceImpl implements FormsService { | @@ -1550,9 +1551,7 @@ public class FormsServiceImpl implements FormsService { | ||
| 1550 | } | 1551 | } |
| 1551 | Collections.sort(list,new SingledataByXlbm()); | 1552 | Collections.sort(list,new SingledataByXlbm()); |
| 1552 | } | 1553 | } |
| 1553 | - | ||
| 1554 | return list; | 1554 | return list; |
| 1555 | - | ||
| 1556 | } | 1555 | } |
| 1557 | 1556 | ||
| 1558 | // 运营服务阶段报表 | 1557 | // 运营服务阶段报表 |
src/main/java/com/bsth/service/oil/YlbService.java
| @@ -19,6 +19,8 @@ public interface YlbService extends BaseService<Ylb, Integer>{ | @@ -19,6 +19,8 @@ public interface YlbService extends BaseService<Ylb, Integer>{ | ||
| 19 | 19 | ||
| 20 | Map<String, Object> sumYlb(Map<String, Object> map); | 20 | Map<String, Object> sumYlb(Map<String, Object> map); |
| 21 | String checkJsy(Map<String, Object> map); | 21 | String checkJsy(Map<String, Object> map); |
| 22 | + String checkDate(Map<String, Object> map); | ||
| 23 | + | ||
| 22 | List<Map<String, Object>> oilListMonth(Map<String, Object> map); | 24 | List<Map<String, Object>> oilListMonth(Map<String, Object> map); |
| 23 | List<Ylb> listYlb(Map<String, Object> map); | 25 | List<Ylb> listYlb(Map<String, Object> map); |
| 24 | StringBuffer checkNbmmNum(String rq, String gsbm,String fgsbm,String xlbm,String nbbm,int lx); | 26 | StringBuffer checkNbmmNum(String rq, String gsbm,String fgsbm,String xlbm,String nbbm,int lx); |
src/main/java/com/bsth/service/oil/impl/YlbServiceImpl.java
| @@ -1442,6 +1442,35 @@ public class YlbServiceImpl extends BaseServiceImpl<Ylb,Integer> implements YlbS | @@ -1442,6 +1442,35 @@ public class YlbServiceImpl extends BaseServiceImpl<Ylb,Integer> implements YlbS | ||
| 1442 | } | 1442 | } |
| 1443 | return type; | 1443 | return type; |
| 1444 | } | 1444 | } |
| 1445 | + | ||
| 1446 | + @Override | ||
| 1447 | + public String checkDate(Map<String, Object> map) { | ||
| 1448 | + // TODO Auto-generated method stub | ||
| 1449 | + SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); | ||
| 1450 | + String rq=map.get("rq").toString(); | ||
| 1451 | + String gsbm=map.get("ssgsdm_like").toString(); | ||
| 1452 | + String type="1"; | ||
| 1453 | + if(gsbm.equals("26")){ | ||
| 1454 | + Date date=new Date(); | ||
| 1455 | + Calendar aCalendar = Calendar.getInstance(); | ||
| 1456 | + aCalendar.setTime(date); | ||
| 1457 | + int day1 = aCalendar.get(Calendar.DAY_OF_YEAR); | ||
| 1458 | + try { | ||
| 1459 | + aCalendar.setTime(sdf.parse(rq)); | ||
| 1460 | + } catch (ParseException e) { | ||
| 1461 | + // TODO Auto-generated catch block | ||
| 1462 | + e.printStackTrace(); | ||
| 1463 | + } | ||
| 1464 | + int day2 = aCalendar.get(Calendar.DAY_OF_YEAR); | ||
| 1465 | + int days=day1-day2; | ||
| 1466 | + if(days>3){ | ||
| 1467 | + type="2"; | ||
| 1468 | + } | ||
| 1469 | + } | ||
| 1470 | + return type; | ||
| 1471 | + } | ||
| 1472 | + | ||
| 1473 | + | ||
| 1445 | 1474 | ||
| 1446 | @Override | 1475 | @Override |
| 1447 | public Map<String, Object> saveYlb(Ylb t) { | 1476 | public Map<String, Object> saveYlb(Ylb t) { |
src/main/java/com/bsth/service/realcontrol/impl/ScheduleRealInfoServiceImpl.java
| @@ -21,6 +21,7 @@ import com.bsth.data.schedule.edit_logs.loggers.FcxxwtLogger; | @@ -21,6 +21,7 @@ import com.bsth.data.schedule.edit_logs.loggers.FcxxwtLogger; | ||
| 21 | import com.bsth.data.schedule.edit_logs.service.dto.SchEditInfoDto; | 21 | import com.bsth.data.schedule.edit_logs.service.dto.SchEditInfoDto; |
| 22 | import com.bsth.data.schedule.late_adjust.LateAdjustHandle; | 22 | import com.bsth.data.schedule.late_adjust.LateAdjustHandle; |
| 23 | import com.bsth.data.utils.CustomStringUtils; | 23 | import com.bsth.data.utils.CustomStringUtils; |
| 24 | +import com.bsth.entity.CarDevice; | ||
| 24 | import com.bsth.entity.Cars; | 25 | import com.bsth.entity.Cars; |
| 25 | import com.bsth.entity.Line; | 26 | import com.bsth.entity.Line; |
| 26 | import com.bsth.entity.Personnel; | 27 | import com.bsth.entity.Personnel; |
| @@ -39,6 +40,7 @@ import com.bsth.entity.schedule.GuideboardInfo; | @@ -39,6 +40,7 @@ import com.bsth.entity.schedule.GuideboardInfo; | ||
| 39 | import com.bsth.entity.schedule.SchedulePlanInfo; | 40 | import com.bsth.entity.schedule.SchedulePlanInfo; |
| 40 | import com.bsth.entity.sys.DutyEmployee; | 41 | import com.bsth.entity.sys.DutyEmployee; |
| 41 | import com.bsth.entity.sys.SysUser; | 42 | import com.bsth.entity.sys.SysUser; |
| 43 | +import com.bsth.repository.CarDeviceRepository; | ||
| 42 | import com.bsth.repository.LineRepository; | 44 | import com.bsth.repository.LineRepository; |
| 43 | import com.bsth.repository.oil.DlbRepository; | 45 | import com.bsth.repository.oil.DlbRepository; |
| 44 | import com.bsth.repository.oil.YlbRepository; | 46 | import com.bsth.repository.oil.YlbRepository; |
| @@ -153,6 +155,9 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -153,6 +155,9 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 153 | 155 | ||
| 154 | @Autowired | 156 | @Autowired |
| 155 | DirectiveService directiveService; | 157 | DirectiveService directiveService; |
| 158 | + | ||
| 159 | + @Autowired | ||
| 160 | + CarDeviceRepository carDeviceRepository; | ||
| 156 | 161 | ||
| 157 | Logger logger = LoggerFactory.getLogger(this.getClass()); | 162 | Logger logger = LoggerFactory.getLogger(this.getClass()); |
| 158 | 163 | ||
| @@ -1097,6 +1102,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -1097,6 +1102,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 1097 | @Override | 1102 | @Override |
| 1098 | public List<Object[]> historyMessage(String line, String date, String code, String type) { | 1103 | public List<Object[]> historyMessage(String line, String date, String code, String type) { |
| 1099 | SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); | 1104 | SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
| 1105 | + | ||
| 1100 | long d = 0; | 1106 | long d = 0; |
| 1101 | long t = 0; | 1107 | long t = 0; |
| 1102 | if (date.length() > 0) { | 1108 | if (date.length() > 0) { |
| @@ -1116,7 +1122,23 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | @@ -1116,7 +1122,23 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf | ||
| 1116 | List<Object[]> list = scheduleRealInfoRepository.historyMessage(line, d, t, device); | 1122 | List<Object[]> list = scheduleRealInfoRepository.historyMessage(line, d, t, device); |
| 1117 | for (Object[] obj : list) { | 1123 | for (Object[] obj : list) { |
| 1118 | if (obj != null) { | 1124 | if (obj != null) { |
| 1119 | - obj[0] =BasicData.deviceId2NbbmMap.get(obj[0].toString()); | 1125 | + |
| 1126 | + if(BasicData.deviceId2NbbmMap.get(obj[0].toString())==null){ | ||
| 1127 | + List<CarDevice> carDeviceList=new ArrayList<CarDevice>(); | ||
| 1128 | + try { | ||
| 1129 | + carDeviceList = carDeviceRepository.findCarDevice(obj[0].toString(), sdf.parse(date + " 00:00:00")); | ||
| 1130 | + } catch (ParseException e) { | ||
| 1131 | + // TODO Auto-generated catch block | ||
| 1132 | + e.printStackTrace(); | ||
| 1133 | + } | ||
| 1134 | + if(carDeviceList.size()>0){ | ||
| 1135 | + obj[0] =carDeviceList.get(0).getClZbh(); | ||
| 1136 | + }else{ | ||
| 1137 | + obj[0] =BasicData.deviceId2NbbmMap.get(obj[0].toString()); | ||
| 1138 | + } | ||
| 1139 | + }else{ | ||
| 1140 | + obj[0] =BasicData.deviceId2NbbmMap.get(obj[0].toString()); | ||
| 1141 | + } | ||
| 1120 | obj[3] = sdf.format(new Date(Long.parseLong(obj[3].toString()))); | 1142 | obj[3] = sdf.format(new Date(Long.parseLong(obj[3].toString()))); |
| 1121 | obj[4] = BasicData.lineCode2NameMap.get(line); | 1143 | obj[4] = BasicData.lineCode2NameMap.get(line); |
| 1122 | } | 1144 | } |
src/main/java/com/bsth/service/report/ReportService.java
| @@ -22,6 +22,8 @@ public interface ReportService { | @@ -22,6 +22,8 @@ public interface ReportService { | ||
| 22 | List<Map<String, String>> sreachZd(String line,int zdlx); | 22 | List<Map<String, String>> sreachZd(String line,int zdlx); |
| 23 | 23 | ||
| 24 | List<Object[]> historyMessageCount(String line, String date, String code); | 24 | List<Object[]> historyMessageCount(String line, String date, String code); |
| 25 | + List<Object[]> historyMessageList(String line, String date, String code,String type); | ||
| 26 | + | ||
| 25 | 27 | ||
| 26 | Map<String, Object> tbodyTime1(String line ,String ttinfo); | 28 | Map<String, Object> tbodyTime1(String line ,String ttinfo); |
| 27 | 29 |
src/main/java/com/bsth/service/report/impl/ReportServiceImpl.java
| 1 | package com.bsth.service.report.impl; | 1 | package com.bsth.service.report.impl; |
| 2 | import com.bsth.data.BasicData; | 2 | import com.bsth.data.BasicData; |
| 3 | +import com.bsth.entity.CarDevice; | ||
| 3 | import com.bsth.entity.Line; | 4 | import com.bsth.entity.Line; |
| 4 | import com.bsth.entity.Personnel; | 5 | import com.bsth.entity.Personnel; |
| 5 | import com.bsth.entity.StationRoute; | 6 | import com.bsth.entity.StationRoute; |
| @@ -278,6 +279,48 @@ public class ReportServiceImpl implements ReportService{ | @@ -278,6 +279,48 @@ public class ReportServiceImpl implements ReportService{ | ||
| 278 | return list; | 279 | return list; |
| 279 | } | 280 | } |
| 280 | @Override | 281 | @Override |
| 282 | + public List<Object[]> historyMessageList(String line, String date, String code,String type) { | ||
| 283 | + // TODO Auto-generated method stub | ||
| 284 | + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); | ||
| 285 | + | ||
| 286 | + List<Object[]> list = scheduleRealInfoRepository.historyMessageList(line, date, code); | ||
| 287 | + for (Object[] obj : list) { | ||
| 288 | + if (obj != null) { | ||
| 289 | + obj[3] = sdf.format(new Date(Long.parseLong(obj[3].toString()))); | ||
| 290 | + } | ||
| 291 | + } | ||
| 292 | + | ||
| 293 | + if (type != null && type.length() != 0 && type.equals("export_msg")) { | ||
| 294 | + SimpleDateFormat sdfMonth = new SimpleDateFormat("yyyy-MM-dd"), | ||
| 295 | + sdfSimple = new SimpleDateFormat("yyyyMMdd"); | ||
| 296 | + List<Iterator<?>> listI = new ArrayList<Iterator<?>>(); | ||
| 297 | + Map<String, Object> m = new HashMap<String, Object>(); | ||
| 298 | + ReportUtils ee = new ReportUtils(); | ||
| 299 | + List<Map<String, Object>> newList = new ArrayList<Map<String, Object>>(); | ||
| 300 | + for (int i = 0; i < list.size(); i++) { | ||
| 301 | + Map<String, Object> map = new HashMap<String, Object>(); | ||
| 302 | + Object[] obj = list.get(i); | ||
| 303 | + map.put("num", i + 1); | ||
| 304 | + map.put("line", obj[0]); | ||
| 305 | + map.put("clZbh", obj[1]); | ||
| 306 | + map.put("sender", obj[2]); | ||
| 307 | + map.put("date", obj[3]); | ||
| 308 | + map.put("text", obj[4]); | ||
| 309 | + newList.add(map); | ||
| 310 | + } | ||
| 311 | + try { | ||
| 312 | + listI.add(newList.iterator()); | ||
| 313 | + String path = this.getClass().getResource("/").getPath() + "static/pages/forms/"; | ||
| 314 | + ee.excelReplace(listI, new Object[]{m}, path + "mould/message.xls", | ||
| 315 | + path + "export/调度消息分析" + sdfSimple.format(sdfMonth.parse(date)) + ".xls"); | ||
| 316 | + } catch (Exception e) { | ||
| 317 | + // TODO: handle exception | ||
| 318 | + e.printStackTrace(); | ||
| 319 | + } | ||
| 320 | + } | ||
| 321 | + return list; | ||
| 322 | + } | ||
| 323 | + @Override | ||
| 281 | public Map<String, Object> tbodyTime1(String line, String ttinfo) { | 324 | public Map<String, Object> tbodyTime1(String line, String ttinfo) { |
| 282 | DecimalFormat df = new DecimalFormat("#0.00"); | 325 | DecimalFormat df = new DecimalFormat("#0.00"); |
| 283 | // TODO Auto-generated method stub | 326 | // TODO Auto-generated method stub |
src/main/java/com/bsth/service/report/impl/SheetServiceImpl.java
| @@ -149,6 +149,8 @@ public class SheetServiceImpl extends BaseServiceImpl<Sheet, Integer> implements | @@ -149,6 +149,8 @@ public class SheetServiceImpl extends BaseServiceImpl<Sheet, Integer> implements | ||
| 149 | // String line =map.get("line").toString(); | 149 | // String line =map.get("line").toString(); |
| 150 | // String date =map.get("date").toString(); | 150 | // String date =map.get("date").toString(); |
| 151 | SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm"); | 151 | SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm"); |
| 152 | + SimpleDateFormat sdf_=new SimpleDateFormat("yyyy-MM-dd"); | ||
| 153 | + | ||
| 152 | String minfcsj="02:00"; | 154 | String minfcsj="02:00"; |
| 153 | List<Line> lineList=lineRepository.findLineByCode(line); | 155 | List<Line> lineList=lineRepository.findLineByCode(line); |
| 154 | if(lineList.size()>0){ | 156 | if(lineList.size()>0){ |
| @@ -169,111 +171,7 @@ public class SheetServiceImpl extends BaseServiceImpl<Sheet, Integer> implements | @@ -169,111 +171,7 @@ public class SheetServiceImpl extends BaseServiceImpl<Sheet, Integer> implements | ||
| 169 | List<ScheduleRealInfo> listReal0=new ArrayList<ScheduleRealInfo>(); | 171 | List<ScheduleRealInfo> listReal0=new ArrayList<ScheduleRealInfo>(); |
| 170 | 172 | ||
| 171 | List<ScheduleRealInfo> listReal1=new ArrayList<ScheduleRealInfo>(); | 173 | List<ScheduleRealInfo> listReal1=new ArrayList<ScheduleRealInfo>(); |
| 172 | - //排除所有进出场班次 | ||
| 173 | -// List<ScheduleRealInfo> list=scheduleRealInfoRepository.scheduleByDateAndLine2(line, date); | ||
| 174 | - /* for (int i = 0; i < list.size(); i++) { | ||
| 175 | - //排除所有烂班的班次 | ||
| 176 | - ScheduleRealInfo s=list.get(i); | ||
| 177 | - Set<ChildTaskPlan> cts=s.getcTasks(); | ||
| 178 | - if(cts!=null && cts.size() > 0){ | ||
| 179 | - | ||
| 180 | - } | ||
| 181 | - ScheduleRealInfo r=checkBc(s); | ||
| 182 | - String[] fcsj= r.getFcsj().split(":"); | ||
| 183 | - Long fcsjL=Long.parseLong(fcsj[0])*60+Long.parseLong(fcsj[1]); | ||
| 184 | - Long fscjT=0L; | ||
| 185 | - if(fcsjL<minSj){ | ||
| 186 | - Calendar calendar = new GregorianCalendar(); | ||
| 187 | - calendar.setTime(r.getScheduleDate()); | ||
| 188 | - calendar.add(calendar.DATE,1); | ||
| 189 | - r.setScheduleDate(calendar.getTime()); | ||
| 190 | - try { | ||
| 191 | - fscjT = sdf.parse(sdf.format(r.getScheduleDate())+" "+r.getFcsj()).getTime(); | ||
| 192 | - } catch (ParseException e) { | ||
| 193 | - // TODO Auto-generated catch block | ||
| 194 | - e.printStackTrace(); | ||
| 195 | - } | ||
| 196 | - | ||
| 197 | - }else{ | ||
| 198 | - try { | ||
| 199 | - fscjT =sdf.parse(r.getScheduleDateStr()+" "+r.getFcsj()).getTime(); | ||
| 200 | - } catch (ParseException e) { | ||
| 201 | - // TODO Auto-generated catch block | ||
| 202 | - e.printStackTrace(); | ||
| 203 | - }; | ||
| 204 | - } | ||
| 205 | - | ||
| 206 | - Sheet sheet=new Sheet(); | ||
| 207 | - Long fcsjAcual=0L; | ||
| 208 | - if (r.getFcsjActual()!=null) { | ||
| 209 | - if(!r.getFcsjActual().equals("")){ | ||
| 210 | - try { | ||
| 211 | - fcsjAcual =sdf.parse(r.getRealExecDate()+" "+r.getFcsjActual()).getTime(); | ||
| 212 | - } catch (ParseException e) { | ||
| 213 | - // TODO Auto-generated catch block | ||
| 214 | - e.printStackTrace(); | ||
| 215 | - } | ||
| 216 | - | ||
| 217 | - | ||
| 218 | - Long sjc=fscjT-fcsjAcual; | ||
| 219 | - //在快慢五分钟内直接添加 | ||
| 220 | - if(sjc>= 3*60*1000*-1 && sjc <=3*60*1000){ | ||
| 221 | - | ||
| 222 | - sheet.setDate(r.getScheduleDateStr()); | ||
| 223 | - sheet.setRealDate(r.getRealExecDate()); | ||
| 224 | - sheet.setJhsjt(fscjT); | ||
| 225 | - sheet.setJhsj(r.getFcsj()); | ||
| 226 | - sheet.setSjsjt(fcsjAcual); | ||
| 227 | - sheet.setSjsj(r.getFcsjActual()); | ||
| 228 | - sheet.setGs(r.getGsBm()); | ||
| 229 | - sheet.setFgs(r.getFgsBm()); | ||
| 230 | - sheet.setLine(r.getXlBm()); | ||
| 231 | - sheet.setXlDir(r.getXlDir()); | ||
| 232 | - sheet.setZdname(r.getQdzName()); | ||
| 233 | - sheet.setCreateDate(new Date()); | ||
| 234 | - listAdd.add(sheet); | ||
| 235 | - }else{ | ||
| 236 | - r.setFcsjActualTime(fcsjAcual); | ||
| 237 | - r.setFcsjT(fscjT); | ||
| 238 | - if(r.getXlDir().equals("0")){ | ||
| 239 | - listJhsj0.add(r); | ||
| 240 | - listReal0.add(r); | ||
| 241 | - }else{ | ||
| 242 | - listJhsj1.add(r); | ||
| 243 | - listReal1.add(r); | ||
| 244 | - } | ||
| 245 | - } | ||
| 246 | - }else{ | ||
| 247 | - sheet.setDate(r.getScheduleDateStr()); | ||
| 248 | - sheet.setRealDate(r.getRealExecDate()); | ||
| 249 | - sheet.setJhsjt(fscjT); | ||
| 250 | - sheet.setJhsj(r.getFcsj()); | ||
| 251 | - sheet.setSjsjt(0L); | ||
| 252 | - sheet.setSjsj("烂班"); | ||
| 253 | - sheet.setGs(r.getGsBm()); | ||
| 254 | - sheet.setFgs(r.getFgsBm()); | ||
| 255 | - sheet.setLine(r.getXlBm()); | ||
| 256 | - sheet.setXlDir(r.getXlDir()); | ||
| 257 | - sheet.setZdname(r.getQdzName()); | ||
| 258 | - sheet.setCreateDate(new Date()); | ||
| 259 | - listAdd.add(sheet); | ||
| 260 | - } | ||
| 261 | - }else{ | ||
| 262 | - sheet.setDate(r.getScheduleDateStr()); | ||
| 263 | - sheet.setRealDate(r.getRealExecDate()); | ||
| 264 | - sheet.setJhsjt(fscjT); | ||
| 265 | - sheet.setJhsj(r.getFcsj()); | ||
| 266 | - sheet.setSjsjt(0L); | ||
| 267 | - sheet.setSjsj("烂班"); | ||
| 268 | - sheet.setGs(r.getGsBm()); | ||
| 269 | - sheet.setFgs(r.getFgsBm()); | ||
| 270 | - sheet.setLine(r.getXlBm()); | ||
| 271 | - sheet.setXlDir(r.getXlDir()); | ||
| 272 | - sheet.setZdname(r.getQdzName()); | ||
| 273 | - sheet.setCreateDate(new Date()); | ||
| 274 | - listAdd.add(sheet); | ||
| 275 | - } | ||
| 276 | - }*/ | 174 | + |
| 277 | for (int i = 0; i < list.size(); i++) { | 175 | for (int i = 0; i < list.size(); i++) { |
| 278 | ScheduleRealInfo s=list.get(i); | 176 | ScheduleRealInfo s=list.get(i); |
| 279 | ScheduleRealInfo r=checkBc(s); | 177 | ScheduleRealInfo r=checkBc(s); |
| @@ -286,7 +184,7 @@ public class SheetServiceImpl extends BaseServiceImpl<Sheet, Integer> implements | @@ -286,7 +184,7 @@ public class SheetServiceImpl extends BaseServiceImpl<Sheet, Integer> implements | ||
| 286 | calendar.add(calendar.DATE,1); | 184 | calendar.add(calendar.DATE,1); |
| 287 | r.setScheduleDate(calendar.getTime()); | 185 | r.setScheduleDate(calendar.getTime()); |
| 288 | try { | 186 | try { |
| 289 | - fscjT = sdf.parse(sdf.format(r.getScheduleDate())+" "+r.getFcsj()).getTime(); | 187 | + fscjT = sdf.parse(sdf_.format(r.getScheduleDate())+" "+r.getFcsj()).getTime(); |
| 290 | } catch (ParseException e) { | 188 | } catch (ParseException e) { |
| 291 | // TODO Auto-generated catch block | 189 | // TODO Auto-generated catch block |
| 292 | e.printStackTrace(); | 190 | e.printStackTrace(); |
src/main/java/com/bsth/service/schedule/TTInfoDetailService.java
| @@ -34,14 +34,14 @@ public interface TTInfoDetailService extends BService<TTInfoDetail, Long> { | @@ -34,14 +34,14 @@ public interface TTInfoDetailService extends BService<TTInfoDetail, Long> { | ||
| 34 | * @param filename excel文件全路径名 | 34 | * @param filename excel文件全路径名 |
| 35 | * @param sheetname sheet名字 | 35 | * @param sheetname sheet名字 |
| 36 | * @param lineid 线路id | 36 | * @param lineid 线路id |
| 37 | - * @param zdlyversion 站点路由版本 | 37 | + * @param lineversion 线路版本 |
| 38 | */ | 38 | */ |
| 39 | void validateExcelSheet( | 39 | void validateExcelSheet( |
| 40 | String filename, | 40 | String filename, |
| 41 | String sheetname, | 41 | String sheetname, |
| 42 | Integer lineid, | 42 | Integer lineid, |
| 43 | String linename, | 43 | String linename, |
| 44 | - Integer zdlyversion) throws ScheduleException; | 44 | + Integer lineversion) throws ScheduleException; |
| 45 | 45 | ||
| 46 | /** | 46 | /** |
| 47 | * 验证关联的线路标准信息(以后放到规则引擎里去做)。 | 47 | * 验证关联的线路标准信息(以后放到规则引擎里去做)。 |
src/main/java/com/bsth/service/schedule/TTInfoService.java
| @@ -21,4 +21,6 @@ public interface TTInfoService extends BService<TTInfo, Long> { | @@ -21,4 +21,6 @@ public interface TTInfoService extends BService<TTInfo, Long> { | ||
| 21 | 21 | ||
| 22 | String getLineVersionDesc(Integer lineId, Integer version); | 22 | String getLineVersionDesc(Integer lineId, Integer version); |
| 23 | 23 | ||
| 24 | + List<Map<String, Object>> getLineVersions(Integer lineId, Integer status); | ||
| 25 | + | ||
| 24 | } | 26 | } |
src/main/java/com/bsth/service/schedule/datatools/TTInfoDetailDataToolsImpl.java
| @@ -72,6 +72,10 @@ public class TTInfoDetailDataToolsImpl implements DataToolsService, TTInfoDetail | @@ -72,6 +72,10 @@ public class TTInfoDetailDataToolsImpl implements DataToolsService, TTInfoDetail | ||
| 72 | try { | 72 | try { |
| 73 | LOGGER.info("//---------------- 导入时刻表明细 start... ----------------//"); | 73 | LOGGER.info("//---------------- 导入时刻表明细 start... ----------------//"); |
| 74 | 74 | ||
| 75 | + if (params.get("lineversion") == null) { | ||
| 76 | + throw new Exception("线路版本未知"); | ||
| 77 | + } | ||
| 78 | + | ||
| 75 | String filename = file.getAbsolutePath(); // xls xlsx 文件名 | 79 | String filename = file.getAbsolutePath(); // xls xlsx 文件名 |
| 76 | String sheetname = String.valueOf(params.get("sheetname")); // sheet名字 | 80 | String sheetname = String.valueOf(params.get("sheetname")); // sheet名字 |
| 77 | Long ttid = Long.valueOf(String.valueOf(params.get("ttid"))); // 时刻表id | 81 | Long ttid = Long.valueOf(String.valueOf(params.get("ttid"))); // 时刻表id |
| @@ -79,7 +83,7 @@ public class TTInfoDetailDataToolsImpl implements DataToolsService, TTInfoDetail | @@ -79,7 +83,7 @@ public class TTInfoDetailDataToolsImpl implements DataToolsService, TTInfoDetail | ||
| 79 | Integer lineid = Integer.valueOf(String.valueOf(params.get("lineinfo"))); // 线路标准id | 83 | Integer lineid = Integer.valueOf(String.valueOf(params.get("lineinfo"))); // 线路标准id |
| 80 | String xlname = String.valueOf(params.get("xlname")); // 线路名字 | 84 | String xlname = String.valueOf(params.get("xlname")); // 线路名字 |
| 81 | String ttname = String.valueOf(params.get("ttname")); // 时刻表名字 | 85 | String ttname = String.valueOf(params.get("ttname")); // 时刻表名字 |
| 82 | - Integer zdlyversion = params.get("zdlyversion") == null ? null : Integer.valueOf(params.get("zdlyversion").toString()); | 86 | + Integer lineversion = Integer.valueOf(params.get("lineversion").toString()); |
| 83 | 87 | ||
| 84 | LOGGER.info("参数1, xls文件名={},sheet名字={}", filename, sheetname); | 88 | LOGGER.info("参数1, xls文件名={},sheet名字={}", filename, sheetname); |
| 85 | LOGGER.info("参数2, 线路id={},线路名字={}", xlid, xlname); | 89 | LOGGER.info("参数2, 线路id={},线路名字={}", xlid, xlname); |
| @@ -149,30 +153,27 @@ public class TTInfoDetailDataToolsImpl implements DataToolsService, TTInfoDetail | @@ -149,30 +153,27 @@ public class TTInfoDetailDataToolsImpl implements DataToolsService, TTInfoDetail | ||
| 149 | 153 | ||
| 150 | // 创建ktr转换所需参数 | 154 | // 创建ktr转换所需参数 |
| 151 | Map<String, Object> ktrParms = new HashMap<>(); | 155 | Map<String, Object> ktrParms = new HashMap<>(); |
| 152 | - File ktrFile = new File(this.getClass().getResource( | 156 | + // 元数据ktr |
| 157 | + File mktrFile = new File(this.getClass().getResource( | ||
| 153 | dataToolsProperties.getTtinfodetailMetadatainputktr()).toURI()); | 158 | dataToolsProperties.getTtinfodetailMetadatainputktr()).toURI()); |
| 154 | -// File ktrFile2 = new File(this.getClass().getResource( | ||
| 155 | -// dataToolsProperties.getTtinfodetailDatainputktr()).toURI()); | ||
| 156 | - File ktrFile2 = new File(this.getClass().getResource( | ||
| 157 | - dataToolsProperties.getTtinfodetailDatainputktr2()).toURI()); | ||
| 158 | - File ktrFile2_ls = new File(this.getClass().getResource( | ||
| 159 | - dataToolsProperties.getTtinfodetailDatainputktr2ls()).toURI()); | 159 | + // 实际数据ktr |
| 160 | + File ktrFile2_version = new File(this.getClass().getResource( | ||
| 161 | + dataToolsProperties.getTtinfodetailDatainputktr2version()).toURI()); | ||
| 160 | 162 | ||
| 161 | // 通用参数,转换文件路径,excel输入文件路径,错误输出文件路径 | 163 | // 通用参数,转换文件路径,excel输入文件路径,错误输出文件路径 |
| 162 | - ktrParms.put("transpath", ktrFile.getAbsolutePath()); | 164 | + ktrParms.put("transpath", mktrFile.getAbsolutePath()); |
| 163 | ktrParms.put("filepath", fileCal.getAbsolutePath()); | 165 | ktrParms.put("filepath", fileCal.getAbsolutePath()); |
| 164 | ktrParms.put("erroroutputdir", dataToolsProperties.getTransErrordir()); | 166 | ktrParms.put("erroroutputdir", dataToolsProperties.getTransErrordir()); |
| 165 | 167 | ||
| 166 | // 附加参数 | 168 | // 附加参数 |
| 167 | - ktrParms.put("injectktrfile", zdlyversion == null || zdlyversion == -1 ? | ||
| 168 | - ktrFile2.getAbsolutePath() : ktrFile2_ls.getAbsolutePath()); // 注入元数据的ktr文件 | 169 | + ktrParms.put("injectktrfile", ktrFile2_version.getAbsolutePath()); // 注入元数据的ktr文件 |
| 169 | ktrParms.put("sheetname", sheetname); // sheet工作区的名字 | 170 | ktrParms.put("sheetname", sheetname); // sheet工作区的名字 |
| 170 | ktrParms.put("lineinfoid", lineid); // 线路标准id | 171 | ktrParms.put("lineinfoid", lineid); // 线路标准id |
| 171 | ktrParms.put("xlname", xlname); // 线路名称 | 172 | ktrParms.put("xlname", xlname); // 线路名称 |
| 172 | ktrParms.put("xlid", xlid); // 线路id | 173 | ktrParms.put("xlid", xlid); // 线路id |
| 173 | ktrParms.put("ttinfoname", ttname); // 时刻表名称 | 174 | ktrParms.put("ttinfoname", ttname); // 时刻表名称 |
| 174 | ktrParms.put("ttid", ttid.intValue()); // 时刻表id | 175 | ktrParms.put("ttid", ttid.intValue()); // 时刻表id |
| 175 | - ktrParms.put("zdlyversion", zdlyversion); // 站点路由版本 | 176 | + ktrParms.put("lineversion", lineversion); // 站点路由版本 |
| 176 | ktrParms.put("excelfieldnames", StringUtils.join(columnames.toArray(), ",")); // 时刻表excel输入字段名,以逗号连接 | 177 | ktrParms.put("excelfieldnames", StringUtils.join(columnames.toArray(), ",")); // 时刻表excel输入字段名,以逗号连接 |
| 177 | columnames.remove(0); | 178 | columnames.remove(0); |
| 178 | ktrParms.put("normalizefieldnames", StringUtils.join(columnames.toArray(), ",")); // 数据范式化字段名,以逗号连接 | 179 | ktrParms.put("normalizefieldnames", StringUtils.join(columnames.toArray(), ",")); // 数据范式化字段名,以逗号连接 |
src/main/java/com/bsth/service/schedule/impl/PeopleCarPlanServiceImpl.java
| @@ -1485,7 +1485,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | @@ -1485,7 +1485,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | ||
| 1485 | 1485 | ||
| 1486 | try { | 1486 | try { |
| 1487 | String sql = "select a.schedule_date_str, a.real_exec_date, a.xl_name, a.fcsj, a.fcsj_actual, a.zdsj, a.zdsj_actual, a.qdz_name, a.zdz_name, a.xl_dir, a.status, a.gs_name, a.fgs_name," | 1487 | String sql = "select a.schedule_date_str, a.real_exec_date, a.xl_name, a.fcsj, a.fcsj_actual, a.zdsj, a.zdsj_actual, a.qdz_name, a.zdz_name, a.xl_dir, a.status, a.gs_name, a.fgs_name," |
| 1488 | - + " a.cc_service, b.start_opt from bsth_c_s_sp_info_real a left join (select line, start_opt from bsth_c_line_config order by id desc) b on a.xl_bm = b.line" | 1488 | + + " a.cc_service, a.remarks, a.adjust_exps, b.start_opt from bsth_c_s_sp_info_real a left join (select line, start_opt from bsth_c_line_config order by id desc) b on a.xl_bm = b.line" |
| 1489 | + " where schedule_date_str >= '"+startDate+"' and schedule_date_str <= '"+endDate+"'" | 1489 | + " where schedule_date_str >= '"+startDate+"' and schedule_date_str <= '"+endDate+"'" |
| 1490 | + " and bc_type != 'in' and bc_type != 'out' and bc_type != 'ldks' and bc_type != 'region'"; | 1490 | + " and bc_type != 'in' and bc_type != 'out' and bc_type != 'ldks' and bc_type != 'region'"; |
| 1491 | if(line.length() != 0) | 1491 | if(line.length() != 0) |
| @@ -1512,6 +1512,8 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | @@ -1512,6 +1512,8 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | ||
| 1512 | schedule.setGsName(rs.getString("gs_name")); | 1512 | schedule.setGsName(rs.getString("gs_name")); |
| 1513 | schedule.setFgsName(rs.getString("fgs_name")); | 1513 | schedule.setFgsName(rs.getString("fgs_name")); |
| 1514 | schedule.setCcService(rs.getBoolean("cc_service")); | 1514 | schedule.setCcService(rs.getBoolean("cc_service")); |
| 1515 | + schedule.setRemarks(rs.getString("remarks")!=null?rs.getString("remarks"):""); | ||
| 1516 | + schedule.setAdjustExps(rs.getString("adjust_exps")!=null?rs.getString("adjust_exps"):""); | ||
| 1515 | 1517 | ||
| 1516 | int startOpt = 0; | 1518 | int startOpt = 0; |
| 1517 | if(rs.getString("start_opt") != null && rs.getString("start_opt").trim().length() != 0){ | 1519 | if(rs.getString("start_opt") != null && rs.getString("start_opt").trim().length() != 0){ |
| @@ -1569,6 +1571,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | @@ -1569,6 +1571,7 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | ||
| 1569 | subCompanyName = s.getFgsName(); | 1571 | subCompanyName = s.getFgsName(); |
| 1570 | } | 1572 | } |
| 1571 | 1573 | ||
| 1574 | + List<Map<String, Object>> mapList = new ArrayList<Map<String, Object>>(); | ||
| 1572 | for(String xlName : keyMap.keySet()){ | 1575 | for(String xlName : keyMap.keySet()){ |
| 1573 | List<Map<String, Object>> tempList = new ArrayList<Map<String,Object>>(); | 1576 | List<Map<String, Object>> tempList = new ArrayList<Map<String,Object>>(); |
| 1574 | Map<String, Object> tempMap = new HashMap<String, Object>(); | 1577 | Map<String, Object> tempMap = new HashMap<String, Object>(); |
| @@ -1630,10 +1633,38 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | @@ -1630,10 +1633,38 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | ||
| 1630 | temp.put("sjfcLast0", s4.getFcsjActual()); | 1633 | temp.put("sjfcLast0", s4.getFcsjActual()); |
| 1631 | temp.put("delayLast0", delayLast0>0?"+"+delayLast0:delayLast0); | 1634 | temp.put("delayLast0", delayLast0>0?"+"+delayLast0:delayLast0); |
| 1632 | jhbc += 2; | 1635 | jhbc += 2; |
| 1633 | - if(delayFirst0 <= 1l && delayFirst0 >= -3l) | 1636 | + if(delayFirst0 <= 1l && delayFirst0 >= -3l){ |
| 1634 | sjbc++; | 1637 | sjbc++; |
| 1635 | - if(delayLast0 <= 1l && delayLast0 >= -3l) | 1638 | + } else { |
| 1639 | + Map<String, Object> m = new HashMap<String, Object>(); | ||
| 1640 | + m.put("date", date.substring(5)); | ||
| 1641 | + m.put("line", xlName); | ||
| 1642 | + m.put("firstOrLast", "上行首发"); | ||
| 1643 | + m.put("qdz", s1.getQdzName()); | ||
| 1644 | + m.put("jhfc", s1.getFcsj()); | ||
| 1645 | + m.put("sjfc", s2.getFcsjActual()); | ||
| 1646 | + m.put("delay", delayFirst0>0?"+"+delayFirst0:delayFirst0); | ||
| 1647 | + m.put("remarks1", s1.getRemarks()); | ||
| 1648 | + m.put("remarks2", s2.getRemarks()); | ||
| 1649 | + m.put("remarks", s1.getRemarks() + s2.getRemarks()); | ||
| 1650 | + mapList.add(m); | ||
| 1651 | + } | ||
| 1652 | + if(delayLast0 <= 1l && delayLast0 >= -3l){ | ||
| 1636 | sjbc++; | 1653 | sjbc++; |
| 1654 | + } else { | ||
| 1655 | + Map<String, Object> m = new HashMap<String, Object>(); | ||
| 1656 | + m.put("date", date.substring(5)); | ||
| 1657 | + m.put("line", xlName); | ||
| 1658 | + m.put("firstOrLast", "上行末发"); | ||
| 1659 | + m.put("qdz", s3.getQdzName()); | ||
| 1660 | + m.put("jhfc", s3.getFcsj()); | ||
| 1661 | + m.put("sjfc", s4.getFcsjActual()); | ||
| 1662 | + m.put("delay", delayLast0>0?"+"+delayLast0:delayLast0); | ||
| 1663 | + m.put("remarks1", s3.getRemarks()); | ||
| 1664 | + m.put("remarks2", s4.getRemarks()); | ||
| 1665 | + m.put("remarks", s3.getRemarks() + s4.getRemarks()); | ||
| 1666 | + mapList.add(m); | ||
| 1667 | + } | ||
| 1637 | } else { | 1668 | } else { |
| 1638 | temp.put("qdzFirst0", "--"); | 1669 | temp.put("qdzFirst0", "--"); |
| 1639 | temp.put("jhfcFirst0", "/"); | 1670 | temp.put("jhfcFirst0", "/"); |
| @@ -1662,10 +1693,40 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | @@ -1662,10 +1693,40 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | ||
| 1662 | temp.put("sjfcLast1", s4.getFcsjActual()); | 1693 | temp.put("sjfcLast1", s4.getFcsjActual()); |
| 1663 | temp.put("delayLast1", delayLast1>0?"+"+delayLast1:delayLast1); | 1694 | temp.put("delayLast1", delayLast1>0?"+"+delayLast1:delayLast1); |
| 1664 | jhbc += 2; | 1695 | jhbc += 2; |
| 1665 | - if(delayFirst1 <= 1l && delayFirst1 >= -3l) | 1696 | + if(delayFirst1 <= 1l && delayFirst1 >= -2l){ |
| 1666 | sjbc++; | 1697 | sjbc++; |
| 1667 | - if(delayLast1 <= 1l && delayLast1 >= -3l) | 1698 | + } else { |
| 1699 | + Map<String, Object> m = new HashMap<String, Object>(); | ||
| 1700 | + m.put("date", date.substring(5)); | ||
| 1701 | + m.put("line", xlName); | ||
| 1702 | + m.put("firstOrLast", "下行首发"); | ||
| 1703 | + m.put("qdz", s1.getQdzName()); | ||
| 1704 | + m.put("jhfc", s1.getFcsj()); | ||
| 1705 | + m.put("sjfc", s2.getFcsjActual()); | ||
| 1706 | + m.put("delay", delayFirst1>0?"+"+delayFirst1:delayFirst1); | ||
| 1707 | + m.put("remarks1", s1.getRemarks()); | ||
| 1708 | + m.put("remarks2", s2.getRemarks()); | ||
| 1709 | + m.put("remarks", s1.getRemarks() + s2.getAdjustExps()); | ||
| 1710 | + mapList.add(m); | ||
| 1711 | + } | ||
| 1712 | + | ||
| 1713 | + if(delayLast1 <= 1l && delayLast1 >= -2l){ | ||
| 1668 | sjbc++; | 1714 | sjbc++; |
| 1715 | + } else { | ||
| 1716 | + Map<String, Object> m = new HashMap<String, Object>(); | ||
| 1717 | + m.put("date", date.substring(5)); | ||
| 1718 | + m.put("line", xlName); | ||
| 1719 | + m.put("firstOrLast", "下行末发"); | ||
| 1720 | + m.put("qdz", s3.getQdzName()); | ||
| 1721 | + m.put("jhfc", s3.getFcsj()); | ||
| 1722 | + m.put("sjfc", s4.getFcsjActual()); | ||
| 1723 | + m.put("delay", delayLast1>0?"+"+delayLast1:delayLast1); | ||
| 1724 | + m.put("remarks1", s3.getRemarks()); | ||
| 1725 | + m.put("remarks2", s4.getRemarks()); | ||
| 1726 | + m.put("remarks", s3.getRemarks() + s4.getRemarks()); | ||
| 1727 | + mapList.add(m); | ||
| 1728 | + } | ||
| 1729 | + | ||
| 1669 | } else { | 1730 | } else { |
| 1670 | temp.put("qdzFirst1", "--"); | 1731 | temp.put("qdzFirst1", "--"); |
| 1671 | temp.put("jhfcFirst1", "/"); | 1732 | temp.put("jhfcFirst1", "/"); |
| @@ -1692,14 +1753,20 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | @@ -1692,14 +1753,20 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { | ||
| 1692 | Map<String, Object> tempMap = new HashMap<String, Object>(); | 1753 | Map<String, Object> tempMap = new HashMap<String, Object>(); |
| 1693 | if(resList.size() > 0){ | 1754 | if(resList.size() > 0){ |
| 1694 | tempMap.put("date", "合计汇总"); | 1755 | tempMap.put("date", "合计汇总"); |
| 1695 | - int jhbc = 0, sjbc = 0; | 1756 | + int jhbc = 0, sjbc = 0, i = 0; |
| 1696 | for(Map<String, Object> m : resList){ | 1757 | for(Map<String, Object> m : resList){ |
| 1697 | jhbc += Integer.valueOf(m.get("jhbc").toString()); | 1758 | jhbc += Integer.valueOf(m.get("jhbc").toString()); |
| 1698 | sjbc += Integer.valueOf(m.get("sjbc").toString()); | 1759 | sjbc += Integer.valueOf(m.get("sjbc").toString()); |
| 1699 | } | 1760 | } |
| 1700 | tempMap.put("jhbc", jhbc); | 1761 | tempMap.put("jhbc", jhbc); |
| 1701 | tempMap.put("sjbc", sjbc); | 1762 | tempMap.put("sjbc", sjbc); |
| 1702 | - tempMap.put("zdl", nf.format((float) sjbc / jhbc *100) + "%"); | 1763 | + tempMap.put("zdl", nf.format((float) sjbc / jhbc * 100) + "%"); |
| 1764 | + for(Map<String, Object> m : mapList){ | ||
| 1765 | + m.put("no", ++i); | ||
| 1766 | + m.put("company", companyName); | ||
| 1767 | + m.put("subCompany", subCompanyName); | ||
| 1768 | + } | ||
| 1769 | + tempMap.put("map", mapList); | ||
| 1703 | if(!type.equals("export")) | 1770 | if(!type.equals("export")) |
| 1704 | resList.add(tempMap); | 1771 | resList.add(tempMap); |
| 1705 | } | 1772 | } |
src/main/java/com/bsth/service/schedule/impl/TTInfoDetailServiceImpl.java
| @@ -146,7 +146,7 @@ public class TTInfoDetailServiceImpl extends BServiceImpl<TTInfoDetail, Long> im | @@ -146,7 +146,7 @@ public class TTInfoDetailServiceImpl extends BServiceImpl<TTInfoDetail, Long> im | ||
| 146 | } | 146 | } |
| 147 | 147 | ||
| 148 | @Override | 148 | @Override |
| 149 | - public void validateExcelSheet(String filename, String sheetname, Integer lineid, String linename, Integer zdlyversion) throws ScheduleException { | 149 | + public void validateExcelSheet(String filename, String sheetname, Integer lineid, String linename, Integer lineversion) throws ScheduleException { |
| 150 | try { | 150 | try { |
| 151 | File file = new File(filename); | 151 | File file = new File(filename); |
| 152 | Workbook workbook; | 152 | Workbook workbook; |
| @@ -178,7 +178,10 @@ public class TTInfoDetailServiceImpl extends BServiceImpl<TTInfoDetail, Long> im | @@ -178,7 +178,10 @@ public class TTInfoDetailServiceImpl extends BServiceImpl<TTInfoDetail, Long> im | ||
| 178 | } else { | 178 | } else { |
| 179 | // 正则表达式去除右侧数字 | 179 | // 正则表达式去除右侧数字 |
| 180 | // cell_con = cell_con.replaceAll("[\\d+]", ""); | 180 | // cell_con = cell_con.replaceAll("[\\d+]", ""); |
| 181 | - cell_con = cell_con.replaceAll("(\\d+)$", ""); | 181 | +// cell_con = cell_con.replaceAll("(\\d+)$", ""); |
| 182 | + | ||
| 183 | + // 如果站名中有类似->{数字},使用正则表达式过滤掉 | ||
| 184 | + cell_con = cell_con.replaceAll("(->\\d+)", ""); | ||
| 182 | 185 | ||
| 183 | if (i == 0) { // 第一列必须是路牌2个字 | 186 | if (i == 0) { // 第一列必须是路牌2个字 |
| 184 | if (!"路牌".equals(cell_con.trim())) { | 187 | if (!"路牌".equals(cell_con.trim())) { |
| @@ -189,35 +192,20 @@ public class TTInfoDetailServiceImpl extends BServiceImpl<TTInfoDetail, Long> im | @@ -189,35 +192,20 @@ public class TTInfoDetailServiceImpl extends BServiceImpl<TTInfoDetail, Long> im | ||
| 189 | (!"进场".equals(cell_con.trim()))) { | 192 | (!"进场".equals(cell_con.trim()))) { |
| 190 | Map<String, Object> p1 = new HashMap<>(); | 193 | Map<String, Object> p1 = new HashMap<>(); |
| 191 | p1.put("line.id_eq", lineid); | 194 | p1.put("line.id_eq", lineid); |
| 192 | - p1.put("stationName_like", cell_con.trim() + "%"); // 使用模糊匹配 | ||
| 193 | - p1.put("stationMark_eq", "B"); | 195 | + p1.put("stationName_eq", cell_con.trim()); |
| 196 | + p1.put("stationMark_eq", "B"); // 起点站 | ||
| 194 | p1.put("destroy_eq", 0); // 未撤销 | 197 | p1.put("destroy_eq", 0); // 未撤销 |
| 195 | - | ||
| 196 | - | ||
| 197 | - // TODO:这里要修改(起点站有启用撤销的标志的) | ||
| 198 | - | ||
| 199 | - if (zdlyversion == null) { | ||
| 200 | - List<StationRoute> stationRouteList = (List<StationRoute>) stationRouteService.list(p1); | ||
| 201 | - if (CollectionUtils.isEmpty(stationRouteList)) { | ||
| 202 | - throw new Exception(String.format("第1行,第%d列数据%s在%s站点路由中不是起点站", i + 1, cell_con.trim(), linename)); | ||
| 203 | - } else if (stationRouteList.size() > 1) { | ||
| 204 | - throw new Exception(String.format("第1行,第%d列数据%s在%s站点路由中上下行都是起点站", i + 1, cell_con.trim(), linename)); | ||
| 205 | - } else if (StringUtils.isEmpty(stationRouteList.get(0).getStationCode())) { | ||
| 206 | - throw new Exception(String.format("第1行,第%d列数据%s在%s站点路由中没有站点编码", i + 1, cell_con.trim(), linename)); | ||
| 207 | - } | ||
| 208 | - } else { | ||
| 209 | - p1.put("versions_eq", zdlyversion); | ||
| 210 | - List<LsStationRoute> lsStationRoutes = (List<LsStationRoute>) stationRouteService.list_ls(p1); | ||
| 211 | - if (CollectionUtils.isEmpty(lsStationRoutes)) { | ||
| 212 | - throw new Exception(String.format("第1行,第%d列数据%s在%s站点路由中不是起点站", i + 1, cell_con.trim(), linename)); | ||
| 213 | - } else if (lsStationRoutes.size() > 1) { | ||
| 214 | - throw new Exception(String.format("第1行,第%d列数据%s在%s站点路由中上下行都是起点站", i + 1, cell_con.trim(), linename)); | ||
| 215 | - } else if (StringUtils.isEmpty(lsStationRoutes.get(0).getStationCode())) { | ||
| 216 | - throw new Exception(String.format("第1行,第%d列数据%s在%s站点路由中没有站点编码", i + 1, cell_con.trim(), linename)); | ||
| 217 | - } | 198 | + p1.put("versions_eq", lineversion); // 带线路版本 |
| 199 | + | ||
| 200 | + List<LsStationRoute> lsStationRoutes = (List<LsStationRoute>) stationRouteService.list_ls(p1); | ||
| 201 | + if (CollectionUtils.isEmpty(lsStationRoutes)) { | ||
| 202 | + throw new Exception(String.format("第1行,第%d列数据%s在%s站点路由中不是起点站", i + 1, cell_con.trim(), linename)); | ||
| 203 | + } else if (lsStationRoutes.size() > 1) { | ||
| 204 | + throw new Exception(String.format("第1行,第%d列数据%s在%s站点路由中上下行都是起点站", i + 1, cell_con.trim(), linename)); | ||
| 205 | + } else if (StringUtils.isEmpty(lsStationRoutes.get(0).getStationCode())) { | ||
| 206 | + throw new Exception(String.format("第1行,第%d列数据%s在%s站点路由中没有站点编码", i + 1, cell_con.trim(), linename)); | ||
| 218 | } | 207 | } |
| 219 | 208 | ||
| 220 | - | ||
| 221 | } | 209 | } |
| 222 | 210 | ||
| 223 | } | 211 | } |
src/main/java/com/bsth/service/schedule/impl/TTInfoServiceImpl.java
| 1 | package com.bsth.service.schedule.impl; | 1 | package com.bsth.service.schedule.impl; |
| 2 | 2 | ||
| 3 | -import com.bsth.entity.LineVersions; | ||
| 4 | import com.bsth.entity.schedule.TTInfo; | 3 | import com.bsth.entity.schedule.TTInfo; |
| 5 | import com.bsth.entity.schedule.TTInfoBackup; | 4 | import com.bsth.entity.schedule.TTInfoBackup; |
| 6 | import com.bsth.entity.schedule.TTInfoDetail; | 5 | import com.bsth.entity.schedule.TTInfoDetail; |
| 7 | import com.bsth.repository.schedule.TTInfoBackupRepository; | 6 | import com.bsth.repository.schedule.TTInfoBackupRepository; |
| 8 | import com.bsth.repository.schedule.TTInfoDetailRepository; | 7 | import com.bsth.repository.schedule.TTInfoDetailRepository; |
| 9 | import com.bsth.repository.schedule.TTInfoRepository; | 8 | import com.bsth.repository.schedule.TTInfoRepository; |
| 10 | -import com.bsth.service.LineVersionsService; | ||
| 11 | import com.bsth.service.schedule.TTInfoService; | 9 | import com.bsth.service.schedule.TTInfoService; |
| 12 | import com.bsth.service.schedule.exception.ScheduleException; | 10 | import com.bsth.service.schedule.exception.ScheduleException; |
| 13 | import com.bsth.service.schedule.utils.TimeTableProto; | 11 | import com.bsth.service.schedule.utils.TimeTableProto; |
| @@ -24,6 +22,7 @@ import org.springframework.util.CollectionUtils; | @@ -24,6 +22,7 @@ import org.springframework.util.CollectionUtils; | ||
| 24 | 22 | ||
| 25 | import java.io.PrintWriter; | 23 | import java.io.PrintWriter; |
| 26 | import java.io.StringWriter; | 24 | import java.io.StringWriter; |
| 25 | +import java.sql.Timestamp; | ||
| 27 | import java.util.*; | 26 | import java.util.*; |
| 28 | 27 | ||
| 29 | /** | 28 | /** |
| @@ -40,8 +39,6 @@ public class TTInfoServiceImpl extends BServiceImpl<TTInfo, Long> implements TTI | @@ -40,8 +39,6 @@ public class TTInfoServiceImpl extends BServiceImpl<TTInfo, Long> implements TTI | ||
| 40 | private TTInfoDetailRepository ttInfoDetailRepository; | 39 | private TTInfoDetailRepository ttInfoDetailRepository; |
| 41 | @Autowired | 40 | @Autowired |
| 42 | private TTInfoBackupRepository ttInfoBackupRepository; | 41 | private TTInfoBackupRepository ttInfoBackupRepository; |
| 43 | - @Autowired | ||
| 44 | - private LineVersionsService lineVersionsService; | ||
| 45 | 42 | ||
| 46 | @Override | 43 | @Override |
| 47 | public void validate_name(TTInfo ttInfo) throws ScheduleException { | 44 | public void validate_name(TTInfo ttInfo) throws ScheduleException { |
| @@ -140,15 +137,18 @@ public class TTInfoServiceImpl extends BServiceImpl<TTInfo, Long> implements TTI | @@ -140,15 +137,18 @@ public class TTInfoServiceImpl extends BServiceImpl<TTInfo, Long> implements TTI | ||
| 140 | 137 | ||
| 141 | @Override | 138 | @Override |
| 142 | public List<Map<String, Object>> getLineStationRouteVersions(Integer lineId) { | 139 | public List<Map<String, Object>> getLineStationRouteVersions(Integer lineId) { |
| 143 | - // 获取线路版本 | ||
| 144 | - List<LineVersions> lineVersionsList = lineVersionsService.findByLineCode(lineId); | 140 | + // 获取线路版本数据 |
| 141 | + List<Map<String, Object>> lineVersionDescs = ttInfoRepository.findLineVersionDescs(lineId); | ||
| 145 | // 按照version版本降序排序 | 142 | // 按照version版本降序排序 |
| 146 | - Collections.sort(lineVersionsList, new Comparator<LineVersions>() { | 143 | + Collections.sort(lineVersionDescs, new Comparator<Map<String, Object>>() { |
| 147 | @Override | 144 | @Override |
| 148 | - public int compare(LineVersions o1, LineVersions o2) { | ||
| 149 | - if (o1.getVersions() > o2.getVersions()) { | 145 | + public int compare(Map<String, Object> o1, Map<String, Object> o2) { |
| 146 | + int o1_v = Integer.parseInt(o1.get("version").toString()); | ||
| 147 | + int o2_v = Integer.parseInt(o2.get("version").toString()); | ||
| 148 | + | ||
| 149 | + if (o1_v > o2_v) { | ||
| 150 | return -1; | 150 | return -1; |
| 151 | - } else if (o1.getVersions() < o2.getVersions()) { | 151 | + } else if (o1_v < o2_v) { |
| 152 | return 1; | 152 | return 1; |
| 153 | } else { | 153 | } else { |
| 154 | return 0; | 154 | return 0; |
| @@ -158,14 +158,19 @@ public class TTInfoServiceImpl extends BServiceImpl<TTInfo, Long> implements TTI | @@ -158,14 +158,19 @@ public class TTInfoServiceImpl extends BServiceImpl<TTInfo, Long> implements TTI | ||
| 158 | 158 | ||
| 159 | // 取最开始的2条记录 | 159 | // 取最开始的2条记录 |
| 160 | List<Map<String, Object>> mapList = new ArrayList<>(); | 160 | List<Map<String, Object>> mapList = new ArrayList<>(); |
| 161 | - for (LineVersions lv: lineVersionsList) { | ||
| 162 | - String vname = lv.getName(); | ||
| 163 | - String rq = lv.getStartDate() == null ? "未知启用日期" : new DateTime(lv.getStartDate()).toString("YYYY年MM月dd日"); | ||
| 164 | - String sdesc = lv.getStatus() == 0 ? "历史" : (lv.getStatus() == 1 ? "当前" : "待更新"); | 161 | + for (Map<String, Object> lv: lineVersionDescs) { |
| 162 | + String t_name = (String) lv.get("name"); | ||
| 163 | + Timestamp t_sd = (Timestamp) lv.get("sd"); | ||
| 164 | + int status = Integer.parseInt(lv.get("status").toString()); | ||
| 165 | + int version = Integer.parseInt(lv.get("version").toString()); | ||
| 166 | + | ||
| 167 | + String vname = t_name; | ||
| 168 | + String rq = t_sd == null ? "未知启用日期" : new DateTime(t_sd).toString("YYYY年MM月dd日"); | ||
| 169 | + String sdesc = status == 0 ? "历史" : (status == 1 ? "当前" : "待更新"); | ||
| 165 | 170 | ||
| 166 | Map<String, Object> value = new HashMap<>(); | 171 | Map<String, Object> value = new HashMap<>(); |
| 167 | value.put("desc", vname + "-" + rq + "-" + sdesc); | 172 | value.put("desc", vname + "-" + rq + "-" + sdesc); |
| 168 | - value.put("version", lv.getVersions()); | 173 | + value.put("version", version); |
| 169 | 174 | ||
| 170 | mapList.add(value); | 175 | mapList.add(value); |
| 171 | 176 | ||
| @@ -180,28 +185,34 @@ public class TTInfoServiceImpl extends BServiceImpl<TTInfo, Long> implements TTI | @@ -180,28 +185,34 @@ public class TTInfoServiceImpl extends BServiceImpl<TTInfo, Long> implements TTI | ||
| 180 | @Override | 185 | @Override |
| 181 | public String getLineVersionDesc(Integer lineId, Integer version) { | 186 | public String getLineVersionDesc(Integer lineId, Integer version) { |
| 182 | // 查找指定版本,并判定 | 187 | // 查找指定版本,并判定 |
| 183 | - Map<String, Object> param = new HashMap<>(); | ||
| 184 | - param.put("line_eq", lineId); | ||
| 185 | - param.put("versions_eq", version); | ||
| 186 | - List<LineVersions> lineVersionsList = (List<LineVersions>) lineVersionsService.list(param); | 188 | + List<Map<String, Object>> lineVersionDescs = ttInfoRepository.findLineVersionDescs2(lineId, version); |
| 187 | 189 | ||
| 188 | - LineVersions lv; | ||
| 189 | - if (CollectionUtils.isEmpty(lineVersionsList)) { | 190 | + Map<String, Object> lv; |
| 191 | + if (CollectionUtils.isEmpty(lineVersionDescs)) { | ||
| 190 | return "未知版本"; | 192 | return "未知版本"; |
| 191 | - } else if (lineVersionsList.size() > 1) { | 193 | + } else if (lineVersionDescs.size() > 1) { |
| 192 | return "重复版本"; | 194 | return "重复版本"; |
| 193 | } else { | 195 | } else { |
| 194 | - lv = lineVersionsList.get(0); | 196 | + lv = lineVersionDescs.get(0); |
| 195 | } | 197 | } |
| 196 | 198 | ||
| 197 | - String vname = lv.getName(); | ||
| 198 | - String rq = lv.getStartDate() == null ? "未知启用日期" : new DateTime(lv.getStartDate()).toString("YYYY年MM月dd日"); | ||
| 199 | - String sdesc = lv.getStatus() == 0 ? "历史" : (lv.getStatus() == 1 ? "当前" : "待更新"); | 199 | + String t_name = (String) lv.get("name"); |
| 200 | + Timestamp t_sd = (Timestamp) lv.get("sd"); | ||
| 201 | + int status = Integer.parseInt(lv.get("status").toString()); | ||
| 202 | + | ||
| 203 | + String vname = t_name; | ||
| 204 | + String rq = t_sd == null ? "未知启用日期" : new DateTime(t_sd).toString("YYYY年MM月dd日"); | ||
| 205 | + String sdesc = status == 0 ? "历史" : (status == 1 ? "当前" : "待更新"); | ||
| 200 | 206 | ||
| 201 | return String.format("%s-%s-%s", vname, rq, sdesc); | 207 | return String.format("%s-%s-%s", vname, rq, sdesc); |
| 202 | } | 208 | } |
| 203 | 209 | ||
| 204 | @Override | 210 | @Override |
| 211 | + public List<Map<String, Object>> getLineVersions(Integer lineId, Integer status) { | ||
| 212 | + return ttInfoRepository.findLineVersionDescs3(lineId, status); | ||
| 213 | + } | ||
| 214 | + | ||
| 215 | + @Override | ||
| 205 | @Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.REPEATABLE_READ) | 216 | @Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.REPEATABLE_READ) |
| 206 | public void backUp(Long ttInfoId) throws ScheduleException { | 217 | public void backUp(Long ttInfoId) throws ScheduleException { |
| 207 | LOG.info(">>>>>>开始备份时刻表<<<<<<"); | 218 | LOG.info(">>>>>>开始备份时刻表<<<<<<"); |
src/main/java/com/bsth/service/schedule/utils/DataToolsProperties.java
| @@ -75,12 +75,12 @@ public class DataToolsProperties { | @@ -75,12 +75,12 @@ public class DataToolsProperties { | ||
| 75 | /** 时刻表明细信息导入 */ | 75 | /** 时刻表明细信息导入 */ |
| 76 | @NotNull | 76 | @NotNull |
| 77 | private String ttinfodetailDatainputktr; | 77 | private String ttinfodetailDatainputktr; |
| 78 | - /** 时刻表明细信息导入 */ | 78 | + /** 时刻表明细信息导入2 */ |
| 79 | @NotNull | 79 | @NotNull |
| 80 | private String ttinfodetailDatainputktr2; | 80 | private String ttinfodetailDatainputktr2; |
| 81 | - /** 时刻表明细信息导入 */ | 81 | + /** 时刻表明细信息导入2(带版本) */ |
| 82 | @NotNull | 82 | @NotNull |
| 83 | - private String ttinfodetailDatainputktr2ls; | 83 | + private String ttinfodetailDatainputktr2version; |
| 84 | /** 排班规则信息导入 */ | 84 | /** 排班规则信息导入 */ |
| 85 | @NotNull | 85 | @NotNull |
| 86 | private String scheduleruleDatainputktr; | 86 | private String scheduleruleDatainputktr; |
| @@ -314,12 +314,12 @@ public class DataToolsProperties { | @@ -314,12 +314,12 @@ public class DataToolsProperties { | ||
| 314 | this.carsconfigDataoutputktr = carsconfigDataoutputktr; | 314 | this.carsconfigDataoutputktr = carsconfigDataoutputktr; |
| 315 | } | 315 | } |
| 316 | 316 | ||
| 317 | - public String getTtinfodetailDatainputktr2ls() { | ||
| 318 | - return ttinfodetailDatainputktr2ls; | 317 | + public String getTtinfodetailDatainputktr2version() { |
| 318 | + return ttinfodetailDatainputktr2version; | ||
| 319 | } | 319 | } |
| 320 | 320 | ||
| 321 | - public void setTtinfodetailDatainputktr2ls(String ttinfodetailDatainputktr2ls) { | ||
| 322 | - this.ttinfodetailDatainputktr2ls = ttinfodetailDatainputktr2ls; | 321 | + public void setTtinfodetailDatainputktr2version(String ttinfodetailDatainputktr2version) { |
| 322 | + this.ttinfodetailDatainputktr2version = ttinfodetailDatainputktr2version; | ||
| 323 | } | 323 | } |
| 324 | 324 | ||
| 325 | public String getEmployeesconfigDataoutputktr() { | 325 | public String getEmployeesconfigDataoutputktr() { |
src/main/resources/datatools/config-dev.properties
| @@ -39,8 +39,8 @@ datatools.ttinfodetail_foreditktr=/datatools/ktrs/ttinfodetailoutputforedit.ktr | @@ -39,8 +39,8 @@ datatools.ttinfodetail_foreditktr=/datatools/ktrs/ttinfodetailoutputforedit.ktr | ||
| 39 | datatools.ttinfodetail_datainputktr=/datatools/ktrs/ttinfodetailDataInput.ktr | 39 | datatools.ttinfodetail_datainputktr=/datatools/ktrs/ttinfodetailDataInput.ktr |
| 40 | # 时刻表明细信息导入2 | 40 | # 时刻表明细信息导入2 |
| 41 | datatools.ttinfodetail_datainputktr2=/datatools/ktrs/ttinfodetailDataInput2.ktr | 41 | datatools.ttinfodetail_datainputktr2=/datatools/ktrs/ttinfodetailDataInput2.ktr |
| 42 | -# 时刻表明细信息导入2_ls | ||
| 43 | -datatools.ttinfodetail_datainputktr2ls=/datatools/ktrs/ttinfodetailDataInput2_ls.ktr | 42 | +# 时刻表明细信息导入2(版本化) |
| 43 | +datatools.ttinfodetail_datainputktr2version=/datatools/ktrs/ttinfodetailDataInput2_version.ktr | ||
| 44 | 44 | ||
| 45 | # 车辆配置信息导入 | 45 | # 车辆配置信息导入 |
| 46 | datatools.carsconfig_datainputktr=/datatools/ktrs/carsConfigDataInput.ktr | 46 | datatools.carsconfig_datainputktr=/datatools/ktrs/carsConfigDataInput.ktr |
src/main/resources/datatools/config-prod.properties
| @@ -40,8 +40,8 @@ datatools.ttinfodetail_foreditktr=/datatools/ktrs/ttinfodetailoutputforedit.ktr | @@ -40,8 +40,8 @@ datatools.ttinfodetail_foreditktr=/datatools/ktrs/ttinfodetailoutputforedit.ktr | ||
| 40 | datatools.ttinfodetail_datainputktr=/datatools/ktrs/ttinfodetailDataInput.ktr | 40 | datatools.ttinfodetail_datainputktr=/datatools/ktrs/ttinfodetailDataInput.ktr |
| 41 | # 时刻表明细信息导入2 | 41 | # 时刻表明细信息导入2 |
| 42 | datatools.ttinfodetail_datainputktr2=/datatools/ktrs/ttinfodetailDataInput2.ktr | 42 | datatools.ttinfodetail_datainputktr2=/datatools/ktrs/ttinfodetailDataInput2.ktr |
| 43 | -# 时刻表明细信息导入2_ls | ||
| 44 | -datatools.ttinfodetail_datainputktr2ls=/datatools/ktrs/ttinfodetailDataInput2_ls.ktr | 43 | +# 时刻表明细信息导入2(版本化) |
| 44 | +datatools.ttinfodetail_datainputktr2version=/datatools/ktrs/ttinfodetailDataInput2_version.ktr | ||
| 45 | 45 | ||
| 46 | # 车辆配置信息导入 | 46 | # 车辆配置信息导入 |
| 47 | datatools.carsconfig_datainputktr=/datatools/ktrs/carsConfigDataInput.ktr | 47 | datatools.carsconfig_datainputktr=/datatools/ktrs/carsConfigDataInput.ktr |
src/main/resources/datatools/ktrs/ttinfodetailDataInput2_ls.ktr renamed to src/main/resources/datatools/ktrs/ttinfodetailDataInput2_version.ktr
| @@ -416,6 +416,7 @@ | @@ -416,6 +416,7 @@ | ||
| 416 | <hop> <from>类型修正 3</from><to>插入/更新bsth_c_s_ttinfo_detail 3</to><enabled>Y</enabled> </hop> | 416 | <hop> <from>类型修正 3</from><to>插入/更新bsth_c_s_ttinfo_detail 3</to><enabled>Y</enabled> </hop> |
| 417 | <hop> <from>查找路牌关联</from><to>站点路由版本类型</to><enabled>Y</enabled> </hop> | 417 | <hop> <from>查找路牌关联</from><to>站点路由版本类型</to><enabled>Y</enabled> </hop> |
| 418 | <hop> <from>站点路由版本类型</from><to>计算班次类型</to><enabled>Y</enabled> </hop> | 418 | <hop> <from>站点路由版本类型</from><to>计算班次类型</to><enabled>Y</enabled> </hop> |
| 419 | + <hop> <from>站点路由版本类型</from><to>更新时刻表主表版本</to><enabled>Y</enabled> </hop> | ||
| 419 | </order> | 420 | </order> |
| 420 | <step> | 421 | <step> |
| 421 | <name>上下行NULL判定</name> | 422 | <name>上下行NULL判定</name> |
| @@ -829,7 +830,7 @@ | @@ -829,7 +830,7 @@ | ||
| 829 | <optimizationLevel>9</optimizationLevel> | 830 | <optimizationLevel>9</optimizationLevel> |
| 830 | <jsScripts> <jsScript> <jsScript_type>0</jsScript_type> | 831 | <jsScripts> <jsScript> <jsScript_type>0</jsScript_type> |
| 831 | <jsScript_name>Script 1</jsScript_name> | 832 | <jsScript_name>Script 1</jsScript_name> |
| 832 | - <jsScript_script>//Script here

// 使用正则表达式去除站点名称右侧多余的数字
qdzname = qdzname.replace(/(\d+$)/g,'');
if (qdzname != "出场" && qdzname != "进场") {
 qdzname = qdzname + "%"; // 模糊匹配标识符
}

// sendtime处理,hhmm,hh:mm,hh,mm
var sendtime_calcu = sendtime.replace(/\s/g, "");
if (sendtime.length == 5) { // 最长格式,包括分隔符,统一把分隔符替换成冒号
 sendtime_calcu = sendtime.substr(0, 2) + ":" + sendtime.substr(3, 2);
} else if (sendtime.length == 4) {
 if (sendtime.indexOf(":") > 0) { // 冒号分隔,无需修改
 sendtime_calcu = sendtime;
 } else if (sendtime.indexOf(",") > 0) { // 逗号分隔,改成冒号分隔
 sendtime_calcu = sendtime.substr(0, 1) + ":" + sendtime.substr(2, 2);
 } else { // 无分隔符,改成冒号分隔
 sendtime_calcu = sendtime.substr(0, 2) + ":" + sendtime.substr(2, 2);
 }
} else if (sendtime.length == 3) { // 无分隔符,改成冒号分隔
 sendtime_calcu = sendtime.substr(0, 1) + ":" + sendtime.substr(1, 2);
}

// 全部修正完毕后,如果长度不是5,前面补0
if (sendtime_calcu.length != 5) {
 sendtime_calcu = "0" + sendtime_calcu;
}

// 设置分班
var isfb = 0;

// 设置停驶
var ists = 0;

// 设置isCanceled
var iscanceled = 0;</jsScript_script> | 833 | + <jsScript_script>//Script here

// 如果站名中有类似->{数字},使用正则表达式过滤掉
qdzname = qdzname.replace(/->\d+/g,'');
if (qdzname != "出场" && qdzname != "进场") {
 qdzname = qdzname + "%"; // 模糊匹配标识符
}

// sendtime处理,hhmm,hh:mm,hh,mm
var sendtime_calcu = sendtime.replace(/\s/g, "");
if (sendtime.length == 5) { // 最长格式,包括分隔符,统一把分隔符替换成冒号
 sendtime_calcu = sendtime.substr(0, 2) + ":" + sendtime.substr(3, 2);
} else if (sendtime.length == 4) {
 if (sendtime.indexOf(":") > 0) { // 冒号分隔,无需修改
 sendtime_calcu = sendtime;
 } else if (sendtime.indexOf(",") > 0) { // 逗号分隔,改成冒号分隔
 sendtime_calcu = sendtime.substr(0, 1) + ":" + sendtime.substr(2, 2);
 } else { // 无分隔符,改成冒号分隔
 sendtime_calcu = sendtime.substr(0, 2) + ":" + sendtime.substr(2, 2);
 }
} else if (sendtime.length == 3) { // 无分隔符,改成冒号分隔
 sendtime_calcu = sendtime.substr(0, 1) + ":" + sendtime.substr(1, 2);
}

// 全部修正完毕后,如果长度不是5,前面补0
if (sendtime_calcu.length != 5) {
 sendtime_calcu = "0" + sendtime_calcu;
}

// 设置分班
var isfb = 0;

// 设置停驶
var ists = 0;

// 设置isCanceled
var iscanceled = 0;</jsScript_script> |
| 833 | </jsScript> </jsScripts> <fields> <field> <name>qdzname</name> | 834 | </jsScript> </jsScripts> <fields> <field> <name>qdzname</name> |
| 834 | <rename>qdzname</rename> | 835 | <rename>qdzname</rename> |
| 835 | <type>String</type> | 836 | <type>String</type> |
| @@ -1095,6 +1096,11 @@ | @@ -1095,6 +1096,11 @@ | ||
| 1095 | <rename>ists</rename> | 1096 | <rename>ists</rename> |
| 1096 | <update>Y</update> | 1097 | <update>Y</update> |
| 1097 | </value> | 1098 | </value> |
| 1099 | + <value> | ||
| 1100 | + <name>line_version</name> | ||
| 1101 | + <rename>version</rename> | ||
| 1102 | + <update>Y</update> | ||
| 1103 | + </value> | ||
| 1098 | </lookup> | 1104 | </lookup> |
| 1099 | <cluster_schema/> | 1105 | <cluster_schema/> |
| 1100 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | 1106 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> |
| @@ -1241,6 +1247,11 @@ | @@ -1241,6 +1247,11 @@ | ||
| 1241 | <rename>ists</rename> | 1247 | <rename>ists</rename> |
| 1242 | <update>Y</update> | 1248 | <update>Y</update> |
| 1243 | </value> | 1249 | </value> |
| 1250 | + <value> | ||
| 1251 | + <name>line_version</name> | ||
| 1252 | + <rename>version</rename> | ||
| 1253 | + <update>Y</update> | ||
| 1254 | + </value> | ||
| 1244 | </lookup> | 1255 | </lookup> |
| 1245 | <cluster_schema/> | 1256 | <cluster_schema/> |
| 1246 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | 1257 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> |
| @@ -1387,6 +1398,11 @@ | @@ -1387,6 +1398,11 @@ | ||
| 1387 | <rename>ists</rename> | 1398 | <rename>ists</rename> |
| 1388 | <update>Y</update> | 1399 | <update>Y</update> |
| 1389 | </value> | 1400 | </value> |
| 1401 | + <value> | ||
| 1402 | + <name>line_version</name> | ||
| 1403 | + <rename>version</rename> | ||
| 1404 | + <update>Y</update> | ||
| 1405 | + </value> | ||
| 1390 | </lookup> | 1406 | </lookup> |
| 1391 | <cluster_schema/> | 1407 | <cluster_schema/> |
| 1392 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | 1408 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> |
| @@ -1465,6 +1481,45 @@ | @@ -1465,6 +1481,45 @@ | ||
| 1465 | </step> | 1481 | </step> |
| 1466 | 1482 | ||
| 1467 | <step> | 1483 | <step> |
| 1484 | + <name>更新时刻表主表版本</name> | ||
| 1485 | + <type>Update</type> | ||
| 1486 | + <description/> | ||
| 1487 | + <distribute>Y</distribute> | ||
| 1488 | + <custom_distribution/> | ||
| 1489 | + <copies>1</copies> | ||
| 1490 | + <partitioning> | ||
| 1491 | + <method>none</method> | ||
| 1492 | + <schema_name/> | ||
| 1493 | + </partitioning> | ||
| 1494 | + <connection>bus_control_variable</connection> | ||
| 1495 | + <skip_lookup>N</skip_lookup> | ||
| 1496 | + <commit>100</commit> | ||
| 1497 | + <use_batch>N</use_batch> | ||
| 1498 | + <error_ignored>N</error_ignored> | ||
| 1499 | + <ignore_flag_field/> | ||
| 1500 | + <lookup> | ||
| 1501 | + <schema/> | ||
| 1502 | + <table>bsth_c_s_ttinfo</table> | ||
| 1503 | + <key> | ||
| 1504 | + <name>ttid</name> | ||
| 1505 | + <field>id</field> | ||
| 1506 | + <condition>=</condition> | ||
| 1507 | + <name2/> | ||
| 1508 | + </key> | ||
| 1509 | + <value> | ||
| 1510 | + <name>line_version</name> | ||
| 1511 | + <rename>version</rename> | ||
| 1512 | + </value> | ||
| 1513 | + </lookup> | ||
| 1514 | + <cluster_schema/> | ||
| 1515 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 1516 | + <xloc>863</xloc> | ||
| 1517 | + <yloc>338</yloc> | ||
| 1518 | + <draw>Y</draw> | ||
| 1519 | + </GUI> | ||
| 1520 | + </step> | ||
| 1521 | + | ||
| 1522 | + <step> | ||
| 1468 | <name>查找停车场1</name> | 1523 | <name>查找停车场1</name> |
| 1469 | <type>DBLookup</type> | 1524 | <type>DBLookup</type> |
| 1470 | <description/> | 1525 | <description/> |
| @@ -2197,7 +2252,7 @@ | @@ -2197,7 +2252,7 @@ | ||
| 2197 | <cluster_schema/> | 2252 | <cluster_schema/> |
| 2198 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | 2253 | <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> |
| 2199 | <xloc>1013</xloc> | 2254 | <xloc>1013</xloc> |
| 2200 | - <yloc>265</yloc> | 2255 | + <yloc>221</yloc> |
| 2201 | <draw>Y</draw> | 2256 | <draw>Y</draw> |
| 2202 | </GUI> | 2257 | </GUI> |
| 2203 | </step> | 2258 | </step> |
| @@ -2733,6 +2788,41 @@ | @@ -2733,6 +2788,41 @@ | ||
| 2733 | </step> | 2788 | </step> |
| 2734 | 2789 | ||
| 2735 | <step> | 2790 | <step> |
| 2791 | + <name>站点路由版本类型</name> | ||
| 2792 | + <type>SelectValues</type> | ||
| 2793 | + <description/> | ||
| 2794 | + <distribute>N</distribute> | ||
| 2795 | + <custom_distribution/> | ||
| 2796 | + <copies>1</copies> | ||
| 2797 | + <partitioning> | ||
| 2798 | + <method>none</method> | ||
| 2799 | + <schema_name/> | ||
| 2800 | + </partitioning> | ||
| 2801 | + <fields> <select_unspecified>Y</select_unspecified> | ||
| 2802 | + <meta> <name>zdlyversion_</name> | ||
| 2803 | + <rename>version</rename> | ||
| 2804 | + <type>Integer</type> | ||
| 2805 | + <length>-2</length> | ||
| 2806 | + <precision>-2</precision> | ||
| 2807 | + <conversion_mask/> | ||
| 2808 | + <date_format_lenient>false</date_format_lenient> | ||
| 2809 | + <date_format_locale/> | ||
| 2810 | + <date_format_timezone/> | ||
| 2811 | + <lenient_string_to_number>false</lenient_string_to_number> | ||
| 2812 | + <encoding/> | ||
| 2813 | + <decimal_symbol/> | ||
| 2814 | + <grouping_symbol/> | ||
| 2815 | + <currency_symbol/> | ||
| 2816 | + <storage_type/> | ||
| 2817 | + </meta> </fields> <cluster_schema/> | ||
| 2818 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 2819 | + <xloc>1016</xloc> | ||
| 2820 | + <yloc>305</yloc> | ||
| 2821 | + <draw>Y</draw> | ||
| 2822 | + </GUI> | ||
| 2823 | + </step> | ||
| 2824 | + | ||
| 2825 | + <step> | ||
| 2736 | <name>类型修正</name> | 2826 | <name>类型修正</name> |
| 2737 | <type>SelectValues</type> | 2827 | <type>SelectValues</type> |
| 2738 | <description/> | 2828 | <description/> |
| @@ -3071,41 +3161,6 @@ | @@ -3071,41 +3161,6 @@ | ||
| 3071 | </GUI> | 3161 | </GUI> |
| 3072 | </step> | 3162 | </step> |
| 3073 | 3163 | ||
| 3074 | - <step> | ||
| 3075 | - <name>站点路由版本类型</name> | ||
| 3076 | - <type>SelectValues</type> | ||
| 3077 | - <description/> | ||
| 3078 | - <distribute>Y</distribute> | ||
| 3079 | - <custom_distribution/> | ||
| 3080 | - <copies>1</copies> | ||
| 3081 | - <partitioning> | ||
| 3082 | - <method>none</method> | ||
| 3083 | - <schema_name/> | ||
| 3084 | - </partitioning> | ||
| 3085 | - <fields> <select_unspecified>Y</select_unspecified> | ||
| 3086 | - <meta> <name>zdlyversion_</name> | ||
| 3087 | - <rename>version</rename> | ||
| 3088 | - <type>Integer</type> | ||
| 3089 | - <length>-2</length> | ||
| 3090 | - <precision>-2</precision> | ||
| 3091 | - <conversion_mask/> | ||
| 3092 | - <date_format_lenient>false</date_format_lenient> | ||
| 3093 | - <date_format_locale/> | ||
| 3094 | - <date_format_timezone/> | ||
| 3095 | - <lenient_string_to_number>false</lenient_string_to_number> | ||
| 3096 | - <encoding/> | ||
| 3097 | - <decimal_symbol/> | ||
| 3098 | - <grouping_symbol/> | ||
| 3099 | - <currency_symbol/> | ||
| 3100 | - <storage_type/> | ||
| 3101 | - </meta> </fields> <cluster_schema/> | ||
| 3102 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 3103 | - <xloc>1015</xloc> | ||
| 3104 | - <yloc>333</yloc> | ||
| 3105 | - <draw>Y</draw> | ||
| 3106 | - </GUI> | ||
| 3107 | - </step> | ||
| 3108 | - | ||
| 3109 | <step_error_handling> | 3164 | <step_error_handling> |
| 3110 | <error> | 3165 | <error> |
| 3111 | <source_step>插入/更新bsth_c_s_ttinfo_detail</source_step> | 3166 | <source_step>插入/更新bsth_c_s_ttinfo_detail</source_step> |
src/main/resources/datatools/ktrs/ttinfodetailDataInputMetaData.ktr
| @@ -35,6 +35,11 @@ | @@ -35,6 +35,11 @@ | ||
| 35 | <description>线路标准id</description> | 35 | <description>线路标准id</description> |
| 36 | </parameter> | 36 | </parameter> |
| 37 | <parameter> | 37 | <parameter> |
| 38 | + <name>lineversion</name> | ||
| 39 | + <default_value>-1</default_value> | ||
| 40 | + <description>线路版本</description> | ||
| 41 | + </parameter> | ||
| 42 | + <parameter> | ||
| 38 | <name>normalizefieldnames</name> | 43 | <name>normalizefieldnames</name> |
| 39 | <default_value>出场,东川路地铁站1,塘泾路尚义路1,东川路地铁站2,塘泾路尚义路2,东川路地铁站3,塘泾路尚义路3,东川路地铁站4,塘泾路尚义路4,东川路地铁站5,塘泾路尚义路5,东川路地铁站6,塘泾路尚义路6,东川路地铁站7,塘泾路尚义路7,东川路地铁站8,塘泾路尚义路8,东川路地铁站9,塘泾路尚义路9,东川路地铁站10,塘泾路尚义路10,进场</default_value> | 44 | <default_value>出场,东川路地铁站1,塘泾路尚义路1,东川路地铁站2,塘泾路尚义路2,东川路地铁站3,塘泾路尚义路3,东川路地铁站4,塘泾路尚义路4,东川路地铁站5,塘泾路尚义路5,东川路地铁站6,塘泾路尚义路6,东川路地铁站7,塘泾路尚义路7,东川路地铁站8,塘泾路尚义路8,东川路地铁站9,塘泾路尚义路9,东川路地铁站10,塘泾路尚义路10,进场</default_value> |
| 40 | <description>数据范式化字段名,以逗号连接</description> | 45 | <description>数据范式化字段名,以逗号连接</description> |
| @@ -62,18 +67,13 @@ | @@ -62,18 +67,13 @@ | ||
| 62 | <parameter> | 67 | <parameter> |
| 63 | <name>xlid</name> | 68 | <name>xlid</name> |
| 64 | <default_value>-999</default_value> | 69 | <default_value>-999</default_value> |
| 65 | - <description/> | 70 | + <description>线路id</description> |
| 66 | </parameter> | 71 | </parameter> |
| 67 | <parameter> | 72 | <parameter> |
| 68 | <name>xlname</name> | 73 | <name>xlname</name> |
| 69 | <default_value>闵行26路</default_value> | 74 | <default_value>闵行26路</default_value> |
| 70 | <description>线路名称</description> | 75 | <description>线路名称</description> |
| 71 | </parameter> | 76 | </parameter> |
| 72 | - <parameter> | ||
| 73 | - <name>zdlyversion</name> | ||
| 74 | - <default_value>-1</default_value> | ||
| 75 | - <description/> | ||
| 76 | - </parameter> | ||
| 77 | </parameters> | 77 | </parameters> |
| 78 | <log> | 78 | <log> |
| 79 | <trans-log-table><connection/> | 79 | <trans-log-table><connection/> |
| @@ -436,15 +436,15 @@ | @@ -436,15 +436,15 @@ | ||
| 436 | <source_step>增加normalize元数据</source_step> | 436 | <source_step>增加normalize元数据</source_step> |
| 437 | <source_field>nfieldname</source_field> | 437 | <source_field>nfieldname</source_field> |
| 438 | </mapping> <mapping> <target_step_name>时刻表明细信息Excel输入</target_step_name> | 438 | </mapping> <mapping> <target_step_name>时刻表明细信息Excel输入</target_step_name> |
| 439 | - <target_attribute_key>LENGTH</target_attribute_key> | ||
| 440 | - <target_detail>Y</target_detail> | ||
| 441 | - <source_step>增加excel字段其他元数据</source_step> | ||
| 442 | - <source_field>length</source_field> | ||
| 443 | - </mapping> <mapping> <target_step_name>时刻表明细信息Excel输入</target_step_name> | ||
| 444 | <target_attribute_key>SHEET_NAME</target_attribute_key> | 439 | <target_attribute_key>SHEET_NAME</target_attribute_key> |
| 445 | <target_detail>Y</target_detail> | 440 | <target_detail>Y</target_detail> |
| 446 | <source_step>获取excel文件名</source_step> | 441 | <source_step>获取excel文件名</source_step> |
| 447 | <source_field>sheetname_</source_field> | 442 | <source_field>sheetname_</source_field> |
| 443 | + </mapping> <mapping> <target_step_name>时刻表明细信息Excel输入</target_step_name> | ||
| 444 | + <target_attribute_key>LENGTH</target_attribute_key> | ||
| 445 | + <target_detail>Y</target_detail> | ||
| 446 | + <source_step>增加excel字段其他元数据</source_step> | ||
| 447 | + <source_field>length</source_field> | ||
| 448 | </mapping> <mapping> <target_step_name>增加时刻表名字,线路名字,停车场名字</target_step_name> | 448 | </mapping> <mapping> <target_step_name>增加时刻表名字,线路名字,停车场名字</target_step_name> |
| 449 | <target_attribute_key>NAME</target_attribute_key> | 449 | <target_attribute_key>NAME</target_attribute_key> |
| 450 | <target_detail>Y</target_detail> | 450 | <target_detail>Y</target_detail> |
| @@ -460,41 +460,41 @@ | @@ -460,41 +460,41 @@ | ||
| 460 | <target_detail>Y</target_detail> | 460 | <target_detail>Y</target_detail> |
| 461 | <source_step>列拆分为多行</source_step> | 461 | <source_step>列拆分为多行</source_step> |
| 462 | <source_field>fieldName</source_field> | 462 | <source_field>fieldName</source_field> |
| 463 | - </mapping> <mapping> <target_step_name>行转列</target_step_name> | ||
| 464 | - <target_attribute_key>VALUE</target_attribute_key> | ||
| 465 | - <target_detail>Y</target_detail> | ||
| 466 | - <source_step>列拆分为多行 2</source_step> | ||
| 467 | - <source_field>fieldName</source_field> | ||
| 468 | </mapping> <mapping> <target_step_name>Excel输入</target_step_name> | 463 | </mapping> <mapping> <target_step_name>Excel输入</target_step_name> |
| 469 | <target_attribute_key>TRIM_TYPE</target_attribute_key> | 464 | <target_attribute_key>TRIM_TYPE</target_attribute_key> |
| 470 | <target_detail>Y</target_detail> | 465 | <target_detail>Y</target_detail> |
| 471 | <source_step>列拆分为多行</source_step> | 466 | <source_step>列拆分为多行</source_step> |
| 472 | <source_field>trim_type</source_field> | 467 | <source_field>trim_type</source_field> |
| 473 | </mapping> <mapping> <target_step_name>行转列</target_step_name> | 468 | </mapping> <mapping> <target_step_name>行转列</target_step_name> |
| 474 | - <target_attribute_key>NORMALISED</target_attribute_key> | 469 | + <target_attribute_key>VALUE</target_attribute_key> |
| 475 | <target_detail>Y</target_detail> | 470 | <target_detail>Y</target_detail> |
| 476 | <source_step>列拆分为多行 2</source_step> | 471 | <source_step>列拆分为多行 2</source_step> |
| 477 | - <source_field>value</source_field> | 472 | + <source_field>fieldName</source_field> |
| 478 | </mapping> <mapping> <target_step_name>时刻表明细信息Excel输入</target_step_name> | 473 | </mapping> <mapping> <target_step_name>时刻表明细信息Excel输入</target_step_name> |
| 479 | <target_attribute_key>REPEAT</target_attribute_key> | 474 | <target_attribute_key>REPEAT</target_attribute_key> |
| 480 | <target_detail>Y</target_detail> | 475 | <target_detail>Y</target_detail> |
| 481 | <source_step>增加excel字段其他元数据</source_step> | 476 | <source_step>增加excel字段其他元数据</source_step> |
| 482 | <source_field>repeat</source_field> | 477 | <source_field>repeat</source_field> |
| 483 | - </mapping> <mapping> <target_step_name>班次数据范式化</target_step_name> | 478 | + </mapping> <mapping> <target_step_name>行转列</target_step_name> |
| 484 | <target_attribute_key>NORMALISED</target_attribute_key> | 479 | <target_attribute_key>NORMALISED</target_attribute_key> |
| 485 | <target_detail>Y</target_detail> | 480 | <target_detail>Y</target_detail> |
| 486 | - <source_step>增加normalize元数据</source_step> | ||
| 487 | - <source_field>valuefield</source_field> | 481 | + <source_step>列拆分为多行 2</source_step> |
| 482 | + <source_field>value</source_field> | ||
| 488 | </mapping> <mapping> <target_step_name>班次数据范式化</target_step_name> | 483 | </mapping> <mapping> <target_step_name>班次数据范式化</target_step_name> |
| 489 | - <target_attribute_key>VALUE</target_attribute_key> | 484 | + <target_attribute_key>NORMALISED</target_attribute_key> |
| 490 | <target_detail>Y</target_detail> | 485 | <target_detail>Y</target_detail> |
| 491 | <source_step>增加normalize元数据</source_step> | 486 | <source_step>增加normalize元数据</source_step> |
| 492 | - <source_field>nfieldname</source_field> | 487 | + <source_field>valuefield</source_field> |
| 493 | </mapping> <mapping> <target_step_name>时刻表明细信息Excel输入</target_step_name> | 488 | </mapping> <mapping> <target_step_name>时刻表明细信息Excel输入</target_step_name> |
| 494 | <target_attribute_key>FORMAT</target_attribute_key> | 489 | <target_attribute_key>FORMAT</target_attribute_key> |
| 495 | <target_detail>Y</target_detail> | 490 | <target_detail>Y</target_detail> |
| 496 | <source_step>增加excel字段其他元数据</source_step> | 491 | <source_step>增加excel字段其他元数据</source_step> |
| 497 | <source_field>format</source_field> | 492 | <source_field>format</source_field> |
| 493 | + </mapping> <mapping> <target_step_name>班次数据范式化</target_step_name> | ||
| 494 | + <target_attribute_key>VALUE</target_attribute_key> | ||
| 495 | + <target_detail>Y</target_detail> | ||
| 496 | + <source_step>增加normalize元数据</source_step> | ||
| 497 | + <source_field>nfieldname</source_field> | ||
| 498 | </mapping> <mapping> <target_step_name>Excel输入</target_step_name> | 498 | </mapping> <mapping> <target_step_name>Excel输入</target_step_name> |
| 499 | <target_attribute_key>PRECISION</target_attribute_key> | 499 | <target_attribute_key>PRECISION</target_attribute_key> |
| 500 | <target_detail>Y</target_detail> | 500 | <target_detail>Y</target_detail> |
| @@ -917,6 +917,63 @@ | @@ -917,6 +917,63 @@ | ||
| 917 | </step> | 917 | </step> |
| 918 | 918 | ||
| 919 | <step> | 919 | <step> |
| 920 | + <name>增加站点路由版本 metadata</name> | ||
| 921 | + <type>Constant</type> | ||
| 922 | + <description/> | ||
| 923 | + <distribute>Y</distribute> | ||
| 924 | + <custom_distribution/> | ||
| 925 | + <copies>1</copies> | ||
| 926 | + <partitioning> | ||
| 927 | + <method>none</method> | ||
| 928 | + <schema_name/> | ||
| 929 | + </partitioning> | ||
| 930 | + <fields> | ||
| 931 | + <field> | ||
| 932 | + <name>col_name</name> | ||
| 933 | + <type>String</type> | ||
| 934 | + <format/> | ||
| 935 | + <currency/> | ||
| 936 | + <decimal/> | ||
| 937 | + <group/> | ||
| 938 | + <nullif>zdlyversion_</nullif> | ||
| 939 | + <length>-1</length> | ||
| 940 | + <precision>-1</precision> | ||
| 941 | + <set_empty_string>N</set_empty_string> | ||
| 942 | + </field> | ||
| 943 | + <field> | ||
| 944 | + <name>col_type</name> | ||
| 945 | + <type>String</type> | ||
| 946 | + <format/> | ||
| 947 | + <currency/> | ||
| 948 | + <decimal/> | ||
| 949 | + <group/> | ||
| 950 | + <nullif>String</nullif> | ||
| 951 | + <length>-1</length> | ||
| 952 | + <precision>-1</precision> | ||
| 953 | + <set_empty_string>N</set_empty_string> | ||
| 954 | + </field> | ||
| 955 | + <field> | ||
| 956 | + <name>col_value</name> | ||
| 957 | + <type>String</type> | ||
| 958 | + <format/> | ||
| 959 | + <currency/> | ||
| 960 | + <decimal/> | ||
| 961 | + <group/> | ||
| 962 | + <nullif>replace</nullif> | ||
| 963 | + <length>-1</length> | ||
| 964 | + <precision>-1</precision> | ||
| 965 | + <set_empty_string>N</set_empty_string> | ||
| 966 | + </field> | ||
| 967 | + </fields> | ||
| 968 | + <cluster_schema/> | ||
| 969 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 970 | + <xloc>390</xloc> | ||
| 971 | + <yloc>532</yloc> | ||
| 972 | + <draw>Y</draw> | ||
| 973 | + </GUI> | ||
| 974 | + </step> | ||
| 975 | + | ||
| 976 | + <step> | ||
| 920 | <name>增加线路名称metadata</name> | 977 | <name>增加线路名称metadata</name> |
| 921 | <type>Constant</type> | 978 | <type>Constant</type> |
| 922 | <description/> | 979 | <description/> |
| @@ -1056,6 +1113,31 @@ | @@ -1056,6 +1113,31 @@ | ||
| 1056 | </step> | 1113 | </step> |
| 1057 | 1114 | ||
| 1058 | <step> | 1115 | <step> |
| 1116 | + <name>替换站点路由版本</name> | ||
| 1117 | + <type>SetValueField</type> | ||
| 1118 | + <description/> | ||
| 1119 | + <distribute>Y</distribute> | ||
| 1120 | + <custom_distribution/> | ||
| 1121 | + <copies>1</copies> | ||
| 1122 | + <partitioning> | ||
| 1123 | + <method>none</method> | ||
| 1124 | + <schema_name/> | ||
| 1125 | + </partitioning> | ||
| 1126 | + <fields> | ||
| 1127 | + <field> | ||
| 1128 | + <name>col_value</name> | ||
| 1129 | + <replaceby>zdlyversion_</replaceby> | ||
| 1130 | + </field> | ||
| 1131 | + </fields> | ||
| 1132 | + <cluster_schema/> | ||
| 1133 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 1134 | + <xloc>594</xloc> | ||
| 1135 | + <yloc>532</yloc> | ||
| 1136 | + <draw>Y</draw> | ||
| 1137 | + </GUI> | ||
| 1138 | + </step> | ||
| 1139 | + | ||
| 1140 | + <step> | ||
| 1059 | <name>替换线路名称</name> | 1141 | <name>替换线路名称</name> |
| 1060 | <type>SetValueField</type> | 1142 | <type>SetValueField</type> |
| 1061 | <description/> | 1143 | <description/> |
| @@ -1081,6 +1163,38 @@ | @@ -1081,6 +1163,38 @@ | ||
| 1081 | </step> | 1163 | </step> |
| 1082 | 1164 | ||
| 1083 | <step> | 1165 | <step> |
| 1166 | + <name>站点路由版本metadata字段</name> | ||
| 1167 | + <type>SelectValues</type> | ||
| 1168 | + <description/> | ||
| 1169 | + <distribute>Y</distribute> | ||
| 1170 | + <custom_distribution/> | ||
| 1171 | + <copies>1</copies> | ||
| 1172 | + <partitioning> | ||
| 1173 | + <method>none</method> | ||
| 1174 | + <schema_name/> | ||
| 1175 | + </partitioning> | ||
| 1176 | + <fields> <field> <name>col_name</name> | ||
| 1177 | + <rename/> | ||
| 1178 | + <length>-2</length> | ||
| 1179 | + <precision>-2</precision> | ||
| 1180 | + </field> <field> <name>col_type</name> | ||
| 1181 | + <rename/> | ||
| 1182 | + <length>-2</length> | ||
| 1183 | + <precision>-2</precision> | ||
| 1184 | + </field> <field> <name>col_value</name> | ||
| 1185 | + <rename/> | ||
| 1186 | + <length>-2</length> | ||
| 1187 | + <precision>-2</precision> | ||
| 1188 | + </field> <select_unspecified>N</select_unspecified> | ||
| 1189 | + </fields> <cluster_schema/> | ||
| 1190 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 1191 | + <xloc>741</xloc> | ||
| 1192 | + <yloc>533</yloc> | ||
| 1193 | + <draw>Y</draw> | ||
| 1194 | + </GUI> | ||
| 1195 | + </step> | ||
| 1196 | + | ||
| 1197 | + <step> | ||
| 1084 | <name>线路名称metadata字段</name> | 1198 | <name>线路名称metadata字段</name> |
| 1085 | <type>SelectValues</type> | 1199 | <type>SelectValues</type> |
| 1086 | <description/> | 1200 | <description/> |
| @@ -1302,6 +1416,39 @@ | @@ -1302,6 +1416,39 @@ | ||
| 1302 | </step> | 1416 | </step> |
| 1303 | 1417 | ||
| 1304 | <step> | 1418 | <step> |
| 1419 | + <name>获取站点路由version</name> | ||
| 1420 | + <type>GetVariable</type> | ||
| 1421 | + <description/> | ||
| 1422 | + <distribute>Y</distribute> | ||
| 1423 | + <custom_distribution/> | ||
| 1424 | + <copies>1</copies> | ||
| 1425 | + <partitioning> | ||
| 1426 | + <method>none</method> | ||
| 1427 | + <schema_name/> | ||
| 1428 | + </partitioning> | ||
| 1429 | + <fields> | ||
| 1430 | + <field> | ||
| 1431 | + <name>zdlyversion_</name> | ||
| 1432 | + <variable>${lineversion}</variable> | ||
| 1433 | + <type>String</type> | ||
| 1434 | + <format/> | ||
| 1435 | + <currency/> | ||
| 1436 | + <decimal/> | ||
| 1437 | + <group/> | ||
| 1438 | + <length>-1</length> | ||
| 1439 | + <precision>-1</precision> | ||
| 1440 | + <trim_type>none</trim_type> | ||
| 1441 | + </field> | ||
| 1442 | + </fields> | ||
| 1443 | + <cluster_schema/> | ||
| 1444 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 1445 | + <xloc>187</xloc> | ||
| 1446 | + <yloc>534</yloc> | ||
| 1447 | + <draw>Y</draw> | ||
| 1448 | + </GUI> | ||
| 1449 | + </step> | ||
| 1450 | + | ||
| 1451 | + <step> | ||
| 1305 | <name>获取线路名称</name> | 1452 | <name>获取线路名称</name> |
| 1306 | <type>GetVariable</type> | 1453 | <type>GetVariable</type> |
| 1307 | <description/> | 1454 | <description/> |
| @@ -1419,153 +1566,6 @@ | @@ -1419,153 +1566,6 @@ | ||
| 1419 | </GUI> | 1566 | </GUI> |
| 1420 | </step> | 1567 | </step> |
| 1421 | 1568 | ||
| 1422 | - <step> | ||
| 1423 | - <name>增加站点路由版本 metadata</name> | ||
| 1424 | - <type>Constant</type> | ||
| 1425 | - <description/> | ||
| 1426 | - <distribute>Y</distribute> | ||
| 1427 | - <custom_distribution/> | ||
| 1428 | - <copies>1</copies> | ||
| 1429 | - <partitioning> | ||
| 1430 | - <method>none</method> | ||
| 1431 | - <schema_name/> | ||
| 1432 | - </partitioning> | ||
| 1433 | - <fields> | ||
| 1434 | - <field> | ||
| 1435 | - <name>col_name</name> | ||
| 1436 | - <type>String</type> | ||
| 1437 | - <format/> | ||
| 1438 | - <currency/> | ||
| 1439 | - <decimal/> | ||
| 1440 | - <group/> | ||
| 1441 | - <nullif>zdlyversion_</nullif> | ||
| 1442 | - <length>-1</length> | ||
| 1443 | - <precision>-1</precision> | ||
| 1444 | - <set_empty_string>N</set_empty_string> | ||
| 1445 | - </field> | ||
| 1446 | - <field> | ||
| 1447 | - <name>col_type</name> | ||
| 1448 | - <type>String</type> | ||
| 1449 | - <format/> | ||
| 1450 | - <currency/> | ||
| 1451 | - <decimal/> | ||
| 1452 | - <group/> | ||
| 1453 | - <nullif>String</nullif> | ||
| 1454 | - <length>-1</length> | ||
| 1455 | - <precision>-1</precision> | ||
| 1456 | - <set_empty_string>N</set_empty_string> | ||
| 1457 | - </field> | ||
| 1458 | - <field> | ||
| 1459 | - <name>col_value</name> | ||
| 1460 | - <type>String</type> | ||
| 1461 | - <format/> | ||
| 1462 | - <currency/> | ||
| 1463 | - <decimal/> | ||
| 1464 | - <group/> | ||
| 1465 | - <nullif>replace</nullif> | ||
| 1466 | - <length>-1</length> | ||
| 1467 | - <precision>-1</precision> | ||
| 1468 | - <set_empty_string>N</set_empty_string> | ||
| 1469 | - </field> | ||
| 1470 | - </fields> | ||
| 1471 | - <cluster_schema/> | ||
| 1472 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 1473 | - <xloc>390</xloc> | ||
| 1474 | - <yloc>532</yloc> | ||
| 1475 | - <draw>Y</draw> | ||
| 1476 | - </GUI> | ||
| 1477 | - </step> | ||
| 1478 | - | ||
| 1479 | - <step> | ||
| 1480 | - <name>替换站点路由版本</name> | ||
| 1481 | - <type>SetValueField</type> | ||
| 1482 | - <description/> | ||
| 1483 | - <distribute>Y</distribute> | ||
| 1484 | - <custom_distribution/> | ||
| 1485 | - <copies>1</copies> | ||
| 1486 | - <partitioning> | ||
| 1487 | - <method>none</method> | ||
| 1488 | - <schema_name/> | ||
| 1489 | - </partitioning> | ||
| 1490 | - <fields> | ||
| 1491 | - <field> | ||
| 1492 | - <name>col_value</name> | ||
| 1493 | - <replaceby>zdlyversion_</replaceby> | ||
| 1494 | - </field> | ||
| 1495 | - </fields> | ||
| 1496 | - <cluster_schema/> | ||
| 1497 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 1498 | - <xloc>594</xloc> | ||
| 1499 | - <yloc>532</yloc> | ||
| 1500 | - <draw>Y</draw> | ||
| 1501 | - </GUI> | ||
| 1502 | - </step> | ||
| 1503 | - | ||
| 1504 | - <step> | ||
| 1505 | - <name>站点路由版本metadata字段</name> | ||
| 1506 | - <type>SelectValues</type> | ||
| 1507 | - <description/> | ||
| 1508 | - <distribute>Y</distribute> | ||
| 1509 | - <custom_distribution/> | ||
| 1510 | - <copies>1</copies> | ||
| 1511 | - <partitioning> | ||
| 1512 | - <method>none</method> | ||
| 1513 | - <schema_name/> | ||
| 1514 | - </partitioning> | ||
| 1515 | - <fields> <field> <name>col_name</name> | ||
| 1516 | - <rename/> | ||
| 1517 | - <length>-2</length> | ||
| 1518 | - <precision>-2</precision> | ||
| 1519 | - </field> <field> <name>col_type</name> | ||
| 1520 | - <rename/> | ||
| 1521 | - <length>-2</length> | ||
| 1522 | - <precision>-2</precision> | ||
| 1523 | - </field> <field> <name>col_value</name> | ||
| 1524 | - <rename/> | ||
| 1525 | - <length>-2</length> | ||
| 1526 | - <precision>-2</precision> | ||
| 1527 | - </field> <select_unspecified>N</select_unspecified> | ||
| 1528 | - </fields> <cluster_schema/> | ||
| 1529 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 1530 | - <xloc>741</xloc> | ||
| 1531 | - <yloc>533</yloc> | ||
| 1532 | - <draw>Y</draw> | ||
| 1533 | - </GUI> | ||
| 1534 | - </step> | ||
| 1535 | - | ||
| 1536 | - <step> | ||
| 1537 | - <name>获取站点路由version</name> | ||
| 1538 | - <type>GetVariable</type> | ||
| 1539 | - <description/> | ||
| 1540 | - <distribute>Y</distribute> | ||
| 1541 | - <custom_distribution/> | ||
| 1542 | - <copies>1</copies> | ||
| 1543 | - <partitioning> | ||
| 1544 | - <method>none</method> | ||
| 1545 | - <schema_name/> | ||
| 1546 | - </partitioning> | ||
| 1547 | - <fields> | ||
| 1548 | - <field> | ||
| 1549 | - <name>zdlyversion_</name> | ||
| 1550 | - <variable>${zdlyversion}</variable> | ||
| 1551 | - <type>String</type> | ||
| 1552 | - <format/> | ||
| 1553 | - <currency/> | ||
| 1554 | - <decimal/> | ||
| 1555 | - <group/> | ||
| 1556 | - <length>-1</length> | ||
| 1557 | - <precision>-1</precision> | ||
| 1558 | - <trim_type>none</trim_type> | ||
| 1559 | - </field> | ||
| 1560 | - </fields> | ||
| 1561 | - <cluster_schema/> | ||
| 1562 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 1563 | - <xloc>187</xloc> | ||
| 1564 | - <yloc>534</yloc> | ||
| 1565 | - <draw>Y</draw> | ||
| 1566 | - </GUI> | ||
| 1567 | - </step> | ||
| 1568 | - | ||
| 1569 | <step_error_handling> | 1569 | <step_error_handling> |
| 1570 | </step_error_handling> | 1570 | </step_error_handling> |
| 1571 | <slave-step-copy-partition-distribution> | 1571 | <slave-step-copy-partition-distribution> |
src/main/resources/datatools/ktrs/ttinfodetailDataOutputMetaData.ktr
| @@ -16,7 +16,7 @@ | @@ -16,7 +16,7 @@ | ||
| 16 | </parameter> | 16 | </parameter> |
| 17 | <parameter> | 17 | <parameter> |
| 18 | <name>injectktrfile</name> | 18 | <name>injectktrfile</name> |
| 19 | - <default_value>/Users/xu/resource/project_code/bsth_project/bsth_control/src/main/resources/datatools/ktrs/ttinfodetailDataOutput.ktr</default_value> | 19 | + <default_value>/Users/xu/resource/project_code/bsth_project/bsth_control_parent/bsth_control/src/main/resources/datatools/ktrs/ttinfodetailDataOutput.ktr</default_value> |
| 20 | <description>注入元数据的ktr文件</description> | 20 | <description>注入元数据的ktr文件</description> |
| 21 | </parameter> | 21 | </parameter> |
| 22 | <parameter> | 22 | <parameter> |
| @@ -91,8 +91,8 @@ | @@ -91,8 +91,8 @@ | ||
| 91 | <notepads> | 91 | <notepads> |
| 92 | <notepad> | 92 | <notepad> |
| 93 | <note>TODO:如果groupby 加入bctype,
则以发车顺序号,班次类型分组的数据可能重复,
应为班次类型可能不一样(导入之后人为修改的,如正常班次改成区间),
因为导出时必须数据不重复,这里的解决方法,只使用发车顺序号分组,
以后建议,还是原来的方式分组,然后把更新时间晚的去除

以后改成去除重复纪录</note> | 93 | <note>TODO:如果groupby 加入bctype,
则以发车顺序号,班次类型分组的数据可能重复,
应为班次类型可能不一样(导入之后人为修改的,如正常班次改成区间),
因为导出时必须数据不重复,这里的解决方法,只使用发车顺序号分组,
以后建议,还是原来的方式分组,然后把更新时间晚的去除

以后改成去除重复纪录</note> |
| 94 | - <xloc>37</xloc> | ||
| 95 | - <yloc>309</yloc> | 94 | + <xloc>46</xloc> |
| 95 | + <yloc>400</yloc> | ||
| 96 | <width>406</width> | 96 | <width>406</width> |
| 97 | <heigth>122</heigth> | 97 | <heigth>122</heigth> |
| 98 | <fontname>YaHei Consolas Hybrid</fontname> | 98 | <fontname>YaHei Consolas Hybrid</fontname> |
| @@ -368,6 +368,29 @@ | @@ -368,6 +368,29 @@ | ||
| 368 | </step> | 368 | </step> |
| 369 | 369 | ||
| 370 | <step> | 370 | <step> |
| 371 | + <name>去除重复记录</name> | ||
| 372 | + <type>Unique</type> | ||
| 373 | + <description/> | ||
| 374 | + <distribute>Y</distribute> | ||
| 375 | + <custom_distribution/> | ||
| 376 | + <copies>1</copies> | ||
| 377 | + <partitioning> | ||
| 378 | + <method>none</method> | ||
| 379 | + <schema_name/> | ||
| 380 | + </partitioning> | ||
| 381 | + <count_rows>N</count_rows> | ||
| 382 | + <count_field/> | ||
| 383 | + <reject_duplicate_row>N</reject_duplicate_row> | ||
| 384 | + <error_description/> | ||
| 385 | + <fields> </fields> <cluster_schema/> | ||
| 386 | + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 387 | + <xloc>842</xloc> | ||
| 388 | + <yloc>592</yloc> | ||
| 389 | + <draw>Y</draw> | ||
| 390 | + </GUI> | ||
| 391 | + </step> | ||
| 392 | + | ||
| 393 | + <step> | ||
| 371 | <name>字段选择</name> | 394 | <name>字段选择</name> |
| 372 | <type>SelectValues</type> | 395 | <type>SelectValues</type> |
| 373 | <description/> | 396 | <description/> |
| @@ -590,7 +613,7 @@ | @@ -590,7 +613,7 @@ | ||
| 590 | <optimizationLevel>9</optimizationLevel> | 613 | <optimizationLevel>9</optimizationLevel> |
| 591 | <jsScripts> <jsScript> <jsScript_type>0</jsScript_type> | 614 | <jsScripts> <jsScript> <jsScript_type>0</jsScript_type> |
| 592 | <jsScript_name>Script 1</jsScript_name> | 615 | <jsScript_name>Script 1</jsScript_name> |
| 593 | - <jsScript_script>//Script here

var fieldname; // 字段名
var fieldtype; // 字段类型

if (bc_type == 'in') {
 fieldname = '进场' + fcno;
} else if (bc_type == 'out') {
 fieldname = '出场' + fcno;
} else if (bc_type == 'normal') {
 fieldname = zdname + fcno;
} else {
 fieldname = zdname + fcno;
} 

fieldtype = 'String';
</jsScript_script> | 616 | + <jsScript_script>//Script here

var fieldname; // 字段名
var fieldtype; // 字段类型

if (bc_type == 'in') {
 fieldname = '进场' + "->" + fcno;
} else if (bc_type == 'out') {
 fieldname = '出场' + "->" + fcno;
} else if (bc_type == 'normal') {
 fieldname = zdname + "->" + fcno;
} else {
 fieldname = zdname + "->" + fcno;
} 

fieldtype = 'String';
</jsScript_script> |
| 594 | </jsScript> </jsScripts> <fields> <field> <name>fieldname</name> | 617 | </jsScript> </jsScripts> <fields> <field> <name>fieldname</name> |
| 595 | <rename>fieldname</rename> | 618 | <rename>fieldname</rename> |
| 596 | <type>String</type> | 619 | <type>String</type> |
| @@ -626,7 +649,7 @@ | @@ -626,7 +649,7 @@ | ||
| 626 | <optimizationLevel>9</optimizationLevel> | 649 | <optimizationLevel>9</optimizationLevel> |
| 627 | <jsScripts> <jsScript> <jsScript_type>0</jsScript_type> | 650 | <jsScripts> <jsScript> <jsScript_type>0</jsScript_type> |
| 628 | <jsScript_name>Script 1</jsScript_name> | 651 | <jsScript_name>Script 1</jsScript_name> |
| 629 | - <jsScript_script>//Script here

var targetfieldname; // 目标字段名
var targettype; // 目标类型
var valuefieldname; // 值字段名
var keyvalue; // 关键字值

if (bc_type == 'in') {
 targetfieldname = '进场' + fcno;
} else if (bc_type == 'out') {
 targetfieldname = '出场' + fcno;
} else if (bc_type == 'normal') {
 targetfieldname = zdname + fcno;
} else {
 targetfieldname = zdname + fcno;
} 

targettype = 'String';
valuefieldname = 'fcsj';
keyvalue = fcno;
</jsScript_script> | 652 | + <jsScript_script>//Script here

var targetfieldname; // 目标字段名
var targettype; // 目标类型
var valuefieldname; // 值字段名
var keyvalue; // 关键字值

if (bc_type == 'in') {
 targetfieldname = '进场' + "->" + fcno;
} else if (bc_type == 'out') {
 targetfieldname = '出场' + "->" + fcno;
} else if (bc_type == 'normal') {
 targetfieldname = zdname + "->" + fcno;
} else {
 targetfieldname = zdname + "->" + fcno;
} 

targettype = 'String';
valuefieldname = 'fcsj';
keyvalue = fcno;
</jsScript_script> |
| 630 | </jsScript> </jsScripts> <fields> <field> <name>targetfieldname</name> | 653 | </jsScript> </jsScripts> <fields> <field> <name>targetfieldname</name> |
| 631 | <rename>targetfieldname</rename> | 654 | <rename>targetfieldname</rename> |
| 632 | <type>String</type> | 655 | <type>String</type> |
| @@ -718,29 +741,6 @@ | @@ -718,29 +741,6 @@ | ||
| 718 | </GUI> | 741 | </GUI> |
| 719 | </step> | 742 | </step> |
| 720 | 743 | ||
| 721 | - <step> | ||
| 722 | - <name>去除重复记录</name> | ||
| 723 | - <type>Unique</type> | ||
| 724 | - <description/> | ||
| 725 | - <distribute>Y</distribute> | ||
| 726 | - <custom_distribution/> | ||
| 727 | - <copies>1</copies> | ||
| 728 | - <partitioning> | ||
| 729 | - <method>none</method> | ||
| 730 | - <schema_name/> | ||
| 731 | - </partitioning> | ||
| 732 | - <count_rows>N</count_rows> | ||
| 733 | - <count_field/> | ||
| 734 | - <reject_duplicate_row>N</reject_duplicate_row> | ||
| 735 | - <error_description/> | ||
| 736 | - <fields> </fields> <cluster_schema/> | ||
| 737 | - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> | ||
| 738 | - <xloc>842</xloc> | ||
| 739 | - <yloc>592</yloc> | ||
| 740 | - <draw>Y</draw> | ||
| 741 | - </GUI> | ||
| 742 | - </step> | ||
| 743 | - | ||
| 744 | <step_error_handling> | 744 | <step_error_handling> |
| 745 | </step_error_handling> | 745 | </step_error_handling> |
| 746 | <slave-step-copy-partition-distribution> | 746 | <slave-step-copy-partition-distribution> |
src/main/resources/static/pages/base/carpark/add.html
| @@ -325,7 +325,7 @@ | @@ -325,7 +325,7 @@ | ||
| 325 | <a href="javascript:;" class="btn btn-outline green button-next"> 下一步 | 325 | <a href="javascript:;" class="btn btn-outline green button-next"> 下一步 |
| 326 | <i class="fa fa-angle-right"></i> | 326 | <i class="fa fa-angle-right"></i> |
| 327 | </a> | 327 | </a> |
| 328 | - <a href="javascript:;" class="btn green button-submit" style="display: none;"> 提交 | 328 | + <a href="javascript:;" class="btn green button-submit" style="display: none;" id="submintBtn"> 提交 |
| 329 | <i class="fa fa-check"></i> | 329 | <i class="fa fa-check"></i> |
| 330 | </a> | 330 | </a> |
| 331 | </div> | 331 | </div> |
src/main/resources/static/pages/base/carpark/js/add-form-wizard.js
| @@ -91,6 +91,8 @@ var FormWizard = function() { | @@ -91,6 +91,8 @@ var FormWizard = function() { | ||
| 91 | * 默认:default (native) form submit;当表单通过验证,提交表单。回调函数有个默认参数form | 91 | * 默认:default (native) form submit;当表单通过验证,提交表单。回调函数有个默认参数form |
| 92 | */ | 92 | */ |
| 93 | submitHandler : function(f) { | 93 | submitHandler : function(f) { |
| 94 | + // 防止用户多次提交 | ||
| 95 | + $("#submintBtn").addClass("disabled"); | ||
| 94 | // 表单序列化 | 96 | // 表单序列化 |
| 95 | var params = form.serializeJSON(); | 97 | var params = form.serializeJSON(); |
| 96 | if(params.shapesType=='圆形') | 98 | if(params.shapesType=='圆形') |
| @@ -109,6 +111,7 @@ var FormWizard = function() { | @@ -109,6 +111,7 @@ var FormWizard = function() { | ||
| 109 | // 返回list.html页面 | 111 | // 返回list.html页面 |
| 110 | loadPage('/pages/base/carpark/list.html'); | 112 | loadPage('/pages/base/carpark/list.html'); |
| 111 | }); | 113 | }); |
| 114 | + $("#submintBtn").removeClass("disabled"); | ||
| 112 | } | 115 | } |
| 113 | }); | 116 | }); |
| 114 | $.validator.addMethod("alnum", function(value, element) { | 117 | $.validator.addMethod("alnum", function(value, element) { |
src/main/resources/static/pages/base/company/add.html
| @@ -89,7 +89,7 @@ | @@ -89,7 +89,7 @@ | ||
| 89 | <div class="form-actions"> | 89 | <div class="form-actions"> |
| 90 | <div class="row"> | 90 | <div class="row"> |
| 91 | <div class="col-md-offset-3 col-md-4"> | 91 | <div class="col-md-offset-3 col-md-4"> |
| 92 | - <button type="submit" class="btn green" ><i class="fa fa-check"></i> 提交</button> | 92 | + <button type="submit" class="btn green" id="submintBtn"><i class="fa fa-check"></i> 提交</button> |
| 93 | <a type="button" class="btn default" href="list.html" data-pjax><i class="fa fa-times"></i> 取消</a> | 93 | <a type="button" class="btn default" href="list.html" data-pjax><i class="fa fa-times"></i> 取消</a> |
| 94 | </div> | 94 | </div> |
| 95 | </div> | 95 | </div> |
src/main/resources/static/pages/base/company/js/comp-add-form.js
| @@ -139,6 +139,8 @@ $(function(){ | @@ -139,6 +139,8 @@ $(function(){ | ||
| 139 | }); | 139 | }); |
| 140 | // 提交 | 140 | // 提交 |
| 141 | function submit() { | 141 | function submit() { |
| 142 | + // 防止用户多次提交 | ||
| 143 | + $("#submintBtn").addClass("disabled"); | ||
| 142 | // 添加数据 | 144 | // 添加数据 |
| 143 | $post('/business', params, function(result) { | 145 | $post('/business', params, function(result) { |
| 144 | // 如果返回结果不为空 | 146 | // 如果返回结果不为空 |
| @@ -155,6 +157,7 @@ $(function(){ | @@ -155,6 +157,7 @@ $(function(){ | ||
| 155 | // 返回list.html页面 | 157 | // 返回list.html页面 |
| 156 | loadPage('list.html'); | 158 | loadPage('list.html'); |
| 157 | }); | 159 | }); |
| 160 | + $("#submintBtn").removeClass("disabled"); | ||
| 158 | } | 161 | } |
| 159 | } | 162 | } |
| 160 | }); | 163 | }); |
src/main/resources/static/pages/base/interval/add.html
| @@ -80,7 +80,7 @@ | @@ -80,7 +80,7 @@ | ||
| 80 | <div class="form-actions"> | 80 | <div class="form-actions"> |
| 81 | <div class="row"> | 81 | <div class="row"> |
| 82 | <div class="col-md-offset-5 col-md-7"> | 82 | <div class="col-md-offset-5 col-md-7"> |
| 83 | - <button type="submit" class="btn green" ><i class="fa fa-check"></i> 提交</button> | 83 | + <button type="submit" class="btn green" id="submintBtn"><i class="fa fa-check"></i> 提交</button> |
| 84 | <a type="button" class="btn default" href="list.html" data-pjax><i class="fa fa-times"></i> 取消</a> | 84 | <a type="button" class="btn default" href="list.html" data-pjax><i class="fa fa-times"></i> 取消</a> |
| 85 | </div> | 85 | </div> |
| 86 | </div> | 86 | </div> |
src/main/resources/static/pages/base/interval/js/interval-add-form.js
| @@ -108,6 +108,8 @@ $(function(){ | @@ -108,6 +108,8 @@ $(function(){ | ||
| 108 | submit(); | 108 | submit(); |
| 109 | // 提交 | 109 | // 提交 |
| 110 | function submit() { | 110 | function submit() { |
| 111 | + // 防止用户多次提交 | ||
| 112 | + $("#submintBtn").addClass("disabled"); | ||
| 111 | // 添加数据 | 113 | // 添加数据 |
| 112 | $post('/interval', params, function(result) { | 114 | $post('/interval', params, function(result) { |
| 113 | // 如果返回结果不为空 | 115 | // 如果返回结果不为空 |
| @@ -125,6 +127,7 @@ $(function(){ | @@ -125,6 +127,7 @@ $(function(){ | ||
| 125 | //loadPage('list.html'); | 127 | //loadPage('list.html'); |
| 126 | window.location.href = 'list.html'; | 128 | window.location.href = 'list.html'; |
| 127 | }); | 129 | }); |
| 130 | + $("#submintBtn").removeClass("disabled"); | ||
| 128 | } | 131 | } |
| 129 | } | 132 | } |
| 130 | }); | 133 | }); |
src/main/resources/static/pages/base/line/add.html
| @@ -487,7 +487,7 @@ | @@ -487,7 +487,7 @@ | ||
| 487 | <div class="form-actions"> | 487 | <div class="form-actions"> |
| 488 | <div class="row"> | 488 | <div class="row"> |
| 489 | <div class="col-md-offset-5 col-md-7"> | 489 | <div class="col-md-offset-5 col-md-7"> |
| 490 | - <button type="submit" class="btn green" ><i class="fa fa-check"></i> 提交</button> | 490 | + <button type="submit" class="btn green" id="submintBtn"><i class="fa fa-check"></i> 提交</button> |
| 491 | <a type="button" class="btn default" href="list.html" data-pjax><i class="fa fa-times"></i> 取消</a> | 491 | <a type="button" class="btn default" href="list.html" data-pjax><i class="fa fa-times"></i> 取消</a> |
| 492 | </div> | 492 | </div> |
| 493 | </div> | 493 | </div> |
src/main/resources/static/pages/base/line/js/line-add-form.js
| @@ -94,7 +94,7 @@ $(function(){ | @@ -94,7 +94,7 @@ $(function(){ | ||
| 94 | // 需要验证的表单元素 | 94 | // 需要验证的表单元素 |
| 95 | rules : { | 95 | rules : { |
| 96 | 'name' : {required : true,maxlength: 30},// 线路名称 必填项、 最大长度. | 96 | 'name' : {required : true,maxlength: 30},// 线路名称 必填项、 最大长度. |
| 97 | - 'lineCode' : {required : true,maxlength: 6,digits:true , | 97 | + 'lineCode' : {required : true,maxlength: 6,digits:true ,isLineCode:true, |
| 98 | remote:{type: 'GET', | 98 | remote:{type: 'GET', |
| 99 | url: '/line/lineCodeVerification', | 99 | url: '/line/lineCodeVerification', |
| 100 | cache:false, | 100 | cache:false, |
| @@ -237,6 +237,9 @@ $(function(){ | @@ -237,6 +237,9 @@ $(function(){ | ||
| 237 | // 提交 | 237 | // 提交 |
| 238 | function submit() { | 238 | function submit() { |
| 239 | 239 | ||
| 240 | + // 防止用户多次提交 | ||
| 241 | + $("#submintBtn").addClass("disabled"); | ||
| 242 | + | ||
| 240 | // 添加数据 | 243 | // 添加数据 |
| 241 | $post('/line', params, function(result) { | 244 | $post('/line', params, function(result) { |
| 242 | // 如果返回结果不为空 | 245 | // 如果返回结果不为空 |
| @@ -262,7 +265,14 @@ $(function(){ | @@ -262,7 +265,14 @@ $(function(){ | ||
| 262 | } | 265 | } |
| 263 | } | 266 | } |
| 264 | }); | 267 | }); |
| 265 | - | 268 | + |
| 269 | + // 线路编码不能0开头 | ||
| 270 | + $.validator.addMethod("isLineCode", function(value,element) { | ||
| 271 | + // 线路编码正则表达式 | ||
| 272 | + var lineCode = /^([1-9])/; | ||
| 273 | + return lineCode.test(value); | ||
| 274 | + }, "线路编码不能以0开头"); | ||
| 275 | + | ||
| 266 | // 联系电话(手机/电话皆可)验证 | 276 | // 联系电话(手机/电话皆可)验证 |
| 267 | $.validator.addMethod("isPhone", function(value,element) { | 277 | $.validator.addMethod("isPhone", function(value,element) { |
| 268 | // 长度 | 278 | // 长度 |
src/main/resources/static/pages/base/lineinformation/add.html
| @@ -583,7 +583,7 @@ | @@ -583,7 +583,7 @@ | ||
| 583 | <div class="form-actions"> | 583 | <div class="form-actions"> |
| 584 | <div class="row"> | 584 | <div class="row"> |
| 585 | <div class="col-md-offset-5 col-md-7"> | 585 | <div class="col-md-offset-5 col-md-7"> |
| 586 | - <button type="submit" class="btn green" ><i class="fa fa-check"></i> 提交</button> | 586 | + <button type="submit" class="btn green" id="submintBtn"><i class="fa fa-check"></i> 提交</button> |
| 587 | <a type="button" class="btn default lineinformation_back" href="lineinformation.html" data-pjax><i class="fa fa-times"></i> 取消</a> | 587 | <a type="button" class="btn default lineinformation_back" href="lineinformation.html" data-pjax><i class="fa fa-times"></i> 取消</a> |
| 588 | </div> | 588 | </div> |
| 589 | </div> | 589 | </div> |
src/main/resources/static/pages/base/lineinformation/js/lineinformation-add-form.js
| @@ -198,11 +198,13 @@ $(function(){ | @@ -198,11 +198,13 @@ $(function(){ | ||
| 198 | error.hide(); | 198 | error.hide(); |
| 199 | 199 | ||
| 200 | var params = form.serializeJSON(); | 200 | var params = form.serializeJSON(); |
| 201 | + // 防止用户多次提交 | ||
| 202 | + $("#submintBtn").addClass("disabled"); | ||
| 201 | 203 | ||
| 202 | if (params.line) { | 204 | if (params.line) { |
| 203 | 205 | ||
| 204 | // 添加数据 | 206 | // 添加数据 |
| 205 | - $post('/lineInformation', params, function(result) { | 207 | + $post('/lineInformation1', params, function(result) { |
| 206 | 208 | ||
| 207 | // 如果返回结果不为空 | 209 | // 如果返回结果不为空 |
| 208 | if(result){ | 210 | if(result){ |
| @@ -226,6 +228,7 @@ $(function(){ | @@ -226,6 +228,7 @@ $(function(){ | ||
| 226 | }); | 228 | }); |
| 227 | 229 | ||
| 228 | } | 230 | } |
| 231 | + $("#submintBtn").removeClass("disabled"); | ||
| 229 | } | 232 | } |
| 230 | }); | 233 | }); |
| 231 | 234 |
src/main/resources/static/pages/base/lineversions/add.html
| @@ -129,7 +129,7 @@ | @@ -129,7 +129,7 @@ | ||
| 129 | <div class="form-actions"> | 129 | <div class="form-actions"> |
| 130 | <div class="row"> | 130 | <div class="row"> |
| 131 | <div class="col-md-offset-5 col-md-7"> | 131 | <div class="col-md-offset-5 col-md-7"> |
| 132 | - <button type="submit" class="btn green" ><i class="fa fa-check"></i> 提交</button> | 132 | + <button type="submit" class="btn green" id="submintBtn"><i class="fa fa-check"></i> 提交</button> |
| 133 | <a type="button" class="btn default" href="list.html" data-pjax><i class="fa fa-times"></i> 取消</a> | 133 | <a type="button" class="btn default" href="list.html" data-pjax><i class="fa fa-times"></i> 取消</a> |
| 134 | </div> | 134 | </div> |
| 135 | </div> | 135 | </div> |
src/main/resources/static/pages/base/lineversions/js/lineversions-add-from.js
| @@ -195,6 +195,8 @@ | @@ -195,6 +195,8 @@ | ||
| 195 | submit(); | 195 | submit(); |
| 196 | // 提交 | 196 | // 提交 |
| 197 | function submit() { | 197 | function submit() { |
| 198 | + // 防止用户多次提交 | ||
| 199 | + $("#submintBtn").addClass("disabled"); | ||
| 198 | // 添加数据 | 200 | // 添加数据 |
| 199 | $post('/lineVersions/add', params, function(result) { | 201 | $post('/lineVersions/add', params, function(result) { |
| 200 | // 如果返回结果不为空 | 202 | // 如果返回结果不为空 |
| @@ -211,6 +213,7 @@ | @@ -211,6 +213,7 @@ | ||
| 211 | // 返回list.html页面 | 213 | // 返回list.html页面 |
| 212 | loadPage('list.html'); | 214 | loadPage('list.html'); |
| 213 | }); | 215 | }); |
| 216 | + $("#submintBtn").removeClass("disabled"); | ||
| 214 | } | 217 | } |
| 215 | } | 218 | } |
| 216 | }); | 219 | }); |
src/main/resources/static/pages/base/roadspeed/add.html
| @@ -102,10 +102,10 @@ | @@ -102,10 +102,10 @@ | ||
| 102 | <div class="col-md-9"> | 102 | <div class="col-md-9"> |
| 103 | <div class="icheck-list"> | 103 | <div class="icheck-list"> |
| 104 | <label> | 104 | <label> |
| 105 | - <input type="radio" class="icheck" name="baseRes" value=0 > 系统生成 | 105 | + <input type="radio" class="icheck" name="baseRes" value=0 checked> 系统生成 |
| 106 | </label> | 106 | </label> |
| 107 | <label > | 107 | <label > |
| 108 | - <input type="radio" class="icheck" name="baseRes" value=1 checked> 手动添加 | 108 | + <input type="radio" class="icheck" name="baseRes" value=1 > 手动添加 |
| 109 | </label> | 109 | </label> |
| 110 | </div> | 110 | </div> |
| 111 | </div> | 111 | </div> |
| @@ -251,7 +251,7 @@ | @@ -251,7 +251,7 @@ | ||
| 251 | <a href="javascript:;" class="btn btn-outline green button-next"> 下一步 | 251 | <a href="javascript:;" class="btn btn-outline green button-next"> 下一步 |
| 252 | <i class="fa fa-angle-right"></i> | 252 | <i class="fa fa-angle-right"></i> |
| 253 | </a> | 253 | </a> |
| 254 | - <a href="javascript:;" class="btn green button-submit" style="display: none;"> 提交 | 254 | + <a href="javascript:;" class="btn green button-submit" style="display: none;" id="submintBtn"> 提交 |
| 255 | <i class="fa fa-check"></i> | 255 | <i class="fa fa-check"></i> |
| 256 | </a> | 256 | </a> |
| 257 | </div> | 257 | </div> |
src/main/resources/static/pages/base/roadspeed/editroadspeed.html
| @@ -155,7 +155,7 @@ $('#edit_roadspeed_mobal').on('editRoadspeedMobal_show', function(e, map_,ajaxd, | @@ -155,7 +155,7 @@ $('#edit_roadspeed_mobal').on('editRoadspeedMobal_show', function(e, map_,ajaxd, | ||
| 155 | }, | 155 | }, |
| 156 | submitHandler : function(f) { | 156 | submitHandler : function(f) { |
| 157 | var params = form.serializeJSON(); | 157 | var params = form.serializeJSON(); |
| 158 | - params.bRoadVector = EditRoadspeedObj.getEitdRoadspeed().bRoadVector; | 158 | + params.bRoadVector = Roadspeed.bRoadVector; |
| 159 | error.hide(); | 159 | error.hide(); |
| 160 | ajaxd.roadspeedUpdate(params,function(resuntDate) { | 160 | ajaxd.roadspeedUpdate(params,function(resuntDate) { |
| 161 | if(resuntDate.status=='SUCCESS') { | 161 | if(resuntDate.status=='SUCCESS') { |
| @@ -164,7 +164,6 @@ $('#edit_roadspeed_mobal').on('editRoadspeedMobal_show', function(e, map_,ajaxd, | @@ -164,7 +164,6 @@ $('#edit_roadspeed_mobal').on('editRoadspeedMobal_show', function(e, map_,ajaxd, | ||
| 164 | }else { | 164 | }else { |
| 165 | // 弹出添加失败提示消息 | 165 | // 弹出添加失败提示消息 |
| 166 | layer.msg('修改失败...'); | 166 | layer.msg('修改失败...'); |
| 167 | - | ||
| 168 | } | 167 | } |
| 169 | $('#edit_roadspeed_mobal').modal('hide'); | 168 | $('#edit_roadspeed_mobal').modal('hide'); |
| 170 | closeMobleSetClean(); | 169 | closeMobleSetClean(); |
src/main/resources/static/pages/base/roadspeed/js/add-form-wizard.js
| @@ -76,6 +76,9 @@ var FormWizard = function() { | @@ -76,6 +76,9 @@ var FormWizard = function() { | ||
| 76 | * 默认:default (native) form submit;当表单通过验证,提交表单。回调函数有个默认参数form. | 76 | * 默认:default (native) form submit;当表单通过验证,提交表单。回调函数有个默认参数form. |
| 77 | */ | 77 | */ |
| 78 | submitHandler : function(f) { | 78 | submitHandler : function(f) { |
| 79 | + // 防止用户多次提交 | ||
| 80 | + $("#submintBtn").addClass("disabled"); | ||
| 81 | + debugger | ||
| 79 | var params = form.serializeJSON();// 表单序列化. | 82 | var params = form.serializeJSON();// 表单序列化. |
| 80 | if(params.roadVector=='') { | 83 | if(params.roadVector=='') { |
| 81 | layer.msg('路段几何图形为空~请先在路段位置步骤中绘制出线路走向!'); | 84 | layer.msg('路段几何图形为空~请先在路段位置步骤中绘制出线路走向!'); |
| @@ -90,6 +93,7 @@ var FormWizard = function() { | @@ -90,6 +93,7 @@ var FormWizard = function() { | ||
| 90 | } | 93 | } |
| 91 | loadPage('list.html');// 返回list.html页面. | 94 | loadPage('list.html');// 返回list.html页面. |
| 92 | }); | 95 | }); |
| 96 | + $("#submintBtn").removeClass("disabled"); | ||
| 93 | } | 97 | } |
| 94 | }); | 98 | }); |
| 95 | 99 | ||
| @@ -146,8 +150,8 @@ var FormWizard = function() { | @@ -146,8 +150,8 @@ var FormWizard = function() { | ||
| 146 | var stationStartValue = $('#stationStartInput').val(); | 150 | var stationStartValue = $('#stationStartInput').val(); |
| 147 | var stationEndValue = $('#stationEndInput').val(); | 151 | var stationEndValue = $('#stationEndInput').val(); |
| 148 | var paramsStationsArray = []; | 152 | var paramsStationsArray = []; |
| 149 | - paramsStationsArray[0] = stationStartValue+'公交车站'; | ||
| 150 | - paramsStationsArray[1]= stationEndValue+'公交车站'; | 153 | + paramsStationsArray[0] = stationStartValue; |
| 154 | + paramsStationsArray[1]= stationEndValue; | ||
| 151 | $('#nameInput').val(stationStartValue + '至' + stationEndValue ); | 155 | $('#nameInput').val(stationStartValue + '至' + stationEndValue ); |
| 152 | if(baseResValue == 0) { | 156 | if(baseResValue == 0) { |
| 153 | $('.leftUtils').hide(); | 157 | $('.leftUtils').hide(); |
| @@ -161,8 +165,8 @@ var FormWizard = function() { | @@ -161,8 +165,8 @@ var FormWizard = function() { | ||
| 161 | }); | 165 | }); |
| 162 | }); | 166 | }); |
| 163 | }else if(baseResValue ==1) { | 167 | }else if(baseResValue ==1) { |
| 164 | - SectionVmapWorlds.localSearchFromAdreesToPoint(stationStartValue+'公交车站'); | ||
| 165 | - SectionVmapWorlds.localSearchFromAdreesToPoint(stationEndValue+'公交车站'); | 168 | + SectionVmapWorlds.localSearchFromAdreesToPoint(stationStartValue); |
| 169 | + SectionVmapWorlds.localSearchFromAdreesToPoint(stationEndValue); | ||
| 166 | // SectionVmapWorlds.drawingManagerOpen(); | 170 | // SectionVmapWorlds.drawingManagerOpen(); |
| 167 | } | 171 | } |
| 168 | $('html,body').animate({scrollTop: ($('#form-wizard-info').offset().top-5) + "px"},500); | 172 | $('html,body').animate({scrollTop: ($('#form-wizard-info').offset().top-5) + "px"},500); |
src/main/resources/static/pages/base/roadspeed/js/add-vmap-world.js
| @@ -63,11 +63,11 @@ var SectionVmapWorlds = function() { | @@ -63,11 +63,11 @@ var SectionVmapWorlds = function() { | ||
| 63 | marker.setAnimation(BMAP_ANIMATION_BOUNCE); | 63 | marker.setAnimation(BMAP_ANIMATION_BOUNCE); |
| 64 | }else { | 64 | }else { |
| 65 | // 弹出添加成功提示消息 | 65 | // 弹出添加成功提示消息 |
| 66 | - layer.msg('无法获取停车场【'+Address+'】地理位置!'); | 66 | + layer.msg('无法获取【'+Address+'】地理位置!'); |
| 67 | } | 67 | } |
| 68 | }else { | 68 | }else { |
| 69 | // 弹出添加成功提示消息 | 69 | // 弹出添加成功提示消息 |
| 70 | - layer.msg('无法获取停车场【'+Address+'】地理位置!'); | 70 | + layer.msg('无法获取【'+Address+'】地理位置!'); |
| 71 | } | 71 | } |
| 72 | }); | 72 | }); |
| 73 | // 根据检索词发起检索。 | 73 | // 根据检索词发起检索。 |
| @@ -174,7 +174,7 @@ var SectionVmapWorlds = function() { | @@ -174,7 +174,7 @@ var SectionVmapWorlds = function() { | ||
| 174 | var f = arguments.callee; | 174 | var f = arguments.callee; |
| 175 | var poiOne = new BMap.Point(stationsPoint[index].potion.lng,stationsPoint[index].potion.lat); | 175 | var poiOne = new BMap.Point(stationsPoint[index].potion.lng,stationsPoint[index].potion.lat); |
| 176 | var poiTwo = new BMap.Point(stationsPoint[index+1].potion.lng,stationsPoint[index+1].potion.lat); | 176 | var poiTwo = new BMap.Point(stationsPoint[index+1].potion.lng,stationsPoint[index+1].potion.lat); |
| 177 | - var transit = new BMap.DrivingRoute(mapB, {renderOptions: {map: mapB},onPolylinesSet: searchPolylinesSet}); | 177 | + var transit = new BMap.DrivingRoute(mapB, {renderOptions: {map: mapB,enableDragging : true},onPolylinesSet: searchPolylinesSet}); |
| 178 | function searchPolylinesSet(results){ | 178 | function searchPolylinesSet(results){ |
| 179 | if (transit.getStatus() != BMAP_STATUS_SUCCESS){ | 179 | if (transit.getStatus() != BMAP_STATUS_SUCCESS){ |
| 180 | }else { | 180 | }else { |
src/main/resources/static/pages/base/section/add.html
| @@ -376,7 +376,7 @@ | @@ -376,7 +376,7 @@ | ||
| 376 | <a href="javascript:;" class="btn btn-outline green button-next"> 下一步 | 376 | <a href="javascript:;" class="btn btn-outline green button-next"> 下一步 |
| 377 | <i class="fa fa-angle-right"></i> | 377 | <i class="fa fa-angle-right"></i> |
| 378 | </a> | 378 | </a> |
| 379 | - <a href="javascript:;" class="btn green button-submit" style="display: none;"> 提交 | 379 | + <a href="javascript:;" class="btn green button-submit" style="display: none;" id="submintBtn"> 提交 |
| 380 | <i class="fa fa-check"></i> | 380 | <i class="fa fa-check"></i> |
| 381 | </a> | 381 | </a> |
| 382 | </div> | 382 | </div> |
src/main/resources/static/pages/base/section/js/add-form-wizard.js
| @@ -81,6 +81,8 @@ var FormWizard = function() { | @@ -81,6 +81,8 @@ var FormWizard = function() { | ||
| 81 | * 默认:default (native) form submit;当表单通过验证,提交表单。回调函数有个默认参数form. | 81 | * 默认:default (native) form submit;当表单通过验证,提交表单。回调函数有个默认参数form. |
| 82 | */ | 82 | */ |
| 83 | submitHandler : function(f) { | 83 | submitHandler : function(f) { |
| 84 | + // 防止用户多次提交 | ||
| 85 | + $("#submintBtn").addClass("disabled"); | ||
| 84 | var params = form.serializeJSON();// 表单序列化. | 86 | var params = form.serializeJSON();// 表单序列化. |
| 85 | if(params.bsectionVector=='') { | 87 | if(params.bsectionVector=='') { |
| 86 | layer.msg('路段几何图形为空~请先在路段位置步骤中绘制出线路走向!'); | 88 | layer.msg('路段几何图形为空~请先在路段位置步骤中绘制出线路走向!'); |
| @@ -95,6 +97,7 @@ var FormWizard = function() { | @@ -95,6 +97,7 @@ var FormWizard = function() { | ||
| 95 | } | 97 | } |
| 96 | loadPage('list.html');// 返回list.html页面. | 98 | loadPage('list.html');// 返回list.html页面. |
| 97 | }); | 99 | }); |
| 100 | + $("#submintBtn").removeClass("disabled"); | ||
| 98 | } | 101 | } |
| 99 | }); | 102 | }); |
| 100 | 103 | ||
| @@ -151,8 +154,8 @@ var FormWizard = function() { | @@ -151,8 +154,8 @@ var FormWizard = function() { | ||
| 151 | var stationStartValue = $('#stationStartInput').val(); | 154 | var stationStartValue = $('#stationStartInput').val(); |
| 152 | var stationEndValue = $('#stationEndInput').val(); | 155 | var stationEndValue = $('#stationEndInput').val(); |
| 153 | var paramsStationsArray = []; | 156 | var paramsStationsArray = []; |
| 154 | - paramsStationsArray[0] = stationStartValue+'公交车站'; | ||
| 155 | - paramsStationsArray[1]= stationEndValue+'公交车站'; | 157 | + paramsStationsArray[0] = stationStartValue; |
| 158 | + paramsStationsArray[1]= stationEndValue; | ||
| 156 | $('#sectionNameInput').val(stationStartValue + '至' + stationEndValue ); | 159 | $('#sectionNameInput').val(stationStartValue + '至' + stationEndValue ); |
| 157 | if(baseResValue == 0) { | 160 | if(baseResValue == 0) { |
| 158 | $('.leftUtils').hide(); | 161 | $('.leftUtils').hide(); |
| @@ -166,8 +169,8 @@ var FormWizard = function() { | @@ -166,8 +169,8 @@ var FormWizard = function() { | ||
| 166 | }); | 169 | }); |
| 167 | }); | 170 | }); |
| 168 | }else if(baseResValue ==1) { | 171 | }else if(baseResValue ==1) { |
| 169 | - SectionVmapWorlds.localSearchFromAdreesToPoint(stationStartValue+'公交车站'); | ||
| 170 | - SectionVmapWorlds.localSearchFromAdreesToPoint(stationEndValue+'公交车站'); | 172 | + SectionVmapWorlds.localSearchFromAdreesToPoint(stationStartValue); |
| 173 | + SectionVmapWorlds.localSearchFromAdreesToPoint(stationEndValue); | ||
| 171 | // SectionVmapWorlds.drawingManagerOpen(); | 174 | // SectionVmapWorlds.drawingManagerOpen(); |
| 172 | } | 175 | } |
| 173 | $('html,body').animate({scrollTop: ($('#form-wizard-info').offset().top-5) + "px"},500); | 176 | $('html,body').animate({scrollTop: ($('#form-wizard-info').offset().top-5) + "px"},500); |
src/main/resources/static/pages/base/section/js/add-vmap-world.js
| @@ -63,11 +63,11 @@ var SectionVmapWorlds = function() { | @@ -63,11 +63,11 @@ var SectionVmapWorlds = function() { | ||
| 63 | marker.setAnimation(BMAP_ANIMATION_BOUNCE); | 63 | marker.setAnimation(BMAP_ANIMATION_BOUNCE); |
| 64 | }else { | 64 | }else { |
| 65 | // 弹出添加成功提示消息 | 65 | // 弹出添加成功提示消息 |
| 66 | - layer.msg('无法获取停车场【'+Address+'】地理位置!'); | 66 | + layer.msg('无法获取【'+Address+'】地理位置!'); |
| 67 | } | 67 | } |
| 68 | }else { | 68 | }else { |
| 69 | // 弹出添加成功提示消息 | 69 | // 弹出添加成功提示消息 |
| 70 | - layer.msg('无法获取停车场【'+Address+'】地理位置!'); | 70 | + layer.msg('无法获取【'+Address+'】地理位置!'); |
| 71 | } | 71 | } |
| 72 | }); | 72 | }); |
| 73 | // 根据检索词发起检索。 | 73 | // 根据检索词发起检索。 |
| @@ -174,7 +174,7 @@ var SectionVmapWorlds = function() { | @@ -174,7 +174,7 @@ var SectionVmapWorlds = function() { | ||
| 174 | var f = arguments.callee; | 174 | var f = arguments.callee; |
| 175 | var poiOne = new BMap.Point(stationsPoint[index].potion.lng,stationsPoint[index].potion.lat); | 175 | var poiOne = new BMap.Point(stationsPoint[index].potion.lng,stationsPoint[index].potion.lat); |
| 176 | var poiTwo = new BMap.Point(stationsPoint[index+1].potion.lng,stationsPoint[index+1].potion.lat); | 176 | var poiTwo = new BMap.Point(stationsPoint[index+1].potion.lng,stationsPoint[index+1].potion.lat); |
| 177 | - var transit = new BMap.DrivingRoute(mapB, {renderOptions: {map: mapB},onPolylinesSet: searchPolylinesSet}); | 177 | + var transit = new BMap.DrivingRoute(mapB, {renderOptions: {map: mapB,enableDragging : true},onPolylinesSet: searchPolylinesSet}); |
| 178 | function searchPolylinesSet(results){ | 178 | function searchPolylinesSet(results){ |
| 179 | if (transit.getStatus() != BMAP_STATUS_SUCCESS){ | 179 | if (transit.getStatus() != BMAP_STATUS_SUCCESS){ |
| 180 | }else { | 180 | }else { |
src/main/resources/static/pages/base/station/add.html
| @@ -425,7 +425,7 @@ | @@ -425,7 +425,7 @@ | ||
| 425 | <a href="javascript:;" class="btn btn-outline green button-next"> 下一步 | 425 | <a href="javascript:;" class="btn btn-outline green button-next"> 下一步 |
| 426 | <i class="fa fa-angle-right"></i> | 426 | <i class="fa fa-angle-right"></i> |
| 427 | </a> | 427 | </a> |
| 428 | - <a href="javascript:;" class="btn green button-submit" style="display: none;"> 提交 | 428 | + <a href="javascript:;" class="btn green button-submit" style="display: none;" id="submintBtn"> 提交 |
| 429 | <i class="fa fa-check"></i> | 429 | <i class="fa fa-check"></i> |
| 430 | </a> | 430 | </a> |
| 431 | </div> | 431 | </div> |
src/main/resources/static/pages/base/station/js/add-form-wizard.js
| @@ -90,6 +90,8 @@ var FormWizard = function() { | @@ -90,6 +90,8 @@ var FormWizard = function() { | ||
| 90 | * 默认:default (native) form submit;当表单通过验证,提交表单。回调函数有个默认参数form | 90 | * 默认:default (native) form submit;当表单通过验证,提交表单。回调函数有个默认参数form |
| 91 | */ | 91 | */ |
| 92 | submitHandler : function(f) { | 92 | submitHandler : function(f) { |
| 93 | + // 防止用户多次提交 | ||
| 94 | + $("#submintBtn").addClass("disabled"); | ||
| 93 | // 表单序列化 | 95 | // 表单序列化 |
| 94 | var params = form.serializeJSON(); | 96 | var params = form.serializeJSON(); |
| 95 | if(params.shapesType=='圆形') | 97 | if(params.shapesType=='圆形') |
| @@ -108,6 +110,7 @@ var FormWizard = function() { | @@ -108,6 +110,7 @@ var FormWizard = function() { | ||
| 108 | // 返回list.html页面 | 110 | // 返回list.html页面 |
| 109 | loadPage('list.html'); | 111 | loadPage('list.html'); |
| 110 | }); | 112 | }); |
| 113 | + $("#submintBtn").removeClass("disabled"); | ||
| 111 | } | 114 | } |
| 112 | }); | 115 | }); |
| 113 | // 当站点类型为中途站或者终点站时,上一站点为必填项! | 116 | // 当站点类型为中途站或者终点站时,上一站点为必填项! |
src/main/resources/static/pages/electricity/list/add.html
| @@ -387,22 +387,35 @@ | @@ -387,22 +387,35 @@ | ||
| 387 | var date=$("#date").val(); | 387 | var date=$("#date").val(); |
| 388 | var jsy=$("#jsy").val(); | 388 | var jsy=$("#jsy").val(); |
| 389 | var xlbm=$("#xlbm").val(); | 389 | var xlbm=$("#xlbm").val(); |
| 390 | + var gsdm=$("#ssgsdm").val(); | ||
| 390 | var map={}; | 391 | var map={}; |
| 391 | map["nbbm"]=nbbm; | 392 | map["nbbm"]=nbbm; |
| 392 | map["date"]=date; | 393 | map["date"]=date; |
| 393 | map["jsy"]=jsy; | 394 | map["jsy"]=jsy; |
| 394 | map["xlbm"]=xlbm; | 395 | map["xlbm"]=xlbm; |
| 396 | + map["rq"]=date; | ||
| 397 | + map["ssgsdm_like"]=gsdm; | ||
| 395 | //检查一下用户是否存在 | 398 | //检查一下用户是否存在 |
| 396 | - $get('/dlb/checkJsy', map, function(fage){ | ||
| 397 | - if(fage=="0"){ | ||
| 398 | - layer.msg('该驾驶员当天已存在.'); | 399 | + var i = layer.load(2); |
| 400 | + $get('/ylb/checkDate', map, function(fage){ | ||
| 401 | + if(fage=="2"){ | ||
| 402 | + layer.msg('只能操作三天内数据.'); | ||
| 403 | + layer.close(i); | ||
| 399 | }else{ | 404 | }else{ |
| 400 | - $post('/dlb/saveDlb', params, function(){ | ||
| 401 | - layer.msg('添加信息成功.'); | ||
| 402 | - loadPage('list.html'); | 405 | + $get('/dlb/checkJsy', map, function(fage){ |
| 406 | + if(fage=="0"){ | ||
| 407 | + layer.msg('该驾驶员当天已存在.'); | ||
| 408 | + layer.close(i); | ||
| 409 | + }else{ | ||
| 410 | + $post('/dlb/saveDlb', params, function(){ | ||
| 411 | + layer.close(i); | ||
| 412 | + layer.msg('添加信息成功.'); | ||
| 413 | + loadPage('list.html'); | ||
| 414 | + }); | ||
| 415 | + } | ||
| 403 | }); | 416 | }); |
| 404 | } | 417 | } |
| 405 | - }); | 418 | + }) |
| 406 | } | 419 | } |
| 407 | }); | 420 | }); |
| 408 | }); | 421 | }); |
src/main/resources/static/pages/electricity/list/list.html
| @@ -271,12 +271,18 @@ onkeyup="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').rep | @@ -271,12 +271,18 @@ onkeyup="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').rep | ||
| 271 | 271 | ||
| 272 | $("#checkDl").on('click', function () { | 272 | $("#checkDl").on('click', function () { |
| 273 | if ($("#rq").val() != "") { | 273 | if ($("#rq").val() != "") { |
| 274 | - var params=getParamsList(); | ||
| 275 | - var i = layer.load(2); | ||
| 276 | - $get('/dlb/checkDl', params, function () { | ||
| 277 | - layer.close(i); | ||
| 278 | - jsDoQuery(params, true); | ||
| 279 | - }); | 274 | + var params=getParamsList(); |
| 275 | + $get('/ylb/checkDate',params,function(status){ | ||
| 276 | + if(status=='2'){ | ||
| 277 | + layer.msg('只能操作三天内数据.'); | ||
| 278 | + }else{ | ||
| 279 | + var i = layer.load(2); | ||
| 280 | + $get('/dlb/checkDl', params, function () { | ||
| 281 | + layer.close(i); | ||
| 282 | + jsDoQuery(params, true); | ||
| 283 | + }); | ||
| 284 | + } | ||
| 285 | + }) | ||
| 280 | } else { | 286 | } else { |
| 281 | layer.msg('请选择日期.'); | 287 | layer.msg('请选择日期.'); |
| 282 | } | 288 | } |
| @@ -286,12 +292,18 @@ onkeyup="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').rep | @@ -286,12 +292,18 @@ onkeyup="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').rep | ||
| 286 | $("#outAndIn").on('click', function () { | 292 | $("#outAndIn").on('click', function () { |
| 287 | console.log("进场油量等于出场油量"); | 293 | console.log("进场油量等于出场油量"); |
| 288 | if ($("#rq").val() != "") { | 294 | if ($("#rq").val() != "") { |
| 289 | - var params=getParamsList(); | ||
| 290 | - var i = layer.load(2); | ||
| 291 | - $get('/ylb/outAndIn', params, function () { | ||
| 292 | - layer.close(i); | ||
| 293 | - jsDoQuery(params, true); | ||
| 294 | - }); | 295 | + var params=getParamsList(); |
| 296 | + $get('/ylb/checkDate',params,function(status){ | ||
| 297 | + if(status=='2'){ | ||
| 298 | + layer.msg('只能操作三天内数据.'); | ||
| 299 | + }else{ | ||
| 300 | + var i = layer.load(2); | ||
| 301 | + $get('/ylb/outAndIn', params, function () { | ||
| 302 | + layer.close(i); | ||
| 303 | + jsDoQuery(params, true); | ||
| 304 | + }); | ||
| 305 | + } | ||
| 306 | + }) | ||
| 295 | } else { | 307 | } else { |
| 296 | layer.msg('请选择日期.'); | 308 | layer.msg('请选择日期.'); |
| 297 | } | 309 | } |
| @@ -300,56 +312,63 @@ onkeyup="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').rep | @@ -300,56 +312,63 @@ onkeyup="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').rep | ||
| 300 | 312 | ||
| 301 | //保存 | 313 | //保存 |
| 302 | $("#saveButton").on('click',function(){ | 314 | $("#saveButton").on('click',function(){ |
| 303 | - var ylArray = []; | ||
| 304 | - $('input.icheck').each(function(){ | ||
| 305 | - var map = {}; | ||
| 306 | - var id=$(this).data('id'); | ||
| 307 | - var nbbm =$('.in_carpark_nbbm[data-id='+id+']', '#dl_oil_list').html(); | ||
| 308 | - var cdl =$('.in_carpark_cdl[data-id='+id+']', '#dl_oil_list').html(); | ||
| 309 | - if(cdl=="" || cdl ==null){ | ||
| 310 | - cdl=0; | ||
| 311 | - } | ||
| 312 | - var czcd=$('.in_carpark_czcd[data-id='+id+']', '#dl_oil_list').val(); | ||
| 313 | - if(czcd=="" || czcd==null){ | ||
| 314 | - czcd=0; | ||
| 315 | - } | ||
| 316 | - var jzcd=$('.in_carpark_jzcd[data-id='+id+']', '#dl_oil_list').val(); | ||
| 317 | - if(jzcd=="" || jzcd==null){ | ||
| 318 | - jzcd=0; | ||
| 319 | - } | ||
| 320 | - | ||
| 321 | - var sh = $('.in_carpark_shyl[data-id='+id+']', '#dl_oil_list').val(); | ||
| 322 | - if(sh=="" || sh==null){ | ||
| 323 | - sh=0; | ||
| 324 | - } | ||
| 325 | - | ||
| 326 | - var shyy = $('.in_carpark_shyy[data-id='+id+']', '#dl_oil_list').val(); | ||
| 327 | - var hd = $('.in_carpark_hd[data-id='+id+']', '#dl_oil_list').val(); | ||
| 328 | - if(hd=="" || hd==null){ | ||
| 329 | - hd=0; | ||
| 330 | - } | ||
| 331 | - var yhlx = $('.in_carpark_yhlx[data-id='+id+']', '#dl_oil_list').val(); | ||
| 332 | - | ||
| 333 | - map['id']=id; | ||
| 334 | - map['cdl']=cdl; | ||
| 335 | - map['czcd']=czcd; | ||
| 336 | - map['jzcd']=jzcd; | ||
| 337 | - map['sh']=sh; | ||
| 338 | - map['shyy']=shyy; | ||
| 339 | - map['yhlx']=yhlx; | ||
| 340 | - map['nbbm']=nbbm; | ||
| 341 | - map['hd']=hd; | ||
| 342 | - map['rq']=$("#rq").val(); | ||
| 343 | - ylArray.push(map); | 315 | + var params_=getParamsList(); |
| 316 | + $get('/ylb/checkDate',params_,function(status){ | ||
| 317 | + if(status=='2'){ | ||
| 318 | + layer.msg('只能操作三天内数据.'); | ||
| 319 | + }else{ | ||
| 320 | + var ylArray = []; | ||
| 321 | + $('input.icheck').each(function(){ | ||
| 322 | + var map = {}; | ||
| 323 | + var id=$(this).data('id'); | ||
| 324 | + var nbbm =$('.in_carpark_nbbm[data-id='+id+']', '#dl_oil_list').html(); | ||
| 325 | + var cdl =$('.in_carpark_cdl[data-id='+id+']', '#dl_oil_list').html(); | ||
| 326 | + if(cdl=="" || cdl ==null){ | ||
| 327 | + cdl=0; | ||
| 328 | + } | ||
| 329 | + var czcd=$('.in_carpark_czcd[data-id='+id+']', '#dl_oil_list').val(); | ||
| 330 | + if(czcd=="" || czcd==null){ | ||
| 331 | + czcd=0; | ||
| 332 | + } | ||
| 333 | + var jzcd=$('.in_carpark_jzcd[data-id='+id+']', '#dl_oil_list').val(); | ||
| 334 | + if(jzcd=="" || jzcd==null){ | ||
| 335 | + jzcd=0; | ||
| 336 | + } | ||
| 337 | + | ||
| 338 | + var sh = $('.in_carpark_shyl[data-id='+id+']', '#dl_oil_list').val(); | ||
| 339 | + if(sh=="" || sh==null){ | ||
| 340 | + sh=0; | ||
| 341 | + } | ||
| 342 | + | ||
| 343 | + var shyy = $('.in_carpark_shyy[data-id='+id+']', '#dl_oil_list').val(); | ||
| 344 | + var hd = $('.in_carpark_hd[data-id='+id+']', '#dl_oil_list').val(); | ||
| 345 | + if(hd=="" || hd==null){ | ||
| 346 | + hd=0; | ||
| 347 | + } | ||
| 348 | + var yhlx = $('.in_carpark_yhlx[data-id='+id+']', '#dl_oil_list').val(); | ||
| 349 | + | ||
| 350 | + map['id']=id; | ||
| 351 | + map['cdl']=cdl; | ||
| 352 | + map['czcd']=czcd; | ||
| 353 | + map['jzcd']=jzcd; | ||
| 354 | + map['sh']=sh; | ||
| 355 | + map['shyy']=shyy; | ||
| 356 | + map['yhlx']=yhlx; | ||
| 357 | + map['nbbm']=nbbm; | ||
| 358 | + map['hd']=hd; | ||
| 359 | + map['rq']=$("#rq").val(); | ||
| 360 | + ylArray.push(map); | ||
| 361 | + }) | ||
| 362 | + var params = {}; | ||
| 363 | + params['dlbList']=JSON.stringify(ylArray); | ||
| 364 | + var i = layer.load(2); | ||
| 365 | + $post('/dlb/saveDlbList', params, function () { | ||
| 366 | + layer.close(i); | ||
| 367 | + var params1 =getParamsList(); | ||
| 368 | + jsDoQuery(params1, true); | ||
| 369 | + }); | ||
| 370 | + } | ||
| 344 | }) | 371 | }) |
| 345 | - var params = {}; | ||
| 346 | - params['dlbList']=JSON.stringify(ylArray); | ||
| 347 | - var i = layer.load(2); | ||
| 348 | - $post('/dlb/saveDlbList', params, function () { | ||
| 349 | - layer.close(i); | ||
| 350 | - var params1 =getParamsList(); | ||
| 351 | - jsDoQuery(params1, true); | ||
| 352 | - }); | ||
| 353 | }) | 372 | }) |
| 354 | //拆分 | 373 | //拆分 |
| 355 | $("#sortButton").on('click', function () { | 374 | $("#sortButton").on('click', function () { |
| @@ -405,13 +424,18 @@ onkeyup="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').rep | @@ -405,13 +424,18 @@ onkeyup="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').rep | ||
| 405 | //获取加存信息 | 424 | //获取加存信息 |
| 406 | $("#obtain").on('click', function () { | 425 | $("#obtain").on('click', function () { |
| 407 | if ($("#rq").val() != "") { | 426 | if ($("#rq").val() != "") { |
| 408 | - var params =getParamsList(); | ||
| 409 | - | ||
| 410 | - var i = layer.load(2); | ||
| 411 | - $get('/dlb/obtain', params, function () { | ||
| 412 | - layer.close(i); | ||
| 413 | - jsDoQuery(params, true); | ||
| 414 | - }); | 427 | + var params=getParamsList(); |
| 428 | + $get('/ylb/checkDate',params,function(status){ | ||
| 429 | + if(status=='2'){ | ||
| 430 | + layer.msg('只能操作三天内数据.'); | ||
| 431 | + }else{ | ||
| 432 | + var i = layer.load(2); | ||
| 433 | + $get('/dlb/obtain', params, function () { | ||
| 434 | + layer.close(i); | ||
| 435 | + jsDoQuery(params, true); | ||
| 436 | + }); | ||
| 437 | + } | ||
| 438 | + }) | ||
| 415 | } else { | 439 | } else { |
| 416 | layer.msg('请选择日期.'); | 440 | layer.msg('请选择日期.'); |
| 417 | } | 441 | } |
| @@ -563,15 +587,20 @@ onkeyup="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').rep | @@ -563,15 +587,20 @@ onkeyup="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').rep | ||
| 563 | } | 587 | } |
| 564 | 588 | ||
| 565 | function jsyUpdate(){ | 589 | function jsyUpdate(){ |
| 566 | - var id = $(this).data('id'); | ||
| 567 | - var jsy=$('.in_carpark_jsy[data-id='+id+']', '#dl_oil_list').val(); | ||
| 568 | - $get('/dlb/updateJsy',{id:id,jsy:jsy}, function(result){ | ||
| 569 | - layer.msg('修改成功.'); | ||
| 570 | - var params = getParamsList(); | ||
| 571 | - page = 0; | ||
| 572 | - jsDoQuery(params, true); | ||
| 573 | - }); | ||
| 574 | - | 590 | + var params=getParamsList(); |
| 591 | + $get('/ylb/checkDate',params,function(status){ | ||
| 592 | + if(status=='2'){ | ||
| 593 | + layer.msg('只能操作三天内数据.'); | ||
| 594 | + }else{ | ||
| 595 | + var id = $(this).data('id'); | ||
| 596 | + var jsy=$('.in_carpark_jsy[data-id='+id+']', '#dl_oil_list').val(); | ||
| 597 | + $get('/dlb/updateJsy',{id:id,jsy:jsy}, function(result){ | ||
| 598 | + layer.msg('修改成功.'); | ||
| 599 | + page = 0; | ||
| 600 | + jsDoQuery(params, true); | ||
| 601 | + }); | ||
| 602 | + } | ||
| 603 | + }) | ||
| 575 | } | 604 | } |
| 576 | //页面计算防止精度丢失 | 605 | //页面计算防止精度丢失 |
| 577 | var accAdd = function (a, b) { | 606 | var accAdd = function (a, b) { |
| @@ -702,31 +731,38 @@ onkeyup="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').rep | @@ -702,31 +731,38 @@ onkeyup="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').rep | ||
| 702 | 731 | ||
| 703 | //删除 | 732 | //删除 |
| 704 | $('#removeButton').on('click', function () { | 733 | $('#removeButton').on('click', function () { |
| 705 | - var idArray = []; | ||
| 706 | - var x=0; | ||
| 707 | - $('input.icheck:checked').each(function(){ | ||
| 708 | - x++; | ||
| 709 | - var map ={}; | ||
| 710 | - var id=$(this).data('id'); | ||
| 711 | - map['id']=id; | ||
| 712 | - idArray.push(map); | ||
| 713 | - | 734 | + var params_=getParamsList(); |
| 735 | + $get('/ylb/checkDate',params_,function(status){ | ||
| 736 | + if(status=='2'){ | ||
| 737 | + layer.msg('只能操作三天内数据.'); | ||
| 738 | + }else{ | ||
| 739 | + var idArray = []; | ||
| 740 | + var x=0; | ||
| 741 | + $('input.icheck:checked').each(function(){ | ||
| 742 | + x++; | ||
| 743 | + var map ={}; | ||
| 744 | + var id=$(this).data('id'); | ||
| 745 | + map['id']=id; | ||
| 746 | + idArray.push(map); | ||
| 747 | + | ||
| 748 | + }) | ||
| 749 | + var params = {}; | ||
| 750 | + params['ids']=JSON.stringify(idArray); | ||
| 751 | + if (x==0) { | ||
| 752 | + layer.msg("请选择要删除的数据"); | ||
| 753 | + }else{ | ||
| 754 | + if(confirm('确定要删除选中的数据?')) | ||
| 755 | + { | ||
| 756 | + var i = layer.load(2); | ||
| 757 | + $post('/dlb/deleteIds', params, function (result) { | ||
| 758 | + layer.close(i); | ||
| 759 | + var params=getParamsList(); | ||
| 760 | + jsDoQuery(params, true); | ||
| 761 | + }); | ||
| 762 | + } | ||
| 763 | + } | ||
| 764 | + } | ||
| 714 | }) | 765 | }) |
| 715 | - var params = {}; | ||
| 716 | - params['ids']=JSON.stringify(idArray); | ||
| 717 | - if (x==0) { | ||
| 718 | - layer.msg("请选择要删除的数据"); | ||
| 719 | - }else{ | ||
| 720 | - if(confirm('确定要删除选中的数据?')) | ||
| 721 | - { | ||
| 722 | - var i = layer.load(2); | ||
| 723 | - $post('/dlb/deleteIds', params, function (result) { | ||
| 724 | - layer.close(i); | ||
| 725 | - var params=getParamsList(); | ||
| 726 | - jsDoQuery(params, true); | ||
| 727 | - }); | ||
| 728 | - } | ||
| 729 | - } | ||
| 730 | }); | 766 | }); |
| 731 | 767 | ||
| 732 | 768 |
src/main/resources/static/pages/forms/statement/firstAndLastBus_delay.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 | + text-align: center; } | ||
| 12 | + .table-bordered > thead > tr > th, | ||
| 13 | + .table-bordered > thead > tr > td { | ||
| 14 | + border-bottom-width: 2px; } | ||
| 15 | + | ||
| 16 | + .table > tbody + tbody { | ||
| 17 | + border-top: 1px solid; } | ||
| 18 | +</style> | ||
| 19 | + | ||
| 20 | +<div class="page-head"> | ||
| 21 | + <div class="page-title"> | ||
| 22 | + <h1>线路首末班准点率</h1> | ||
| 23 | + </div> | ||
| 24 | +</div> | ||
| 25 | + | ||
| 26 | +<div class="row"> | ||
| 27 | + <div class="col-md-12"> | ||
| 28 | + <div class="portlet light porttlet-fit bordered"> | ||
| 29 | + <div class="portlet-title"> | ||
| 30 | + <form id="history" class="form-inline" action=""> | ||
| 31 | + <div style="display: inline-block;margin-left: 28px;" id="company1"> | ||
| 32 | + <span class="item-label" style="width: 80px;">公司: </span> | ||
| 33 | + <select class="form-control" name="company" id="company" style="width: 160px;"></select> | ||
| 34 | + </div> | ||
| 35 | + <div style="display: inline-block;margin-left: 24px;" id="subCompany1"> | ||
| 36 | + <span class="item-label" style="width: 80px;">分公司: </span> | ||
| 37 | + <select class="form-control" name="subCompany" id="subCompany" style="width: 160px;"></select> | ||
| 38 | + </div> | ||
| 39 | + <div style="display: inline-block;margin-left: 10px;"> | ||
| 40 | + <span class="item-label" style="width: 80px;">线路: </span> | ||
| 41 | + <select class="form-control" name="line" id="line" style="width: 160px;"></select> | ||
| 42 | + </div> | ||
| 43 | + <div style="margin-top: 10px"></div> | ||
| 44 | + <div style="display: inline-block;margin-left: 0px;"> | ||
| 45 | + <span class="item-label" style="width: 80px;">开始时间: </span> | ||
| 46 | + <input class="form-control" type="text" id="startDate" style="width: 160px;"/> | ||
| 47 | + </div> | ||
| 48 | + <div style="display: inline-block;margin-left: 10px;"> | ||
| 49 | + <span class="item-label" style="width: 80px;">结束时间: </span> | ||
| 50 | + <input class="form-control" type="text" id="endDate" style="width: 160px;"/> | ||
| 51 | + </div> | ||
| 52 | + <div class="form-group" style="margin-left: 10px;"> | ||
| 53 | + <input class="btn btn-default" type="button" id="query" value="筛选"/> | ||
| 54 | + <input class="btn btn-default" type="button" id="export" value="导出"/> | ||
| 55 | + </div> | ||
| 56 | + </form> | ||
| 57 | + </div> | ||
| 58 | + <div class="portlet-body"> | ||
| 59 | + <div class="table-container" style="margin-top: 10px;overflow:auto;min-width: 906px"> | ||
| 60 | + <table class="table table-bordered table-hover table-checkable" id="forms"> | ||
| 61 | + <thead> | ||
| 62 | + <tr class="hidden"> | ||
| 63 | + <th align="center">序号</th> | ||
| 64 | + <th>日期</th> | ||
| 65 | + <th>分公司</th> | ||
| 66 | + <th>线路</th> | ||
| 67 | + <th>首末班次</th> | ||
| 68 | + <th>计发</th> | ||
| 69 | + <th>实发</th> | ||
| 70 | + <th>误差</th> | ||
| 71 | + <th>调度路单备注</th> | ||
| 72 | + </tr> | ||
| 73 | + </thead> | ||
| 74 | + <tbody> | ||
| 75 | + | ||
| 76 | + </tbody> | ||
| 77 | + </table> | ||
| 78 | + </div> | ||
| 79 | + </div> | ||
| 80 | + </div> | ||
| 81 | + </div> | ||
| 82 | +</div> | ||
| 83 | + | ||
| 84 | +<script type="text/javascript" src="js/jquery.table2excel.min.js"></script> | ||
| 85 | +<script> | ||
| 86 | + $(function(){ | ||
| 87 | + $('#export').attr('disabled', "true"); | ||
| 88 | + | ||
| 89 | + // 关闭左侧栏 | ||
| 90 | + if (!$('body').hasClass('page-sidebar-closed')) | ||
| 91 | + $('.menu-toggler.sidebar-toggler').click(); | ||
| 92 | + | ||
| 93 | + | ||
| 94 | + var d = new Date(); | ||
| 95 | + d.setTime(d.getTime() - 1*1000*60*60*24); | ||
| 96 | + var year = d.getFullYear(); | ||
| 97 | + var month = d.getMonth() + 1; | ||
| 98 | + var day = d.getDate(); | ||
| 99 | + if(month < 10) | ||
| 100 | + month = "0" + month; | ||
| 101 | + if(day < 10) | ||
| 102 | + day = "0" + day; | ||
| 103 | + var dateTime = year + "-" + month + "-" + day; | ||
| 104 | + $("#startDate,#endDate").datetimepicker({ | ||
| 105 | + format : 'YYYY-MM-DD', | ||
| 106 | + locale : 'zh-cn', | ||
| 107 | + maxDate : dateTime | ||
| 108 | + }); | ||
| 109 | + $("#startDate,#endDate").val(dateTime); | ||
| 110 | + | ||
| 111 | + var fage=false; | ||
| 112 | + var xlList; | ||
| 113 | + var obj = []; | ||
| 114 | + | ||
| 115 | + $.get('/report/lineList',function(result){ | ||
| 116 | + xlList=result; | ||
| 117 | + $.get('/user/companyData', function(result){ | ||
| 118 | + obj = result; | ||
| 119 | + var options = ''; | ||
| 120 | + for(var i = 0; i < obj.length; i++){ | ||
| 121 | + options += '<option value="'+obj[i].companyCode+'">'+obj[i].companyName+'</option>'; | ||
| 122 | + } | ||
| 123 | + | ||
| 124 | + if(obj.length ==0){ | ||
| 125 | + $("#company1").css('display','none'); | ||
| 126 | + }else if(obj.length ==1){ | ||
| 127 | + $("#company1").css('display','none'); | ||
| 128 | + if(obj[0].children.length == 1 || obj[0].children.length ==0) | ||
| 129 | + $('#subCompany1').css('display','none'); | ||
| 130 | + } | ||
| 131 | + $('#company').html(options); | ||
| 132 | + updateCompany(); | ||
| 133 | + }); | ||
| 134 | + }) | ||
| 135 | + $("#company").on("change",updateCompany); | ||
| 136 | + function updateCompany(){ | ||
| 137 | + var company = $('#company').val(); | ||
| 138 | + var options = ''; | ||
| 139 | + for(var i = 0; i < obj.length; i++){ | ||
| 140 | + if(obj[i].companyCode == company){ | ||
| 141 | + var children = obj[i].children; | ||
| 142 | + for(var j = 0; j < children.length; j++){ | ||
| 143 | + options += '<option value="'+children[j].code+'">'+children[j].name+'</option>'; | ||
| 144 | + } | ||
| 145 | + } | ||
| 146 | + } | ||
| 147 | + $('#subCompany').html(options); | ||
| 148 | + } | ||
| 149 | + | ||
| 150 | + var tempData = {}; | ||
| 151 | + $.get('/report/lineList',function(xlList){ | ||
| 152 | + var data = []; | ||
| 153 | + data.push({id: " ", text: "全部线路"}); | ||
| 154 | + $.get('/user/companyData', function(result){ | ||
| 155 | + for(var i = 0; i < result.length; i++){ | ||
| 156 | + var companyCode = result[i].companyCode; | ||
| 157 | + var children = result[i].children; | ||
| 158 | + for(var j = 0; j < children.length; j++){ | ||
| 159 | + var code = children[j].code; | ||
| 160 | + for(var k=0;k < xlList.length;k++ ){ | ||
| 161 | + if(xlList[k]["fgsbm"]==code && xlList[k]["gsbm"]==companyCode){ | ||
| 162 | + data.push({id: xlList[k]["xlbm"], text: xlList[k]["xlname"]}); | ||
| 163 | + tempData[xlList[k]["xlbm"]] = companyCode+":"+code; | ||
| 164 | + } | ||
| 165 | + } | ||
| 166 | + } | ||
| 167 | + } | ||
| 168 | + initPinYinSelect2('#line',data,''); | ||
| 169 | + | ||
| 170 | + }); | ||
| 171 | + }); | ||
| 172 | + | ||
| 173 | + $("#line").on("change", function(){ | ||
| 174 | + if($("#line").val() == " "){ | ||
| 175 | + $("#company").attr("disabled", false); | ||
| 176 | + $("#subCompany").attr("disabled", false); | ||
| 177 | + } else { | ||
| 178 | + var temp = tempData[$("#line").val()].split(":"); | ||
| 179 | + $("#company").val(temp[0]); | ||
| 180 | + updateCompany(); | ||
| 181 | + $("#subCompany").val(temp[1]); | ||
| 182 | + $("#company").attr("disabled", true); | ||
| 183 | + $("#subCompany").attr("disabled", true); | ||
| 184 | + } | ||
| 185 | + }); | ||
| 186 | + | ||
| 187 | + $("#query").on("click",jsDoQuery); | ||
| 188 | + | ||
| 189 | + var company = $("#company").val(); | ||
| 190 | + var subCompany = $("#subCompany").val(); | ||
| 191 | + var line = $("#line").val(); | ||
| 192 | + var startDate = $("#startDate").val(); | ||
| 193 | + var endDate = $("#endDate").val(); | ||
| 194 | + function jsDoQuery(pagination){ | ||
| 195 | + if($("#startDate").val() == null || $("#startDate").val().trim().length == 0){ | ||
| 196 | + layer.msg("请选择时间!"); | ||
| 197 | + return; | ||
| 198 | + } | ||
| 199 | + if($("#endDate").val() == null || $("#endDate").val().trim().length == 0){ | ||
| 200 | + layer.msg("请选择时间!"); | ||
| 201 | + return; | ||
| 202 | + } | ||
| 203 | + var i = layer.load(2); | ||
| 204 | + var params = {}; | ||
| 205 | + company = $("#company").val(); | ||
| 206 | + subCompany = $("#subCompany").val(); | ||
| 207 | + line = $("#line").val(); | ||
| 208 | + startDate = $("#startDate").val(); | ||
| 209 | + endDate = $("#endDate").val(); | ||
| 210 | + if(line == " ") | ||
| 211 | + line = ""; | ||
| 212 | + params['company'] = company; | ||
| 213 | + params['subCompany'] = subCompany; | ||
| 214 | + params['line'] = line; | ||
| 215 | + params['startDate'] = startDate; | ||
| 216 | + params['endDate'] = endDate; | ||
| 217 | + params['type'] = "query"; | ||
| 218 | + $("#forms .hidden").removeClass("hidden"); | ||
| 219 | + $("#map tr").addClass("hidden"); | ||
| 220 | + $("#sumMap tr").addClass("hidden"); | ||
| 221 | + $get('/pcpc/firstAndLastBus_sum', params, function(result){ | ||
| 222 | + // 把数据填充到模版中 | ||
| 223 | + var tbodyHtml = template('list_firstAndLastBus_delay',{list:result[result.length - 1].map}); | ||
| 224 | + // 把渲染好的模版html文本追加到表格中 | ||
| 225 | + $('#forms tbody').html(tbodyHtml); | ||
| 226 | + | ||
| 227 | + if(result.length == 0) | ||
| 228 | + $("#export").attr('disabled',"true"); | ||
| 229 | + else | ||
| 230 | + $("#export").removeAttr("disabled"); | ||
| 231 | + | ||
| 232 | + layer.close(i); | ||
| 233 | + }); | ||
| 234 | + } | ||
| 235 | + | ||
| 236 | + $("#export").on("click",function(){ | ||
| 237 | + $("#forms").table2excel({ | ||
| 238 | + exclue: ".noExl", | ||
| 239 | + name: "Excel Document Name.xlsx", | ||
| 240 | + filename: "首末班误点班次", | ||
| 241 | + exclude_img: true, | ||
| 242 | + exclude_links: true, | ||
| 243 | + exclude_inputs: true | ||
| 244 | + }); | ||
| 245 | + }); | ||
| 246 | + | ||
| 247 | + | ||
| 248 | + }); | ||
| 249 | + | ||
| 250 | +</script> | ||
| 251 | +<script type="text/html" id="list_firstAndLastBus_delay"> | ||
| 252 | + {{each list as obj i}} | ||
| 253 | + <tr> | ||
| 254 | + <td>{{obj.no}}</td> | ||
| 255 | + <td>{{obj.date}}</td> | ||
| 256 | + <td>{{obj.subCompany}}</td> | ||
| 257 | + <td>{{obj.line}}</td> | ||
| 258 | + <td>{{obj.firstOrLast}}</td> | ||
| 259 | + <td>{{obj.jhfc}}</td> | ||
| 260 | + <td>{{obj.sjfc}}</td> | ||
| 261 | + <td> {{obj.delay}}</td> | ||
| 262 | + <td>{{obj.remarks1}}</td> | ||
| 263 | + </tr> | ||
| 264 | + {{/each}} | ||
| 265 | +</script> | ||
| 0 | \ No newline at end of file | 266 | \ No newline at end of file |
src/main/resources/static/pages/forms/statement/firstAndLastBus_sum.html
| @@ -75,11 +75,11 @@ | @@ -75,11 +75,11 @@ | ||
| 75 | </table> | 75 | </table> |
| 76 | </div> | 76 | </div> |
| 77 | <div class="table-container" style="margin-top: 10px;overflow:auto;min-width: 906px"> | 77 | <div class="table-container" style="margin-top: 10px;overflow:auto;min-width: 906px"> |
| 78 | + <input class="btn btn-default hidden" type="button" id="exportMap" value="导出明细" style="float: right;"/> | ||
| 78 | <table class="table table-bordered table-hover table-checkable" id="map"> | 79 | <table class="table table-bordered table-hover table-checkable" id="map"> |
| 79 | <thead> | 80 | <thead> |
| 80 | <tr class="hidden"> | 81 | <tr class="hidden"> |
| 81 | - <th style="display: none;"></th> | ||
| 82 | - <th rowspan="2">日期</th> | 82 | + <th rowspan="2" align="center">日期</th> |
| 83 | <th rowspan="2">线路</th> | 83 | <th rowspan="2">线路</th> |
| 84 | <th colspan="4">上行首发</th> | 84 | <th colspan="4">上行首发</th> |
| 85 | <th colspan="4">上行末发</th> | 85 | <th colspan="4">上行末发</th> |
| @@ -87,8 +87,7 @@ | @@ -87,8 +87,7 @@ | ||
| 87 | <th colspan="4">下行末发</th> | 87 | <th colspan="4">下行末发</th> |
| 88 | </tr> | 88 | </tr> |
| 89 | <tr class="hidden"> | 89 | <tr class="hidden"> |
| 90 | - <th style="display: none;"></th> | ||
| 91 | - <th>站点</th> | 90 | + <th align="center">站点</th> |
| 92 | <th>计发</th> | 91 | <th>计发</th> |
| 93 | <th>实发</th> | 92 | <th>实发</th> |
| 94 | <th>快慢</th> | 93 | <th>快慢</th> |
| @@ -110,12 +109,33 @@ | @@ -110,12 +109,33 @@ | ||
| 110 | 109 | ||
| 111 | </tbody> | 110 | </tbody> |
| 112 | </table> | 111 | </table> |
| 112 | + | ||
| 113 | + <input class="btn btn-default hidden" type="button" id="exportSumMap" value="导出明细" style="float: right;"/> | ||
| 114 | + <table class="table table-bordered table-hover table-checkable" id="sumMap"> | ||
| 115 | + <thead> | ||
| 116 | + <tr class="hidden"> | ||
| 117 | + <th align="center">序号</th> | ||
| 118 | + <th>日期</th> | ||
| 119 | + <th>分公司</th> | ||
| 120 | + <th>线路</th> | ||
| 121 | + <th>首末班次</th> | ||
| 122 | + <th>计发</th> | ||
| 123 | + <th>实发</th> | ||
| 124 | + <th>误差</th> | ||
| 125 | + <th>调度路单备注</th> | ||
| 126 | + </tr> | ||
| 127 | + </thead> | ||
| 128 | + <tbody> | ||
| 129 | + | ||
| 130 | + </tbody> | ||
| 131 | + </table> | ||
| 113 | </div> | 132 | </div> |
| 114 | </div> | 133 | </div> |
| 115 | </div> | 134 | </div> |
| 116 | </div> | 135 | </div> |
| 117 | </div> | 136 | </div> |
| 118 | 137 | ||
| 138 | +<script type="text/javascript" src="js/jquery.table2excel.min.js"></script> | ||
| 119 | <script> | 139 | <script> |
| 120 | $(function(){ | 140 | $(function(){ |
| 121 | $('#export').attr('disabled', "true"); | 141 | $('#export').attr('disabled', "true"); |
| @@ -124,12 +144,9 @@ | @@ -124,12 +144,9 @@ | ||
| 124 | if (!$('body').hasClass('page-sidebar-closed')) | 144 | if (!$('body').hasClass('page-sidebar-closed')) |
| 125 | $('.menu-toggler.sidebar-toggler').click(); | 145 | $('.menu-toggler.sidebar-toggler').click(); |
| 126 | 146 | ||
| 127 | - $("#startDate,#endDate").datetimepicker({ | ||
| 128 | - format : 'YYYY-MM-DD', | ||
| 129 | - locale : 'zh-cn' | ||
| 130 | - }); | ||
| 131 | 147 | ||
| 132 | var d = new Date(); | 148 | var d = new Date(); |
| 149 | + d.setTime(d.getTime() - 1*1000*60*60*24); | ||
| 133 | var year = d.getFullYear(); | 150 | var year = d.getFullYear(); |
| 134 | var month = d.getMonth() + 1; | 151 | var month = d.getMonth() + 1; |
| 135 | var day = d.getDate(); | 152 | var day = d.getDate(); |
| @@ -137,7 +154,13 @@ | @@ -137,7 +154,13 @@ | ||
| 137 | month = "0" + month; | 154 | month = "0" + month; |
| 138 | if(day < 10) | 155 | if(day < 10) |
| 139 | day = "0" + day; | 156 | day = "0" + day; |
| 140 | - $("#startDate,#endDate").val(year + "-" + month + "-" + day); | 157 | + var dateTime = year + "-" + month + "-" + day; |
| 158 | + $("#startDate,#endDate").datetimepicker({ | ||
| 159 | + format : 'YYYY-MM-DD', | ||
| 160 | + locale : 'zh-cn', | ||
| 161 | + maxDate : dateTime | ||
| 162 | + }); | ||
| 163 | + $("#startDate,#endDate").val(dateTime); | ||
| 141 | 164 | ||
| 142 | var fage=false; | 165 | var fage=false; |
| 143 | var xlList; | 166 | var xlList; |
| @@ -218,14 +241,32 @@ | @@ -218,14 +241,32 @@ | ||
| 218 | var list; | 241 | var list; |
| 219 | $("#forms tbody").on("click","a",function(){ | 242 | $("#forms tbody").on("click","a",function(){ |
| 220 | var index = $(this).parent().parent().index(); | 243 | var index = $(this).parent().parent().index(); |
| 221 | - $.each(list, function(i, g){ | ||
| 222 | - if(index == i){ | ||
| 223 | - var tbodyHtml = template('list_maps',{list:g.map}); | ||
| 224 | - $('#map tbody').html(tbodyHtml); | ||
| 225 | - $("#map .hidden").removeClass("hidden"); | ||
| 226 | - $("html,body").animate({scrollTop:$("#map").offset().top},1000); | ||
| 227 | - } | ||
| 228 | - }); | 244 | + if(index < list.length - 1){ |
| 245 | + $.each(list, function(i, g){ | ||
| 246 | + if(index == i){ | ||
| 247 | + var tbodyHtml = template('list_maps',{list:g.map}); | ||
| 248 | + $('#map tbody').html(tbodyHtml); | ||
| 249 | + $("#sumMap tr").addClass("hidden"); | ||
| 250 | + $("#exportSumMap").addClass("hidden"); | ||
| 251 | + $("#map .hidden").removeClass("hidden"); | ||
| 252 | + $("#exportMap").removeClass("hidden"); | ||
| 253 | + $("html,body").animate({scrollTop:$("#map").offset().top},1000); | ||
| 254 | + } | ||
| 255 | + }); | ||
| 256 | + } else { | ||
| 257 | + var tempList = []; | ||
| 258 | + $.each(list, function(i, g){ | ||
| 259 | + if(index == i){ | ||
| 260 | + var tbodyHtml = template('list_sumMaps',{list:g.map}); | ||
| 261 | + $('#sumMap tbody').html(tbodyHtml); | ||
| 262 | + $("#map tr").addClass("hidden"); | ||
| 263 | + $("#exportMap").addClass("hidden"); | ||
| 264 | + $("#sumMap .hidden").removeClass("hidden"); | ||
| 265 | + $("#exportSumMap").removeClass("hidden"); | ||
| 266 | + $("html,body").animate({scrollTop:$("#sumMap").offset().top},1000); | ||
| 267 | + } | ||
| 268 | + }); | ||
| 269 | + } | ||
| 229 | }); | 270 | }); |
| 230 | 271 | ||
| 231 | $("#query").on("click",jsDoQuery); | 272 | $("#query").on("click",jsDoQuery); |
| @@ -260,6 +301,7 @@ | @@ -260,6 +301,7 @@ | ||
| 260 | params['type'] = "query"; | 301 | params['type'] = "query"; |
| 261 | $("#forms .hidden").removeClass("hidden"); | 302 | $("#forms .hidden").removeClass("hidden"); |
| 262 | $("#map tr").addClass("hidden"); | 303 | $("#map tr").addClass("hidden"); |
| 304 | + $("#sumMap tr").addClass("hidden"); | ||
| 263 | $get('/pcpc/firstAndLastBus_sum', params, function(result){ | 305 | $get('/pcpc/firstAndLastBus_sum', params, function(result){ |
| 264 | // 把数据填充到模版中 | 306 | // 把数据填充到模版中 |
| 265 | var tbodyHtml = template('list_firstAndLastBus_sum',{list:result}); | 307 | var tbodyHtml = template('list_firstAndLastBus_sum',{list:result}); |
| @@ -288,6 +330,28 @@ | @@ -288,6 +330,28 @@ | ||
| 288 | }); | 330 | }); |
| 289 | }); | 331 | }); |
| 290 | 332 | ||
| 333 | + $("#exportMap").on("click",function(){ | ||
| 334 | + $("#map").table2excel({ | ||
| 335 | + exclue: ".noExl", | ||
| 336 | + name: "Excel Document Name.xlsx", | ||
| 337 | + filename: "线路首末班", | ||
| 338 | + exclude_img: true, | ||
| 339 | + exclude_links: true, | ||
| 340 | + exclude_inputs: true | ||
| 341 | + }); | ||
| 342 | + }); | ||
| 343 | + | ||
| 344 | + $("#exportSumMap").on("click",function(){ | ||
| 345 | + $("#sumMap").table2excel({ | ||
| 346 | + exclue: ".noExl", | ||
| 347 | + name: "Excel Document Name.xlsx", | ||
| 348 | + filename: "首末班误点班次", | ||
| 349 | + exclude_img: true, | ||
| 350 | + exclude_links: true, | ||
| 351 | + exclude_inputs: true | ||
| 352 | + }); | ||
| 353 | + }); | ||
| 354 | + | ||
| 291 | 355 | ||
| 292 | }); | 356 | }); |
| 293 | 357 | ||
| @@ -307,7 +371,7 @@ | @@ -307,7 +371,7 @@ | ||
| 307 | <td colspan='4'>{{obj.date}}</td> | 371 | <td colspan='4'>{{obj.date}}</td> |
| 308 | <td>{{obj.jhbc}}</td> | 372 | <td>{{obj.jhbc}}</td> |
| 309 | <td>{{obj.sjbc}}</td> | 373 | <td>{{obj.sjbc}}</td> |
| 310 | - <td>{{obj.zdl}}</td> | 374 | + <td><a id='delay'>{{obj.zdl}}</a></td> |
| 311 | {{/if}} | 375 | {{/if}} |
| 312 | </tr> | 376 | </tr> |
| 313 | {{/each}} | 377 | {{/each}} |
| @@ -368,4 +432,19 @@ | @@ -368,4 +432,19 @@ | ||
| 368 | {{/if}} | 432 | {{/if}} |
| 369 | </tr> | 433 | </tr> |
| 370 | {{/each}} | 434 | {{/each}} |
| 435 | +</script> | ||
| 436 | +<script type="text/html" id="list_sumMaps"> | ||
| 437 | + {{each list as obj i}} | ||
| 438 | + <tr> | ||
| 439 | + <td>{{obj.no}}</td> | ||
| 440 | + <td>{{obj.date}}</td> | ||
| 441 | + <td>{{obj.subCompany}}</td> | ||
| 442 | + <td>{{obj.line}}</td> | ||
| 443 | + <td>{{obj.firstOrLast}}</td> | ||
| 444 | + <td>{{obj.jhfc}}</td> | ||
| 445 | + <td>{{obj.sjfc}}</td> | ||
| 446 | + <td> {{obj.delay}}</td> | ||
| 447 | + <td>{{obj.remarks1}}</td> | ||
| 448 | + </tr> | ||
| 449 | + {{/each}} | ||
| 371 | </script> | 450 | </script> |
| 372 | \ No newline at end of file | 451 | \ No newline at end of file |
src/main/resources/static/pages/forms/statement/js/jquery.table2excel.min.js
0 → 100644
| 1 | +/* | ||
| 2 | + * jQuery table2excel - v1.1.1 | ||
| 3 | + * jQuery plugin to export an .xls file in browser from an HTML table | ||
| 4 | + * https://github.com/rainabba/jquery-table2excel | ||
| 5 | + * | ||
| 6 | + * Made by rainabba | ||
| 7 | + * Under MIT License | ||
| 8 | + */ | ||
| 9 | +!function(a,b,c,d){function e(b,c){this.element=b,this.settings=a.extend({},k,c),this._defaults=k,this._name=j,this.init()}function f(a){return a.filename?a.filename:"table2excel"}function g(a){var b=/(\s+alt\s*=\s*"([^"]*)"|\s+alt\s*=\s*'([^']*)')/i;return a.replace(/<img[^>]*>/gi,function(a){var c=b.exec(a);return null!==c&&c.length>=2?c[2]:""})}function h(a){return a.replace(/<a[^>]*>|<\/a>/gi,"")}function i(a){var b=/(\s+value\s*=\s*"([^"]*)"|\s+value\s*=\s*'([^']*)')/i;return a.replace(/<input[^>]*>|<\/input>/gi,function(a){var c=b.exec(a);return null!==c&&c.length>=2?c[2]:""})}var j="table2excel",k={exclude:".noExl",name:"Table2Excel",filename:"table2excel",fileext:".xls",exclude_img:!0,exclude_links:!0,exclude_inputs:!0};e.prototype={init:function(){var b=this;b.template={head:'<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><meta http-equiv="content-type" content="application/vnd.ms-excel; charset=UTF-8"><head>\x3c!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets>',sheet:{head:"<x:ExcelWorksheet><x:Name>",tail:"</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet>"},mid:"</x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--\x3e</head><body>",table:{head:"<table>",tail:"</table>"},foot:"</body></html>"},b.tableRows=[],a(b.element).each(function(c,d){var e="";a(d).find("tr").not(b.settings.exclude).each(function(c,d){e+="<tr>",a(d).find("td,th").not(b.settings.exclude).each(function(c,d){var f={rows:a(this).attr("rowspan"),cols:a(this).attr("colspan"),flag:a(d).find(b.settings.exclude)};f.flag.length>0?e+="<td> </td>":f.rows&f.cols?e+="<td>"+a(d).html()+"</td>":(e+="<td",f.rows>0&&(e+=" rowspan='"+f.rows+"' "),f.cols>0&&(e+=" colspan='"+f.cols+"' "),e+="/>"+a(d).html()+"</td>")}),e+="</tr>",console.log(e)}),b.settings.exclude_img&&(e=g(e)),b.settings.exclude_links&&(e=h(e)),b.settings.exclude_inputs&&(e=i(e)),b.tableRows.push(e)}),b.tableToExcel(b.tableRows,b.settings.name,b.settings.sheetName)},tableToExcel:function(d,e,g){var h,i,j,k=this,l="";if(k.format=function(a,b){return a.replace(/{(\w+)}/g,function(a,c){return b[c]})},g=void 0===g?"Sheet":g,k.ctx={worksheet:e||"Worksheet",table:d,sheetName:g},l=k.template.head,a.isArray(d))for(h in d)l+=k.template.sheet.head+g+h+k.template.sheet.tail;if(l+=k.template.mid,a.isArray(d))for(h in d)l+=k.template.table.head+"{table"+h+"}"+k.template.table.tail;l+=k.template.foot;for(h in d)k.ctx["table"+h]=d[h];if(delete k.ctx.table,!c.documentMode){var m=new Blob([k.format(l,k.ctx)],{type:"application/vnd.ms-excel"});b.URL=b.URL||b.webkitURL,i=b.URL.createObjectURL(m),j=c.createElement("a"),j.download=f(k.settings),j.href=i,c.body.appendChild(j),j.click(),c.body.removeChild(j)}else if("undefined"!=typeof Blob){l=k.format(l,k.ctx),l=[l];var n=new Blob(l,{type:"text/html"});b.navigator.msSaveBlob(n,f(k.settings))}else txtArea1.document.open("text/html","replace"),txtArea1.document.write(k.format(l,k.ctx)),txtArea1.document.close(),txtArea1.focus(),sa=txtArea1.document.execCommand("SaveAs",!0,f(k.settings));return!0}},a.fn[j]=function(b){var c=this;return c.each(function(){a.data(c,"plugin_"+j)||a.data(c,"plugin_"+j,new e(this,b))}),c}}(jQuery,window,document); | ||
| 0 | \ No newline at end of file | 10 | \ No newline at end of file |
src/main/resources/static/pages/mforms/singledatas/jquery.table2excel.min.js
0 → 100644
| 1 | +/* | ||
| 2 | + * jQuery table2excel - v1.1.1 | ||
| 3 | + * jQuery plugin to export an .xls file in browser from an HTML table | ||
| 4 | + * https://github.com/rainabba/jquery-table2excel | ||
| 5 | + * | ||
| 6 | + * Made by rainabba | ||
| 7 | + * Under MIT License | ||
| 8 | + */ | ||
| 9 | +!function(a,b,c,d){function e(b,c){this.element=b,this.settings=a.extend({},k,c),this._defaults=k,this._name=j,this.init()}function f(a){return a.filename?a.filename:"table2excel"}function g(a){var b=/(\s+alt\s*=\s*"([^"]*)"|\s+alt\s*=\s*'([^']*)')/i;return a.replace(/<img[^>]*>/gi,function(a){var c=b.exec(a);return null!==c&&c.length>=2?c[2]:""})}function h(a){return a.replace(/<a[^>]*>|<\/a>/gi,"")}function i(a){var b=/(\s+value\s*=\s*"([^"]*)"|\s+value\s*=\s*'([^']*)')/i;return a.replace(/<input[^>]*>|<\/input>/gi,function(a){var c=b.exec(a);return null!==c&&c.length>=2?c[2]:""})}var j="table2excel",k={exclude:".noExl",name:"Table2Excel",filename:"table2excel",fileext:".xls",exclude_img:!0,exclude_links:!0,exclude_inputs:!0};e.prototype={init:function(){var b=this;b.template={head:'<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><meta http-equiv="content-type" content="application/vnd.ms-excel; charset=UTF-8"><head>\x3c!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets>',sheet:{head:"<x:ExcelWorksheet><x:Name>",tail:"</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet>"},mid:"</x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--\x3e</head><body>",table:{head:"<table>",tail:"</table>"},foot:"</body></html>"},b.tableRows=[],a(b.element).each(function(c,d){var e="";a(d).find("tr").not(b.settings.exclude).each(function(c,d){e+="<tr>",a(d).find("td,th").not(b.settings.exclude).each(function(c,d){var f={rows:a(this).attr("rowspan"),cols:a(this).attr("colspan"),flag:a(d).find(b.settings.exclude)};f.flag.length>0?e+="<td> </td>":f.rows&f.cols?e+="<td>"+a(d).html()+"</td>":(e+="<td",f.rows>0&&(e+=" rowspan='"+f.rows+"' "),f.cols>0&&(e+=" colspan='"+f.cols+"' "),e+="/>"+a(d).html()+"</td>")}),e+="</tr>",console.log(e)}),b.settings.exclude_img&&(e=g(e)),b.settings.exclude_links&&(e=h(e)),b.settings.exclude_inputs&&(e=i(e)),b.tableRows.push(e)}),b.tableToExcel(b.tableRows,b.settings.name,b.settings.sheetName)},tableToExcel:function(d,e,g){var h,i,j,k=this,l="";if(k.format=function(a,b){return a.replace(/{(\w+)}/g,function(a,c){return b[c]})},g=void 0===g?"Sheet":g,k.ctx={worksheet:e||"Worksheet",table:d,sheetName:g},l=k.template.head,a.isArray(d))for(h in d)l+=k.template.sheet.head+g+h+k.template.sheet.tail;if(l+=k.template.mid,a.isArray(d))for(h in d)l+=k.template.table.head+"{table"+h+"}"+k.template.table.tail;l+=k.template.foot;for(h in d)k.ctx["table"+h]=d[h];if(delete k.ctx.table,!c.documentMode){var m=new Blob([k.format(l,k.ctx)],{type:"application/vnd.ms-excel"});b.URL=b.URL||b.webkitURL,i=b.URL.createObjectURL(m),j=c.createElement("a"),j.download=f(k.settings),j.href=i,c.body.appendChild(j),j.click(),c.body.removeChild(j)}else if("undefined"!=typeof Blob){l=k.format(l,k.ctx),l=[l];var n=new Blob(l,{type:"text/html"});b.navigator.msSaveBlob(n,f(k.settings))}else txtArea1.document.open("text/html","replace"),txtArea1.document.write(k.format(l,k.ctx)),txtArea1.document.close(),txtArea1.focus(),sa=txtArea1.document.execCommand("SaveAs",!0,f(k.settings));return!0}},a.fn[j]=function(b){var c=this;return c.each(function(){a.data(c,"plugin_"+j)||a.data(c,"plugin_"+j,new e(this,b))}),c}}(jQuery,window,document); | ||
| 0 | \ No newline at end of file | 10 | \ No newline at end of file |
src/main/resources/static/pages/mforms/singledatas/singledata.html
| @@ -192,13 +192,30 @@ | @@ -192,13 +192,30 @@ | ||
| 192 | var tjtype=$("#tjtype").val(); | 192 | var tjtype=$("#tjtype").val(); |
| 193 | var params = {}; | 193 | var params = {}; |
| 194 | var i = layer.load(2); | 194 | var i = layer.load(2); |
| 195 | - $get("/mcy_forms/singledatatj",{ gsdmSing:gsdmSing,fgsdmSing:fgsdmSing, line:line,startDate:startDate,lpName:lpName,tjtype:tjtype},function(result){ | ||
| 196 | - layer.close(i); | ||
| 197 | - var singledata = template('singledata',{list:result}); | ||
| 198 | - // 把渲染好的模版html文本追加到表格中 | ||
| 199 | - $('#forms tbody').html(singledata); | ||
| 200 | - | ||
| 201 | - }); | 195 | +// if(tjtype=='jsy'){ |
| 196 | + $get("/mcy_forms/singledatatj",{ gsdmSing:gsdmSing,fgsdmSing:fgsdmSing, line:line,startDate:startDate,lpName:lpName,tjtype:tjtype},function(result){ | ||
| 197 | + layer.close(i); | ||
| 198 | + var singledata = template('singledata',{list:result}); | ||
| 199 | + // 把渲染好的模版html文本追加到表格中 | ||
| 200 | + $('#forms tbody').html(singledata); | ||
| 201 | + | ||
| 202 | + }); | ||
| 203 | +// }else{ | ||
| 204 | +// $get("/mcy_forms/singledata",{ gsdmSing:gsdmSing,fgsdmSing:fgsdmSing, line:line,startDate:startDate,lpName:lpName,tjtype:tjtype},function(result){ | ||
| 205 | +// layer.close(i); | ||
| 206 | +// var date=new Array(); //存放文本框数组 | ||
| 207 | +// $.each(result, function (i, obj) { | ||
| 208 | +// if(obj.sgh !='' && obj.sgh!=null){ | ||
| 209 | +// date.push(obj); | ||
| 210 | +// } | ||
| 211 | +// }); | ||
| 212 | +// var singledata = template('singledata2',{result}); | ||
| 213 | +// // 把渲染好的模版html文本追加到表格中 | ||
| 214 | +// $('#forms tbody').html(singledata); | ||
| 215 | + | ||
| 216 | +// }); | ||
| 217 | +// } | ||
| 218 | + | ||
| 202 | }); | 219 | }); |
| 203 | 220 | ||
| 204 | $("#export").on("click",function(){ | 221 | $("#export").on("click",function(){ |
| @@ -209,9 +226,16 @@ | @@ -209,9 +226,16 @@ | ||
| 209 | var gsdmSing = $("#gsdmSing").val(); | 226 | var gsdmSing = $("#gsdmSing").val(); |
| 210 | var fgsdmSing = $("#fgsdmSing").val(); | 227 | var fgsdmSing = $("#fgsdmSing").val(); |
| 211 | var tjtype=$("#tjtype").val(); | 228 | var tjtype=$("#tjtype").val(); |
| 212 | - $get('/mcy_export/singledataExportTj',{gsdmSing:gsdmSing,fgsdmSing:fgsdmSing,line:line,startDate:startDate,endDate:endDate,tjtype:tjtype,type:'export'},function(result){ | ||
| 213 | - window.open("/downloadFile/download?fileName=路单数据"+moment(startDate).format("YYYYMMDD")); | ||
| 214 | - }); | 229 | +// if(tjtype=='jsy'){ |
| 230 | + $get('/mcy_export/singledataExportTj',{gsdmSing:gsdmSing,fgsdmSing:fgsdmSing,line:line,startDate:startDate,endDate:endDate,tjtype:tjtype,type:'export'},function(result){ | ||
| 231 | + window.open("/downloadFile/download?fileName=路单数据"+moment(startDate).format("YYYYMMDD")); | ||
| 232 | + }); | ||
| 233 | +// }else{ | ||
| 234 | +// $get('/mcy_export/singledataExport',{gsdmSing:gsdmSing,fgsdmSing:fgsdmSing,line:line,startDate:startDate,endDate:endDate,tjtype:tjtype,type:'export'},function(result){ | ||
| 235 | +// window.open("/downloadFile/download?fileName=路单数据"+moment(startDate).format("YYYYMMDD")); | ||
| 236 | +// }); | ||
| 237 | +// } | ||
| 238 | + | ||
| 215 | }); | 239 | }); |
| 216 | }); | 240 | }); |
| 217 | </script> | 241 | </script> |
| @@ -241,4 +265,29 @@ | @@ -241,4 +265,29 @@ | ||
| 241 | </tr> | 265 | </tr> |
| 242 | {{/if}} | 266 | {{/if}} |
| 243 | </script> | 267 | </script> |
| 244 | -</script> | ||
| 245 | \ No newline at end of file | 268 | \ No newline at end of file |
| 269 | +<script type="text/html" id="singledata2"> | ||
| 270 | + {{each list as obj i}} | ||
| 271 | + <tr> | ||
| 272 | + <td>{{i+1}}</td> | ||
| 273 | + <td>{{obj.rQ}}</td> | ||
| 274 | + <td>{{obj.gS}}</td> | ||
| 275 | + <td>{{obj.xlmc}}</td> | ||
| 276 | + <td>{{obj.clzbh}}</td> | ||
| 277 | + <td></td> | ||
| 278 | + <td></td> | ||
| 279 | + <td>{{obj.sgh}}</td> | ||
| 280 | + <td>{{obj.sName}}</td> | ||
| 281 | + <td>{{obj.jhlc}}</td> | ||
| 282 | + <td>{{obj.emptMileage}}</td> | ||
| 283 | + <td></td> | ||
| 284 | + <td></td> | ||
| 285 | + <td></td> | ||
| 286 | + <td>{{obj.jhjl}}</td> | ||
| 287 | + </tr> | ||
| 288 | + {{/each}} | ||
| 289 | + {{if list.length == 0}} | ||
| 290 | + <tr> | ||
| 291 | + <td colspan="16"><h6 class="muted">没有找到相关数据</h6></td> | ||
| 292 | + </tr> | ||
| 293 | + {{/if}} | ||
| 294 | +</script> |
src/main/resources/static/pages/oil/add.html
| @@ -392,24 +392,38 @@ | @@ -392,24 +392,38 @@ | ||
| 392 | var date=$("#date").val(); | 392 | var date=$("#date").val(); |
| 393 | var jsy=$("#jsy").val(); | 393 | var jsy=$("#jsy").val(); |
| 394 | var xlbm=$("#xlbm").val(); | 394 | var xlbm=$("#xlbm").val(); |
| 395 | + var gsdm=$("#ssgsdm").val(); | ||
| 395 | var map={}; | 396 | var map={}; |
| 396 | map["nbbm"]=nbbm; | 397 | map["nbbm"]=nbbm; |
| 397 | map["date"]=date; | 398 | map["date"]=date; |
| 398 | map["jsy"]=jsy; | 399 | map["jsy"]=jsy; |
| 399 | map["xlbm"]=xlbm; | 400 | map["xlbm"]=xlbm; |
| 401 | + map["date"]=date; | ||
| 402 | + map["rq"]=date; | ||
| 403 | + map["ssgsdm_like"]=gsdm; | ||
| 400 | //检查一下用户是否存在 | 404 | //检查一下用户是否存在 |
| 401 | - $get('/ylb/checkJsy', map, function(fage){ | ||
| 402 | - if(fage=="0"){ | ||
| 403 | - layer.msg('该驾驶员当天已存在.'); | 405 | + var i = layer.load(2); |
| 406 | + $get('/ylb/checkDate', map, function(fage){ | ||
| 407 | + if(fage=="2"){ | ||
| 408 | + layer.msg('只能操作三天内数据.'); | ||
| 409 | + layer.close(i); | ||
| 404 | }else{ | 410 | }else{ |
| 405 | - $post('/ylb/saveYlb', params, function(){ | ||
| 406 | - layer.msg('添加信息成功.'); | ||
| 407 | - loadPage('list_ph.html'); | 411 | + $get('/ylb/checkJsy', map, function(fage){ |
| 412 | + if(fage=="0"){ | ||
| 413 | + layer.msg('该驾驶员当天已存在.'); | ||
| 414 | + layer.close(i); | ||
| 415 | + }else{ | ||
| 416 | + $post('/ylb/saveYlb', params, function(){ | ||
| 417 | + layer.msg('添加信息成功.'); | ||
| 418 | + layer.close(i); | ||
| 419 | + loadPage('list_ph.html'); | ||
| 420 | + }); | ||
| 421 | + } | ||
| 408 | }); | 422 | }); |
| 409 | } | 423 | } |
| 410 | - }); | 424 | + }) |
| 411 | } | 425 | } |
| 412 | - }); | ||
| 413 | }); | 426 | }); |
| 427 | + }); | ||
| 414 | })(); | 428 | })(); |
| 415 | </script> | 429 | </script> |
| 416 | \ No newline at end of file | 430 | \ No newline at end of file |
src/main/resources/static/pages/oil/list_ph.html
| @@ -336,16 +336,24 @@ onkeyup="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').rep | @@ -336,16 +336,24 @@ onkeyup="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').rep | ||
| 336 | var fage=false; | 336 | var fage=false; |
| 337 | //var id = 15; | 337 | //var id = 15; |
| 338 | //$('.in_carpark_jzyl[data-id='+id+']', '#ll_oil_list') | 338 | //$('.in_carpark_jzyl[data-id='+id+']', '#ll_oil_list') |
| 339 | - | 339 | + |
| 340 | + | ||
| 340 | $("#checkYl").on('click', function () { | 341 | $("#checkYl").on('click', function () { |
| 341 | //console.log("核对加注量"); | 342 | //console.log("核对加注量"); |
| 342 | if ($("#rq").val() != "") { | 343 | if ($("#rq").val() != "") { |
| 343 | - var params=getParamsList(); | ||
| 344 | - var i = layer.load(2); | ||
| 345 | - $get('/ylb/checkYl', params, function () { | ||
| 346 | - layer.close(i); | ||
| 347 | - jsDoQuery(params, true); | ||
| 348 | - }); | 344 | + var params=getParamsList(); |
| 345 | + $get('/ylb/checkDate',params,function(status){ | ||
| 346 | + if(status=='2'){ | ||
| 347 | + layer.msg('只能操作三天内数据.'); | ||
| 348 | + }else{ | ||
| 349 | + var i = layer.load(2); | ||
| 350 | + $get('/ylb/checkYl', params, function () { | ||
| 351 | + layer.close(i); | ||
| 352 | + jsDoQuery(params, true); | ||
| 353 | + }); | ||
| 354 | + } | ||
| 355 | + }) | ||
| 356 | + | ||
| 349 | } else { | 357 | } else { |
| 350 | layer.msg('请选择日期.'); | 358 | layer.msg('请选择日期.'); |
| 351 | } | 359 | } |
| @@ -355,12 +363,18 @@ onkeyup="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').rep | @@ -355,12 +363,18 @@ onkeyup="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').rep | ||
| 355 | $("#outAndIn").on('click', function () { | 363 | $("#outAndIn").on('click', function () { |
| 356 | // console.log("进场油量等于出场油量"); | 364 | // console.log("进场油量等于出场油量"); |
| 357 | if ($("#rq").val() != "") { | 365 | if ($("#rq").val() != "") { |
| 358 | - var params=getParamsList(); | ||
| 359 | - var i = layer.load(2); | ||
| 360 | - $get('/ylb/outAndIn', params, function () { | ||
| 361 | - layer.close(i); | ||
| 362 | - jsDoQuery(params, true); | ||
| 363 | - }); | 366 | + var params=getParamsList(); |
| 367 | + $get('/ylb/checkDate',params,function(status){ | ||
| 368 | + if(status=='2'){ | ||
| 369 | + layer.msg('只能操作三天内数据.'); | ||
| 370 | + }else{ | ||
| 371 | + var i = layer.load(2); | ||
| 372 | + $get('/ylb/outAndIn', params, function () { | ||
| 373 | + layer.close(i); | ||
| 374 | + jsDoQuery(params, true); | ||
| 375 | + }); | ||
| 376 | + } | ||
| 377 | + }) | ||
| 364 | } else { | 378 | } else { |
| 365 | layer.msg('请选择日期.'); | 379 | layer.msg('请选择日期.'); |
| 366 | } | 380 | } |
| @@ -368,164 +382,180 @@ onkeyup="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').rep | @@ -368,164 +382,180 @@ onkeyup="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').rep | ||
| 368 | 382 | ||
| 369 | //保存 | 383 | //保存 |
| 370 | $(".saveButton").on('click',function(){ | 384 | $(".saveButton").on('click',function(){ |
| 371 | - var ylArray = []; | ||
| 372 | - $('input.icheck').each(function(){ | ||
| 373 | - var map = {}; | ||
| 374 | - var id=$(this).data('id'); | ||
| 375 | - var nbbm =$('.in_carpark_nbbm[data-id='+id+']', '#ll_oil_list').html(); | ||
| 376 | - var jzl =$('.in_carpark_jzl[data-id='+id+']', '#ll_oil_list').html(); | ||
| 377 | - if(jzl=="" || jzl ==null){ | ||
| 378 | - jzl=0; | ||
| 379 | - } | ||
| 380 | - var czyl=$('.in_carpark_czyl[data-id='+id+']', '#ll_oil_list').val(); | ||
| 381 | - if(czyl=="" || czyl==null){ | ||
| 382 | - czyl=0; | ||
| 383 | - } | ||
| 384 | - var jzyl=$('.in_carpark_jzyl[data-id='+id+']', '#ll_oil_list').val(); | ||
| 385 | - if(jzyl=="" || jzyl==null){ | ||
| 386 | - jzyl=0; | ||
| 387 | - } | ||
| 388 | - | ||
| 389 | - var sh = $('.in_carpark_shyl[data-id='+id+']', '#ll_oil_list').val(); | ||
| 390 | - if(sh=="" || sh==null){ | ||
| 391 | - sh=0; | ||
| 392 | - } | ||
| 393 | - | ||
| 394 | - var shyy = $('.in_carpark_shyy[data-id='+id+']', '#ll_oil_list').val(); | ||
| 395 | - var ns = $('.in_carpark_ns[data-id='+id+']', '#ll_oil_list').val(); | ||
| 396 | - if(ns=="" || ns==null){ | ||
| 397 | - ns=0; | 385 | + |
| 386 | + var params_=getParamsList(); | ||
| 387 | + $get('/ylb/checkDate',params_,function(status){ | ||
| 388 | + if(status=='2'){ | ||
| 389 | + layer.msg('只能操作三天内数据.'); | ||
| 390 | + }else{ | ||
| 391 | + var ylArray = []; | ||
| 392 | + $('input.icheck').each(function(){ | ||
| 393 | + var map = {}; | ||
| 394 | + var id=$(this).data('id'); | ||
| 395 | + var nbbm =$('.in_carpark_nbbm[data-id='+id+']', '#ll_oil_list').html(); | ||
| 396 | + var jzl =$('.in_carpark_jzl[data-id='+id+']', '#ll_oil_list').html(); | ||
| 397 | + if(jzl=="" || jzl ==null){ | ||
| 398 | + jzl=0; | ||
| 399 | + } | ||
| 400 | + var czyl=$('.in_carpark_czyl[data-id='+id+']', '#ll_oil_list').val(); | ||
| 401 | + if(czyl=="" || czyl==null){ | ||
| 402 | + czyl=0; | ||
| 403 | + } | ||
| 404 | + var jzyl=$('.in_carpark_jzyl[data-id='+id+']', '#ll_oil_list').val(); | ||
| 405 | + if(jzyl=="" || jzyl==null){ | ||
| 406 | + jzyl=0; | ||
| 407 | + } | ||
| 408 | + | ||
| 409 | + var sh = $('.in_carpark_shyl[data-id='+id+']', '#ll_oil_list').val(); | ||
| 410 | + if(sh=="" || sh==null){ | ||
| 411 | + sh=0; | ||
| 412 | + } | ||
| 413 | + | ||
| 414 | + var shyy = $('.in_carpark_shyy[data-id='+id+']', '#ll_oil_list').val(); | ||
| 415 | + var ns = $('.in_carpark_ns[data-id='+id+']', '#ll_oil_list').val(); | ||
| 416 | + if(ns=="" || ns==null){ | ||
| 417 | + ns=0; | ||
| 418 | + } | ||
| 419 | + | ||
| 420 | + var rylx= $('.in_carpark_rylx[data-id='+id+']', '#ll_oil_list').val(); | ||
| 421 | + var yhlx = $('.in_carpark_yhlx[data-id='+id+']', '#ll_oil_list').val(); | ||
| 422 | + | ||
| 423 | + map['id']=id; | ||
| 424 | + map['jzl']=jzl; | ||
| 425 | + map['czyl']=czyl; | ||
| 426 | + map['jzyl']=jzyl; | ||
| 427 | + map['sh']=sh; | ||
| 428 | + map['shyy']=shyy; | ||
| 429 | + map['ns']=ns; | ||
| 430 | + map['rylx']=rylx; | ||
| 431 | + map['yhlx']=yhlx; | ||
| 432 | + map['nbbm']=nbbm; | ||
| 433 | + map['rq']=$("#rq").val(); | ||
| 434 | + ylArray.push(map); | ||
| 435 | + }) | ||
| 436 | + var params = {}; | ||
| 437 | + params['ylbList']=JSON.stringify(ylArray); | ||
| 438 | + var i = layer.load(2); | ||
| 439 | + $post('/ylb/saveYlbList', params, function () { | ||
| 440 | + layer.close(i); | ||
| 441 | + var params1 =getParamsList(); | ||
| 442 | + jsDoQuery(params1, true); | ||
| 443 | + }); | ||
| 398 | } | 444 | } |
| 399 | - | ||
| 400 | - var rylx= $('.in_carpark_rylx[data-id='+id+']', '#ll_oil_list').val(); | ||
| 401 | - var yhlx = $('.in_carpark_yhlx[data-id='+id+']', '#ll_oil_list').val(); | ||
| 402 | - | ||
| 403 | - map['id']=id; | ||
| 404 | - map['jzl']=jzl; | ||
| 405 | - map['czyl']=czyl; | ||
| 406 | - map['jzyl']=jzyl; | ||
| 407 | - map['sh']=sh; | ||
| 408 | - map['shyy']=shyy; | ||
| 409 | - map['ns']=ns; | ||
| 410 | - map['rylx']=rylx; | ||
| 411 | - map['yhlx']=yhlx; | ||
| 412 | - map['nbbm']=nbbm; | ||
| 413 | - map['rq']=$("#rq").val(); | ||
| 414 | - ylArray.push(map); | ||
| 415 | }) | 445 | }) |
| 416 | - var params = {}; | ||
| 417 | - params['ylbList']=JSON.stringify(ylArray); | ||
| 418 | - var i = layer.load(2); | ||
| 419 | - $post('/ylb/saveYlbList', params, function () { | ||
| 420 | - layer.close(i); | ||
| 421 | - var params1 =getParamsList(); | ||
| 422 | - jsDoQuery(params1, true); | ||
| 423 | - }); | ||
| 424 | }) | 446 | }) |
| 425 | //拆分 | 447 | //拆分 |
| 426 | $(".sortButton").on('click', function () { | 448 | $(".sortButton").on('click', function () { |
| 427 | if ($("#rq").val() != "") { | 449 | if ($("#rq").val() != "") { |
| 428 | - //拆分前先保存全部 | ||
| 429 | - var ylArray = []; | ||
| 430 | - $('input.icheck').each(function(){ | ||
| 431 | - var map = {}; | ||
| 432 | - var id=$(this).data('id'); | ||
| 433 | - var nbbm =$('.in_carpark_nbbm[data-id='+id+']', '#ll_oil_list').html(); | ||
| 434 | - var jzl =$('.in_carpark_jzl[data-id='+id+']', '#ll_oil_list').html(); | ||
| 435 | - if(jzl=="" || jzl ==null){ | ||
| 436 | - jzl=0; | ||
| 437 | - } | ||
| 438 | - var czyl=$('.in_carpark_czyl[data-id='+id+']', '#ll_oil_list').val(); | ||
| 439 | - if(czyl=="" || czyl==null){ | ||
| 440 | - czyl=0; | ||
| 441 | - } | ||
| 442 | - var jzyl=$('.in_carpark_jzyl[data-id='+id+']', '#ll_oil_list').val(); | ||
| 443 | - if(jzyl=="" || jzyl==null){ | ||
| 444 | - jzyl=0; | ||
| 445 | - } | ||
| 446 | - | ||
| 447 | - var sh = $('.in_carpark_shyl[data-id='+id+']', '#ll_oil_list').val(); | ||
| 448 | - if(sh=="" || sh==null){ | ||
| 449 | - sh=0; | ||
| 450 | - } | ||
| 451 | - | ||
| 452 | - var shyy = $('.in_carpark_shyy[data-id='+id+']', '#ll_oil_list').val(); | ||
| 453 | - var ns = $('.in_carpark_ns[data-id='+id+']', '#ll_oil_list').val(); | ||
| 454 | - if(ns=="" || ns==null){ | ||
| 455 | - ns=0; | ||
| 456 | - } | ||
| 457 | - | ||
| 458 | - var rylx= $('.in_carpark_rylx[data-id='+id+']', '#ll_oil_list').val(); | ||
| 459 | - var yhlx = $('.in_carpark_yhlx[data-id='+id+']', '#ll_oil_list').val(); | ||
| 460 | - | ||
| 461 | - map['id']=id; | ||
| 462 | - map['jzl']=jzl; | ||
| 463 | - map['czyl']=czyl; | ||
| 464 | - map['jzyl']=jzyl; | ||
| 465 | - map['sh']=sh; | ||
| 466 | - map['shyy']=shyy; | ||
| 467 | - map['ns']=ns; | ||
| 468 | - map['rylx']=rylx; | ||
| 469 | - map['yhlx']=yhlx; | ||
| 470 | - map['nbbm']=nbbm; | ||
| 471 | - map['rq']=$("#rq").val(); | ||
| 472 | - ylArray.push(map); | ||
| 473 | - }) | ||
| 474 | - var params = {}; | ||
| 475 | - params['ylbList']=JSON.stringify(ylArray); | ||
| 476 | - | ||
| 477 | - | ||
| 478 | - //拆分操作 | ||
| 479 | - var ylArray2 = []; | ||
| 480 | - var nbbm=""; | ||
| 481 | - var msg=""; | ||
| 482 | - $('input.icheck:checked').each(function(){ | ||
| 483 | - var map = {}; | ||
| 484 | - var id=$(this).data('id'); | ||
| 485 | - var clzbh =$('.in_carpark_nbbm[data-id='+id+']', '#ll_oil_list').html(); | ||
| 486 | - if(nbbm.indexOf(clzbh)>-1){ | ||
| 487 | - if(msg==""){ | ||
| 488 | - msg += clzbh; | ||
| 489 | - }else{ | ||
| 490 | - msg += ","+clzbh; | ||
| 491 | - } | ||
| 492 | - }else{ | ||
| 493 | - nbbm +=clzbh; | ||
| 494 | - var jzyl=$('.in_carpark_jzyl[data-id='+id+']', '#ll_oil_list').val(); | ||
| 495 | - var sh = $('.in_carpark_shyl[data-id='+id+']', '#ll_oil_list').val(); | ||
| 496 | - var shyy = $('.in_carpark_shyy[data-id='+id+']', '#ll_oil_list').val(); | ||
| 497 | - var ns = $('.in_carpark_ns[data-id='+id+']', '#ll_oil_list').val(); | ||
| 498 | - var rylx= $('.in_carpark_rylx[data-id='+id+']', '#ll_oil_list').val(); | ||
| 499 | - map['id']=id; | ||
| 500 | - map['jzyl']=jzyl; | ||
| 501 | - map['sh']=sh; | ||
| 502 | - map['shyy']=shyy; | ||
| 503 | - map['ns']=ns; | ||
| 504 | - map['rylx']=rylx; | ||
| 505 | - ylArray2.push(map); | ||
| 506 | - } | ||
| 507 | - | ||
| 508 | - }) ; | ||
| 509 | - if(msg!=""){ | ||
| 510 | - layer.msg('内部编码为:【'+msg +'】的车辆请选择一条数据进行拆分.'); | ||
| 511 | - }else{ | ||
| 512 | - var params2 = {}; | ||
| 513 | - params2['ylbList']=JSON.stringify(ylArray2); | ||
| 514 | - var i = layer.load(2); | ||
| 515 | - //保存操作 | ||
| 516 | - $post('/ylb/saveYlbList', params, function () { | ||
| 517 | - //拆分操作 | ||
| 518 | - $post('/ylb/sort', params2, function () { | ||
| 519 | - layer.close(i); | ||
| 520 | - var params1 =getParamsList(); | ||
| 521 | - jsDoQuery(params1, true); | ||
| 522 | - }); | ||
| 523 | - }); | ||
| 524 | - } | ||
| 525 | - | 450 | + var params_=getParamsList(); |
| 451 | + $get('/ylb/checkDate',params_,function(status){ | ||
| 452 | + if(status=='2'){ | ||
| 453 | + layer.msg('只能操作三天内数据.'); | ||
| 454 | + }else{ | ||
| 455 | + //拆分前先保存全部 | ||
| 456 | + var ylArray = []; | ||
| 457 | + $('input.icheck').each(function(){ | ||
| 458 | + var map = {}; | ||
| 459 | + var id=$(this).data('id'); | ||
| 460 | + var nbbm =$('.in_carpark_nbbm[data-id='+id+']', '#ll_oil_list').html(); | ||
| 461 | + var jzl =$('.in_carpark_jzl[data-id='+id+']', '#ll_oil_list').html(); | ||
| 462 | + if(jzl=="" || jzl ==null){ | ||
| 463 | + jzl=0; | ||
| 464 | + } | ||
| 465 | + var czyl=$('.in_carpark_czyl[data-id='+id+']', '#ll_oil_list').val(); | ||
| 466 | + if(czyl=="" || czyl==null){ | ||
| 467 | + czyl=0; | ||
| 468 | + } | ||
| 469 | + var jzyl=$('.in_carpark_jzyl[data-id='+id+']', '#ll_oil_list').val(); | ||
| 470 | + if(jzyl=="" || jzyl==null){ | ||
| 471 | + jzyl=0; | ||
| 472 | + } | ||
| 473 | + | ||
| 474 | + var sh = $('.in_carpark_shyl[data-id='+id+']', '#ll_oil_list').val(); | ||
| 475 | + if(sh=="" || sh==null){ | ||
| 476 | + sh=0; | ||
| 477 | + } | ||
| 478 | + | ||
| 479 | + var shyy = $('.in_carpark_shyy[data-id='+id+']', '#ll_oil_list').val(); | ||
| 480 | + var ns = $('.in_carpark_ns[data-id='+id+']', '#ll_oil_list').val(); | ||
| 481 | + if(ns=="" || ns==null){ | ||
| 482 | + ns=0; | ||
| 483 | + } | ||
| 484 | + | ||
| 485 | + var rylx= $('.in_carpark_rylx[data-id='+id+']', '#ll_oil_list').val(); | ||
| 486 | + var yhlx = $('.in_carpark_yhlx[data-id='+id+']', '#ll_oil_list').val(); | ||
| 487 | + | ||
| 488 | + map['id']=id; | ||
| 489 | + map['jzl']=jzl; | ||
| 490 | + map['czyl']=czyl; | ||
| 491 | + map['jzyl']=jzyl; | ||
| 492 | + map['sh']=sh; | ||
| 493 | + map['shyy']=shyy; | ||
| 494 | + map['ns']=ns; | ||
| 495 | + map['rylx']=rylx; | ||
| 496 | + map['yhlx']=yhlx; | ||
| 497 | + map['nbbm']=nbbm; | ||
| 498 | + map['rq']=$("#rq").val(); | ||
| 499 | + ylArray.push(map); | ||
| 500 | + }) | ||
| 501 | + var params = {}; | ||
| 502 | + params['ylbList']=JSON.stringify(ylArray); | ||
| 503 | + | ||
| 504 | + | ||
| 505 | + //拆分操作 | ||
| 506 | + var ylArray2 = []; | ||
| 507 | + var nbbm=""; | ||
| 508 | + var msg=""; | ||
| 509 | + $('input.icheck:checked').each(function(){ | ||
| 510 | + var map = {}; | ||
| 511 | + var id=$(this).data('id'); | ||
| 512 | + var clzbh =$('.in_carpark_nbbm[data-id='+id+']', '#ll_oil_list').html(); | ||
| 513 | + if(nbbm.indexOf(clzbh)>-1){ | ||
| 514 | + if(msg==""){ | ||
| 515 | + msg += clzbh; | ||
| 516 | + }else{ | ||
| 517 | + msg += ","+clzbh; | ||
| 518 | + } | ||
| 519 | + }else{ | ||
| 520 | + nbbm +=clzbh; | ||
| 521 | + var jzyl=$('.in_carpark_jzyl[data-id='+id+']', '#ll_oil_list').val(); | ||
| 522 | + var sh = $('.in_carpark_shyl[data-id='+id+']', '#ll_oil_list').val(); | ||
| 523 | + var shyy = $('.in_carpark_shyy[data-id='+id+']', '#ll_oil_list').val(); | ||
| 524 | + var ns = $('.in_carpark_ns[data-id='+id+']', '#ll_oil_list').val(); | ||
| 525 | + var rylx= $('.in_carpark_rylx[data-id='+id+']', '#ll_oil_list').val(); | ||
| 526 | + map['id']=id; | ||
| 527 | + map['jzyl']=jzyl; | ||
| 528 | + map['sh']=sh; | ||
| 529 | + map['shyy']=shyy; | ||
| 530 | + map['ns']=ns; | ||
| 531 | + map['rylx']=rylx; | ||
| 532 | + ylArray2.push(map); | ||
| 533 | + } | ||
| 534 | + | ||
| 535 | + }) ; | ||
| 536 | + if(msg!=""){ | ||
| 537 | + layer.msg('内部编码为:【'+msg +'】的车辆请选择一条数据进行拆分.'); | ||
| 538 | + }else{ | ||
| 539 | + var params2 = {}; | ||
| 540 | + params2['ylbList']=JSON.stringify(ylArray2); | ||
| 541 | + var i = layer.load(2); | ||
| 542 | + //保存操作 | ||
| 543 | + $post('/ylb/saveYlbList', params, function () { | ||
| 544 | + //拆分操作 | ||
| 545 | + $post('/ylb/sort', params2, function () { | ||
| 546 | + layer.close(i); | ||
| 547 | + var params1 =getParamsList(); | ||
| 548 | + jsDoQuery(params1, true); | ||
| 549 | + }); | ||
| 550 | + }); | ||
| 551 | + } | ||
| 552 | + } | ||
| 553 | + }) | ||
| 526 | } else { | 554 | } else { |
| 527 | layer.msg('请选择日期.'); | 555 | layer.msg('请选择日期.'); |
| 528 | } | 556 | } |
| 557 | + | ||
| 558 | + | ||
| 529 | }) | 559 | }) |
| 530 | 560 | ||
| 531 | /* //拆分 | 561 | /* //拆分 |
| @@ -583,13 +613,18 @@ onkeyup="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').rep | @@ -583,13 +613,18 @@ onkeyup="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').rep | ||
| 583 | $("#obtain").on('click', function () { | 613 | $("#obtain").on('click', function () { |
| 584 | //console.log("获取加存"); | 614 | //console.log("获取加存"); |
| 585 | if ($("#rq").val() != "") { | 615 | if ($("#rq").val() != "") { |
| 586 | - var params =getParamsList(); | ||
| 587 | - | ||
| 588 | - var i = layer.load(2); | ||
| 589 | - $get('/ylb/obtain', params, function () { | ||
| 590 | - layer.close(i); | ||
| 591 | - jsDoQuery(params, true); | ||
| 592 | - }); | 616 | + var params=getParamsList(); |
| 617 | + $get('/ylb/checkDate',params,function(status){ | ||
| 618 | + if(status=='2'){ | ||
| 619 | + layer.msg('只能操作三天内数据.'); | ||
| 620 | + }else{ | ||
| 621 | + var i = layer.load(2); | ||
| 622 | + $get('/ylb/obtain', params, function () { | ||
| 623 | + layer.close(i); | ||
| 624 | + jsDoQuery(params, true); | ||
| 625 | + }); | ||
| 626 | + } | ||
| 627 | + }) | ||
| 593 | } else { | 628 | } else { |
| 594 | layer.msg('请选择日期.'); | 629 | layer.msg('请选择日期.'); |
| 595 | } | 630 | } |
| @@ -625,33 +660,8 @@ onkeyup="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').rep | @@ -625,33 +660,8 @@ onkeyup="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').rep | ||
| 625 | jsDoQuery(params, true); | 660 | jsDoQuery(params, true); |
| 626 | } | 661 | } |
| 627 | }); | 662 | }); |
| 628 | - | ||
| 629 | - function getParamsList(){ | ||
| 630 | - var cells = $('tr.filter')[0].cells | ||
| 631 | - , cells1 = $('tr.filter2')[0].cells,params = {} | ||
| 632 | - , name; | ||
| 633 | - $.each(cells, function (i, cell) { | ||
| 634 | - var items = $('input,select', cell); | ||
| 635 | - for (var j = 0, item; item = items[j++];) { | ||
| 636 | - name = $(item).attr('name'); | ||
| 637 | - if (name) { | ||
| 638 | - params[name] = $(item).val(); | ||
| 639 | - } | ||
| 640 | - } | ||
| 641 | - }); | ||
| 642 | - $.each(cells1, function (i, cell) { | ||
| 643 | - var items = $('input,select', cell); | ||
| 644 | - for (var j = 0, item; item = items[j++];) { | ||
| 645 | - name = $(item).attr('name'); | ||
| 646 | - if (name) { | ||
| 647 | - params[name] = $(item).val(); | ||
| 648 | - } | ||
| 649 | - } | ||
| 650 | - }); | ||
| 651 | - | ||
| 652 | - return params; | ||
| 653 | - } | ||
| 654 | 663 | ||
| 664 | + | ||
| 655 | var xlList; | 665 | var xlList; |
| 656 | var obj=[]; | 666 | var obj=[]; |
| 657 | $.get('/report/lineList',function(result){ | 667 | $.get('/report/lineList',function(result){ |
| @@ -751,14 +761,20 @@ onkeyup="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').rep | @@ -751,14 +761,20 @@ onkeyup="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').rep | ||
| 751 | 761 | ||
| 752 | 762 | ||
| 753 | function jsyUpdate(){ | 763 | function jsyUpdate(){ |
| 754 | - var id = $(this).data('id'); | ||
| 755 | - var jsy=$('.in_carpark_jsy[data-id='+id+']', '#ll_oil_list').val(); | ||
| 756 | - $get('/ylb/updateJsy',{id:id,jsy:jsy}, function(result){ | ||
| 757 | - layer.msg('修改成功.'); | ||
| 758 | - var params = getParamsList(); | ||
| 759 | - page = 0; | ||
| 760 | - jsDoQuery(params, true); | ||
| 761 | - }); | 764 | + var params=getParamsList(); |
| 765 | + $get('/ylb/checkDate',params,function(status){ | ||
| 766 | + if(status=='2'){ | ||
| 767 | + layer.msg('只能操作三天内数据.'); | ||
| 768 | + }else{ | ||
| 769 | + var id = $(this).data('id'); | ||
| 770 | + var jsy=$('.in_carpark_jsy[data-id='+id+']', '#ll_oil_list').val(); | ||
| 771 | + $get('/ylb/updateJsy',{id:id,jsy:jsy}, function(result){ | ||
| 772 | + layer.msg('修改成功.'); | ||
| 773 | + page = 0; | ||
| 774 | + jsDoQuery(params, true); | ||
| 775 | + }); | ||
| 776 | + } | ||
| 777 | + }) | ||
| 762 | 778 | ||
| 763 | } | 779 | } |
| 764 | //页面计算防止精度丢失 | 780 | //页面计算防止精度丢失 |
| @@ -883,32 +899,38 @@ onkeyup="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').rep | @@ -883,32 +899,38 @@ onkeyup="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').rep | ||
| 883 | 899 | ||
| 884 | //删除 | 900 | //删除 |
| 885 | $('.removeButton').on('click', function () { | 901 | $('.removeButton').on('click', function () { |
| 886 | - var idArray = []; | ||
| 887 | - var x=0; | ||
| 888 | - $('input.icheck:checked').each(function(){ | ||
| 889 | - x++; | ||
| 890 | - var map ={}; | ||
| 891 | - var id=$(this).data('id'); | ||
| 892 | - map['id']=id; | ||
| 893 | - idArray.push(map); | ||
| 894 | - | 902 | + var params_=getParamsList(); |
| 903 | + $get('/ylb/checkDate',params_,function(status){ | ||
| 904 | + if(status=='2'){ | ||
| 905 | + layer.msg('只能操作三天内数据.'); | ||
| 906 | + }else{ | ||
| 907 | + var idArray = []; | ||
| 908 | + var x=0; | ||
| 909 | + $('input.icheck:checked').each(function(){ | ||
| 910 | + x++; | ||
| 911 | + var map ={}; | ||
| 912 | + var id=$(this).data('id'); | ||
| 913 | + map['id']=id; | ||
| 914 | + idArray.push(map); | ||
| 915 | + | ||
| 916 | + }) | ||
| 917 | + var params = {}; | ||
| 918 | + params['ids']=JSON.stringify(idArray); | ||
| 919 | + if (x==0) { | ||
| 920 | + layer.msg("请选择要删除的数据"); | ||
| 921 | + }else{ | ||
| 922 | + if(confirm('确定要删除选中的数据?')) | ||
| 923 | + { | ||
| 924 | + var i = layer.load(2); | ||
| 925 | + $post('/ylb/deleteIds', params, function (result) { | ||
| 926 | + layer.close(i); | ||
| 927 | + var params=getParamsList(); | ||
| 928 | + jsDoQuery(params, true); | ||
| 929 | + }); | ||
| 930 | + } | ||
| 931 | + } | ||
| 932 | + } | ||
| 895 | }) | 933 | }) |
| 896 | - var params = {}; | ||
| 897 | - params['ids']=JSON.stringify(idArray); | ||
| 898 | - console.log(idArray); | ||
| 899 | - if (x==0) { | ||
| 900 | - layer.msg("请选择要删除的数据"); | ||
| 901 | - }else{ | ||
| 902 | - if(confirm('确定要删除选中的数据?')) | ||
| 903 | - { | ||
| 904 | - var i = layer.load(2); | ||
| 905 | - $post('/ylb/deleteIds', params, function (result) { | ||
| 906 | - layer.close(i); | ||
| 907 | - var params=getParamsList(); | ||
| 908 | - jsDoQuery(params, true); | ||
| 909 | - }); | ||
| 910 | - } | ||
| 911 | - } | ||
| 912 | }); | 934 | }); |
| 913 | 935 | ||
| 914 | $("#ylbListFgsdmId").on("change",initXl); | 936 | $("#ylbListFgsdmId").on("change",initXl); |
| @@ -1011,6 +1033,37 @@ onkeyup="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').rep | @@ -1011,6 +1033,37 @@ onkeyup="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').rep | ||
| 1011 | } | 1033 | } |
| 1012 | }); | 1034 | }); |
| 1013 | 1035 | ||
| 1036 | + function checkDate(){ | ||
| 1037 | + var params=getParamsList(); | ||
| 1038 | + | ||
| 1039 | + } | ||
| 1040 | + | ||
| 1041 | + function getParamsList(){ | ||
| 1042 | + var cells = $('tr.filter')[0].cells | ||
| 1043 | + , cells1 = $('tr.filter2')[0].cells,params = {} | ||
| 1044 | + , name; | ||
| 1045 | + $.each(cells, function (i, cell) { | ||
| 1046 | + var items = $('input,select', cell); | ||
| 1047 | + for (var j = 0, item; item = items[j++];) { | ||
| 1048 | + name = $(item).attr('name'); | ||
| 1049 | + if (name) { | ||
| 1050 | + params[name] = $(item).val(); | ||
| 1051 | + } | ||
| 1052 | + } | ||
| 1053 | + }); | ||
| 1054 | + $.each(cells1, function (i, cell) { | ||
| 1055 | + var items = $('input,select', cell); | ||
| 1056 | + for (var j = 0, item; item = items[j++];) { | ||
| 1057 | + name = $(item).attr('name'); | ||
| 1058 | + if (name) { | ||
| 1059 | + params[name] = $(item).val(); | ||
| 1060 | + } | ||
| 1061 | + } | ||
| 1062 | + }); | ||
| 1063 | + | ||
| 1064 | + return params; | ||
| 1065 | + } | ||
| 1066 | + | ||
| 1014 | //表格滚动条 | 1067 | //表格滚动条 |
| 1015 | var modal='#ylbtable'; | 1068 | var modal='#ylbtable'; |
| 1016 | $('#datatable_ylb_body_div', modal).perfectScrollbar({suppressScrollX: true}); | 1069 | $('#datatable_ylb_body_div', modal).perfectScrollbar({suppressScrollX: true}); |
src/main/resources/static/pages/report/countMileage/countLine/countLineMileage.html
| @@ -263,7 +263,7 @@ | @@ -263,7 +263,7 @@ | ||
| 263 | params['xlName'] = xlName; | 263 | params['xlName'] = xlName; |
| 264 | params['type'] = "query"; | 264 | params['type'] = "query"; |
| 265 | var i = layer.load(2); | 265 | var i = layer.load(2); |
| 266 | - $get('/report/countLineMileage2',params,function(result){ | 266 | + $get('/report/countLineMileage',params,function(result){ |
| 267 | $("#datetodate").html(date+"至"+date2); | 267 | $("#datetodate").html(date+"至"+date2); |
| 268 | layer.close(i); | 268 | layer.close(i); |
| 269 | // 把数据填充到模版中 | 269 | // 把数据填充到模版中 |
| @@ -290,7 +290,7 @@ | @@ -290,7 +290,7 @@ | ||
| 290 | params['xlName'] = xlName; | 290 | params['xlName'] = xlName; |
| 291 | params['type'] = "export"; | 291 | params['type'] = "export"; |
| 292 | params['by']='sj'; | 292 | params['by']='sj'; |
| 293 | - $get('/report/countLineMileage2',params,function(result){ | 293 | + $get('/report/countLineMileage',params,function(result){ |
| 294 | window.open("/downloadFile/download?fileName=线路公里统计表"); | 294 | window.open("/downloadFile/download?fileName=线路公里统计表"); |
| 295 | }); | 295 | }); |
| 296 | }); | 296 | }); |
src/main/resources/static/pages/report/message/message.html
| @@ -217,7 +217,7 @@ | @@ -217,7 +217,7 @@ | ||
| 217 | line = $("#line").val(); | 217 | line = $("#line").val(); |
| 218 | date = $("#date").val(); | 218 | date = $("#date").val(); |
| 219 | var obj = $(this); | 219 | var obj = $(this); |
| 220 | - $get('/realSchedule/historyMessage',{line:line,date:date,code:jName,type:"query"},function(result){ | 220 | + $get('/report/historyMessageList',{line:line,date:date,code:jName,type:"query"},function(result){ |
| 221 | var list_history_msg = template('list_history_msg',{list:result}); | 221 | var list_history_msg = template('list_history_msg',{list:result}); |
| 222 | // 把渲染好的模版html文本追加到表格中 | 222 | // 把渲染好的模版html文本追加到表格中 |
| 223 | $('#forms tbody').html(list_history_msg); | 223 | $('#forms tbody').html(list_history_msg); |
| @@ -237,7 +237,7 @@ | @@ -237,7 +237,7 @@ | ||
| 237 | }); | 237 | }); |
| 238 | 238 | ||
| 239 | $("#export").on("click",function(){ | 239 | $("#export").on("click",function(){ |
| 240 | - $get('/realSchedule/historyMessage',{line:line,date:date,code:jName,type:"export_msg"},function(result){ | 240 | + $get('/report/historyMessageList',{line:line,date:date,code:jName,type:"export_msg"},function(result){ |
| 241 | window.open("/downloadFile/download?fileName=调度消息分析"+moment(date).format("YYYYMMDD")); | 241 | window.open("/downloadFile/download?fileName=调度消息分析"+moment(date).format("YYYYMMDD")); |
| 242 | }); | 242 | }); |
| 243 | }); | 243 | }); |
| @@ -274,12 +274,12 @@ | @@ -274,12 +274,12 @@ | ||
| 274 | {{each list as obj i}} | 274 | {{each list as obj i}} |
| 275 | <tr> | 275 | <tr> |
| 276 | <td>{{i+1}}</td> | 276 | <td>{{i+1}}</td> |
| 277 | - <td>{{obj[4]}}</td> | ||
| 278 | - <!--<td>{{obj[6]}}</td>--> | ||
| 279 | <td>{{obj[0]}}</td> | 277 | <td>{{obj[0]}}</td> |
| 278 | + <!--<td>{{obj[6]}}</td>--> | ||
| 280 | <td>{{obj[1]}}</td> | 279 | <td>{{obj[1]}}</td> |
| 281 | - <td>{{obj[3]}}</td> | ||
| 282 | <td>{{obj[2]}}</td> | 280 | <td>{{obj[2]}}</td> |
| 281 | + <td>{{obj[3]}}</td> | ||
| 282 | + <td>{{obj[4]}}</td> | ||
| 283 | </tr> | 283 | </tr> |
| 284 | {{/each}} | 284 | {{/each}} |
| 285 | {{if list.length == 0}} | 285 | {{if list.length == 0}} |
src/main/resources/static/pages/scheduleApp/module/common/prj-common-globalservice.js
| @@ -745,6 +745,25 @@ angular.module('ScheduleApp').factory( | @@ -745,6 +745,25 @@ angular.module('ScheduleApp').factory( | ||
| 745 | } | 745 | } |
| 746 | } | 746 | } |
| 747 | } | 747 | } |
| 748 | + ), | ||
| 749 | + | ||
| 750 | + lineverions: $resource( | ||
| 751 | + '/tic_ec/versiondesc2/:lineId/:status', | ||
| 752 | + {}, | ||
| 753 | + { | ||
| 754 | + list: { | ||
| 755 | + method: 'GET', | ||
| 756 | + isArray: true, | ||
| 757 | + transformResponse: function(rs) { | ||
| 758 | + var dst = angular.fromJson(rs); | ||
| 759 | + if (dst.status == 'SUCCESS') { | ||
| 760 | + return dst.data; | ||
| 761 | + } else { | ||
| 762 | + return dst; // 业务错误留给控制器处理 | ||
| 763 | + } | ||
| 764 | + } | ||
| 765 | + } | ||
| 766 | + } | ||
| 748 | ) | 767 | ) |
| 749 | }; | 768 | }; |
| 750 | 769 |
src/main/resources/static/pages/scheduleApp/module/core/ttInfoManage/detailedit/form.html
| @@ -106,7 +106,7 @@ | @@ -106,7 +106,7 @@ | ||
| 106 | <label class="col-md-2 control-label">站点路由版本类型*:</label> | 106 | <label class="col-md-2 control-label">站点路由版本类型*:</label> |
| 107 | <div class="col-md-4"> | 107 | <div class="col-md-4"> |
| 108 | <sa-Select5 name="zdlytype" | 108 | <sa-Select5 name="zdlytype" |
| 109 | - model="ctrl.ttInfoDetailManageForForm" | 109 | + model="ctrl" |
| 110 | cmaps="{'zdlytype': 'value'}" | 110 | cmaps="{'zdlytype': 'value'}" |
| 111 | dcname="zdlytype" | 111 | dcname="zdlytype" |
| 112 | icname="value" | 112 | icname="value" |
| @@ -117,20 +117,24 @@ | @@ -117,20 +117,24 @@ | ||
| 117 | searchexp="this.name" | 117 | searchexp="this.name" |
| 118 | required > | 118 | required > |
| 119 | </sa-Select5> | 119 | </sa-Select5> |
| 120 | + <input type="hidden" name="lineversion" ng-model="ctrl.ttInfoDetailManageForForm.lineversion" required/> | ||
| 120 | </div> | 121 | </div> |
| 121 | <!-- 隐藏快,显示验证信息 --> | 122 | <!-- 隐藏快,显示验证信息 --> |
| 122 | <div class="alert alert-danger well-sm" ng-show="myForm.zdlytype.$error.required"> | 123 | <div class="alert alert-danger well-sm" ng-show="myForm.zdlytype.$error.required"> |
| 123 | 请选择站点路由版本类型 | 124 | 请选择站点路由版本类型 |
| 124 | </div> | 125 | </div> |
| 126 | + <div class="alert alert-danger well-sm" ng-show="myForm.lineversion.$error.required"> | ||
| 127 | + 未知线路版本 | ||
| 128 | + </div> | ||
| 125 | </div> | 129 | </div> |
| 126 | 130 | ||
| 127 | - <div class="form-group has-success has-feedback" ng-if="ctrl.ttInfoDetailManageForForm.zdlytype == 2"> | 131 | + <div class="form-group has-success has-feedback" ng-if="ctrl.zdlytype == 2"> |
| 128 | <label class="col-md-2 control-label">最近版本列表*:</label> | 132 | <label class="col-md-2 control-label">最近版本列表*:</label> |
| 129 | <div class="col-md-4"> | 133 | <div class="col-md-4"> |
| 130 | - <sa-Select5 name="zdlyversion" | 134 | + <sa-Select5 name="lineversion_sel" |
| 131 | model="ctrl.ttInfoDetailManageForForm" | 135 | model="ctrl.ttInfoDetailManageForForm" |
| 132 | - cmaps="{'zdlyversion' : 'version'}" | ||
| 133 | - dcname="zdlyversion" | 136 | + cmaps="{'lineversion' : 'version'}" |
| 137 | + dcname="lineversion" | ||
| 134 | icname="version" | 138 | icname="version" |
| 135 | dsparams="{{ {type: 'ajax', param:{'lineid': ctrl.ttInfoDetailManageForForm.xlid}, atype:'rs_version_list' } | json }}" | 139 | dsparams="{{ {type: 'ajax', param:{'lineid': ctrl.ttInfoDetailManageForForm.xlid}, atype:'rs_version_list' } | json }}" |
| 136 | iterobjname="item" | 140 | iterobjname="item" |
| @@ -139,8 +143,9 @@ | @@ -139,8 +143,9 @@ | ||
| 139 | searchexp="this.desc" | 143 | searchexp="this.desc" |
| 140 | required > | 144 | required > |
| 141 | </sa-Select5> | 145 | </sa-Select5> |
| 146 | + | ||
| 142 | </div> | 147 | </div> |
| 143 | - <div class="alert alert-danger well-sm" ng-show="myForm.zdlyversion.$error.required"> | 148 | + <div class="alert alert-danger well-sm" ng-show="myForm.lineversion_sel.$error.required"> |
| 144 | 必须选择版本列表 | 149 | 必须选择版本列表 |
| 145 | </div> | 150 | </div> |
| 146 | </div> | 151 | </div> |
| @@ -168,8 +173,7 @@ | @@ -168,8 +173,7 @@ | ||
| 168 | 'sheetname': ctrl.ttInfoDetailManageForForm.sheetname, | 173 | 'sheetname': ctrl.ttInfoDetailManageForForm.sheetname, |
| 169 | 'lineid' : ctrl.ttInfoDetailManageForForm.xlid, | 174 | 'lineid' : ctrl.ttInfoDetailManageForForm.xlid, |
| 170 | 'linename' : ctrl.ttInfoDetailManageForForm.xlname, | 175 | 'linename' : ctrl.ttInfoDetailManageForForm.xlname, |
| 171 | - 'zdlytype': ctrl.ttInfoDetailManageForForm.zdlytype, | ||
| 172 | - 'zdlyversion' : ctrl.ttInfoDetailManageForForm.zdlyversion | 176 | + 'lineversion' : ctrl.ttInfoDetailManageForForm.lineversion |
| 173 | } | json}}"/> | 177 | } | json}}"/> |
| 174 | </div> | 178 | </div> |
| 175 | <!-- 隐藏块,显示验证信息 --> | 179 | <!-- 隐藏块,显示验证信息 --> |
src/main/resources/static/pages/scheduleApp/module/core/ttInfoManage/detailedit/module.js
| @@ -3,7 +3,8 @@ angular.module('ScheduleApp').factory( | @@ -3,7 +3,8 @@ angular.module('ScheduleApp').factory( | ||
| 3 | 'TtInfoDetailManageService', | 3 | 'TtInfoDetailManageService', |
| 4 | [ | 4 | [ |
| 5 | 'TimeTableDetailManageService_g', | 5 | 'TimeTableDetailManageService_g', |
| 6 | - function(service) { | 6 | + 'TTInfoManageService_g', |
| 7 | + function(service, service2) { | ||
| 7 | // TODO: | 8 | // TODO: |
| 8 | 9 | ||
| 9 | return { | 10 | return { |
| @@ -17,6 +18,16 @@ angular.module('ScheduleApp').factory( | @@ -17,6 +18,16 @@ angular.module('ScheduleApp').factory( | ||
| 17 | getEditInfo: function(xlid, ttid) { | 18 | getEditInfo: function(xlid, ttid) { |
| 18 | var params = {xlid : xlid, ttid : ttid}; | 19 | var params = {xlid : xlid, ttid : ttid}; |
| 19 | return service.edit.list(params).$promise; | 20 | return service.edit.list(params).$promise; |
| 21 | + }, | ||
| 22 | + /** | ||
| 23 | + * 获取当前线路版本。 | ||
| 24 | + * @param xlid | ||
| 25 | + * @returns {*|Function|promise|n} | ||
| 26 | + */ | ||
| 27 | + getCurrentLineVersion: function(xlid) { | ||
| 28 | + var params = {'lineId': xlid, 'status': 1}; | ||
| 29 | + return service2.lineverions.list(params).$promise; | ||
| 30 | + | ||
| 20 | } | 31 | } |
| 21 | }; | 32 | }; |
| 22 | } | 33 | } |
| @@ -31,7 +42,8 @@ angular.module('ScheduleApp').controller( | @@ -31,7 +42,8 @@ angular.module('ScheduleApp').controller( | ||
| 31 | 'FileUploader', | 42 | 'FileUploader', |
| 32 | '$stateParams', | 43 | '$stateParams', |
| 33 | '$state', | 44 | '$state', |
| 34 | - function(service, FileUploader, $stateParams, $state) { | 45 | + '$scope', |
| 46 | + function(service, FileUploader, $stateParams, $state, $scope) { | ||
| 35 | var self = this; | 47 | var self = this; |
| 36 | var xlid = $stateParams.xlid; | 48 | var xlid = $stateParams.xlid; |
| 37 | var ttid = $stateParams.ttid; | 49 | var ttid = $stateParams.ttid; |
| @@ -40,10 +52,35 @@ angular.module('ScheduleApp').controller( | @@ -40,10 +52,35 @@ angular.module('ScheduleApp').controller( | ||
| 40 | 52 | ||
| 41 | self.title = xlname + '(' + ttname + ')' + '时刻表明细信息excel数据导入'; | 53 | self.title = xlname + '(' + ttname + ')' + '时刻表明细信息excel数据导入'; |
| 42 | 54 | ||
| 55 | + // 站点路由选择类型 | ||
| 56 | + self.zdlytype = 1; | ||
| 57 | + | ||
| 58 | + $scope.$watch( | ||
| 59 | + function() { | ||
| 60 | + return self.zdlytype; | ||
| 61 | + }, | ||
| 62 | + function(n, o) { | ||
| 63 | + if (n == 1) { | ||
| 64 | + // 初始获取线路当前版本 | ||
| 65 | + service.getCurrentLineVersion(xlid).then( | ||
| 66 | + function(result) { | ||
| 67 | + if (result.length == 0) { | ||
| 68 | + alert("没有线路当前版本"); | ||
| 69 | + } else if (result.length > 1) { | ||
| 70 | + alert("有多个线路当前版本"); | ||
| 71 | + } else { | ||
| 72 | + self.ttInfoDetailManageForForm.lineversion = result[0].version; | ||
| 73 | + } | ||
| 74 | + } | ||
| 75 | + ); | ||
| 76 | + } | ||
| 77 | + }, | ||
| 78 | + true | ||
| 79 | + ); | ||
| 80 | + | ||
| 43 | // 欲保存的表单信息,双向绑定 | 81 | // 欲保存的表单信息,双向绑定 |
| 44 | self.ttInfoDetailManageForForm = { | 82 | self.ttInfoDetailManageForForm = { |
| 45 | - zdlytype: 1, // 站点路由类型 | ||
| 46 | - zdlyversion: -1, // 站点路由版本 | 83 | + lineversion: undefined, // 线路版本 |
| 47 | xlid: xlid, // 线路id | 84 | xlid: xlid, // 线路id |
| 48 | ttid: ttid, // 时刻表id | 85 | ttid: ttid, // 时刻表id |
| 49 | xlname: xlname, // 线路名称 | 86 | xlname: xlname, // 线路名称 |
src/main/resources/static/pages/scheduleApp/module/core/ttInfoManage/service.js
| @@ -71,6 +71,25 @@ angular.module('ScheduleApp').factory( | @@ -71,6 +71,25 @@ angular.module('ScheduleApp').factory( | ||
| 71 | } | 71 | } |
| 72 | } | 72 | } |
| 73 | } | 73 | } |
| 74 | + ), | ||
| 75 | + | ||
| 76 | + lineverions: $resource( | ||
| 77 | + '/tic_ec/versiondesc2/:lineId/:status', | ||
| 78 | + {}, | ||
| 79 | + { | ||
| 80 | + list: { | ||
| 81 | + method: 'GET', | ||
| 82 | + isArray: true, | ||
| 83 | + transformResponse: function(rs) { | ||
| 84 | + var dst = angular.fromJson(rs); | ||
| 85 | + if (dst.status == 'SUCCESS') { | ||
| 86 | + return dst.data; | ||
| 87 | + } else { | ||
| 88 | + return dst; // 业务错误留给控制器处理 | ||
| 89 | + } | ||
| 90 | + } | ||
| 91 | + } | ||
| 92 | + } | ||
| 74 | ) | 93 | ) |
| 75 | }; | 94 | }; |
| 76 | 95 |