Commit 1acfd4df25464f87f6355630a5a405dab16d98a1

Authored by zq
1 parent 9950bb66

上传时刻表添加失败提醒

src/main/java/com/bsth/service/impl/TrafficManageServiceImpl.java
... ... @@ -945,7 +945,7 @@ public class TrafficManageServiceImpl implements TrafficManageService{
945 945 */
946 946 @Override
947 947 public String setSKB(String ids) {
948   - String result = "failure";
  948 + String result = "上传失败,";
949 949 StringBuffer sBuffer = new StringBuffer();
950 950 DecimalFormat df = new DecimalFormat("######0.000");
951 951 Map<String,String> lsStationCode2NameMap = null;
... ... @@ -965,6 +965,8 @@ public class TrafficManageServiceImpl implements TrafficManageService{
965 965 sBuffer.append("<SKBs>");
966 966 HashMap<String,String> paramMap;
967 967 HashMap<String,String> otherMap = new HashMap<>();
  968 + // 线路编码、周几执行、发车站点名称、发车站点序号、到达站点名称、到达站点序号
  969 + String xlbm,zjzx,fczdmc,zdxh,ddzdmc,ddxh;
968 970 // 得到时刻表版本号
969 971 int lineVersion;
970 972 long ttinfoId;
... ... @@ -996,15 +998,32 @@ public class TrafficManageServiceImpl implements TrafficManageService{
996 998 // 初始化
997 999 isLogStation = true;
998 1000 if(ttInfoDetailIterator.hasNext()){
  1001 + // 得到线路信息
  1002 + Line line = lineRepository.findOne(ttInfo.getXl().getId());
  1003 + if(line == null){
  1004 + result += "未找到相应的线路信息,请设置线路信息后再上传";
  1005 + return result;
  1006 + }
  1007 + // 得到上海市线路编码
  1008 + xlbm = line.getShanghaiLinecode();
  1009 + if("".equals(xlbm) || "null".equals(xlbm)){
  1010 + result += "线路编码为空,请设置线路编码后再上传";
  1011 + return result;
  1012 + }
  1013 + // 拿到周几执行
  1014 + zjzx = changeRuleDay(ttInfo.getRule_days());
  1015 + if("".equals(zjzx) || "null".equals(zjzx)){
  1016 + result += "时刻表执行时间为空,请设置执行时间后再上传";
  1017 + return result;
  1018 + }
999 1019 sBuffer.append("<SKB>");
1000   - sBuffer.append("<XLBM>").append(BasicData.lineId2ShangHaiCodeMap.get(ttInfo.getXl().getId()))
1001   - .append("</XLBM>");
  1020 + sBuffer.append("<XLBM>").append(xlbm).append("</XLBM>");
1002 1021 sBufferB = new StringBuffer();
1003 1022 sBufferC = new StringBuffer();
1004 1023 sBufferB.append("<KSRQ>").append(sdfnyr.format(ttInfo.getQyrq())).append("</KSRQ>");
1005 1024 // 结束日期暂时不要,节假日的班次表才需要,如春节的班次表
1006 1025 sBufferB.append("<JSRQ>").append("").append("</JSRQ>");
1007   - sBufferB.append("<ZJZX>").append(changeRuleDay(ttInfo.getRule_days())).append("</ZJZX>");
  1026 + sBufferB.append("<ZJZX>").append(zjzx).append("</ZJZX>");
1008 1027 sBufferB.append("<TBYY>").append("").append("</TBYY>");
1009 1028 sBufferB.append("<UPDT>").append(sdfnyrsfm.format(new Date())).append("</UPDT>");
1010 1029 sBufferB.append("<BCList>");
... ... @@ -1028,29 +1047,51 @@ public class TrafficManageServiceImpl implements TrafficManageService{
1028 1047 if(changeTimeFormat(ttInfoDetail) == null){
1029 1048 continue;
1030 1049 }
  1050 + // 发生站点名称
  1051 + fczdmc = lsStationCode2NameMap.get(ttInfoDetail.getXl().getLineCode()+"_"+ttInfoDetail.getXlDir()+"_"+ttInfoDetail.getQdzCode());
  1052 + if("".equals(fczdmc) || "null".equals(fczdmc)){
  1053 + result += "发车站点名称为空,请根据时刻表当前的版本号设置好历史站点路由再上传";
  1054 + return result;
  1055 + }
1031 1056 sBufferC.append("<BC>");
1032 1057 sBufferC.append("<LPBH>").append(ttInfoDetail.getLp().getLpNo()).append("</LPBH>");
1033 1058 sBufferC.append("<SXX>").append(sxx).append("</SXX>");
1034   - sBufferC.append("<FCZDMC>").append(lsStationCode2NameMap.get(ttInfoDetail.getXl().getLineCode()+"_"+ttInfoDetail.getXlDir()
1035   - +"_"+ttInfoDetail.getQdzCode())).append("</FCZDMC>");
  1059 + sBufferC.append("<FCZDMC>").append(fczdmc).append("</FCZDMC>");
1036 1060 // 起点站的参数
1037 1061 otherMap.put("stationMark","B");
1038 1062 paramMap = packageYgcStationNumParam(ttInfoDetail,otherMap);
1039 1063 if(isLogStation){// 输出起点站信息
1040 1064 logger.info("setSKB:"+"起点站信息:"+paramMap);
1041 1065 }
1042   - sBufferC.append("<ZDXH>").append(getYgcStationNumByLineCodeAndDirectionAndStationName(paramMap,lsStationName2YgcNumber)).append("</ZDXH>");
  1066 + // 发车站点序号
  1067 + zdxh = String.valueOf(getYgcStationNumByLineCodeAndDirectionAndStationName(paramMap,lsStationName2YgcNumber));
  1068 + if("".equals(zdxh) || "null".equals(zdxh) || "0".equals(zdxh)){
  1069 + result += "发车站点序号为空,请根据时刻表当前的版本号设置好历史站点路由再上传";
  1070 + return result;
  1071 + }
  1072 + // 到达站点名称
  1073 + ddzdmc = lsStationCode2NameMap.get(ttInfoDetail.getXl().getLineCode()+"_"+ttInfoDetail.getXlDir()+"_"+ttInfoDetail.getZdzCode());
  1074 + if("".equals(ddzdmc) || "null".equals(ddzdmc)){
  1075 + result += "到达站点名称为空,请根据时刻表当前的版本号设置好历史站点路由再上传";
  1076 + return result;
  1077 + }
  1078 + sBufferC.append("<ZDXH>").append(zdxh).append("</ZDXH>");
1043 1079 sBufferC.append("<JHFCSJ>").append(changeTimeFormat(ttInfoDetail)).append("</JHFCSJ>");
1044   - sBufferC.append("<DDZDMC>").append(lsStationCode2NameMap.get(ttInfoDetail.getXl().getLineCode()+"_"+ttInfoDetail.getXlDir()
1045   - +"_"+ttInfoDetail.getZdzCode())).append("</DDZDMC>");
  1080 + sBufferC.append("<DDZDMC>").append(ddzdmc).append("</DDZDMC>");
1046 1081 // 终点站的参数
1047 1082 otherMap.put("stationMark","E");
1048 1083 paramMap = packageYgcStationNumParam(ttInfoDetail,otherMap);
1049 1084 if(isLogStation){// 输出终点站信息
1050 1085 logger.info("setSKB:"+"终点站信息:"+paramMap);
1051 1086 }
  1087 + // 到达站点序号
  1088 + ddxh = String.valueOf(getYgcStationNumByLineCodeAndDirectionAndStationName(paramMap,lsStationName2YgcNumber));
  1089 + if("".equals(ddxh) || "null".equals(ddxh) || "0".equals(ddxh)){
  1090 + result += "到达站点序号为空,请根据时刻表当前的版本号设置好历史站点路由再上传";
  1091 + return result;
  1092 + }
1052 1093 isLogStation = false; // 一条线路只输出一次,后面的不输出了
1053   - sBufferC.append("<DDXH>").append(getYgcStationNumByLineCodeAndDirectionAndStationName(paramMap,lsStationName2YgcNumber)).append("</DDXH>");
  1094 + sBufferC.append("<DDXH>").append(ddxh).append("</DDXH>");
1054 1095 sBufferC.append("<JHDDSJ>").append(calcDdsj(ttInfoDetail.getFcsj(),ttInfoDetail.getBcsj())).append("</JHDDSJ>");
1055 1096 sBufferC.append("</BC>");
1056 1097 // 0:上行;1:下行
... ... @@ -1073,7 +1114,7 @@ public class TrafficManageServiceImpl implements TrafficManageService{
1073 1114 }
1074 1115 sBuffer.append("</SKBs>");
1075 1116 if(ssop.setSKB(userNameOther, passwordOther, sBuffer.toString()).isSuccess()){
1076   - result = "success";
  1117 + result = "上传成功";
1077 1118 SKBUploadLogger skbUploadLogger ;
1078 1119 SysUser user = SecurityUtils.getCurrentUser();
1079 1120 // 保存时刻表上传记录
... ...