Commit 22a1793b50b0794a792fdd090bda73052a633535

Authored by 徐烜
1 parent c8cc89c2

Update

Too many changes to show.

To preserve performance only 1 of 2 files are displayed.

src/main/java/com/bsth/service/schedule/impl/TTInfoDetailServiceImpl.java
... ... @@ -236,6 +236,7 @@ public class TTInfoDetailServiceImpl extends BServiceImpl<TTInfoDetail, Long> im
236 236  
237 237 // 1.6、获取最大的发车数,用于输出数据的数量
238 238 Long maxfcno = ttInfoDetailRepository.findMaxFcno(xlid, ttid);
  239 + LOGGER.info("最大发车顺序号={}", maxfcno);
239 240 if (maxfcno != null) {
240 241 // 2、读取ktr生成的excel数据,组织编辑用数据返回
241 242 // 2-1、读取Excel文件
... ... @@ -263,39 +264,47 @@ public class TTInfoDetailServiceImpl extends BServiceImpl<TTInfoDetail, Long> im
263 264 double lc_ks = 0; // 空驶里程
264 265 double lc_yy = 0; // 营运里程
265 266  
266   - for (int c = 1; c <= maxfcno * 7; ) {
267   - String ttdid_str = sheet.getCell(c, r).getContents(); // 时刻表明细id
268   - String fcsj = sheet.getCell(c + 1, r).getContents(); // 发车时间
269   - String jhlc = sheet.getCell(c + 2, r).getContents(); // 计划里程
270   - String fzdname = sheet.getCell(c + 3, r).getContents(); // 发车站点名称
271   - String bctype = sheet.getCell(c + 4, r).getContents(); // 班次类型
272   - String xldir = sheet.getCell(c + 5, r).getContents(); // 线路上下行
273   - String isfb = sheet.getCell(c + 6, r).getContents(); // 是否分班
  267 + for (int c = 1; c <= maxfcno; c++) {
  268 + String content_str = sheet.getCell(c, r).getContents();
  269 + try {
  270 + String[] content = StringUtils.isEmpty(content_str) ? null : content_str.split(","); // 总的内容
274 271  
275   - FcInfo fcInfo = new FcInfo(ttdid_str, bctype, fcsj, xldir, isfb);
  272 + String ttdid_str = content == null ? "" : content[0]; // 时刻表明细id
  273 + String fcsj = content == null ? "" : content[1]; // 发车时间
  274 + String jhlc = content == null ? "" : content[2]; // 计划里程
  275 + String fzdname = content == null ? "" : content[3]; // 发车站点名称
  276 + String bctype = content == null ? "" : content[4]; // 班次类型
  277 + String xldir = content == null ? "" : content[5]; // 线路上下行
  278 + String isfb = content == null ? "" : content[6]; // 是否分班
276 279  
277   - if (StringUtils.isNotEmpty(fzdname))
278   - headarrays[(int)(c / 7) + 1] = fzdname;
279   - fcInfos.add(fcInfo);
  280 + FcInfo fcInfo = new FcInfo(ttdid_str, bctype, fcsj, xldir, isfb);
280 281  
281   - c += 7;
  282 + if (StringUtils.isNotEmpty(fzdname))
  283 + headarrays[c + 1] = fzdname;
  284 + fcInfos.add(fcInfo);
282 285  
283   - // 计算班次里程
284   - if (StringUtils.isNotEmpty(jhlc)) {
285   - if ("in".equals(bctype) || "out".equals(bctype)) {
286   - bc_ks += 1;
287   - lc_ks += Double.valueOf(jhlc);
288 286  
289   - all_bc += 1;
290   - all_lc_ks += Double.valueOf(jhlc);
  287 + // 计算班次里程
  288 + if (StringUtils.isNotEmpty(jhlc)) {
  289 + if ("in".equals(bctype) || "out".equals(bctype)) {
  290 + bc_ks += 1;
  291 + lc_ks += Double.valueOf(jhlc);
291 292  
292   - } else {
293   - bc_yy += 1;
294   - lc_yy += Double.valueOf(jhlc);
  293 + all_bc += 1;
  294 + all_lc_ks += Double.valueOf(jhlc);
  295 +
  296 + } else {
  297 + bc_yy += 1;
  298 + lc_yy += Double.valueOf(jhlc);
295 299  
296   - all_bc += 1;
297   - all_lc_yy += Double.valueOf(jhlc);
  300 + all_bc += 1;
  301 + all_lc_yy += Double.valueOf(jhlc);
  302 + }
298 303 }
  304 +
  305 + } catch (Exception exp) {
  306 + LOGGER.info("{}行,{}数据有问题,数据={},异常message={}", r, c, content_str, exp);
  307 + break;
299 308 }
300 309  
301 310 }
... ...